/*global window, document *//**
 * Documentation Syntax
 *  http://code.google.com/closure/compiler/docs/js-for-compiler.html
 *//**
 * @license RentJuice Search Widget Loader v1.4.1 (Beta)
 *  http://app.rentjuice.com/account/tools/widget
 *
 * Copyright 2011, RentJuice
 *  Licensed only for use by RentJuice Customers
 *  http://rentjuice.com/terms
 *
 * Date: Wednesday, October 18th 2011
 */var RentJuice=window.RentJuice||{};RentJuice.WIDGET_AUTO_LOAD=!0,RentJuice.WIDGET_DEBUG_MODE=!1,RentJuice.WIDGET_USE_CACHE=!0,RentJuice.WIDGET_USE_CORS=!0,function(a,b,c,d){var e,f=c.Widget=function(a,b){this.init(a,b)},g=f._instances=[],h=f.VERSION="1.4.2",i={theme:"aristo",webroot:"http://app.rentjuice.com",className:".rj-widget-parent",header:"Rentjuice-Widget-Api-Key",mapZoom:12,defaultTimeout:86400,searchTimeout:600,layoutTimeout:604800,detailsTimeout:3600},j={results:"Found ${count} result${s}!",pagination:"Page ${current_page} of ${total_pages}",inquiry:'Inquiry: Listing #${id} - "${address}"',nomodel:"Model could not be loaded from the API server.",spinner:'<div style="margin:2em auto;width: 130px;height: 130px;background:#FFF;border-radius:65px;-moz-border-radius: 65px;-webkit-border-radius: 65px;"><img src="${src}" width="125" height="125" alt="loading..." style=" display:block;padding:3px;"></div>'},k={number:/^[0-9]+$/,loaded:/(loaded)|(complete)/i,format:/\$\{(.*?)\}/g,commas:/(\d+)(\d{3})/,cache:/\W/g,scriptSrc:/app\.rentjuice.*widget\/loader.*js$/i},l={jquery:"/widget/support/jquery-1.6.4${mode}.js?v=${version}",jqueryUi:"/widget/support/jquery-ui-1.8.16.custom${mode}.js?v=${version}",jqueryPlaceholder:"/widget/support/jquery.placeholder${mode}.js?v=${version}",jqueryTemplate:"/widget/support/jquery.template${mode}.js?v=${version}",jqueryHashChange:"/widget/support/jquery.hashchange-1.3${mode}.js?v=${version}",storejs:"/widget/support/store${mode}.js?v=${version}",json2:"/widget/support/json2${mode}.js?v=${version}",layoutCss:"/widget/themes/${layout}.css?v=${version}",themeCss:"/widget/themes/${theme}/jquery-ui-1.8.12.custom.css?v=${version}",marker:"/widget/themes/images/blue-default.png?v=${version}",spinner:"/widget/themes/images/spinner.gif?v=${version}",layout:"/clean/widget/layout?v=${version}",model:"/clean/widget/model?v=${version}",search:"/clean/widget/search?v=${version}",inquiry:"/clean/widget/inquiry?v=${version}",details:"/clean/widget/details?v=${version}",map:"http://maps.google.com/maps/api/staticmap?center=${center}&zoom=${zoom}&size=${size}&markers=${markers}&sensor=false",marker_debug:"http://app.rentjuice.com/images/marker/blue-default.png",permalink:a.location.href.split("#")[0]+"#listing_id=${id}"},m=[{test:"JSON",path:"json2"},{test:function(){return n.defined("jQuery.ui")&&n.defined("jQuery.fn.button")&&n.defined("jQuery.fn.slider")&&n.defined("jQuery.fn.datepicker")&&parseFloat(a.jQuery.ui.version)>=1.8},path:"jqueryUi"},{test:"jQuery.template",path:"jqueryTemplate"},{test:function(){return n.defined("placeholder",b.createElement("input"))},path:"jqueryPlaceholder"},{test:function(){return n.defined("onhashchange")&&7<(b.documentMode||8)},path:"jqueryHashChange"},{test:function(){return c.WIDGET_USE_CACHE&&n.defined("localStorage")||!c.WIDGET_USE_CACHE},path:"storejs"}],n=f.Utils={url:function(a,b,d){a=l[a];var e,f=d?a:n.webroot()+a;b=b||{};for(e in b)b[e]=encodeURIComponent(b[e]);return b.mode=c.WIDGET_DEBUG_MODE?"":".min",b.version=h,this.format(f,b)},applyPlugins:function(){var a=e.fn;e.extend(a,{dataval:n.dataval,propAttr:a.prop})},webroot:function(){if(!n.defined("_webroot",n)){var a,c,d=!1,e=b.getElementsByTagName("script");for(a in e){c=e[a].src;if(k.scriptSrc.test(c)){d=!0,n._webroot=c.split("/widget")[0];break}}d||(n._webroot=i.webroot)}return n._webroot},time:function(a){var b=(new Date).getTime();return a?b+a*1e3:b},insertSpinner:function(a){a.html(n.format(j.spinner,{src:n.url("spinner")})).append(a.data("credits"))},cachekey:function(a,b){var c=a.split("/").pop()+e.param(b);return c.replace(k.cache,"")},cache:function(b,d,e){var f,g;return c.WIDGET_USE_CACHE?(this.defined("localStorage")?(f=a.localStorage,g=this.undefined(d)?"getItem":"setItem"):this.defined("store")&&(f=a.store,g=this.undefined(d)?"get":"set"),b===!1?f.clear():n.undefined(d)?(d=(f[g](b)||";").split(";"),d[0].length?(e=parseInt(d[0],10),d=e>n.time()?d.slice(1).join(";"):null):d=null,d):(e=n.undefined(e)?i.defaultTimeout:n.time(e),d=[e,d].join(";"),f[g](b,d))):null},defined:function(b,c){return c=c||a,b=b.split("."),b.length>1?n.defined(b[0],c)&&n.defined(b.slice(1).join("."),c[b[0]]):b[0]in c&&c[b[0]]!==null},error:function(b){a.console&&a.console.error(b)},debug:function(){var b=a.console;if(c.WIDGET_DEBUG_MODE&&b){var d,e=Array.prototype.slice.call(arguments);if(b.log.apply)b.log.apply(b,e);else if(n.defined("JSON")){for(d=0;d<e.length;d++)e[d]=a.JSON.stringify(e[d]);b.log(e.join(" "))}else{for(d=0;d<e.length;d++)e[d]=typeof e[d]=="undefined"?"null":e[d].toString();b.log(e.join(" "))}}},commas:function(a){a=a.toString();var b=a.split("."),c=b[0],d=b.length>1?"."+b[1]:"";while(k.commas.test(c))c=c.replace(k.commas,"$1,$2");return c+d},callback:function(b,c,d){d=d||[],c=c||a;if(e.isFunction(b))return b.apply(c,d)},"undefined":function(a){return a===d||a===null},pluck:function(a){var b={},c;return e.each(a.serializeArray(),function(a,d){n.defined(d.name,b)?(c=b[d.name],e.isArray(c)?c.push(d.value):b[d.name]=[c,d.value]):b[d.name]=d.value}),b},format:function(a,b){return a.replace(k.format,function(a,c){return n.defined(c,b)?b[c]:""})},mvc:function(a,b,c){var d=b.tmpl(c);return d.length&&d.appendTo(a),a},ensurejQuery:function(c){var d=function(){c&&(e=a.jQuery,b.readyState==="complete"?c():e(c),c=null)},f;n.defined("jQuery.fn")&&parseFloat(a.jQuery.fn.jquery)>=1.6?d():(f=b.createElement("script"),f.async=f.defer=!0,f.onload=d,f.onreadystatechange=function(){k.loaded.test(f.readyState)&&d()},f.src=n.url("jquery"),b.body.appendChild(f))},dataval:function(a){if(e.isFunction(a))return this.data("val",a),this;var b=this.data("val")||this.val;return n.undefined(a)?b.call(this):b.call(this,a)},fromQuery:function(b){var c={};return e.each(b.split("&"),function(b,d){d=d.split("=");var e=a.decodeURIComponent(d[0]),f=d.length>1?a.decodeURIComponent(d[1]):"";e.length&&(e=e.split("[]"),e.length>1?(e=e[0],c.hasOwnProperty(e)||(c[e]=[]),c[e].push(f)):c[e[0]]=f)}),c},loadDependencies:function(b){var c;n.defined("monitor",m)||(m.monitor=e.Deferred(),c=e.map(m,n.loadDependency),e.when(c).then(function(){a.setTimeout(m.monitor.resolve,10)})),e.isFunction(b)&&m.monitor.done(b)},loadDependency:function(a){var b,c;return a.test.call?b=!a.test():b=!n.defined(a.test),n.debug(b,a.path),b?(c=n.url(a.path),e.ajax({url:c,cache:!0,dataType:"script"})):null},setupParentContainer:function(a){a=e(a).css({"font-size":"10px","font-family":"Helvetica,Arial,sans-serif",zoom:1});var b=[];return e.each(e.browser,function(a,c){c===!0?b.push(a):b.push("v"+c.substr(0,1))}),a.addClass(b.join(" ")),a.data("credits",a.children("a")),a}},o=f.prototype={init:function(b,c){this.parent=b,this.loadModel(function(){this.loadTheme(),this.loadLayout(function(){this.applyModelToLayout(function(){this.bindDelegates(),this.applyResultsToLayout(function(){this.bindResultDelegates(),n.callback(c,a,[this])})})})})},themeName:function(){return this.parent.data("theme")||(this.model?this.model.defaultTheme:i.theme)},apiKey:function(){return this.parent.data("key")},layoutName:function(){return this.parent.data("layout")||this.model.defaultLayout},bindDelegates:function(){this.bindHashDelegates(),this.bindPhotoViewDelegates(),this.bindEmbedDelegates(),this.bindContactDelegates(),this.bindLightboxDelegates(),this.bindInquiryButtonDelegates(),this.bindPaginationDelegates(),this.bindSortDelegates(),this.bindDialogTriggerDelegates(),this.bindFormSubmitDelegate(),this.bindSliderDelegates(),this.bindCheckboxDelegates(),this.bindDateRangeDelegates(),this.bindMultiSelectDelegates(),this.bindJqueryUiDelegates(),this.bindFormElementDelegates(),this.bindFilterClearerDelegates()},bindEmbedDelegates:function(){this.parent.delegate(".rj-widget-embed","click focus",function(a){a.preventDefault(),this.select()})},bindPhotoViewDelegates:function(){this.parent.delegate(".rj-widget-photoview-thumb","mouseover",function(a){var b=e(this),c=b.data("full");b.parent().siblings(".rj-widget-photoview-full").attr("src",c)})},bindHashDelegates:function(){var b=this,c="hashchange";e(a).bind(c,a.location,function(a){var c=a.data.hash.replace("#","");c&&(c=n.fromQuery(c),n.defined("listing_id",c)&&b.loadListingDetails(b.createListingDialog,c.listing_id,!0))}).trigger(c)},bindMultiSelectDelegates:function(){var a=this.layout.multiSelects.find(".rj-widget-multiselect-menu").mouseenter(function(){a.not(this).hide(0)});this.layout.multiSelects.change(function(){var a=e(this),b,c,d=a.find(".rj-widget-multiselect-label"),f=a.find(".rj-widget-checkbox:checked"),g=f.size();g>0?(d.removeClass("placeholder"),c=f.eq(0).siblings("label").text(),g>1&&(c+=" and "+(g-1).toString()+" more")):(d.addClass("placeholder"),c=a.data("placeholder")),d.text(c)}).delegate(".rj-widget-multiselect-menu-close","click",function(){e(this).closest(".rj-widget-multiselect-menu",a).slideUp("fast")}).delegate(".rj-widget-multiselect-label","click",function(){e(this).siblings(".rj-widget-multiselect-menu",a).slideToggle("fast")}).delegate(".rj-widget-checkbox","change",function(a){e(this).closest(".rj-widget-multiselect").trigger("change")}).dataval(function(a){var b=this.find(".rj-widget-checkbox");return n.undefined(a)?e.makeArray(b.filter(":checked").map(function(){return e(this).val()})).join(","):(a=a?a.split(","):[],b.each(function(b,c){c.checked=e.inArray(c.value,a)>-1}),this.trigger("change"))}).dataval("")},bindDialogTriggerDelegates:function(){var a=this;this.layout.resultsTarget.delegate(".rj-widget-dialog-trigger","click keydown",function(b){var c=e(this),d=c.data("id"),f=c.data("index"),g=a.model.results.listings[f];a.loadListingDetails(function(b){b=e.extend(g,b),a.createListingDialog(b)},d)})},createListingDialog:function(b){var c=this,d=this.layout.form,f,g,h=e('<div class="ui-widget-overlay"></div>');n.defined("permalink",b)||(b.permalink=n.url("permalink",{id:b.id},!0)),template=this.layout.dialogTemplate.tmpl(b),f=template.find(".rj-widget-dialog-title").remove().text(),g=template.dialog({title:f,dialogClass:"rj-widget-dialog",resizable:!1,draggable:!0,position:{x:"auto",y:"auto"},open:function(b,f){var g=e(b.target),i=g.closest(".ui-dialog");d.prepend(i).prepend(h),c.bindDialogDelegates(g),e(a).scrollTop(d.offset().top),i.closest(".ui-dialog").removeAttr("style").css({outline:"0 none",position:"absolute"}).focus()},close:function(){h.remove(),g.dialog("destroy")},buttons:[{text:"Inquire",click:function(){g.dialog("close"),c.prefillInquiryForm(b)}}]})},loadListingDetails:function(a,b,c){var d=n.url("details");this.request(d,{id:b,full:!!c},function(b){b=e.parseJSON(b),b&&(b.error?n.error(b.error):n.callback(a,this,[b]))},i.detailsTimeout)},bindDialogDelegates:function(a){this.bindMapDelegates(a)},bindMapDelegates:function(b){var d=e(a),f=c.WIDGET_DEBUG_MODE?n.url("marker_debug",null,!0):n.url("marker");b=b||this.layout,b.find(".rj-widget-map").each(function(){var a=e(this),b=a.data("geocenter"),c=Math.ceil(a.width())+"x"+Math.ceil(a.height()),g=[f,b].join("|"),h={center:b,zoom:i.mapZoom,size:c,markers:g},j=n.url("map",h,!0);b?(a.attr("src",j),a.hasClass("rj-widget-lightbox")&&(c=Math.ceil(d.width()*.9)+"x"+Math.ceil(d.height()*.9),h={center:b,zoom:i.mapZoom+2,size:c,markers:g},j=n.url("map",h,!0),a.data("src",j))):a.remove()})},bindResultDelegates:function(){var a=this.layout.resultsTarget;this.bindJqueryUiDelegates(a)},bindInquiryButtonDelegates:function(){var a=this;this.parent.delegate(".rj-result-inquire","click keydown",function(){var b=e(this).data("index"),c=a.model.results.listings[b];a.prefillInquiryForm(c)})},prefillInquiryForm:function(a){var b=this.layout,c=!0,d=b.contactForm.one("click keydown",function(){c=!1,d.removeClass("ui-state-highlight")}),e=function(){c&&(d.toggleClass("ui-state-highlight"),setTimeout(e,700))};b.inquiryListingId.val(a.id),b.contactInquiryField.val(n.format(j.inquiry,a)),b.contactNameField.focus(),e()},bindCheckboxDelegates:function(){this.layout.find(".rj-widget-checkbox").each(function(a,b){b=e(b),b.dataval(function(a){return n.undefined(a)?b.is(":checked")?b.val():!1:(b.prop("checked",!!a),b)})})},bindLightboxDelegates:function(){var a=this;this.parent.delegate(".rj-widget-lightbox","mouseenter",function(){e(this).addClass("ui-state-hover")}).delegate(".rj-widget-lightbox","mouseleave",function(){e(this).removeClass("ui-state-hover")}).delegate(".rj-widget-lightbox","click",function(){var b=e(this),c=b.data("src")||b.attr("src");a.createLightbox(c)})},createLightbox:function(a){n.defined("_lighbox",this)&&this._lightbox.close();var c="keydown click",d="Please wait, image loading...",f="Click anywhere to close",g=this._lightbox={img:e(b.createElement("div")).attr("title",f).css("background-image","url('"+a+"')").addClass("rj-widget-lightbox-img"),bg:e(b.createElement("div")).attr("title",f).addClass("rj-widget-overlay ui-widget-overlay"),open:function(a){return a.append(this.bg.bind(c,this.close)).append(this.img.bind(c,this.close).focus()),this},close:function(){g.img.unbind(c).remove(),g.bg.unbind(c).remove()}}.open(this.layout.form)},bindContactDelegates:function(){var a=this,b=n.url("inquiry");this.layout.delegate(".rj-widget-contact-submit","click keydown",function(){var c;a.updateContactMessage("Validating form..."),a.validateContactForm()?(c=n.pluck(a.layout.contactElements),a.updateContactMessage("Sending inquiry..."),a.request(b,c,function(b){b=e.parseJSON(b),b&&b.error?a.updateContactMessage(b.error,!0):(a.layout.contactInquiryField.val(""),a.updateContactMessage(b.msg))})):a.updateContactMessage("One or more fields are invalid or empty!",!0)})},validateContactForm:function(){var a=this,b=!0,c="^.+$";return this.layout.contactElements.each(function(a,d){d=e(d).unbind("focus").removeClass("ui-state-error"),a=new RegExp(d.data("validator")||c,"i"),d.hasClass("placeholder")&&d.val()===d.attr("placeholder")&&d.val("");if(d.attr("type")!=="hidden"&&!a.test(e.trim(d.val()))){b=!1;var f=d.parent().addClass("ui-state-error");d.one("focus",function(){f.removeClass("ui-state-error")})}}),b},updateContactMessage:function(a,b){this.layout.contactMsg.text(a),b?this.layout.contactMsg.addClass("ui-state-error"):this.layout.contactMsg.removeClass("ui-state-error")},bindJqueryUiDelegates:function(a){a=a&&a.length?a:this.layout,a.find(".rj-widget-button").button(),a.find(".rj-widget-buttonset").buttonset(),n.defined("placeholder",e.fn)&&a.find("[placeholder]").placeholder().click().trigger("blur")},bindDateRangeDelegates:function(){var a=this,b=".rj-widget-daterange-element",c=this.layout.find(b).each(function(a,b){var d=e(b),f=d.closest(".rj-widget-filter");d.dataval(function(a){return n.undefined(a)?(a=c.filter(function(){return!!e(this).val()}).map(function(){return e(this).val()}),e.makeArray(a).join(" - ")):(a?(a=a.split(" - "),c.each(function(b){e(this).val(a[b])})):c.each(function(){e(this).val("")}),d)}).datepicker({showOtherMonths:!0,selectOtherMonths:!0,onSelect:function(a){var b=e.datepicker,f=d.data("constraint")=="start"?"minDate":"maxDate",g=d.data("datepicker"),a=b.parseDate(b._defaults.dateFormat,a,g.settings),h=c.not(d);h.datepicker("option",f,a),h.val()||h.val(d.val()),d.trigger("change")},beforeShow:function(a,b){f.append(b.dpDiv)}})})},bindSliderDelegates:function(){var a=this;this.layout.find(".rj-widget-slider-element").each(function(b,c){var c=e(c),d=c.siblings("input"),f=c.siblings(".rj-widget-slider-label"),g=a.model[c.data("model")],h=c.data("type")==="range",i=[g.min,g.max],j=g.step,k=function(a){var b=a.length>0&&a[0]!==a[1]?"range":"single",c=f.data("template-"+b)||"${min}";a=e.map(a,function(a){return g.keys?g.keys[a]:n.commas(a)}),f.text(n.format(c,{min:a[0],max:a[1]}))},l=function(a){e.each(a,function(a,b){g.vals&&(b=g.vals[b]),d.eq(a).val(b)}),c.trigger("change")};c.dataval(function(a){return n.undefined(a)?(a=e.makeArray(c.slider(h?"values":"value")),a[0]===i[0]&&(!h||h&&a[1]===i[1])?null:a.join(",")):(a?a=e.makeArray(a):a=i,h?e.each(a,function(a,b){c.slider("values",a,b)}):c.slider("value",a[0]),k(a),l(a),c)}).slider({range:h,values:i,min:i[0],max:i[1],step:j,slide:function(a,b){k(b.values?b.values:[b.value])},change:function(a,b){l(b.values?b.values:[b.value])}}).dataval(i)})},bindFormElementDelegates:function(){var a=this.layout,b="ui-state-highlight rj-state-shadow";a.delegate(".rj-widget-form-element","change",function(){var c=e(this),d=c.closest(".rj-widget-filter");d.size()>0&&(c.dataval()?d.addClass(b):d.removeClass(b)),a.trigger("submit",{delay:parseInt(c.data("delay"),10)||0})})},bindFilterClearerDelegates:function(){var a=this.layout;a.delegate(".rj-widget-filter-clear","click",function(){e.each(e(this).data("for").split(","),function(a,b){e(document.getElementById(b)).dataval("").trigger("change")})})},bindFormSubmitDelegate:function(){var a=this;this.layout.submit(function(b,c){a.submitForm(c?c.delay:0),b.preventDefault()})},submitForm:function(b,c,d){var f=this,g=this.layout.find(".rj-search-parameter");c=c||"Searching...",this.formSubmission&&a.clearTimeout(this.formSubmission),this.formSubmission=a.setTimeout(function(){var a=e.extend(n.pluck(g),{page:1,sort_direction:f.model.sortDirection,sort_by:f.model.sortBy},d||{}),b=e.param(a);e.fn.placeholder&&e(".placeholder").trigger("blur"),b!==f._lastHash&&(f._lastHash=b,f.updateHeader(c,!0),f.loadResults(function(){f.applyResultsToLayout(this.bindResultDelegates)},a))},b||0)},bindSortDelegates:function(){var a=this;this.layout.sortButtons.bind("click keydown",function(){var b=e(this),c=b.data("sort");a.layout.sortButtons.filter(".ui-priority-primary").removeClass("ui-priority-primary asc desc"),c===a.model.sortBy?a.model.sortDirection=a.model.sortDirection==="asc"?"desc":"asc":(a.model.sortBy=c,a.model.sortDirection="asc"),b.addClass(a.model.sortDirection+" ui-priority-primary"),a.submitForm(0,"Sorting...")})},bindPaginationDelegates:function(){var a=this,b={next:function(a){return parseInt(a.current_page,10)+1},prev:function(a){return parseInt(a.current_page,10)-1},first:function(a){return 1},last:function(a){return parseInt(a.total_pages,10)}};this.layout.paginationButtons.bind("click keydown",function(){var c=e(this);if(!c.hasClass("ui-state-disabled")){var d=b[c.data("fn")].call(a,a.model.results);a.submitForm(0,"Changing Page...",{page:d})}})},loadResults:function(a,b){var c=this,d=n.url("search");this.loadingResults&&this.loadingResults.abort(),this.loadingResults=c.request(d,b,function(b){this.loadingResults=!1,b=e.parseJSON(b),b&&(b.error?n.error(b.error):this.model.results=b,n.callback(a,this))},i.searchTimeout)},changeTheme:function(a){a!==this.parent.data("theme")&&(this.parent.data("theme",a),this.loadTheme())},changeLayout:function(a){a!==this.parent.data("layout")&&(n.insertSpinner(this.parent),this.parent.data("layout",a),this.loadTheme(!0),this.loadLayout(function(){this.applyModelToLayout(function(){this.bindDelegates(),this.applyResultsToLayout()})}))},loadTheme:function(a){var b=this.themeName();if(!n.defined("_layoutCss",this)||a)n.defined("_layoutCss",this)&&this._layoutCss.remove(),this._layoutCss=e("<link/>",{href:n.url("layoutCss",{layout:this.layoutName()}),rel:"stylesheet",media:"screen"}).appendTo("head");n.defined("_themeCss",this)&&this._themeCss.remove(),this._themeCss=e("<link/>",{href:n.url("themeCss",{theme:b}),rel:"stylesheet",media:"screen"}).insertBefore(this._layoutCss)},loadLayout:function(a){var b=n.url("spinner"),c=n.url("layout"),d=this.parent.data("credits");this.request(c,{name:this.layoutName()},function(c){var f=this.layout=e(c);f.form=f.eq(0),f.captionImg=f.find(".rj-widget-caption-img").attr("src",b),f.captionText=f.find(".rj-widget-caption-text"),f.foucContent=f.find(".ui-tabs-hide"),f.resultsTarget=f.find(".rj-widget-results-target"),f.resultsError=f.find(".rj-widget-results-error"),f.sortButtons=f.find(".rj-widget-sort-button"),f.multiSelects=f.find(".rj-widget-multiselect"),f.paginationButtons=f.find(".rj-widget-pagination-button"),f.paginationText=f.find(".rj-widget-pagination-text"),f.limitContainer=f.find(".rj-widget-limit-buttons"),f.officeContainer=f.find(".rj-widget-office"),f.contactForm=f.find(".rj-widget-contact"),f.contactElements=f.find(".rj-widget-contact-element"),f.contactNameField=f.contactElements.filter("#rj-widget-contact-name"),f.contactInquiryField=f.contactElements.filter("#rj-widget-contact-inquiry"),f.inquiryListingId=f.contactElements.filter(".rj-widget-contact-listing-id"),f.contactMsg=f.find(".rj-widget-contact-msg"),this.parent.undelegate().unbind().empty().append(this.layout).append(d),f.resultTemplate=this.parent.find(".rj-widget-results-template"),f.dialogTemplate=this.parent.find(".rj-widget-dialog-template"),f.limitTemplate=this.parent.find(".rj-widget-limit-template"),f.officeTemplate=this.parent.find(".rj-widget-office-template"),f.multiSelectTemplate=this.parent.find(".rj-widget-multiselect-template"),n.callback(a,this)},i.layoutTimeout)},loadModel:function(a){var b=n.url("model");this.model=null,this.request(b,null,function(b){b=e.parseJSON(b),n.undefined(b)&&(b={error:j.nomodel}),b.error?(n.error(b.error),n.cache(!1),b.layout?this.changeLayout(b.layout):this.changeLayout("error")):(this.model=b,this.model.sortDirection=this.model.sortBy="",n.callback(a,this))})},applyModelToLayout:function(a){this.model&&(this.applyOfficeToLayout(),this.applyLimitsToLayout(),this.applyMultiSelectsToLayout()),n.callback(a,this)},applyMultiSelectsToLayout:function(){var a=this,b=this.layout.multiSelectTemplate;this.layout.multiSelects.each(function(c,d){var f=e(d),g=a.model[f.data("model")];n.mvc(f,b,g)})},applyOfficeToLayout:function(a){n.mvc(this.layout.officeContainer,this.layout.officeTemplate,this.model.office),n.callback(a,f)},applyLimitsToLayout:function(a){var b={limits:this.model.limits},c=n.mvc(this.layout.limitContainer,this.layout.limitTemplate,b);this.layout.limitButtons=c.find("label")},applyResultsToLayout:function(a){if(this.model){var b=this,c=this.layout.resultsError,d=this.layout.resultsTarget,f=this.layout.resultTemplate,g=d.closest("table"),h=this.model.results,i=this.layout.limitButtons;h.listings.length>0?(c.fadeOut("fast"),g.fadeIn("fast"),this.updateHeader("Applying Results...",!0),d.fadeTo("fast",0,function(){d.empty(),f.length&&e.each(h.listings,function(a,b){b.index=a,f.tmpl(b).appendTo(d)}),b.updateHeader(n.format(j.results,{count:h.total_listings,s:h.total_listings===1?"":"s"}),0),i.removeClass("ui-state-active").filter("[for=rj-widget-limit-button-"+h.limit+"]").addClass("ui-state-active"),n.callback(a,b),d.fadeTo("fast",1)})):(g.fadeOut("fast"),c.text("No units matched your search, please try clearing some filters and try again.").fadeIn("fast"))}},updateHeader:function(a,b){var c=[],d=this.model.results;this.layout.captionText.text(a),b?(this.layout.captionImg.fadeTo("fast",1),this.layout.paginationButtons.button("disable",!0),this.layout.paginationText.fadeOut("fast")):(this.layout.captionImg.fadeTo("fast",0),this.layout.paginationText.text(n.format(j.pagination,d)).fadeIn("fast"),d.current_page<=1&&c.push(".rj-widget-pagination-prev"),d.current_page>=d.total_pages&&c.push(".rj-widget-pagination-next"),c=c.join(","),this.layout.paginationButtons.each(function(a,b){b=e(b),b.is(c)?b.button("disable"):b.button("enable")}))},request:function(a,b,d,f){b=b||{};var g=this,h,i=n.cachekey(a,b),j;f&&(j=n.cache(i));if(!j)return h=e.support.cors&&c.WIDGET_USE_CORS?"corsRequest":"jsonpRequest",n.debug(h,a,b),this[h](a,b,function(a){a=(a||"").replace(/\\'/g,"'"),f&&n.cache(i,a,f),n.callback(d,g,[a])});n.callback(d,g,[j])},corsRequest:function(a,b,c){var d=this,f={};return f[i.header]=this.apiKey(),e.ajax({url:a,headers:f,type:"POST",data:b,xhrFields:{withCredentials:!0},complete:function(a){var b=a.responseText;n.callback(c,d,[b])}})},jsonpRequest:function(a,b,c){var d=this,f=e.extend({api_key:this.apiKey()},b);return e.ajax({url:a,type:"GET",data:f,dataType:"jsonp",success:function(a){n.callback(c,d,[a])}})}},p=f.load=function(a,b){a=n.undefined(a)?i.className:a,n.ensurejQuery(function(){e(a).each(function(a,c){c=n.setupParentContainer(c),n.insertSpinner(c),n.loadDependencies(function(){n.applyPlugins(),g.push(new f(c,b))})})})};c.WIDGET_AUTO_LOAD&&p()}(window,document,RentJuice,undefined);
