VarienForm=Class.create();VarienForm.prototype={initialize:function(c,b){this.form=$(c);if(!this.form){return;}this.cache=$A();this.currLoader=false;this.currDataIndex=false;this.validator=new Validation(this.form);this.elementFocus=this.elementOnFocus.bindAsEventListener(this);this.elementBlur=this.elementOnBlur.bindAsEventListener(this);
this.childLoader=this.onChangeChildLoad.bindAsEventListener(this);this.highlightClass="highlight";this.extraChildParams="";this.firstFieldFocus=b||false;this.bindElements();if(this.firstFieldFocus){try{Form.Element.focus(Form.findFirstElement(this.form));}catch(a){}}},submit:function(a){if(this.validator&&this.validator.validate()){this.form.submit();
}return false;},bindElements:function(){var a=Form.getElements(this.form);for(var b in a){if(a[b].id){Event.observe(a[b],"focus",this.elementFocus);Event.observe(a[b],"blur",this.elementBlur);}}},elementOnFocus:function(b){var a=Event.findElement(b,"fieldset");if(a&&a.className){Element.addClassName(a,this.highlightClass);
}},elementOnBlur:function(b){var a=Event.findElement(b,"fieldset");if(a&&a.className){Element.removeClassName(a,this.highlightClass);}},setElementsRelation:function(a,d,b,c){if(a=$(a)){if(!this.cache[a.id]){this.cache[a.id]=$A();this.cache[a.id]["child"]=d;this.cache[a.id]["dataUrl"]=b;this.cache[a.id]["data"]=$A();
this.cache[a.id]["first"]=c||false;}Event.observe(a,"change",this.childLoader);}},onChangeChildLoad:function(a){element=Event.element(a);this.elementChildLoad(element);},elementChildLoad:function(a,b){this.callback=b||false;if(a.value){this.currLoader=a.id;this.currDataIndex=a.value;if(this.cache[a.id]["data"][a.value]){this.setDataToChild(this.cache[a.id]["data"][a.value]);
}else{new Ajax.Request(this.cache[this.currLoader]["dataUrl"],{method:"post",parameters:{"parent":a.value},onComplete:this.reloadChildren.bind(this)});}}},reloadChildren:function(transport){var data=eval("("+transport.responseText+")");this.cache[this.currLoader]["data"][this.currDataIndex]=data;this.setDataToChild(data);
},setDataToChild:function(c){if(c.length){var d=$(this.cache[this.currLoader]["child"]);if(d){var b='<select name="'+d.name+'" id="'+d.id+'" class="'+d.className+'" title="'+d.title+'" '+this.extraChildParams+">";if(this.cache[this.currLoader]["first"]){b+='<option value="">'+this.cache[this.currLoader]["first"]+"</option>";
}for(var a in c){if(c[a].value){b+='<option value="'+c[a].value+'"';if(d.value&&(d.value==c[a].value||d.value==c[a].label)){b+=" selected";}b+=">"+c[a].label+"</option>";}}b+="</select>";Element.insert(d,{before:b});Element.remove(d);}}else{var d=$(this.cache[this.currLoader]["child"]);if(d){var b='<input type="text" name="'+d.name+'" id="'+d.id+'" class="'+d.className+'" title="'+d.title+'" '+this.extraChildParams+">";
Element.insert(d,{before:b});Element.remove(d);}}this.bindElements();if(this.callback){this.callback();}}};RegionUpdater=Class.create();RegionUpdater.prototype={initialize:function(b,c,d,e,a){this.countryEl=$(b);this.regionTextEl=$(c);this.regionSelectEl=$(d);this.regions=e;this.disableAction=(typeof a=="undefined")?"hide":a;
if(this.regionSelectEl.options.length<=1){this.update();}Event.observe(this.countryEl,"change",this.update.bind(this));},update:function(){if(this.regions[this.countryEl.value]){var a,b,d,c;if(this.regionTextEl){c=this.regionTextEl.value.toLowerCase();this.regionTextEl.value="";}if(!c){c=this.regionSelectEl.getAttribute("defaultValue");
}this.regionSelectEl.options.length=1;for(regionId in this.regions[this.countryEl.value]){d=this.regions[this.countryEl.value][regionId];b=document.createElement("OPTION");b.value=regionId;b.text=d.name;if(this.regionSelectEl.options.add){this.regionSelectEl.options.add(b);}else{this.regionSelectEl.appendChild(b);
}if(regionId==c||d.name.toLowerCase()==c||d.code.toLowerCase()==c){this.regionSelectEl.value=regionId;}}if(this.disableAction=="hide"){if(this.regionTextEl){this.regionTextEl.style.display="none";}this.regionSelectEl.style.display="";}else{if(this.disableAction=="disable"){if(this.regionTextEl){this.regionTextEl.disabled=true;
}this.regionSelectEl.disabled=false;}}this.setMarkDisplay(this.regionSelectEl,true);}else{if(this.disableAction=="hide"){if(this.regionTextEl){this.regionTextEl.style.display="";}this.regionSelectEl.style.display="none";Validation.reset(this.regionSelectEl);}else{if(this.disableAction=="disable"){if(this.regionTextEl){this.regionTextEl.disabled=false;
}this.regionSelectEl.disabled=true;}else{if(this.disableAction=="nullify"){this.regionSelectEl.options.length=1;this.regionSelectEl.value="";this.regionSelectEl.selectedIndex=0;this.lastCountryId="";}}}this.setMarkDisplay(this.regionSelectEl,false);}},setMarkDisplay:function(b,c){if(b.parentNode){var a=Element.select(b.parentNode,".required");
if(a[0]){c?a[0].show():a[0].hide();}}}};