var Tips=new Class({Implements:[Events,Options],options:{onShow:function(a){a.setStyle("visibility","visible")},onHide:function(a){a.setStyle("visibility","hidden")},showDelay:100,hideDelay:100,className:null,offsets:{x:-90,y:15},fixed:false},initialize:function(){var a=Array.link(arguments,{options:Object.type,elements:$defined});this.setOptions(a.options||null);this.tip=(new Element("div")).inject(document.body);this.options.className&&this.tip.addClass(this.options.className);var c=(new Element("div",{"class":"tip-top"})).inject(this.tip);this.container=(new Element("div",{"class":"tip"})).inject(this.tip);var b=(new Element("div",{"class":"tip-bottom"})).inject(this.tip);this.tip.setStyles({position:"absolute",top:0,left:0,visibility:"hidden"});a.elements&&this.attach(a.elements)},attach:function(a){$$(a).each(function(a){var e=a.retrieve("tip:title",a.get("title")),f=a.retrieve("tip:text",a.get("rel")||a.get("href")),b=a.retrieve("tip:enter",this.elementEnter.bindWithEvent(this,a)),c=a.retrieve("tip:leave",this.elementLeave.bindWithEvent(this,a));a.addEvents({mouseenter:b,mouseleave:c});if(!this.options.fixed){var d=a.retrieve("tip:move",this.elementMove.bindWithEvent(this,a));a.addEvent("mousemove",d)}a.store("tip:native",a.get("title"));a.erase("title")},this);return this},detach:function(a){$$(a).each(function(a){a.removeEvent("mouseenter",a.retrieve("tip:enter")||$empty);a.removeEvent("mouseleave",a.retrieve("tip:leave")||$empty);a.removeEvent("mousemove",a.retrieve("tip:move")||$empty);a.eliminate("tip:enter").eliminate("tip:leave").eliminate("tip:move");var b=a.retrieve("tip:native");b&&a.set("title",b)});return this},elementEnter:function(d,a){$A(this.container.childNodes).each(Element.dispose);var b=a.retrieve("tip:title");if(b){this.titleElement=(new Element("div",{"class":"tip-title"})).inject(this.container);this.fill(this.titleElement,b)}var c=a.retrieve("tip:text");if(c){this.textElement=(new Element("div",{"class":"tip-text"})).inject(this.container);this.fill(this.textElement,c)}this.timer=$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);this.position(!this.options.fixed?d:{page:a.getPosition()})},elementLeave:function(){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this)},elementMove:function(a){this.position(a)},position:function(c){var g=window.getSize(),f=window.getScroll(),e={x:this.tip.offsetWidth,y:this.tip.offsetHeight},d={x:"left",y:"top"};for(var a in d){var b=c.page[a]+this.options.offsets[a];if(b+e[a]-f[a]>g[a])b=c.page[a]-this.options.offsets[a]-e[a];this.tip.setStyle(d[a],b)}},fill:function(b,a){typeof a=="string"?b.set("html",a):b.adopt(a)},show:function(){this.fireEvent("show",this.tip)},hide:function(){this.fireEvent("hide",this.tip)}}),hoverButton=new Class({initialize:function(a){this.options=a;this.buttonElement=this.options.buttonElement;this.offState=this.buttonElement.src;this.hoverState=this.offState.replace("_off.","_hover.");this.preloadImage([this.hoverState])},setState:function(a){this.buttonElement.src=a},preloadImage:function(a){var b=this,c=new Asset.images(a,{onComplete:function(){b.addListeners()}})},addListeners:function(){this.buttonElement.addEvent("mouseover",this.setState.pass(this.hoverState,this));this.buttonElement.addEvent("mouseleave",this.setState.pass(this.offState,this))}}),hoverButtonHandler={arrHoverButtons:[],arrHoverInputs:[],init:function(){var a=$$("img.hover_button"),b=$$("input.hover_button");for(i=0;i<a.length;i++)hoverButtonHandler.arrHoverButtons[i]=new hoverButton({buttonElement:a[i]});for(i=0;i<b.length;i++)hoverButtonHandler.arrHoverInputs[i]=new hoverButton({buttonElement:b[i]})}};window.addEvent("domready",hoverButtonHandler.init);var utilityDropNav={init:function(){var a=$("master_container").getElements(".drop_nav");a.addEvent("mouseover",utilityDropNav.openNav);a.addEvent("mouseout",utilityDropNav.closeNav)},openNav:function(){this.addClass("open")},closeNav:function(){this.removeClass("open")}};window.addEvent("domready",utilityDropNav.init);var accountLoginPanel={show:function(b,c){var a=$("account_login_panel");a.setStyles({top:c,left:b,display:"block"})},closePanel:function(){var a=$("account_login_panel");a.setStyle("display","none")},hideLoginInfo:function(){document.getElementById("userid").disabled=true;document.getElementById("userpass").disabled=true;document.getElementById("rememberme").disabled=true;document.getElementById("useridLabel").style.color="#a1b2c5";document.getElementById("userid").style.backgroundColor="#a1b2c5";document.getElementById("userpass").style.backgroundColor="#a1b2c5";document.getElementById("passLabel").style.color="#a1b2c5";document.getElementById("rememberme").style.backgroundColor="#a1b2c5";document.getElementById("rememberLabel").style.color="#a1b2c5"},showLoginInfo:function(){document.getElementById("userid").disabled=false;document.getElementById("userpass").disabled=false;document.getElementById("rememberme").disabled=false;document.getElementById("useridLabel").style.color="#ffffff";document.getElementById("passLabel").style.color="#ffffff";document.getElementById("userid").style.backgroundColor="#ffffff";document.getElementById("userpass").style.backgroundColor="#ffffff";document.getElementById("rememberme").style.backgroundColor="#ffffff";document.getElementById("rememberLabel").style.color="#ffffff"}},popLayer={popLayerFade:null,popLayerContent:null,shim:null,center:false,shimYOffset:0,shimXOffset:0,show:function(a){var f=$(popLayer.popLayerFade);a=$(popLayer.popLayerContent);var g=$(popLayer.shim),h=window.getScrollSize(),e=window.getSize();a.setStyles({display:"block",visibility:"hidden"});var b=a.getSize();f.setStyles({opacity:.6,height:$("iefix").getScrollSize().y,display:"block"});var c=e.x/2-b.x/2,d=e.y/2-b.y/2;a.setStyles({top:d,left:c,visibility:"visible",position:"fixed","float":"left"});g.setStyles({top:d+popLayer.shimYOffset,left:c+popLayer.shimXOffset,height:b.y-popLayer.shimYOffset*2,display:"block",position:"fixed","float":"left"})},hide:function(){var b=$(popLayer.popLayerFade),a=$(popLayer.popLayerContent),c=$(popLayer.shim);b.setStyle("display","none");a.setStyle("display","none");c.setStyle("display","none")}},HoverRows=new Class({initialize:function(a){this.tableID=a;this.arrRows=$(this.tableID).getElements("tr");this.arrRows.addEvent("mouseover",this.toggleRow);this.arrRows.addEvent("mouseout",this.toggleRow)},toggleRow:function(){var a=this;if(a.hasClass("hover"))a.removeClass("hover");else a.addClass("hover")}}),allPairsDropDown={init:function(){$("all_pairs_drop_down_link").addEvent("click",allPairsDropDown.openNav);$("all_pairs_drop_down").addEvent("mouseenter",allPairsDropDown.openNav);$("all_pairs_drop_down").addEvent("mouseleave",allPairsDropDown.closeNav)},openNav:function(){$("all_pairs_drop_down").addClass("open")},closeNav:function(){$("all_pairs_drop_down").removeClass("open")}};function clearText(a){if(a.value==a.defaultValue)a.value=""}function displayPhoneNumber(){var a=$("country"),b=a.options[a.selectedIndex].value;$("phone_number_display").set("html",b)}function sms_providers(b,a){if(b=="att")document.getElementById(a).innerHTML="1234567890@txt.att.net";else if(b=="metropcs")document.getElementById(a).innerHTML="1234567890@mymetropcs.com";else if(b=="nextel")document.getElementById(a).innerHTML="1234567890@mymetropcs.com";else if(b=="sprint")document.getElementById(a).innerHTML="1234567890@messaging.sprintpcs.com";else if(b=="tmobile")document.getElementById(a).innerHTML="1234567890@tmomail.net";else if(b=="verizon")document.getElementById(a).innerHTML="1234567890@vtext.com";else if(b=="virgin")document.getElementById(a).innerHTML="1234567890@vmobl.com";else if(b=="selected")document.getElementById(a).innerHTML="Select a Provider"}imageCheckboxChecked="/resources/images/pages/landing/land-int/checkboxChecked.gif";imageCheckboxUnchecked="/resources/images/pages/landing/land-int/checkboxUnchecked.gif";imageRadioChecked="/resources/images/pages/landing/land-int/radiobuttonChecked.gif";imageRadioUnchecked="/resources/images/pages/landing/land-int/radiobuttonUnchecked.gif";imageSelectDropDownArrow="/resources/images/pages/landing/land-int/blank.gif";function prettyForms(){fixTextBoxes();fixTextareas();fixSelects();fixChecks();fixRadios();fixSubmits()}function appendParentsTo(a){tl=document.createElement("div");br=document.createElement("div");bl=document.createElement("div");tr=document.createElement("div");if(document.all){tl.className="frmShdwTopLt";br.className="frmShdwBottomRt";bl.className="frmShdwBottomLt";tr.className="frmShdwTopRt";t1=a.insertAdjacentElement("BeforeBegin",tl)}else{tl.setAttribute("class","frmShdwTopLt");br.setAttribute("class","frmShdwBottomRt");bl.setAttribute("class","frmShdwBottomLt");tr.setAttribute("class","frmShdwTopRt");inputParent=a.parentNode;tl=inputParent.insertBefore(tl,a)}br=tl.appendChild(br);bl=br.appendChild(bl);tr=bl.appendChild(tr);tr.appendChild(a)}function fixTextBoxes(){inputs=document.getElementsByTagName("input");for(i=0;i<inputs.length;i++)inputs[i].type=="text"&&appendParentsTo(inputs[i])}function fixTextareas(){textareas=document.getElementsByTagName("textarea");for(i=0;i<textareas.length;i++)appendParentsTo(textareas[i])}function fixSubmits(){inputs=document.getElementsByTagName("input");for(i=0;i<inputs.length;i++)if(inputs[i].type=="submit"){appendParentsTo(inputs[i]);inputs[i].className="frmShdwSubmit"}}function fixRadios(){inputs=document.getElementsByTagName("input");for(i=0;i<inputs.length;i++)if(inputs[i].type=="radio"){lnk=document.createElement("a");lnk.style.margin="4px";lnk.className="frmShdwRadio";img=document.createElement("img");if(inputs[i].checked==true)img.src=imageRadioChecked;else img.src=imageRadioUnchecked;if(inputs[i].id)realId=inputs[i].id;else{realId="radio"+i;inputs[i].id=realId}fakeId="fake"+realId;img.id=fakeId;lnk.href="javascript:toggleRadio('"+realId+"','"+fakeId+"')";if(document.all)lnk=inputs[i].insertAdjacentElement("BeforeBegin",lnk);else{inputParent=inputs[i].parentNode;lnk=inputParent.insertBefore(lnk,inputs[i])}lnk.appendChild(img);inputs[i].style.display="none"}}function fixChecks(){inputs=document.getElementsByTagName("input");for(i=0;i<inputs.length;i++)if(inputs[i].type=="checkbox"){appendParentsTo(inputs[i]);lnk=document.createElement("a");lnk.style.margin="4px";lnk.className="frmShdwCheck";img=document.createElement("img");if(inputs[i].checked==true)img.src=imageCheckboxChecked;else img.src=imageCheckboxUnchecked;if(inputs[i].id)realId=inputs[i].id;else{realId="check"+i;inputs[i].id=realId}fakeId="fake"+realId;img.id=fakeId;lnk.href="javascript:toggleCheck('"+realId+"','"+fakeId+"')";if(document.all)lnk=inputs[i].insertAdjacentElement("BeforeBegin",lnk);else{inputParent=inputs[i].parentNode;lnk=inputParent.insertBefore(lnk,inputs[i])}lnk.appendChild(img);inputs[i].style.display="none"}}function fixSelects(){selects=document.getElementsByTagName("select");for(i=0;i<selects.length;i++){appendParentsTo(selects[i]);if(selects[i].id=="")selects[i].id="dynId"+i;fakeSelectWrapper=document.createElement("div");fakeSelectIcon=document.createElement("a");if(document.all){fakeSelectIcon.href='javascript:dropDownMenu("frmShdwMenu'+i+'", "frmShdwMenuChosen'+i+'","'+selects[i].id+'")';fakeSelectIcon.className="fakeSelectImg";fakeSelectIcon.innerHTML='<img class="fakeSelectImg" src="'+imageSelectDropDownArrow+'" />';fakeSelect=document.createElement("div");fakeSelect.id="frmShdwMenu"+i;fakeSelect.className="frmShdwSelectDrop";options=selects[i].getElementsByTagName("option");fakeSelectedHolder=document.createElement("a");fakeSelectedHolder.className="frmShdwSelectDropChosen";fakeSelectedHolder.id="frmShdwMenuChosen"+i;fakeSelectedHolder.href='javascript:dropDownMenu("frmShdwMenu'+i+'", "frmShdwMenuChosen'+i+'","'+selects[i].id+'")';for(j=0;j<options.length;j++){fakeOption=document.createElement("a");fakeOption.innerHTML=options[j].innerHTML;fakeOption.href='javascript:chooseSelect("'+selects[i].id+'",'+j+',"frmShdwMenu'+i+'", "frmShdwMenuChosen'+i+'")';fakeSelect.appendChild(fakeOption);if(options[j].selected==true){fakeSelectedHolder.innerHTML=options[j].innerHTML;fakeOption.className="selected"}}fakeSelectWrapper.appendChild(fakeSelectedHolder);fakeSelectWrapper.appendChild(fakeSelect);fakeSelectWrapper.appendChild(fakeSelectIcon);selectParent=selects[i].parentNode;fakeSelect.style.margin="38px 0px 0px -"+selects[i].clientWidth+"px";fakeSelectWrapper=selects[i].insertAdjacentElement("BeforeBegin",fakeSelectWrapper);selects[i].style.display="none"}else{fakeSelectIcon.setAttribute("href",'javascript:dropDownMenu("frmShdwMenu'+i+'", "frmShdwMenuChosen'+i+'","'+selects[i].id+'")');fakeSelectIcon.innerHTML='<img class="fakeSelectImg" src="'+imageSelectDropDownArrow+'" />';fakeSelect=document.createElement("div");fakeSelect.setAttribute("id","frmShdwMenu"+i);fakeSelect.setAttribute("class","frmShdwSelectDrop");options=selects[i].getElementsByTagName("option");fakeSelectedHolder=document.createElement("div");fakeSelectedHolder.setAttribute("class","frmShdwSelectDropChosen");fakeSelectedHolder.setAttribute("id","frmShdwMenuChosen"+i);fakeSelectedHolder.setAttribute("onclick",'javascript:dropDownMenu("frmShdwMenu'+i+'", "frmShdwMenuChosen'+i+'","'+selects[i].id+'")');for(j=0;j<options.length;j++){fakeOption=document.createElement("a");fakeOption.innerHTML=options[j].innerHTML;fakeOption.setAttribute("href",'javascript:chooseSelect("'+selects[i].id+'",'+j+',"frmShdwMenu'+i+'", "frmShdwMenuChosen'+i+'")');fakeSelect.appendChild(fakeOption);if(options[j].selected==true){fakeSelectedHolder.innerHTML=options[j].innerHTML;fakeOption.setAttribute("class","selected")}}fakeSelectWrapper.appendChild(fakeSelectedHolder);fakeSelectWrapper.appendChild(fakeSelect);fakeSelectWrapper.appendChild(fakeSelectIcon);selectParent=selects[i].parentNode;fakeSelectWrapper=selectParent.insertBefore(fakeSelectWrapper,selects[i]);selects[i].style.display="none"}}}function toggleRadio(a,b){realRadio=document.getElementById(a);fakeRadio=document.getElementById(b);radioForm=realRadio.parentNode;tmpCnt=1;while(radioForm.tagName!="FORM"){radioForm=radioForm.parentNode;tmpCnt++;if(tmpCnt>50){window.alert("encountered javascript error\n[parentNode]");break}}inputs=radioForm.getElementsByTagName("input");for(i=0;i<inputs.length;i++)if(inputs[i].type=="radio")if(inputs[i].name==realRadio.name){inputs[i].checked=false;document.getElementById("fake"+inputs[i].id).src=imageRadioUnchecked;if(inputs[i].id==a){inputs[i].checked=true;document.getElementById("fake"+inputs[i].id).src=imageRadioChecked}}triggerEvent(realRadio,"change");triggerEvent(realRadio,"click")}function toggleCheck(b,a){fakeCheck=document.getElementById(a);realCheck=document.getElementById(b);if(fakeCheck.src.indexOf("checkboxChecked.gif")!=-1)fakeCheck.src=imageCheckboxUnchecked;else fakeCheck.src=imageCheckboxChecked;if(realCheck.checked==true)realCheck.checked=false;else realCheck.checked=true;triggerEvent(realCheck,"change")}function dropDownMenu(b,c,a){document.getElementById(b).className="frmShdwSelectDropShown";realMenu=document.getElementById(a);if(document.all)res=realMenu.fireEvent("onclick");else{mouseEvent=document.createEvent("MouseEvents");mouseEvent.initMouseEvent("click",true,true,window,1,0,0,0,0,false,false,false,false,0,null);realMenu.dispatchEvent(mouseEvent)}}function dropDownMenuClose(a){document.getElementById(a).className="frmShdwSelectDrop"}function chooseSelect(c,a,d,b){realDropdown=document.getElementById(c);fakeDropDown=document.getElementById(d);fakeChosenItem=document.getElementById(b);currSelect=realDropdown.selectedIndex=a;fakeChosenItem.childNodes[0].nodeValue=realDropdown[a].innerHTML;fakeOptions=fakeDropDown.getElementsByTagName("a");for(i=0;i<fakeOptions.length;i++){fakeOptions[i].className="";if(fakeOptions[i].innerHTML==realDropdown[a].innerHTML)fakeOptions[i].className="selected"}fakeDropDown.className="frmShdwSelectDrop";fakeChosenItem.style.display="block";triggerEvent(realDropdown,"change")}function triggerEvent(a,b){if(document.all){if(b=="click")res=a.fireEvent("onclick");else if(b=="change"){res=a.fireEvent("onchange");a.onchange()}}else if(b=="click"){mouseEvent=document.createEvent("MouseEvents");mouseEvent.initMouseEvent("click",true,true,window,1,0,0,0,0,false,false,false,false,0,null);a.dispatchEvent(mouseEvent)}else if(b=="change"){mouseEvent=document.createEvent("HTMLEvents");mouseEvent.initEvent("change",true,true,window,1,0,0,0,0,false,false,false,false,0,null);a.dispatchEvent(mouseEvent)}}var MavSelectBox=new Class({Implements:[Options,Events],options:{allowSplit:true,altClass:"select-box-alt",alternate:false,alternateOdd:false,attachResize:true,container:null,disableClass:"disabled",elem:null,filter:null,fxOptions:{},groupClass:"select-box-options-group",maxShow:null,minShow:3,optionClass:"select-box-opt",selectboxClass:"select-box",selectClass:"selected",selectmenuClass:"select-box-options",separator:"--",showStyles:false,size:1,template:"<span>%s</span>",tmplt_regex:null,useFx:true,onHide:$empty(),onOver:$empty(),onSelect:$empty(),onShow:$empty()},isCrolling:false,container:null,element:null,focused:null,length:0,selected:null,selectedIndex:0,showing:false,textSearch:"",version:"0.5.5",initialize:function(a){this.boundShow=this.show.bind(this);this.boundKey_option=this.key_option.bind(this);this.boundHide=this.hide.bind(this);var b=$type(a)!="object"?{elem:a}:a;if(!$defined(b.elem))return;this.setOptions(b);if(this.options.filter)this.filter=this.options.filter;this.element=$(this.options.elem);this.elementCopy=this.element.clone().set({id:this.element.get("id"),name:this.element.get("name")});if(!$defined(this.options.container)||(this.container=$(this.options.container))==null)this.container=null;this.optClass="li[class*="+this.options.optionClass+"]";this.create_select();this.options.attachResize&&window.addEvent("resize",function(){this.showing&&this.show()}.bind(this))},destroy:function(a){if(a){this.selected&&$defined(this.selected.retrieve("value"))&&$each(this.elementCopy.options,function(a){if(a.value==this.selected.retrieve("value"))a.selected=true},this);this.elementCopy.replaces($(this.element.get("id")))}this.remove_events();this.elementSelect.destroy()},ieFocus:function(){this.isCrolling=true},create_select:function(){var a=this.element.getSize();this.eid=this.element.get("id");this.elementSelect=(new Element("div",{"class":this.options.selectboxClass,styles:{width:a.x,height:a.y}})).inject(this.element,"after");this.elementDisplay=(new Element("a",{href:"javascript:void(0)"})).inject(this.elementSelect,"top");this.elementCopy.get("tabindex")!=0&&this.elementDisplay.set("tabindex",this.elementCopy.get("tabindex"));this.elementDisplay.setStyles({height:a.y-5,"line-height":a.y-5});this.add_events();this.elementOptions=(new Element("ul",{styles:{width:a.x},opacity:this.options.useFx?0:1,"class":this.options.selectmenuClass})).inject(this.elementSelect);this.fx=this.options.useFx?new Fx.Tween(this.elementOptions,$merge({duration:"200",link:"cancel"},this.options.fxOptions)):null;$each(this.element.getChildren(),this.create_option.bind(this));this.options.alternate&&this.elementOptions.getElements(this.optClass+":"+(this.options.alternateOdd?"odd":"even")).addClass(this.options.altClass);(this.selected=this.elementOptions.getElement("li."+this.options.selectClass)).removeClass(this.options.selectClass);this.selectedIndex=this.selected.retrieve("idx");this.elementDisplay.set({html:this.selected.get("html"),"class":this.options.showStyles?this.selected.get("class"):"",style:this.options.showStyles?this.selected.get("style"):""});this.elementOptions.store("coords",this.elementOptions.getCoordinates()).setStyles({visibility:"",display:"none"});this.element=(new Element("input",{type:"hidden",value:this.element.get("value"),id:this.element.get("id"),name:this.element.get("name")})).replaces(this.element).set("id",this.eid)},create_option:function(a,d,h){var i=a.get("value"),g=!!a.selected,b=a.get("label")?a.get("label"):a.get("text")||"&nbsp;",e=(a.get("tag")=="optgroup"?" optgroup unselectable":" "+this.options.optionClass)+(g&&!a.disabled?" "+this.options.selectClass:"")+(a.disabled?" "+this.options.disableClass:""),c=(new Element("li",{id:this.eid+"_opt"+d,html:this.filter(b,this.options.tmplt_regex,this.options.template),style:a.get("style"),"class":a.get("class")+e})).store("value",a.get("value")).store("idx",a.get("tag")!="optgroup"?++this.length:"").addEvents({mouseover:this.over.bind(this),mousedown:this.select.bind(this)}).inject($(h)||this.elementOptions);c.store("coords",c.getCoordinates());if(a.get("tag")=="optgroup"){var f=(new Element("ul",{"class":this.options.groupClass})).inject(c);$each(a.getChildren(),function(b,a){this.create_option(b,d+""+a,f)},this)}if(this.options.allowSplit&&b.match(new RegExp(this.options.separator))){b=b.split(this.options.separator);this.elementOptions.lastChild.set("html",'<span><span class="goleft">'+b[0].trim()+'</span><span class="goright">'+b[1].trim()+'</span><br style="clear:both" /></span>')}},filter:function(b,c,a){return a.replace(/\%s/i,b)},inject:function(){},dispose:function(){},add_events:function(){this.elementDisplay.addEvents({click:this.boundShow,keydown:this.boundKey_option,blur:this.boundHide})},remove_events:function(){this.elementOptions.removeEvent(this.boundIeFocus);this.elementDisplay.removeEvents({click:this.boundShow,keydown:this.boundKey_option,blur:this.boundHide})},key_option:function(a){a=new Event(a);if(a.key!="tab"){a.stop();switch(a.key){case"esc":this.hide();break;case"enter":this.select(this.selected);case"tab":this.hide();break;case"up":case"down":a.alt&&this.show();this.select(a.key);break;case"shift":case"control":case"alt":break;default:this.search(a.key)}}},search:function(e,f){this.textSearch+=e;for(var c=this.get_options(),d=false,a=false,b=0;b<c.length;b++){a=c[b];if(a.get("text").match(new RegExp("^"+this.textSearch,"i"))){this.selected!=a&&this.select(a);d=true;break}}if(d===false){this.textSearch="";!f&&this.search(e,true)}},get_options:function(a){return this.elementOptions.getElements(a||this.optClass)},determine:function(a){var b=$type(a)=="element"?a.get("tag")!="li"?a.getParent("li"):a:this.get_options();if($type(a)!="element"){var c=(this.focused&&this.focused!=this.selected?this.focused:this.selected).retrieve("idx");b=b.filter(function(b){return!$(b).hasClass(this.options.disableClass)&&(a=="up"&&$(b).retrieve("idx")<c||a=="down"&&$(b).retrieve("idx")>c)},this);b=b[0]?(a=="up"?b.reverse():b)[0]:b}return b},over:function(a){a=new Event(a);var b=$(a.target).get("tag")!="li"?$(a.target).getParent("li"):$(a.target);if(!b.hasClass(this.options.disableClass)&&!b.hasClass("unselectable")){$type(this.focused)=="element"&&this.focused.removeClass(this.options.selectClass);(this.focused=b).addClass(this.options.selectClass);this.fireEvent("over")}},select:function(b){var a=$type(b)=="event"?(new Event(b)).target:b;a=this.determine(a);if(a&&!a.hasClass(this.options.disableClass)&&!a.hasClass("unselectable")){this.focused&&this.focused.removeClass(this.options.selectClass);if(this.showing===true){(this.focused=this.selected=a).addClass(this.options.selectClass);this.scroll()}else this.selected=a;this.element.set("value",this.selected.retrieve("value"));this.selectedIndex=this.selected.retrieve("idx");this.elementDisplay.set({html:this.selected.get("html"),"class":this.options.showStyles?this.selected.get("class"):""}).removeClass(this.options.selectClass).removeClass(this.options.altClass);this.fireEvent("select",this.selected)}},scroll:function(){var b=this.elementOptions.getCoordinates(),a=this.selected.getCoordinates(),c=this.elementOptions.scrollTop;if(c+b.height<a.top-b.top+5)this.elementOptions.scrollTop=a.top-b.top-b.height+a.height;else if(a.top-b.top+a.height<c+5)this.elementOptions.scrollTop=a.top-b.top},show:function(){var d=this.elementOptions.retrieve("coords"),a=this.elementSelect.getCoordinates(),c=a.top+a.height;if(this.container){c-=this.container.getStyle("top");a.left-=this.container.getStyle("left")}var e=window.getSize().y+window.getScroll().y-c,b=d.height>=e?0:"auto",f=0;if(d.height>=e){$each(this.get_options(),function(c){var a=c.retrieve("coords").height;if(b<e&&b+a<e){b+=a;f++}},this);if(f<this.options.minShow){b=a.top<d.height?a.top-10:d.height;c=a.top-b-1}}this.elementOptions.setStyles({display:"",height:200,top:c,left:a.left,margin:0});this.scroll();this.showing=true;this.focused=this.selected;this.focused.addClass(this.options.selectClass);this.fireEvent("show");this.options.useFx&&this.fx.start("opacity",0,1);this.elementDisplay.focus()},hide:function(){if(this.isCrolling){this.isCrolling=false;this.elementDisplay.focus()}else if(this.showing){if(this.options.useFx)this.fx.start("opacity",1,0).chain(function(){this.elementOptions.scrollTop=0;this.elementOptions.setStyle("display","none");this.focused&&this.focused.removeClass(this.options.selectClass);this.showing=this.focused=false}.bind(this));else{this.elementOptions.setStyle("display","none");this.focused&&this.focused.removeClass(this.options.selectClass);this.showing=this.focused=false}this.fireEvent("hide")}this.textSearch=""}})
