/*
	cbs_live_search v0.7
	(c) 2006-2008 Christophe Beyls <http://www.digitalia.be>
	MIT-style licence
*/
var CbsLiveSearch=new Class({initialize:function(B,D,A,F,C,E){this.default_value=A;this.noresults="<p>"+F+"</p>";this.data=E;this.textbox=$(B).addEvents({focus:this.onFocus.bind(this),blur:this.onBlur.bind(this)});this.webkit=C.k&&navigator.vendor&&navigator.vendor.test("Apple Computer")&&(navigator.productSub.toInt()>=20020000);if(C.r&&!this.webkit){this.resetimage=new Element("img",{src:C.r,"class":"livesearch_resetimage",styles:{cursor:"pointer",visibility:"hidden"},events:{click:function(){this.textbox.value="";this.check();this.textbox.focus()}.bind(this)}}).injectInside(this.textbox.parentNode)}if(C.w){this.waitimage=new Element("img",{src:C.w,"class":"livesearch_waitimage",styles:{visibility:"hidden"}}).injectInside(this.textbox.parentNode)}this.results=new Element("div",{id:D,styles:{display:"none"}}).injectAfter(this.textbox.form);this.clone=new Element("div",{id:D,styles:{visibility:"hidden",position:"absolute",height:""}}).injectBefore(this.results);this.resizeFx=new Fx.Tween(this.results.setStyles({display:"",overflow:"hidden"}),{property:"height",duration:500,wait:false}).set(0);this.fadeFx=new Fx.Tween(this.results,{property:"opacity",duration:500,wait:false}).set(0);this.visible=false;if(this.webkit){$(this.textbox.form).addClass("livesearch_webkit");this.textbox.setProperties({type:"search",autosave:this.textbox.form.action,results:"5",placeholder:this.default_value})}else{this.textbox.setProperties({autocomplete:"off",value:this.default_value}).addClass("livesearch_inactive")}},onFocus:function(){if(!this.webkit&&(this.textbox.value==this.default_value)){this.textbox.removeClass("livesearch_inactive").value=""}this.oldValue=this.textbox.value;this.checkTimer=this.check.periodical(1000,this)},onBlur:function(){$clear(this.checkTimer);this.check();if(!this.webkit&&(this.textbox.value=="")){this.textbox.addClass("livesearch_inactive").value=this.default_value}},hide:function(){if(this.visible){this.visible=false;this.fadeFx.start(0);this.resizeFx.start(0)}},check:function(){if(this.textbox.value==this.oldValue){return }$clear(this.showTimer);this.abort();this.oldValue=this.textbox.value;if(this.resetimage){this.resetimage.style.visibility=this.oldValue?"":"hidden"}if((this.data.q=this.oldValue.trim()).length<3){return this.hide()}if(this.waitimage){this.waitimage.style.visibility=""}this.request=new Request({url:window.location.href,method:"post",data:this.data,onSuccess:this.onRequestComplete.bind(this),onFailure:function(){this.abort();this.hide()}.bind(this)}).send()},abort:function(){if(this.request){this.request.cancel();this.request=null;if(this.waitimage){this.waitimage.style.visibility="hidden"}}},onRequestComplete:function(A){this.request=null;if(this.waitimage){this.waitimage.style.visibility="hidden"}this.results.set("html",(A=="<none />")?this.noresults:A);this.clone.set("html",this.results.innerHTML);this.showTimer=this.show.delay(50,this)},show:function(){if(!this.visible){this.visible=true;this.fadeFx.start(1)}this.resizeFx.start(this.clone.clientHeight)}});