
Panagora.CustomerRegister=new(Panagora.Class.create(function CustomerRegister(){var self=this;function init(){self.log('initializing country/register page logic');$j('#register-country').change(onCountryChanged);$j('button.add-address-line').click(onAddAddressLineClick);initRegionSelector($j('#register-country').val(),true);if($j('#register-address-line3').val()!='')
$j('button.add-address-line').click();else if($j('#register-address-line2').val()!='')
$j('button.add-address-line').filter(function(){return $j(this).prev('input').is('#register-address-line1');}).click();$j('#register').validate({submitHandler:onFormSubmit,rules:{firstName:'required',lastName:'required',emailAddress:{required:true,email:true,remote:{type:'post',url:'checkemailavailability'}},password:'required',passwordRepeat:{equalTo:'#register-password'},addressLine2:{required:function(){var line3=$j('#register-address-line3');return line3.is(':visible')&&line3.val()!='';}},postalCode:{required:function(){return $j('#register-address-line2').val()!='';}},city:{required:function(){return $j('#register-address-line2').val()!='';}},country:'required',region:{required:function(){return $j('#register-region-row').is(':visible');}},termsaccepted:'required'},messages:{emailAddress:{remote:$j.validator.messages.emailAddressNotAvailable}},errorPlacement:function(error,element){if(element.attr('type')=='radio'){error.appendTo(element.closest('p'));}else if(element.attr('type')=='checkbox'){$j('#please-accept-terms').show();}else{error.insertAfter(element);}},unhighlight:function(element,errorClass){$j(element).removeClass(errorClass);if(element==$j('#confirm-acceptance-of-terms').get(0)){$j('#please-accept-terms').hide();}}});}
function onCountryChanged(){self.log('country changed');initRegionSelector(this.value);}
function initRegionSelector(countryCode,skipRegionSwitch){if($j('#register-region option.'+countryCode).length){$j('#register-region-row').show();$j('#register-region option').hide();$j('#register-region option.'+countryCode).show();if(!skipRegionSwitch)
$j('#register-region').val($j('#register-region option.'+countryCode).get(0).value);}else{$j('#register-region-row').hide();}}
function onAddAddressLineClick(){self.log('address line requested');$j(this).hide().next('p.additional-address-line').show();}
function onFormSubmit(form){form.action='';form.submit();}
$j(init);}))();