/*
	Version 1.7.1.
	http://createwebapp.com
*/
(function(){var ua=navigator.userAgent.toLowerCase(),webkit=/webkit/.test(ua),gecko=!webkit&&/gecko/.test(ua),ff2=!webkit&&/firefox\/2/.test(ua),ff3=!webkit&&/firefox\/3/.test(ua),MSIE=/msie/.test(ua),MSIE6=/msie 6/.test(ua),MSIE7=/msie 7/.test(ua),MSIE8=/msie 8/.test(ua),backCompat=document.compatMode=="BackCompat",loaded=0,sw=0,sn,$$=0,Event=new Object(),BW=1,C=0;empty=function(){},getStyle=function(e){if(gecko){return document.defaultView.getComputedStyle(e,null)}else{return e.currentStyle||e.style}},$A=function(itr){if(!itr){return[]}var rs=[];for(var i=0,length=itr.length;i<length;i++){rs.push(itr[i])}return rs},toInt=function(s){return isNaN(parseInt(s))?0:parseInt(s)},cumulativeOffset=function(e){var T=0,L=0;do{T+=e.offsetTop||0;L+=e.offsetLeft||0;e=e.offsetParent}while(e);return[L,T]},getOffsetParent=function(e){if(e.offsetParent){return e.offsetParent}if(e==document.body){return e}while((e=e.parentNode)&&e!=document.body){if(getStyle(e).position!="static"){return e}}return document.body},viewportOffset=function(t){var T=0,L=0,e=t;do{T+=e.offsetTop||0;L+=e.offsetLeft||0;if(e.offsetParent==document.body&&e.style.position=="absolute"){break}}while(e=e.offsetParent);e=t;do{if(!window.opera||e.tagName=="BODY"){T-=e.scrollTop||0;L-=e.scrollLeft||0}}while(e=e.parentNode);return[L,T]},fixMSIE=function(e){var d=[0,0];if(e==document.body){d[0]+=document.body.offsetLeft;d[1]+=document.body.offsetTop}else{if((MSIE6||MSIE7)&&e.style){d[0]+=toInt(getStyle(e).marginLeft);d[1]+=toInt(getStyle(e).marginTop)}}return d},ID=function(){return C++},Try={these:function(){var v;for(var i=0,length=arguments.length;i<length;i++){try{v=arguments[i]();break}catch(e){}}return v}};var cgn={$:function(e){if(typeof e=="string"){e=document.getElementById(e)}return e}};Object.extend=function(d,s){for(var p in s){d[p]=s[p]}return d};Object.extend(Object,{keys:function(o){var s=[];for(var p in o){s.push(p)}return s},clone:function(o){return Object.extend({},o)}});var Class={create:function(){var parent=null,ps=$A(arguments);function klass(){this.init.apply(this,arguments)}Object.extend(klass,{addMethods:function(s){var ps=Object.keys(s);if(!Object.keys({toString:true}).length){ps.push("toString","valueOf")}for(var i=0,length=ps.length;i<length;i++){var p=ps[i];this.prototype[p]=s[p]}return this}});for(var i=0;i<ps.length;i++){klass.addMethods(ps[i])}if(!klass.prototype.init){klass.prototype.init=function(){}}klass.prototype.constructor=klass;return klass}};Object.extend(Function.prototype,{bind:function(){if(arguments.length<2&&typeof arguments[0]=="undefined"){return this}var __m=this,args=$A(arguments),object=args.shift();return function(){return __m.apply(object,args.concat($A(arguments)))}}});Object.extend(Event,{element:function(e){return cgn.$(e.target||e.srcElement)},stop:function(e){if(e.preventDefault){e.preventDefault();e.stopPropagation()}else{e.returnValue=false;e.cancelBubble=true}},observers:false,_observeAndCache:function(e,n,observer,useCapture){if(!this.observers){this.observers=[]}if(e.addEventListener){this.observers.push([e,n,observer,useCapture]);e.addEventListener(n,observer,useCapture)}else{if(e.attachEvent){this.observers.push([e,n,observer,useCapture]);e.attachEvent("on"+n,observer)}}},unloadCache:function(){if(!Event.observers){return}for(var i=0,length=Event.observers.length;i<length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null}Event.observers=false},observe:function(e,n,observer,useCapture){e=cgn.$(e);useCapture=useCapture||false;if(n=="keypress"&&(webkit||e.attachEvent)){n="keydown"}Event._observeAndCache(e,n,observer,useCapture)},stopObserving:function(e,n,observer,useCapture){e=cgn.$(e);useCapture=useCapture||false;if(n=="keypress"&&(webkit||e.attachEvent)){n="keydown"}if(e.removeEventListener){e.removeEventListener(n,observer,useCapture)}else{if(e.detachEvent){try{e.detachEvent("on"+n,observer)}catch(ex){}}}}});if(MSIE){Event.observe(window,"unload",Event.unloadCache,false)}var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false}};Ajax.Updater=Class.create({_complete:false,init:function(options){this.options={};Object.extend(this.options,options||{});this.transport=Ajax.getTransport()},request:function(url){this.url=url;try{this.transport.open("GET",this.url,true);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.transport.send(null)}catch(e){}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete)){this.respond(this.transport.readyState)}},setRequestHeaders:function(){var s={"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){s["Content-type"]="application/x-www-form-urlencoded; charset=UTF-8";if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){s.Connection="close"}}for(var n in s){this.transport.setRequestHeader(n,s[n])}},success:function(){var status=this.getStatus();return !status||(status>=200&&status<300)},getStatus:function(){try{return this.transport.status||0}catch(e){return 0}},respond:function(readyState){if(readyState==4){try{this._complete=true;this.options.onComplete(new Ajax.Response(this))}catch(e){}this.transport.onreadystatechange=empty}}});Ajax.Response=Class.create({init:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!MSIE)||readyState==4){this.status=this.getStatus();this.responseText=transport.responseText==null?"":String(transport.responseText)}},status:0,getStatus:Ajax.Updater.prototype.getStatus});var g=1264388447;var cwa={focus:function(t){t.focus();var l=t.value.length;if(MSIE){var r=t.createTextRange();r.moveStart("character",l);r.moveEnd("character",l);r.select()}else{t.setSelectionRange(l,l)}}};(function(){var t;function _domloaded(z){if(loaded){return}if(t){window.clearInterval(t)}loaded=1;if(!$$){var e=document.createElement("div");var es=e.style;es.position="absolute";es.right=es.top="0px";es.backgroundColor="#feea3d";es.cursor="pointer";es.padding=".5em";var days=Math.floor((g+new Date().getTime()/1000)/86400);if(days<7){if(days<0){days=0}e.innerHTML="The autocomplete trial has "+days+(days>1?" days":" day")+" left. <a href='http://createwebapp.com/buy.php'>Buy Now!</a>";document.body.appendChild(e)}}}if(document.addEventListener){if(webkit){t=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){_domloaded()}},0);Event.observe(window,"load",_domloaded)}else{document.addEventListener("DOMContentLoaded",_domloaded,false)}}else{document.write("<script id=_onDOMContentLoaded defer src=//:><\/script>");cgn.$("_onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;_domloaded()}}}})();var NSImage=Class.create({init:function(o){var id="_image_"+ID();if(loaded){var e=document.createElement("div");e.id=id;e.className="autocomplete_icon";var es=e.style;es.padding=es.margin="0";es.height=es.width="12px";es.position="absolute";es.left=es.top="-256px";es.fontSize="0px";document.body.appendChild(e)}else{document.write("<div id='"+id+"' class='autocomplete_icon' style='padding:0; margin:0; height:12px; width:12px; position:absolute; left:-2560px; top:-2560px; font-size:0px'></div>")}this.e=cgn.$(id);this.o=o;this.e.onclick=function(){if(this.isReset()){o.setText("");this.ready();o.isModified=1;o.makeURI();o.stop()}else{if(this.isReady()){o.isON=1;o.isNotClick=0;o.request()}}o.text.focus()}.bind(this,o)},hide:function(){this.e.style.left="-256px"},finished:function(){if(this.o.text.value.length){this.reset()}else{this.ready()}},position:function(){var t=this.o.text;var p=viewportOffset(t);var parent=getOffsetParent(this.e);var d=viewportOffset(parent);this.e.style.left=(p[0]-d[0]-fixMSIE(parent)[0]+(MSIE?t.scrollLeft:0)+t.offsetWidth-16)+"px";this.e.style.top=(p[1]-d[1]-fixMSIE(parent)[1]+Math.round((t.offsetHeight-12)/2)+(webkit?1:0))+"px"},ready:function(){this._set("0 0")},go:function(){this._set("0 12px")},reset:function(){this._set("0 24px")},isReady:function(){return !(this.isGo()||this.isReset())},isGo:function(){return this._get().indexOf("12")>-1},isReset:function(){return this._get().indexOf("24")>-1},_get:function(){return this.e.style.backgroundPosition},_set:function(v){this.e.style.backgroundPosition=v}});var NSList=Class.create({init:function(object,hasFrame){var id="_list_"+ID();var x="autocomplete_list";if(loaded){var e=document.createElement("ol");e.id=id;var es=e.style;es.position="absolute";es.left=es.top="-2560px";e.className=x;document.body.appendChild(e)}else{document.write("<ol id='"+id+"' style='position:absolute;left:-2560px;top:-2560px' class='"+x+"'></ol>")}this.e=cgn.$(id);this.o=object;if(MSIE6&&hasFrame){if(loaded){var e=document.createElement("iframe");e.id="_iframe_"+id;var es=e.style;es.position="absolute";es.filter="progid:DXImageTransform.Microsoft.Alpha(opacity = 0)";e.src="javascript:false;";document.body.appendChild(e)}else{document.write("<iframe id='_iframe_"+id+"' style='position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity = 0)' src='javascript:false;'></iframe>")}this.F=cgn.$("_iframe_"+id);this.F.style.display="none"}},isVisible:function(){var s=this.e.style;return(s.display!="none")&&(toInt(s.left)>=0)&&(toInt(s.top)>=0)},setContent:function(t){this.e.innerHTML=t},content:function(t){return this.e.innerHTML},hide:function(){if(this.isVisible()){this.e.style.left="-8000px"}if(this.F){this.F.style.display="none"}},display:function(w,h,sf){var t=this.o.text,p=viewportOffset(t);var parent=getOffsetParent(this.e);var delta=viewportOffset(parent);var l=p[0],d=t.offsetWidth-w,a=this.o.options.align,ls=this.e.style;if((a=="auto")&&(document.body.offsetWidth-l-w>14)){d=0}if(a=="left"){d=0}if(a=="center"){d/=2}ls.width=w+"px";ls.height=h;if(sf){this.o.focus(this.o.i+1)}var e=this.e;ls.top=p[1]+t.offsetHeight-delta[1]-fixMSIE(parent)[1]+"px";ls.left=l-delta[0]-fixMSIE(parent)[0]+d+(MSIE?t.scrollLeft:0)+"px";ls.display="";if(this.F){self.name=sn;var es=this.F.style;es.top=ls.top;es.left=ls.left;es.width=ls.width;es.height=e.clientHeight;es.display=""}},autoWidth:function(){var i=500;if(!!window.opera){this.e.style.width=i+"px"}var oh=this.e.offsetHeight;if(webkit||ff3||MSIE8){w=this.e.offsetWidth}else{var step=50;var l=100,h=i,ow;do{i=Math.ceil((l+h)/2);this.e.style.width=i+"px";ow=this.e.offsetWidth;if(gecko||document.compatMode=="CSS1Compat"){ow-=BW*2}if((this.e.offsetHeight>oh)||(ow>i)){l=i+step}else{h=i}}while((h-l)/step>0.9);w=h;this.e.style.width=w+"px"}return w},autoHeight:function(){var s=this.o.options.size;var A=$A(this.e.getElementsByTagName("li"));var l=A.length;var m=A[(l>s?s:l)-1];var h=m.offsetTop+m.offsetHeight;if(MSIE6||MSIE7){h-=toInt(getStyle(m).paddingTop)}if(!MSIE6&&!ff3){h-=BW}return h+"px"},parseItems:function(){var items=new Array(),ls=this.e.childNodes;for(var j=0;j<ls.length;j++){var x=ls[j];if(x.nodeType==1&&x.getAttribute("onselect")){var i=items.length;x.onmouseover=function(i){this.focus(i)}.bind(this.o,i);x.onclick=function(i){this.i=i;this.z()}.bind(this.o,i);items.push(x)}}if(items.length>this.o.options.size){this.e.style.overflow="auto"}return items},prepare:function(){this.e.style.width=this.e.style.height="auto";var ls=this.e.childNodes,i=0,lt;for(var j=0;j<ls.length;j++){var x=ls[j];if(ac.I(x)){lt=x;if(MSIE&&i++<this.o.options.size&&!x.getElementsByTagName("span").length){x.innerHTML="<span style='padding:0'></span>"+x.innerHTML}}}return ls.length},clear:function(){this.e.innerHTML=""}});ac=Class.create({$c:0,T:0,i:-1,d:1,init:function(t,f,options){this.text=cgn.$(t)?cgn.$(t):document.getElementsByName(t)[0];if((this.text==null)||(f==null)||(typeof f!="function")){return}this.text.setAttribute("autocomplete","off");this.setOptions(options);this.f=f;this.makeURI=function(){this.value=encodeURIComponent(this.text.value);if(this.bR()){return this.f()}}.bind(this);var x=this.text.getAttribute("autocompleteID");if(x!=null){return}var sid="no_"+ac.inst.length;this.text.setAttribute("autocompleteID",sid);this.onchange=this.text.onchange;this.text.onchange=function(){};this.L=new NSList(this,1);this.L2=new NSList(this);ac.inst.push(this);if(ac.L){ac.L();ac.L=null}this.image=new NSImage(this);this.image.finished();this.fpi();this._k=this.k.bind(this);this.$r=this.request.bind(this);var t=this.text;t.className+=" autocomplete_text";var O=Event.observe;if(MSIE){O(t,"keydown",this._k)}else{O(t,"keypress",this._k)}O(t,"keyup",function(e){if(e.keyCode==27){this.image.finished()}}.bind(this));O(t,"blur",this.blur.bind(this));if(ac.inst.length==1){O(document,"click",ac.C)}O(window,"resize",this.image.position.bind(this.image));var e=t;while(e=e.parentNode){if(e.style&&(e.style.overflow=="scroll"||e.style.overflow=="auto")){this.scrollable=this.scrollable?this.scrollable:e;O(e,"scroll",this.onScroll.bind(this))}}},enable:function(){if(this.isDisabled()){this.options.delay=this._delay}this.image.position()},disable:function(){this._delay=this.options.delay;this.options.delay=60;this.image.hide()},isDisabled:function(){return this.options.delay>=60},fpi:function(){for(var i=1;i<=4*10;i++){setTimeout(this.image.position.bind(this.image),i*50)}},setOptions:function(options){this.options={width:"auto",delay:0.2,delimChars:",",size:10,select_first:1,align:"auto"};Object.extend(this.options,options||{})},setText:function(v){this.text.value=v;return this},onScroll:function(){var s=this.scrollable;if(s){var p=this.t();var o=cumulativeOffset(s);if(p[1]>=o[1]&&p[1]<o[1]+s.offsetHeight&&p[0]>=o[0]&&p[0]<o[0]+s.offsetWidth&&this.L.isVisible()){this.s()}else{this.L.hide()}}},t:function(){var p=viewportOffset(this.text);return[p[0]+(MSIE?this.text.scrollLeft:0)+(document.documentElement.scrollLeft||document.body.scrollLeft),p[1]+(document.documentElement.scrollTop||document.body.scrollTop)]},iolv:function(){var d=this.options.delimChars,v=encodeURIComponent(this.text.value),i,j,k=0;for(i=v.length-1;i>=0;i--){for(j=0;j<d.length;j++){if(v.charAt(i)==d.charAt(j)){k=i+1;break}}if(k){break}}return k},page:function(n){var s=this.options.size,i=this.i,l=this.items.length;if(n=="page_up"){if(i>=s){this.focus(i-s)}else{this.focus(0)}}if(n=="page_down"){if(i+s<l){this.focus(i+s)}else{this.focus(l-1)}}},blur:function(){if(!this.L.isVisible()&&!this.image.isGo()){this.isON=0;setTimeout(function(){if(!this.isON){this.stop()}}.bind(this),4)}},stop:function(){this.c();this.image.finished();this.L.hide()},c:function(){if(this.latest&&this.latest.transport.readyState!=4){this.latest.transport.abort()}},k:function(e){if(this.isDisabled()){return}if(!$$&&Math.floor((g+new Date().getTime()/1000)/86400)<0){return}this.isON=1;this.$s=false;var c=e.keyCode,delay=this.options.delay,ck=0;this.isModified=1;this.isNotClick=1;if(c==13||c==9){if(this.L.isVisible()){if(c==13){Event.stop(e)}if((this.$c)&&(this.i>-1)){this.$s=true}this.z();return}if(c==13&&!this.textChanged){return}delay=0.001;this.isModified=0}if(c==27){this.stop();if(webkit){this.text.blur();this.text.focus()}}if(this.$c){if(c==33||c==34||c==63276||c==63277){ck=1;(c==33)||(c==63276)?this.page("page_up"):this.page("page_down")}if(c==38||c==40||c==63232||c==63233){ck=1;(c==38)||(c==63232)?this.focus(this.i-1):this.focus(this.i+1)}if(ck){Event.stop(e);return}}if(c==9||c==27||c==37||c==39||c==35||c==36||c==45||c==16||c==17||c==18||c==91){return}this.textChanged=1;clearTimeout(this.T);this.c();this.T=setTimeout(this.$r,delay*1000)},z:function(){var m=this.G();if(m){this.stop();var isP=0;try{var s=m.getAttribute("onselect").replace("this.request()","this.request(1)");isP=s.indexOf("this.request(")>-1;eval(s)}catch(e){}this.textChanged=0;cwa.focus(this.text);if(!isP){this.image.finished()}if(this.onchange){setTimeout(function(){this.onchange.bind(this.text)()}.bind(this),5)}}},G:function(){return this.items?this.items[this.i]:null},focus:function(i,pass){if(i<-1||i>this.items.length||this.i==i||!this.$c){return}this.L.e.style.display="";var m=this.G();if(m){m.className=m.className.replace(new RegExp("current_item","g"),"")}this.i=i;m=this.G();if(m){m.className+=" current_item";var u=this.L.e,h=this.options.size*m.offsetHeight,mt=m.offsetTop;if(ff2){mt+=BW}if(MSIE8){mt-=BW}var up=(mt<=u.scrollTop)||(i==0),down=mt+m.offsetHeight-u.scrollTop>h;if(up){if(MSIE6||MSIE7){mt-=toInt(getStyle(m).paddingTop)}u.scrollTop=mt}if(down){if(MSIE6||MSIE7){mt-=toInt(getStyle(m).paddingBottom)}u.scrollTop=mt+m.offsetHeight-h}}},bR:function(){this.L.onscroll=function(){cwa.focus(this.text)}.bind(this);return true},request:function(qs){if(this.isDisabled()){return}if(typeof qs=="string"){this.isON=1}else{qs=""}if(this.isON){var u=this.makeURI();if(typeof u=="undefined"){this.stop();return}this.$c=0;this.i=-1;this.image.go();this.latest=new Ajax.Updater({onComplete:this.d.bind(this)});this.latest.request(u+qs)}else{this.stop()}},d:function(response){var l=this.latest;var tx=l.transport;if(this.isON&&tx==response.transport){this.L2.setContent(response.responseText);this.$c=1;try{if(typeof tx.status=="unknown"||!l.success()){this.L2.setContent("<li onselect=';'>HTTP error code:"+tx.status+"</li>")}this.$c=1;if(this.L2.prepare()){this.s(this.options.select_first)}else{this.stop()}}catch(e){}}},s:function(ft){this.isON=1;var w=this.L2.autoWidth(),h="auto";this.i=-1;this.L.setContent(this.L2.content());this.items=this.L.parseItems();if(this.items.length>this.options.size){w=parseInt(w)+sw;h=this.L2.autoHeight()}if(w<this.text.offsetWidth){w=this.text.offsetWidth}if(this.items.length){this.L.display(w,h,ft)}if(MSIE){setTimeout(function(){for(var j=0;j<this.items.length;j++){var x=this.items[j];if(!x.getElementsByTagName("span").length){x.innerHTML="<span style='padding:0'></span>"+x.innerHTML}}}.bind(this),0)}this.L2.clear();this.image.finished()}});Object.extend(ac,{unlock:function(n){if(n.indexOf("C")>-1&&n.indexOf("G")>-1&&n.indexOf("N")>-1){$$=1}},I:function(e){var v;if(e.nodeType==1){v=e.getAttribute("onselect")}return v},C:function(v){var e=Event.element(v);for(var i=0;i<ac.inst.length;i++){var a=ac.inst[i];if(a.text!=e&&a.L.e!=e&&a.image.e!=e){a.L.hide()}}},L:function(){if(MSIE){sn=self.name}var x="autocomplete_x1";if(loaded){var e=document.createElement("div");e.id=x;document.body.appendChild(e)}else{document.write("<div id='"+x+"'></div>")}var e=cgn.$(x);var es=e.style;es.position="absolute";es.left=es.top="-2560px";es.overflow="scroll";es.width="40px";e.innerHTML="<div style='width:80px;height:80px' class='autocomplete_icon'></div>";sw=e.offsetWidth-e.clientWidth},inst:new Array(),name:"",key:"",updateViews:function(){for(var i=0;i<ac.inst.length;i++){ac.inst[i].image.position()}}});window.AutoComplete=window.Autocomplete=ac})();
