var serviceItems=new Array(),serviceDatePadding=0,$SelectMake,$SelectModel,$Year;$(document).ready(function(){serviceDatePadding=$("#ServiceDatePadding").val();$SelectMake=$("#SelectMake");$SelectModel=$("#SelectModel");$Year=$("#ModelYear");var d=function(o,l,n,m){var j=$("#Form").find(o),h=true,k=false;if($(j)!=null){if(($(j).val()=="")||($(j).val()=="default")||($("label[for="+o.replace("#","")+"]").text()==$(j).val())){h=false}if(h&&n!=null&&n!=undefined&&n!=""){switch(n){case"phone":h=isValidPhoneNumber($(j).val());break;case"email":h=isValidEmailAddress($(j).val());break;case"zip":h=isValidZipCode($(j).val());break}k=!h}}if(!h){nextStep=false;if(k){errorMsg.push({field:o,error:m})}else{errorMsg.push({field:o,error:l})}$(j).addClass("error")}};$(".service-scheduler-step").formSteps(function(){nextStep=true;errorMsg=new Array();$(this).find("input, select").removeClass("error");var j=$(this).attr("id");switch(j){case"step-1":d("#ModelYear","Please Select a Year");d("#SelectMake","Please Select a Make");d("#SelectModel","Please Select a Model");d("#Mileage","Please Enter Mileage");break;case"step-2":if(serviceItems.length==0){d("#AdditionalServices","Please Select One or More Service Items or enter Additional Services")}break;case"step-3":d("#FullName","Please Enter Your Full Name");d("#Phone","Please Enter Your Phone Number","phone","Please Enter a Valid Phone Number");d("#Email","Please Enter Your Email","email","Please Enter a Valid Email");d("#ZipCode","Please Enter Your Zip Code","zip","Please Enter a Valid Zip Code");d('input[name="BestDate"]',"Please Select a Date");d('select[name="BestTime"]',"Please Select a Time");break;case"step-4":d("#AdvisorId","Please Select a Service Advisor");break}if(!nextStep){for(var o=0;o<errorMsg.length;o++){$(errorMsg[o].field).attr("title",errorMsg[o].error)}}if($(this).find("a.next").hasClass("last")&&(nextStep)){$("#ServiceItems").val(compileServiceItems());var q=$(this).parents("form:first");var h=q.clone();var p=$(q).find("select");var k=$(q).find("textarea");var l=$(q).find("input:radio");h.find("select").each(function(r){$("option",this)[p[r].selectedIndex].selected=true});h.find("textarea").each(function(r){$(this).val(k.eq(r).val())});h.find("input:radio").each(function(r){$(this).val(l.eq(r).val());$(this).attr("checked",l.eq(r).attr("checked"));$(this).attr("advisorName",l.eq(r).attr("advisorName"))});h.find("#Advisor").val(h.find("input:radio:checked").attr("advisorName"));h.removeFormDefaults();var n=f(h.serializeArray());n=n;var m="Forms/ConversionHandler.ashx";$.ajax({url:m,data:n,type:"Post",dataType:"text",complete:function(v,r){if(r=="success"){var t=window.location.href;t=t.substr(0,t.lastIndexOf("/"));var s=$(createXMLDocument(v.responseText));if(s.length>0){if(s.find("conversionResponse").attr("status")=="fail"){var x="";var A=s.find("errors error");$(A).each(function(){var B=$(this).attr("fieldName");errorMsg.push({field:B,error:$(this).text()})});for(var y=0;y<errorMsg.length;y++){var u=$(q).find("#"+errorMsg[y].field);if(u.length>0){$(u).attr("title",errorMsg[y].error);$(u).addClass("error")}else{var w=$("#"+j).find("a.last");$(w).addClass("error");$(w).attr("title",errorMsg[y].error)}nextStep=false}g();if(errorMsg.length>0){var z=$("#Form .error:first").parents("div.section:first");if(z.length>0){$("div.section[id]").hide();z.show()}}}else{cid=s.find("ConversionId").text();t+="/Confirmation.aspx?cid="+cid;window.location.href=t}}else{alert("Error parsing confirmation")}}else{alert("Error submitting form")}}});return false}g();return nextStep},function(h){$(".layout-service-scheduler").find("a.next").closeCallout();errorMsg=new Array();$(".layout-service-scheduler").find("input, select").removeClass("error");return true});var g=function(){$("form.servicescheduler *[title]").tooltip({position:"center right",offset:[-2,10],effect:"fade",opacity:0.9,tip:".tooltip",relative:true,predelay:500,onBeforeShow:function(){var h=this.getTrigger();var j=this.getTip();if(h.hasClass("error")){j.addClass("errortooltip");j.removeClass("tooltip")}else{j.addClass("tooltip");j.removeClass("errortooltip")}}})};function a(j,k){if(j&&k){for(var h=0;h<j.length;h++){if(j[h].name==k){return h}}}return -1}function c(j,h){return(a(j,h)>-1)}function b(j){if(!c(j,"CustomerId")){j.push({name:"CustomerId",value:$("#CustomerId").val()})}if(!c(j,"RootPath")){j.push({name:"RootPath",value:window.location.href})}var h=a(j,"DepartmentId");if(h<0){j.push({name:"DepartmentId",value:"17"})}else{j[h].value="17"}}function f(j){b(j);var h="<Form>";if(j&&(j.length>0)){for(i=0;i<j.length;i++){h+="<"+j[i].name+">"+escape(j[i].value)+"</"+j[i].name+">"}}h+="</Form>";h="pageName="+$("#WebPageName").val()+"&inputForm="+h;return h}function e(h){var k=h.indexOf("<Confirmation ");var l=h.indexOf("</Confirmation>",k);if((k<0)||(l<0)){return""}l=l+15;var j=h.slice(k,l);return j}$("label[for=ModelYear],label[for=WaitOrDropOff],label[for=Rental]").labelsToDefaultValues(true);$Year.bind("change",function(h){$(this).children("option[value='']").remove();var j=$SelectMake.find("option[class=default-make]");$SelectMake.removeAttr("disabled");if(j!=null){$SelectMake.children("option[value='']").remove();$SelectMake.find("option[selected=selected]").removeAttr("selected");j.attr("selected","selected");$("#Make").val(j.text());loadModels($SelectModel,$SelectMake.val())}});$SelectMake.bind("change",function(h){$(this).children("option[value='']").remove();$("#Make").val($(this).children("option:selected").text());loadModels($SelectModel,$(this).val())});$SelectModel.bind("change",function(h){$(this).children("option[value='']").remove();$("#Model").val($(this).children("option:selected").text())});$("#step-1 a.next").click(function(h){loadServiceItems($("#serviceItemsList"),$SelectModel.val())});$("textarea").html("");$Year.val("");$SelectMake.val("");$SelectModel.val("");$("#WaitOrDropOff").val("");$("#Rental").val("");$("div.link-list h4").addClass("h6")});var loadModels=function(a,b){a.children("option[value != '']").remove();var c="XMLCache/DataHandler.aspx?Page=ServiceSchedulerModelList&c="+customerId+"&k="+b;$.get(c,null,function(h,f){var g="",d,e;$(h).find("Models Model").each(function(){d=$(this).attr("serviceModelId"),e=$(this).attr("modelId");if(d!=null){g+='<option value="'+d+'">'+$(this).attr("model")+"</option>"}else{if(e!=null){g+='<option value="'+e+'">'+$(this).attr("model")+"</option>"}}});if(g!=""){a.removeAttr("disabled");a.append(g)}else{a.append('<option value="-1">No Models Found</option>')}},"xml")};var loadServiceItems=function(b,c){var a=$("#serviceItemsServiceModelId"),d=a.val();if(d!=c){a.val(c);var e="XMLCache/DataHandler.aspx?Page=ServiceSchedulerServiceItems&c="+customerId+"&d="+c;$.get(e,null,function(h,m){var j="",n,f=1,p=$("#Mileage").val(),k=0,q=0,g=0,r=0,o=0,l="";$(h).find("Services Service").each(function(){n=$(this).attr("serviceId");k=$(this).attr("startMiles");q=$(this).attr("endMiles");g=$(this).attr("hours");r=$(this).attr("price");o=$(this).attr("title");l=n+"|"+g+"|"+r+"|"+o;if((Number(k)==0&&Number(q)==0)||(Number(p)>=Number(k)&&Number(q)==0)||(Number(p)>=Number(k)&&Number(p)<=Number(q))){j+='<dt><label><input type="checkbox" id="service-'+f+'" value="'+n+'" class="service-item" /><strong>'+$(this).attr("title");if($(this).attr("price")>0){j+=" - $"+$(this).attr("price")}j+="</strong></label></dt>";j+='<dd><label for="service-'+f+'">'+$(this).find("Description").text()+'</label><input id="'+n+'Data" type="hidden" value="'+l+'"/></dd>';f++}});b.html(j);b.find("input[type=checkbox]").click(function(){servicecheck(this)})},"xml")}};var servicecheck=function(b){b=$(b);var e=b.val();if(b.attr("checked")){serviceItems.push(e)}else{var a=false;var d=-1;var c=0;$(serviceItems).each(function(){if(e==this){a=true;d=c}c++});if(a){serviceItems.remove(d)}}};var compileServiceItems=function(){var b="";for(var a=0;a<serviceItems.length;a++){b+=$("#"+serviceItems[a]+"Data").val()+";"}return escape(b.substring(b.lastIndexOf(";"),1))};var checkServiceHours=function(b){var a=b.getDay(),c=$("#dayOfWeek"+a).val();if(a==0&&(c==null||c==undefined)){c=$("#dayOfWeek"+7).val()}if(c!=null&&c!=undefined&&c==0){return[false,"","This date is unavailable"]}else{return[true,"",""]}};
/* @end Service Scheduler */
