viewport={getWinWidth:function(){this.width=0;if(window.innerWidth)this.width=window.innerWidth-18;else if(document.documentElement&&document.documentElement.clientWidth)
this.width=document.documentElement.clientWidth;else if(document.body&&document.body.clientWidth)
this.width=document.body.clientWidth;},getWinHeight:function(){this.height=0;if(window.innerHeight)this.height=window.innerHeight-18;else if(document.documentElement&&document.documentElement.clientHeight)
this.height=document.documentElement.clientHeight;else if(document.body&&document.body.clientHeight)
this.height=document.body.clientHeight;},getScrollX:function(){this.scrollX=0;if(typeof window.pageXOffset=="number")this.scrollX=window.pageXOffset;else if(document.documentElement&&document.documentElement.scrollLeft)
this.scrollX=document.documentElement.scrollLeft;else if(document.body&&document.body.scrollLeft)
this.scrollX=document.body.scrollLeft;else if(window.scrollX)this.scrollX=window.scrollX;},getScrollY:function(){this.scrollY=0;if(typeof window.pageYOffset=="number")this.scrollY=window.pageYOffset;else if(document.documentElement&&document.documentElement.scrollTop)
this.scrollY=document.documentElement.scrollTop;else if(document.body&&document.body.scrollTop)
this.scrollY=document.body.scrollTop;else if(window.scrollY)this.scrollY=window.scrollY;},getAll:function(){this.getWinWidth();this.getWinHeight();this.getScrollX();this.getScrollY();}}
var menuLayers={timer:null,activeMenuID:null,offX:-50,offY:10,show:function(id,e){var mnu=document.getElementById?document.getElementById(id):null;if(!mnu)return;this.activeMenuID=id;if(mnu.onmouseout==null)mnu.onmouseout=this.mouseoutCheck;if(mnu.onmouseover==null)mnu.onmouseover=this.clearTimer;viewport.getAll();this.position(mnu,e);},hide:function(){this.clearTimer();if(this.activeMenuID&&document.getElementById)
this.timer=setTimeout("document.getElementById('"+menuLayers.activeMenuID+"').style.visibility = 'hidden'",200);},position:function(mnu,e){var x=e.pageX?e.pageX:e.clientX+viewport.scrollX;var y=e.pageY?e.pageY:e.clientY+viewport.scrollY;if(x+mnu.offsetWidth+this.offX>viewport.width+viewport.scrollX)
x=x-mnu.offsetWidth-this.offX;else x=x+this.offX;if(y+mnu.offsetHeight+this.offY>viewport.height+viewport.scrollY)
y=(y-mnu.offsetHeight-this.offY>viewport.scrollY)?y-mnu.offsetHeight-this.offY:viewport.height+viewport.scrollY-mnu.offsetHeight;else y=y+this.offY;mnu.style.left=x+"px";mnu.style.top=y+"px";this.timer=setTimeout("document.getElementById('"+menuLayers.activeMenuID+"').style.visibility = 'visible'",200);},mouseoutCheck:function(e){e=e?e:window.event;var mnu=document.getElementById(menuLayers.activeMenuID);var toEl=e.relatedTarget?e.relatedTarget:e.toElement;if(mnu!=toEl&&!menuLayers.contained(toEl,mnu))menuLayers.hide();},contained:function(oNode,oCont){if(!oNode)return;while(oNode=oNode.parentNode)
if(oNode==oCont)return true;return false;},clearTimer:function(){if(menuLayers.timer)clearTimeout(menuLayers.timer);}}
function AutoSuggestControl(oTextbox,oProvider){this.cur=-1;this.layer=null;this.provider=oProvider;this.textbox=oTextbox;this.init();}
AutoSuggestControl.prototype.autosuggest=function(aSuggestions,bTypeAhead){if(aSuggestions.length>0){if(bTypeAhead){this.typeAhead(aSuggestions[0]);}
this.showSuggestions(aSuggestions);}else{this.hideSuggestions();}};AutoSuggestControl.prototype.createDropDown=function(){var oThis=this;this.layer=document.createElement("div");this.layer.className="suggestions";this.layer.style.visibility="hidden";this.layer.style.width=500;this.layer.onmousedown=this.layer.onmouseup=this.layer.onmouseover=function(oEvent){oEvent=oEvent||window.event;oTarget=oEvent.target||oEvent.srcElement;if(oEvent.type=="mousedown"){oThis.textbox.value=oTarget.firstChild.nodeValue;oThis.hideSuggestions();}else if(oEvent.type=="mouseover"){oThis.highlightSuggestion(oTarget);}else{oThis.textbox.focus();}};document.body.appendChild(this.layer);};AutoSuggestControl.prototype.getLeft=function(){var oNode=this.textbox;var iLeft=0;while(oNode.tagName!="BODY"){iLeft+=oNode.offsetLeft;oNode=oNode.offsetParent;}
return iLeft;};AutoSuggestControl.prototype.getTop=function(){var oNode=this.textbox;var iTop=0;while(oNode.tagName!="BODY"){iTop+=oNode.offsetTop;oNode=oNode.offsetParent;}
return iTop;};AutoSuggestControl.prototype.handleKeyDown=function(oEvent){switch(oEvent.keyCode){case 38:this.previousSuggestion();break;case 40:this.nextSuggestion();break;case 13:this.hideSuggestions();break;case 27:this.hideSuggestions();break;}};AutoSuggestControl.prototype.handleKeyUp=function(oEvent){var iKeyCode=oEvent.keyCode;if(iKeyCode==8||iKeyCode==46){this.provider.requestSuggestions(this,false);}else if(iKeyCode<32||(iKeyCode>=33&&iKeyCode<46)||(iKeyCode>=112&&iKeyCode<=123)){}else{this.provider.requestSuggestions(this,true);}};AutoSuggestControl.prototype.hideSuggestions=function(){this.layer.style.visibility="hidden";};AutoSuggestControl.prototype.highlightSuggestion=function(oSuggestionNode){for(var i=0;i<this.layer.childNodes.length;i++){var oNode=this.layer.childNodes[i];if(oNode==oSuggestionNode){oNode.className="current"}else if(oNode.className=="current"){oNode.className="";}}};AutoSuggestControl.prototype.init=function(){var oThis=this;this.textbox.onkeyup=function(oEvent){if(!oEvent){oEvent=window.event;}
oThis.handleKeyUp(oEvent);};this.textbox.onkeydown=function(oEvent){if(!oEvent){oEvent=window.event;}
oThis.handleKeyDown(oEvent);};this.textbox.onblur=function(){oThis.hideSuggestions();};this.createDropDown();};AutoSuggestControl.prototype.nextSuggestion=function(){var cSuggestionNodes=this.layer.childNodes;if(cSuggestionNodes.length>0&&this.cur<cSuggestionNodes.length-1){var oNode=cSuggestionNodes[++this.cur];this.highlightSuggestion(oNode);this.textbox.value=oNode.firstChild.nodeValue;}};AutoSuggestControl.prototype.previousSuggestion=function(){var cSuggestionNodes=this.layer.childNodes;if(cSuggestionNodes.length>0&&this.cur>0){var oNode=cSuggestionNodes[--this.cur];this.highlightSuggestion(oNode);this.textbox.value=oNode.firstChild.nodeValue;}};AutoSuggestControl.prototype.selectRange=function(iStart,iLength){if(this.textbox.createTextRange){var oRange=this.textbox.createTextRange();oRange.moveStart("character",iStart);oRange.moveEnd("character",iLength-this.textbox.value.length);oRange.select();}else if(this.textbox.setSelectionRange){this.textbox.setSelectionRange(iStart,iLength);}
this.textbox.focus();};AutoSuggestControl.prototype.showSuggestions=function(aSuggestions){var oDiv=null;this.layer.innerHTML="";for(var i=0;i<aSuggestions.length;i++){oDiv=document.createElement("div");oDiv.appendChild(document.createTextNode(aSuggestions[i]));this.layer.appendChild(oDiv);}
this.layer.style.left=this.getLeft()+"px";this.layer.style.top=(this.getTop()+this.textbox.offsetHeight)+"px";this.layer.style.visibility="visible";};AutoSuggestControl.prototype.typeAhead=function(sSuggestion){if(this.textbox.createTextRange||this.textbox.setSelectionRange){var iLen=this.textbox.value.length;this.selectRange(iLen,sSuggestion.length);}};function StateSuggestions(){this.TypeAhead=null;this.autoSuggestControl=null;};StateSuggestions.prototype.requestSuggestions=function(oAutoSuggestControl,bTypeAhead){this.TypeAhead=bTypeAhead;this.autoSuggestControl=oAutoSuggestControl;Suggestions.listSuggestions(oAutoSuggestControl.textbox.value,handle);};StateSuggestions.prototype.showSuggestions=function(suggestions){this.autoSuggestControl.autosuggest(suggestions,this.TypeAhead);};function handle(suggestions){stateSuggestions.showSuggestions(suggestions);};var cssdropdown={disappeardelay:150,delaytime:2000,disablemenuclick:true,enableswipe:1,dropmenuobj:null,ie:document.all,firefox:document.getElementById&&!document.all,swipetimer:undefined,bottomclip:0,getposOffset:function(what,offsettype){var totaloffset=(offsettype=="left")?what.offsetLeft:what.offsetTop;var parentEl=what.offsetParent;while(parentEl!=null){totaloffset=(offsettype=="left")?totaloffset+parentEl.offsetLeft:totaloffset+parentEl.offsetTop;parentEl=parentEl.offsetParent;}
return totaloffset;},swipeeffect:function(){if(this.showdelay>cssdropdown.delaytime){if(this.bottomclip<parseInt(this.dropmenuobj.offsetHeight)){this.bottomclip+=20+(this.bottomclip/5)
this.dropmenuobj.style.clip="rect(0 auto "+this.bottomclip+"px 0)"}
else
return}
else{this.showdelay+=50}
this.swipetimer=setTimeout("cssdropdown.swipeeffect()",20)},css:function(el,targetclass,action){var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)","ig")
if(action=="check")
return needle.test(el.className)
else if(action=="remove")
el.className=el.className.replace(needle,"")
else if(action=="add"&&!needle.test(el.className))
el.className+=" "+targetclass},showhide:function(obj,e){if(this.ie||this.firefox)
this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"
if(e.type=="click"&&obj.visibility==hidden||e.type=="mouseover"||e.type=="mouseup"){if(this.enableswipe==1){if(typeof this.swipetimer!="undefined")
clearTimeout(this.swipetimer)
obj.clip="rect(0 auto 0 0)"
this.bottomclip=0
if(e.type=="mouseover"){this.showdelay=0}
else if(e.type=="mouseup"){this.showdelay=cssdropdown.delaytime}
this.swipeeffect()}
obj.visibility="visible"
this.css(this.asscmenuitem,"selected","add")}
else if(e.type=="click"){obj.visibility="hidden"}},iecompattest:function(){return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body},clearbrowseredge:function(obj,whichedge){var edgeoffset=0
if(whichedge=="rightedge"){var windowedge=757
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
if(windowedge-this.dropmenuobj.x<this.dropmenuobj.contentmeasure)
edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth}
else{var topedge=this.ie&&!window.opera?this.iecompattest().scrollTop:window.pageYOffset
var windowedge=this.ie&&!window.opera?this.iecompattest().scrollTop+this.iecompattest().clientHeight-15:window.pageYOffset+window.innerHeight-18
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
if(windowedge-this.dropmenuobj.y<this.dropmenuobj.contentmeasure){edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
if((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure)
edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge}}
return edgeoffset},dropit:function(obj,e,dropmenuID){if(this.dropmenuobj!=null)
this.hidemenu()
this.clearhidemenu()
this.dropmenuobj=document.getElementById(dropmenuID)
this.asscmenuitem=obj
if(this.ie||this.firefox){obj.onmouseout=function(){cssdropdown.delayhidemenu()}
obj.onclick=function(){return!cssdropdown.disablemenuclick}
this.dropmenuobj=document.getElementById(dropmenuID)
this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu()}
this.dropmenuobj.onmouseout=function(){cssdropdown.dynamichide(e)}
this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()}
this.showhide(this.dropmenuobj.style,e)
this.dropmenuobj.x=this.getposOffset(obj,"left")
this.dropmenuobj.y=this.getposOffset(obj,"top")
this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj,"rightedge")+"px"
if(this.ie)
this.separator=1
if(this.firefox)
this.separator=0
this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj,"bottomedge")+obj.offsetHeight+this.separator+"px"}},contains_firefox:function(a,b){while(b.parentNode)
if((b=b.parentNode)==a)
return true;return false;},dynamichide:function(e){var evtobj=window.event?window.event:e
if(this.ie&&!this.dropmenuobj.contains(evtobj.toElement)){this.delayhidemenu()}
else if(this.firefox&&e.currentTarget!=evtobj.relatedTarget&&!this.contains_firefox(evtobj.currentTarget,evtobj.relatedTarget)){this.delayhidemenu()}
else if(evtobj.type=="mouseup"){this.delayhidemenu()}},delayhidemenu:function(){this.delayhide=setTimeout("cssdropdown.hidemenu()",this.disappeardelay)},hidemenu:function(){this.css(this.asscmenuitem,"selected","remove")
this.dropmenuobj.style.visibility='hidden'
this.dropmenuobj.style.left=this.dropmenuobj.style.top="-1000px"},clearhidemenu:function(){if(this.delayhide!="undefined"){clearTimeout(this.delayhide)}},startchrome:function(){for(var ids=0;ids<arguments.length;ids++){var menuitems=document.getElementById(arguments[ids]).getElementsByTagName("a")
for(var i=0;i<menuitems.length;i++){if(menuitems[i].getAttribute("rel")){var relvalue=menuitems[i].getAttribute("rel")
menuitems[i].onmouseover=function(e){var event=typeof e!="undefined"?e:window.event
cssdropdown.dropit(this,event,this.getAttribute("rel"))}
menuitems[i].onmouseup=function(e){var event=typeof e!="undefined"?e:window.event
cssdropdown.dropit(this,event,this.getAttribute("rel"))}}}}}}