var redoClick=!1;$("body").find('[data-widget-url="openWizardModal"]').length&&($("body").find('[data-widget-url="openWizardModal"]').removeAttr("href").removeAttr("onclick"),redoClick=!0,$("body").find('[data-widget-url="openWizardModal"]').click((function(event){event.preventDefault(),$("#wizardModal").modal("show")}))),$("body").find('[data-url="openWizardModal"]').length&&($("body").find('[data-url="openWizardModal"]').removeAttr("href").removeAttr("onclick"),$("body").find('[data-url="openWizardModal"]').click((function(event){event.preventDefault(),$("#wizardModal").modal("show")}))),$("body").find('a[href="openWizardModal"]').length&&$("body").find('a[href="openWizardModal"]').each((function(i,e){$(e).removeAttr("href"),$(e).click((function(event){event.preventDefault(),$("#wizardModal").modal("show")}))}));var isMobile=!1;$("body").width()<768&&(isMobile=!0,console.log("isMobile "+isMobile));var wizardActiveStep=0,wizardStepsCompleted=[],wizard={init:function(){var wizardPopup="";$("form#projectWizard").length||(wizardPopup='\t\t\t\x3c!-- Modal --\x3e\t\t\t<div class="modal fade" id="wizardModal" tabindex="-1" role="dialog" aria-hidden="true">\t\t\t\t<div class="modal-dialog modal-full" role="document">\t\t\t\t\t<div class="modal-content">\t\t\t\t\t\t<div class="modal-body py-0 px-0">\t\t\t\t\t\t\t<form id="projectWizard" class="customForm" data-filename="wizard-cdc-data-sample" data-location="master" enctype="multipart/form-data">\t\t\t\t\t\t\t\t<button type="button" class="btn-close close" data-bs-dismiss="modal" aria-label="Close"></button>\t\t\t\t\t\t\t\t<div id="projectWizardTimeline" class="max-width-700"></div>\t\t\t\t\t\t\t\t<div id="projectWrap" class="">\t\t\t\t\t\t\t\t\t\x3c!-- APPEND HERE --\x3e\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div id="wizardNav" class="max-width-700">\t\t\t\t\t\t\t\t\t<div class="w-100">\t\t\t\t\t\t\t\t\t\t<button class="btn-back inactive"><span><i class="hyperion-chevron-left"></i>Go back</span></button>\t\t\t\t\t\t\t\t\t\t<button class="btn-next"><span>Continue<i class="hyperion-chevron-right"></i></span></button>\t\t\t\t\t\t\t\t\t\t<button type="submit" class="btn-submit hide"><span>submit<i class="hyperion-check"></i></span></button>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</form>\t\t\t\t\t\t\t<input name="formName" id="formName" type="hidden" value="Custom Design Project">\t\t\t\t\t\t\t<input name="formCustomerSubject" id="formCustomerSubject" type="hidden" value="Your Custom Project">\t\t\t\t\t\t\t<input name="formRetailerSubject" id="formRetailerSubject" type="hidden" value="New Custom Design Project">\t\t\t\t\t\t</div>\t\t\t\t\t\t<div class="modal-footer">\t\t\t\t\t\t\t<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>\t\t\t\t\t\t\t<button type="button" class="btn btn-primary">Save changes</button>\t\t\t\t\t\t</div>\t\t\t\t\t</div>\t\t\t\t</div>\t\t\t</div>'),$("body").append(wizardPopup);var file_location="master";$("form#projectWizard").data("location")&&"local"==$("form#projectWizard").data("location")&&(file_location="local"),console.log(file_location);var file_name="wizard-cdc-data-sample";$("form#projectWizard").data("filename")&&(file_name=$("form#projectWizard").data("filename")),$("form#projectWizard").each((function(){$.ajax({type:"GET",dataType:"json",url:"/api/async.php?t=widgetFeed&m="+file_location+"_data&a=get_"+file_location+"_data&key="+file_name+"&engine=csv&skipFirst=1",context:this,success:function(data){wizard.onData(data,$(this))}})}))},onData:function(data,element){wizard.updateTimelineStep(0);var blocks,questionsArray=[],parentArray=[];data.data.sort((function(a,b){return a.index-b.index})),$.each(data.data,(function(index,question){question.children=[],""==question.parentId&&parentArray.push(question),questionsArray.push(question)})),$.each(data.data,(function(index,question){question.children=[],""!=question.parentId&&$.each(parentArray,(function(i,q){q.id==question.parentId&&parentArray[i].children.push(question)}))})),timeline=wizard.getTimeline(parentArray),blocks=wizard.getHtml(data.data),$("#projectWrap").append(blocks),$("#projectWizardTimeline").append(timeline),wizard.initSet(),wizard.formNav(parentArray,questionsArray),wizard.addAnotherMax(),wizard.removeThisMax(),wizard.btnClick(parentArray,questionsArray),wizard.budgetSlider(),wizard.formValidateAndSubmit(),wizard.browserResize(),isMobile&&wizard.mobileFix("auto")},getTimeline:function(data){var block="";return block+='\t\t<div class="timeline-container" data-steps-progress="0" data-steps-total="'+parseInt(data.length)+'">\t\t\t<div class="timeline-steps-wrap">',$.each(data,(function(index,parentQuestion){index>0&&(block+='\t\t\t\t<div class="timeline-step" data-step="'+index+'">\t\t\t\t\t<span class="bg-primary border-primary"><span>'+index+"</span></span>\t\t\t\t</div>")})),block+='\t\t\t</div>\t\t\t<div class="timeline-track">\t\t\t\t<div class="progress bg-primary"></div>\t\t\t</div>\t\t</div>'},getHtml:function(data){var block="",parentIndex=-1;return $.each(data,(function(index,wizardQuestion){var activeStep="";0==index&&(activeStep=" active");var parentClass="";if(""!=wizardQuestion.parentId&&(parentClass=" parent"),""==wizardQuestion.parentId&&parentIndex++,wizardQuestion.question.length&&(block+='\t\t\t\t<div class="step'+activeStep+parentClass+'" data-parent-index="'+parentIndex+'" data-step="'+index+'" data-step-id="'+wizardQuestion.id+'" data-parent-step-id="'+wizardQuestion.parentId+'" data-parent-step-value="'+wizardQuestion.parentVal+'">\t\t\t\t\t<section id="'+wizardQuestion.id+'" data-field-label="'+wizardQuestion.title+'" class="max-width-700">\t\t\t\t\t\t<div class="copy">\t\t\t\t\t\t\t<h3>'+wizardQuestion.question+"</h3>\t\t\t\t\t\t\t<p>"+wizardQuestion.summary+"</p>"),wizardQuestion.options.length>0){wizardQuestion.options=$.parseJSON(wizardQuestion.options),wizardQuestion.options.sort((function(a,b){return a.index-b.index}));var brickType="btn-radio";"TRUE"==wizardQuestion.multipleValues&&(brickType="btn-select"),block+='<div class="row mx-0">',$.each(wizardQuestion.options,(function(i,answer){block+='\t\t\t\t\t\t\t<div class="'+answer.size+'">\t\t\t\t\t\t\t\t<div class="btn-brick '+brickType+'">\t\t\t\t\t\t\t\t\t<i class="'+answer.icon+'"></i>\t\t\t\t\t\t\t\t\t<span data-value="'+answer.value+'">'+answer.text+'</span>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<img src="//placeholder.shopfinejewelry.com/200x200/eeeeee/eeeeee/" class="placeholder">\t\t\t\t\t\t\t</div>'})),block+="</div>"}else wizardQuestion.formTemplate.length>0&&"none"!=wizardQuestion.formTemplate&&(wizardQuestion.formTemplate=$.parseJSON(wizardQuestion.formTemplate),wizardQuestion.formTemplate.sort((function(a,b){return a.index-b.index})),wizardQuestion.requiredFormElements=[],block+='<div class="form-row">',$.each(wizardQuestion.formTemplate,(function(i,element){var input="",label="<label>"+element.label+"</label>",formGroup="form-label-group";if("text"==element.type)input='<input class="'+element.class+'" type="'+element.type+'" name="'+element.name+'" placeholder="'+element.placeholder+'">';else if("email"==element.type)input='<input class="'+element.class+'" type="'+element.type+'" name="'+element.name+'" placeholder="'+element.placeholder+'">';else if("tel"==element.type)input='<input class="'+element.class+'" type="'+element.type+'" name="'+element.name+'" placeholder="'+element.placeholder+'" data-mask="(999) 999-9999">';else if("checkbox"==element.type)formGroup="form-group text-left pt-10",label="",input='\t\t\t\t\t\t\t<div class="custom-control custom-checkbox">\t\t\t\t\t\t\t\t<input class="'+element.class+'" type="'+element.type+'" name="'+element.name+'" id="'+element.name+'">\t\t\t\t\t\t\t\t<span class="custom-control-indicator"></span>\t\t\t\t\t\t\t\t<span class="custom-control-description">'+element.label+"</span>\t\t\t\t\t\t\t</div>";else if("textarea"==element.type)input='<textarea class="'+element.class+'" name="'+element.name+'" placeholder="'+element.placeholder+'"></textarea>';else if("select"==element.type){if(element.class.indexOf("input-lg")>=0&&(formGroup+=" form-label-group-lg"),element.options.length>0){var input_options="";$.each(element.options,(function(i,option){""==option.value&&""==option.key?input_options+='<option value="" disabled selected class="d-none">&nbsp;</option>':input_options+='<option value="'+option.value+'">'+option.key+"</option>"}))}input='<select class="selectpicker '+element.class+'" name="'+element.name+'" id="'+element.name+'" data-style="'+element.class+'">'+input_options+"</select>"}else if("range"==element.type){formGroup="form-group "+element.class+" range-input",label="";var min="",max="",step="",fieldName=element.name.replace("field_","");fieldName=fieldName.substr(0,1).toUpperCase()+fieldName.substr(1),element.range.length>0&&(min=parseFloat(element.range[0].min),max=parseFloat(element.range[0].max),step=parseFloat(element.range[0].step),parseFloat(element.range[0].default)),input='\t\t\t\t\t\t<label class="text-center w-100 text-dark">'+element.label+'</label>\t\t\t\t\t\t<div class="form-group px-0 pb-0 mb-0">\t\t\t\t\t\t\t<div id="'+element.name+'Range" class="range-element">\t\t\t\t\t\t\t\t<input class="range-slider" type="text" name="'+element.name.replace("field_","")+'" value="" data-slider-min="'+min+'" data-slider-max="'+max+'" data-slider-step="'+step+'" data-slider-value="['+min+","+max+']" data-slider-tooltip="hide" />\t\t\t\t\t\t\t\t<div class="form-row input-row">\t\t\t\t\t\t\t\t\t<div class="form-group col-6 mb-0"><input name="field_'+fieldName+'_Low" class="min form-control input-lg text-left" type="text" value="No minimum" readonly></div>\t\t\t\t\t\t\t\t\t<div class="form-group col-6 mb-0"><input name="field_'+fieldName+'_High" class="max form-control input-lg text-right" type="text" value="Unlimited" readonly></div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>'}else"datepicker"==element.type||"datetimepicker"==element.type?input='<input class="'+element.class+'" type="text" name="'+element.name+'" placeholder="'+element.placeholder+'">':"file"==element.type?(formGroup="form-label-group file form-label-group-lg",input='<input class="'+element.class+' form-control input-lg filestyle" type="file" name="'+element.name+'" placeholder="'+element.placeholder+'" accept="image/png,image/gif,image/jpeg" data-btnClass="btn-default">'):"captcha"==element.type&&(label="",input='\t\t\t\t\t\t<div class="form-group pt-0 mb-0">\t\t\t\t\t\t\t<label class="text-center w-100 text-dark">Validation Code:</label>\t\t\t\t\t\t\t<input type="hidden" class="defaultRealCaptcha" name="defaultRealCaptcha">\t\t\t\t\t\t</div>\t\t\t\t\t\t<div class="form-label-group pb-10">\t\t\t\t\t\t\t<input class="form-control input-lg" type="text" name="defaultRealInput" placeholder="Enter code as seen above">\t\t\t\t\t\t\t<label>Enter code as seen above</label>\t\t\t\t\t\t</div>');if(element.max){var inputMod="",hideClass="",maxInputs=parseInt(element.max);if("text"==element.type||"email"==element.type||"select"==element.type||"file"==element.type||"tel"==element.type||"datepicker"==element.type||"datetimepicker"==element.type){for(input=input.replace(element.name,element.name+"_NUM"),inputMod+='\t\t\t\t\t\t\t<div class="max-wrap" data-max="'+maxInputs+'">',i=1;i<=maxInputs;i++)i>1&&(hideClass="hide"),inputMod+='\t\t\t\t\t\t\t\t<div class="d-flex mb-2 '+hideClass+'" data-item="'+i+'">\t\t\t\t\t\t\t\t\t<div class="'+formGroup+' w-100 mr-0">'+input.replace("_NUM","_"+i)+label+"</div>",i<maxInputs&&(inputMod+='<button type="button" class="btn btn-default btn-lg addAnotherMax ml-2"><i class="icon-plus"></i></button>'),i>1&&(inputMod+='<button type="button" class="btn btn-default btn-lg removeThisMax ml-2"><i class="icon-minus"></i></button>'),inputMod+="\t\t\t\t\t\t\t\t</div>";inputMod+="\t\t\t\t\t\t\t</div>"}input=inputMod,label=""}var requiredLabel="";element.class.indexOf("required")>-1&&(wizardQuestion.requiredFormElements.push(element.name),requiredLabel="<small>*This is a required field.</small>"),block+='\t\t\t\t\t\t<div class="'+element.size+'">\t\t\t\t\t\t\t<div class="'+formGroup+'">\t\t\t\t\t\t\t\t'+input+"\t\t\t\t\t\t\t\t"+label+"\t\t\t\t\t\t\t\t"+requiredLabel+"\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>"})),"FALSE"==wizardQuestion.skippable||wizardQuestion.requiredFormElements.length?($("#wizardNav").find(".btn-next").addClass("disabled"),skippable="disabled"):($("#wizardNav").find(".btn-next").removeClass("disabled"),skippable=""),block+='\t\t\t\t<div class="w-100 py-30 max-width-300">\t\t\t\t\t<button type="button" class="btn btn-default btn-xlg btn-block btn-next '+skippable+'"><span>Continue</span><i class="icon-arrow-right"></i></button>\t\t\t\t\t<button type="submit" class="btn btn-primary btn-xlg btn-block btn-submit"><span>Submit</span><i class="icon-check"></i></button>\t\t\t\t</div>',block+="</div>");wizardQuestion.question.length&&(block+="\t\t\t\t\t\t</div>\t\t\t\t\t</section>\t\t\t\t</div>")})),block},browserResize:function(){$(window).resize((function(){$(".step").addClass("notransition");var stepWidth=$(window).width(),pos=$(".step.active").attr("data-step");$("#projectWizard .step").css("transform","translate3D(-"+stepWidth*pos+"px,0,0)"),setTimeout((function(){$(".step").removeClass("notransition")}),500),parseInt(stepWidth)<768?wizard.mobileFix($('.step[data-step="'+pos+'"]').find(".copy").outerHeight()):wizard.mobileFix("auto")}))},mobileFix:function(stepHeight){"auto"==stepHeight||0==stepHeight?$("#projectWrap").attr("style","height: auto !important;"):$("#projectWrap").attr("style","height: "+stepHeight+"px !important;")},initSet:function(){$('form#projectWizard input[name="attachment"]').hover((function(){$(".btn-upload").toggleClass("selected")})),$('form#projectWizard input[name="attachment"]').click((function(){$(".btn-url").removeClass("selected"),$(".urlInput").removeClass("show")})),$("form#projectWizard textarea").focus((function(){$(".notes").addClass("selected")})),$("form#projectWizard textarea").blur((function(){$(this).val()||$(".notes").removeClass("selected")})),$("form#projectWizard select.selectpicker").each((function(i,e){"position-relative"!=$(e).parent().attr("class")&&selectpicker($(e))})),$("form#projectWizard input.filestyle").each((function(i,e){"md"==$(e).data("size")?$(e).filestyle({text:"Browse",btnClass:"btn-default",size:"md",placeholder:"Attachment",onChange:function(){$(e).parent().addClass("files-selected")}}):$(e).filestyle({text:"<span class='d-none d-md-inline-block'>Choose</span> File",btnClass:"btn-default",size:"lg",placeholder:"Attachment",onChange:function(){$(e).parent().addClass("files-selected")}})})),$("form#projectWizard #defaultReal").length>0&&$("form#projectWizard #defaultReal").realperson({length:7,includeNumbers:!0,regenerate:'<span id="defaultRealRegen" class="btn btn-default btn-sm"><i class="icon-refresh"></i></span>'}),$("form#projectWizard .defaultRealCaptcha").length>0&&$("form#projectWizard .defaultRealCaptcha").each((function(i,e){$(e).realperson({length:7,includeNumbers:!0,regenerate:'<span class="rp-refresh btn btn-default btn-sm"><i class="icon-refresh"></i></span>'})}))},changeSlide:function(pos,name,val="",parentArray,parentId="",parentVal="",questionsArray){console.log("****************************");var origName=name,origPos=pos;if("prev"==val)var slide=questionsArray[pos],parentSlide=parentArray[parseInt($('.step[data-step-id="'+name+'"]').prevAll(".step:not(.parent)").first().data("parent-index"))],childSlide=questionsArray[parseInt($('.step[data-step-id="'+name+'"]').prevAll(".step.parent").first().data("step"))];else if("goto"==val)slide=questionsArray[pos],parentSlide=parentArray[parseInt($('.step[data-step-id="'+name+'"]').data("parent-index"))],childSlide=questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))];else slide=questionsArray[pos],parentSlide=parentArray[parseInt($('.step[data-step-id="'+name+'"] ~ .step:not(.parent):first').data("parent-index"))],childSlide=questionsArray[parseInt($('.step[data-step-id="'+name+'"] ~ .step.parent:first').data("step"))];if(""==parentId)if(slide.children.length){var countKids=0,lastChild=parseInt(slide.children.length)-1;$.each(slide.children,(function(i,e){e.parentVal==val?0==countKids&&(name=e.id,countKids++):lastChild==i&&0==countKids&&(name=parentSlide.id,countKids++)}))}else name=parentSlide.id;else slide.children.length||(name="prev"==val?$('.step[data-step-id="'+name+'"]').prevAll(".step.parent").first().length&&$('.step[data-step-id="'+name+'"]').prevAll(".step.parent").first().data("parent-step-value")==parentVal?childSlide.id:parentSlide.id:$('.step[data-step-id="'+name+'"] ~ .step.parent:first').length&&$('.step[data-step-id="'+name+'"] ~ .step.parent:first').data("parent-step-value")==parentVal?childSlide.id:parentSlide.id);wizard.skipAndRequiredCheck(name,origName,pos,origPos,val,questionsArray,parentArray),wizard.goTo(name)},goTo:function(name){var stepWidth=$("#projectWizard .step").outerWidth(),pos=parseInt($('.step[data-step-id="'+name+'"]').data("step")),parentPos=parseInt($('.step[data-step-id="'+name+'"]').data("parent-index"))+1,firstPos=$(".step").first().data("step"),lastPos=$(".step").last().data("step");wizard.updateTimelineStep(parentPos),$("form#projectWizard .btn-submit").addClass("hide"),pos===firstPos?$("form#projectWizard .btn-back").addClass("inactive"):$("form#projectWizard .btn-back").removeClass("inactive"),pos===lastPos?($("form#projectWizard .btn-next").addClass("hide"),$("form#projectWizard .btn-submit").removeClass("hide")):$("form#projectWizard .btn-next").hasClass("hide")&&($("form#projectWizard .btn-next").removeClass("hide"),$("form#projectWizard .btn-submit").addClass("hide")),$("form#projectWizard .step").removeClass("active"),setTimeout((function(){$("#projectWizard .step").css("transform","translate3D(-"+stepWidth*pos+"px,0,0)")}),500),setTimeout((function(){isMobile&&wizard.mobileFix($('.step[data-step-id="'+name+'"]').find(".copy").outerHeight()),$('.step[data-step-id="'+name+'"]').addClass("active"),$("#wizardNav").removeClass("disabled"),isMobile&&wizard.mobileFix($('.step[data-step-id="'+name+'"]').find(".copy").outerHeight())}),800)},updateTimelineStep:function(step){for(step=parseInt(step)-1,$("#projectWizardTimeline .timeline-container").attr("data-steps-progress",step),$("#projectWizardTimeline .timeline-step").removeClass("active"),i=1;i<=step;i++)$('#projectWizardTimeline .timeline-step[data-step="'+i+'"]').addClass("active");var stepsTotal=$("#projectWizardTimeline .timeline-container").data("steps-total"),percentComplete=wizard.getPercentage(step,stepsTotal);$("#projectWizardTimeline .timeline-track .progress").width(percentComplete+"%")},skipAndRequiredCheck:function(name,origName,pos,origPos,val,questionsArray,parentArray){if("FALSE"==questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].skippable)if(console.log(name+" not skippable. Original name: "+origName),"prev"==val||"next"==val||"goto"==val)if(console.log("is prev,next, or goto"),$('form#projectWizard [name="'+name+'"]').length&&""!=$('form#projectWizard [name="'+name+'"]').val()){console.log("input exists and has a value... completed!"),$('.step[data-step-id="'+name+'"]').find(".btn-next").removeClass("disabled"),$("#wizardNav").find(".btn-next").removeClass("disabled");var complete={name:origName,step:origPos};wizard.completedStep(complete),console.log("completed step "+origName+"!"),console.log("****************************")}else if(console.log("input ("+name+") does not exist or has no value..."),$("input.step"+parseInt($('.step[data-step-id="'+name+'"]').data("step"))).length)console.log("checking btn select element..."),$("input.step"+parseInt($('.step[data-step-id="'+name+'"]').data("step"))).each((function(ind,elem){if(""!=$(elem).val()){$("#wizardNav").find(".btn-next").removeClass("disabled");var complete={name:origName,step:origPos};wizard.completedStep(complete),console.log("completed step "+origName+"!"),console.log("****************************")}else $("#wizardNav").find(".btn-next").addClass("disabled"),console.log("incomplete")}));else if(questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].requiredFormElements&&questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].requiredFormElements.length){console.log("has required elems...");var missing=0;if($.each(questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].requiredFormElements,(function(i,e){var fieldName=e;$('form#projectWizard [name="'+fieldName+'"]').length&&""!=$('form#projectWizard [name="'+fieldName+'"]').val()||(missing++,console.log("missing field val for: "+fieldName),console.log("****************************"))})),missing>1){if($('.step[data-step-id="'+name+'"]').find(".btn-next").addClass("disabled"),$("#wizardNav").find(".btn-next").addClass("disabled"),"prev"!=val){complete={name:origName,step:origPos};wizard.completedStep(complete),console.log("completed step "+origName+"!"),console.log("****************************")}}else if($('.step[data-step-id="'+name+'"]').find(".btn-next").removeClass("disabled"),$("#wizardNav").find(".btn-next").removeClass("disabled"),"prev"!=val){complete={name:origName,step:origPos};wizard.completedStep(complete),console.log("completed step "+origName+"!"),console.log("****************************")}}else{$('.step[data-step-id="'+name+'"]').find(".btn-next").addClass("disabled"),$("#wizardNav").find(".btn-next").addClass("disabled");complete={name:origName,step:origPos};wizard.completedStep(complete),console.log("completed step "+origName+"!"),console.log("****************************")}else console.log("not prev, next or goto"),$("#wizardNav").find(".btn-next").addClass("disabled");else if(console.log("is skippable..."),$("#wizardNav").find(".btn-next").removeClass("disabled"),"prev"!=val){complete={name:origName,step:origPos};wizard.completedStep(complete),console.log("completed step "+origName+"!"),console.log("****************************")}},getPercentage:function(step,total){return 100*parseInt(step)/parseInt(total)},uniqueArray:function(list){var result=[];return $.each(list,(function(i,e){-1==$.inArray(e,result)&&result.push(e)})),result},formNav:function(parentArray,questionsArray){$("form#projectWizard .btn-back").click((function(e){if(e.preventDefault(),$("#wizardNav").hasClass("disabled"))return!1;$("#wizardNav").addClass("disabled");var name=$(".step.active").data("step-id"),pos=$(".step.active").data("step"),parentId=$('[data-step-id="'+name+'"]').data("parent-step-id"),parentVal=$('[data-step-id="'+name+'"]').data("parent-step-value");wizard.changeSlide(pos,name,"prev",parentArray,parentId,parentVal,questionsArray)})),$("form#projectWizard .btn-next").click((function(e){if(e.preventDefault(),$("#wizardNav").hasClass("disabled"))return!1;$("#wizardNav").addClass("disabled");var name=$(".step.active").data("step-id"),val="next",pos=$(".step.active").data("step"),parentId=$('[data-step-id="'+name+'"]').data("parent-step-id"),parentVal=$('[data-step-id="'+name+'"]').data("parent-step-value");if($(this).hasClass("btn-skip")){var selected=$(this).closest(".copy").find(".btn-brick.selected");$(selected).each((function(){val=$(this).find("span").data("value"),$(this).removeClass("selected"),$('input[name="'+name+'"]').remove(),$('option[value="'+val+'"]').remove()})),$(".urlInput",parent).removeClass("show")}wizard.changeSlide(pos,name,val,parentArray,parentId,parentVal,questionsArray)}))},addAnotherMax:function(){$(".addAnotherMax").each((function(ind,elem){$(elem).click((function(e){isMobile&&wizard.mobileFix($(elem).closest(".step").find(".copy").outerHeight());var wrapper=$(elem).closest(".max-wrap"),numb=$(elem).closest("div[data-item]").data("item"),nextNumb=parseInt(numb)+1;numb<=$(wrapper).data("max")&&($(wrapper).find(".removeThisMax").removeClass("hide"),$(wrapper).find("div[data-item='"+nextNumb+"']").removeClass("hide"),$(elem).addClass("hide"))}))}))},removeThisMax:function(){$(".removeThisMax").each((function(ind,elem){$(elem).click((function(e){isMobile&&wizard.mobileFix($(elem).closest(".step").find(".copy").outerHeight());var wrapper=$(elem).closest(".max-wrap"),numb=$(elem).closest("div[data-item]").data("item"),max=(parseInt(numb),$(wrapper).data("max"));numb>1&&($(wrapper).find(".addAnotherMax").removeClass("hide"),$(wrapper).find("div[data-item='"+numb+"']").addClass("hide"),numb<max&&$(elem).addClass("hide"),$(wrapper).find("div[data-item='"+numb+"']").prev().removeClass("hide"))}))}))},btnClick:function(parentArray,questionsArray){$("form#projectWizard .btn-radio").click((function(e){e.preventDefault();var active=$(this).closest(".step.active"),val=$(this).find("span").data("value"),val_text=$(this).find("span").html(),name=$(this).closest(".step").data("step-id"),title="field_"+$(this).closest("section[data-field-label]").data("field-label").replace(/\s+/g,"_"),pos=$(this).closest(".step.active").data("step"),parent=$(this).closest(".step").data("parent-step-id"),parentVal=$(this).closest(".step").data("parent-step-value");if($(this).hasClass("selected")?($(this).removeClass("selected"),$('input[name="'+title+'"]').remove()):($(".btn-radio","#"+name).removeClass("selected"),$(this).addClass("selected"),$('input[name="'+title+'"]').remove(),$("<input>").attr({type:"hidden",name:title,class:"active-input step"+pos,value:val_text}).appendTo("form")),$('input[name="'+title+'"]').length&&""!=$('input[name="'+title+'"]').val()){$(active).find(".disabled").removeClass("disabled"),$("#wizardNav").find(".disabled").removeClass("disabled"),wizard.changeSlide(pos,name,val,parentArray,parent,parentVal,questionsArray);var complete={name:name,step:pos};wizard.completedStep(complete)}})),$("form#projectWizard .btn-select").click((function(e){e.preventDefault();var _this=$(this),active=_this.closest(".step.active"),val=_this.find("span").html(),newVal=[],name=_this.closest("section").attr("id"),title="field_"+_this.closest("section[data-field-label]").data("field-label").replace(/\s+/g,"_"),pos=_this.closest(".step.active").data("step");if(_this.hasClass("selected"))if($('input[name="'+title+'"].step'+pos).length){var currVal=$('input[name="'+title+'"].step'+pos).val();currVal=currVal.split(",");var updatedNewVal=[];$.each(currVal,(function(i,e){e==val?_this.removeClass("selected"):updatedNewVal.push(e)})),$('input[name="'+title+'"].step'+pos).val(updatedNewVal)}else _this.removeClass("selected"),$('input[name="'+title+'"]').remove();else $('input[name="'+title+'"].step'+pos).length?(_this.addClass("selected"),newVal.push(val),newVal.push($('input[name="'+title+'"].step'+pos).val()),$('input[name="'+title+'"].step'+pos).val(newVal)):(_this.addClass("selected"),$('input[name="'+title+'"]').remove(),$("<input>").attr({type:"hidden",name:title,class:"active-input step"+pos,value:val}).appendTo("form"));if($('input[name="'+title+'"]').length&&""!=$('input[name="'+title+'"]').val()){$(active).find(".disabled").removeClass("disabled"),$("#wizardNav").find(".disabled").removeClass("disabled");var complete={name:name,step:pos};wizard.completedStep(complete),console.log("completed step ("+name+")!")}else if($("input.step"+pos).length){complete={name:name,step:pos};wizard.completedStep(complete),console.log("completed step ("+name+")!")}else $(active).find(".btn-next").addClass("disabled"),$("#wizardNav").find(".btn-next").addClass("disabled"),wizard.removeStepFromCompletedList(name),console.log("remove from completed steps ("+name+")!")})),$("form#projectWizard .form-control").each((function(i,e){$(e).on("change",(function(){var name=$(e).closest(".step").data("step-id"),pos=parseInt($(e).closest(".step").data("step"));if(questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].requiredFormElements&&questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].requiredFormElements.length){var missing=0;console.log("looping..."),console.log(questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].requiredFormElements),$.each(questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))].requiredFormElements,(function(i,e){var fieldName=e;$('form#projectWizard [name="'+fieldName+'"]').length&&""!=$('form#projectWizard [name="'+fieldName+'"]').val()||(missing++,console.log("missing field: "+fieldName))})),missing>=1?($('.step[data-step-id="'+name+'"]').find(".btn-next").addClass("disabled"),$("#wizardNav").find(".btn-next").addClass("disabled"),wizard.removeStepFromCompletedList(name),console.log("remove this from completed ("+pos+")"),console.log(questionsArray[parseInt($('.step[data-step-id="'+name+'"]').data("step"))]),console.log("------------------------")):($('.step[data-step-id="'+name+'"]').find(".btn-next").removeClass("disabled"),$("#wizardNav").find(".btn-next").removeClass("disabled"))}else $(e).val()&&($(e).closest(".step").find(".btn-next").removeClass("disabled"),$("#wizardNav").find(".btn-next").removeClass("disabled"))}))})),$("form#projectWizard .btn-url").click((function(e){e.preventDefault(),$(this).hasClass("selected")?($(this).removeClass("selected"),$(".urlInput").removeClass("show")):($(this).addClass("selected"),$(".urlInput").addClass("show"),$(".urlInput input").focus())})),$("form#projectWizard .btn-desc").click((function(e){$(".description").addClass("show"),setTimeout((function(){$('textarea[name="description"]').focus()}),300),wizard.removeThisMax()})),$(".timeline-step").each((function(i,e){$(e).click((function(){var currStep=parseInt($(e).closest(".timeline-container").data("steps-progress")),clickedStep=parseInt($(e).data("step")),step=clickedStep,name=$('.step[data-parent-index="'+step+'"]').first().data("step-id"),parent=$('.step[data-parent-index="'+step+'"]').first().data("parent-step-id"),parentVal=$('.step[data-parent-index="'+step+'"]').first().data("parent-step-value");currStep==clickedStep||clickedStep>currStep||wizard.changeSlide(clickedStep,name,"goto",parentArray,parent,parentVal,questionsArray)}))}))},budgetSlider:function(){$(".range-element").each((function(i,e){var id=$(e).attr("id"),input=$("#"+id+" .range-slider"),maxVal=parseFloat($(input).data("slider-max"));$(input).slider(),$(input).on("slide",(function(slideEvt){var min=slideEvt.value[0],max=slideEvt.value[1];0==min?$(e).closest(".form-group").find(".min").val("No minimum"):$(e).closest(".form-group").find(".min").val("$"+parseFloat(min).toFixed(2)),max==maxVal?$(e).closest(".form-group").find(".max").val("Unlimited"):$(e).closest(".form-group").find(".max").val("$"+parseFloat(max).toFixed(2))})),$(input).closest(".form-group").find(".min").on("keyup",(function(){var min=$(input).closest(".range-element").find(".min").val(),max=$(input).closest(".range-element").find(".max").val();"No minimum"===min&&(min=0),"Unlimited"===max&&(max=maxVal),$(input).slider("setValue",[parseFloat(min),parseFloat(max)]),$(input).trigger("slideStop")})),$(input).closest(".form-group").find(".max").on("keyup",(function(){var min=$(input).closest(".range-element").find(".min").val(),max=$(input).closest(".range-element").find(".max").val();"No minimum"===min&&(min=0),"Unlimited"===max&&(max=maxVal),$(input).slider("setValue",[parseFloat(min),parseFloat(max)]),$(input).trigger("slideStop")}))}))},completedStep:function(name){var check=!1;if($.each(wizardStepsCompleted,(function(i,e){e.name==name.name&&(check=!0)})),check);else{wizardStepsCompleted.push(name),wizardStepsCompleted=wizard.uniqueArray(wizardStepsCompleted);var timelineStep=parseInt($('.step[data-step-id="'+name.name+'"]').data("parent-index"));$('#projectWizardTimeline .timeline-step[data-step="'+timelineStep+'"]').addClass("completed"),console.log(wizardStepsCompleted),console.log("completed timeline step ("+timelineStep+")!")}},removeStepFromCompletedList:function(name){return name&&"undefined"!=name?($.each(wizardStepsCompleted,(function(index,result){if(result&&result.name===name){console.log("removing step ("+name+")"),wizardStepsCompleted.splice(index,1);var timelineStep=parseInt($('.step[data-step-id="'+name+'"]').data("parent-index"));$('#projectWizardTimeline .timeline-step[data-step="'+timelineStep+'"]').removeClass("completed")}})),console.log(wizardStepsCompleted)):console.log("name invalid or missing"),wizardStepsCompleted},formValidateAndSubmit:function(){$("#projectWizard").validate({ignore:":hidden",focusCleanup:!0,rules:{attachment:{required:!1,accept:"image/*"},message:{required:!1},firstName:{required:!0},lastName:{required:!0},email:{required:!0,email:!0},telephone:{required:!0,phoneUS:!0},city:{required:!0},state:{required:!0},defaultRealInput:{required:!0}},messages:{attachment:{accept:"Please enter a valid Image Attachment."},message:{minlength:"Please enter at least 10 characters for Message."},firstName:{required:"Please specify your First Name."},lastName:{required:"Please specify your Last Name."},email:{required:"Please specify your Email Address.",email:"Please enter a valid Email Address (eg. name@domain.com)."},telephone:{required:"Please specify your Telephone no.",phoneUS:"Please enter a valid Telephone no."},city:{required:"Please specify your City."},state:{required:"Please specify your State."},defaultRealInput:{required:"Please enter the Validation Code."}},errorPlacement:function(error,element){element.addClass("error")},success:function(label,element){},submitHandler:function(form){var _data=new FormData;_data.append("defaultRealHash",$(form).find(".defaultRealCaptcha").realperson("getHash")),_data.append("locationId",window.pageInfo.locationID);var fields=$(form).serializeArray();return $.each(fields,(function(key,input){_data.append(input.name,input.value)})),$(form).find('input[type="file"]').each((function(key,input){var name=(input=$(input)).attr("name");input[0].files.length>0&&$.each(input[0].files,(function(k,i){_data.append(name+"-"+k,i)}))})),$.ajax({url:"/api/async.php?t=email&m=startaproject&a=submit_form",method:"POST",dataType:"json",data:_data,cache:!1,contentType:!1,processData:!1,context:self,beforeSend:function(){$("#page-loading").show()},success:function(data){data.status?(wizard.showAlert("success","Success",data.message),"function"==typeof ga&&ga.getAll().length&&ga(ga.getAll()[0].get("name")+".send","event","site","projectFormSubmit",""),"function"==typeof fbq&&fbq("track","ProjectFormSubmit"),wizard.resetForm(),setTimeout((function(){$("#wizardModal").modal("hide"),$('[data-target="#wizardModal"]').addClass("disabled")}),2e3)):wizard.showAlert("error","Error!",data.message)}}).done((function(){$("#page-loading").hide()})),!1},invalidHandler:function(event,validator){validator.numberOfInvalids()>0&&wizard.showAlert("error","Error!",validator.errorList[0].message)}})},showAlert:function(type,title,message){var step_complete={name:$('button[type="submit"]').closest("section").attr("id"),step:$('button[type="submit"]').closest(".step.active").data("step")};wizard.completedStep(step_complete);return type=void 0===type?"error":type,"-1"!=$.inArray(type,["error","info","success","warning"])&&(title=void 0===title?"Error!":title,message=void 0===message?"Something went wrong.":message,swal({title:title,text:message,icon:type,button:!1,timer:3e3})),!1},resetForm:function(){return $("#projectWizard").find("input[type=text], input[type=email], input[type=tel], input[type=file], textarea").val(""),$('input[type="file"]').removeClass("files-selected"),$(".rp-refresh.btn").click(),$(".btn-brick").removeClass("selected"),!0}};function selectpicker(obj){$(obj).each((function(i,e){if(!$(e).parent().hasClass("selectpicker-has-value")){var self=$(e),init_val=self.val(),init_text_value=self.find("option:selected").text();self.wrap('<div class="position-relative selectpicker-container"></div>');var parent=self.parent("div.position-relative"),classes=self.data("style"),width=self.data("width");width&&self.css("width",width+"px"),parent.append('<div class="'+classes+' position-absolute position-0 selectpicker-bg">'+init_text_value+"</div>");var contentbox=parent.find(".selectpicker-bg");parent.parent("div").find(".dummy").remove(),init_val&&init_text_value&&parent.addClass("selectpicker-has-value"),self.addClass("form-control"),self.on("focus",(function(){self.closest(".form-label-group").addClass("focused")})),self.on("blur",(function(){self.closest(".form-label-group").removeClass("focused")})),self.on("change",(function(){var value=$(this).val(),text_value=self.find("option:selected").text();value&&text_value&&(contentbox.text(text_value),parent.addClass("selectpicker-has-value"))}))}}))}wizard.init();