function LocationFields(_1,_2,_3,_4){
if(document.getElementById&&document.createElement&&document.appendChild&&document.createTextNode){
var _5=null;
var _6="",_7="";
this.nodes.city=document.createElement("select");
this.nodes.country=this.forceNode(!_1?"country":_1);
this.nodes.hiddenCity=this.forceNode(!_3?"city":_3);
this.nodes.hiddenRegion=this.forceNode(!_2?"region":_2);
this.nodes.region=document.createElement("select");
this.nodes.hiddenCity.style.display="none";
this.nodes.hiddenRegion.style.display="none";
_6=this.nodes.hiddenCity.id;
_7=this.nodes.hiddenRegion.id;
this.nodes.hiddenCity.id="";
this.nodes.hiddenRegion.id="";
this.nodes.city.id=_6;
this.nodes.region.id=_7;
this.selectedValues.country=this.nodes.country.options[this.nodes.country.options.selectedIndex].value;
this.selectedValues.region=this.nodes.hiddenRegion.value;
this.selectedValues.city=this.nodes.hiddenCity.value;
this.nodes.country.onchange=this.getCountryOnchangeFn(this);
this.nodes.region.onchange=this.getRegionOnchangeFn(this);
this.nodes.city.onchange=this.getCityOnchangeFn(this);
if(_4){
if(_4.lang){
this.lang=_4.lang;
}
if(_4.citySelectParent){
this.forceNode(_4.citySelectParent).appendChild(this.nodes.city);
}
if(_4.regionSelectParent){
this.forceNode(_4.regionSelectParent).appendChild(this.nodes.city);
}
}else{
this.lang=this.languages.en_us;
this.nodes.hiddenCity.parentNode.appendChild(this.nodes.city);
this.nodes.hiddenRegion.parentNode.appendChild(this.nodes.region);
}
if(this.selectedValues.country!==""){
this.fetchRegions();
}
}
}
LocationFields.prototype={fetchObjects:{region:null,city:null},lang:null,languages:{en_us:{selectCountryFirst:"...",selectCity:String.fromCharCode(8212)+" select city "+String.fromCharCode(8212),selectRegion:String.fromCharCode(8212)+" select state/region "+String.fromCharCode(8212),selectRegionFirst:"...",wait:"please wait..."}},selectedValues:{country:"",region:"",city:""},nodes:{city:null,country:null,hiddenRegion:null,hiddenCity:null,region:null},fetchCities:function(){
if(this.selectedValues.region!==""){
if(this.fetchObjects.city){
this.fetchObjects.city.transport.abort();
this.fetchObjects.city.transport=null;
}
this.fillOptions(this.nodes.city,[],[],"",this.lang.wait);
this.fetchObjects.city=ndg.fetch("/utilities/get_cities",{onComplete:this.getCityOnComleteFn(this),parameters:"country="+encodeURIComponent(this.selectedValues.country)+"&region="+encodeURIComponent(this.selectedValues.region)});
}
},fetchRegions:function(){
if(this.selectedValues.country!==""){
if(this.fetchObjects.region){
this.fetchObjects.region.transport.abort();
this.fetchObjects.region.transport=null;
}
this.fillOptions(this.nodes.region,[],[],"",this.lang.wait);
this.fillOptions(this.nodes.city,[],[],"",this.lang.selectRegionFirst);
this.fetchObjects.region=ndg.fetch("/utilities/get_regions",{onComplete:this.getRegionOnComleteFn(this),parameters:"country="+this.selectedValues.country});
}
},fillOptions:function(el,_9,_a,_b,_c){
var _d=null;
for(var j=el.options.length-1;j>-1;j--){
el.options[j]=null;
}
if(_c){
_d=document.createElement("option");
_d.value="";
_d.appendChild(document.createTextNode(_c));
el.appendChild(_d);
_d=null;
}
for(var i=0,end=_9.length;i<end;i++){
_d=document.createElement("option");
_d.value=_9[i];
_d.appendChild(document.createTextNode(!_a[i]?_9[i]:_a[i]));
el.appendChild(_d);
if(_9[i]===_b){
_d.selected=true;
el.options.selectedIndex=!_c?i:i+1;
this.storeSelectedValue(el.id,_b);
}
_d=null;
}
},forceNode:function(el){
return typeof (el)==="string"?document.getElementById(el):el;
},getCityOnchangeFn:function(x){
function doCityOnchange(){
x.storeSelectedValue(this.id,this.options[this.options.selectedIndex].value);
}
return doCityOnchange;
},getCityOnComleteFn:function(x){
function doCityOnComplete(_14){
if(ndg.ajaxType()==="mootools"){
_14=this.transport;
}
x.fillOptions(x.nodes.city,x.parseJSON(_14.responseText),[],x.selectedValues.city,x.lang.selectCity);
x.fetchingCities=false;
}
return doCityOnComplete;
},getCountryOnchangeFn:function(x){
function doCountryOnchange(){
x.storeSelectedValue(this.id,this.options[this.options.selectedIndex].value);
x.storeSelectedValue(x.nodes.region.id,"");
x.storeSelectedValue(x.nodes.city.id,"");
x.fetchRegions();
}
return doCountryOnchange;
},getRegionOnchangeFn:function(x){
function doRegionOnchange(){
x.storeSelectedValue(this.id,this.options[this.options.selectedIndex].value);
x.storeSelectedValue(x.nodes.city.id,"");
x.fetchCities();
}
return doRegionOnchange;
},getRegionOnComleteFn:function(x){
function doRegionOnComplete(_18){
if(ndg.ajaxType()==="mootools"){
_18=this.transport;
}
x.fillOptions(x.nodes.region,x.parseJSON(_18.responseText),[],x.selectedValues.region,x.lang.selectRegion);
x.fetchingRegions=false;
x.fetchCities();
}
return doRegionOnComplete;
},parseJSON:function(_19){
try{
return eval("("+_19+")");
}
catch(e){
return null;
}
},storeSelectedValue:function(id,_1b){
switch(id){
case this.nodes.country.id:
var opt=null;
for(var i=0,end=this.nodes.country.options.length;i<end;i++){
opt=this.nodes.country.options[i];
if(opt.value===_1b){
opt.selected=true;
this.nodes.country.options.selectedIndex=i;
}
}
this.selectedValues.country=_1b;
break;
case this.nodes.region.id:
this.nodes.hiddenRegion.value=_1b;
this.selectedValues.region=_1b;
break;
case this.nodes.city.id:
this.nodes.hiddenCity.value=_1b;
this.selectedValues.city=_1b;
break;
}
}};
ndg.disableFields=function(ids){
if(this.dom){
for(var i=0,end=ids.length;i<end;i++){
document.getElementById(ids[i]).disabled=true;
}
}
};
ndg.enableFields=function(ids){
if(this.dom){
for(var i=0,end=ids.length;i<end;i++){
document.getElementById(ids[i]).disabled=false;
}
}
};
ndg.focusField=function(id){
var _26=document.getElementById(id);
_26.focus();
if(_26.select){
_26.select();
}
};
ndg.getSelectedValue=function(id){
if(this.dom){
var sel=document.getElementById(id);
return sel.options[sel.selectedIndex].value;
}else{
return "";
}
};
ndg.getValidateSuccess=function(_29,_2a,_2b,_2c,_2d){
function doValidateSuccess(_2e,_2f){
if(ndg.ajaxType()==="mootools"){
_2f=eval("("+this.transport.getResponseHeader("X-JSON")+")");
}
ndg.showFieldInfo(_29.id,_2f.statusType,_2f.status,_2b,_2c,_2d);
}
return doValidateSuccess;
};
ndg.hideFieldInfo=function(_30,_31){
document.getElementById(_30+"Msg").style.display="none";
document.getElementById(_30+"Box").className="";
document.getElementById(_30+"Ind").innerHTML=(_31?"<img src=\""+m1_path+"images/icons/indicator_light.gif\" width=\"16\" height=\"16\" alt=\"Please wait...\">":"");
};
ndg.notBlank=function(_32,_33,_34,_35,_36){
if(this.dom){
var _37=_32.value===""?"error":"ok";
var _38=_33[_37];
this.showFieldInfo(_32.id,_37,_38,_34,_35,_36);
}
};
ndg.showFieldInfo=function(_39,_3a,_3b,_3c,_3d,_3e){
var _3f=document.getElementById(_39+"Box");
var _40=document.getElementById(_39+"Msg");
var _41=document.getElementById(_39+"Ind");
_3f.style.margin="0";
if(_3a==="ok"){
if(_3e){
_3f.className="successBlock";
_41.innerHTML=_3c?"OK":"";
if(_3d&&_3b!==""){
_40.innerHTML=_3b;
_40.style.display="block";
}else{
_40.innerHTML="";
}
}else{
this.hideFieldInfo(_39,false);
}
}else{
_3f.className="errorBlock";
_41.innerHTML="( ! )";
_40.innerHTML=_3b;
_40.style.display="block";
}
};
ndg.validateField=function(_42,_43,_44,_45,_46,_47,_48){
if(this.dom){
_45=this.empty(_45)?null:_45;
var _49=this.fetch(_43,{onComplete:this.getValidateSuccess(_42,_45,_46,_47,_48),parameters:_44+"="+encodeURIComponent(_42.value)});
this.hideFieldInfo(_42.id,true);
}
};

