/*
<script type="text/javascript">
	var completercfg = {
		'cmp_form_id' : 'completer_form',
		'cmp_div_container' : 'completer_container',
		'completer_input' : 'completer_input',
		'cmp_frequenz_react' : '0.3',
		'cmp_min_keys' : 2
	};
</script>
*/
var ydcompleter=Class.create({initialize:function(a,e,b,d,c,f){this.form_id=a;this.container_div=e;this.input_id=b;this.ajax=d;this.frequenz=c||1;this.query=null;this.key_disabler=new Array(0,9,13,16,17,18,19,20,27,33,34,35,36,37,38,39,40,45);this.min_keys=f||0;this.observe()},observe:function(){$(this.input_id).observe("keyup",function(a){if(this.observer){clearTimeout(this.observer)}this.kd=a.keyCode;this.observer=setTimeout(this.action.bind(this),this.frequenz*1000)}.bind(this));$(this.form_id).focusFirstElement()},action:function(){this.query=$F(this.input_id);if(this.query.length>=this.min_keys){if(this.query==""){$(this.container_div).hide()}else{if(this.in_array(this.kd,this.key_disabler)!=true){this.keydown()}$(this.container_div).observe("mouseleave",function(){$(this.container_div).hide()}.bind(this))}}},in_array:function(b,a){for(p=0;p<a.length;p++){if(b==a[p]){return true}}},keydown:function(){new Ajax.Request(Settings.Host+this.ajax,{method:"post",parameters:{query:this.query},onLoading:function(){$(this.container_div).hide()}.bind(this),onSuccess:function(a){$(this.container_div).update(a.responseText);$(this.container_div).show()}.bind(this)})}});if(completercfg==undefined){var completercfg={cmp_form_id:"completer_form",cmp_div_container:"completer_container",completer_input:"completer_input",cmp_frequenz_react:"0.3",cmp_min_keys:2}}document.observe("dom:loaded",function(){cmp_form_id=completercfg.cmp_form_id;cmp_div_container=completercfg.cmp_div_container;cmp_input_completer=completercfg.completer_input;cmp_ajax_file_list="?controller=search";cmp_frequenz_react=completercfg.cmp_frequenz_react;cmp_min_keys=completercfg.cmp_min_keys;if(document.getElementById(cmp_div_container)&&document.getElementById(cmp_input_completer)){completer=new ydcompleter(cmp_form_id,cmp_div_container,cmp_input_completer,cmp_ajax_file_list,cmp_frequenz_react,cmp_min_keys)}});
