var SimpleComplete=new Class({Implements:Options,oCompleteEl:null,oRequest:null,aExtraData:null,options:{beforeComplete:$empty,afterComplete:$empty,url:false,fieldName:false,minLength:3,returnKey:false},initialize:function(a,b){this.oCompleteEl=$(a);this.setOptions(b);this.build()},build:function(){if(this.options.fieldName===false)this.options.fieldName=this.oCompleteEl.get("name");this.oCompleteEl.addEvent("keyup",this.getComplete.bind(this))},getComplete:function(a){this.oRequest!==null&&this.oRequest.cancel();
switch(a.code){case 8:case 46:case 37:case 39:return}a=this.oCompleteEl.get("value");var b=$H();if(!(a.length<this.options.minLength)){this.options.beforeComplete.bind(this).call();if(this.aExtraData!==null)b=$H(this.aExtraData);b[this.options.fieldName]=a;this.oRequest=(new Request.JSON({url:this.options.url,method:"post",data:b.toQueryString(),onComplete:this.handleResponse.bind(this)})).send()}},handleResponse:function(a){if(a.result=="ok"&&$type(a.data[this.options.fieldName])&&a.data[this.options.fieldName].length>
0){var b=a.data[this.options.fieldName],c=this.oCompleteEl.get("value").length;this.oCompleteEl.set("value",b);this.oCompleteEl.selectRange(c,this.oCompleteEl.get("value").length)}typeof this.options.afterComplete=="function"&&this.options.afterComplete(a)},setExtraData:function(a){this.aExtraData=a}});

