var SimpleComplete=new Class({Implements:Options,oCompleteEl:null,oRequest:null,aExtraData:null,options:{afterComplete:function(){},url:false,fieldName:false,minLength:3,returnKey:false},initialize:function(a,b){this.oCompleteEl=$(a);this.setOptions(b);this.build()},build:function(){var a=this;this.oCompleteEl.addEvent("keyup",function(b){a.oRequest!==null&&a.oRequest.cancel();if(a.options.fieldName!==false){switch(b.code){case 8:case 46:case 37:case 39:return}b=b.target.get("value");if(!(b.length<
a.options.minLength)){var c=a.options.fieldName,d=$H();if(a.aExtraData!==null)d=$H(a.aExtraData);d[c]=b;a.oRequest=(new Request.JSON({url:a.options.url,method:"post",data:d.toQueryString(),onComplete:a.HandleResponse.bind(a)})).send()}}})},HandleResponse:function(a){if(a.length>0){var b=a[0];if(typeof b=="object"){b=$H(b);b=this.options.returnKey!==false&&b.has(this.options.returnKey)?b[this.options.returnKey]:b.getValues()[0]}var 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}});
