
function findPos(obj)
{var curleft=curtop=12;if(obj.offsetParent){curleft=obj.offsetLeft
curtop=obj.offsetTop
while(obj=obj.offsetParent){curleft+=obj.offsetLeft
curtop+=obj.offsetTop}}
return[curleft,curtop];}
function suggest(keyword,url,classnm){var inputname=keyword;var classname=classnm;this.sug_keyboardautofill=0;this.sug_mouseautofill=0;this.sug_boldingtype=0;this.sug_nosuggestion=0;this.sug_noinput=0;this.sug_onfocus=0;this.sug_isonload=0;this.sug_lastrequest="";this.sug_userkeyword="";this.sug_position=-1;this.sug_suggestions=0;this.sug_cache=new Object();this.sug_refreshtime=500;this.sug_trheight=10;this.xmlHttpGetSuggestions=createXmlHttpRequestObject();this.sug_url=url;this.sug_furl=null;this.sug_changestimeoutID=-1;this.sug_timeoutID=-1;var self=this;function register()
{if(document.getElementById&&(document.getElementById(inputname)!=null)&&(document.getElementById('kontejner')!=null))
init();else if(!self.sug_isonload)
setTimeout(function(){self.register()},100);}
this.register=register;function init()
{if(self.sug_isonload)
return;var array=new Array();self.sug_isonload=1;divscrool=inputname+'_sc';divsuggest=inputname+'_sg';var sug_wpisane=document.getElementById(inputname);sug_wpisane.onkeydown=self.sug_handlekeyup;sug_wpisane.onfocus=self.sug_onfocus_event;sug_wpisane.onblur=self.sug_onlostfocus;scr=document.createElement('div');sug=document.createElement('div');scr.style.height=self.sug_trheight*10+"px";scr.style.display='none';scr.setAttribute('id',inputname+"_sc");sug.setAttribute('id',inputname+'_sg');scr.setAttribute('class',classname);scr.setAttribute('className',classname);scr.appendChild(sug);document.getElementById('kontejner').appendChild(scr);if(self.sug_furl!=null)
self.sug_url=self.sug_furl();sug_wpisane.setAttribute("autocomplete","off");this.sug_userkeyword=sug_wpisane.value;this.sug_lastrequest=sug_wpisane.value;if(sug_wpisane.value)
sug_getsuggestions(sug_wpisane.value);}
this.init=init;function sug_addtocache(index,wartosc,wartoscdruga){self.sug_cache[index]=new Object();self.sug_cache[index].n=new Array();self.sug_cache[index].v=new Array();for(i=0;i<wartosc.length;i++)
self.sug_cache[index].n[i]=wartosc[i];for(i=0;i<wartoscdruga.length;i++)
self.sug_cache[index].v[i]=wartoscdruga[i];}
this.sug_addtocache=sug_addtocache;function sug_handlekeyup(e){var sug_wpisane=document.getElementById(inputname).value;var oScroll=document.getElementById(inputname+"_sc");e=(!e)?window.event:e;target=(!e.target)?e.srcElement:e.target;if(target.nodeType==3)
target=target.parentNode;code=(e.charCode)?e.charCode:((e.keyCode)?e.keyCode:((e.which)?e.which:0));if(!(e.type=="keydown"))
return true;if((code<13&&code!=8)||(code>=14&&code<32&&code!=27)||(code>=35&&code<=46&&code!=38&&code!=40)||(code>=112&&code<=123))
return true;if(code==34&&self.sug_position>=0)
{oldp=self.sug_position;self.sug_position+=9;if(self.sug_position<self.sug_suggestions)
{newTR=document.getElementById(inputname+self.sug_position);oldTR=document.getElementById(inputname+oldp);oldTR.className=classname+'_tr'+((oldp%2)+1);newTR.className=classname+"_highlightrow";oScroll.scrollTop=((oldp*self.sug_trheight)+2);}
else
{self.sug_position=self.sug_suggestions-1;oldTR=newTR;newTR=document.getElementById(inputname+self.sug_position);oldTR.className=classname+'_tr'+((oldp%2)+1);newTR.className=classname+"_highlightrow";oScroll.scrollTop=(((self.sug_suggestions-10)*self.sug_trheight)+2);}
return false;}
else if(code==33&&self.sug_position>=0)
{oldp=self.sug_position;self.sug_position-=9;if(self.sug_position>=0)
{newTR=document.getElementById(inputname+self.sug_position);oldTR=document.getElementById(inputname+oldp);oldTR.className=classname+'_tr'+((oldp%2)+1);newTR.className=classname+"_highlightrow";oScroll.scrollTop=(self.sug_position*self.sug_trheight)+2;}
else
{self.sug_position=0;oldTR=newTR;newTR=document.getElementById(inputname+"0");oldTR.className=classname+'_tr'+((oldp%2)+1);newTR.className=classname+"_highlightrow";oScroll.scrollTop=0;}
return false;}
else if(code==13)
{if(self.sug_position>=0)
{oKeyword=document.getElementById(inputname);sug_wybierz(1);}
return false;}
else if(code==27)
{document.getElementById(inputname+"_sc").style.visibility="hidden";document.getElementById(inputname+"_sc").style.display="none";return false;}
else if(code==40)
{if(self.sug_noinput!=0&&sug_wpisane==""&&self.sug_suggestions==0)
{sug_getsuggestions("");sug_visible();}
if((sug_wpisane!=''||self.sug_noinput)&&self.sug_suggestions!=0)
{newTR=document.getElementById(inputname+(++self.sug_position));oldTR=document.getElementById(inputname+(--self.sug_position));sug_visible();oldp=self.sug_position;if(self.sug_position>=0&&self.sug_position<self.sug_suggestions-1)
oldTR.className=classname+'_tr'+((oldp%2)+1);if(self.sug_position<self.sug_suggestions-1)
{newTR.className=classname+"_highlightrow";self.sug_position++;}
else if(self.sug_position==self.sug_suggestions-1)
{newTr=document.getElementById(inputname+"0");oldTr=document.getElementById(inputname+oldp);oldTr.className=classname+'_tr'+((oldp%2)+1);newTr.className=classname+"_highlightrow";self.sug_position=0;oScroll.scrollTop=0;}
if(oScroll.scrollTop>self.sug_position*self.sug_trheight||self.sug_position*self.sug_trheight>oScroll.scrollTop+162)
{oScroll.scrollTop=(self.sug_position-9)*self.sug_trheight;}
if(self.sug_keyboardautofill)
{sug_wybierz(0);sug_selectRange(document.getElementById(inputname),self.sug_userkeyword.length,document.getElementById(inputname).value.length);}}
return false;}
else if(code==38)
{newTR=document.getElementById(inputname+""+(--self.sug_position));oldTR=document.getElementById(inputname+""+(++self.sug_position));if(!newTR&&!oldTR)
return false;oldp=self.sug_position;if(self.sug_position>0&&self.sug_position<=self.sug_suggestions-1)
{oldTR.className=classname+'_tr'+((oldp%2)+1);newTR.className=classname+"_highlightrow";self.sug_position--;}
else if(self.sug_position==0)
{newTr=document.getElementById(inputname+""+(self.sug_suggestions-1));oldTr=document.getElementById(inputname+"0");oldTr.className=classname+'_tr'+((oldp%2)+1);newTr.className=classname+"_highlightrow";self.sug_position=self.sug_suggestions-1;oScroll.scrollTop=((self.sug_position-9)*self.sug_trheight);}
if(oScroll.scrollTop<(self.sug_position-10)*self.sug_trheight||self.sug_position*self.sug_trheight<oScroll.scrollTop)
{oScroll.scrollTop=self.sug_position*self.sug_trheight;}
if(self.sug_keyboardautofill)
{sug_wybierz(0);sug_selectRange(document.getElementById(inputname),self.sug_userkeyword.length,document.getElementById(inputname).value.length);}
return false;}
else
{sug_visible();}}
this.sug_handlekeyup=sug_handlekeyup;function sug_onmouseover(){oTr=this;if(self.sug_position>=0)
{var wiersz=document.getElementById(inputname+self.sug_position);wiersz.className=classname+'_tr'+((self.sug_position%2)+1);}
oTr.className=classname+"_highlightrow";self.sug_position=oTr.id.substring(inputname.length,oTr.id.length);if(self.sug_mouseautofill)
{sug_wybierz(0);sug_selectRange(document.getElementById(inputname),self.sug_userkeyword.length,document.getElementById(inputname).value.length);}}
this.sug_onmouseover=sug_onmouseover;function sug_onmouseout()
{}
this.sug_onmouseout=sug_onmouseout;function sug_wybierz(hide)
{var oKeyword=document.getElementById(inputname);oKeyword.value=self.sug_cache[self.sug_url+""+self.sug_userkeyword].n[self.sug_position];if(hide)
{document.getElementById(inputname+"_sc").style.visibility="hidden";document.getElementById(inputname+"_sc").style.display="none";}
if(self.sug_timeoutID!=-1)
clearTimeout(self.sug_timeoutID);self.sug_lastrequest=oKeyword.value;sug_selectRange(oKeyword,oKeyword.value.length,oKeyword.value.length);}
this.sug_wybierz=sug_wybierz;function sug_checkforchanges()
{var keyword=document.getElementById(inputname).value;if(keyword==""&&self.sug_noinput==0)
{document.getElementById(inputname+"_sc").style.visibility="hidden";document.getElementById(inputname+"_sc").style.display="none";self.sug_lastrequest="";self.sug_userkeyword="";}
else if(self.sug_lastrequest.toLowerCase()!=(keyword.toLowerCase()))
{sug_getsuggestions(keyword);}
self.sug_changestimeoutID=setTimeout(function(){self.sug_checkforchanges();},self.sug_refreshtime);}
this.sug_checkforchanges=function(){sug_checkforchanges();}
function sug_getsuggestions(keyword)
{if(self.sug_cache[self.sug_url+""+keyword.toLowerCase()])
{self.sug_lastrequest=keyword.toLowerCase();self.sug_userkeyword=keyword.toLowerCase();sug_displayresults(keyword.toLowerCase());}
else
{if(self.xmlHttpGetSuggestions)
{self.sug_suggestions=0;try
{if(self.xmlHttpGetSuggestions.readyState==4||self.xmlHttpGetSuggestions.readyState==0)
{self.sug_lastrequest=keyword.toLowerCase();self.sug_userkeyword=keyword.toLowerCase();self.xmlHttpGetSuggestions.open("GET",self.sug_url+encode(keyword),true);self.xmlHttpGetSuggestions.onreadystatechange=sug_handleresults;self.xmlHttpGetSuggestions.send(null);}
else
{self.sug_userkeyword=keyword.toLowerCase();if(self.sug_timeoutID!=-1)
clearTimeout(self.sug_timeoutID);self.sug_timeoutID=setTimeout(function(){sug_getsuggestions(self.sug_userkeyword);},self.sug_refreshtime);}}
catch(e)
{alert("Can't connect to server:\n"+e.toString());}}}}
this.sug_getsuggestions=sug_getsuggestions;function sug_displayresults(keyword)
{self.sug_position=-1;if(self.sug_cache[self.sug_url+""+keyword].n.length==0)
{if(self.sug_nosuggestion)
{var div='<table cellpading="0" cellspacing="0" border="0" width="100%" height="100%"><tr><td class="'+classname+'_nores">Brak rezultatów dla: <b>'+keyword+"</b></td></tr></table>";self.sug_suggestions=0;}
else
{self.sug_suggestions=0;document.getElementById(inputname+"_sc").style.visibility="hidden";document.getElementById(inputname+"_sc").style.display="none";return;}}
else
{var div='<table cellpading="0" cellspacing="0" border="0">';self.sug_suggestions=self.sug_cache[self.sug_url+""+keyword].n.length
for(var i=0;i<self.sug_suggestions;i++)
{name=self.sug_cache[self.sug_url+""+keyword].n[i];value=self.sug_cache[self.sug_url+""+keyword].v[i];div+='<tr class="'+classname+'_tr'+((i%2)+1)+'" id="'+inputname+i+'" >'+'<td class="'+classname+'_tdleft">';if(self.sug_boldingtype==0)
div+=name;else if(self.sug_boldingtype==1)
{div+='<b>'+
name.substring(0,self.sug_lastrequest.length)+"</b>"
div+=name.substring(self.sug_lastrequest.length,name.length);}
if(self.sug_boldingtype==2)
{poz=name.toLowerCase().indexOf(self.sug_lastrequest.toLowerCase());div+=name.substring(0,poz)
div+="<b>"+
name.substring(poz,poz+self.sug_lastrequest.length)+"</b>"
div+=name.substring(self.sug_lastrequest.length+poz,name.length);}
div+='</td><td class="'+classname+'_tdright">'+value+'</tr>';}
div+="</table>";}
var oSuggest=document.getElementById(inputname+'_sg');var oScroll=document.getElementById(inputname+"_sc");oSuggest.innerHTML=div;for(var i=0;i<self.sug_suggestions;i++)
{tr=document.getElementById(inputname+""+i);tr.onmousedown=sug_wybierz;tr.onmouseover=sug_onmouseover;tr.onmouseout=sug_onmouseout;}
oScroll.scrollTop=0;}
this.sug_displayresults=sug_displayresults;function sug_handleresults()
{if(self.xmlHttpGetSuggestions.readyState!=4)
return;if(self.xmlHttpGetSuggestions.status!=200)
return;try
{options=JSON.parse(self.xmlHttpGetSuggestions.responseText);var name=new Array();var value=new Array();for(var i in options.n)
if((typeof(options.n[i])=='number')||(typeof(options.n[i])=='string'))
{name[i]=options.n[i];}
for(var i in options.v)
if((typeof(options.v[i])=='number')||(typeof(options.v[i])=='string'))
{value[i]=options.v[i];}
sug_addtocache(self.sug_url+""+self.sug_lastrequest,name,value);if(self.sug_lastrequest==self.sug_userkeyword)
{sug_displayresults(self.sug_lastrequest);}}
catch(e)
{}}
this.sug_handleresults=sug_handleresults;function createXmlHttpRequestObject()
{var xmlHttp;try
{xmlHttp=new XMLHttpRequest();}
catch(e)
{var XmlHttpVersions=new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");for(var i=0;i<XmlHttpVersions.length&&!xmlHttp;i++)
{try
{xmlHttp=new ActiveXObject(XmlHttpVersions[i]);}
catch(e){}}}
if(!xmlHttp)
return;else
return xmlHttp;}
this.createXmlHttpRequestObject=createXmlHttpRequestObject;function encode(uri)
{if(encodeURIComponent)
{return encodeURIComponent(uri);}
if(escape)
{return escape(uri);}}
function sug_selectRange(oText,start,length)
{if(oText.createTextRange)
{var oRange=oText.createTextRange();oRange.moveStart("character",start);oRange.moveEnd("character",length-oText.value.length);oRange.select();}
else
if(oText.setSelectionRange)
{oText.setSelectionRange(start,length);}}
this.sug_selectRange=sug_selectRange;function sug_visible()
{if(self.sug_suggestions==0)
{div='Trwa pobieranie podpowiedzi';var oSuggest=document.getElementById(inputname+'_sg');var oScroll=document.getElementById(inputname+"_sc");oSuggest.innerHTML=div;oScroll.scrollTop=0;}
array=findPos(document.getElementById(inputname));array[1]+=18;oScroll=document.getElementById(inputname+"_sc");oScroll.style.left=array[0]+"px";oScroll.style.top=array[1]+"px";oScroll.style.visibility="visible";oScroll.style.display="block";}
this.sug_visible=sug_visible;function sug_onfocus_event()
{if(self.sug_furl!=null)
self.sug_url=self.sug_furl();var sug_wpisane=document.getElementById(inputname).value;if(!self.sug_cache[self.sug_url+""+sug_wpisane.toLowerCase()])
self.sug_suggestions=0;self.sug_changestimeoutID=setTimeout(function(){self.sug_checkforchanges();},self.sug_refreshtime);if(!self.sug_onfocus)
return;if(self.sug_suggestions==0)
{sug_getsuggestions(sug_wpisane);}
sug_visible();}
this.sug_onfocus_event=sug_onfocus_event;function sug_onlostfocus()
{if(self.sug_changestimeoutID!=-1)
clearTimeout(self.sug_changestimeoutID);if(self.sug_timeoutID!=-1)
clearTimeout(self.sug_timeoutID);var oScroll=document.getElementById(inputname+"_sc").style.visibility="hidden";document.getElementById(inputname+"_sc").style.display="none";}
this.sug_onlostfocus=sug_onlostfocus;}