var autocommpleteTimeer=null;
var testBack={"textarea":"a","rnd":"aaa","songs":["aaa-ddd","aaa-ddd","aaa-ddd","aaa-ddd","aaa-ddd","ddd-aaa"]};
Event.observe(document,"keyup",function(_1){
hideAutoComplete();
});
Event.observe(document,"click",function(_2){
hideAutoComplete();
});
var AUTOCOMPCB;
function yobo_autocomplete(_3,_4,_5){
var _6=$(_3);
var _7=$(_3+"_suggest");
if(!_7){
_7=document.createElement("ul");
_7.id=_3+"_suggest";
_7.style.display="none";
_7.className="song_list_suggest";
_6.parentNode.appendChild(_7);
_7.style.zIndex=100;
_7.style.left="0px";
}
_6.parentNode.style.position="relative";
_7.index=-1;
if(typeof _5=="function"){
AUTOCOMPCB=_5;
}
Event.observe(_6,"keyup",function(_8){
var _9=_8.which;
if(_8.keyCode){
_9=_8.keyCode;
}
if(_9!="37"&&_9!="38"&&_9!="39"&&_9!="40"&&_9!="13"){
_7.index=-1;
_7.hide();
var _a=this.value;
clearTimeout(autocommpleteTimeer);
var _b=this;
autocommpleteTimeer=setTimeout(function(){
requestSongs();
},400);
function requestSongs(){
var _c=new Date().toString();
new Ajax.Request(_4+"?q="+_a+"&i=6&rnd="+_c+"&textarea="+_b.id,{method:"get"});
_b.rnd=_c;
}
}
if(_9=="13"){
Event.stop(_8);
return false;
}
if(_9=="38"){
Event.stop(_8);
return false;
}
if(_9=="40"){
Event.stop(_8);
return false;
}
});
Event.observe(_6,"keydown",function(_d){
if(_7.index<0||_7.size<=0){
return false;
}
var _e=_d.which;
if(_d.keyCode){
_e=_d.keyCode;
}
if(_e=="13"){
if(_7.index>=0){
var _f=_7.select("li");
this.value=_f[_7.index].innerHTML;
_7.index=-1;
_7.hide();
Event.stop(_d);
return false;
}
}
if(_e=="38"){
_7.index--;
if(_7.index<0){
_7.index+=_7.size;
}
_7.index%=_7.size;
var _f=_7.select("li");
_f.each(function(_10,_11){
if(_11==_7.index){
_10.className="hover";
}else{
_10.className="";
}
});
Event.stop(_d);
return false;
}
if(_e=="40"){
_7.index++;
_7.index%=_7.size;
var _f=_7.select("li");
_f.each(function(_12,_13){
if(_13==_7.index){
_12.className="hover";
}else{
_12.className="";
}
});
Event.stop(_d);
return false;
}
});
}
function getSongsData(_14){
var _15=$(_14.textarea+"_suggest");
_15.innerHTML="";
_15.index=0;
_15.size=_14.songs.length;
_14.songs.each(function(_16,_17){
oLi=new Element("li").update(_16);
Event.observe(oLi,"click",function(_18){
Event.stop(_18);
$(_14.textarea).value=this.innerHTML;
_15.hide();
_15.index=-1;
});
if(_17==0){
oLi.className="hover";
}
_15.appendChild(oLi);
});
_15.parentNode.style.position="relative";
_15.show();
}
function getAlbumsData(_19){
var _1a=$(_19.textarea+"_suggest");
_1a.innerHTML="";
_1a.index=0;
_1a.size=_19.albums.length;
_1a.style.left="48px";
_19.albums.each(function(_1b,_1c){
oLi=new Element("li").update(_1b);
Event.observe(oLi,"click",function(_1d){
Event.stop(_1d);
$(_19.textarea).value=this.innerHTML;
_1a.hide();
_1a.index=-1;
});
if(_1c==0){
oLi.className="hover";
}
_1a.appendChild(oLi);
});
_1a.parentNode.style.position="relative";
_1a.show();
}
function getSingersData(_1e){
var _1f=$(_1e.textarea+"_suggest");
_1f.innerHTML="";
_1f.index=0;
_1f.size=_1e.singers.length;
_1e.singers.each(function(_20,_21){
oLi=new Element("li").update(_20);
Event.observe(oLi,"click",function(_22){
Event.stop(_22);
$(_1e.textarea).value=this.innerHTML;
if(typeof AUTOCOMPCB=="function"){
AUTOCOMPCB();
}
_1f.hide();
_1f.index=-1;
});
if(_21==0){
oLi.className="hover";
}
_1f.appendChild(oLi);
});
_1f.parentNode.style.position="relative";
_1f.show();
}
function hideAutoComplete(){
$$(".song_list_suggest").each(function(li,_24){
li.hide();
li.parentNode.style.position="static";
});
}
