var Location=new Class({Implements:Options,options:{moContinent:null,moCountry:null,moRegion:null,msCountry:"",miRegion:"",onChange:false},initialize:function(b){this.setOptions(b);this.build()},build:function(){if(this.options.onChange===false)this.options.onChange=function(){};var b=true;$A(["moContinent","moCountry","moRegion"]).each(function(a){$(this.options[a])||(b=false);this.options[a]=$(this.options[a])},this);if(b!==false){this.options.moCountry.addEvent("change",function(a){this.getRegions(a.target.get("value"));
this.options.onChange(a)}.bind(this));this.options.moContinent.addEvent("change",function(a){this.getCountries(a.target.get("value"));this.options.onChange(a)}.bind(this));this.options.moRegion.addEvent("change",this.options.onChange)}},getCountries:function(b){(o_req=new Request.JSON({method:"post",url:"/ajax/location/getcountriesbycontinent/",data:$H({continent:b}).toQueryString(),onComplete:this.handleResponse.bind(this)})).send()},getRegions:function(b){(new Request.JSON({method:"post",url:"/ajax/location/getregionsbycountry/",
data:$H({country:b}).toQueryString(),onComplete:this.handleResponse.bind(this)})).send()},handleResponse:function(b){if(!($type(b)===false||b.result!="ok"))switch(b.data.type){case "countries":this.options.moCountry.empty();(new Element("option",{value:"",text:"---"})).inject(this.options.moCountry);$A(b.data.items).each(function(a){(new Element("option",{value:a.value,text:a.key,selected:a.value==this.options.msCountry?"selected":""})).inject(this.options.moCountry)},this);this.getRegions(this.options.moCountry.get("value"));
break;case "regions":this.options.moRegion.empty();(new Element("option",{value:"",text:"---"})).inject(this.options.moRegion);$A(b.data.items).each(function(a){(new Element("option",{value:a.value,text:a.key,selected:a.value==this.options.miRegion?"selected":""})).inject(this.options.moRegion)},this);break}}});

