NBN.LocZoneSelectBox=new Class({indentifier:"StateZoneSelectBox",getOptions:function(){return{onLocSelected:Class.empty,onNoZoneSelected:Class.empty,onZoneSelected:Class.empty,cookieName:"nbn_zones",cookieOptions:null}},initialize:function(B,A,D,C){this.locEle=$(B);this.zoneEle=$(A);this.data=D;this.setOptions(this.getOptions(),C);this.initLocEle();this.initEvents();this.disableInputs()},initLocEle:function(){for(var A in this.data){zone=this.data[A];this.locEle.addSelectOption(A,A)}},initEvents:function(){this.locEle.addEvent("change",function(A){var B=this.locEle;if(B.selectedIndex!=0){this.selectedZones=this.data[B.options[B.selectedIndex].value];this.zoneEle.empty();this.zoneEle.addSelectOption(0,"Select a Local Shopping Area...");for(var C in this.selectedZones){this.zoneEle.addSelectOption(C,this.selectedZones[C].city+" - "+this.selectedZones[C].name)}this.zoneEle.disabled=false}else{this.disableInputs()}this.fireEvent("onLocSelected")}.bindWithEvent(this));this.zoneEle.addEvent("change",function(B){var A=this.zoneEle;if(A.selectedIndex==0){this.fireEvent("onNoZoneSelected")}else{this.optionValue=A.options[A.selectedIndex].value;this.zone=this.selectedZones[this.optionValue];this.fireEvent("onZoneSelected")}}.bindWithEvent(this))},disableInputs:function(){this.zoneEle.disabled=true},saveSelected:function(D){var B=this.options.cookieOptions||{duration:3650,path:"/",domain:"nearbynow.com"};var C=Cookie.get(this.options.cookieName);if(!C){Cookie.set(this.options.cookieName,D,B)}else{var A=C.split(",");if(A.getLast()==D){return }if(A.length>=10){A=A.slice(0,9)}A.push(D);Cookie.set(this.options.cookieName,A.join(","),B)}}});NBN.LocZoneSelectBox.implement(new Events);NBN.LocZoneSelectBox.implement(new Options);NBN.LocZoneSelectBox.implement(new Chain);