var bsBreakpoint = function() {
var bp = "xs";
if (window.matchMedia("(min-width: 576px)").matches) bp = "sm";
if (window.matchMedia("(min-width: 768px)").matches) bp = "md";
if (window.matchMedia("(min-width: 992px)").matches) bp = "lg";
if (window.matchMedia("(min-width: 1200px)").matches) bp = "xl";
return bp;
}
var bs_breakpoint = bsBreakpoint();
var updateNavOffset = function() {
var $navbar = $("[data-scroll-header]");
var nav_offset = $navbar.outerHeight(true);
$("body").data("offset", nav_offset).attr("data-offset", nav_offset);
}
window.addEventListener("resize", function() {
bs_breakpoint = bsBreakpoint();
updateNavOffset();
});
var getUrlParam = function(p) {
var url = new URL(window.location.href);
return url.searchParams.get(p);
}
$(function() {
updateNavOffset();
var lazyLoadInstance = new LazyLoad({
elements_selector: ".lazy"
});
// JS for contact modal form
$(".contact-modal").on('show.bs.modal',function(e) {
var $this_modal = $(e.currentTarget);
$this_modal.find(".success-msg").hide();
$this_modal.find(".error-msg").hide();
$this_modal.find(".contact-fields").removeClass("error");
$this_modal.find(".contact-form").trigger("reset").show();
$this_modal.find(".contact-fields-wrapper").show();
$this_modal.find(".btn-send-message").prop("disabled", false).show();
});
$(".contact-modal").on('shown.bs.modal',function(e) {
var $this_modal = $(e.currentTarget);
$this_modal.find(".captcha-div").load("/message/captcha #captchaDiv").show();
$this_modal.find("input[name='name']").focus();
});
$('.contact-form').each(function() {
$(this).validate({
focusInvalid: false,
rules: {
name: { required: true },
email: { required: true, email: true },
phone: { required: true },
message: { required: false },
captcha: { required: true }
},
submitHandler: function (form) {
var $form = $(form);
var fdata = $form.serialize();
var $success = $form.parent().find(".success-msg");
var $error = $form.find(".error-msg");
var $captcha = $form.find(".captcha-div");
var $btn = $form.find(".btn-send-message");
var defText = $btn.text();
var spin = '
';
$btn.prop("disabled", true).html(spin + defText);
var gatrackingid = $form.find(".gatrackingid").val();
var propertypath = $form.find(".propertypath").val();
$.ajax({
type: "POST",
url: "/message/site/contact",
data: fdata,
success: function(data) {
if (data.ERROR) {
$error.fadeIn(250).text(data.ERRORMESSAGE);
$captcha.load("/message/captcha #captchaDiv",function() {
if (!data.CAPTCHAVALID) {
$captcha.find(".captcha-input").addClass("error");
}
});
} else {
$error.hide();
$(".btn-send-message").hide();
$(".contact-fields-wrapper").hide(function() {
$success.show();
});
if (gatrackingid && propertypath) {
gtag('event', 'request_info', {
'event_category': 'property_page',
'event_label': propertypath,
'send_to': gatrackingid
});
}
}
$btn.prop("disabled", false).text(defText);
console.log("data", data);
}
});
return false;
}
});
});
// END: JS for contact modal form
// JS for virtual open house request meeting link modal
$(".virtual-open-house-modal").on('show.bs.modal',function(e) {
var $this_modal = $(e.currentTarget);
$this_modal.find(".success-msg").hide();
$this_modal.find(".error-msg").hide();
$this_modal.find(".contact-fields").removeClass("error");
$this_modal.find(".contact-form").trigger("reset").show();
$this_modal.find(".contact-fields-wrapper").show();
$this_modal.find(".btn-virtual-rsvp").prop("disabled", false).show();
});
$(".virtual-open-house-modal").on('shown.bs.modal',function(e) {
var $this_modal = $(e.currentTarget);
$this_modal.find("input[name='name']").focus();
});
$('.virtual-open-house-form').each(function () {
$(this).validate({
focusInvalid: false,
rules: {
name: { required: true },
email: { required: true, email: true },
phone: { required: true }
},
submitHandler: function (form) {
var $form = $(form);
var fdata = $form.serialize();
var $success = $form.parent().find(".success-msg");
var $error = $form.find(".error-msg");
var $btn = $form.find(".btn-virtual-rsvp");
var defText = $btn.text();
var spin = '
';
$btn.prop("disabled", true).html(spin + defText);
$.ajax({
type: "POST",
url: "/message/site/virtual-open-house",
data: fdata,
success: function (data) {
console.log(data);
if (data.ERROR) {
$error.fadeIn(250).text(data.ERRORMESSAGE);
} else {
$error.hide();
$(".btn-virtual-rsvp").hide();
$(".contact-fields-wrapper").hide(function () {
$success.show();
});
}
$btn.prop("disabled", false).text(defText);
}
});
return false;
}
});
});
if (demoMode && !getUrlParam("card")) {
$(".demo-mode-modal").modal();
}
});