1VarienForm=Class.create();VarienForm.prototype={initialize:function(formId,firstFieldFocus){this.form=$(formId);if(!this.form){return;} 2this.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=firstFieldFocus||false;this.bindElements();if(this.firstFieldFocus){try{Form.Element.focus(Form.findFirstElement(this.form))} 3catch(e){}}},submit:function(url){if(this.validator&&this.validator.validate()){this.form.submit();} 4return false;},bindElements:function(){var elements=Form.getElements(this.form);for(var row in elements){if(elements[row].id){Event.observe(elements[row],'focus',this.elementFocus);Event.observe(elements[row],'blur',this.elementBlur);}}},elementOnFocus:function(event){var element=Event.findElement(event,'fieldset');if(element){Element.addClassName(element,this.highlightClass);}},elementOnBlur:function(event){var element=Event.findElement(event,'fieldset');if(element){Element.removeClassName(element,this.highlightClass);}},setElementsRelation:function(parent,child,dataUrl,first){if(parent=$(parent)){if(!this.cache[parent.id]){this.cache[parent.id]=$A();this.cache[parent.id]['child']=child;this.cache[parent.id]['dataUrl']=dataUrl;this.cache[parent.id]['data']=$A();this.cache[parent.id]['first']=first||false;} 5Event.observe(parent,'change',this.childLoader);}},onChangeChildLoad:function(event){element=Event.element(event);this.elementChildLoad(element);},elementChildLoad:function(element,callback){this.callback=callback||false;if(element.value){this.currLoader=element.id;this.currDataIndex=element.value;if(this.cache[element.id]['data'][element.value]){this.setDataToChild(this.cache[element.id]['data'][element.value]);} 6else{new Ajax.Request(this.cache[this.currLoader]['dataUrl'],{method:'post',parameters:{"parent":element.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(data){if(data.length){var child=$(this.cache[this.currLoader]['child']);if(child){var html='<select name="'+child.name+'" id="'+child.id+'" class="'+child.className+'" title="'+child.title+'" '+this.extraChildParams+'>';if(this.cache[this.currLoader]['first']){html+='<option value="">'+this.cache[this.currLoader]['first']+'</option>';} 7for(var i in data){if(data[i].value){html+='<option value="'+data[i].value+'"';if(child.value&&(child.value==data[i].value||child.value==data[i].label)){html+=' selected';} 8html+='>'+data[i].label+'</option>';}} 9html+='</select>';Element.insert(child,{before:html});Element.remove(child);}} 10else{var child=$(this.cache[this.currLoader]['child']);if(child){var html='<input type="text" name="'+child.name+'" id="'+child.id+'" class="'+child.className+'" title="'+child.title+'" '+this.extraChildParams+'>';Element.insert(child,{before:html});Element.remove(child);}} 11this.bindElements();if(this.callback){this.callback();}}} 12RegionUpdater=Class.create();RegionUpdater.prototype={initialize:function(countryEl,regionTextEl,regionSelectEl,regions,disableAction,zipEl) 13{this.countryEl=$(countryEl);this.regionTextEl=$(regionTextEl);this.regionSelectEl=$(regionSelectEl);this.zipEl=$(zipEl);this.config=regions['config'];delete regions.config;this.regions=regions;this.disableAction=(typeof disableAction=='undefined')?'hide':disableAction;this.zipOptions=(typeof zipOptions=='undefined')?false:zipOptions;if(this.regionSelectEl.options.length<=1){this.update();} 14Event.observe(this.countryEl,'change',this.update.bind(this));},_checkRegionRequired:function() 15{var label,wildCard;var elements=[this.regionTextEl,this.regionSelectEl];var that=this;if(typeof this.config=='undefined'){return;} 16var regionRequired=this.config.regions_required.indexOf(this.countryEl.value)>=0;elements.each(function(currentElement){Validation.reset(currentElement);label=$$('label[for="'+currentElement.id+'"]')[0];if(label){wildCard=label.down('em')||label.down('span.required');if(!that.config.show_all_regions){if(regionRequired){label.up().show();}else{label.up().hide();}}} 17if(label&&wildCard){if(!regionRequired){wildCard.hide();if(label.hasClassName('required')){label.removeClassName('required');}}else if(regionRequired){wildCard.show();if(!label.hasClassName('required')){label.addClassName('required')}}} 18if(!regionRequired){if(currentElement.hasClassName('required-entry')){currentElement.removeClassName('required-entry');} 19if('select'==currentElement.tagName.toLowerCase()&¤tElement.hasClassName('validate-select')){currentElement.removeClassName('validate-select');}}else{if(!currentElement.hasClassName('required-entry')){currentElement.addClassName('required-entry');} 20if('select'==currentElement.tagName.toLowerCase()&&!currentElement.hasClassName('validate-select')){currentElement.addClassName('validate-select');}}});},update:function() 21{if(this.regions[this.countryEl.value]){var i,option,region,def;def=this.regionSelectEl.getAttribute('defaultValue');
21if(this.regionTextEl){if(!def){def=this.regionTextEl.value.toLowerCase();} 22this.regionTextEl.value='';} 23this.regionSelectEl.options.length=1;for(regionId in this.regions[this.countryEl.value]){region=this.regions[this.countryEl.value][regionId];option=document.createElement('OPTION');option.value=regionId;option.text=region.name.stripTags();option.title=region.name;if(this.regionSelectEl.options.add){this.regionSelectEl.options.add(option);}else{this.regionSelectEl.appendChild(option);} 24if(regionId==def||(region.name&®ion.name.toLowerCase()==def)||(region.name&®ion.code.toLowerCase()==def)){this.regionSelectEl.value=regionId;}} 25if(this.disableAction=='hide'){if(this.regionTextEl){this.regionTextEl.style.display='none';} 26this.regionSelectEl.style.display='';}else if(this.disableAction=='disable'){if(this.regionTextEl){this.regionTextEl.disabled=true;} 27this.regionSelectEl.disabled=false;} 28this.setMarkDisplay(this.regionSelectEl,true);}else{this.regionSelectEl.options.length=1;if(this.disableAction=='hide'){if(this.regionTextEl){this.regionTextEl.style.display='';} 29this.regionSelectEl.style.display='none';Validation.reset(this.regionSelectEl);}else if(this.disableAction=='disable'){if(this.regionTextEl){this.regionTextEl.disabled=false;} 30this.regionSelectEl.disabled=true;}else if(this.disableAction=='nullify'){this.regionSelectEl.options.length=1;this.regionSelectEl.value='';this.regionSelectEl.selectedIndex=0;this.lastCountryId='';} 31this.setMarkDisplay(this.regionSelectEl,false);} 32this._checkRegionRequired();var zipUpdater=new ZipUpdater(this.countryEl.value,this.zipEl);zipUpdater.update();},setMarkDisplay:function(elem,display){elem=$(elem);var labelElement=elem.up(0).down('label > span.required')||elem.up(1).down('label > span.required')||elem.up(0).down('label.required > em')||elem.up(1).down('label.required > em');if(labelElement){inputElement=labelElement.up().next('input');if(display){labelElement.show();if(inputElement){inputElement.addClassName('required-entry');}}else{labelElement.hide();if(inputElement){inputElement.removeClassName('required-entry');}}}}} 33ZipUpdater=Class.create();ZipUpdater.prototype={initialize:function(country,zipElement) 34{this.country=country;this.zipElement=$(zipElement);},update:function() 35{if(typeof optionalZipCountries=='undefined'){return false;} 36if(this.zipElement!=undefined){Validation.reset(this.zipElement) 37this._setPostcodeOptional();}else{Event.observe(window,"load",this._setPostcodeOptional.bind(this));}},_setPostcodeOptional:function() 38{this.zipElement=$(this.zipElement);if(this.zipElement==undefined){return false;} 39var label=$$('label[for="'+this.zipElement.id+'"]')[0];if(label!=undefined){var wildCard=label.down('em')||label.down('span.required');} 40if(optionalZipCountries.indexOf(this.country)!=-1){while(this.zipElement.hasClassName('required-entry')){this.zipElement.removeClassName('required-entry');} 41if(wildCard!=undefined){wildCard.hide();}}else{this.zipElement.addClassName('required-entry');if(wildCard!=undefined){wildCard.show();}}}}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.