function $(e){if(typeof e=='string')e=document.getElementById(e);return e};function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};ajax={};ajax.x=function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};ajax.send=function(u,f,m,a){var x=ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4)f(x.responseText)};if(m=='POST')x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(a)};ajax.get=function(url,func){ajax.send(url,func,'GET')};ajax.gets=function(url){var x=ajax.x();x.open('GET',url,false);x.send(null);return x.responseText};ajax.post=function(url,func,args){ajax.send(url,func,'POST',args)};ajax.update=function(url,elm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.get(url,f)};ajax.submit=function(url,elm,frm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.post(url,f,ajax.serialize(frm))};var pos=0;var count=0;function noenter(key){suggcont=document.getElementById("suggcontainer");if(suggcont.style.display=="block"){if(key==13){choiceclick(document.getElementById(pos));return false;}else{return true;}}else{return true;}}
document.onclick=function(){closechoices();}
function suggest(key,query,type){if(key==38){goPrev();}else if(key==40){goNext();}else if(key!=13){if(query.length>3){t=new Date();ajax.get('/suggest.php?a='+type+'&q='+query+'&bla='+t.getTime(),update);}else{update('');}}}
function update(result){arr=new Array();arr=result.split('\r\n');if(arr.length>10){count=10;}else{count=arr.length;}
suggdiv=document.getElementById("suggestions");suggcont=document.getElementById("suggcontainer");if(arr[0].length>0){suggcont.style.display="block";suggdiv.innerHTML='';suggdiv.style.height=count*15;for(i=1;i<=count;i++){novo=document.createElement("div");suggdiv.appendChild(novo);novo.id=i;novo.style.width="332px";novo.style.padding="1px";novo.style.paddingRight="3px";novo.style.paddingLeft="3px";novo.onmouseover=function(){select(this,true);}
novo.onmouseout=function(){unselect(this,true);}
novo.onclick=function(){choiceclick(this);}
novo.innerHTML=arr[i-1];}}else{suggcont.style.display="none";count=0;}}
function suggest_users(key,query,type){if(key==38){goPrev();}else if(key==40){goNext();}else if(key!=13){if(query.length>3){t=new Date();ajax.get('/suggest.php?a='+type+'&q='+query+'&bla='+t.getTime(),update_users);}else{update_users('');}}}
function update_users(result){arr=new Array();arr=result.split('\r\n');if(arr.length>10){count=10;}else{count=arr.length;}
suggdiv=document.getElementById("suggestions");suggcont=document.getElementById("suggcontainer");if(arr[0].length>0){suggcont.style.display="block";suggdiv.innerHTML='';suggdiv.style.height=count*15;for(i=1;i<=count;i++){novo=document.createElement("div");suggdiv.appendChild(novo);novo.id=i;novo.style.width="222px";novo.style.padding="1px";novo.style.paddingRight="3px";novo.style.paddingLeft="3px";novo.onmouseover=function(){select(this,true);}
novo.onmouseout=function(){unselect(this,true);}
novo.onclick=function(){choiceclick(this);}
novo.innerHTML=arr[i-1];}}else{suggcont.style.display="none";count=0;}}
function select(obj,mouse){obj.style.backgroundColor='#88a9da';obj.style.color='#FFFFFF';obj.style.fontWeight='normal';if(mouse){pos=obj.id;unselectAllOther(pos);}}
function unselect(obj,mouse){obj.style.backgroundColor='#E0ECF7';obj.style.color='#006699';obj.style.fontWeight='normal';if(mouse){pos=0;}}
function goNext(){if(pos<=count&&count>0){if(document.getElementById(pos)){unselect(document.getElementById(pos));}
pos++;if(document.getElementById(pos)){select(document.getElementById(pos));}else{pos=0;}}}
function goPrev(){if(count>0){if(document.getElementById(pos)){unselect(document.getElementById(pos));pos--;if(document.getElementById(pos)){select(document.getElementById(pos));}else{pos=0;}}else{pos=count;select(document.getElementById(count));}}}
function choiceclick(obj){document.getElementById("searchinput").value=obj.innerHTML;count=0;pos=0;suggcont=document.getElementById("suggcontainer");suggcont.style.display="none";document.getElementById("searchinput").focus();}
function closechoices(){suggcont=document.getElementById("suggcontainer");if(suggcont.style.display=="block"){count=0;pos=0;suggcont.style.display="none";}}
function unselectAllOther(id){for(i=1;i<=count;i++){if(i!=id){document.getElementById(i).style.backgroundColor='#E0ECF7';document.getElementById(i).style.color='#006699';}}}
