(function(){$.validator.addMethod("remoteAx",function(a,b,d){if(this.optional(b))return"dependency-mismatch";var c=$.data(b,"previousValue")||$.data(b,"previousValue",{old:null,valid:true,message:this.defaultMessage(b,"remoteAx")});this.settings.messages[b.name]||(this.settings.messages[b.name]={});c.originalMessage=this.settings.messages[b.name].remoteAx;this.settings.messages[b.name].remoteAx=c.message;d=typeof d=="string"&&{url:d}||d;d.url=d.url;if(c.old!==a){c.old=a;var f=this,h={};h.validateelement=
b.name;h[b.name]=a;$.ajax($.extend(true,{async:false,cache:false,port:"validate"+b.name,data:h,dataType:"json",success:function(e){var g="",i;if($.isFunction(d.parser))e=d.parser(b,e);if(typeof e=="object")for(prop in e)switch(prop){case "message":g=e[prop];break;case "result":i=e[prop];break}else{g=e;i=g==true}if(!i){e=c.message=g||f.defaultMessage(b,"remoteAx");f.settings.messages[b.name].remoteAx=$.isFunction(e)?e(a):e}return c.valid=i}},d))}return c.valid},"Please fix this field.");$.queryString=
function(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");a=RegExp("[\\?&]"+a+"=([^&#]*)").exec(window.location.href);return a==null?"":a[1]};$.extend({setStepData:function(a){$("input[name],select[name],span[name]",a).each(function(){var b=$(this),d=this.tagName.toLowerCase();if(d=="input")d=b.attr("type");var c=b.attr("name").split("_");if(c.length==2)switch(d.toLowerCase()){case "span":$(this).html(registration[c[0]][c[1]]);break;case "select":$("option[value="+registration[c[0]][c[1]]+"]",this).attr("selected",
"selected");break;case "checkbox":registration[c[0]][c[1]]?b.attr("checked","checked"):b.removeAttr("checked");break;case "radio":b.val()==registration[c[0]][c[1]]&&b.attr("checked","checked");break;case "text":if($(this).hasClass("hasDatepicker"))(b=registration[c[0]][c[1]])?$(this).datepicker("setDate",new Date(b)):$(this).val("");else $(this).val(registration[c[0]][c[1]])}})},getStepData:function(a){$("input[name],select[name]",a).each(function(){var b=$(this),d=this.tagName.toLowerCase()=="select"?
"select":b.attr("type"),c=b.attr("name").split("_");if(c.length==2)switch(d.toLowerCase()){case "select":registration[c[0]][c[1]]=$("option:selected",this).val();break;case "radio":if(b.is(":checked"))registration[c[0]][c[1]]=b.val();break;case "checkbox":registration[c[0]][c[1]]=b.is(":checked");break;case "text":registration[c[0]][c[1]]=b.hasClass("hasDatepicker")?$.datepicker.formatDate("yy-mm-dd",b.datepicker("getDate")):b.val()}})},setStepIndicator:function(a){$("#menu li.current").removeClass("current");
$("#menu li#step"+a+"li").addClass("current")}});$.fn.loading=function(a){switch(a){case "show":$(this).addClass("loading").prepend('<option class="loading" selected="selected">&nbsp;</option>').attr("disabled","disabled");break;case "hide":$(this).removeClass("loading").removeAttr("disabled").children(".loading").remove();break}};$(window).keydown(function(a){if(a.keyCode==13){a.preventDefault();return false}}).keyup(function(a){a.which==13&&$("div.stepcontainer:visible button.nextstep").click()});
$.ajaxSetup({async:true,cache:true,type:"POST",dataType:"json",url:"axhandler.ashx"})})(jQuery);var currentStep=1,queryDealer=$.queryString("dealeraccount"),zipcode=$.queryString("zipcode");$.validator.messages.required=messages.validator.required;$(document).ready(function(){var a;a=uiLang=="en-us"?$.datepicker.regional[""]:$.datepicker.regional[uiLang.indexOf("-")?uiLang.substr(0,3).toLowerCase()+uiLang.substr(3).toUpperCase():uiLang];$.datepicker.setDefaults(a)});if(!queryDealer||zipcode)showStep1();
$("#menu a").click(function(a){a.preventDefault();a=$("#menu li").index($("#menu li.current"));var b=$("#menu a").index(this);if(b<a||$("div.stepcontainer:visible form").valid())eval("showStep"+(b+1)+"()")});$("#formStepPre").validate({rules:{registerzipcode:{required:true,remoteAx:{url:"AxHandler.ashx",data:{classname:"B2CHandler",method:"validateConsumerZipcode",bike:{serialnumber:$.queryString("framenumber")},dealer:{account:$.queryString("dealeraccount")}}}}}});
$("#continue").click(function(){$.extend(true,registration,{bike:{serialnumber:$.queryString("framenumber")},dealer:{account:$.queryString("dealeraccount")},consumer:{zipcode:$("#zipcodecheck").val()}});if($("#formStepPre").valid())window.location=window.location+"&zipcode="+registration.consumer.zipcode});$("#formStep1").validate({errorContainer:"#step1erroritem, #step1errors",errorLabelContainer:"#step1errors",rules:{dealeraccount:{required:"#dealercity option:selected[value]"}}});
function showStep1(){$("div.stepcontainer:visible").hide();$.setStepData($("#step1"));$.setStepIndicator(1);$("#step1").show();$("#framenumber").focus()}function checkDealerAccount(){if($("#dealercity option:selected").val()&&$("#dealeraccount option").length>1){$("#dealeraccount").removeAttr("disabled");$("#dealeraccount option:selected").val()!=""&&$("#dealeraccount").focus()}else $("#dealeraccount").attr("disabled","disabled")}$("#dealercity").loading("show");
$.ajax({data:{classname:"B2CHandler",method:"cities",country:countryId},success:function(a){$.isEmptyObject(a)||$.each(a,function(b,d){var c=registration.dealer&&registration.dealer.city==b?" selected":"";$("#dealercity").append('<option value="'+b+'"'+c+">"+d+"</option>")})},complete:function(){$("#dealercity").loading("hide");$("#dealercity option").length<=1&&$("#dealercity").attr("disabled","disabled");$("#dealercity option:selected").val()==registration.dealer.city&&$("#dealercity").change()}});
checkDealerAccount();
$("#dealercity").change(function(){var a=$(this).val();$("#dealeraccount option:gt(0)").remove();$("#dealeraccount").loading("show");$.ajax({async:false,data:{classname:"B2CHandler",method:"dealers",country:countryId,city:a},success:function(b){if(!$.isEmptyObject(b)){dealers=[];var d=b.length;$.each(b,function(c,f){var h=d==1||registration.dealer&&registration.dealer.account==f.account?" selected":"";$("#dealeraccount").append('<option value="'+c+'"'+h+">"+f.name+" - "+f.street+"</option>");dealers[c]=
{account:f.account,name:f.name,street:f.street,address:$("<div/>").html(f.address).text()}})}},complete:function(){$("#dealeraccount").loading("hide");checkDealerAccount()}})}).keyup(function(a){if(a.which==13){$("#toStep2").focus();if($("#dealeraccount option:selected").val()==""){a.preventDefault();a.stopPropagation();$("#dealeraccount").focus()}}});$("#toStep2").click(function(){checkDealerAccount();if($("#formStep1").valid()){$("#step1").hide();showStep2()}});var keepAddress=false;
$.validator.addMethod("calendar",function(a,b){var d=false;d=/^\d{1,4}[-\/.]\d{1,4}[-\/.]\d{1,4}$/;if(a.length>=8&&d.test(a)){d=$.datepicker._defaults.dateFormat;var c=d.match(/[-\/.]/),f=null;try{f=$.datepicker.parseDate(d,a.replace(/\D/g,c[0]))}catch(h){}d=f&&f<new Date?true:false}else d=false;return this.optional(b)||d},messages.validator.calendar);
$("#formStep2").validate({errorContainer:"#step2erroritem, #step2errors",errorLabelContainer:"#step2errors",groups:{modelcolour:"bike_modelname bike_colour",consumername:"consumer_firstname consumer_lastname",consumerstreet:"consumer_streetname consumer_streetnumber",consumerzipcode:"consumer_zipcode consumer_city",consumerstate:"consumer_state consumer_country"},messages:{zipcodecheck:messages.validator.zipcodecheck,bike_modelname:messages.validator.bike_modelname,bike_colour:messages.validator.bike_colour,
consumer_title:messages.validator.consumer_title,consumer_firstname:messages.validator.consumer_firstname,consumer_lastname:messages.validator.consumer_lastname,consumer_streetname:messages.validator.consumer_streetname,consumer_streetnumber:messages.validator.consumer_streetnumber,consumer_zipcode:messages.validator.consumer_zipcode,consumer_city:messages.validator.consumer_city,consumer_state:messages.validator.consumer_state,consumer_country:messages.validator.consumer_country,consumer_email:messages.validator.consumer_email,
consumer_buydate:messages.validator.consumer_buydate}});function checkCountry(){$("#consumerstaterow").toggle($("#country option:selected").attr("usestate")=="true")}$("#country").change(function(){checkCountry()});
function showStep2(){$("div.stepcontainer:visible").hide();$("#formStep2").validate().resetForm();$.extend(true,registration,{bike:{serialnumber:$("#framenumber").val()},dealer:dealers[$("#dealeraccount").val()]});var a=$.ajax({async:false,data:$.extend({classname:"B2CHandler",method:"checkRegistration"},registration)});$.extend(true,registration,$.parseJSON(a.responseText));$("#step2 span.dateformat").html($.datepicker._defaults.dateFormat);a="";a=registration.consumer&&registration.consumer.buydate?
messages.step2.headerprereg:registration.modelname?messages.step2.header:messages.step2.headerunknown;$("#step2header").html(a);if(registration.bike.custommodel===true||!registration.bike.modelname){registration.bike.custommodel=true;$("#bikemodelname").html('<input id="modelname" name="bike_modelname" type="text" class="required"/>')}else $("#bikemodelname").html('<span name="bike_modelname"></span>');if(registration.bike.customcolour===true||!registration.bike.colour){registration.bike.customcolour=
true;$("#bikecolour").html('<input id="colour" name="bike_colour" type="text" class="required"/>')}else $("#bikecolour").html('<span name="bike_colour"></span>');$.setStepData($("#step2"));$.setStepIndicator(2);checkCountry();$("#step2").show();$("#title0").focus()}$("#formStep2 tr.addressrow :input").change(function(){if(keepAddress)keepAddress=false});
$("#city").bind("blur keyup",function(a){if(a.type=="blur"||a.type=="keyup"&&a.keyCode=="13"){a.preventDefault();keepAddress=false;if($("#country option:selected").val()!=""&&$("#zipcode:text").val()!=""&&$("#streetnumber:text").val()!=""){$.getStepData($("#step2"));validateAddress()}}});
$("#birthdate,#buydate").keyup(function(){if($(this).val().match(/\D/g)){var a=$.datepicker._defaults.dateFormat.match(/[-\/.]/);$(this).val($(this).val().replace(/\D/g,a[0]))}}).datepicker({constrainInput:false,showOn:"button",buttonImage:"images/WebForm_calendar.gif",buttonImageOnly:true,gotoCurrent:true,maxDate:new Date,onClose:function(){$(this).valid()}});
function validateAddress(){if(keepAddress)return true;var a=$("div.stepcontainer:visible"),b={street:$("input[name=consumer_street]",a).val(),housenumber:$("input[name=consumer_streetnumber]",a).val(),postalcode:$("input[name=consumer_zipcode]",a).val(),locality:$("input[name=consumer_city]",a).val(),state:$("input[name=consumer_state]",a).val(),country:$("select[name=consumer_country] option:selected",a).val()};b=$.ajax({async:false,cache:false,data:$.extend({classname:"AddressHandler",method:"validate"},
b)});var d=$.parseJSON(b.responseText),c=d&&d.results?d.results.length:0;switch(c){case 1:$("input[name=consumer_street]",a).val(d.results[0].street);$("input[name=consumer_streetnumber]",a).val(d.results[0].housenumber);$("input[name=consumer_zipcode]",a).val(d.results[0].postalcode);$("input[name=consumer_city]",a).val(d.results[0].locality);$("input[name=consumer_state]",a).val(d.results[0].province);$("select[name=consumer_country]",a).val(d.results[0].country);return true;default:$.setStepData($("#checkAddress"));
$("#checkAddress th").empty().html(c==0?messages.step2.address.headernotfound:messages.step2.address.headermultiple);$("#checkAddress button[name=keep]").toggle(c>0);$("#checkAddress div.right").toggle(c>0);$("#leftbuttons").toggle(c==0);var f="";b=0;if(c>0){$("#checkAddress").data("address",d.results);b=d?Math.ceil(d.results.length/5):0;if(b>0){var h=1;$.each(d.results,function(e,g){f+='<tr name="page'+h+'"'+(h>1?'style="display:none"':"")+'"><td><input type="radio" name="selectAddress" value="'+
e+'"'+(e==0?' class="required"':"")+"/>"+e+")</td><td>"+g.street+" "+g.housenumber+"<br/>"+g.postalcode+", "+g.locality+"<br/>"+g.province+"</td></tr>";e+1==h*5&&h++});d="";for(c=1;c<=b;c++){d+=d?", ":"";d+='<a href="javascript:void()" name="page'+c+'">'+c+"</a>"}$("span[name=pages]").empty().html(d);$("span[name=pages] a").click(function(){$("#checkAddress tr[name^=page]").hide();$("#checkAddress tr[name="+this.name+"]").show()})}}$("#addresslist table tbody").empty().html(f);$("#checkAddress button").click(function(){switch(this.name){case "select":var e=
$("#checkAddress").data("address");if(e&&e.length>0){var g=$("#checkAddress [name=selectAddress]:checked").val();e=e[g];$("input[name=consumer_street]",a).val(e.street);$("input[name=consumer_streetnumber]",a).val(e.housenumber);$("input[name=consumer_zipcode]",a).val(e.postalcode);$("input[name=consumer_city]",a).val(e.locality);$("input[name=consumer_state]",a).val(e.province);$("select[name=consumer_country] option:selected").removeAttr("selected");$("select[name=consumer_country] option[value="+
e.country+"]",a).attr("selected","selected")}keepAddress=true;$("#checkAddress").hide();$("#formStep2").show();$("#toStep3").click();break;case "back":$("#checkAddress").hide();$("#formStep2").show();break;case "keep":keepAddress=true;$("#checkAddress").hide();$("#formStep2").show();$("#toStep3").click();break}});$("#formStep2").hide();$("#checkAddress").show();break}return false}
$("#toStep3").click(function(){$.getStepData($("#step2"));if(validateAddress()&&$("#formStep2").valid()){$("#step2").hide();showStep3()}});$("#toStep1").click(function(){$.getStepData($("#step2"));showStep1()});$("#formStep3").validate({messages:{privacy:messages.validator.privacy}});function showStep3(){$("div.stepcontainer:visible").hide();$.setStepData($("#step3"));$.setStepIndicator(3);$("#step3").show()}
$("#register").click(function(){if($("#formStep3").valid()){$.getStepData($("#step3"));$("#step3").hide();showStep4()}});function showStep4(){$("div.stepcontainer:visible").hide();$.ajax({async:false,data:{classname:"B2CHandler",method:"register",register:registration}});$.setStepIndicator(4);$("#step4").show()}$("#newbike").click(function(a){a.preventDefault();registration.bike={};registration.consumer.buydate="";$("#step4").hide();showStep1()});

