var helper=null;function Autocompleter(a){this.acmp_suggestions=[];this.acmp_oldins=null;this.acmp_posi=-1;this.acmp_words=new Array();this.acmp_inputElement=a;this.acmp_input=null;this.acmp_outp=document.createElement("div");this.acmp_outp.className="autocompleter";this.acmp_shadow=document.createElement("div");this.acmp_shadow.className="autocompleterShadow";this.acmp_shadow.appendChild(this.acmp_outp);this.acmp_shadow.owner=this;this.acmp_shadow.onkeydown=this.acmp_keygetter;this.acmp_shadow.onkeyup=this.acmp_keyHandler;this.acmp_key=null;helper=this;setInterval(this.acmp_lookAt,100,this);this.acmp_setVisible("hidden");var b=[];this.acmp_inputElement.owner=this;this.acmp_inputElement.onkeydown=this.acmp_keygetter;this.acmp_inputElement.onkeyup=this.acmp_keyHandler;document.body.appendChild(this.acmp_shadow)}Autocompleter.prototype.acmp_setVisible=function(c){var a=this.acmp_shadow;var b=this.acmp_inputElement;a.style.position="absolute";a.style.top=(this.acmp_findPosY(b)+3)+"px";a.style.left=(this.acmp_findPosX(b))+"px";a.style.visibility=c};Autocompleter.prototype.acmp_findPosX=function(a){var b=0;if(a.offsetParent){while(a.offsetParent){b+=a.offsetLeft;a=a.offsetParent}}else{if(a.x){b+=a.x}}return b};Autocompleter.prototype.acmp_findPosY=function(b){var a=0;if(b.offsetParent){a+=b.offsetHeight;while(b.offsetParent){a+=b.offsetTop;b=b.offsetParent}}else{if(b.y){a+=b.y;a+=b.height}}return a};Autocompleter.prototype.acmp_lookAt=function(a){if(!a){a=helper}var b=a.acmp_trim(a.acmp_inputElement.value.toLowerCase());if(b.indexOf(",")!=-1&&b.lastIndexOf(",")+1<b.length){b=a.acmp_trim(b.substring(b.lastIndexOf(",")+1))}if(a.acmp_oldins==b){return}else{if(b.length>0){a.acmp_words=a.acmp_getWord(b);if(a.acmp_words.length>0){a.acmp_clearOutput();for(var c=0;c<a.acmp_words.length;++c){a.acmp_addWord(a.acmp_words[c])}a.acmp_setVisible("visible");a.acmp_input=a.acmp_inputElement.value}else{a.acmp_setVisible("hidden");a.acmp_posi=-1}}else{a.acmp_setVisible("hidden");a.acmp_posi=-1}}a.acmp_oldins=b};Autocompleter.prototype.acmp_addWord=function(d){var c=document.createElement("div");var b=document.createTextNode(d);var a=document.createElement("span");a.className="autoCmpSpan";a.style.height=($ie)?"16px":"14px";c.appendChild(a);a.innerHTML=escapeHTML(d);c.style.height="20px";c.style.overflow="hidden";c.style.paddingLeft="30px";c.style.width=($ie)?"480px":"450px";a.style.paddingTop="3px";c.word=d;c.owner=this;c.onmouseover=this.acmp_mouseHandler;c.onmouseout=this.acmp_mouseHandlerOut;c.onclick=this.acmp_mouseClick;this.acmp_outp.appendChild(c)};Autocompleter.prototype.acmp_clearOutput=function(){while(this.acmp_outp.hasChildNodes()){noten=this.acmp_outp.firstChild;this.acmp_outp.removeChild(noten)}this.acmp_posi=-1};Autocompleter.prototype.acmp_getWord=function(c){var b=new Array();for(var a=0;a<this.acmp_suggestions.length;++a){if(this.acmp_analyseString(this.acmp_suggestions[a],c)){b[b.length]=this.acmp_suggestions[a]}}return b};Autocompleter.prototype.acmp_analyseString=function(d,f){var c=d.split(" ");for(var e=0;e<c.length;e++){if(c[e].charAt(0)=="<"&&c[e].charAt(c[e].length-1)==">"){c[e]=c[e].substring(1,c[e].length-1)}var b=1;var a=-1;while(b==1&&++a<f.length){if(c[e].charAt(a).toLowerCase()!=f.charAt(a).toLowerCase()){b=0}}if(b==1){return true}}return false};Autocompleter.prototype.acmp_setColor=function(a,b,c){this.acmp_outp.childNodes[a].style.background=b;this.acmp_outp.childNodes[a].style.color=c};Autocompleter.prototype.acmp_keygetter=function(a){if(!a&&window.event){a=window.event}if(a){this.owner.acmp_key=a.keyCode}else{this.owner.acmp_key=a.which}};Autocompleter.prototype.acmp_keyHandler=function(c){if(this.owner.acmp_shadow.style.visibility=="visible"){var b=this.owner.acmp_inputElement;if(this.owner.acmp_key==37||this.owner.acmp_key==39){b.value=this.owner.acmp_input;this.owner.acmp_setVisible("hidden");this.owner.acmp_posi=-1;b.focus();var a=this.owner.acmp_trim(this.owner.acmp_inputElement.value.toLowerCase());if(a.indexOf(",")!=-1&&a.lastIndexOf(",")+1<a.length){a=this.owner.acmp_trim(a.substring(a.lastIndexOf(",")+1))}this.owner.acmp_oldins=a}var d=b.value;if(this.owner.acmp_key==40){if(this.owner.acmp_words.length>0&&this.owner.acmp_posi<this.owner.acmp_words.length-1){if(this.owner.acmp_posi>=0){this.owner.acmp_setColor(this.owner.acmp_posi,"#fff","black")}else{this.owner.acmp_input=b.value}this.owner.acmp_setColor(++this.owner.acmp_posi,"#e1e1e1","black")}}else{if(this.owner.acmp_key==38){if(this.owner.acmp_words.length>0&&this.owner.acmp_posi>=0){if(this.owner.acmp_posi>=1){this.owner.acmp_setColor(this.owner.acmp_posi,"#fff","black");this.owner.acmp_setColor(--this.owner.acmp_posi,"#e1e1e1","black");b.value="";b.value=d}else{this.owner.acmp_setColor(this.owner.acmp_posi,"#fff","black");b.value=this.owner.acmp_input;this.owner.acmp_posi--}}}else{if(this.owner.acmp_key==27){b.value=this.owner.acmp_input;this.owner.acmp_setVisible("hidden");this.owner.acmp_posi=-1;b.focus();var a=this.owner.acmp_trim(this.owner.acmp_inputElement.value.toLowerCase());if(a.indexOf(",")!=-1&&a.lastIndexOf(",")+1<a.length){a=this.owner.acmp_trim(a.substring(a.lastIndexOf(",")+1))}this.owner.acmp_oldins=a}else{if(this.owner.acmp_key==8){this.owner.acmp_posi=-1;this.owner.acmp_oldins=-1}else{if(this.owner.acmp_key==13){if(this.owner.acmp_posi>=0){b.value="";if(d.lastIndexOf(",")!=-1){d=d.substring(0,d.lastIndexOf(",")+2);b.value=d+this.owner.acmp_outp.childNodes[this.owner.acmp_posi].word+", "}else{b.value=this.owner.acmp_outp.childNodes[this.owner.acmp_posi].word+", "}}this.owner.acmp_setVisible("hidden");this.owner.acmp_oldins=this.owner.acmp_outp.childNodes[this.owner.acmp_posi].word;this.owner.acmp_posi=-1;this.owner.acmp_inputElement.focus()}}}}}}};Autocompleter.prototype.acmp_mouseHandler=function(){for(var a=0;a<this.owner.acmp_words.length;++a){this.owner.acmp_setColor(a,"white","black")}this.style.background="#e1e1e1";this.style.color="black";this.style.cursor="pointer"};Autocompleter.prototype.acmp_mouseHandlerOut=function(){this.style.background="white";this.style.color="black"};Autocompleter.prototype.acmp_mouseClick=function(){var a=this.owner.acmp_input;this.owner.input="";if(a.lastIndexOf(",")!=-1){a=a.substring(0,a.lastIndexOf(",")+2);this.owner.acmp_inputElement.value=a+this.word+", "}else{this.owner.acmp_inputElement.value=this.word+", "}this.owner.acmp_setVisible("hidden");this.owner.acmp_posi=-1;this.owner.acmp_oldins=this.firstChild.nodeValue;this.owner.acmp_inputElement.focus()};Autocompleter.prototype.acmp_trim=function(a){a=a.replace(/(\s+)$/,"");a=a.replace(/^(\s+)/,"");return a};