(function(n){n.fn.siSerializeObject=function(t){var i={},r=this.serializeArray();return t=t||!1,n.each(r,function(){(!t||t&&this.value&&this.value.length>0)&&(i[this.name]!==undefined?(i[this.name].push||(i[this.name]=[i[this.name]]),i[this.name].push(this.value||"")):i[this.name]=this.value||"")}),i}})(jQuery);$.validator.methods.email=function(n,t){return this.optional(t)||/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(n)};$.validator.addMethod("siPhone",function(n,t){return this.optional(t)||!siteData.leadIntlPhone||$(t).intlTelInput("isValidNumber")});var _siUtils=function(n){return{isDefined:function(n){return n&&n.length>0},getValue:function(n){return _siUtils.isDefined(n)?n.val():""},formatCurrency:function(n,t){var u,r,i;for(t=t||!1,n=n.toString().replace(/\$|\,/g,""),isNaN(n)&&(n="0"),u=n==(n=Math.abs(n)),n=Math.floor(n*100+.50000000001),n=Math.floor(n/100).toString(),r="",t&&n>=1e6&&(n<1e7?(n=Math.round(n/1e5)/10,r="M"):n<1e9?(n=Math.round(n/1e6),r="M"):n<1e12&&(n=Math.round(n/1e9),r="B")),i=0;i<Math.floor((n.length-(1+i))/3);i++)n=n.substring(0,n.length-(4*i+3))+","+n.substring(n.length-(4*i+3));return(u?"":"-")+"$"+n+r},formatNumber:function(n){n=n.toString().replace(/\$|\,/g,"");isNaN(n)&&(n="0");for(var t=0;t<Math.floor((n.length-(1+t))/3);t++)n=n.substring(0,n.length-(4*t+3))+","+n.substring(n.length-(4*t+3));return n},parseNumber:function(n){return n=n.toString().replace(/\$|\,/g,""),n=parseInt(n,10),isNaN(n)&&(n=0),n},handleKeyPress:function(n,t){return jQuery(n.target).is("textarea")?!0:n.which&&n.which===13||n.keyCode&&n.keyCode===13?(t(),!1):void 0},formatShortDate:function(n){if(n.length===0)return"";var t=new Date(n);return t.getMonth()+1+"/"+t.getDate()+"/"+t.getFullYear().toString().substr(2,2)},initPhoneValidation:function(n){if(siteData.leadIntlPhone){var t="";/\(\d{3}\)\s\d{3}-\d{4}/g.test(n.val())&&(t=n.val(),t="+1"+t.match(/\d+/g).join(""));n.removeAttr("placeholder");n.intlTelInput({preferredCountries:["us","ca"],initialCountry:siteData.country.toLowerCase(),separateDialCode:!0,utilsScript:"/assets/plugins/intl-tel-input/js/utils.js"});t.length>0&&n.intlTelInput("setNumber",t)}else n.mask("(000) 000-0000",{clearIfNotMatch:!0})},getPhoneValue:function(t){var i={country:siteData.country.toUpperCase(),number:""};return t.val().length===0?i:(siteData.leadIntlPhone?t.intlTelInput("isValidNumber")&&(i.country=t.intlTelInput("getSelectedCountryData").iso2.toUpperCase(),i.number=n.inArray(i.country,["US","CA","PR"])>-1?t.intlTelInput("getNumber",intlTelInputUtils.numberFormat.NATIONAL):t.intlTelInput("getNumber",intlTelInputUtils.numberFormat.INTERNATIONAL)):i.number=t.val(),i)}}}(jQuery);(function(n){n(function(){new SellerLeadSite});SellerLeadSite=function(){var t=this;t.address=null;t.addressError=null;t.header=null;t.contactForm=null;t.submitButton=null;t.error=null;t.reportTemplate=null;t.noReportTemplate=null;t.reportContainer=null;t.request={Address:"",Beds:"",Baths:"",Timeframe:"",FirstName:"",LastName:"",Email:"",Phone:""};t.contactModal=null;t.contactModalInputView=null;t.contactModalSuccessView=null;t.contactModalForm=null;t.contactModalError=null;t.contactModalSubmit=null;t.googleAnalyticsTrackingId=null;t.adwordsConversionId=null;t.adwordsConversionLabel=null;t.facebookTrackingPixelId=null;t.bingUetTagId=null;init=function(){t.address=n(".js-address");t.addressError=n(".js-address-error-msg");t.header=n(".js-header");t.contactForm=n(".js-contact-form");t.submitButton=n(".js-form-submit");t.error=n(".js-server-error");t.reportTemplate=n.templates("#reportTemplate");t.noReportTemplate=n.templates("#noReportTemplate");t.reportContainer=n(".js-detail-report");t.contactModal=n("#contactModal");t.contactModalInputView=n("#contactModalInputView");t.contactModalSuccessView=n("#contactModalSuccessView");t.contactModalForm=n("#contactModalForm");t.contactModalError=n("#contactModalError");t.contactModalSubmit=n("#btnContactModalSubmit");t.address.val().length>0&&(t.address.attr("place-selected","yes"),t.request.Address=t.address.val(),t.header.html(t.request.Address));t.googleAnalyticsTrackingId=siteData.googleAnalyticsTrackingId;t.adwordsConversionId=siteData.adwordsConversionId;t.adwordsConversionLabel=siteData.adwordsConversionLabel;t.facebookTrackingPixelId=siteData.facebookTrackingPixelId;t.bingUetTagId=siteData.bingUetTagId;t.addressError.hide();t.address.on("keypress",function(n){var i=n.keyCode?n.keyCode:n.which;i!=="13"&&t.addressError.empty().hide()});t.address.on("input",function(){t.address.removeAttr("place-selected")});t.contactForm.validate({highlight:function(t){n(t).closest(".input-group").addClass("has-error")},unhighlight:function(t){n(t).closest(".input-group").removeClass("has-error")},errorElement:"div",errorClass:"contact-error-msg",errorPlacement:function(t,i){t.insertAfter(n(i).closest(".input-group"))},rules:{FirstName:"required",LastName:"required",Email:{required:!0,email:!0},Phone:{required:!0,siPhone:!0}},messages:{FirstName:"Please enter both a first and last name",LastName:"Please enter both a first and last name",Email:"Please enter a valid email address",Phone:"Please enter a valid phone number"},groups:{username:"FirstName LastName"}});t.contactForm.find(":input[type=text], :input[type=email], :input[type=tel]").keypress(function(n){return _siUtils.handleKeyPress(n,function(){saveRequest()})});n("input[type=radio][name=Beds]").change(function(){t.request.Beds=this.value});n("input[type=radio][name=Baths]").change(function(){t.request.Baths=this.value});n("input[type=radio][name=Timeframe]").change(function(){t.request.Timeframe=this.value});t.submitButton.on("click",function(){return saveRequest(),!1});n(".js-address-submit").on("click",function(){return setAddress(),!1});n(".floating-label label").on("click",function(){n(this).next("input").focus();n(this).closest(".floating-label").addClass("is-focused")});n(".floating-label input").on("focus",function(){n(this).closest(".floating-label").addClass("is-focused")}).on("blur",function(){n(this).val().length==0&&n(this).closest(".floating-label").removeClass("is-focused")}).each(function(){n(this).val().length!=0&&n(this).closest(".floating-label").addClass("is-focused")});_siUtils.initPhoneValidation(t.contactForm.find('input[type="tel"]'));n(window).resize(function(){setPlaceholder()});setPlaceholder();initAddressSearch();t.contactModalForm.validate({highlight:function(t){n(t).closest(".form-group").addClass("has-error")},unhighlight:function(t){n(t).closest(".form-group").removeClass("has-error")},errorElement:"div",errorClass:"contact-modal-error-msg",errorPlacement:function(n,t){t.parent(".input-group").length?n.insertAfter(t.parent()):t.parent(".radio-inline").length?n.insertAfter(t.parent()):t.parent(".checkbox-inline").length?n.insertAfter(t.parent()):n.insertAfter(t)},rules:{FirstName:"required",LastName:"required",Email:{required:!0,email:!0},Phone:{required:!0,siPhone:!0}},messages:{FirstName:"Please enter your first name",LastName:"Please enter your last name",Email:"Please enter a valid email address",Phone:"Please enter a valid phone number"}});_siUtils.initPhoneValidation(t.contactModal.find('input[type="tel"]'));t.contactModal.on("shown.bs.modal",function(){t.contactModalForm.find("input[name=FirstName]").focus()});t.contactModal.on("hidden.bs.modal",function(){t.contactModalForm.find(".form-group").removeClass("has-error");t.contactModalForm.data("validator").resetForm();t.contactModalError.hide();t.contactModalSuccessView.hide();t.contactModalInputView.show()});t.reportContainer.on("click",".js-contact-us",function(){t.contactModal.modal("show")});t.contactModalSubmit.on("click",function(){sendContactRequest()})};setPlaceholder=function(){n(window).width()<480?t.address.attr("placeholder","Enter your address"):t.address.attr("placeholder","Enter your address (e.g. 123 Main Street...)")};initAddressSearch=function(){var n=new google.maps.places.Autocomplete(t.address[0],{componentRestrictions:{country:siteData.country},types:["address"]});n.addListener("place_changed",function(){var i=n.getPlace();i.hasOwnProperty("formatted_address")?(t.address.val(i.formatted_address),t.address.removeAttr("place-selected"),t.address.attr("place-selected","yes"),setAddress()):t.address.attr("place-selected","no")})};setAddress=function(){if(t.addressError.empty().hide(),t.address.val().length===0){t.addressError.html("Please enter a valid address").show();return}var n=t.address.attr("place-selected");if(typeof n=="undefined"||n!=="yes"){t.addressError.html("Please select an address from the suggested list").show();return}t.request.Address=t.address.val();t.header.html(t.request.Address);nextPage()};saveRequest=function(){var i,r,u;t.contactForm.valid()&&(t.error.empty().hide(),t.submitButton.html('<i class="fa fa-circle-o-notch fa-fw fa-spin"><\/i> Generating Report...').prop("disabled",!0),i=t.contactForm.siSerializeObject(),r=_siUtils.getPhoneValue(t.contactForm.find('input[type="tel"]')),t.request.FirstName=i.FirstName,t.request.LastName=i.LastName,t.request.Email=i.Email,t.request.Phone=r.number,t.request.PhoneCountry=r.country,u=t.contactForm.find('[name="UserConsent"]'),u.length>0&&(t.request.UserConsent=u.prop("checked")),n.ajax({type:"POST",url:"/Home/SendReportRequest",data:JSON.stringify(t.request),async:!0,normalizeJSON:!1,evalResponse:!0,cache:!1,contentType:"application/json; charset=utf-8",dataType:"json",success:function(i){var r,u,f;if(t.submitButton.html("Get My Report").prop("disabled",!1),i.ResponseCode==0){if(i.data.LeadCreated&&(t.googleAnalyticsTrackingId&&typeof gtag!="undefined"&&gtag("event","Lead",{event_category:"Registration",event_label:"Seller Lead Site"}),t.adwordsConversionId&&t.adwordsConversionLabel&&typeof gtag!="undefined"&&gtag("event","conversion",{send_to:t.adwordsConversionId+"/"+t.adwordsConversionLabel}),t.facebookTrackingPixelId&&typeof fbq!="undefined"&&fbq("track","Lead"),t.bingUetTagId&&typeof window.uetq!="undefined"&&(window.uetq=window.uetq||[],window.uetq.push("event","LeadSubmit",{event_category:"Lead",event_label:"NewLead",event_value:"1"}))),i.data.DetailedReport?(i.data.Estimates.length>0&&(t.contactModalForm.find("input[name=ZillowEstimate]").val(i.data.Estimates[0].Estimate),i.data.Estimates.length>1&&t.contactModalForm.find("input[name=EppraisalEstimate]").val(i.data.Estimates[1].Estimate)),t.reportContainer.html(t.reportTemplate.render(i.data,{formatNumber:function(n){return _siUtils.formatNumber(n)},formatCurrency:function(n){return _siUtils.formatCurrency(n)},formatSoldDate:function(n){var t=new Date(parseInt(n.substr(6),10));return["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"][t.getMonth()]+" "+t.getFullYear()},getMapImageUrl:function(n,t,i){var u=encodeURIComponent(window.location.protocol+window.location.hostname+t),r;return n=encodeURIComponent(n),r="http://maps.googleapis.com/maps/api/staticmap?center="+n+"&zoom=19&scale=2&maptype=satellite&markers=icon:"+u+"%7C"+n+"&size=250x600",i&&i.length>0&&(r+="&key="+i),r}})),n(".js-report-map").affix({offset:{top:0}})):t.reportContainer.html(t.noReportTemplate.render(i.data)),n("#pt-main").hide(),n(".report-container").show(),r=n("#mapCanvas"),r.length>0){if(u=r.data("lat"),f=r.data("lon"),u=="0"&&f=="0")return;n("footer").addClass("report-footer");var e=new google.maps.LatLng(u,f),o={zoom:14,center:e,mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.Default,position:google.maps.ControlPosition.TOP_RIGHT},zoomControl:!0,zoomControlOptions:{style:google.maps.ZoomControlStyle.DEFAULT,position:google.maps.ControlPosition.TOP_LEFT},mapTypeControl:!1,streetViewControl:!1,mapTypeId:google.maps.MapTypeId.ROADMAP,scrollwheel:!1},s=new google.maps.Map(document.getElementById("mapCanvas"),o),h=new google.maps.Marker({map:s,position:e,icon:"/assets/layout1/images/marker-main-large.png"})}t.contactModalForm.find("input[name=FirstName]").val(t.request.FirstName);t.contactModalForm.find("input[name=LastName]").val(t.request.LastName);t.contactModalForm.find("input[name=Email]").val(t.request.Email);siteData.leadIntlPhone?t.contactModalForm.find("input[name=Phone]").intlTelInput("setNumber",t.request.Phone):t.contactModalForm.find("input[name=Phone]").val(t.request.Phone)}else t.error.html(i.message),t.error.show()},error:function(){t.error.html("An unknown error occurred. Please try again later.");t.error.show();t.submitButton.html("Get My Report").prop("disabled",!1)}}))};sendContactRequest=function(){if(t.contactModalForm.valid()){t.contactModalSubmit.html('<i class="fa fa-circle-o-notch fa-fw fa-spin"><\/i> Please Wait...').prop("disabled",!0);var i=t.contactModalForm.siSerializeObject(),r=_siUtils.getPhoneValue(t.contactModalForm.find('input[type="tel"]'));i.Phone=r.number;i.PhoneCountry=r.country;n.ajax({type:"POST",url:"/Home/SendContactRequest",data:JSON.stringify(i),async:!0,normalizeJSON:!1,evalResponse:!0,cache:!1,contentType:"application/json; charset=utf-8",dataType:"json",success:function(n){n.ResponseCode==0?(t.contactModalSuccessView.show(),t.contactModalSuccessView.find(".js-modal-close").focus(),t.contactModalInputView.hide()):t.contactModalError.show();t.contactModalSubmit.html("Submit").prop("disabled",!1)},error:function(){t.contactModalSubmit.html("Submit").prop("disabled",!1);t.contactModalError.show()}})}};init()}})(jQuery)