(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{setup:()=>s,speak:()=>d});const n=window.wp.domReady;var o=e.n(n);function i(e="polite"){const t=document.createElement("div");t.id=`a11y-speak-${e}`,t.className="a11y-speak-region",t.setAttribute("style","position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);border:0;word-wrap:normal !important;"),t.setAttribute("aria-live",e),t.setAttribute("aria-relevant","additions text"),t.setAttribute("aria-atomic","true");const{body:n}=document;return n&&n.appendChild(t),t}const a=window.wp.i18n;let r="";function d(e,t){!function(){const e=document.getElementsByClassName("a11y-speak-region"),t=document.getElementById("a11y-speak-intro-text");for(let t=0;t<e.length;t++)e[t].textContent="";t&&t.setAttribute("hidden","hidden")}(),e=function(e){return e=e.replace(/<[^<>]+>/g," "),r===e&&(e+=" "),r=e,e}(e);const n=document.getElementById("a11y-speak-intro-text"),o=document.getElementById("a11y-speak-assertive"),i=document.getElementById("a11y-speak-polite");o&&"assertive"===t?o.textContent=e:i&&(i.textContent=e),n&&n.removeAttribute("hidden")}function s(){const e=document.getElementById("a11y-speak-intro-text"),t=document.getElementById("a11y-speak-assertive"),n=document.getElementById("a11y-speak-polite");null===e&&function(){const e=document.createElement("p");e.id="a11y-speak-intro-text",e.className="a11y-speak-intro-text",e.textContent=(0,a.__)("Notifications"),e.setAttribute("style","position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);border:0;word-wrap:normal !important;"),e.setAttribute("hidden","");const{body:t}=document;t&&t.appendChild(e)}(),null===t&&i("assertive"),null===n&&i("polite")}o()(s),(window.wp=window.wp||{}).a11y=t})();
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./menu","../keycode","../position","../safe-active-element","../version","../widget"],e):e(jQuery)}(function(o){"use strict";return o.widget("ui.autocomplete",{version:"1.13.3",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,e=this.element[0].nodeName.toLowerCase(),t="textarea"===e,e="input"===e;this.isMultiLine=t||!e&&this._isContentEditable(this.element),this.valueMethod=this.element[t||e?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var t=o.ui.keyCode;switch(e.keyCode){case t.PAGE_UP:i=!0,this._move("previousPage",e);break;case t.PAGE_DOWN:i=!0,this._move("nextPage",e);break;case t.UP:i=!0,this._keyEvent("previous",e);break;case t.DOWN:i=!0,this._keyEvent("next",e);break;case t.ENTER:this.menu.active&&(i=!0,e.preventDefault(),this.menu.select(e));break;case t.TAB:this.menu.active&&this.menu.select(e);break;case t.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(e),e.preventDefault());break;default:s=!0,this._searchTimeout(e)}}},keypress:function(e){if(i)i=!1,this.isMultiLine&&!this.menu.element.is(":visible")||e.preventDefault();else if(!s){var t=o.ui.keyCode;switch(e.keyCode){case t.PAGE_UP:this._move("previousPage",e);break;case t.PAGE_DOWN:this._move("nextPage",e);break;case t.UP:this._keyEvent("previous",e);break;case t.DOWN:this._keyEvent("next",e)}}},input:function(e){n?(n=!1,e.preventDefault()):this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){clearTimeout(this.searching),this.close(e),this._change(e)}}),this._initSource(),this.menu=o("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault()},menufocus:function(e,t){var i,s;this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent)&&/^mouse/.test(e.originalEvent.type)?(this.menu.blur(),this.document.one("mousemove",function(){o(e.target).trigger(e.originalEvent)})):(s=t.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:s})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value),(i=t.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(o("<div>").text(i))},100)))},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==o.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=o("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var t=this.menu.element[0];return e.target===this.element[0]||e.target===t||o.contains(t,e.target)},_closeOnClickOutside:function(e){this._isEventTargetInWidget(e)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e=(e=(e=e&&(e.jquery||e.nodeType?o(e):this.document.find(e).eq(0)))&&e[0]?e:this.element.closest(".ui-front, dialog")).length?e:this.document[0].body},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(e,t){t(o.ui.autocomplete.filter(i,e.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(e,t){n.xhr&&n.xhr.abort(),n.xhr=o.ajax({url:s,data:e,dataType:"json",success:function(e){t(e)},error:function(){t([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),t=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;e&&(t||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):!1!==this._trigger("search",t)?this._search(e):void 0},_search:function(e){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(e){e=e&&this._normalize(e),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:o.map(e,function(e){return"string"==typeof e?{label:e,value:e}:o.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var t=this.menu.element.empty();this._renderMenu(t,e),this.isNewMenu=!0,this.menu.refresh(),t.show(),this._resizeMenu(),t.position(o.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(i,e){var s=this;o.each(e,function(e,t){s._renderItemData(i,t)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(e,t){return o("<li>").append(o("<div>").text(t.label)).appendTo(e)},_move:function(e,t){this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur()):this.menu[e](t):this.search(null,t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(e,t),t.preventDefault())},_isContentEditable:function(e){var t;return!!e.length&&("inherit"===(t=e.prop("contentEditable"))?this._isContentEditable(e.parent()):"true"===t)}}),o.extend(o.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,t){var i=new RegExp(o.ui.autocomplete.escapeRegex(t),"i");return o.grep(e,function(e){return i.test(e.label||e.value||e)})}}),o.widget("ui.autocomplete",o.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(1<e?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(o("<div>").text(t))},100))}}),o.ui.autocomplete});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../ie","../version","../widget"],e):e(jQuery)}(function(o){"use strict";var n=!1;return o(document).on("mouseup",function(){n=!1}),o.widget("ui.mouse",{version:"1.13.3",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).on("click."+this.widgetName,function(e){if(!0===o.data(e.target,t.widgetName+".preventClickEvent"))return o.removeData(e.target,t.widgetName+".preventClickEvent"),e.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){var t,i,s;if(!n)return this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),i=1===(this._mouseDownEvent=e).which,s=!("string"!=typeof(t=this).options.cancel||!e.target.nodeName)&&o(e.target).closest(this.options.cancel).length,i&&!s&&this._mouseCapture(e)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){t.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?e.preventDefault():(!0===o.data(e.target,this.widgetName+".preventClickEvent")&&o.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return t._mouseMove(e)},this._mouseUpDelegate=function(e){return t._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0)),!0},_mouseMove:function(e){if(this._mouseMoved){if(o.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&o.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../keycode","../version","../widget"],e):e(jQuery)}(function(o){"use strict";return o.widget("ui.slider",o.ui.mouse,{version:"1.13.3",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,t=this.options,i=this.element.find(".ui-slider-handle"),s=[],a=t.values&&t.values.length||1;for(i.length>a&&(i.slice(a).remove(),i=i.slice(0,a)),e=i.length;e<a;e++)s.push("<span tabindex='0'></span>");this.handles=i.add(o(s.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){o(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:Array.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=o("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,a,n,t,h,l=this,u=this.options;return!u.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t),s=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var t=Math.abs(i-l.values(e));(t<s||s===t&&(e===l._lastChangedValue||l.values(e)===u.min))&&(s=t,a=o(this),n=e)}),!1!==this._start(e,n))&&(this._mouseSliding=!0,this._handleIndex=n,this._addClass(a,null,"ui-state-active"),a.trigger("focus"),t=a.offset(),h=!o(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-t.left-a.width()/2,top:e.pageY-t.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,n,i),this._animateOff=!0)},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},t=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,t),!1},_mouseStop:function(e){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,e="horizontal"===this.orientation?(t=this.elementSize.width,e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),e=e/t;return(e=1<e?1:e)<0&&(e=0),"vertical"===this.orientation&&(e=1-e),t=this._valueMax()-this._valueMin(),e=this._valueMin()+e*t,this._trimAlignValue(e)},_uiHash:function(e,t,i){var s={handle:this.handles[e],handleIndex:e,value:void 0!==t?t:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==t?t:this.values(e),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(e,t){return this._trigger("start",e,this._uiHash(t))},_slide:function(e,t,i){var s,a=this.value(),n=this.values();this._hasMultipleValues()&&(s=this.values(t?0:1),a=this.values(t),2===this.options.values.length&&!0===this.options.range&&(i=0===t?Math.min(s,i):Math.max(s,i)),n[t]=i),i!==a&&!1!==this._trigger("slide",e,this._uiHash(t,i,n))&&(this._hasMultipleValues()?this.values(t,i):this.value(i))},_stop:function(e,t){this._trigger("stop",e,this._uiHash(t))},_change:function(e,t){this._keySliding||this._mouseSliding||(this._lastChangedValue=t,this._trigger("change",e,this._uiHash(t)))},value:function(e){if(!arguments.length)return this._value();this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0)},values:function(e,t){var i,s,a;if(1<arguments.length)this.options.values[e]=this._trimAlignValue(t),this._refreshValue(),this._change(null,e);else{if(!arguments.length)return this._values();if(!Array.isArray(e))return this._hasMultipleValues()?this._values(e):this.value();for(i=this.options.values,s=e,a=0;a<i.length;a+=1)i[a]=this._trimAlignValue(s[a]),this._change(null,a);this._refreshValue()}},_setOption:function(e,t){var i,s=0;switch("range"===e&&!0===this.options.range&&("min"===t?(this.options.value=this._values(0),this.options.values=null):"max"===t&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),Array.isArray(this.options.values)&&(s=this.options.values.length),this._super(e,t),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(t),this.handles.css("horizontal"===t?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),i=s-1;0<=i;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(e){this._super(e),this._toggleClass(null,"ui-state-disabled",!!e)},_value:function(){var e=this.options.value;return this._trimAlignValue(e)},_values:function(e){var t,i;if(arguments.length)return e=this.options.values[e],this._trimAlignValue(e);if(this._hasMultipleValues()){for(t=this.options.values.slice(),i=0;i<t.length;i+=1)t[i]=this._trimAlignValue(t[i]);return t}return[]},_trimAlignValue:function(e){var t,i;return e<=this._valueMin()?this._valueMin():e>=this._valueMax()?this._valueMax():(t=0<this.options.step?this.options.step:1,i=e-(e=(e-this._valueMin())%t),2*Math.abs(e)>=t&&(i+=0<e?t:-t),parseFloat(i.toFixed(5)))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step;(e=Math.round((e-t)/i)*i+t)>this.options.max&&(e-=i),this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return e=null!==this.options.min?Math.max(e,this._precisionOf(this.options.min)):e},_precisionOf:function(e){var e=e.toString(),t=e.indexOf(".");return-1===t?0:e.length-t-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(e){"vertical"===e&&this.range.css({width:"",left:""}),"horizontal"===e&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var t,i,e,s,a,n=this.options.range,h=this.options,l=this,u=!this._animateOff&&h.animate,r={};this._hasMultipleValues()?this.handles.each(function(e){i=(l.values(e)-l._valueMin())/(l._valueMax()-l._valueMin())*100,r["horizontal"===l.orientation?"left":"bottom"]=i+"%",o(this).stop(1,1)[u?"animate":"css"](r,h.animate),!0===l.options.range&&("horizontal"===l.orientation?(0===e&&l.range.stop(1,1)[u?"animate":"css"]({left:i+"%"},h.animate),1===e&&l.range[u?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:h.animate})):(0===e&&l.range.stop(1,1)[u?"animate":"css"]({bottom:i+"%"},h.animate),1===e&&l.range[u?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:h.animate}))),t=i}):(e=this.value(),s=this._valueMin(),a=this._valueMax(),i=a!==s?(e-s)/(a-s)*100:0,r["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[u?"animate":"css"](r,h.animate),"min"===n&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:i+"%"},h.animate),"max"===n&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:100-i+"%"},h.animate),"min"===n&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:i+"%"},h.animate),"max"===n&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:100-i+"%"},h.animate))},_handleEvents:{keydown:function(e){var t,i,s,a=o(e.target).data("ui-slider-handle-index");switch(e.keyCode){case o.ui.keyCode.HOME:case o.ui.keyCode.END:case o.ui.keyCode.PAGE_UP:case o.ui.keyCode.PAGE_DOWN:case o.ui.keyCode.UP:case o.ui.keyCode.RIGHT:case o.ui.keyCode.DOWN:case o.ui.keyCode.LEFT:if(e.preventDefault(),this._keySliding||(this._keySliding=!0,this._addClass(o(e.target),null,"ui-state-active"),!1!==this._start(e,a)))break;return}switch(s=this.options.step,t=i=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case o.ui.keyCode.HOME:i=this._valueMin();break;case o.ui.keyCode.END:i=this._valueMax();break;case o.ui.keyCode.PAGE_UP:i=this._trimAlignValue(t+(this._valueMax()-this._valueMin())/this.numPages);break;case o.ui.keyCode.PAGE_DOWN:i=this._trimAlignValue(t-(this._valueMax()-this._valueMin())/this.numPages);break;case o.ui.keyCode.UP:case o.ui.keyCode.RIGHT:if(t===this._valueMax())return;i=this._trimAlignValue(t+s);break;case o.ui.keyCode.DOWN:case o.ui.keyCode.LEFT:if(t===this._valueMin())return;i=this._trimAlignValue(t-s)}this._slide(e,a,i)},keyup:function(e){var t=o(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,t),this._change(e,t),this._removeClass(o(e.target),null,"ui-state-active"))}}})});
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):b("object"==typeof exports?require("jquery"):a.jQuery)}(this,function(a){"use strict";function b(a){var b,c,d,e,f,g,h,i={};for(f=a.replace(/\s*:\s*/g,":").replace(/\s*,\s*/g,",").split(","),h=0,g=f.length;h<g&&(c=f[h],c.search(/^(http|https|ftp):\/\//)===-1&&c.search(":")!==-1);h++)b=c.indexOf(":"),d=c.substring(0,b),e=c.substring(b+1),e||(e=void 0),"string"==typeof e&&(e="true"===e||"false"!==e&&e),"string"==typeof e&&(e=isNaN(e)?e:+e),i[d]=e;return null==d&&null==e?a:i}function c(a){a=""+a;var b,c,d,e=a.split(/\s+/),f="50%",g="50%";for(d=0,b=e.length;d<b;d++)c=e[d],"left"===c?f="0%":"right"===c?f="100%":"top"===c?g="0%":"bottom"===c?g="100%":"center"===c?0===d?f="50%":g="50%":0===d?f=c:g=c;return{x:f,y:g}}function d(b,c){var d=function(){c(this.src)};a('<img src="'+b+'.gif">').on("load",d),a('<img src="'+b+'.jpg">').on("load",d),a('<img src="'+b+'.jpeg">').on("load",d),a('<img src="'+b+'.png">').on("load",d)}function e(c,d,e){if(this.$element=a(c),"string"==typeof d&&(d=b(d)),e?"string"==typeof e&&(e=b(e)):e={},"string"==typeof d)d=d.replace(/\.\w*$/,"");else if("object"==typeof d)for(var f in d)d.hasOwnProperty(f)&&(d[f]=d[f].replace(/\.\w*$/,""));this.settings=a.extend({},g,e),this.path=d;try{this.init()}catch(i){if(i.message!==h)throw i}}var f="vide",g={volume:1,playbackRate:1,muted:!0,loop:!0,autoplay:!0,position:"50% 50%",posterType:"detect",resizing:!0,bgColor:"transparent",className:""},h="Not implemented";e.prototype.init=function(){var b,e,f=this,g=f.path,i=g,j="",k=f.$element,l=f.settings,m=c(l.position),n=l.posterType;e=f.$wrapper=a("<div>").addClass(l.className).css({position:"absolute","z-index":-1,top:0,left:0,bottom:0,right:0,overflow:"hidden","-webkit-background-size":"cover","-moz-background-size":"cover","-o-background-size":"cover","background-size":"cover","background-color":l.bgColor,"background-repeat":"no-repeat","background-position":m.x+" "+m.y}),"object"==typeof g&&(g.poster?i=g.poster:g.mp4?i=g.mp4:g.webm?i=g.webm:g.ogv&&(i=g.ogv)),"detect"===n?d(i,function(a){e.css("background-image","url("+a+")")}):"none"!==n&&e.css("background-image","url("+i+"."+n+")"),"static"===k.css("position")&&k.css("position","relative"),k.prepend(e),"object"==typeof g?(g.mp4&&(j+='<source src="'+g.mp4+'.mp4" type="video/mp4">'),g.webm&&(j+='<source src="'+g.webm+'.webm" type="video/webm">'),g.ogv&&(j+='<source src="'+g.ogv+'.ogv" type="video/ogg">'),b=f.$video=a("<video>"+j+"</video>")):b=f.$video=a('<video><source src="'+g+'.mp4" type="video/mp4"><source src="'+g+'.webm" type="video/webm"><source src="'+g+'.ogv" type="video/ogg"></video>');try{b.prop({autoplay:l.autoplay,loop:l.loop,volume:l.volume,muted:l.muted,defaultMuted:l.muted,playbackRate:l.playbackRate,defaultPlaybackRate:l.playbackRate})}catch(o){throw new Error(h)}b.css({margin:"auto",position:"absolute","z-index":-1,top:m.y,left:m.x,"-webkit-transform":"translate(-"+m.x+", -"+m.y+")","-ms-transform":"translate(-"+m.x+", -"+m.y+")","-moz-transform":"translate(-"+m.x+", -"+m.y+")",transform:"translate(-"+m.x+", -"+m.y+")",visibility:"hidden",opacity:0}).one("canplaythrough.vide",function(){f.resize()}).one("playing.vide",function(){b.css({visibility:"visible",opacity:1}),e.css("background-image","none")}),k.on("resize.vide",function(){l.resizing&&f.resize()}),e.append(b)},e.prototype.getVideoObject=function(){return this.$video[0]},e.prototype.resize=function(){if(this.$video){var a=this.$wrapper,b=this.$video,c=b[0],d=c.videoHeight,e=c.videoWidth,f=a.height(),g=a.width();g/e>f/d?b.css({width:g+2,height:"auto"}):b.css({width:"auto",height:f+2})}},e.prototype.destroy=function(){delete a[f].lookup[this.index],this.$video&&this.$video.off(f),this.$element.off(f).removeData(f),this.$wrapper.remove()},a[f]={lookup:[]},a.fn[f]=function(b,c){var d;return this.each(function(){d=a.data(this,f),d&&d.destroy(),d=new e(this,b,c),d.index=a[f].lookup.push(d)-1,a.data(this,f,d)}),this},a(document).ready(function(){var b=a(window);b.on("resize.vide",function(){for(var b,c=a[f].lookup.length,d=0;d<c;d++)b=a[f].lookup[d],b&&b.settings.resizing&&b.resize()}),b.on("unload.vide",function(){return!1}),a(document).find("[data-vide-bg]").each(function(b,c){var d=a(c),e=d.data("vide-options"),g=d.data("vide-bg");d[f](g,e)})})});
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c<d;c++)if(0<=this[c].valueOf()-b&&this[c].valueOf()-b<864e5)return c;return-1},remove:function(a){this.splice(a,1)},replace:function(b){b&&(a.isArray(b)||(b=[b]),this.clear(),this.push.apply(this,b))},clear:function(){this.length=0},copy:function(){var a=new j;return a.replace(this),a}};return function(){var c=[];return c.push.apply(c,arguments),a.extend(c,b),c}}(),k=function(b,c){a.data(b,"datepicker",this),this._events=[],this._secondaryEvents=[],this._process_options(c),this.dates=new j,this.viewDate=this.o.defaultViewDate,this.focusDate=null,this.element=a(b),this.isInput=this.element.is("input"),this.inputField=this.isInput?this.element:this.element.find("input"),this.component=!!this.element.hasClass("date")&&this.element.find(".add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn"),this.component&&0===this.component.length&&(this.component=!1),this.isInline=!this.component&&this.element.is("div"),this.picker=a(r.template),this._check_template(this.o.templates.leftArrow)&&this.picker.find(".prev").html(this.o.templates.leftArrow),this._check_template(this.o.templates.rightArrow)&&this.picker.find(".next").html(this.o.templates.rightArrow),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.o.rtl&&this.picker.addClass("datepicker-rtl"),this.o.calendarWeeks&&this.picker.find(".datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear").attr("colspan",function(a,b){return Number(b)+1}),this._process_options({startDate:this._o.startDate,endDate:this._o.endDate,daysOfWeekDisabled:this.o.daysOfWeekDisabled,daysOfWeekHighlighted:this.o.daysOfWeekHighlighted,datesDisabled:this.o.datesDisabled}),this._allow_update=!1,this.setViewMode(this.o.startView),this._allow_update=!0,this.fillDow(),this.fillMonths(),this.update(),this.isInline&&this.show()};k.prototype={constructor:k,_resolveViewName:function(b){return a.each(r.viewModes,function(c,d){if(b===c||-1!==a.inArray(b,d.names))return b=c,!1}),b},_resolveDaysOfWeek:function(b){return a.isArray(b)||(b=b.split(/[,\s]*/)),a.map(b,Number)},_check_template:function(c){try{if(c===b||""===c)return!1;if((c.match(/[<>]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;f<a.length;f++)c=a[f][0],2===a[f].length?(d=b,e=a[f][1]):3===a[f].length&&(d=a[f][1],e=a[f][2]),c.on(e,d)},_unapplyEvents:function(a){for(var c,d,e,f=0;f<a.length;f++)c=a[f][0],2===a[f].length?(e=b,d=a[f][1]):3===a[f].length&&(e=a[f][1],d=a[f][2]),c.off(d,e)},_buildEvents:function(){var b={keyup:a.proxy(function(b){-1===a.inArray(b.keyCode,[27,37,39,38,40,32,13,9])&&this.update()},this),keydown:a.proxy(this.keydown,this),paste:a.proxy(this.paste,this)};!0===this.o.showOnFocus&&(b.focus=a.proxy(this.show,this)),this.isInput?this._events=[[this.element,b]]:this.component&&this.inputField.length?this._events=[[this.inputField,b],[this.component,{click:a.proxy(this.show,this)}]]:this._events=[[this.element,{click:a.proxy(this.show,this),keydown:a.proxy(this.keydown,this)}]],this._events.push([this.element,"*",{blur:a.proxy(function(a){this._focused_from=a.target},this)}],[this.element,{blur:a.proxy(function(a){this._focused_from=a.target},this)}]),this.o.immediateUpdates&&this._events.push([this.element,{"changeYear changeMonth":a.proxy(function(a){this.update(a.date)},this)}]),this._secondaryEvents=[[this.picker,{click:a.proxy(this.click,this)}],[this.picker,".prev, .next",{click:a.proxy(this.navArrowsClick,this)}],[this.picker,".day:not(.disabled)",{click:a.proxy(this.dayCellClick,this)}],[a(window),{resize:a.proxy(this.place,this)}],[a(document),{"mousedown touchstart":a.proxy(function(a){this.element.is(a.target)||this.element.find(a.target).length||this.picker.is(a.target)||this.picker.find(a.target).length||this.isInline||this.hide()},this)}]]},_attachEvents:function(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(b,c){var d=c||this.dates.get(-1),e=this._utc_to_local(d);this.element.trigger({type:b,date:e,viewMode:this.viewMode,dates:a.map(this.dates,this._utc_to_local),format:a.proxy(function(a,b){0===arguments.length?(a=this.dates.length-1,b=this.o.format):"string"==typeof a&&(b=a,a=this.dates.length-1),b=b||this.o.format;var c=this.dates.get(a);return r.formatDate(c,b,this.o.language)},this)})},show:function(){if(!(this.inputField.is(":disabled")||this.inputField.prop("readonly")&&!1===this.o.enableOnReadonly))return this.isInline||this.picker.appendTo(this.o.container),this.place(),this.picker.show(),this._attachSecondaryEvents(),this._trigger("show"),(window.navigator.msMaxTouchPoints||"ontouchstart"in document)&&this.o.disableTouchKeyboard&&a(this.element).blur(),this},hide:function(){return this.isInline||!this.picker.is(":visible")?this:(this.focusDate=null,this.picker.hide().detach(),this._detachSecondaryEvents(),this.setViewMode(this.o.startView),this.o.forceParse&&this.inputField.val()&&this.setValue(),this._trigger("hide"),this)},destroy:function(){return this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete this.element.data().datepicker,this.isInput||delete this.element.data().date,this},paste:function(b){var c;if(b.originalEvent.clipboardData&&b.originalEvent.clipboardData.types&&-1!==a.inArray("text/plain",b.originalEvent.clipboardData.types))c=b.originalEvent.clipboardData.getData("text/plain");else{if(!window.clipboardData)return;c=window.clipboardData.getData("Text")}this.setDate(c),this.update(),b.preventDefault()},_utc_to_local:function(a){if(!a)return a;var b=new Date(a.getTime()+6e4*a.getTimezoneOffset());return b.getTimezoneOffset()!==a.getTimezoneOffset()&&(b=new Date(a.getTime()+6e4*b.getTimezoneOffset())),b},_local_to_utc:function(a){return a&&new Date(a.getTime()-6e4*a.getTimezoneOffset())},_zero_time:function(a){return a&&new Date(a.getFullYear(),a.getMonth(),a.getDate())},_zero_utc_time:function(a){return a&&c(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate())},getDates:function(){return a.map(this.dates,this._utc_to_local)},getUTCDates:function(){return a.map(this.dates,function(a){return new Date(a)})},getDate:function(){return this._utc_to_local(this.getUTCDate())},getUTCDate:function(){var a=this.dates.get(-1);return a!==b?new Date(a):null},clearDates:function(){this.inputField.val(""),this.update(),this._trigger("changeDate"),this.o.autoclose&&this.hide()},setDates:function(){var b=a.isArray(arguments[0])?arguments[0]:arguments;return this.update.apply(this,b),this._trigger("changeDate"),this.setValue(),this},setUTCDates:function(){var b=a.isArray(arguments[0])?arguments[0]:arguments;return this.setDates.apply(this,a.map(b,this._utc_to_local)),this},setDate:f("setDates"),setUTCDate:f("setUTCDates"),remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead"),setValue:function(){var a=this.getFormattedDate();return this.inputField.val(a),this},getFormattedDate:function(c){c===b&&(c=this.o.format);var d=this.o.language;return a.map(this.dates,function(a){return r.formatDate(a,c,d)}).join(this.o.multidateSeparator)},getStartDate:function(){return this.o.startDate},setStartDate:function(a){return this._process_options({startDate:a}),this.update(),this.updateNavArrows(),this},getEndDate:function(){return this.o.endDate},setEndDate:function(a){return this._process_options({endDate:a}),this.update(),this.updateNavArrows(),this},setDaysOfWeekDisabled:function(a){return this._process_options({daysOfWeekDisabled:a}),this.update(),this},setDaysOfWeekHighlighted:function(a){return this._process_options({daysOfWeekHighlighted:a}),this.update(),this},setDatesDisabled:function(a){return this._process_options({datesDisabled:a}),this.update(),this},place:function(){if(this.isInline)return this;var b=this.picker.outerWidth(),c=this.picker.outerHeight(),d=a(this.o.container),e=d.width(),f="body"===this.o.container?a(document).scrollTop():d.scrollTop(),g=d.offset(),h=[0];this.element.parents().each(function(){var b=a(this).css("z-index");"auto"!==b&&0!==Number(b)&&h.push(Number(b))});var i=Math.max.apply(Math,h)+this.o.zIndexOffset,j=this.component?this.component.parent().offset():this.element.offset(),k=this.component?this.component.outerHeight(!0):this.element.outerHeight(!1),l=this.component?this.component.outerWidth(!0):this.element.outerWidth(!1),m=j.left-g.left,n=j.top-g.top;"body"!==this.o.container&&(n+=f),this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"),"auto"!==this.o.orientation.x?(this.picker.addClass("datepicker-orient-"+this.o.orientation.x),"right"===this.o.orientation.x&&(m-=b-l)):j.left<0?(this.picker.addClass("datepicker-orient-left"),m-=j.left-10):m+b>e?(this.picker.addClass("datepicker-orient-right"),m+=l-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var o,p=this.o.orientation.y;if("auto"===p&&(o=-f+n-c,p=o<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+p),"top"===p?n-=c+parseInt(this.picker.css("padding-top")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDate<this.o.startDate?this.viewDate=new Date(this.o.startDate):this.viewDate>this.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="<tr>";for(this.o.calendarWeeks&&(c+='<th class="cw">&#160;</th>');b<this.o.weekStart+7;)c+='<th class="dow',-1!==a.inArray(b,this.o.daysOfWeekDisabled)&&(c+=" disabled"),c+='">'+q[this.o.language].daysMin[b++%7]+"</th>";c+="</tr>",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+='<span class="month'+a+'">'+q[this.o.language].monthsShort[d]+"</span>";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()<f||b.getUTCFullYear()===f&&b.getUTCMonth()<g?c.push("old"):(b.getUTCFullYear()>f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&b<this.range[this.range.length-1]&&c.push("range"),-1!==a.inArray(b.valueOf(),this.range)&&c.push("selected"),b.valueOf()===this.range[0]&&c.push("range-start"),b.valueOf()===this.range[this.range.length-1]&&c.push("range-end")),c},_fill_yearsView:function(c,d,e,f,g,h,i){for(var j,k,l,m="",n=e/10,o=this.picker.find(c),p=Math.floor(f/e)*e,q=p+9*n,r=Math.floor(this.viewDate.getFullYear()/n)*n,s=a.map(this.dates,function(a){return Math.floor(a.getUTCFullYear()/n)*n}),t=p-n;t<=q+n;t+=n)j=[d],k=null,t===p-n?j.push("old"):t===q+n&&j.push("new"),-1!==a.inArray(t,s)&&j.push("active"),(t<g||t>h)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='<span class="'+j.join(" ")+'"'+(k?' title="'+k+'"':"")+">"+t+"</span>";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()<w;){if((x=u.getUTCDay())===this.o.weekStart&&(z.push("<tr>"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push('<td class="cw">'+D+"</td>")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push('<td class="'+y.join(" ")+'"'+(e?' title="'+e+'"':"")+' data-date="'+u.getTime().toString()+'">'+E+"</td>"),e=null,x===this.o.weekEnd&&z.push("</tr>"),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(h<j||h>l)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j<i;j++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return c!==e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return e},moveYear:function(a,b){return this.moveMonth(a,12*b)},moveAvailableDate:function(a,b,c){do{if(a=this[c](a,b),!this.dateWithinRange(a))return!1;c="moveDay"}while(this.dateIsDisabled(a));return a},weekOfDateIsDisabled:function(b){return-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekDisabled)},dateIsDisabled:function(b){return this.weekOfDateIsDisabled(b)||a.grep(this.o.datesDisabled,function(a){return e(b,a)}).length>0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e<this.dates[h])for(;h>=0&&e<this.dates[h];)this.pickers[h--].setUTCDate(e);else if(e>this.dates[i])for(;i<j&&e>this.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"&#x00AB;",rightArrow:"&#x00BB;"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n<j.length;n++)l=j[n].match(/([\-+]\d+)([dmwy])/i),m=Number(l[1]),o=p[l[2].toLowerCase()],c=k.prototype[o](c,m);return k.prototype._zero_utc_time(c)}j=c&&c.match(this.nonpunctuation)||[];var t,u,v={},w=["yyyy","yy","M","MM","m","mm","d","dd"],x={yyyy:function(a,b){return a.setUTCFullYear(g?h(b,g):b)},m:function(a,b){if(isNaN(a))return a;for(b-=1;b<0;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!==b;)a.setUTCDate(a.getUTCDate()-1);return a},d:function(a,b){return a.setUTCDate(b)}};x.yy=x.yyyy,x.M=x.MM=x.mm=x.m,x.dd=x.d,c=d();var y=e.parts.slice();if(j.length!==y.length&&(y=a(y).filter(function(b,c){return-1!==a.inArray(c,w)}).toArray()),j.length===y.length){var z;for(n=0,z=y.length;n<z;n++){if(t=parseInt(j[n],10),l=y[n],isNaN(t))switch(l){case"MM":u=a(q[f].months).filter(i),t=a.inArray(u[0],q[f].months)+1;break;case"M":u=a(q[f].monthsShort).filter(i),t=a.inArray(u[0],q[f].monthsShort)+1}v[l]=t}var A,B;for(n=0;n<w.length;n++)(B=w[n])in v&&!isNaN(v[B])&&(A=new Date(c),x[B](A,v[B]),isNaN(A)||(c=A))}return c},formatDate:function(b,c,d){if(!b)return"";if("string"==typeof c&&(c=r.parseFormat(c)),c.toDisplay)return c.toDisplay(b,c,d);var e={d:b.getUTCDate(),D:q[d].daysShort[b.getUTCDay()],DD:q[d].days[b.getUTCDay()],m:b.getUTCMonth()+1,M:q[d].monthsShort[b.getUTCMonth()],MM:q[d].months[b.getUTCMonth()],yy:b.getUTCFullYear().toString().substring(2),yyyy:b.getUTCFullYear()};e.dd=(e.d<10?"0":"")+e.d,e.mm=(e.m<10?"0":"")+e.m,b=[];for(var f=a.extend([],c.separators),g=0,h=c.parts.length;g<=h;g++)f.length&&b.push(f.shift()),b.push(e[c.parts[g]]);return b.join("")},
headTemplate:'<thead><tr><th colspan="7" class="datepicker-title"></th></tr><tr><th class="prev">'+o.templates.leftArrow+'</th><th colspan="5" class="datepicker-switch"></th><th class="next">'+o.templates.rightArrow+"</th></tr></thead>",contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};r.template='<div class="datepicker"><div class="datepicker-days"><table class="table-condensed">'+r.headTemplate+"<tbody></tbody>"+r.footTemplate+'</table></div><div class="datepicker-months"><table class="table-condensed">'+r.headTemplate+r.contTemplate+r.footTemplate+'</table></div><div class="datepicker-years"><table class="table-condensed">'+r.headTemplate+r.contTemplate+r.footTemplate+'</table></div><div class="datepicker-decades"><table class="table-condensed">'+r.headTemplate+r.contTemplate+r.footTemplate+'</table></div><div class="datepicker-centuries"><table class="table-condensed">'+r.headTemplate+r.contTemplate+r.footTemplate+"</table></div></div>",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})});
var houzezThemeGlobal={};
(function ($){
'use strict';
var $win=$(window);
var popupSliderLoaded=false;
var houzezStickyTop=0;
var adminBarHeight=0;
var ajaxurl=houzez_vars.admin_url + 'admin-ajax.php';
var compare_url=houzez_vars.compare_url;
var houzez_rtl=houzez_vars.houzez_rtl;
var userID=houzez_vars.user_id;
var wp_is_mobile=houzez_vars.wp_is_mobile;
var houzez_is_splash=houzez_vars.houzez_is_splash;
var prop_detail_nav=houzez_vars.prop_detail_nav;
var search_position=houzez_vars.search_position;
var is_singular_property=houzez_vars.is_singular_property;
var transparent_logo=houzez_vars.transparent_logo;
var is_transparent=houzez_vars.is_transparent;
var is_top_header=houzez_vars.is_top_header;
var houzez_date_language=houzez_vars.houzez_date_language;
var compare_add_icon=houzez_vars.compare_add_icon;
var add_compare_text=houzez_vars.add_compare_text;
var compare_remove_icon=houzez_vars.compare_remove_icon;
var remove_compare_text=houzez_vars.remove_compare_text;
var compare_limit=houzez_vars.compare_limit;
var compare_page_not_found=houzez_vars.compare_page_not_found;
var g_recaptha_version=houzez_vars.g_recaptha_version;
var for_rent=houzez_vars.for_rent;
var listings_not_found=houzez_vars.listings_not_found;
var for_rent_price_slider=houzez_vars.for_rent_price_slider;
var search_price_range_min=parseInt(houzez_vars.search_min_price_range);
var search_price_range_max=parseInt(houzez_vars.search_max_price_range);
var search_price_range_min_rent=parseInt(
houzez_vars.search_min_price_range_for_rent
);
var search_price_range_max_rent=parseInt(
houzez_vars.search_max_price_range_for_rent
);
var get_min_price=parseInt(houzez_vars.get_min_price);
var get_max_price=parseInt(houzez_vars.get_max_price);
var currency_position=houzez_vars.currency_position;
var decimals=houzez_vars.decimals;
var decimal_point_separator=houzez_vars.decimal_point_separator;
var thousands_separator=houzez_vars.thousands_separator;
var currency_symb=houzez_vars.currency_symbol;
var is_halfmap=parseInt(houzez_vars.is_halfmap);
var houzez_reCaptcha=parseInt(houzez_vars.houzez_reCaptcha);
var prev_text=houzez_vars.prev_text;
var next_text=houzez_vars.next_text;
var listing_pagination=houzez_vars.listing_pagination;
var keyword_search_field=houzez_vars.keyword_search_field;
var keyword_autocomplete=houzez_vars.keyword_autocomplete;
var autosearch_text=houzez_vars.autosearch_text;
var login_redirect_type=houzez_vars.redirect_type;
var login_redirect=houzez_vars.login_redirect;
var login_loading=houzez_vars.login_loading;
var paypal_connecting=houzez_vars.paypal_connecting;
var processing_text=houzez_vars.processing_text;
var is_edit_property=houzez_vars.is_edit_property;
var property_gallery_popup_type=houzez_vars.property_gallery_popup_type;
var simple_logo=houzez_vars.simple_logo;
var retina_logo=houzez_vars.retina_logo;
var mobile_logo=houzez_vars.mobile_logo;
var retina_logo_mobile=houzez_vars.retina_logo_mobile;
var retina_logo_mobile_splash=houzez_vars.retina_logo_mobile_splash;
var custom_logo_splash=houzez_vars.custom_logo_splash;
var retina_logo_splash=houzez_vars.retina_logo_splash;
var calDoughnutChart;
var is_listing_gallery_slider=false;
var top_banner_wrap_height=0;
var top_banner_wrap=$('.top-banner-wrap ');
var header_area=$('.header-main-wrap');
var advanced_search_nav=$('.advanced-search-nav');
var desktop_header_search_enabled=advanced_search_nav.data('sticky');
var elementor_location_header=$('.elementor-location-header');
var header_area_height=header_area.innerHeight();
var elementor_location_header_height =
elementor_location_header.innerHeight();
var advanced_search_nav_height=advanced_search_nav.innerHeight();
var header_nav=$('#header-section');
var houzez_nav_sticky_height=header_nav.innerHeight();
var only_nav_sticky=header_nav.data('sticky');
houzezThemeGlobal.$body=$('body');
houzezThemeGlobal.$document=$(document);
houzezThemeGlobal.$window=$(window);
houzezThemeGlobal.houzezEleAddAction=function (name, callback){
houzezThemeGlobal.$window.on('elementor/frontend/init', function (){
if(!elementorFrontend.isEditMode()){
return;
}
elementorFrontend.hooks.addAction(name, callback);
});
};
var houzez_is_mobile =
/ipad|iphone|ipod|android|blackberry|webos|iemobile|windows phone/i.test(navigator.userAgent.toLowerCase()
);
if(prop_detail_nav=='yes'&&is_singular_property){
only_nav_sticky=0;
}
if(elementor_location_header_height==null){
elementor_location_header_height=0;
}
if(header_area_height==null){
header_area_height=0;
}
if(advanced_search_nav_height==null){
advanced_search_nav_height=0;
}
if(houzez_rtl=='yes'){
houzez_rtl=true;
}else{
houzez_rtl=false;
}
if(only_nav_sticky===1){
houzezStickyTop=houzez_nav_sticky_height;
if(!wp_is_mobile){
desktop_header_search_enabled=0;
}}
var make_search_sticky_position =
header_area_height + advanced_search_nav_height;
var searchStickyPlus=100;
var search_under_navigation=true;
if(wp_is_mobile){
make_search_sticky_position=make_search_sticky_position + 40;
}
$(document).ready(function (){
top_banner_wrap_height=top_banner_wrap.innerHeight();
if(search_position=='under_banner'){
make_search_sticky_position =
header_area_height + top_banner_wrap_height;
searchStickyPlus=0;
if(wp_is_mobile){
searchStickyPlus=60;
}
if(is_transparent){
searchStickyPlus=60;
}
search_under_navigation=false;
}
adminBarHeight=$('#wpadminbar').innerHeight();
if(adminBarHeight!=null){
houzezStickyTop=houzezStickyTop + adminBarHeight;
}});
function HouzezDebounce(func, delay){
let debounceTimer;
return function (){
const context=this;
const args=arguments;
clearTimeout(debounceTimer);
debounceTimer=setTimeout(()=> func.apply(context, args), delay);
};}
function parseBool(str){
if(str=='true'){
return true;
}else{
return false;
}}
$(document).ready(function (){
if($('#video-background').length > 0){
$('#video-background').data('vide').getVideoObject().play();
}});
function adjustMegaMenu(
megaMenuSelector,
containerSelector,
fullwidthClass,
customWidthClass,
customWidthPx
){
jQuery(megaMenuSelector).each(function (){
var $megamenu=jQuery(this);
var windowWidth=jQuery(window).width();
var isRTL=jQuery('html').attr('dir')==='rtl';
var $fullwidthContainer=$megamenu.closest(fullwidthClass);
var $customWidthContainer=$megamenu.closest(customWidthClass);
var $container=$megamenu.closest(containerSelector);
var $navItem=$megamenu.closest('.nav-item');
$megamenu.css({ left: '', right: '', width: '' });
if($fullwidthContainer.length > 0){
$megamenu.css('width', '100vw');
var offset=$megamenu.offset();
if(offset&&typeof offset.left==='number'){
var position=offset.left * -1;
if(isRTL){
$megamenu.css('right', (-position) + 'px');
}else{
$megamenu.css('left', position + 'px');
}}else{
console.warn('Mega menu offset not found for fullwidth container.');
}}
else if($customWidthContainer.length > 0){
$megamenu.css('width', customWidthPx + 'px');
if($navItem.length===0){
console.warn('No .nav-item found for custom width calculation.');
return;
}
var menuItemOffset=$navItem.offset().left;
var parentOffset=$megamenu.parent().offset();
parentOffset=parentOffset ? parentOffset.left:0;
var position=menuItemOffset - parentOffset;
if(menuItemOffset + customWidthPx > windowWidth){
position -=(customWidthPx - $navItem.width());
}
if(isRTL){
$megamenu.css('right', (-position) + 'px');
}else{
$megamenu.css('left', position + 'px');
}}
else if($container.length > 0){
var containerWidth=$container.width();
$megamenu.css('width', containerWidth);
var containerOffsetObj=$container.offset();
var navItemOffsetObj=$navItem.offset();
if(containerOffsetObj&&navItemOffsetObj){
var containerOffset=containerOffsetObj.left;
var megamenuOffset=navItemOffsetObj.left;
var position=containerOffset - megamenuOffset;
if(isRTL){
$megamenu.css('right', (-position) + 'px');
}else{
$megamenu.css('left', position + 'px');
}}else{
console.warn('Could not determine offsets for container or nav-item.');
}}else{
console.warn('No container found for mega menu adjustment.');
}});
}
function setMenuFullWidthEle(){
if($('#houzez_toggle').length > 0){
var isRTL=$('html').attr('dir')==='rtl';
var leftDistance;
leftDistance=$('#houzez_toggle').offset().left;
$('.houzez-nav-mobile-menu-fullwidth .main-mobile-nav').css('left',
'calc(50vw - ' + leftDistance + 'px)'
);
console.log('Distance from the left:', leftDistance);
}}
$(window).on('load', function (){
adjustMegaMenu(
'.houzez-elementor-menu .dropdown-menu.megamenu',
'.e-con-inner',
'.menu-item-design-full-width',
'.menu-item-design-custom-size',
200
);
setTimeout(setMenuFullWidthEle, 500);
});
$(window).resize(function (){
adjustMegaMenu(
'.houzez-elementor-menu .dropdown-menu.megamenu',
'.e-con-inner',
'.menu-item-design-full-width',
'.menu-item-design-custom-size',
200
);
setMenuFullWidthEle();
});
if($('.hs-gallery-v3-wrap').length > 0 ||
$('.hs-gallery-v2-wrap').length > 0
){
function adjustTabContentHeight(){
var galleryHeight=$(
'.hs-property-gallery-wrap #pills-gallery'
).height();
$('.tab-content #pills-map').css('height', galleryHeight);
$('.tab-content .houzez-top-area-video').css('height',
galleryHeight
);
$('.tab-content .houzez-360-virtual-tour').css('height',
galleryHeight
);
$('.tab-content #pills-street-view').css('height', galleryHeight);
}
function checkAndAdjustLayout(){
adjustTabContentHeight();
}
$(window).on('load resize', function (){
checkAndAdjustLayout();
});
checkAndAdjustLayout();
}
function houzez_lazyload(){
document.addEventListener('DOMContentLoaded', function (){
var lazyImages=[].slice.call(document.querySelectorAll('.houzez-lazyload')
);
if('IntersectionObserver' in window){
let lazyImageObserver=new IntersectionObserver(function (
entries,
observer
){
entries.forEach(function (entry){
if(entry.isIntersecting){
let lazyImage=entry.target;
lazyImage.src=lazyImage.dataset.src;
if(lazyImage.dataset.srcset){
lazyImage.srcset=lazyImage.dataset.srcset;
}
lazyImage.classList.remove('houzez-lazyload');
lazyImageObserver.unobserve(lazyImage);
}});
});
lazyImages.forEach(function (lazyImage){
lazyImageObserver.observe(lazyImage);
});
}else{
}});
}
houzez_lazyload();
function houzez_lazyload_for_ajax(){
var lazyImages=[].slice.call(document.querySelectorAll('.houzez-lazyload')
);
if('IntersectionObserver' in window){
let lazyImageObserver=new IntersectionObserver(function (
entries,
observer
){
entries.forEach(function (entry){
if(entry.isIntersecting){
let lazyImage=entry.target;
lazyImage.src=lazyImage.dataset.src;
if(lazyImage.dataset.srcset){
lazyImage.srcset=lazyImage.dataset.srcset;
}
lazyImage.classList.remove('houzez-lazyload');
lazyImageObserver.unobserve(lazyImage);
}});
});
lazyImages.forEach(function (lazyImage){
lazyImageObserver.observe(lazyImage);
});
}else{
}}
houzez_lazyload_for_ajax();
if(retina_logo!=='' ||
retina_logo_splash!='' ||
retina_logo_mobile!='' ||
retina_logo_mobile_splash!=''
){
if(window.devicePixelRatio==2){
if(retina_logo!=''){
$('.logo-desktop img').attr('src', retina_logo);
}
if(retina_logo_splash!=''){
$('.logo-splash img').attr('src', retina_logo_splash);
}
if(retina_logo_mobile!=''){
$('.logo-mobile img').attr('src', retina_logo_mobile);
}}
}
$('.all-reviews').on('click', function (e){
$('.hz-review-tab').trigger('click');
});
$(function (){
var scroll_anchor=$('#scroll-top');
$(window).on('scroll', function (){
if($(this).scrollTop() > 300){
scroll_anchor.fadeIn('fast').css('display', 'block');
return;
}
scroll_anchor.fadeOut('fast');
});
scroll_anchor.on('click', function (event){
event.preventDefault();
$('html, body').animate({ scrollTop: 0 }, 'slow');
});
});
/*$.each([
'frontend/element_ready/houzez_properties_tabs.default',
], function(index, value){
houzezThemeGlobal.houzezEleAddAction(value, function(){ alert('1111');
houzezThemeGlobal.houzezProductsTabs();
});
});*/
var houzezProductsTabs=function (){
var alreadyProcessed=false;
$('.houzez-products-tabs-js').each(function (){
var $this=$(this);
var $html_container=$this.find('.houzez-tab-content');
var $products_cache=[];
$this.find('ul.property-nav-tabs li').on('click', function (e){
e.preventDefault();
var $this=$(this);
var settings=$this.data('json');
var data_index=$this.index();
if(alreadyProcessed||$this.find('a').hasClass('active')){
return;
}
alreadyProcessed=true;
if($products_cache[data_index]){
setTimeout(function (){
$html_container.html($products_cache[data_index].html);
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
compare_for_ajax();
$('[data-toggle="tooltip"]').tooltip();
alreadyProcessed=false;
}, 300);
return;
}
$.ajax({
url: ajaxurl,
data: {
action: 'houzez_get_properties_tab_content',
settings: settings,
},
dataType: 'json',
method: 'POST',
beforeSend: function (){
$html_container
.empty()
.append('' +
'<div id="houzez-map-loading">' +
'<div class="mapPlaceholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
},
success: function (data){
$products_cache[data_index]=data;
$html_container.html(data.html);
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
compare_for_ajax();
$('[data-toggle="tooltip"]').tooltip();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
alreadyProcessed=false;
},
});
});
});
};
houzezProductsTabs();
if(window.devicePixelRatio==2){
if(transparent_logo){
if(retina_logo_splash!=''){
custom_logo_splash=retina_logo_splash;
}
if(retina_logo!=''){
simple_logo=retina_logo;
}}
}
if(only_nav_sticky&&!wp_is_mobile){
houzez_sticky_nav();
if($('.compare-table').length > 0){
var compare_top_margin=advanced_search_nav.outerHeight();
$('.compare-table thead th').css('top', compare_top_margin + 25);
}}
function houzez_sticky_nav(){
$(window).scroll(function (){
var scroll=$(window).scrollTop();
var admin_nav=$('#wpadminbar').height();
var top_banner_margin=0;
var thisHeight=header_nav.outerHeight();
top_banner_margin=thisHeight;
if(is_top_header!=0){
var top_bar_wrap=$('.top-bar-wrap').height();
top_banner_margin=top_banner_margin + top_bar_wrap;
}
if(only_nav_sticky===0){
return;
}
if(transparent_logo){
$('.logo-splash img').attr('src', simple_logo);
}
if(admin_nav=='null'){
admin_nav=0;
}
if(scroll > header_area_height){
header_nav.addClass('sticky-nav-area');
header_nav.css('top', admin_nav);
if(transparent_logo){
header_area.removeClass('header-transparent-wrap');
$('.top-banner-wrap').css('margin-top',
'-' + top_banner_margin + 'px'
);
$('body.houzez-header-elementor .content-wrap').css('margin-top',
'-' + top_banner_margin + 'px'
);
$('#main-wrap > div.elementor').css('margin-top',
'-' + top_banner_margin + 'px'
);
}
if(scroll >=header_area_height + 20){
header_nav.addClass('houzez-in-view');
$('#main-wrap').css('margin-top', thisHeight);
}}else{
header_nav.removeClass('sticky-nav-area');
header_nav.removeAttr('style');
if(transparent_logo){
header_area.addClass('header-transparent-wrap');
$('.top-banner-wrap').css('margin-top', 0);
$('body.houzez-header-elementor .content-wrap').css('margin-top',
0
);
$('#main-wrap > div.elementor').css('margin-top', 0);
$('.logo-splash img').attr('src', custom_logo_splash);
}
if(scroll <=header_area_height + 20){
header_nav.removeClass('houzez-in-view');
}
$('#main-wrap').css('margin-top', 0);
}});
}
if(desktop_header_search_enabled){
houzez_sticky_search();
}
function houzez_sticky_search(){
$(window).scroll(function (){
var scroll=$(window).scrollTop();
var admin_nav=$('#wpadminbar').height();
var thisHeight=advanced_search_nav.outerHeight();
var hidden_data=advanced_search_nav.data('hidden');
if(admin_nav=='null'){
admin_nav=0;
}
if(scroll >=make_search_sticky_position){
advanced_search_nav.addClass('sticky-search-area');
if(hidden_data){
advanced_search_nav.removeClass('search-hidden');
}
if(!wp_is_mobile){
advanced_search_nav.css('top', admin_nav);
}
if(scroll >=make_search_sticky_position + searchStickyPlus){
advanced_search_nav.addClass('houzez-in-view');
if(!hidden_data){
$('#main-wrap').css('padding-top', thisHeight);
}}
}else{
advanced_search_nav.removeClass('sticky-search-area');
advanced_search_nav.removeAttr('style');
if(scroll <=make_search_sticky_position + 20){
advanced_search_nav.removeClass('houzez-in-view');
}
if(hidden_data){
advanced_search_nav.addClass('search-hidden');
}
if(!hidden_data){
$('#main-wrap').css('padding-top', 0);
}}
});
}
function houzez_mobile_sticky_nav(){
$(window).scroll(function (){
var scroll=$(window).scrollTop();
var admin_nav=0; //$('#wpadminbar').height();
var top_banner_margin=0;
var thisHeight=header_mobile.outerHeight();
top_banner_margin=thisHeight;
if(is_top_header){
var top_bar_wrap=$('.top-bar-wrap').height();
top_banner_margin=top_banner_margin + top_bar_wrap;
}
if(mobile_sticky_nav===0){
return;
}
if(admin_nav=='null'){
admin_nav=0;
}
if(scroll > header_area_height){
header_mobile.addClass('sticky-nav-area');
if(scroll >=header_area_height + 20){
header_mobile.addClass('houzez-in-view');
$('#main-wrap').css('margin-top', thisHeight);
}}else{
header_mobile.removeClass('sticky-nav-area');
header_mobile.removeAttr('style');
if(scroll <=header_area_height + 20){
header_mobile.removeClass('houzez-in-view');
}
$('#main-wrap').css('margin-top', 0);
}});
}
var addCommas=function (nStr){
nStr +='';
var x=nStr.split('.');
var x1=x[0];
var x2=x.length > 1 ? '.' + x[1]:'';
var rgx=/(\d+)(\d{3})/;
while (rgx.test(x1)){
x1=x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
};
var thousandSeparator=(n)=> {
if(typeof n==='number'){
n +='';
var x=n.split('.');
var x1=x[0];
var x2=x.length > 1 ? '.' + x[1]:'';
var rgx=/(\d+)(\d{3})/;
while (rgx.test(x1)){
x1=x1.replace(rgx, '$1' + thousands_separator + '$2');
}
return x1 + x2;
}else{
return n;
}};
function number_format(number){
var decimals, dec_point, thousands_sep;
dec_point=decimal_point_separator;
thousands_sep=thousands_separator;
var i, j, kw, kd, km;
if(isNaN((decimals=Math.abs(decimals)))){
decimals=2;
}
dec_point=dec_point||',';
thousands_sep=thousands_sep||'.';
i=parseInt((number=(+number||0).toFixed(decimals))) + '';
j=(j=i.length) > 3 ? j % 3:0;
km=j ? i.substr(0, j) + thousands_sep:'';
kw=i.substr(j).replace(/(\d{3})(?=\d)/g, '$1' + thousands_sep);
kd=decimals
? dec_point +
Math.abs(number - i)
.toFixed(decimals)
.replace(/-/, 0)
.slice(2)
: '';
return km + kw + kd;
}
if($('#houzez-calculator-form').length > 0){
$('#houzez-calculator-form input').on('input', ()=> {
mortgage_calucaltion_section();
});
mortgage_calucaltion_section();
}
function calculateMonthlyPayment(
principal,
annualInterestRate,
loanTermInYears
){
const monthlyInterestRate=annualInterestRate / 12 / 100;
const numberOfMonths=loanTermInYears * 12;
if(monthlyInterestRate===0){
return principal / numberOfMonths;
}
return (
(principal *
(monthlyInterestRate *
Math.pow(1 + monthlyInterestRate, numberOfMonths))) /
(Math.pow(1 + monthlyInterestRate, numberOfMonths) - 1)
);
}
function parseInput(selector){
const rawValue=$(selector).val();
if(!rawValue) return 0;
const cleanedValue=rawValue.replace(/[^0-9.]/g, '');
const parsedValue=parseFloat(cleanedValue);
return isNaN(parsedValue) ? 0:parsedValue;
}
function mortgage_calucaltion_section(){
const homePrice=parseInput('#homePrice');
const downPaymentPercentage=parseInput('#downPaymentPercentage');
const annualInterestRate=parseInput('#annualInterestRate');
const loanTermInYears=parseInput('#loanTermInYears');
const annualPropertyTaxRate=parseInput('#annualPropertyTaxRate');
const annualHomeInsurance=parseInput('#annualHomeInsurance');
const monthlyHOAFees=parseInput('#monthlyHOAFees');
const pmi=parseInput('#pmi');
const downPayment=homePrice * (downPaymentPercentage / 100);
const principal=homePrice - downPayment;
const monthlyPayment=calculateMonthlyPayment(
principal,
annualInterestRate,
loanTermInYears
);
const monthlyPropertyTax =
(homePrice * (annualPropertyTaxRate / 100)) / 12;
const monthlyHomeInsurance=annualHomeInsurance / 12;
const pmiRequired=downPayment / homePrice < 0.2;
const monthlyPMI=pmiRequired ? (principal * (pmi / 100)) / 12:0;
const totalMonthlyPayment =
monthlyPayment +
monthlyPropertyTax +
monthlyHomeInsurance +
monthlyHOAFees +
monthlyPMI;
const loanAmount=homePrice - downPayment;
const formattedDownPayment=number_format(downPayment);
const formattedLoanAmount=number_format(loanAmount);
const formattedMonthlyPayment=number_format(monthlyPayment);
const formattedPropertyTax=number_format(monthlyPropertyTax);
const formattedHomeInsurance=number_format(monthlyHomeInsurance);
const formattedPMI=pmiRequired ? number_format(monthlyPMI):'';
const formattedHOAFees=number_format(monthlyHOAFees);
const formattedTotalMonthlyPayment=number_format(totalMonthlyPayment);
$('#downPaymentResult').html(currencyFormate(formattedDownPayment));
$('#loadAmountResult').html(currencyFormate(formattedLoanAmount));
$('#monthlyMortgagePaymentResult').html(currencyFormate(formattedMonthlyPayment)
);
$('#monthlyPropertyTaxResult').html(currencyFormate(formattedPropertyTax)
);
$('#monthlyHomeInsuranceResult').html(currencyFormate(formattedHomeInsurance)
);
if(pmiRequired){
$('.rslt-pmi').show();
$('#monthlyPMIResult').html(currencyFormate(formattedPMI));
}else{
$('.rslt-pmi').hide();
}
$('#monthlyHOAResult').html(currencyFormate(formattedHOAFees));
$('#m_monthly_val').html(currencyFormate(formattedTotalMonthlyPayment));
const chartData=[
{
label: 'Monthly Mortgage Payment',
value: monthlyPayment,
color: '#ff6384',
},
{
label: 'Property Tax',
value: monthlyPropertyTax,
color: '#36a2eb',
},
{
label: 'Home Insurance',
value: monthlyHomeInsurance,
color: '#ffce56',
},
{ label: 'HOA', value: monthlyHOAFees, color: '#c2d500' },
];
if(pmiRequired){
chartData.push({
label: 'PMI',
value: monthlyPMI,
color: '#4bc0c0',
});
}
updateChart(chartData);
}
const inputElements=document.querySelectorAll('#calculator-form input');
inputElements.forEach((input)=> {
input.addEventListener('input', ()=> {
formatInputValue(input);
updateResults();
});
});
function updateChart(chartData){
const ctx=$('#mortgage-calculator-chart')[0].getContext('2d');
if(window.myChart){
window.myChart.destroy();
}
window.myChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData.map((item)=> item.value),
backgroundColor: chartData.map((item)=> item.color),
},
],
},
options: {
cutoutPercentage: 85,
responsive: false,
tooltips: false,
},
});
}
function currencyFormate(price_value){
var value;
if(currency_position==''||currency_symb==''){
return price_value;
}
value =
'after'===currency_position
? price_value + '' + currency_symb
: currency_symb + '' + price_value;
return value;
}
houzez_listing_lightbox(ajaxurl, processing_text, houzez_rtl, userID);
$(window).on('load', function (){
houzez_grid_image_gallery();
houzez_grid_call_to_action();
});
if($('#stats-property-cities').length > 0){
var chartData=$('#stats-property-cities').data('chart');
var ctx=document
.getElementById('stats-property-cities')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#stats-property-status').length > 0){
var chartData=$('#stats-property-status').data('chart');
var ctx=document
.getElementById('stats-property-status')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
$('.houzez-realtor-stats-js[id^="stats-property-"]').each(function (){
var $div=$(this);
var token=$div.data('token');
var statsID='stats-property-' + token;
if($('#' + statsID).length > 0){
var chartData=$('#' + statsID).data('chart');
var ctx=document.getElementById(statsID).getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}});
if($('#stats-property-types').length > 0){
var chartData=$('#stats-property-types').data('chart');
var ctx=document
.getElementById('stats-property-types')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#stats-property-types').length > 0){
var chartData=$('#stats-property-types').data('chart');
var ctx=document
.getElementById('stats-property-types')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
var houzez_login_modal=function (){
jQuery('#login-register-form').modal('show');
jQuery('.login-form-tab').addClass('active show');
jQuery('.modal-toggle-1.nav-link').addClass('active');
};
$('#houzez-login-btn').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_login(currnt);
});
$('#houzez-register-btn').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_register(currnt);
});
$('#houzez-create-account-btn').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_social_create_account(currnt);
});
var houzez_login=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-login-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
window.location.replace(response.redirect_to);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
console.log('Error Status: ' + status);
console.log('Error Thrown: ' + error);
console.log('Response Text: ' + xhr.responseText);
},
});
};
var houzez_register=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-register-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
setTimeout(function (){
$('a[href="#login-form-tab"]').tab('show');
}, 2000);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
console.log('Error Status: ' + status);
console.log('Error Thrown: ' + error);
console.log('Response Text: ' + xhr.responseText);
},
});
};
var houzez_social_create_account=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-create-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
window.location.replace(response.redirect_to);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('#houzez-link-account').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_link_account(currnt);
});
var houzez_link_account=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-link-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
window.location.replace(response.redirect_to);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
function houzez_social_login_panel(){
var $mainStepWrap=$('.main-step-wrap');
var $newAccountWrap=$('.new-account-wrap');
var $linkAccountWrap=$('.link-account-wrap');
function toggleVisibility(hide1, hide2, show){
hide1.hide();
hide2.hide();
show.show();
}
$(document).on('click', '.btn-link-account', function (event){
event.preventDefault();
toggleVisibility($mainStepWrap, $newAccountWrap, $linkAccountWrap);
});
$(document).on('click', '.btn-create-account', function (event){
event.preventDefault();
toggleVisibility($mainStepWrap, $linkAccountWrap, $newAccountWrap);
});
$(document).on('click', '.hz-fb-cancel', function (event){
event.preventDefault();
toggleVisibility($linkAccountWrap, $newAccountWrap, $mainStepWrap);
});
}
houzez_social_login_panel();
$('#houzez_forgetpass').on('click', function (){
var user_login=$('#user_login_forgot').val(),
security=$('#fave_resetpassword_security').val();
var $this=$(this);
var $messages=$('#reset_pass_msg');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_reset_password',
user_login: user_login,
security: security,
},
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
if($('#houzez_reset_password').length > 0){
$('#houzez_reset_password').click(function (e){
e.preventDefault();
var $this=$(this);
var rg_login=$('input[name="rp_login"]').val();
var rp_key=$('input[name="rp_key"]').val();
var pass1=$('input[name="pass1"]').val();
var pass2=$('input[name="pass2"]').val();
var security=$('input[name="fave_resetpassword_security"]').val();
var $messages=$('#reset_pass_msg_2');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_reset_password_2',
rq_login: rg_login,
password: pass1,
confirm_pass: pass2,
rp_key: rp_key,
security: security,
},
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
jQuery('#oldpass, #newpass, #confirmpass').val('');
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (errorThrown){},
});
});
}
$('.hz-facebook-login').on('click', function (){
var current=$(this);
houzez_login_via_facebook(current);
});
var houzez_login_via_facebook=function (current){
var $messages=$('.hz-social-messages');
$.ajax({
type: 'POST',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_facebook_login_oauth',
},
beforeSend: function (){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
login_loading +
'</div>'
);
current.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
current.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
window.location.replace(response.url);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.message +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.hz-google-login').on('click', function (){
var current=$(this);
houzez_login_via_google(current);
});
var houzez_login_via_google=function (current){
var $form=current.parents('form');
var $messages=$('#hz-login-messages');
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_google_login_oauth',
},
beforeSend: function (){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
login_loading +
'</div>'
);
current.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
current.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (data){
window.location.replace(data);
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var properties_module_section=$('#properties_module_section');
if(properties_module_section.length > 0){
var loading=false;
var $loadMoreButton=$('.fave-load-more a');
var paginationType =
$loadMoreButton.data('pagination-type')||'loadmore';
var observer;
function loadMoreProperties(e){
if(e) e.preventDefault();
if(loading) return;
var $this=$(this);
var $wrap=$this
.closest('#properties_module_section')
.find('#module_properties');
var prop_limit=$this.data('prop-limit');
var paged=$this.data('paged');
var card_version=$this.data('card');
var type=$this.data('type');
var status=$this.data('status');
var state=$this.data('state');
var city=$this.data('city');
var country=$this.data('country');
var area=$this.data('area');
var label=$this.data('label');
var user_role=$this.data('user-role');
var featured_prop=$this.data('featured-prop');
var offset=$this.data('offset');
var sortby=$this.data('sortby');
var property_ids=$this.data('property_ids');
var min_price=$this.data('min_price');
var max_price=$this.data('max_price');
var min_beds=$this.data('min_beds');
var max_beds=$this.data('max_beds');
var min_baths=$this.data('min_baths');
var max_baths=$this.data('max_baths');
var agents=$this.data('agents');
var agencies=$this.data('agencies');
var post_status=$this.data('post_status');
loading=true;
$.ajax({
type: 'POST',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_loadmore_properties',
prop_limit: prop_limit,
paged: paged,
card_version: card_version,
type: type,
status: status,
state: state,
city: city,
country: country,
area: area,
label: label,
property_ids: property_ids,
min_price: min_price,
max_price: max_price,
min_beds: min_beds,
max_beds: max_beds,
min_baths: min_baths,
max_baths: max_baths,
user_role: user_role,
agents: agents,
agencies: agencies,
featured_prop: featured_prop,
sort_by: sortby,
offset: offset,
post_status: post_status,
},
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
loading=false;
},
success: function (data){
if(data.html=='no_result'){
$this
.closest('#properties_module_section')
.find('.fave-load-more')
.fadeOut('fast')
.remove();
return;
}
$wrap.append(data.html);
$this.data('paged', paged + 1);
$this.find('i').remove();
if(!data.has_more_posts){
$this
.closest('#properties_module_section')
.find('.fave-load-more')
.fadeOut('fast')
.remove();
}else if(paginationType==='infinite_scroll'){
observeLoadMoreButton();
}
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
houzez_lazyload_for_ajax();
compare_for_ajax();
$('[data-toggle="tooltip"]').tooltip();
},
error: function (jqXHR, textStatus, errorThrown){
console.error('AJAX error: ' + textStatus + ':' + errorThrown
);
loading=false;
},
});
}
function observeLoadMoreButton(){
if(observer){
observer.disconnect();
}
observer=new IntersectionObserver(
(entries)=> {
entries.forEach((entry)=> {
if(entry.isIntersecting&&!loading){
loadMoreProperties.call($('.fave-load-more a')[0]);
}});
},
{
root: null,
rootMargin: '0px',
threshold: 0.1,
}
);
var loadMoreButton=document.querySelector('.fave-load-more a');
if(loadMoreButton){
observer.observe(loadMoreButton);
}}
$('body').on('click', '.fave-load-more a', loadMoreProperties);
if(paginationType==='infinite_scroll'){
observeLoadMoreButton();
}}
jQuery(document).ready(function ($){
const $listingView=$('.listing-view');
const $loadMoreBtn=$('.houzez-infinite-load');
const $paginationContainer=$('#fave-pagination-loadmore');
let loading=false;
let currentPage=1;
let noMoreListings=false;
let totalListings=parseInt($loadMoreBtn.data('total'), 10)||0;
let perPage=parseInt($loadMoreBtn.data('per-page'), 10)||10;
let pagi_type=$loadMoreBtn.data('pagi-type')||'_number';
function loadMoreListings(){
if(loading||noMoreListings) return;
loading=true;
const nextPageUrl=$loadMoreBtn.attr('href');
$.ajax({
url: nextPageUrl,
type: 'GET',
dataType: 'html',
beforeSend: function (){
$loadMoreBtn
.find('.houzez-loader-js')
.addClass('loader-show');
},
complete: function (){
$loadMoreBtn
.find('.houzez-loader-js')
.removeClass('loader-show');
},
success: function (response){
const $html=$(response);
const $newListings=$html.find('.listing-view .item-listing-wrap'
);
if($newListings.length > 0){
$listingView.append($newListings);
currentPage++;
const nextPageLink=$html
.find('.houzez-infinite-load')
.attr('href');
if(nextPageLink &&
currentPage * perPage < totalListings
){
$loadMoreBtn.attr('href', nextPageLink);
$loadMoreBtn.attr('data-page', currentPage + 1);
updateBrowserUrl(nextPageUrl);
$loadMoreBtn.show();
}else{
noMoreListings=true;
showEndMessage();
$loadMoreBtn.hide();
}
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
houzez_lazyload_for_ajax();
compare_for_ajax();
houzez_parallax_listings();
$('[data-toggle="tooltip"]').tooltip();
}else{
noMoreListings=true;
showEndMessage();
$loadMoreBtn.hide();
}
loading=false;
},
error: function (xhr, status, error){
console.error('Error loading more listings:', error);
loading=false;
},
});
}
function updateBrowserUrl(url){
if(history.pushState){
const newUrl=new URL(url);
window.history.pushState({ path: newUrl.href },
'',
newUrl.href
);
}}
function showEndMessage(){
$paginationContainer.html('<p class="no-more-listings">' + listings_not_found + '</p>'
);
}
if(totalListings <=perPage){
$loadMoreBtn.hide();
}
if(pagi_type=='_infinite'&&$('#houzez-infinite-load').length > 0){
const options={
root: null,
rootMargin: '0px',
threshold: 0.1,
};
const observer=new IntersectionObserver((entries)=> {
entries.forEach((entry)=> {
if(entry.isIntersecting&&!loading&&!noMoreListings){
loadMoreListings();
}});
}, options);
observer.observe($loadMoreBtn[0]);
}
$loadMoreBtn.on('click', function (e){
e.preventDefault();
if(!loading&&!noMoreListings){
loadMoreListings();
}});
$(window).on('popstate', function (e){
if(e.originalEvent.state!==null){
window.location.reload();
}});
});
var property_status_changed=function (prop_status, $form){
if(prop_status==for_rent){
$form.find('.prices-for-all').addClass('hide');
$form.find('.prices-for-all select').attr('disabled', 'disabled');
$form.find('.prices-only-for-rent').removeClass('hide');
$form
.find('.prices-only-for-rent select')
.removeAttr('disabled', 'disabled');
$form.find('.prices-only-for-rent select').selectpicker('refresh');
}else{
$form.find('.prices-only-for-rent').addClass('hide');
$form
.find('.prices-only-for-rent select')
.attr('disabled', 'disabled');
$form.find('.prices-for-all').removeClass('hide');
$form
.find('.prices-for-all select')
.removeAttr('disabled', 'disabled');
$form.find('.prices-for-all select').selectpicker('refresh');
}};
$('.status-js').on('change', function (e){
var selected_status=$(this).val();
var $form=$(this).parents('form');
property_status_changed(selected_status, $form);
});
$('.status-tab-js').on('click', function (){
var tab_selected_status=$(this).data('val');
var $form=$(this).parents('form');
property_status_changed(tab_selected_status, $form);
});
var selected_status=$('.status-js').val();
if(selected_status==for_rent){
var $form=$('.houzez-search-form-js');
property_status_changed(selected_status, $form);
}else{
var $form=$('.houzez-search-form-js');
property_status_changed('dummy', $form);
}
var selected_status_tab=$('.status-tab-js').val();
if(selected_status_tab==for_rent){
var $tab_form=$('.houzez-search-builder-form-js');
property_status_changed(selected_status_tab, $tab_form);
}else{
var $tab_form=$('.houzez-search-builder-form-js');
property_status_changed(selected_status_tab, $tab_form);
}
var price_range_search=function (min_price, max_price){
$('.price-range').slider({
range: true,
min: min_price,
max: max_price,
values: [min_price, max_price],
slide: function (event, ui){
if(currency_position=='after'){
var min_price_range =
thousandSeparator(ui.values[0]) + currency_symb;
var max_price_range =
thousandSeparator(ui.values[1]) + currency_symb;
}else{
var min_price_range =
currency_symb + thousandSeparator(ui.values[0]);
var max_price_range =
currency_symb + thousandSeparator(ui.values[1]);
}
$('.min-price-range-hidden').val(ui.values[0]);
$('.max-price-range-hidden').val(ui.values[1]);
$('.min-price-range').text(min_price_range);
$('.max-price-range').text(max_price_range);
},
stop: function (event, ui){},
change: function (event, ui){},
});
if(currency_position=='after'){
var min_price_range =
thousandSeparator($('.price-range').slider('values', 0)) +
currency_symb;
var max_price_range =
thousandSeparator($('.price-range').slider('values', 1)) +
currency_symb;
}else{
var min_price_range =
currency_symb +
thousandSeparator($('.price-range').slider('values', 0));
var max_price_range =
currency_symb +
thousandSeparator($('.price-range').slider('values', 1));
}
$('.min-price-range').text(min_price_range);
$('.max-price-range').text(max_price_range);
$('.min-price-range-hidden').val($('.price-range').slider('values', 0));
$('.max-price-range-hidden').val($('.price-range').slider('values', 1));
};
if($('.price-range').length > 0&&is_halfmap!=1){
var selected_status_adv_search=$('.status-js').val();
if(selected_status_adv_search==for_rent_price_slider){
price_range_search(
search_price_range_min_rent,
search_price_range_max_rent
);
}else{
price_range_search(search_price_range_min, search_price_range_max);
}
$('.status-js').on('change', function (){
var search_status=$(this).val();
if(search_status==for_rent_price_slider){
price_range_search(
search_price_range_min_rent,
search_price_range_max_rent
);
}else{
price_range_search(
search_price_range_min,
search_price_range_max
);
}});
$('.status-tab-js').on('click', function (){
var tab_status=$(this).data('val');
if(tab_status==for_rent_price_slider){
price_range_search(
search_price_range_min_rent,
search_price_range_max_rent
);
}else{
price_range_search(
search_price_range_min,
search_price_range_max
);
}});
}
$('.houzez-status-tabs li a').on('click', function (e){
e.preventDefault();
var $this=$(this);
var status=$this.data('val');
$('#search-tabs').val(status);
var $form=$('.houzez-search-form-js');
property_status_changed(status, $form);
});
function insertParam(key, value){
key=encodeURI(key);
value=encodeURI(value);
var qrp=document.location.search.substr(1).split('&');
var i=qrp.length;
var j;
while (i--){
j=qrp[i].split('=');
if(j[0]==key){
j[1]=value;
qrp[i]=j.join('=');
break;
}}
if(i < 0){
qrp[qrp.length]=[key, value].join('=');
}
document.location.search=qrp.join('&');
}
$('#sort_properties').on('change', function (){
var key='sortby';
var value=$(this).val();
insertParam(key, value);
});
$('#insights_filter').on('change', function (){
var key='listing_id';
var value=$(this).val();
insertParam(key, value);
});
$('#houzez-gmap-full').on('click', function (){
var $this=$(this);
if($this.hasClass('active')){
$this.removeClass('active');
$this.parents('.map-wrap').removeClass('houzez-fullscreen-map');
}else{
$this.parents('.map-wrap').addClass('houzez-fullscreen-map');
$this.addClass('active');
}});
$('.houzez_agent_property_form').on('click', function (e){
e.preventDefault();
var $result;
var $this=$(this);
var $form=$this.parents('form');
var $form_wrap=$this.parents('.property-form-wrap');
$result=$form_wrap.find('.form_messages');
var $is_bottom=$('.is_bottom').val();
if($is_bottom=='bottom'){
$result=$form.find('.form_messages');
}
$result.empty();
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$form
.find('input[name="name"], input[name="mobile"], input[name="email"]'
)
.val('');
$form.find('textarea').val('');
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="success text-success"><i class="fa fa-check"></i> ' +
response.msg +
'</p>'
);
}}else{
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="error text-danger"><i class="fas fa-times"></i> ' +
response.msg +
'</p>'
);
}}
$this.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
if(houzez_vars.agent_redirection!=''&&response.success){
setTimeout(function (){
window.location.replace(houzez_vars.agent_redirection);
}, 500);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
$('.msg-login-required').on('click', function (){
$('.modal-toggle-1').addClass('active');
jQuery('.login-form-tab').addClass('active show');
});
$('.houzez-send-message').on('click', function (e){
e.preventDefault();
var $result;
var $this=$(this);
var $form=$this.parents('form');
var $form_wrap=$this.parents('.property-form-wrap');
$result=$form_wrap.find('.form_messages');
var $is_bottom=$('.is_bottom').val();
if($is_bottom=='bottom'){
$result=$form.find('.form_messages');
}
$result.empty();
var property_id=$('input[name="listing_id"]').val();
var message=$form.find('.hz-form-message').val();
var security=$('input[name="property_agent_contact_security"]').val();
$.ajax({
url: ajaxurl,
data: {
action: 'houzez_start_thread',
property_id: property_id,
message: message,
start_thread_form_ajax: security,
},
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$form
.find('input[name="name"], input[name="mobile"], input[name="email"]'
)
.val('');
$form.find('textarea').val('');
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="success text-success"><i class="fa fa-check"></i> ' +
response.msg +
'</p>'
);
}}else{
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="error text-danger"><i class="fas fa-times"></i> ' +
response.msg +
'</p>'
);
}}
$this.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
if(houzez_vars.agent_redirection!=''){
setTimeout(function (){
window.location.replace(houzez_vars.agent_redirection);
}, 500);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
$('.start_thread_message_form').on('click', function (e){
e.preventDefault();
var $this=$(this);
var $form=$this.parents('form');
var $result=$form.find('.form_messages');
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
$this.find('.houzez-loader-js').removeClass('loader-show');
window.location.replace(response.url);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
$('#contact_realtor_btn').on('click', function (e){
e.preventDefault();
var current_element=$(this);
var $this=$(this);
var $form=$this.parents('form');
jQuery.ajax({
type: 'post',
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (res){
if(res.success){
$('.form_messages')
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$('.form_messages')
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}
$this.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
if(keyword_autocomplete!=0){
var houzezAutoComplete=function (){
var ajaxCount=0;
var auto_complete_container=$('.auto-complete');
var lastLenght=0;
$('body').on('keyup',
'.houzez-keyword-autocomplete',
HouzezDebounce(function (){
var $this=$(this);
var $dataType=$this.data('type');
var $form=$this.parents('form');
if($dataType=='banner'){
var auto_complete_container=$(
'#houzez-auto-complete-banner'
);
}else{
var auto_complete_container =
$form.find('.auto-complete');
}
var keyword=$(this).val();
keyword=$.trim(keyword);
var currentLenght=keyword.length;
if(currentLenght >=2&&currentLenght!=lastLenght){
lastLenght=currentLenght;
auto_complete_container.fadeIn();
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_get_auto_complete_search',
key: keyword,
},
beforeSend: function (){
ajaxCount++;
if(ajaxCount==1){
auto_complete_container.html('<ul class="list-group"><li class="list-group-item"><i class="fa fa-spinner fa-spin fa-fw"></i> ' +
autosearch_text +
'</li></ul>'
);
}},
success: function (data){
ajaxCount--;
if(ajaxCount==0){
auto_complete_container.show();
if(data!=''){
auto_complete_container
.empty()
.html(data)
.bind();
}}
},
error: function (errorThrown){
ajaxCount--;
if(ajaxCount==0){
auto_complete_container.html('<ul class="list-group"><li class="list-group-item"><i class="fa fa-spinner fa-spin fa-fw"></i> ' +
autosearch_text +
'</li></ul>'
);
}},
});
}else{
if(currentLenght!=lastLenght){
auto_complete_container.fadeOut();
}}
}, 400)
);
auto_complete_container
.on('click', 'li', function (){
$('.houzez-keyword-autocomplete').val($(this).data('text'));
auto_complete_container.fadeOut();
})
.bind();
};
houzezAutoComplete();
}
$('.save_search_click').on('click', function (e){
e.preventDefault();
var $this=$(this);
var search_args=$('input[name="search_args"]').val();
var security=$('input[name="houzez_save_search_ajax"]').val();
var search_URI=$('input[name="search_URI"]').val();
if(parseInt(userID, 10)===0){
houzez_login_modal();
}else{
$.ajax({
url: ajaxurl,
data: {
action: 'houzez_save_search',
search_args: search_args,
search_URI: search_URI,
houzez_save_search_ajax: security,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$('.save_search_click').attr('disabled', true);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
}});
$('.schedule_contact_form').on('click', function (e){
e.preventDefault();
var $this=$(this);
var $form=$this.parents('form');
var $result=$form.find('.form_messages');
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$form
.find('input[name="name"], input[name="phone"], input[name="email"]'
)
.val('');
$form.find('textarea').val('');
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
if(typeof response.redirect_to!=='undefined' &&
response.redirect_to!=''
){
setTimeout(function (){
window.location.replace(response.redirect_to);
}, 500);
}}else{
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
function setAutoCompleteResultPosition(){
var parallax_banner_inner_height=$('.top-banner-wrap').innerHeight();
var banner_caption_inner_height=$('.banner-caption').innerHeight();
var autocomplete_search_position =
parallax_banner_inner_height -
(parallax_banner_inner_height - banner_caption_inner_height) / 2;
$('#houzez-auto-complete-banner').css('top',
autocomplete_search_position
);
}
$('.houzez-nav-menu-main-mobile-wrap .houzez-menu-toggle').click(function (
e
){
$(
'.houzez-nav-menu-main-mobile-wrap .navbar-nav, .houzez-nav-menu-main-mobile-wrap .houzez-menu-toggle'
).toggleClass('houzez-nav-menu-active');
});
$(window).on('load', function (){
setAutoCompleteResultPosition();
});
$win.on('resize', function (){
setAutoCompleteResultPosition();
});
if($('.houzez-print').length > 0){
$('.houzez-print').on('click', function (e){
e.preventDefault();
var propID, printWindow;
propID=$(this).attr('data-propid');
printWindow=window.open('', 'Print Me', 'width=800 ,height=842');
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_create_print',
propid: propID,
},
success: function (data){
printWindow.document.write(data);
printWindow.document.close();
printWindow.focus();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
}
var review_likes=function (){
$('.hz-like-dislike-js').on('click', function (e){
e.preventDefault();
var $this=jQuery(this);
var $parent=$this.parents('.likes-container-js');
if($this.hasClass('already-voted')){
$parent.find('.vote-msg').text($this.data('msg')).show();
var hideMessage=function (){
$parent.find('.vote-msg').hide();
};
setTimeout(hideMessage, 3000);
}else{
var review_id=$this.data('id');
var type=$this.data('type');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'JSON',
data: {
action: 'reviews_likes_dislikes',
type: type,
review_id: review_id,
},
beforeSend: function (){
$parent.find('.vote-msg').empty();
$parent
.find('.houzez-loader-js')
.addClass('loader-show');
if(type=='likes'){
$('.review-dislike-button a').removeClass('already-voted'
);
}else if(type=='dislikes'){
$('.review-like-button a').removeClass('already-voted'
);
}},
success: function (res){
if(res.success){
$parent.find('.likes-count').text(res.likes);
$parent.find('.dislikes-count').text(res.dislikes);
$parent.find('.vote-msg').text(res.msg).show();
}else{
$parent.find('.vote-msg').text(res.msg).show();
}
var hideMessage=function (){
$parent.find('.vote-msg').hide();
};
setTimeout(hideMessage, 3000);
$this.addClass('already-voted');
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$parent
.find('.houzez-loader-js')
.removeClass('loader-show');
},
});
}});
};
review_likes();
$('#submit-review').on('click', function (e){
e.preventDefault();
var $this=$(this);
var $form=$this.parents('form');
var $result=$form.find('.form_messages');
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
window.location.replace(response.review_link);
}else{
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
var listing_review_ajax=function (sortby, listing_id, paged){
var review_container=$('#houzez_reviews_container');
var review_post_type=$('input[name="review_post_type"]').val();
$.ajax({
type: 'post',
url: ajaxurl,
data: {
action: 'houzez_ajax_review',
sortby: sortby,
listing_id: listing_id,
review_post_type: review_post_type,
paged: paged,
},
beforeSend: function (){
review_container
.empty()
.append('' +
'<div id="houzez-map-loading">' +
'<div class="mapPlaceholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
$('html, body').animate({
scrollTop: $('#property-review-wrap').offset().top - 50,
},
'slow'
);
},
success: function (data){
review_container.empty();
review_container.html(data);
review_likes();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){},
});
};
if($('#sort_review').length > 0){
$('#sort_review').on('change', function (){
var sortby=$(this).val();
var listing_id=$('input[name="listing_id"]').val();
var paged=1;
$('#review_paged').val(paged);
$('#review_prev').attr('disabled', true);
$('#review_next').attr('disabled', false);
listing_review_ajax(sortby, listing_id, paged);
return;
});
}
if($('#review_next').length > 0){
$('#review_next').on('click', function (e){
e.preventDefault();
$('#review_prev').removeAttr('disabled');
var sortby=$('#sort_review').val();
var total_pages=$('#total_pages').val();
var listing_id=$('input[name="listing_id"]').val();
var paged=$('#review_paged').val();
paged=Number(paged) + 1;
$('#review_paged').val(paged);
if(paged==total_pages){
$(this).attr('disabled', true);
}
listing_review_ajax(sortby, listing_id, paged);
return;
});
}
if($('#review_prev').length > 0){
$('#review_prev').on('click', function (e){
e.preventDefault();
$('#review_next').removeAttr('disabled');
var sortby=$('#sort_review').val();
var listing_id=$('input[name="listing_id"]').val();
var paged=$('#review_paged').val();
paged=Number(paged) - 1;
$('#review_paged').val(paged);
if(paged <=1){
$(this).attr('disabled', true);
}
listing_review_ajax(sortby, listing_id, paged);
return;
});
}
function houzezSelectFilter(
$this,
$dataRef,
$list_num='',
is_on_load=''
){
var e=$this.data('target'),
i=$this.find(':selected').data('ref');
if(is_on_load=='yes'){
e=$list_num;
i=$dataRef;
}
$('select.' + e).val(''),
null==i
? $('select.' + e)
.find('option')
.each(function (){
console.log('inside undefined'),
$(this).removeAttr('disabled hidden');
})
: $('select.' + e)
.find('option')
.each(function (){
var e=$(this).data('belong'),
t=$(this).val();
i!=e&&t!=''
? ($(this).prop('disabled', !0),
$(this).prop('hidden', !0))
: ($(this).prop('disabled', !1),
$(this).prop('hidden', !1));
});
$('select.' + e).selectpicker('refresh');
}
$('.houzezSelectFilter').on('change', function (){
var $this=$(this);
houzezSelectFilter($this);
});
if($('.houzez-search-form-js').length > 0||$('#location').length > 0){
var countryRef, stateRef, cityRef, areasRef;
if(is_edit_property){
countryRef=$('#country').data('country');
stateRef=$('#countyState').data('state');
cityRef=$('#city').data('city');
areasRef=$('#neighborhood').data('area');
}else{
countryRef=houzez_vars.s_country;
stateRef=houzez_vars.s_state;
cityRef=houzez_vars.s_city;
areasRef=houzez_vars.s_areas;
}
if(($('.houzez-country-js').length > 0||$('#country').length > 0) &&
countryRef!=''
){
var countryFilter=$('.houzezCountryFilter');
houzezSelectFilter(
countryFilter,
countryRef,
'houzezSecondList',
'yes'
);
$(window).load(function (){
$('.houzezSecondList').val(stateRef);
$('select.houzezSecondList').selectpicker('refresh');
});
}
if(($('.houzez-state-js').length > 0 ||
$('#countyState').length > 0) &&
stateRef!=''
){
var stateFilter=$('.houzezStateFilter');
houzezSelectFilter(stateFilter, stateRef, 'houzezThirdList', 'yes');
$(window).load(function (){
$('.houzezThirdList').val(cityRef);
$('select.houzezThirdList').selectpicker('refresh');
});
}
if(($('.houzez-city-js').length > 0||$('#city').length > 0) &&
cityRef!=''
){
var cityFilter=$('.houzezCityFilter');
houzezSelectFilter(cityFilter, cityRef, 'houzezFourthList', 'yes');
$(window).load(function (){
$('.houzezFourthList').val(areasRef);
$('select.houzezFourthList').selectpicker('refresh');
});
}}
if($('#houzez_mortgage_calculate').length > 0){
$('#houzez_mortgage_calculate').click(function (e){
e.preventDefault();
var monthly_payment=houzez_vars.monthly_payment;
var weekly_payment=houzez_vars.weekly_payment;
var bi_weekly_payment=houzez_vars.bi_weekly_payment;
var currency_symb=houzez_vars.currency_symbol;
var totalPrice=0;
var down_payment=0;
var term_years=0;
var interest_rate=0;
var amount_financed=0;
var monthInterest=0;
var intVal=0;
var mortgage_pay=0;
var annualCost=0;
var payment_period;
var mortgage_pay_text;
var total_years=$('#mc_term_years').val();
payment_period=$('#mc_payment_period').val();
totalPrice=$('#mc_total_amount').val().replace(/,/g, '');
down_payment=$('#mc_down_payment').val().replace(/,/g, '');
amount_financed=totalPrice - down_payment;
term_years =
parseInt($('#mc_term_years').val(), 10) * payment_period;
interest_rate=parseFloat($('#mc_interest_rate').val(), 10);
monthInterest=interest_rate / (payment_period * 100);
intVal=Math.pow(1 + monthInterest, -term_years);
mortgage_pay=amount_financed * (monthInterest / (1 - intVal));
annualCost=mortgage_pay * payment_period;
if($('#mc_term_years').val()=='' ||
$('#mc_total_amount')=='' ||
$('#mc_down_payment')=='' ||
$('#mc_interest_rate')==''
){
return;
}
var total_mortgage_with_interest =
mortgage_pay * total_years * payment_period;
var total_with_down_payment =
total_mortgage_with_interest + parseInt(down_payment);
if(payment_period=='12'){
mortgage_pay_text=monthly_payment;
}else if(payment_period=='26'){
mortgage_pay_text=bi_weekly_payment;
}else if(payment_period=='52'){
mortgage_pay_text=weekly_payment;
}
if(currency_position=='after'){
$('#mortgage_mwbi').html('<strong>' +
mortgage_pay_text +
'</strong>: <span>' +
Math.round(mortgage_pay * 100) / 100 +
currency_symb +
'</span>'
);
$('#amount_financed').html(Math.round(amount_financed * 100) / 100 + currency_symb
);
$('#mortgage_pay').html(Math.round(mortgage_pay * 100) / 100 + currency_symb
);
$('#annual_cost').html(Math.round(annualCost * 100) / 100 + currency_symb
);
$('#balance_payable_with_interest').html(Math.round(total_mortgage_with_interest * 100) / 100 +
currency_symb
);
$('#total_with_down_payment').html(Math.round(total_with_down_payment * 100) / 100 +
currency_symb
);
}else{
$('#mortgage_mwbi').html('<strong>' +
mortgage_pay_text +
'</strong>: <span>' +
currency_symb +
Math.round(mortgage_pay * 100) / 100 +
'</span>'
);
$('#amount_financed').html(currency_symb + Math.round(amount_financed * 100) / 100
);
$('#mortgage_pay').html(currency_symb + Math.round(mortgage_pay * 100) / 100
);
$('#annual_cost').html(currency_symb + Math.round(annualCost * 100) / 100
);
$('#balance_payable_with_interest').html(currency_symb +
Math.round(total_mortgage_with_interest * 100) / 100
);
$('#total_with_down_payment').html(currency_symb +
Math.round(total_with_down_payment * 100) / 100
);
}
$('#cal_years').html(total_years);
$('.mortgage-details').show();
});
}
var beds_baths=function (btn_action, btn_count, btn_val){
$('.' + btn_action).on('click', function (e){
e.preventDefault();
var current_val=parseInt($('.' + btn_val).val())||0;
if(btn_action=='btn_count_plus' ||
btn_action=='btn_beds_plus'
){
current_val++;
}else{
if(current_val==0) return;
current_val--;
}
$('.' + btn_count).text(current_val);
$('.' + btn_val).val(current_val);
});
};
beds_baths('btn_count_plus', 'baths_count', 'bathrooms');
beds_baths('btn_count_minus', 'baths_count', 'bathrooms');
beds_baths('btn_beds_plus', 'beds_count', 'bedrooms');
beds_baths('btn_beds_minus', 'beds_count', 'bedrooms');
$('.btn-apply').on('click', function (e){
e.preventDefault();
$('.advanced-search-v3 .btn-group .dropdown-menu').removeClass('show');
});
$('.clear-baths').on('click', function (e){
e.preventDefault();
$('.baths_count').text('0');
$('.bathrooms').val('');
});
$('.clear-beds').on('click', function (e){
e.preventDefault();
$('.beds_count').text('0');
$('.bedrooms').val('');
});
$('.clear-checkboxes').on('click', function (e){
e.preventDefault();
$(this)
.parents('.btn-group')
.find('input[type="checkbox"]')
.prop('checked', false)
.attr('checked', false);
});
$('.method-select input').on('change', function (){
if($(this).is(':checked')){
$('.recurring-payment-wrap').slideUp();
$(this)
.parents('.payment-method-block')
.next('.recurring-payment-wrap')
.slideDown();
}else{
$('.recurring-payment-wrap').slideUp();
}});
function paypal_option(ele){
if($(ele).attr('checked')){
$(ele)
.parents('.payment-method-block')
.next('.recurring-payment-wrap')
.slideDown();
}else{
$(ele)
.parents('.payment-method-block')
.next('.recurring-payment-wrap')
.slideUp();
}}
paypal_option('.paypal-method');
paypal_option('.stripe-method');
$('button.stripe-button-el span').prepend('<i class="fa fa-credit-card"></i>'
);
$('#stripe_package_recurring').click(function (){
if($(this).attr('checked')){
$('.houzez_payment_form').append('<input type="hidden" name="houzez_stripe_recurring" id="houzez_stripe_recurring" value="1">'
);
}else{
$('#houzez_stripe_recurring').remove();
}});
$('.prop_featured').on('change', function (){
var currency_symbol=houzez_vars.currency_symbol;
var currency_position=houzez_vars.currency_position;
var total_price, total_price_with_currency, price_regular_with_currency;
var price_regular=parseFloat($('#submission_price').text());
var price_featured=parseFloat($('#submission_featured_price').text());
total_price=price_regular + price_featured;
if(currency_position==='after'){
price_regular_with_currency=price_regular + '' + currency_symbol;
total_price_with_currency=total_price + '' + currency_symbol;
}else{
price_regular_with_currency=currency_symbol + '' + price_regular;
total_price_with_currency=currency_symbol + '' + total_price;
}
if($(this).is(':checked')){
$('#submission_total_price').text(total_price_with_currency);
$('#featured_pay').val(1);
$('input[name="pay_ammout"]').val(total_price * 100);
$('#houzez_listing_price').val(total_price);
}else{
$('#submission_total_price').text(price_regular_with_currency);
$('#featured_pay').val(0);
$('input[name="pay_ammout"]').val(price_regular * 100);
$('#houzez_listing_price').val(price_regular);
}
return false;
});
$('#houzez_complete_order').on('click', function (e){
e.preventDefault();
var hform,
relist_mode,
payment_gateway,
houzez_listing_price,
property_id,
is_prop_featured,
is_prop_upgrade;
payment_gateway=$("input[name='houzez_payment_type']:checked").val();
is_prop_featured=$("input[name='featured_pay']").val();
is_prop_upgrade=$("input[name='is_upgrade']").val();
relist_mode=$("input[name='relist_mode']").val();
property_id=$('#houzez_property_id').val();
houzez_listing_price=$('#houzez_listing_price').val();
if(payment_gateway=='paypal'){
fave_processing_modal(paypal_connecting);
paypal_per_listing_payment(
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
);
}else if(payment_gateway=='stripe'){
fave_processing_modal(processing_text);
stripe_per_listing_payment(
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
);
}else if(payment_gateway=='direct_pay'){
fave_processing_modal(processing_text);
bank_transfer_per_listing(property_id, houzez_listing_price);
}
return;
});
var paypal_per_listing_payment=function (
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
){
$.ajax({
type: 'post',
url: ajaxurl,
data: {
action: 'houzez_property_paypal_payment',
prop_id: property_id,
is_prop_featured: is_prop_featured,
is_prop_upgrade: is_prop_upgrade,
relist_mode: relist_mode,
},
success: function (response){
window.location.href=response;
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var stripe_per_listing_payment=function (
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
){
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'JSON',
data: {
action: 'houzez_property_stripe_payment',
prop_id: property_id,
is_prop_featured: is_prop_featured,
is_prop_upgrade: is_prop_upgrade,
relist_mode: relist_mode,
},
success: function (response){
if(response.status){
window.location.href=response.paymeny_link;
}else{
alert(response.message);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var bank_transfer_per_listing=function (prop_id, listing_price){
var is_featured=$('input[name="featured_pay"]').val();
var is_upgrade=$('input[name="is_upgrade"]').val();
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_direct_pay_per_listing',
prop_id: prop_id,
is_featured: is_featured,
is_upgrade: is_upgrade,
},
success: function (data){
window.location.href=data;
},
error: function (errorThrown){},
});
};
var houzez_stripe_package_payment=function (
houzez_package_id,
is_stripe_recurring
){
$.ajax({
type: 'POST',
url: ajaxurl,
dataType: 'JSON',
data: {
action: 'houzez_stripe_package_payment',
package_id: houzez_package_id,
is_stripe_recurring: is_stripe_recurring,
},
success: function (response){
if(response.status){
window.location.href=response.paymeny_link;
}else{
alert(response.message);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var houzez_paypal_package_payment=function (
houzez_package_price,
houzez_package_name,
houzez_package_id
){
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_paypal_package_payment',
houzez_package_price: houzez_package_price,
houzez_package_name: houzez_package_name,
houzez_package_id: houzez_package_id,
},
success: function (data){
window.location.href=data;
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var houzez_recuring_paypal_package_payment=function (
houzez_package_price,
houzez_package_name,
houzez_package_id
){
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_recuring_paypal_package_payment',
houzez_package_name: houzez_package_name,
houzez_package_id: houzez_package_id,
houzez_package_price: houzez_package_price,
},
success: function (data){
window.location.href=data;
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var direct_bank_transfer_package=function (
houzez_package_id,
houzez_package_price,
houzez_package_name
){
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_direct_pay_package',
selected_package: houzez_package_id,
},
success: function (data){
window.location.href=data;
},
error: function (errorThrown){},
});
};
var houzez_free_membership_package=function (houzez_package_id){
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_free_membership_package',
selected_package: houzez_package_id,
},
success: function (data){
window.location.href=data;
},
error: function (errorThrown){},
});
};
var houzez_membership_data=function (currnt){
var payment_gateway=$(
"input[name='houzez_payment_type']:checked"
).val();
var houzez_package_price=$(
"input[name='houzez_package_price']"
).val();
var houzez_package_id=$("input[name='houzez_package_id']").val();
var houzez_package_name=$('#houzez_package_name').text();
if(payment_gateway=='paypal'){
fave_processing_modal(paypal_connecting);
if($('#paypal_package_recurring').is(':checked')){
houzez_recuring_paypal_package_payment(
houzez_package_price,
houzez_package_name,
houzez_package_id
);
}else{
houzez_paypal_package_payment(
houzez_package_price,
houzez_package_name,
houzez_package_id
);
}}else if(payment_gateway=='stripe'){
fave_processing_modal(processing_text);
var is_stripe_recurring=$('#houzez_stripe_recurring').is(':checked'
);
houzez_stripe_package_payment(
houzez_package_id,
is_stripe_recurring
);
}else if(payment_gateway=='direct_pay'){
fave_processing_modal(processing_text);
direct_bank_transfer_package(
houzez_package_id,
houzez_package_price,
houzez_package_name
);
}else{
fave_processing_modal(processing_text);
houzez_free_membership_package(houzez_package_id);
}
return false;
};
var houzez_register_user_with_membership=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#packmem-msgs');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
houzez_membership_data(currnt);
}else{
$('html, body').animate({
scrollTop: $('.frontend-submission-page').offset()
.top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('#houzez_complete_membership').on('click', function (e){
e.preventDefault();
var currnt=$(this);
if(parseInt(userID, 10)===0||userID==undefined){
houzez_register_user_with_membership(currnt);
return;
}
houzez_membership_data(currnt);
});
var areaSwitcherList=$('#area-switcher-list-js');
if(areaSwitcherList.length > 0){
$('#area-switcher-list-js > li').on('click', function (e){
var selectedAreaCode=$(this).data('area-code');
if(selectedAreaCode){
$('#houzez-switch-to-area').val(selectedAreaCode);
var houzez_switch_to_area=$('#houzez-switch-to-area').val();
fave_processing_modal(processing_text);
$.ajax({
url: ajaxurl,
dataType: 'JSON',
method: 'POST',
data: {
action: 'houzez_switch_area',
switch_to_area: houzez_switch_to_area,
},
success: function (res){
if(res.success){
window.location.reload(true);
}else{
console.log(res);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
}});
}
var currencySwitcherList=$('#hz-currency-switcher-list');
if(currencySwitcherList.length > 0){
$('#hz-currency-switcher-list > li').on('click', function (e){
var selectedCurrencyCode=$(this).data('currency-code');
if(selectedCurrencyCode){
$('#houzez-switch-to-currency').val(selectedCurrencyCode);
var houzez_switch_to_currency=$(
'#houzez-switch-to-currency'
).val();
fave_processing_modal(processing_text);
$.ajax({
url: ajaxurl,
dataType: 'JSON',
method: 'POST',
data: {
action: 'houzez_currency_converter',
currency_converter: selectedCurrencyCode,
},
success: function (res){
if(res.success){
window.location.reload(true);
}else{
console.log(res);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
}});
}
$('[data-toggle="tooltip"]').tooltip();
$('.advanced-search-dropdown').on('click', function (e){
e.stopPropagation();
});
$('.agent-show-onClick').on('click', function (e){
$(this).toggleClass('agent-phone-hidden');
});
$('.dropdown-menu span.dropdown-toggle').on('click', function (e){
if(!$(this).next().hasClass('show')){
$(this)
.parents('.dropdown-menu')
.first()
.find('.show')
.removeClass('show');
}
var $subMenu=$(this).next('.dropdown-menu');
$subMenu.toggleClass('show');
$(this)
.parents('li.nav-item.dropdown.show')
.on('hidden.bs.dropdown', function (e){
$('.dropdown-submenu .show').removeClass('show');
});
return false;
});
$.fn.nodoubletapzoom=function (){
$(this).bind('touchstart', function preventZoom(e){
var t2=e.timeStamp,
t1=$(this).data('lastTouch')||t2,
dt=t2 - t1,
fingers=e.originalEvent.touches.length;
$(this).data('lastTouch', t2);
if(!dt||dt > 500||fingers > 1) return;
e.preventDefault();
$(this).trigger('click').trigger('click');
});
};
if($('.nav-mobile-js').length > 0){
var smm_transform=256;
if(houzez_rtl){
smm_transform=-256;
}
var slideout_left=new Slideout({
panel: document.getElementById('main-wrap'),
menu: document.getElementById('nav-mobile'),
padding: smm_transform,
tolerance: 70,
side: 'left',
easing: 'cubic-bezier(.32,2,.55,.27)',
});
slideout_left.disableTouch();
}
if($('.main-wrap-js').length > 0&&$('#navi-user').length > 0){
var smd_transform=256;
if(houzez_rtl){
smd_transform=-256;
}
var slideout_right=new Slideout({
panel: document.getElementById('main-wrap'),
menu: document.getElementById('navi-user'),
padding: smd_transform,
tolerance: 70,
side: 'right',
easing: 'cubic-bezier(.32,2,.55,.27)',
});
slideout_right.disableTouch();
}
$('.toggle-button-left, #nav-mobile .nav-link:not(.dropdown-toggle)').on('click',
function (){
slideout_left.toggle();
$('.slideout-menu-left').toggleClass('open');
}
);
$('.toggle-button-right').on('click', function (){
slideout_right.toggle();
$('.slideout-menu-right').toggleClass('open');
});
$(document).on('mouseup', function (e){
var mobileNavcontainer=$('.nav-mobile');
var toggleBtnCloseW=$('.toggle-button-left');
var mobileMenuDiv=$('#nav-mobile');
var toggleBtnCloseL=$('.toggle-button-right');
var mobileMenuDivL=$('#navi-user');
if(!mobileNavcontainer.is(e.target) &&
mobileNavcontainer.has(e.target).length===0 &&
mobileMenuDiv.hasClass('open') &&
!toggleBtnCloseW.is(e.target) &&
toggleBtnCloseW.has(e.target).length===0
){
slideout_left.toggle();
$('.slideout-menu-left').toggleClass('open');
}
if(!mobileNavcontainer.is(e.target) &&
mobileNavcontainer.has(e.target).length===0 &&
mobileMenuDivL.hasClass('open') &&
!toggleBtnCloseL.is(e.target) &&
toggleBtnCloseL.has(e.target).length===0
){
slideout_right.toggle();
$('.slideout-menu-right').toggleClass('open');
}});
$(function (){
if($('.distance-range').length > 0){
$('.distance-range').slider();
}});
function houzez_parallax_listings(){
var header_parallax=$('.parallax');
if(header_parallax.length > 0){
header_parallax.parallaxBackground({
parallaxBgPosition: 'center center',
parallaxBgRepeat: 'no-repeat',
parallaxBgSize: 'cover',
parallaxSpeed: '0.25',
});
}}
houzez_parallax_listings();
$(document).ready(function (){
$('.mobile-search-nav').click(function (){
$('#overlay-search-advanced-module').toggleClass('open');
});
});
$(document).ready(function (){
$(
'.overlay-search-module-close, .overly_is_halfmap .half-map-search-js-btn'
).click(function (){
$('#overlay-search-advanced-module').toggleClass('open');
});
});
function setSectionHeight(){
var window_height=$(window).innerHeight();
var sections_height=window_height - header_area_height;
sections_height=sections_height - advanced_search_nav_height;
sections_height=sections_height - elementor_location_header_height;
if($(window).width() >=767){
$('.half-map-left-wrap, .half-map-right-wrap').css('height',
sections_height
);
}else{
$('.map-on-right .half-map-right-wrap').css('height',
sections_height
);
$('.map-on-right .half-map-left-wrap').css('height', '100vh');
$('.map-on-left .half-map-right-wrap').css('height',
sections_height
);
$('.map-on-left .half-map-left-wrap').css('height', '100vh');
}}
setSectionHeight();
$win.on('resize', function (){
setSectionHeight();
});
$('.switch-btn').on('click', function (){
$('.switch-btn').removeClass('active');
$(this).addClass('active');
if($(this).hasClass('btn-list')){
$('.listing-view').removeClass('grid-view').addClass('list-view');
}else if($(this).hasClass('btn-grid')){
$('.listing-view').removeClass('list-view').addClass('grid-view');
}});
$(document).ready(function (){
$('.show-compare-panel').click(function (){
$(this).toggleClass('active');
$('.compare-property-active').addClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').addClass('compare-property-panel-open'
);
});
$('.close-compare-panel').click(function (){
$(this).toggleClass('active');
$('.compare-property-active').removeClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').removeClass('compare-property-panel-open'
);
});
});
var property_banner_slider=$('.property-slider');
if(property_banner_slider.length > 0){
var autoplay=property_banner_slider.data('autoplay');
var slider_loop=property_banner_slider.data('loop');
var slider_speed=property_banner_slider.data('speed');
var s_loop=false;
if(slider_loop==1){
s_loop=true;
}
property_banner_slider.slick({
rtl: houzez_rtl,
autoplay: autoplay,
autoplaySpeed: slider_speed,
lazyLoad: 'ondemand',
infinite: s_loop,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
});
}
$(window).on('load', function (){
var property_detail_gallery=$('#property-gallery-js');
if(property_detail_gallery.length > 0){
property_detail_gallery.lightSlider({
rtl: houzez_rtl,
gallery: true,
item: 1,
thumbItem: 8,
slideMargin: 0,
speed: 500,
adaptiveHeight: true,
auto: false,
loop: false,
prevHtml:
'<button type="button" class="slick-prev slick-arrow"></button>',
nextHtml:
'<button type="button" class="slick-next slick-arrow"></button>',
onSliderLoad: function (){
property_detail_gallery.removeClass('cS-hidden');
property_detail_gallery.refresh();
},
});
}});
var lightbox_slider_js=$('#lightbox-slider-js');
if(lightbox_slider_js.length > 0){
lightbox_slider_js.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
});
$('.houzez-trigger-popup-slider-js').on('click', function (e){
e.preventDefault();
var slider_num=parseInt($(this).data('slider-no'));
setTimeout(function (){
lightbox_slider_js.slick('slickGoTo', slider_num - 1);
}, 200);
});
}
var listing_slider_variable_width=$('.listing-slider-variable-width');
if(listing_slider_variable_width.length > 0){
listing_slider_variable_width.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 1,
centerMode: true,
variableWidth: true,
arrows: true,
adaptiveHeight: true,
});
$('.property-detail-v5 #pills-gallery-tab').on('click', function (){
if(!listing_slider_variable_width.hasClass('hz-slick-refreshed')){
setTimeout(function (){
listing_slider_variable_width.slick('setPosition');
listing_slider_variable_width.slick('refresh');
listing_slider_variable_width.addClass('hz-slick-refreshed'
);
}, 0);
}});
}
var testimonials_slider_v1=$('.testimonials-slider-wrap-v1');
if(testimonials_slider_v1.length > 0){
testimonials_slider_v1.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
autoplay: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
dots: true,
appendArrows: '.testimonials-module-slider-v1',
prevArrow:
'<button type="button" class="slick-prev btn-primary-outlined">' +
prev_text +
'</button>',
nextArrow:
'<button type="button" class="slick-next btn-primary-outlined">' +
next_text +
'</button>',
});
}
var testimonials_slider_v2=$('.testimonials-slider-wrap-v2');
if(testimonials_slider_v2.length > 0){
testimonials_slider_v2.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
autoplay: true,
speed: 300,
slidesToShow: 3,
arrows: true,
adaptiveHeight: true,
dots: true,
appendArrows: '.testimonials-module-slider-v2',
prevArrow:
'<button type="button" class="slick-prev btn-primary-outlined">' +
prev_text +
'</button>',
nextArrow:
'<button type="button" class="slick-next btn-primary-outlined">' +
next_text +
'</button>',
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 2,
slidesToScroll: 2,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
var testimonials_slider_v3=$('.testimonials-slider-wrap-v3');
if(testimonials_slider_v3.length > 0){
testimonials_slider_v3.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
fade: true,
autoplay: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
dots: false,
appendArrows: '.testimonials-module-slider-v3',
prevArrow: $('.slick-prev'),
nextArrow: $('.slick-next'),
});
}
var houzez_custom_carousel=$('.custom-carousel');
if(houzez_custom_carousel.length > 0){
$('.custom-carousel').each(function (){
var token=$(this).data('token');
var carouselSettings=$(this).data('carousel');
$('.custom-carousel-js-' + token).slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
autoplay: carouselSettings.slide_auto==='true',
autoplaySpeed: parseInt(carouselSettings.auto_speed)||3000,
infinite: carouselSettings.slide_infinite==='true',
speed: 500,
slidesToShow: parseInt(carouselSettings.slides_to_show)||3,
slidesToScroll:
parseInt(carouselSettings.slides_to_scroll)||1,
arrows: carouselSettings.navigation==='true',
adaptiveHeight: true,
dots: carouselSettings.slide_dots==='true',
appendArrows: '.custom-carousel-js-wrap-' + token,
prevArrow: $('.slick-prev-js-' + token),
nextArrow: $('.slick-next-js-' + token),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
});
}
var partners_carousel=$('.partners-slider-wrap');
if(partners_carousel.length > 0){
partners_carousel.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 4,
arrows: true,
adaptiveHeight: true,
dots: true,
appendArrows: '.partners-module-slider',
prevArrow: $('.partner-prev-js'),
nextArrow: $('.partner-next-js'),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 2,
slidesToScroll: 2,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
var schedule_tour_day=$('.property-schedule-tour-day-form-slide-v2');
if(schedule_tour_day.length > 0){
schedule_tour_day.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: false,
speed: 300,
slidesToShow: 3,
slidesToScroll: 3,
arrows: true,
adaptiveHeight: false,
dots: false,
prevArrow: $('.tour-day-form-slide-arrow.sche-tabs-prev-js'),
nextArrow: $('.tour-day-form-slide-arrow.sche-tabs-next-js'),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
},
},
],
});
}
var schedule_tour_day2=$(
'.property-schedule-tour-day-form-slide-v2-bottom'
);
if(schedule_tour_day2.length > 0){
schedule_tour_day2.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: false,
speed: 300,
slidesToShow: 4,
slidesToScroll: 4,
arrows: true,
adaptiveHeight: false,
dots: false,
prevArrow: $('.tour-day-form-slide-arrow.sche-prev-js'),
nextArrow: $('.tour-day-form-slide-arrow.sche-next-js'),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 4,
slidesToScroll: 4,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
},
},
],
});
}
var widget_featured_carousel=$('.widget-featured-property-slider');
if(widget_featured_carousel.length > 0){
widget_featured_carousel.slick({
rtl: houzez_rtl,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
dots: true,
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
$(document).ready(function (){
$('.btn-expand').click(function (){
$('.lightbox-gallery-wrap').toggleClass('lightbox-gallery-full-wrap'
);
$('#lightbox-slider-js').slick('refresh');
});
$('.btn-email').click(function (){
$('.lightbox-form-wrap').toggleClass('lightbox-form-wrap-show');
});
});
var houzez_listing_nav=$('.property-navigation-wrap');
if(houzez_listing_nav.length > 0){
$(document).scroll(function (){
var y=$(this).scrollTop();
houzez_listing_nav.css('top', houzezStickyTop);
if(y > 300){
houzez_listing_nav.fadeIn(250);
}else{
houzez_listing_nav.fadeOut(0);
}});
$('.property-navigation-item a.target').click(function (event){
event.preventDefault();
$('html, body').animate({
scrollTop: $($(this).attr('href')).offset().top - 84,
},
500
);
});
$(window).on('scroll', function (){
$('.property-section-wrap').each(function (){
if($(window).scrollTop() >=$(this).offset().top - 86){
var id=$(this).attr('id');
$('.target').removeClass('active');
$('.target[href="#' + id + '"]').addClass('active');
}else if($(window).scrollTop() <=0){
$('.target').removeClass('active');
}});
});
}
function setCalendarCellHeight(){
var calendarCellWidth=$(
'.block-availability-calendars .search-calendar li'
).innerWidth();
$('.block-availability-calendars .search-calendar li').css('height',
calendarCellWidth
);
$('.block-availability-calendars .search-calendar li').css('line-height',
calendarCellWidth + 'px'
);
}
setCalendarCellHeight();
$win.on('resize', function (){
setCalendarCellHeight();
});
$('.login-link a').on('click', function (){
$('.modal-toggle-1').addClass('active');
$('.modal-toggle-2').removeClass('active');
$('.register-form-tab').removeClass('active').removeClass('show');
$('.login-form-tab').addClass('active').addClass('show');
});
$('.register-link a').click(function (){
$('.modal-toggle-2').addClass('active');
$('.modal-toggle-1').removeClass('active');
$('.register-form-tab').addClass('active').addClass('show');
$('.login-form-tab').removeClass('active').removeClass('show');
});
if($('.db_input_date').length > 0){
$('.db_input_date').datepicker({
format: 'yyyy-mm-dd',
clearBtn: true,
autoclose: true,
language: houzez_date_language,
});
}
if(houzez_is_mobile){
}else{
if($('.deals-table-wrap').length > 0){
$('.deals-table-wrap').overlayScrollbars({
overflowBehavior: {
x: 'scroll',
y: 'scroll',
},
});
}}
var listing_nav_area_height=$('.property-navigation-wrap').innerHeight();
if(listing_nav_area_height==null){
listing_nav_area_height=0;
}
if($('.houzez_sticky').length > 0){
$('.houzez_sticky').theiaStickySidebar({
additionalMarginTop:
houzezStickyTop +
advanced_search_nav_height +
listing_nav_area_height,
minWidth: 768,
updateSidebarHeight: false,
});
}
function resizeMasonryItem(item){
var grid=document.getElementsByClassName('masonry')[0],
rowGap=parseInt(
window.getComputedStyle(grid).getPropertyValue('grid-row-gap')
),
rowHeight=parseInt(
window.getComputedStyle(grid).getPropertyValue('grid-auto-rows')
);
var rowSpan=Math.ceil((item.querySelector('.masonry-content').getBoundingClientRect()
.height +
rowGap) /
(rowHeight + rowGap)
);
item.style.gridRowEnd='span ' + rowSpan;
}
function resizeAllMasonryItems(){
var allItems=document.getElementsByClassName('masonry-brick');
for (var i=0; i > allItems.length; i++){
resizeMasonryItem(allItems[i]);
}}
if($('.page-template-blog-masonry').length > 0){
var waitForImages=function (){
var allItems=document.getElementsByClassName('masonry-brick');
for (var i=0; i < allItems.length; i++){
imagesLoaded(allItems[i], function (instance){
var item=instance.elements[0];
resizeMasonryItem(item);
});
}};
var masonryEvents=['load', 'resize'];
masonryEvents.forEach(function (event){
window.addEventListener(event, resizeAllMasonryItems);
});
waitForImages();
}
var splash_slider_wrap=$('.splash-slider-wrap');
if(splash_slider_wrap.length > 0){
splash_slider_wrap.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
adaptiveHeight: true,
autoplay: true,
infinite: true,
speed: 300,
fade: true,
slidesToShow: 1,
arrows: false,
});
}
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_check_favourites(userID);
function getWindowWidth(){
return Math.max($(window).width(), window.innerWidth);
}
function getWindowHeight(){
return Math.max($(window).height(), window.innerHeight);
}
$('.houzez-woocommerce-pay').on('click', function (e){
e.preventDefault();
let listID=$(this).data('listid');
let is_featured=$(this).data('featured');
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_perlist_woo_pay',
listing_id: listID,
is_featured: is_featured,
},
success: function (data){
if(data.success!=false){
window.location.href=houzez_vars.woo_checkout_url;
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
});
$('.houzez-woocommerce-package').on('click', function (e){
e.preventDefault();
if(parseInt(userID, 10)===0||userID==undefined){
jQuery('#login-register-form').modal('show');
jQuery('.login-form-tab').addClass('active show');
jQuery('.modal-toggle-1.nav-link').addClass('active');
}else{
let packid=$(this).data('packid');
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_woo_pay_package',
package_id: packid,
},
success: function (data){
if(data.success!=false){
window.location.href=houzez_vars.woo_checkout_url;
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
}});
var setTopBannerFullScreen=function (){
var totalTopBarsHeight=0;
var searchH=0;
var topBarH=0;
var totalBannerHeight=0;
var window_height=$(window).innerHeight();
var admin_bar=$('#wpadminbar');
var topBarB=$('.top-bar-wrap');
var admin_bar_height=admin_bar.outerHeight();
searchH=window_height - header_area_height;
if(header_area.hasClass('header-transparent-wrap')){
if(topBarB.length){
topBarH=topBarB.outerHeight();
}
totalBannerHeight =
getWindowHeight() - (topBarH + admin_bar_height);
}else{
if(header_area.length &&
advanced_search_nav.length &&
!advanced_search_nav.hasClass('search-hidden')
){
totalTopBarsHeight =
parseInt(header_area_height) +
parseInt(advanced_search_nav_height);
}else if(header_area.length){
totalTopBarsHeight=parseInt(header_area_height);
}
totalBannerHeight =
getWindowHeight() - (totalTopBarsHeight + admin_bar_height);
}
$('.top-banner-wrap-fullscreen').css('height', totalBannerHeight);
};
if(!houzez_is_splash&&$('.top-banner-wrap-fullscreen').length > 0){
$(document).ready(function (){
setTopBannerFullScreen();
});
$(window).on('resize', function (){
setTopBannerFullScreen();
});
}
$(document).ready(function (){
$('.compare-property-label').on('click', function (){
$(this).toggleClass('active');
$('.compare-property-active').addClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').addClass('compare-property-panel-open'
);
});
$('.close-compare-panel').on('click', function (){
$(this).toggleClass('active');
$('.compare-property-active').removeClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').removeClass('compare-property-panel-open'
);
});
var listings_compare=houzezGetCookie('houzez_compare_listings');
var limit_item_compare=4;
add_to_compare(
compare_url,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text,
compare_limit,
listings_compare,
limit_item_compare
);
remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
);
});
function compare_for_ajax(){
var listings_compare=houzezGetCookie('houzez_compare_listings');
var limit_item_compare=4;
add_to_compare(
compare_url,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text,
compare_limit,
listings_compare,
limit_item_compare
);
remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
);
}
$(
'.houzez-onepage-mode .header-main-wrap .main-nav li.nav-item a.nav-link'
).on('click', function (e){
var currentUrl=$(this).attr('href');
window.history.pushState({ houzezTheme: true }, '', currentUrl);
});
houzez_render_compare_properties_data();
function houzez_render_compare_properties_data(){
let compare_listings=JSON.parse(localStorage.getItem('houzez_compare_listings')
);
if(compare_listings&&compare_listings.length > 0){
let properties_array='';
compare_listings.forEach(function (item){
let img=item.image;
let listingId=item.id;
properties_array +=
'<div class="compare-item remove-' +
listingId +
'">' +
'<a href="#" class="remove-compare remove-icon" data-listing_id="' +
listingId +
'">' +
'<i class="houzez-icon icon-remove-circle"></i></a>' +
'<img class="img-fluid" src="' +
img +
'" width="200" height="150" alt="Thumb">' +
'</div>';
});
jQuery('.compare-wrap').html(properties_array);
}}
})(jQuery);
function houzezSetCookie(cname, cvalue, exdays){
var d=new Date();
d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
var expires='expires=' + d.toUTCString();
document.cookie=cname + '=' + cvalue + ';' + expires + ';path=/';
}
function houzezGetCookie(cname){
var name=cname + '=';
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(';');
for (var i=0; i < ca.length; i++){
var c=ca[i];
while (c.charAt(0)==' '){
c=c.substring(1);
}
if(c.indexOf(name)==0){
return c.substring(name.length, c.length);
}}
return '';
}
function fave_processing_modal(msg){
var process_modal =
'<div class="modal fade" id="fave_modal" tabindex="-1" role="dialog" aria-labelledby="faveModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body houzez_messages_modal">' +
msg +
'</div></div></div></div></div>';
jQuery('body').append(process_modal);
jQuery('#fave_modal').modal();
}
function fave_processing_modal_close(){
jQuery('#fave_modal').modal('hide');
}
function houzez_grid_image_gallery(){
if(houzez_vars.disable_property_gallery==1){
var gallery_behaviour=houzez_vars.grid_gallery_behaviour;
var houzez_rtl=houzez_vars.houzez_rtl==='yes';
jQuery('.hz-item-gallery-js').each(function (){
var $this=jQuery(this);
if(!$this.hasClass('houzez-gallery-loaded') &&
$this.data('images')
){
var href=$this.find('a.listing-featured-thumb').attr('href');
var link_target=$this
.find('a.listing-featured-thumb')
.attr('target');
var images=$this.data('images');
var fragment=document.createDocumentFragment();
var galleryWrap=document.createElement('div');
galleryWrap.className =
'listing-gallery-wrap ' + gallery_behaviour;
var carouselDiv=document.createElement('div');
carouselDiv.className='houzez-listing-carousel';
images.forEach(function (image){
var itemDiv=document.createElement('div');
itemDiv.className='item';
var anchor=document.createElement('a');
anchor.className='hover-effect';
anchor.href=href;
anchor.target=link_target;
var img=document.createElement('img');
img.src=image.image;
img.alt=image.alt;
img.width=image.width;
img.height=image.height;
img.className='img-fluid';
anchor.appendChild(img);
itemDiv.appendChild(anchor);
carouselDiv.appendChild(itemDiv);
});
galleryWrap.appendChild(carouselDiv);
fragment.appendChild(galleryWrap);
$this.find('.listing-image-wrap').html(fragment);
jQuery(
'.item-wrap-v6 .listing-gallery-wrap .item a'
).removeClass('hover-effect');
var listing_slider=$this.find('.houzez-listing-carousel');
listing_slider.slick({
rtl: houzez_rtl,
autoplay: false,
lazyLoad: 'ondemand',
infinite: false,
speed: 300,
slidesToShow: 1,
arrows: true,
prevArrow:
'<button type="button" class="slick-prev slick-arrow"></button>',
nextArrow:
'<button type="button" class="slick-next slick-arrow"></button>',
adaptiveHeight: true,
});
is_listing_gallery_slider=true;
$this.addClass('houzez-gallery-loaded');
}});
}
jQuery(document).on('click', '.switch-btn', function (){
jQuery('.hz-item-gallery-js .houzez-listing-carousel').slick('refresh');
});
}
function houzez_listing_lightbox(ajaxurl, processing_text, houzez_rtl, userID){
jQuery('.hz-show-lightbox-js').on('click', function (){
var listing_id=jQuery(this).data('listid');
var $parents=jQuery(this).parents('.item-wrap');
var preview_loader=$parents.find('.preview_loader');
jQuery.ajax({
type: 'post',
url: ajaxurl,
data: {
action: 'load_lightbox_content',
listing_id: listing_id,
},
beforeSend: function (){
preview_loader
.empty()
.append('' +
'<div class="houzez-overlay-loading">' +
'<div class="overlay-placeholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
},
complete: function (){
preview_loader.empty();
},
success: function (response){
jQuery('#hz-listing-model-content').html(response);
jQuery('#houzez-listing-lightbox').modal('show');
jQuery('.lightbox-slider').not('.slick-initialized').slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
});
jQuery('#houzez-listing-lightbox').on('shown.bs.modal',
function (e){
jQuery('.lightbox-slider').slick('setPosition');
jQuery('.lightbox-slider').slick('refresh');
}
);
jQuery('.btn-expand').on('click', function (){
jQuery('.lightbox-gallery-wrap').toggleClass('lightbox-gallery-full-wrap'
);
jQuery('.lightbox-slider').slick('setPosition');
});
jQuery('.btn-email').on('click', function (){
jQuery('.lightbox-form-wrap').toggleClass('lightbox-form-wrap-show'
);
});
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
}
function houzez_init_add_favorite(ajaxurl, userID){
jQuery('.add-favorite-js').on('click', function (e){
e.preventDefault();
var curnt=jQuery(this);
var listID=jQuery(this).attr('data-listid');
add_to_favorite(ajaxurl, listID, curnt, userID);
return false;
});
}
function houzez_init_remove_favorite(ajaxurl, userID){
jQuery('.remove_fav').on('click', function (){
var curnt=jQuery(this);
var listID=jQuery(this).attr('data-listid');
add_to_favorite(ajaxurl, listID, curnt, userID);
var itemWrap=curnt.parents('tr').remove();
});
}
function add_to_favorite(ajaxurl, listID, curnt, userID){
if(parseInt(userID, 10)===0||userID==undefined){
var add_to_favorite_login_required =
houzez_vars.add_to_favorite_login_required;
if(add_to_favorite_login_required!=0){
jQuery('.register-form-tab').removeClass('active show');
jQuery('.modal-toggle-2.nav-link').removeClass('active');
jQuery('#login-register-form').modal('show');
jQuery('.login-form-tab').addClass('active show');
jQuery('.modal-toggle-1.nav-link').addClass('active');
}else{
add_to_favorite_without_login(curnt);
}}else{
var $parents=curnt.parents('.item-wrap');
var preview_loader=$parents.find('.preview_loader');
jQuery.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_add_to_favorite',
listing_id: listID,
},
beforeSend: function (){
preview_loader
.empty()
.append('' +
'<div class="houzez-overlay-loading">' +
'<div class="overlay-placeholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
},
complete: function (){
preview_loader.empty();
},
success: function (response){
if(response.data.added){
curnt.children('i').addClass('text-danger');
}else{
curnt.children('i').removeClass('text-danger');
}
preview_loader.empty();
},
complete: function (){},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
}}
function add_to_favorite_without_login(curnt){
var listings_favorite=houzezGetCookie('houzez_favorite_listings');
if(listings_favorite&&listings_favorite.length){
listings_favorite=listings_favorite.split(',');
}else{
listings_favorite=[];
}
var listing_id=curnt.data('listid');
var index=listings_favorite.indexOf(listing_id.toString());
if(index==-1){
listings_favorite.push(listing_id.toString());
houzezSetCookie(
'houzez_favorite_listings',
listings_favorite.join(','),
30
);
jQuery('span.frvt-count').html('');
jQuery('span.frvt-count').html(listings_favorite.length);
for (var i=0; i < listings_favorite.length; i++){
jQuery(
'.add-favorite-js[data-listid="' + listings_favorite[i] + '"] i'
).addClass('text-danger');
jQuery(
'.add-favorite-js[data-listid="' + listings_favorite[i] + '"]'
).addClass('remove-favorite');
}}else{
listings_favorite.splice(index, 1);
houzezSetCookie(
'houzez_favorite_listings',
listings_favorite.join(','),
30
);
jQuery('span.frvt-count').html('');
jQuery('span.frvt-count').html(listings_favorite.length);
jQuery(
'.add-favorite-js[data-listid="' + listing_id.toString() + '"] i'
).removeClass('text-danger');
jQuery(
'.add-favorite-js[data-listid="' + listing_id.toString() + '"]'
).removeClass('remove-favorite');
}
jQuery('a.favorite-btn').attr('href',
houzez_vars.favorite_url + '?ids=' + listings_favorite
);
return false;
}
function houzez_check_favourites(userID){
if(parseInt(userID, 10)===0||userID==undefined){
var listings_favorite=houzezGetCookie('houzez_favorite_listings');
jQuery('a.favorite-btn').attr('href',
houzez_vars.favorite_url + '?ids=' + listings_favorite
);
if(listings_favorite&&listings_favorite.length){
listings_favorite=listings_favorite.split(',');
if(listings_favorite.length){
for (var i=0; i < listings_favorite.length; i++){
jQuery(
'.add-favorite-js[data-listid="' +
listings_favorite[i] +
'"] i'
).addClass('text-danger');
jQuery(
'.add-favorite-js[data-listid="' +
listings_favorite[i] +
'"]'
).addClass('remove-favorite');
}
jQuery('span.frvt-count').html('');
jQuery('span.frvt-count').html(listings_favorite.length);
}}else{
listings_favorite=[];
}}
}
function add_to_compare(
compare_url,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text,
compare_limit,
listings_compare,
limit_item_compare
){
var storedData=localStorage.getItem('houzez_compare_listings');
var listings_compare=storedData ? JSON.parse(storedData):[];
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
if(listings_compare.length > 0){
jQuery('.compare-property-label').fadeIn(1000);
}
if(listings_compare.length){
for (var i=0; i < listings_compare.length; i++){
jQuery(
'.houzez_compare[data-listing_id="' +
listings_compare[i].id +
'"] i'
)
.removeClass('icon-add-circle')
.addClass('icon-subtract-circle');
jQuery(
'.houzez_compare[data-listing_id="' +
listings_compare[i].id +
'"]'
).attr('title', remove_compare_text);
jQuery(
'.houzez_compare[data-listing_id="' +
listings_compare[i].id +
'"]'
)
.tooltip('hide')
.attr('data-original-title', remove_compare_text);
}
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
}
jQuery('.houzez_compare').on('click', function (e){
e.preventDefault();
var storedData=localStorage.getItem('houzez_compare_listings');
var listings_compare=storedData ? JSON.parse(storedData):[];
var listing_id=jQuery(this).data('listing_id');
var index=listings_compare.findIndex((item)=> item.id===listing_id.toString()
);
var image_div=jQuery(this).parents('.item-wrap');
var thumb_url=image_div.find('img').attr('src');
if(index==-1){
if(listings_compare.length >=limit_item_compare){
alert(compare_limit);
}else{
jQuery('.compare-wrap').append('<div class="compare-item remove-' +
listing_id +
'"><a href="" class="remove-compare remove-icon" data-listing_id="' +
listing_id +
'"><i class="houzez-icon icon-remove-circle"></i></a><img class="img-fluid" src="' +
thumb_url +
'" width="200" height="150" alt="Thumb"></div>'
);
listings_compare.push({
id: listing_id.toString(),
image: thumb_url,
});
localStorage.setItem('houzez_compare_listings',
JSON.stringify(listings_compare)
);
jQuery(this).attr('title', remove_compare_text);
jQuery(this)
.find('i')
.removeClass('icon-add-circle')
.addClass('icon-subtract-circle');
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
jQuery('.compare-property-label').fadeIn(1000);
jQuery(this).toggleClass('active');
jQuery('.compare-property-active').addClass('compare-property-active-push-toleft'
);
jQuery('#compare-property-panel').addClass('compare-property-panel-open'
);
jQuery(this).tooltip('dispose').tooltip('show');
remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
);
}}else{
jQuery('div.remove-' + listing_id).remove();
jQuery(this).attr('title', add_compare_text);
jQuery(this)
.find('i')
.removeClass('icon-subtract-circle')
.addClass('icon-add-circle');
listings_compare.splice(index, 1);
localStorage.setItem('houzez_compare_listings',
JSON.stringify(listings_compare)
);
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
jQuery(this).tooltip('dispose').tooltip('show');
if(listings_compare.length > 0){
jQuery('.compare-property-label').fadeIn(1000);
jQuery(this).toggleClass('active');
jQuery('.compare-property-active').addClass('compare-property-active-push-toleft'
);
jQuery('#compare-property-panel').addClass('compare-property-panel-open'
);
}else{
jQuery('.compare-property-label').fadeOut(1000);
}}
return false;
});
}
function remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
){
jQuery('.remove-compare')
.off('click')
.on('click', function (e){
e.preventDefault();
var compare_url=houzez_vars.compare_url;
var storedData=localStorage.getItem('houzez_compare_listings');
listings_compare=storedData ? JSON.parse(storedData):[];
var listing_id=jQuery(this).data('listing_id');
var index=listings_compare.findIndex((item)=> item.id===listing_id.toString()
);
if(index!==-1){
listings_compare.splice(index, 1);
localStorage.setItem('houzez_compare_listings',
JSON.stringify(listings_compare)
);
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
var compareElement=jQuery('.compare-' + listing_id);
if(compareElement.length){
compareElement.attr('title', add_compare_text);
compareElement
.tooltip('hide')
.attr('data-original-title', add_compare_text);
compareElement
.find('i')
.removeClass('icon-subtract-circle')
.addClass('icon-add-circle');
}
jQuery(this).parents('.compare-item').remove();
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
}});
}
function houzez_grid_call_to_action(){
jQuery('.hz-call-popup-js').on('click', function (){
var call_model_id=jQuery(this).data('model-id');
jQuery('#' + call_model_id).appendTo('body');
jQuery('#' + call_model_id).modal('show');
});
jQuery('.hz-email-popup-js').on('click', function (){
var email_model_id=jQuery(this).data('model-id');
jQuery('#' + email_model_id).appendTo('body');
jQuery('#' + email_model_id).modal('show');
});
};
!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d.call(c,a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"<div class='bootbox modal' tabindex='-1' role='dialog'><div class='modal-dialog'><div class='modal-content'><div class='modal-body'><div class='bootbox-body'></div></div></div></div></div>",header:"<div class='modal-header'><h4 class='modal-title'></h4></div>",footer:"<div class='modal-footer'></div>",closeButton:"<button type='button' class='bootbox-close-button close' data-dismiss='modal' aria-hidden='true'>&times;</button>",form:"<form class='bootbox-form'></form>",inputs:{text:"<input class='bootbox-input bootbox-input-text form-control' autocomplete=off type=text />",textarea:"<textarea class='bootbox-input bootbox-input-textarea form-control'></textarea>",email:"<input class='bootbox-input bootbox-input-email form-control' autocomplete='off' type='email' />",select:"<select class='bootbox-input bootbox-input-select form-control'></select>",checkbox:"<div class='checkbox'><label><input class='bootbox-input bootbox-input-checkbox' type='checkbox' /></label></div>",date:"<input class='bootbox-input bootbox-input-date form-control' autocomplete=off type='date' />",time:"<input class='bootbox-input bootbox-input-time form-control' autocomplete=off type='time' />",number:"<input class='bootbox-input bootbox-input-number form-control' autocomplete=off type='number' />",password:"<input class='bootbox-input bootbox-input-password form-control' autocomplete='off' type='password' />"}},o={locale:"en",backdrop:"static",animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback.call(this):!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,!1)},a.buttons.confirm.callback=function(){return a.callback.call(this,!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback.call(this,c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!b.isArray(k))throw new Error("Please pass an array of input options");if(!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("<optgroup/>").attr("label",d.group)),e=o[d.group]),e.append("<option value='"+d.value+"'>"+d.text+"</option>")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var q=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("<div/>"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(q,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),a.maxlength&&h.attr("maxlength",a.maxlength),f.append(h),f.on("submit",function(a){a.preventDefault(),a.stopPropagation(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var d=b(n.dialog),f=d.find(".modal-dialog"),i=d.find(".modal-body"),j=a.buttons,k="",l={onEscape:a.onEscape};if(b.fn.modal===c)throw new Error("$.fn.modal is not defined; please double check you have included the Bootstrap JavaScript library. See http://getbootstrap.com/javascript/ for more details.");if(g(j,function(a,b){k+="<button data-bb-handler='"+a+"' type='button' class='btn "+b.className+"'>"+b.label+"</button>",l[a]=b.callback}),i.find(".bootbox-body").html(a.message),a.animate===!0&&d.addClass("fade"),a.className&&d.addClass(a.className),"large"===a.size?f.addClass("modal-lg"):"small"===a.size&&f.addClass("modal-sm"),a.title&&i.before(n.header),a.closeButton){var m=b(n.closeButton);a.title?d.find(".modal-header").prepend(m):m.css("margin-top","-10px").prependTo(i)}return a.title&&d.find(".modal-title").html(a.title),k.length&&(i.after(n.footer),d.find(".modal-footer").html(k)),d.on("hidden.bs.modal",function(a){a.target===this&&d.remove()}),d.on("shown.bs.modal",function(){d.find(".btn-primary:first").focus()}),"static"!==a.backdrop&&d.on("click.dismiss.bs.modal",function(a){d.children(".modal-backdrop").length&&(a.currentTarget=d.children(".modal-backdrop").get(0)),a.target===a.currentTarget&&d.trigger("escape.close.bb")}),d.on("escape.close.bb",function(a){l.onEscape&&e(a,d,l.onEscape)}),d.on("click",".modal-footer button",function(a){var c=b(this).data("bb-handler");e(a,d,l[c])}),d.on("click",".bootbox-close-button",function(a){e(a,d,l.onEscape)}),d.on("keyup",function(a){27===a.which&&d.trigger("escape.close.bb")}),b(a.container).append(d),d.modal({backdrop:a.backdrop?"static":!1,keyboard:!1,show:!1}),a.show&&d.modal("show"),d},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){return b(".bootbox").modal("hide"),p};var q={bg_BG:{OK:"Ок",CANCEL:"Отказ",CONFIRM:"Потвърждавам"},br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},cs:{OK:"OK",CANCEL:"Zrušit",CONFIRM:"Potvrdit"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},el:{OK:"Εντάξει",CANCEL:"Ακύρωση",CONFIRM:"Επιβεβαίωση"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},et:{OK:"OK",CANCEL:"Katkesta",CONFIRM:"OK"},fa:{OK:"قبول",CANCEL:"لغو",CONFIRM:"تایید"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},hu:{OK:"OK",CANCEL:"Mégsem",CONFIRM:"Megerősít"},hr:{OK:"OK",CANCEL:"Odustani",CONFIRM:"Potvrdi"},id:{OK:"OK",CANCEL:"Batal",CONFIRM:"OK"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},ja:{OK:"OK",CANCEL:"キャンセル",CONFIRM:"確認"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},pt:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Confirmar"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sq:{OK:"OK",CANCEL:"Anulo",CONFIRM:"Prano"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},th:{OK:"ตกลง",CANCEL:"ยกเลิก",CONFIRM:"ยืนยัน"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return p.addLocale=function(a,c){return b.each(["OK","CANCEL","CONFIRM"],function(a,b){if(!c[b])throw new Error("Please supply a translation for '"+b+"'")}),q[a]={OK:c.OK,CANCEL:c.CANCEL,CONFIRM:c.CONFIRM},p},p.removeLocale=function(a){return delete q[a],p},p.setLocale=function(a){return p.setDefaults("locale",a)},p.init=function(c){return a(c||b)},p});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../data","../ie","../scroll-parent","../version","../widget"],t):t(jQuery)}(function(u){"use strict";return u.widget("ui.sortable",u.ui.mouse,{version:"1.13.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return e<=t&&t<e+i},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var t=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),u.each(this.items,function(){t._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;0<=t;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,e){var i=null,s=!1,o=this;return!(this.reverting||this.options.disabled||"static"===this.options.type||(this._refreshItems(t),u(t.target).parents().each(function(){if(u.data(this,o.widgetName+"-item")===o)return i=u(this),!1}),!(i=u.data(t.target,o.widgetName+"-item")===o?u(t.target):i))||(this.options.handle&&!e&&(u(this.options.handle,i).find("*").addBack().each(function(){this===t.target&&(s=!0)}),!s)||(this.currentItem=i,this._removeCurrentsFromItems(),0)))},_mouseStart:function(t,e,i){var s,o,r=this.options;if((this.currentContainer=this).refreshPositions(),this.appendTo=u("parent"!==r.appendTo?r.appendTo:this.currentItem.parent()),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},u.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),r.cursorAt&&this._adjustOffsetFromHelper(r.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),u.extend(this.offset,{parent:this._getParentOffset()}),r.containment&&this._setContainment(),r.cursor&&"auto"!==r.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",r.cursor),this.storedStylesheet=u("<style>*{ cursor: "+r.cursor+" !important; }</style>").appendTo(o)),r.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",r.zIndex)),r.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",r.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!i)for(s=this.containers.length-1;0<=s;s--)this.containers[s]._trigger("activate",t,this._uiHash(this));return u.ui.ddmanager&&(u.ui.ddmanager.current=this),u.ui.ddmanager&&!r.dropBehaviour&&u.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(t),!0},_scroll:function(t){var e=this.options,i=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<e.scrollSensitivity?this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop+e.scrollSpeed:t.pageY-this.overflowOffset.top<e.scrollSensitivity&&(this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop-e.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<e.scrollSensitivity?this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft+e.scrollSpeed:t.pageX-this.overflowOffset.left<e.scrollSensitivity&&(this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft-e.scrollSpeed)):(t.pageY-this.document.scrollTop()<e.scrollSensitivity?i=this.document.scrollTop(this.document.scrollTop()-e.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<e.scrollSensitivity&&(i=this.document.scrollTop(this.document.scrollTop()+e.scrollSpeed)),t.pageX-this.document.scrollLeft()<e.scrollSensitivity?i=this.document.scrollLeft(this.document.scrollLeft()-e.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<e.scrollSensitivity&&(i=this.document.scrollLeft(this.document.scrollLeft()+e.scrollSpeed))),i},_mouseDrag:function(t){var e,i,s,o,r=this.options;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),r.scroll&&!1!==this._scroll(t)&&(this._refreshItemPositions(!0),u.ui.ddmanager)&&!r.dropBehaviour&&u.ui.ddmanager.prepareOffsets(this,t),this.dragDirection={vertical:this._getDragVerticalDirection(),horizontal:this._getDragHorizontalDirection()},e=this.items.length-1;0<=e;e--)if(s=(i=this.items[e]).item[0],(o=this._intersectsWithPointer(i))&&i.instance===this.currentContainer&&!(s===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===s||u.contains(this.placeholder[0],s)||"semi-dynamic"===this.options.type&&u.contains(this.element[0],s))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(i))break;this._rearrange(t,i),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),u.ui.ddmanager&&u.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,e){var i,s,o,r;if(t)return u.ui.ddmanager&&!this.options.dropBehaviour&&u.ui.ddmanager.drop(this,t),this.options.revert?(s=(i=this).placeholder.offset(),r={},(o=this.options.axis)&&"x"!==o||(r.left=s.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(r.top=s.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,u(this.helper).animate(r,parseInt(this.options.revert,10)||500,function(){i._clear(t)})):this._clear(t,e),!1},cancel:function(){if(this.dragging){this._mouseUp(new u.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var t=this.containers.length-1;0<=t;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),u.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?u(this.domPosition.prev).after(this.currentItem):u(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var t=this._getItemsAsjQuery(e&&e.connected),i=[];return e=e||{},u(t).each(function(){var t=(u(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);t&&i.push((e.key||t[1]+"[]")+"="+(e.key&&e.expression?t[1]:t[2]))}),!i.length&&e.key&&i.push(e.key+"="),i.join("&")},toArray:function(t){var e=this._getItemsAsjQuery(t&&t.connected),i=[];return t=t||{},e.each(function(){i.push(u(t.item||this).attr(t.attribute||"id")||"")}),i},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,o=s+this.helperProportions.height,r=t.left,n=r+t.width,h=t.top,a=h+t.height,l=this.offset.click.top,c=this.offset.click.left,l="x"===this.options.axis||h<s+l&&s+l<a,c="y"===this.options.axis||r<e+c&&e+c<n;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?l&&c:r<e+this.helperProportions.width/2&&i-this.helperProportions.width/2<n&&h<s+this.helperProportions.height/2&&o-this.helperProportions.height/2<a},_intersectsWithPointer:function(t){var e="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),t="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width);return!(!e||!t)&&(e=this.dragDirection.vertical,t=this.dragDirection.horizontal,this.floating?"right"===t||"down"===e?2:1:e&&("down"===e?2:1))},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),t=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),i=this.dragDirection.vertical,s=this.dragDirection.horizontal;return this.floating&&s?"right"===s&&t||"left"===s&&!t:i&&("down"===i&&e||"up"===i&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!=t&&(0<t?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!=t&&(0<t?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(t){var e,i,s,o,r=[],n=[],h=this._connectWith();if(h&&t)for(e=h.length-1;0<=e;e--)for(i=(s=u(h[e],this.document[0])).length-1;0<=i;i--)(o=u.data(s[i],this.widgetFullName))&&o!==this&&!o.options.disabled&&n.push(["function"==typeof o.options.items?o.options.items.call(o.element):u(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function a(){r.push(this)}for(n.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):u(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),e=n.length-1;0<=e;e--)n[e][0].each(a);return u(r)},_removeCurrentsFromItems:function(){var i=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=u.grep(this.items,function(t){for(var e=0;e<i.length;e++)if(i[e]===t.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var e,i,s,o,r,n,h,a,l=this.items,c=[["function"==typeof this.options.items?this.options.items.call(this.element[0],t,{item:this.currentItem}):u(this.options.items,this.element),this]],p=this._connectWith();if(p&&this.ready)for(e=p.length-1;0<=e;e--)for(i=(s=u(p[e],this.document[0])).length-1;0<=i;i--)(o=u.data(s[i],this.widgetFullName))&&o!==this&&!o.options.disabled&&(c.push(["function"==typeof o.options.items?o.options.items.call(o.element[0],t,{item:this.currentItem}):u(o.options.items,o.element),o]),this.containers.push(o));for(e=c.length-1;0<=e;e--)for(r=c[e][1],a=(n=c[e][i=0]).length;i<a;i++)(h=u(n[i])).data(this.widgetName+"-item",r),l.push({item:h,instance:r,width:0,height:0,left:0,top:0})},_refreshItemPositions:function(t){for(var e,i,s=this.items.length-1;0<=s;s--)e=this.items[s],this.currentContainer&&e.instance!==this.currentContainer&&e.item[0]!==this.currentItem[0]||(i=this.options.toleranceElement?u(this.options.toleranceElement,e.item):e.item,t||(e.width=i.outerWidth(),e.height=i.outerHeight()),i=i.offset(),e.left=i.left,e.top=i.top)},refreshPositions:function(t){var e,i;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(t),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;0<=e;e--)i=this.containers[e].element.offset(),this.containers[e].containerCache.left=i.left,this.containers[e].containerCache.top=i.top,this.containers[e].containerCache.width=this.containers[e].element.outerWidth(),this.containers[e].containerCache.height=this.containers[e].element.outerHeight();return this},_createPlaceholder:function(i){var s,o,r=(i=i||this).options;r.placeholder&&r.placeholder.constructor!==String||(s=r.placeholder,o=i.currentItem[0].nodeName.toLowerCase(),r.placeholder={element:function(){var t=u("<"+o+">",i.document[0]);return i._addClass(t,"ui-sortable-placeholder",s||i.currentItem[0].className)._removeClass(t,"ui-sortable-helper"),"tbody"===o?i._createTrPlaceholder(i.currentItem.find("tr").eq(0),u("<tr>",i.document[0]).appendTo(t)):"tr"===o?i._createTrPlaceholder(i.currentItem,t):"img"===o&&t.attr("src",i.currentItem.attr("src")),s||t.css("visibility","hidden"),t},update:function(t,e){s&&!r.forcePlaceholderSize||(e.height()&&(!r.forcePlaceholderSize||"tbody"!==o&&"tr"!==o)||e.height(i.currentItem.innerHeight()-parseInt(i.currentItem.css("paddingTop")||0,10)-parseInt(i.currentItem.css("paddingBottom")||0,10)),e.width())||e.width(i.currentItem.innerWidth()-parseInt(i.currentItem.css("paddingLeft")||0,10)-parseInt(i.currentItem.css("paddingRight")||0,10))}}),i.placeholder=u(r.placeholder.element.call(i.element,i.currentItem)),i.currentItem.after(i.placeholder),r.placeholder.update(i,i.placeholder)},_createTrPlaceholder:function(t,e){var i=this;t.children().each(function(){u("<td>&#160;</td>",i.document[0]).attr("colspan",u(this).attr("colspan")||1).appendTo(e)})},_contactContainers:function(t){for(var e,i,s,o,r,n,h,a,l,c=null,p=null,f=this.containers.length-1;0<=f;f--)u.contains(this.currentItem[0],this.containers[f].element[0])||(this._intersectsWith(this.containers[f].containerCache)?c&&u.contains(this.containers[f].element[0],c.element[0])||(c=this.containers[f],p=f):this.containers[f].containerCache.over&&(this.containers[f]._trigger("out",t,this._uiHash(this)),this.containers[f].containerCache.over=0));if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(i=1e4,s=null,o=(a=c.floating||this._isFloating(this.currentItem))?"left":"top",r=a?"width":"height",l=a?"pageX":"pageY",e=this.items.length-1;0<=e;e--)u.contains(this.containers[p].element[0],this.items[e].item[0])&&this.items[e].item[0]!==this.currentItem[0]&&(n=this.items[e].item.offset()[o],h=!1,t[l]-n>this.items[e][r]/2&&(h=!0),Math.abs(t[l]-n)<i)&&(i=Math.abs(t[l]-n),s=this.items[e],this.direction=h?"up":"down");(s||this.options.dropOnEmpty)&&(this.currentContainer===this.containers[p]?this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1):(s?this._rearrange(t,s,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.scrollParent=this.placeholder.scrollParent(),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1))}},_createHelper:function(t){var e=this.options,t="function"==typeof e.helper?u(e.helper.apply(this.element[0],[t,this.currentItem])):"clone"===e.helper?this.currentItem.clone():this.currentItem;return t.parents("body").length||this.appendTo[0].appendChild(t[0]),t[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),t[0].style.width&&!e.forceHelperSize||t.width(this.currentItem.width()),t[0].style.height&&!e.forceHelperSize||t.height(this.currentItem.height()),t},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&u.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&u.ui.ie?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){var t;return"relative"===this.cssPosition?{top:(t=this.currentItem.position()).top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}:{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e,i=this.options;"parent"===i.containment&&(i.containment=this.helper[0].parentNode),"document"!==i.containment&&"window"!==i.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===i.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===i.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(i.containment)||(t=u(i.containment)[0],i=u(i.containment).offset(),e="hidden"!==u(t).css("overflow"),this.containment=[i.left+(parseInt(u(t).css("borderLeftWidth"),10)||0)+(parseInt(u(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(u(t).css("borderTopWidth"),10)||0)+(parseInt(u(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(e?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(u(t).css("borderLeftWidth"),10)||0)-(parseInt(u(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(e?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(u(t).css("borderTopWidth"),10)||0)-(parseInt(u(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,i="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&u.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,s=/(html|body)/i.test(i[0].tagName);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():s?0:i.scrollTop())*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():s?0:i.scrollLeft())*t}},_generatePosition:function(t){var e=this.options,i=t.pageX,s=t.pageY,o="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&u.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,r=/(html|body)/i.test(o[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(i=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(s=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(i=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3])&&(s=this.containment[3]+this.offset.click.top),e.grid)&&(t=this.originalPageY+Math.round((s-this.originalPageY)/e.grid[1])*e.grid[1],s=!this.containment||t-this.offset.click.top>=this.containment[1]&&t-this.offset.click.top<=this.containment[3]?t:t-this.offset.click.top>=this.containment[1]?t-e.grid[1]:t+e.grid[1],t=this.originalPageX+Math.round((i-this.originalPageX)/e.grid[0])*e.grid[0],i=!this.containment||t-this.offset.click.left>=this.containment[0]&&t-this.offset.click.left<=this.containment[2]?t:t-this.offset.click.left>=this.containment[0]?t-e.grid[0]:t+e.grid[0]),{top:s-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():r?0:o.scrollTop()),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():r?0:o.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var o=this.counter;this._delay(function(){o===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function o(e,i,s){return function(t){s._trigger(e,t,i._uiHash(i))}}for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this===this.currentContainer||e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer))),i=this.containers.length-1;0<=i;i--)e||s.push(o("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(o("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i<s.length;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){!1===u.Widget.prototype._trigger.apply(this,arguments)&&this.cancel()},_uiHash:function(t){var e=t||this;return{helper:e.helper,placeholder:e.placeholder||u([]),position:e.position,originalPosition:e.originalPosition,offset:e.positionAbs,item:e.currentItem,sender:t?t.element:null}}})});
jQuery(document).ready(function ($){
'use strict';
if(typeof houzezProperty!=='undefined'){
var dtGlobals={};
dtGlobals.isMobile =
/(Android|BlackBerry|iPhone|iPad|Palm|Symbian|Opera Mini|IEMobile|webOS)/.test(navigator.userAgent
);
dtGlobals.isAndroid=/(Android)/.test(navigator.userAgent);
dtGlobals.isiOS=/(iPhone|iPod|iPad)/.test(navigator.userAgent);
dtGlobals.isiPhone=/(iPhone|iPod)/.test(navigator.userAgent);
dtGlobals.isiPad=/(iPad|iPod)/.test(navigator.userAgent);
var ajax_url=houzezProperty.ajaxURL;
var is_edit_property=houzezProperty.is_edit_property;
var houzez_logged_in=houzezProperty.houzez_logged_in;
var login_sending=houzezProperty.login_loading;
var process_loader_refresh=houzezProperty.process_loader_refresh;
var process_loader_spinner=houzezProperty.process_loader_spinner;
var process_loader_circle=houzezProperty.process_loader_circle;
var process_loader_cog=houzezProperty.process_loader_cog;
var success_icon=houzezProperty.success_icon;
var verify_nonce=houzezProperty.verify_nonce;
var verify_file_type=houzezProperty.verify_file_type;
var msg_digits=houzezProperty.msg_digits;
var max_prop_images=houzezProperty.max_prop_images;
var image_max_file_size=houzezProperty.image_max_file_size;
var max_prop_attachments=houzezProperty.max_prop_attachments;
var attachment_max_file_size=houzezProperty.attachment_max_file_size;
var add_listing_msg=houzezProperty.add_listing_msg;
var processing_text=houzezProperty.processing_text;
var plan_title_text=houzezProperty.plan_title_text;
var plan_size_text=houzezProperty.plan_size_text;
var plan_bedrooms_text=houzezProperty.plan_bedrooms_text;
var plan_bathrooms_text=houzezProperty.plan_bathrooms_text;
var plan_price_text=houzezProperty.plan_price_text;
var plan_price_postfix_text=houzezProperty.plan_price_postfix_text;
var plan_image_text=houzezProperty.plan_image_text;
var plan_description_text=houzezProperty.plan_description_text;
var plan_upload_text=houzezProperty.plan_upload_text;
var invoices_page_link=houzezProperty.invoices_page_link;
var mu_title_text=houzezProperty.mu_title_text;
var mu_type_text=houzezProperty.mu_type_text;
var mu_beds_text=houzezProperty.mu_beds_text;
var mu_baths_text=houzezProperty.mu_baths_text;
var mu_size_text=houzezProperty.mu_size_text;
var mu_size_postfix_text=houzezProperty.mu_size_postfix_text;
var mu_price_text=houzezProperty.mu_price_text;
var mu_price_postfix_text=houzezProperty.mu_price_postfix_text;
var mu_availability_text=houzezProperty.mu_availability_text;
var are_you_sure_text=houzezProperty.are_you_sure_text;
var delete_btn_text=houzezProperty.delete_btn_text;
var cancel_btn_text=houzezProperty.cancel_btn_text;
var confirm_btn_text=houzezProperty.confirm_btn_text;
var prop_title=houzezProperty.prop_title;
var prop_price=houzezProperty.prop_price;
var prop_sec_price=houzezProperty.prop_sec_price;
var prop_type=houzezProperty.prop_type;
var prop_status=houzezProperty.prop_status;
var prop_labels=houzezProperty.prop_labels;
var price_label=houzezProperty.price_label;
var prop_id=houzezProperty.prop_id;
var bedrooms=houzezProperty.bedrooms;
var bathrooms=houzezProperty.bathrooms;
var area_size=houzezProperty.area_size;
var land_area=houzezProperty.land_area;
var garages=houzezProperty.garages;
var year_built=houzezProperty.year_built;
var property_map_address=houzezProperty.property_map_address;
var neighborhood=houzezProperty.neighborhood;
var city=houzezProperty.city;
var state=houzezProperty.state;
var country=houzezProperty.country;
var enable_title_limit=houzezProperty.enable_title_limit;
var property_title_limit=houzezProperty.property_title_limit;
var fave_processing_modal=function (msg){
var process_modal =
'<div class="modal fade" id="fave_modal" tabindex="-1" role="dialog" aria-labelledby="faveModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body houzez_messages_modal">' +
msg +
'</div></div></div></div></div>';
jQuery('body').append(process_modal);
jQuery('#fave_modal').modal();
};
var fave_processing_modal_close=function (){
jQuery('#fave_modal').modal('hide');
};
function togglePricePlaceholder(){
if($('#show_price_placeholder').is(':checked')){
$('#price-plac-js').show();
}else{
$('#price-plac-js').hide();
}}
$('#show_price_placeholder').change(togglePricePlaceholder);
togglePricePlaceholder();
$('#invoice_status, #invoice_type').on('change', function (){
houzez_invoices_update_url();
});
$('#startDate, #endDate').on('change', function (){
houzez_invoices_update_url();
});
var houzez_invoices_update_url=function (){
var inv_status=$('#invoice_status').val(),
inv_type=$('#invoice_type').val(),
startDate=$('#startDate').val(),
endDate=$('#endDate').val();
var queryStringParts=[];
if(inv_status){
queryStringParts.push('invoice_status=' + encodeURIComponent(inv_status)
);
}
if(inv_type){
queryStringParts.push('invoice_type=' + encodeURIComponent(inv_type)
);
}
if(startDate){
queryStringParts.push('startDate=' + encodeURIComponent(startDate)
);
}
if(endDate){
queryStringParts.push('endDate=' + encodeURIComponent(endDate));
}
var queryString=queryStringParts.join('&');
var newUrl=invoices_page_link;
if(queryString){
newUrl +='?' + queryString;
}
window.location.href=newUrl;
};
var houzez_invoices_filter=function (){
var inv_status=$('#invoice_status').val(),
inv_type=$('#invoice_type').val(),
startDate=$('#startDate').val(),
endDate=$('#endDate').val();
$.ajax({
url: ajaxurl,
dataType: 'json',
type: 'POST',
data: {
action: 'houzez_invoices_ajax_search',
invoice_status: inv_status,
invoice_type: inv_type,
startDate: startDate,
endDate: endDate,
},
success: function (res){
if(res.success){
$('#invoices_content').empty().append(res.result);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('a.delete-property').on('click', function (){
var $this=$(this);
var propID=$this.data('id');
var propNonce=$this.data('nonce');
bootbox.confirm({
message:
'<strong>' +
houzezProperty.delete_confirmation +
'</strong>',
buttons: {
confirm: {
label: delete_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_url,
data: {
action: 'houzez_delete_property',
prop_id: propID,
security: propNonce,
},
success: function (response){
if(response.success==true){
window.location=response.data.redirect;
}else{
alert(response.data);
fave_processing_modal_close();
}},
error: function (errorThrown){},
});
}},
});
return false;
});
$('#property-author-js').on('change', function (){
var user_id=$(this).val();
$('input[name="property_author"]').val(user_id);
});
$('#property-author-mobile-js').on('change', function (){
var user_id=$(this).val();
$('input[name="property_author"]').val(user_id);
});
$('.houzez-prop-action-js').on('click', function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.attr('data-propid');
var type=$this.attr('data-type');
bootbox.confirm({
message: '<strong>' + are_you_sure_text + '</strong>',
buttons: {
confirm: {
label: confirm_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
houzez_property_actions(prop_id, $this, type);
$this.unbind('click');
}},
});
});
var houzez_property_actions=function (prop_id, currentDiv, type){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_property_actions',
propid: prop_id,
type: type,
},
success: function (response){
if(response.success){
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
houzezProperty.featured_listings_none +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.make-prop-featured').on('click', function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.attr('data-propid');
var prop_type=$this.attr('data-proptype');
bootbox.confirm({
message:
'<strong>' + houzezProperty.confirm_featured + '</strong>',
buttons: {
confirm: {
label: confirm_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
make_prop_featured(prop_id, $this, prop_type);
$this.unbind('click');
}},
});
});
var make_prop_featured=function (prop_id, currentDiv, prop_type){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_make_prop_featured',
propid: prop_id,
prop_type: prop_type,
},
success: function (res){
if(res.success){
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
houzezProperty.featured_listings_none +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.remove-prop-featured').click(function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.attr('data-propid');
bootbox.confirm({
message:
'<strong>' +
houzezProperty.confirm_featured_remove +
'</strong>',
buttons: {
confirm: {
label: confirm_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
remove_prop_featured(prop_id, $this);
$(this).unbind('click');
}},
});
});
var remove_prop_featured=function (prop_id, currentDiv){
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_remove_prop_featured',
propid: prop_id,
},
success: function (res){
if(res.success){
window.location.reload();
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.resend-for-approval').click(function (e){
e.preventDefault();
var prop_id=$(this).attr('data-propid');
resend_for_approval(prop_id, $(this));
$(this).unbind('click');
});
var resend_for_approval=function (prop_id, currentDiv){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_resend_for_approval',
propid: prop_id,
},
beforeSend: function (){
fave_processing_modal(processing_text);
},
complete: function (){
houzez_processing_modal_close();
},
success: function (res){
if(res.success){
houzez_processing_modal_close();
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
if($('#invoice-print-button').length > 0){
$('#invoice-print-button').click(function (e){
e.preventDefault();
var invoiceID, printWindow;
invoiceID=$(this).attr('data-id');
printWindow=window.open('',
'Print Me',
'width=800 ,height=842'
);
$.ajax({
type: 'POST',
url: ajax_url,
data: {
action: 'houzez_create_invoice_print',
invoice_id: invoiceID,
},
success: function (data){
printWindow.document.write(data);
printWindow.document.close();
printWindow.focus();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
}
var houzez_login_user_before_submit=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#sumission_login_register_msgs');
var sp_username=$('#sp_username').val();
var sp_password=$('#sp_password').val();
var security=$('#houzez_register_security2').val();
var houzez_loggedin_success=$('#houzez_loggedin_success').val();
if(houzez_loggedin_success==1){
$('#submit_property_form').submit();
return;
}
$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_login',
username: sp_username,
password: sp_password,
houzez_register_security2: security,
is_submit_listing: 'yes',
},
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
$('#submit_property_form').append('<input type="hidden" name="houzez_loggedin_success" id="houzez_loggedin_success" value="1">'
);
$('#submit_property_form').submit();
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('input[name="fave_agent_display_option"]').on('click', function (){
var $this=$(this);
var $contact_info=$this.val();
$('.agents-dropdown, .agencies-dropdown').hide();
if($contact_info=='agent_info'){
$('.agents-dropdown').show();
}else if($contact_info=='agency_info'){
$('.agencies-dropdown').show();
}});
var houzez_register_login_user_before_submit=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#sumission_login_register_msgs');
var username=$('#username').val();
var useremail=$('#user_email').val();
var phone_number=$('#phone_number').val();
var user_role=$('#user_role').val();
var register_security=$('#houzez_register_security2').val();
var houzez_registered_success=$(
'#houzez_registered_success'
).val();
if(houzez_registered_success==1){
$('#submit_property_form').submit();
return;
}
$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_register_user_with_membership',
username: username,
useremail: useremail,
phone_number: phone_number,
first_name: '',
last_name: '',
user_role: user_role,
houzez_register_security2: register_security,
is_submit_listing: 'yes',
},
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
$('#submit_property_form').append('<input type="hidden" name="houzez_registered_success" id="houzez_registered_success" value="1">'
);
$('#submit_property_form').submit();
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
if(houzez_logged_in=='no'){
var add_new_property=$('#add_new_property');
if(add_new_property.length > 0){
add_new_property.on('click', function (e){
e.preventDefault();
var currnt=$(this);
var login_while_submission=$(
'#login_while_submission'
).val();
if(login_while_submission==1){
houzez_login_user_before_submit(currnt);
}else{
houzez_register_login_user_before_submit(currnt);
}
return;
});
}}
$('.clone-property').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
var nonce=$this.data('nonce');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_property_clone',
propID: propid,
security: nonce,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
if(response.success){
window.location=response.data.redirect;
}},
complete: function (){},
});
});
$('.put-on-hold').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
var nonce=$this.data('nonce');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_property_on_hold',
propID: propid,
security: nonce,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
window.location.reload();
},
complete: function (){},
});
});
$('.put-on-hold-package').click(function (e){
e.preventDefault();
var prop_id=$(this).data('property');
put_on_hold_package(prop_id, $(this));
$(this).unbind('click');
});
var put_on_hold_package=function (prop_id, currentDiv){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_property_on_hold_package',
propid: prop_id,
},
beforeSend: function (){
fave_processing_modal(processing_text);
},
complete: function (){
houzez_processing_modal_close();
},
success: function (res){
if(res.success){
houzez_processing_modal_close();
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.mark_as_sold_js').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
var propNonce=$this.data('nonce');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_property_mark_sold',
propID: propid,
security: propNonce,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
if(response.success){
window.location.reload();
}},
complete: function (){},
});
});
$('a.relist-free').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_relist_free',
propID: propid,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
window.location.reload();
},
complete: function (){},
});
});
var houzez_validation=function (field_required){
if(field_required!=0){
return true;
}
return false;
};
var houzez_processing_modal=function (msg){
var process_modal =
'<div class="modal fade" id="fave_modal" tabindex="-1" role="dialog" aria-labelledby="faveModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body houzez_messages_modal">' +
msg +
'</div></div></div></div></div>';
jQuery('body').append(process_modal);
jQuery('#fave_modal').modal();
};
var houzez_processing_modal_close=function (){
jQuery('#fave_modal').modal('hide');
};
$('#save_as_draft').on('click', function (){
var $form=$('#submit_property_form');
var save_as_draft=$('#save_as_draft');
var description=tinyMCE.get('prop_des').getContent();
$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data:
$form.serialize() +
'&action=save_as_draft&description=' +
description,
beforeSend: function (){
$('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$('input[name=draft_prop_id]').remove();
$('#submit_property_form').prepend('<input type="hidden" name="draft_prop_id" value="' +
response.property_id +
'">'
);
jQuery('#modal-save-draft').modal('show');
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
var title_length=function (){
var maxLength=property_title_limit;
$('#prop_title').keyup(function (){
var textlen=$(this).val().length;
$('#rchars').text(textlen);
});
};
if(enable_title_limit==1&&property_title_limit!=''){
title_length();
}
var add_new_property_validation=function (){
$('[data-hide]').on('click', function (){
$(this)
.closest('.' + $(this).attr('data-hide'))
.hide();
});
var current=1;
var form=$('#submit_property_form');
var formStep=$('.form-step');
var formStepGal=$('.form-step-gal');
var formStepLocation=$('.form-step-location');
var btnnext=$('.btn-next');
var btnback=$('.btn-back');
var btncancel=$('.btn-cancel');
var btnsubmit_block=$('.btn-step-submit');
var btnsubmit=form.find("button[type='submit']");
var gallery_image_req=$('.form-step-gal').data('gallery-reg');
gallery_image_req=parseInt(gallery_image_req);
var menu_edit_property=$('.menu-edit-property li a');
var menu_edit_mobile=$('#menu_edit_mobile');
var errorBlock=$('.validate-errors');
var errorBlockGal=$('.validate-errors-gal');
var galThumbs=$('.property-thumb');
$('.steps-total').html(formStep.length);
formStep.not(':eq(0)').hide();
formStep.eq(0).addClass('active');
var hideButtons=function (current){
var limit=parseInt(formStep.length);
$('.action').hide();
if(current < limit) btnnext.show();
if(current > 1){
btnback.show();
btncancel.hide();
}else{
btnback.hide();
btncancel.show();
}
if(current==limit){
btnnext.hide();
btnsubmit_block.show();
}else{
btnsubmit_block.hide();
}};
hideButtons(current);
menu_edit_property.on('click', function (e){
e.preventDefault();
var $this=$(this);
var $current=$this.data('val');
var blocks=$('.dashboard-content-block-wrap');
if(form.valid()){
errorBlock.hide();
menu_edit_property.removeClass('active');
$this.addClass('active');
blocks.hide();
$('#' + $current).show();
}else{
errorBlock.show();
}});
menu_edit_mobile.on('change', function (e){
e.preventDefault();
var $this=$(this);
var $current=$this.val();
var blocks=$('.dashboard-content-block-wrap');
if(form.valid()){
errorBlock.hide();
menu_edit_property.removeClass('active');
$this.addClass('active');
blocks.hide();
$('#' + $current).show();
}else{
errorBlock.show();
}});
btnnext.click(function (e){
e.preventDefault();
$('html, body').animate({
scrollTop:
$('.dashboard-content-inner-wrap').offset().top -
150,
},
'slow'
);
if(dtGlobals.isiOS){
property_gallery_images();
}
if(current < formStep.length){
if($(formStepGal).is(':visible')&&gallery_image_req){
if(!$('.property-thumb').length > 0){
$('#houzez_gallery_dragDrop').addClass('is-invalid'
);
errorBlockGal.show();
return;
}else{
$('#houzez_gallery_dragDrop').removeClass('is-invalid'
);
errorBlockGal.hide();
}}
if(form.valid()){
formStep.removeClass('active').css({ display: 'none' });
formStep
.eq(current++)
.addClass('active')
.css({ display: 'block' });
errorBlock.hide();
}else{
errorBlock.show();
form.find('select').selectpicker('refresh');
}}
hideButtons(current);
$('.steps-counter').html(current);
});
btnback.click(function (e){
e.preventDefault();
errorBlock.hide();
$('html, body').animate({
scrollTop:
$('.dashboard-content-inner-wrap').offset().top -
150,
},
'slow'
);
if(current > 1){
current=current - 2;
if(current < formStep.length){
formStep.removeClass('active').css({ display: 'none' });
formStep
.eq(current++)
.addClass('active')
.css({ display: 'block' });
}}
hideButtons(current);
$('.steps-counter').html(current);
});
btnsubmit.click(function (){
if($(formStepGal).is(':visible')&&gallery_image_req){
if(!$('.property-thumb').length > 0){
$('#houzez_gallery_dragDrop').addClass('is-invalid');
errorBlockGal.show();
$('html, body').animate({
scrollTop: $('.form-step-gal').offset().top,
},
'slow'
);
return false;
}else{
$('#houzez_gallery_dragDrop').removeClass('is-invalid');
errorBlockGal.hide();
}}
if(form.valid()){
errorBlock.hide();
}else{
errorBlock.show();
$('html, body').animate({
scrollTop:
$('.dashboard-content-inner-wrap').offset()
.top - 150,
},
'slow'
);
}});
if(form.length > 0){
form.validate({
ignore: ':hidden:not(.submit-form-wrap .account-block.active .selectpicker)',
errorPlacement: function (error, element){
return false;
},
rules: {},
messages: {},
highlight: function (element, errorClass, validClass){
$(element)
.addClass('is-invalid')
.removeClass('is-valid');
$(element)
.parent('.bootstrap-select')
.addClass('is-invalid')
.removeClass('is-valid');
$(element)
.parent('.control--checkbox')
.find('.control__indicator')
.addClass('is-invalid')
.removeClass('is-valid');
},
unhighlight: function (element, errorClass, validClass){
$(element).removeClass('is-invalid');
$(element)
.parent('.bootstrap-select')
.removeClass('is-invalid');
$(element)
.parent('.control--checkbox')
.find('.control__indicator')
.removeClass('is-invalid');
},
submitHandler: function (form){
$('.houzez-submit-js').attr('disabled', true);
$('.houzez-submit-js .houzez-loader-js').addClass('loader-show'
);
form.submit();
},
});
}};
add_new_property_validation();
$('#houzez_additional_details_main').sortable({
revert: 100,
placeholder: 'detail-placeholder',
handle: '.sort-additional-row',
cursor: 'move',
});
$('.add-additional-row').click(function (e){
e.preventDefault();
var numVal=$(this).data('increment') + 1;
$(this).data('increment', numVal);
$(this).attr({
'data-increment': numVal,
});
var newAdditionalDetail =
'<tr>' +
'<td class="table-half-width">' +
'<input class="form-control" type="text" name="additional_features[' +
numVal +
'][fave_additional_feature_title]" id="fave_additional_feature_title_' +
numVal +
'" value="">' +
'</td>' +
'<td class="table-half-width">' +
'<input class="form-control" type="text" name="additional_features[' +
numVal +
'][fave_additional_feature_value]" id="fave_additional_feature_value_' +
numVal +
'" value="">' +
'</td>' +
'<td class="">' +
'<a class="sort-additional-row btn btn-light-grey-outlined"><i class="houzez-icon icon-navigation-menu"></i></a>' +
'</td>' +
'<td>' +
'<button data-remove="' +
numVal +
'" class="remove-additional-row btn btn-light-grey-outlined"><i class="houzez-icon icon-close"></i></button>' +
'</td>' +
'</tr>';
$('#houzez_additional_details_main').append(newAdditionalDetail);
removeAdditionalDetails();
});
var removeAdditionalDetails=function (){
$('.remove-additional-row').click(function (event){
event.preventDefault();
var $this=$(this);
$this.closest('tr').remove();
});
};
removeAdditionalDetails();
$('#add-floorplan-row').click(function (e){
e.preventDefault();
var numVal=$(this).data('increment') + 1;
$(this).data('increment', numVal);
$(this).attr({
'data-increment': numVal,
});
var newFloorPlan =
'' +
'<div class="houzez-floorplan-clone">' +
'<div class="row">' +
'<div class="col-md-12 col-sm-12">' +
'<div class="remove-floorplan-row" data-remove="' +
numVal +
'">' +
'<i class="houzez-icon icon-remove-circle mr-2"></i>' +
'</div>' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_title]">' +
plan_title_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_title]" type="text" id="fave_plan_title_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_rooms]">' +
plan_bedrooms_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_rooms]" type="text" id="fave_plan_rooms_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_bathrooms]">' +
plan_bathrooms_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_bathrooms]" type="text" id="fave_plan_bathrooms_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_price]">' +
plan_price_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_price]" type="text" id="fave_plan_price_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_price_postfix]">' +
plan_price_postfix_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_price_postfix]" type="text" id="fave_plan_price_postfix_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_size]">' +
plan_size_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_size]" type="text" id="fave_plan_size_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_image]">' +
plan_image_text +
'</label>' +
'<div class="d-flex align-items-start">' +
'<img class="floor-thumb img-fluid" src="https://placehold.it/100x75" width="100" height="75" alt="thumb">' +
'<div class="ml-2">' +
'<a href="#" id="floorplan-file-select-' +
numVal +
'" class="floorplan-file-select btn btn-primary btn-full-width">' +
plan_upload_text +
'</a>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_image]" type="hidden" id="fave_plan_image_' +
numVal +
'" class="fave_plan_image form-control" value="">' +
'<small class="form-text text-muted">' +
houzezProperty.plan_upload_size +
'</small>' +
'<div class="errors-log"></div>' +
'<div class="progress houzez-hidden"></div>' +
'</div>' +
'</div>' +
'</div>' +
'</div>' +
'<div class="col-md-12 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_description]">' +
plan_description_text +
'</label>' +
'<textarea name="floor_plans[' +
numVal +
'][fave_plan_description]" rows="4" id="fave_plan_description_' +
numVal +
'" class="form-control"></textarea>' +
'</div>' +
'</div>' +
'</div>' +
'<hr>' +
'</div>';
$('#houzez_floor_plans_main').append(newFloorPlan);
removeFloorPlans();
bindFloorPlanEvents();
});
var removeFloorPlans=function (){
$('.remove-floorplan-row').click(function (event){
event.preventDefault();
var $this=$(this);
$this.parents('.houzez-floorplan-clone').remove();
});
};
removeFloorPlans();
$('#add-subproperty-row').click(function (e){
e.preventDefault();
var numVal=$(this).data('increment') + 1;
$(this).data('increment', numVal);
$(this).attr({
'data-increment': numVal,
});
var newSubProperty =
'' +
'<div class="houzez-units-clone">' +
'<div class="row">' +
'<div class="col-md-12 col-sm-12">' +
'<div class="remove-subproperty-row" data-remove="' +
numVal +
'">' +
'<i class="houzez-icon icon-remove-circle mr-2"></i>' +
'</div>' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_title]">' +
mu_title_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_title]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_beds]">' +
mu_beds_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_beds]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_baths]">' +
mu_baths_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_baths]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_size]">' +
mu_size_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_size]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_size_postfix]">' +
mu_size_postfix_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_size_postfix]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_price]">' +
mu_price_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_price]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_price_postfix]">' +
mu_price_postfix_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_price_postfix]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_type]">' +
mu_type_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_type]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_availability_date]">' +
mu_availability_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_availability_date]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'</div>' +
'<hr>' +
'</div>';
$('#multi_units_main').append(newSubProperty);
removeSubProperty();
});
var removeSubProperty=function (){
$('.remove-subproperty-row').click(function (event){
event.preventDefault();
var $this=$(this);
$this.parents('.houzez-units-clone').remove();
});
};
removeSubProperty();
var property_gallery_images=function(){
$("#houzez_property_gallery_container").sortable({
placeholder: "sortable-placeholder",
revert:100,
cursor:'move'
});
var galleryUploader=new plupload.Uploader({
browse_button: 'select_gallery_images',
file_data_name: 'property_upload_file',
container: 'houzez_gallery_dragDrop',
drop_element: 'houzez_gallery_dragDrop',
url: ajax_url + "?action=houzez_property_img_upload&verify_nonce=" + verify_nonce,
filters: {
mime_types:[
{ title:verify_file_type, extensions:"jpg,jpeg,gif,png,webp" }
],
max_file_size: image_max_file_size,
prevent_duplicates: false
}});
galleryUploader.init();
galleryUploader.bind('FilesAdded', function(up, files){
var houzez_thumbs="";
var maxfiles=max_prop_images;
var totalFiles=$('.property-thumb').length;
if(totalFiles >=maxfiles){
$('.max-limit-error').show();
up.splice();
return false;
}else{
var uploads=files.slice(0,(maxfiles - totalFiles) );
var thumbnailsContainer=document.getElementById('houzez_property_gallery_container');
plupload.each(uploads, function(file){
thumbnailsContainer.innerHTML +='<div id="thumb-holder-' + file.id + '" class="col-md-2 col-sm-4 col-6 property-thumb houzez-during-upload">' + '' + '</div>';
});
up.refresh();
galleryUploader.start();
}
$('.upload-image-counter .uploaded').text($('.property-thumb').length);
});
galleryUploader.bind('UploadProgress', function(up, file){
var holder=document.getElementById("thumb-holder-" + file.id),
imageThumb=$('.property-thumb'),
height=150;
if(holder){
if(imageThumb.length){
height=imageThumb.first().height();
}}
holder.innerHTML='<div class="gallery-thumb-inner upload-progress" style="height:' + height + 'px;"><span class="progress-bar"></span><span class="progress" style="width:' + file.percent + '%;"></span><span class="progress-text">' + file.percent + '%</span></div>';
return false;
});
galleryUploader.bind('Error', function(up, err){
document.getElementById('houzez_errors').innerHTML +="<br/>" + "Error #" + err.code + ": " + err.message;
});
galleryUploader.bind('FileUploaded', function(up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
var thumbHolder=document.getElementById("thumb-holder-" + file.id);
if(response.success){
document.getElementById('houzez_errors').innerHTML="";
if(thumbHolder){
var gallery_thumbnail='<img class="img-fluid" src="' + response.url + '" alt="" />' +
'<div class="upload-gallery-thumb-buttons">'+
'<button class="icon icon-fav icon-featured" data-property-id="'+ 0 +'" data-attachment-id="' + response.attachment_id + '"><i class="houzez-icon icon-rating-star full-star"></i></button>'+
'<button class="icon icon-delete" data-property-id="'+ 0 +'" data-attachment-id="' + response.attachment_id + '"><span class="btn-loader houzez-loader-js"></span><i class="houzez-icon icon-remove-circle"></i></button>'+
'</div>'+
'<input type="hidden" class="propperty-image-id" name="propperty_image_ids[]" value="' + response.attachment_id + '"/>';
thumbHolder.innerHTML=gallery_thumbnail;
}}else{
if(thumbHolder){
thumbHolder.remove();
}
document.getElementById('houzez_errors').innerHTML=response.reason;
}});
$(document).on('click', '.icon-featured', function(e){
e.preventDefault();
var $this=jQuery(this);
var thumb_id=$this.data('attachment-id');
$('.property-thumb .featured_image_id').remove();
$('.property-thumb .icon-featured').removeClass('text-success');
$this.closest('.property-thumb').append('<input type="hidden" class="featured_image_id" name="featured_image_id" value="'+thumb_id+'">');
$this.addClass('text-success');
});
$(document).on('click', '.icon-delete', function(e){
e.preventDefault();
var $this=$(this);
var galleryThumbnail=$this.closest('.property-thumb');
var loader=$this.siblings('.icon-loader');
var prop_id=$this.data('property-id');
var thumb_id=$this.data('attachment-id');
loader.show();
var ajax_request=$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
'action': 'houzez_remove_property_thumbnail',
'prop_id': prop_id,
'thumb_id': thumb_id,
'removeNonce': verify_nonce
},
beforeSend: function(){
$this.find('.houzez-loader-js').addClass('loader-show');
},
});
ajax_request.done(function(response){
if(response.remove_attachment){
galleryUploader.removeFile(galleryThumbnail);
galleryThumbnail.remove();
var galleryItems=$('.property-thumb').length;
$('.upload-image-counter .uploaded').text(galleryItems);
$('.max-limit-error').hide();
}else{
document.getElementById('houzez_errors').innerHTML +="Error:Failed to remove attachment" + "<br/>";
}});
ajax_request.fail(function(jqXHR, textStatus){
alert("Request failed: " + textStatus);
});
galleryUploader.splice();
});
}
property_gallery_images();
var propertyAttachmentEvents=function (){
$('#houzez_attachments_container').sortable({
revert: 100,
placeholder: 'attachments-placeholder',
handle: '.sort-attachment',
cursor: 'move',
});
$('.attachment-delete').on('click', function (e){
e.preventDefault();
var $this=$(this);
var thumbnail=$this.closest('.attach-thumb');
var loader=$this.siblings('.icon-loader');
var prop_id=$this.data('attach-id');
var thumb_id=$this.data('attachment-id');
loader.show();
var ajax_request=$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_remove_property_documents',
prop_id: prop_id,
thumb_id: thumb_id,
removeNonce: verify_nonce,
},
});
ajax_request.done(function (response){
if(response.remove_attachment){
thumbnail.remove();
}else{
}});
ajax_request.fail(function (jqXHR, textStatus){
alert('Request failed: ' + textStatus);
});
});
};
propertyAttachmentEvents();
var houzez_property_attachments=function (){
var atch_uploader=new plupload.Uploader({
browse_button: 'select_attachments',
file_data_name: 'property_attachment_file',
url:
ajax_url +
'?action=houzez_property_attachment_upload&verify_nonce=' +
verify_nonce,
filters: {
mime_types: [
{
title: verify_file_type,
extensions: 'jpg,jpeg,png,pdf,zip',
},
],
max_file_size: attachment_max_file_size,
prevent_duplicates: true,
},
});
atch_uploader.init();
atch_uploader.bind('FilesAdded', function (up, files){
var houzez_thumbs='';
var maxfiles=max_prop_attachments;
if(up.files.length > maxfiles){
up.splice(maxfiles);
alert('no more than ' + maxfiles + ' file(s)');
return;
}
plupload.each(files, function (file){
houzez_thumbs +=
'<tr id="attachment-holder-' +
file.id +
'" class="attach-thumb">' +
'' +
'</tr>';
});
document.getElementById('houzez_attachments_container'
).innerHTML +=houzez_thumbs;
up.refresh();
atch_uploader.start();
});
atch_uploader.bind('UploadProgress', function (up, file){
document.getElementById('attachment-holder-' + file.id
).innerHTML='<span>' + file.percent + '%</span>';
});
atch_uploader.bind('Error', function (up, err){
document.getElementById('houzez_atach_errors').innerHTML +=
'<br/>' + 'Error #' + err.code + ': ' + err.message;
});
atch_uploader.bind('FileUploaded',
function (up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
if(response.success){
var attachment_file =
'' +
'<td class="table-full-width table-cell-title">' +
'<span>' +
response.attach_title +
'</span>' +
'</td>' +
'<td>' +
'<a href="' +
response.url +
'" target="_blank" class="btn btn-light-grey-outlined"><i class="houzez-icon icon-download-bottom"></i></a>' +
'</td>' +
'<td>' +
'<button data-attach-id="' +
0 +
'"  data-attachment-id="' +
response.attachment_id +
'" class="attachment-delete btn btn-light-grey-outlined"><i class="houzez-icon icon-close"></i></button>' +
'</td>' +
'<td class="sort-attachment">' +
'<a class="btn btn-light-grey-outlined"><i class="houzez-icon icon-navigation-menu"></i></a>' +
'</td>' +
'<input type="hidden" class="propperty-attach-id" name="propperty_attachment_ids[]" value="' +
response.attachment_id +
'"/>';
document.getElementById('attachment-holder-' + file.id
).innerHTML=attachment_file;
propertyAttachmentEvents();
}else{
console.log(response);
}}
);
};
houzez_property_attachments();
var floorPlanImage=function ($button){
var $button=$button||'floorplan-file-select';
var $this=$('#' + $button);
var parent=$this.parents('.houzez-floorplan-clone');
var uploadErrors=parent.find('.errors-log');
var uploader_floor=new plupload.Uploader({
browse_button: $button,
file_data_name: 'property_upload_file',
url:
ajax_url +
'?action=houzez_property_img_upload&verify_nonce=' +
verify_nonce,
multi_selection: false,
filters: {
mime_types: [
{
title: verify_file_type,
extensions: 'jpg,jpeg,gif,pdf,png,webp',
},
],
max_file_size: '12000kb',
prevent_duplicates: true,
},
});
uploader_floor.init();
uploader_floor.bind('FilesAdded', function (up, files){
var maxfiles=max_prop_images;
if(up.files.length > maxfiles){
up.splice(maxfiles);
alert('no more than ' + maxfiles + ' file(s)');
return;
}
plupload.each(files, function (file){});
up.refresh();
uploader_floor.start();
});
uploader_floor.bind('UploadProgress', function (up, file){
parent.find('.progress').removeClass('houzez-hidden');
parent
.find('.progress')
.html('<div class="progress-bar" role="progressbar" style="width: ' +
file.percent +
'%" aria-valuenow="' +
file.percent +
'" aria-valuemin="0" aria-valuemax="100"></div>'
);
});
uploader_floor.bind('Error', function (up, err){
uploadErrors.html('Error #' + err.code + ': ' + err.message);
});
uploader_floor.bind('FileUploaded',
function (up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
if(response.success){
uploadErrors.html('');
parent
.find('.fave_plan_image')
.val(response.full_image);
parent
.find('.floor-thumb')
.attr('src', response.full_image);
parent.find('.progress').html('');
parent.find('.progress').addClass('houzez-hidden');
}else{
console.log(response);
uploadErrors.html(response.reason);
parent.find('.floor-thumb').attr('src', '');
parent.find('.progress').html('');
parent.find('.progress').addClass('houzez-hidden');
}}
);
};
var bindFloorPlanEvents=function (){
var $houzezFloorplanClone=$('.houzez-floorplan-clone');
$.each($houzezFloorplanClone, function (index, value){
var browseButton=$(value)
.find('.floorplan-file-select')
.attr('id');
floorPlanImage(browseButton);
});
};
bindFloorPlanEvents();
var thread_message_attachment=function (){
var uploader=new plupload.Uploader({
browse_button: 'thread-message-attachment',
file_data_name: 'messages_upload_file',
container: 'property-thumbs-container',
multi_selection: true,
url:
ajax_url +
'?action=houzez_message_attacment_upload&verify_nonce=' +
verify_nonce,
filters: {
max_file_size: image_max_file_size,
prevent_duplicates: true,
},
});
uploader.init();
uploader.bind('FilesAdded', function (up, files){
var html='';
var propertyThumb='';
var maxfiles=max_prop_images;
if(up.files.length > maxfiles){
up.splice(maxfiles);
alert('no more than ' + maxfiles + ' file(s)');
return;
}
plupload.each(files, function (file){
propertyThumb +=
'<div id="thumb-holder-' +
file.id +
'" class="property-thumb">' +
'' +
'</div>';
});
document.getElementById('property-thumbs-container'
).innerHTML +=propertyThumb;
up.refresh();
uploader.start();
});
uploader.bind('UploadProgress', function (up, file){
document.getElementById('thumb-holder-' + file.id).innerHTML =
'<li><lable>' +
file.name +
'<span>' +
file.percent +
'%</span></lable></li>';
});
uploader.bind('Error', function (up, err){
document.getElementById('errors-log').innerHTML +=
'<br/>' + 'Error #' + err.code + ': ' + err.message;
});
uploader.bind('FileUploaded', function (up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
if(response.success){
console.log(ajax_response);
var message_html =
'<li>' +
'<div class="attach-icon delete-attachment">' +
'<i class="fa fa-trash remove-message-attachment" data-attachment-id="' +
response.attachment_id +
'"></i>' +
'</div>' +
'<span class="attach-text">' +
response.file_name +
'</span>' +
'<input type="hidden" class="propperty-image-id" name="propperty_image_ids[]" value="' +
response.attachment_id +
'"/>' +
'</li>';
document.getElementById('thumb-holder-' + file.id
).innerHTML=message_html;
messageAttachment();
thread_message_attachment();
}else{
console.log(response);
alert('error');
}});
uploader.refresh();
};
thread_message_attachment();
var messageAttachment=function (){
$('.remove-message-attachment').on('click', function (){
var $this=$(this);
var thumbnail=$this.closest('li');
var thumb_id=$this.data('attachment-id');
$this.removeClass('fa-trash');
$this.addClass('fa-spinner');
var ajax_request=$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_remove_message_attachment',
thumbnail_id: thumb_id,
},
});
ajax_request.done(function (response){
if(response.attachment_remove){
thumbnail.remove();
}else{
}
thread_message_attachment();
});
ajax_request.fail(function (jqXHR, textStatus){
alert('Request failed: ' + textStatus);
});
});
};
$('.houzez_delete_msg_thread').on('click', function (e){
e.preventDefault();
var $this=$(this);
var thread_id=$this.data('thread-id');
var sender_id=$this.data('sender-id');
var receiver_id=$this.data('receiver-id');
bootbox.confirm({
message: '<p><strong>' + are_you_sure_text + '</strong></p>',
buttons: {
confirm: {
label: delete_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_url,
data: {
action: 'houzez_delete_message_thread',
thread_id: thread_id,
sender_id: sender_id,
receiver_id: receiver_id,
},
beforeSend: function (){},
success: function (data){
if(data.success==true){
window.location.reload();
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
}},
});
});
$('.houzez_delete_message').on('click', function (e){
e.preventDefault();
var $this=$(this);
var message_id=$this.data('message-id');
var created_by=$this.data('created-by');
bootbox.confirm({
message: '<p><strong>' + are_you_sure_text + '</strong></p>',
buttons: {
confirm: {
label: delete_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_url,
data: {
action: 'houzez_delete_message',
message_id: message_id,
created_by: created_by,
},
beforeSend: function (){},
success: function (data){
if(data.success==true){
window.location.reload();
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
}},
});
});
$('.remove-search').on('click', function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.data('propertyid');
var removeBlock=$this.parents('.saved-search-block');
$this.parents('tr').remove();
$.ajax({
url: ajax_url,
dataType: 'JSON',
method: 'POST',
data: {
action: 'houzez_delete_search',
property_id: prop_id,
},
beforeSend: function (){},
success: function (res){
if(res.success){
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
var login_here=$('.login-here');
var register_here=$('.register-here');
var step_login=$('.step-tab-login');
var step_register=$('.step-tab-register');
$('.step-login-btn a').on('click', function (e){
var this_login=$(this);
if(this_login.hasClass('login-here')){
this_login.hide();
register_here.show();
step_login.show();
step_register.hide();
$('#submit_property_form').append('<input type="hidden" name="login_while_submission" id="login_while_submission" value="1">'
);
}else{
this_login.hide();
login_here.show();
step_login.hide();
step_register.show();
$('#login_while_submission').remove();
}
e.preventDefault();
});
if($('#top-browsers-doughnut-chart').length > 0){
var chartData=$('#top-browsers-doughnut-chart').data('chart');
var ctx=document
.getElementById('top-browsers-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#devices-doughnut-chart').length > 0){
var chartData=$('#devices-doughnut-chart').data('chart');
var ctx=document
.getElementById('devices-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#top-countries-doughnut-chart').length > 0){
var chartData=$('#top-countries-doughnut-chart').data('chart');
var ctx=document
.getElementById('top-countries-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#top-platforms-doughnut-chart').length > 0){
var chartData=$('#top-platforms-doughnut-chart').data('chart');
var ctx=document
.getElementById('top-platforms-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
var visits_chart_24h=$('#visits-chart-24h');
if(visits_chart_24h.length > 0){
var labels=visits_chart_24h.data('labels');
var views=visits_chart_24h.data('views');
var unique=visits_chart_24h.data('unique');
var visit_label=visits_chart_24h.data('visit-label');
var unique_label=visits_chart_24h.data('unique-label');
var ctx=document
.getElementById('visits-chart-24h')
.getContext('2d');
var myChart=new Chart(ctx, {
type: 'line',
data: {
labels: labels,
datasets: [
{
label: visit_label,
data: views,
backgroundColor: ['rgba(255, 99, 132, 0.1)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 2,
},
{
label: unique_label,
data: unique,
backgroundColor: ['rgba(54, 162, 235, 0.3)'],
borderColor: [
'rgba(54, 162, 235, 1)',
],
borderWidth: 2,
},
],
},
options: {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 12,
},
},
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
},
gridLines: {
display: true,
},
},
],
xAxes: [
{
gridLines: {
display: false,
},
},
],
},
tooltips: {
callbacks: {
labelColor: function (tooltipItem, chart){
if(tooltipItem.datasetIndex===0){
return {
borderColor: 'rgba(255, 99, 132, 1)',
backgroundColor:
'rgba(255, 99, 132, 1)',
};}else if(tooltipItem.datasetIndex===1){
return {
borderColor: 'rgba(54, 162, 235, 1)',
backgroundColor:
'rgba(54, 162, 235, 1)',
};}},
labelTextColor: function (tooltipItem, chart){
return '#fff';
},
},
},
},
});
}
var visits_chart_7d=$('#visits-chart-7d');
if(visits_chart_7d.length > 0){
var labels_7d=visits_chart_7d.data('labels');
var views_7d=visits_chart_7d.data('views');
var unique_7d=visits_chart_7d.data('unique');
var visit_label_7d=visits_chart_7d.data('visit-label');
var unique_label_7d=visits_chart_7d.data('unique-label');
var ctx=document
.getElementById('visits-chart-7d')
.getContext('2d');
var myChart=new Chart(ctx, {
type: 'line',
data: {
labels: labels_7d,
datasets: [
{
label: visit_label_7d,
data: views_7d,
backgroundColor: ['rgba(255, 99, 132, 0.1)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 2,
},
{
label: unique_label_7d,
data: unique_7d,
backgroundColor: ['rgba(54, 162, 235, 0.3)'],
borderColor: [
'rgba(54, 162, 235, 1)',
],
borderWidth: 2,
},
],
},
options: {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 12,
},
},
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
},
gridLines: {
display: true,
},
},
],
xAxes: [
{
gridLines: {
display: false,
},
},
],
},
tooltips: {
callbacks: {
labelColor: function (tooltipItem, chart){
if(tooltipItem.datasetIndex===0){
return {
borderColor: 'rgba(255, 99, 132, 1)',
backgroundColor:
'rgba(255, 99, 132, 1)',
};}else if(tooltipItem.datasetIndex===1){
return {
borderColor: 'rgba(54, 162, 235, 1)',
backgroundColor:
'rgba(54, 162, 235, 1)',
};}},
labelTextColor: function (tooltipItem, chart){
return '#fff';
},
},
},
},
});
}
var visits_chart_30d=$('#visits-chart-30d');
if(visits_chart_30d.length > 0){
var labels_30d=visits_chart_30d.data('labels');
var views_30d=visits_chart_30d.data('views');
var unique_30d=visits_chart_30d.data('unique');
var visit_label_30d=visits_chart_30d.data('visit-label');
var unique_label_30d=visits_chart_30d.data('unique-label');
var ctx=document
.getElementById('visits-chart-30d')
.getContext('2d');
var myChart=new Chart(ctx, {
type: 'line',
data: {
labels: labels_30d,
datasets: [
{
label: visit_label_30d,
data: views_30d,
backgroundColor: ['rgba(255, 99, 132, 0.1)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 2,
},
{
label: unique_label_30d,
data: unique_30d,
backgroundColor: ['rgba(54, 162, 235, 0.3)'],
borderColor: [
'rgba(54, 162, 235, 1)',
],
borderWidth: 2,
},
],
},
options: {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 12,
},
},
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
},
gridLines: {
display: true,
},
},
],
xAxes: [
{
gridLines: {
display: false,
},
},
],
},
tooltips: {
callbacks: {
labelColor: function (tooltipItem, chart){
if(tooltipItem.datasetIndex===0){
return {
borderColor: 'rgba(255, 99, 132, 1)',
backgroundColor:
'rgba(255, 99, 132, 1)',
};}else if(tooltipItem.datasetIndex===1){
return {
borderColor: 'rgba(54, 162, 235, 1)',
backgroundColor:
'rgba(54, 162, 235, 1)',
};}},
labelTextColor: function (tooltipItem, chart){
return '#fff';
},
},
},
},
});
}
var deals_doughnut_chart=$('#deals-doughnut-chart');
if(deals_doughnut_chart.length > 0){
var active_deals=deals_doughnut_chart.data('active');
var won_deals=deals_doughnut_chart.data('won');
var lost_deals=deals_doughnut_chart.data('lost');
var ctx=document
.getElementById('deals-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: [active_deals, won_deals, lost_deals],
backgroundColor: [
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
'rgba(255, 99, 132, 0.5)',
],
borderColor: [
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(255 ,99, 132, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}}
});
jQuery(document).ready((function(e){}));