function InputSuggest(A){this.win=null;this.doc=null;this.container=null;this.items=null;this.input=A.input||null;this.containerCls=A.containerCls||"suggest-container";this.itemCls=A.itemCls||"suggest-item";this.activeCls=A.activeCls||"suggest-active";this.width=A.width;this.opacity=A.opacity;this.data=A.data||[];this.active=null;this.visible=false;this.init()}InputSuggest.prototype={init:function(){this.win=window;this.doc=window.document;this.container=this.$C("div");this.attr(this.container,"class",this.containerCls);this.doc.body.appendChild(this.container);this.setPos();var B=this,A=this.input;this.on(A,"keyup",function(C){if(A.value==""){B.hide()}else{B.onKeyup(C)}});this.on(A,"blur",function(C){B.hide()});this.onMouseover();this.onMousedown()},$C:function(A){return this.doc.createElement(A)},getPos:function(A){var C=[0,0],B=A;var D=A.getBoundingClientRect();C=[D.left,D.top];if(A.getBoundingClientRect){var D=A.getBoundingClientRect();C=[D.left,D.top]}else{while(B&&B.offsetParent){C[0]+=B.offsetLeft;C[1]+=B.offsetTop;B=B.offsetParent}}return C},setPos:function(){var C=$("#"+this.input.id);var A=this.container;var E=this.brow;var B=C.position().top+C.outerHeight();var D=C.position().left;A.style.cssText="position:absolute;overflow:hidden;left:"+D+"px;top:"+B+"px;width:"+(C.outerWidth()-2)+"px;min-width:"+(C.outerWidth()-2)+"px;"},show:function(){this.setPos();this.container.style.visibility="visible";this.visible=true},hide:function(){this.container.style.visibility="hidden";this.visible=false},attr:function(B,A,C){if(C===undefined){return B.getAttribute(A)}else{B.setAttribute(A,C);A=="class"&&(B.className=C)}},on:function(B,C,A){B.addEventListener?B.addEventListener(C,A,false):B.attachEvent("on"+C,A)},un:function(B,C,A){B.removeEventListener?B.removeEventListener(C,A,false):B.detachEvent("on"+C,A)},brow:function(A){return{ie:/msie/.test(A)&&!/opera/.test(A),opera:/opera/.test(A),firefox:/firefox/.test(A)}}(navigator.userAgent.toLowerCase()),onKeyup:function(H){var B=this.container,I=this.input,C=this.itemCls,G=this.activeCls;if(this.visible){switch(H.keyCode){case 13:if(this.active){I.value=this.active.firstChild.data;this.hide()}return;case 38:if(this.active==null){this.active=B.lastChild;this.attr(this.active,"class",G);I.value=this.active.firstChild.data}else{if(this.active.previousSibling!=null){this.attr(this.active,"class",C);this.active=this.active.previousSibling;this.attr(this.active,"class",G);I.value=this.active.firstChild.data}else{this.attr(this.active,"class",C);this.active=null;I.focus();I.value=I.getAttribute("curr_val")}}return;case 40:if(this.active==null){this.active=B.firstChild;this.attr(this.active,"class",G);I.value=this.active.firstChild.data}else{if(this.active.nextSibling!=null){this.attr(this.active,"class",C);this.active=this.active.nextSibling;this.attr(this.active,"class",G);I.value=this.active.firstChild.data}else{this.attr(this.active,"class",C);this.active=null;I.focus();I.value=I.getAttribute("curr_val")}}return}}if(H.keyCode==27){this.hide();I.value=this.attr(I,"curr_val");return}this.items=[];if(this.attr(I,"curr_val")!=I.value){this.container.innerHTML="";var D=I.value;var F=D;if(D.indexOf("@")!=-1){F=D.substring(0,D.indexOf("@"))}for(var A=0,J=this.data.length;A