function tool_setup() { var n = $(document), t = $("body"), i = $(".validation", t); n.foundation("reveal", { closeOnBackgroundClick: !1 }); n.foundation(); $.validator.setDefaults({ onfocusout: !1, onkeyup: !1 }); $.ajaxSetup({ cache: !1 }); $.valHooks.text = {}; $.valHooks.text.set = function (n, t) { if ($(n).is(".formatted_field")) { var i = $(this).data("entered_value"); return ( $(n).data("entered_value", t), (n.value = format_field($(n).data("field_format"), t)), t !== i && $(n).trigger("change_complete"), n.value ); } return undefined; }; $.valHooks.text.get = function (n) { if ($(n).is(".formatted_field")) { var t = $(n).data("entered_value"); return typeof t == "undefined" ? n.value : t; } return undefined; }; n.on("focusout", ".formatted_field", function () { $(this).val(this.value); (typeof populating_form != "undefined" && populating_form) || $(this).valid(); }); n.on("focusin", "input.formatted_field", function () { this.value = $(this).val(); }); n.on("change", "input:not(.formatted_field)", function () { $(this).trigger("change_complete"); }); n.on("focusout", "input:not(.formatted_field)", function () { (typeof populating_form != "undefined" && populating_form) || $(this).valid(); }); n.on("keyup", ".numeric", function () { var n = this.value.replace(/[^0-9\.\-]/g, ""); this.value !== n && (this.value = n); }); n.on("change", 'input[type="range"]', function () { if ($(this).attr("name")) { var n = $(this).attr("name").replace("_range", ""); $('input[name="' + n + '"]').val($(this).val()); (typeof populating_form != "undefined" && populating_form) || $('input[name="' + n + '"]').valid(); } }); n.on("change", 'input[type="text"]', function () { var n = $(this).attr("name"); $('input[name="' + n + '_range"]').val(this.value); }); $("select").each(function () { $(this).next(".custom.dropdown").attr("title", this.title); }); n.on("click", ".top_of_page_link", function (n) { return n.preventDefault(), $(document).scrollTo($("body")), !1; }); $(".upload_file_size_limit_message").text( "Please note: maximum file size for uploads is 1.94MB" ); i.on("click", "a.validate-link", function (n) { var i = $(this), r = $(':input[name="' + i.attr("for") + '"]', t), f = i.attr("href"), u = r; $(window).scrollTo(u, 500, { offset: -30, axis: "y" }); setTimeout(function () { r.focus().select(); }, 400); n.preventDefault(); }); } function get_modules_id() { var n = modules_id === null ? getCookie("MemberID") : this.modules_id; try { Raven.setUser({ id: n }); } catch (t) {} return n; } function get_auth_token() { var n, t; if (auth_token === null) { if (((n = getCookie("APIMemberJSON")), !n)) return ""; try { return (t = $.parseJSON(decodeURIComponent(n))), t.AuthToken; } catch (i) { return ""; } } else return auth_token; } function get_profile_country_code() { var n, t; if (portfolioCountry === null) { if (((n = getCookie("APIMemberJSON")), !n)) return ""; try { return (t = $.parseJSON(decodeURIComponent(n))), t.PortfolioCountry; } catch (i) { return ""; } } else return portfolioCountry; } function get_user_country_code() { var n, t; if (userCountry === null) { if (((n = getCookie("APIMemberJSON")), !n)) return ""; try { return (t = $.parseJSON(decodeURIComponent(n))), t.Country; } catch (i) { return ""; } } else return userCountry; } function get_member_name() { var n, t; if (memberName === null) { if (((n = getCookie("APIMemberJSON")), !n)) return ""; try { return ( (t = $.parseJSON(decodeURIComponent(n))), t.FirstName + " " + t.LastName ); } catch (i) { return ""; } } else return memberName; } function get_user_roles() { var n, t; if (userRoles === null) { if (((n = getCookie("APIMemberJSON")), !n)) return ""; try { return (t = $.parseJSON(decodeURIComponent(n))), t.Roles; } catch (i) { return ""; } } else return userRoles; } function check_user_roles(n) { if (typeof n == "undefined" || n.length === 0) return !1; typeof n == "string" && (n = [n]); for ( var u = get_user_roles(), e = u.length, f = !1, o = n.length, r, i, t = 0; t < o; t++ ) { for (r = !1, i = 0; i < e; i++) if (n[t] === u[i].Module) { r = !0; break; } if (!r) { f = !0; break; } } return !f; } function api_url(n, t, i, r, u, f) { var e, o; switch ($("#rei_account_details").data("rei_api")) { case "dev_env": e = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/securitydev", service_name: "AuthService", }; o = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/analyserdev", service_name: "AnalyserService", }; tracker_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/tracker", service_name: "PortfolioService", }; search_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/searchdev", service_name: "PropertySearchService", }; parameter_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/searchdev", service_name: "ParameterService", }; xeroauth_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/Xero", service_name: "XeroAuthService", }; xerodata_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/Xero", service_name: "XeroDataService", }; fileupload_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/upload", service_name: "FileUploadService", }; break; case "future_live": e = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/security", }; o = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/v2/analyser", service_name: "AnalyserService", }; tracker_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/v2/tracker", service_name: "PortfolioService", }; search_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/v2/search", service_name: "PropertySearchService", }; parameter_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/v2/search", service_name: "ParameterService", }; xeroauth_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/v2/xero", service_name: "XeroAuthService", }; xerodata_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/v2/xero", service_name: "XeroDataService", }; fileupload_api = { protocol: "http://", host: "121.50.209.112", port: 80, path: "", service_name: "FileUploadService", }; break; case "dev_env_3": e = { protocol: "http://", host: "121.50.209.113", port: 4165, path: "", service_name: "AuthService", }; o = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/dev3/analyser", service_name: "AnalyserService", }; tracker_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/dev3/tracker", service_name: "PortfolioService", }; search_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/dev3/Search", service_name: "PropertySearchService", }; parameter_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/dev3/Search", service_name: "ParameterService", }; xeroauth_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/dev3/Xero", service_name: "XeroAuthService", }; xerodata_api = { protocol: "http://", host: "api.realestateinvestar.com", port: 80, path: "/dev3/Xero", service_name: "XeroDataService", }; fileupload_api = { protocol: "http://", host: "121.50.209.112", port: 80, path: "", service_name: "FileUploadService", }; break; case "live": case "dev_env_2": case "default": e = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/security", service_name: "AuthService", }; o = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/analyser", service_name: "AnalyserService", }; tracker_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/tracker", service_name: "PortfolioService", }; search_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/search", service_name: "PropertySearchService", }; parameter_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/search", service_name: "ParameterService", }; xeroauth_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/Xero", service_name: "XeroAuthService", }; xerodata_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/Xero", service_name: "XeroDataService", }; fileupload_api = { protocol: "https://", host: "sec.realestateinvestar.com", port: 443, path: "/v1_0/upload", service_name: "FileUploadService", }; } typeof t == "undefined" && ($("#tracker_tool").length ? (t = "PortfolioService") : $("#analyser_tool").length ? (t = "AnalyserService") : $("#search_tool").length && (t = "PropertySearchService")); switch (t) { case "AuthService": api_details = e; break; case "PortfolioService": api_details = tracker_api; break; case "PropertySearchService": api_details = search_api; break; case "ParameterService": api_details = parameter_api; break; case "XeroAuthService": api_details = xeroauth_api; break; case "XeroDataService": api_details = xerodata_api; break; case "FileUploadService": api_details = fileupload_api; break; default: case "AnalyserService": api_details = o; } return ( (u = typeof u == "undefined" ? api_details.protocol : u), (i = typeof i == "undefined" ? api_details.host : i), (r = typeof r == "undefined" ? api_details.port : r), (f = typeof f == "undefined" ? api_details.path : f), (t = typeof t == "undefined" ? api_details.service_name : t), u + i + ":" + parseInt(r) + f + "/" + t + ".svc/API/" + n ); } function authenticate_user(n, t) { var r = { UserName: n, Password: t, SessionType: 0 }, i = new $.Deferred(); return ( $.ajax({ url: api_url("Security/AuthMember/", "AuthService"), data: JSON.stringify(r), type: "POST", contentType: "application/json", headers: { APIUserName: api_username, APIPassword: api_password }, dataType: "json", }) .fail(function () { i.reject(); }) .done(function (n) { $.ajax({ url: api_url("Security/Member/" + n.MemberID, "AuthService"), type: "GET", contentType: "application/json", headers: { APIUserName: api_username, APIPassword: api_password, UserToken: n.AuthToken, }, dataType: "json", }) .fail(function () { i.reject(); }) .done(function (t) { n.ValidLogin && n.MemberID !== "" ? ((modules_id = n.MemberID), (auth_token = n.AuthToken), (userCountry = t.Country), (memberName = t.FirstName + " " + t.LastName), (userRoles = t.Roles), (portfolioCountry = t.PortfolioCountry)) : i.reject(); i.resolve(); }); }), i ); } function open_valuer_window(n) { if (n.toUpperCase() === "NZ") { window.open("http://www.rpnz.co.nz/", "_blank"); return; } window.open( "http://www.realestateinvestar.com.au/ME2/MyModules/SOAP/apm/connect_myvaluer.asp", "_blank" ); } function integer_with_commas(n) { var t = Math.round(n); return Math.floor(Math.abs(t)) < 1e3 ? t.toString() : t.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); } function rounded_decimal(n, t) { var i = Math.round(n * Math.pow(10, t)) / Math.pow(10, t), r = Math.floor(Math.abs(i)); return r < 1e4 ? i.toString() : i.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); } function zero_pad_decimal(n, t) { n = String(n); var i = n.indexOf("."); return ( i === -1 && ((n = n + "."), (i = n.length - 1)), (n + "00000000000000000000000000000000000000000000000000").substr( 0, i + t + 1 ) ); } function format_field(n, t) { if ((t === "-" && (t = ""), t === "")) return ""; var i; switch (n) { case "integer": i = integer_with_commas(t); break; case "number_1dp": i = rounded_decimal(t, 1); break; case "number_2dp": i = rounded_decimal(t, 2); break; case "number_2fdp": i = zero_pad_decimal(rounded_decimal(t, 2), 2); break; default: i = t; } return i; } function simple_integer(n, t) { var i = integer_with_commas(n); return ( n < 0 && t !== !1 && (i = '' + String(i).replace("-", "") + ""), i ); } function dollar_value(n, t) { var i = "$" + integer_with_commas(n); return ( n < 0 && t !== !1 && (i = '' + String(i).replace("-", "") + ""), i ); } function percentage_value(n, t, i, r) { var f = rounded_decimal(n, typeof t == "undefined" ? 1 : t), u; return ( typeof r != "undefined" && (f = zero_pad_decimal(f, r)), (u = f + "%"), n < 0 && i !== !1 && (u = '' + String(u).replace("-", "") + ""), u ); } function percentage_int(n, t) { return percentage_value(n, 0, t); } function percentage_1dp(n, t) { return percentage_value(n, 1, t); } function percentage_2dp(n, t) { return percentage_value(n, 2, t); } function percentage_2fdp(n, t) { return percentage_value(n, 2, t, 2); } function float_value(n, t, i, r) { t = typeof t == "undefined" ? 1 : t; r = typeof r != "undefined" && r; var u = rounded_decimal(n, t); return ( (u = r ? parseFloat(u).toFixed(t) : u), n < 0 && i !== !1 && (u = '' + String(u).replace("-", "") + ""), u ); } function float_1dp(n) { return float_value(n, 1); } function float_2dp(n) { return float_value(n, 2); } function float_2dp_fixed(n) { return float_value(n, 2, !0, !0); } function plain_text(n) { return n; } function display_years(n) { return float_1dp(n) + " yrs"; } function shortened_date(n) { return String(n) === "" || n === null ? "" : String(n).substr(0, n.length - 4) + n.substr(-2); } function shortened_mortgage_type(n) { var t; switch (n) { case "P & I": t = "P&I"; break; case "Interest Only": t = "I.O."; break; default: t = n; } return t; } function date_string(n) { return String( n.getDate() + "/" + String(n.getMonth() + 1) + "/" + String(n.getFullYear()) ); } function date_from_string(n) { var t = n.split("/"); return new Date( parseInt(t[2]) || 0, (parseInt(t[1]) || 1) - 1, parseInt(t[0]) || 0 ); } function nth(n) { if (n > 3 && n < 21) return "th"; switch (n % 10) { case 1: return "st"; case 2: return "nd"; case 3: return "rd"; default: return "th"; } } function filter_value_from_id(n, t, i, r) { typeof r == "undefined" && (r = "Label"); for (var u = 0; u < n.length; u++) if (String(n[u][i]) === String(t)) return n[u][r]; return null; } function body_corporate_applies(n) { return ( n.toLowerCase() === "unit/apartment" || n.toLowerCase() === "townhouse" ); } function global_country_list() { return g_filters.hasOwnProperty("AU") ? g_filters.AU.Countries : g_filters.Country.values; } function country_code_from_id(n) { var i = global_country_list(), r = parseInt(n), t; if (isNaN(r)) return !1; for (t = 0; t < i.length; t++) if (i[t].CountryID === r || i[t].FilterCountryId === r) return i[t].CountryCode; return !1; } function country_name_from_id(n) { var i = global_country_list(), r = parseInt(n), t; if (isNaN(r)) return !1; for (t = 0; t < i.length; t++) if (i[t].CountryID === r || i[t].FilterCountryId === r) return i[t].Label; return !1; } function country_id_from_code(n) { for (var i = global_country_list(), t = 0; t < i.length; t++) if (i[t].CountryCode.toLowerCase() === String(n).toLowerCase()) return i[t].CountryID || i[t].FilterCountryId; return !1; } function country_name_from_code(n) { for (var i = global_country_list(), t = 0; t < i.length; t++) if (i[t].CountryCode.toLowerCase() === String(n).toLowerCase()) return i[t].Label; return !1; } function current_financial_year_bounds(n) { var u, r, l, t, f, e, o, i, s, h, c; if (!($("#tracker_tool").length < 1)) { try { for ( u = g_filters[n.toUpperCase()].CurrentFiscalYear, r = 0, l = u.length; r < l; r++ ) u[r].CountryCode.toUpperCase() === n.toUpperCase() && ((t = u[r].StartDate.split("/")), isNaN(parseInt(t[0])) || (f = parseInt(t[0])), isNaN(parseInt(t[1])) || (e = parseInt(t[1])), isNaN(parseInt(t[2])) || (o = parseInt(t[2])), (i = u[r].EndDate.split("/")), isNaN(parseInt(i[0])) || (s = parseInt(i[0])), isNaN(parseInt(i[1])) || (h = parseInt(i[1])), isNaN(parseInt(i[2])) || (c = parseInt(i[2]))); } catch (a) { console.log("ERROR: Could not establish current financial year.", n, a); return; } return ( (financial_year_start = new Date(o, e - 1, f)), (financial_year_end = new Date(c, h - 1, s)), [financial_year_start, financial_year_end] ); } } function in_current_financial_year(n, t) { var r = current_financial_year_bounds(t), i; return ( typeof n != "object" && ((i = n.split("/")), (n = new Date(i[2], i[1] - 1, i[0]))), n >= r[0] && n <= r[1] ); } function current_financial_year(n) { return new Date(current_financial_year_bounds(n)[1]).getFullYear(); } function round_to_places(n, t) { return Math.round(n * Math.pow(10, t)) / Math.pow(10, t); } function toTitleCase(n) { return n.replace(/\w\S*/g, function (n) { return n.charAt(0).toUpperCase() + n.substr(1).toLowerCase(); }); } function set_area_display_status(n, t) { $area_element = typeof n == "string" ? $(n) : n; $area_element.children(".preparing_indicator").toggle(t === "preparing"); $area_element.children(".loading_indicator").toggle(t === "loading"); $area_element.children(".loading_failure_alert").toggle(t === "failed"); $area_element.children(".updating_indicator").toggle(t === "updating"); $area_element .children(".updating_failure_indicator") .toggle(t === "updating_failed"); $area_element.children(".area_content").toggle(t === "loaded"); } function set_area_display_status_v2(n, t, i) { $(n + " > .area_indicator").hide(); t !== "" && $(n + " > .area_indicator." + t).show(); typeof i == "undefined" && (i = !1); $(n + " > .area_content").toggle(i); } function set_editing_state(n, t) { (typeof t == "undefined" || t !== "edit") && (t = "display"); $(".edit_state_display", n).toggle(t === "display"); $(".edit_state_input", n).toggle(t === "edit"); $(".edit_state_cancel_button", n).toggle(t === "edit"); $(".edit_state_save_button", n).toggle(t === "edit"); n.data("editing_state", t); } function fetch_document_list(n, t) { var i = new $.Deferred(); return ( $.ajax({ url: api_url("Documents/AllFiles/" + t, "FileUploadService"), type: "GET", contentType: "application/json; charset=utf-8", headers: { APIUserName: api_username, APIPassword: api_password, UserToken: get_auth_token(), }, dataType: "json", timeout: 2e4, }) .done(function (t, r, u) { var f; switch (n) { case "attachment": f = t.Attachements; break; case "image": f = t.PropertyImages; break; default: case "all": f = t; } i.resolve(f, r, u); }) .fail(function (n, t, r) { if (check_session_expiry(n, t, r)) { handle_session_expiry(n); return; } i.reject(n, t, r); }), i ); } function uploadFile(n, t, i, r, u) { var f = api_url("Documents/Uploads/HtmlClient/", "FileUploadService"); $.ajax({ url: f, type: "POST", data: n, headers: { APIUserName: api_username, APIPassword: api_password, UserToken: get_auth_token(), }, processData: !1, beforeSend: function (i) { i.setRequestHeader("FileName", n.name); i.setRequestHeader("FileSize", n.size); i.setRequestHeader("MemberPropertyID", u); i.setRequestHeader("UserToken", get_auth_token()); i.setRequestHeader("IsAttachement", t === "attachment" ? "1" : "0"); }, }) .done(i) .fail(r); } function deleteFile(n, t) { function u(n, t, i) { if (check_session_expiry(n, t, i)) { handle_session_expiry(n); return; } alert("Sorry, an error occurred while deleting your file."); } var i = api_url("Documents/DeleteFiles/", "FileUploadService"), r = { MemberPropertyId: n, FileNames: [t] }; return $.ajax({ url: i, type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(r), headers: { APIUserName: api_username, APIPassword: api_password, UserToken: get_auth_token(), }, timeout: 1e4, }).fail(u); } function getCookie(n) { for ( var t, r = n + "=", u = document.cookie.split(";"), i = 0, f = u.length; i < f; i++ ) if (((t = u[i].trim()), t.indexOf(r) === 0)) return t.substring(r.length, t.length); return null; } function UserProfile(n, t) { var i = this, r = null; this.entities = []; this.environment = {}; this.construct = function (n, t) { i.user_id = n; i.environment = t; i.initialise_interactions(); }; this.initialise_interactions = function () { var n = $("#form_profile"); n.validate({ onfocusout: !1, onkeyup: !1 }); $("#profile_defaults_overlay").on("closed", function () { $("#profile_defaults_overlay").data("action_on_close").apply(); $("#profile_defaults_overlay").data("action_on_close", function () {}); }); $("#profile_defaults_discard_changes").on("click", function () { i.discard_changes(); }); $("#profile_defaults_save").on("click", function (n) { return ( n.preventDefault(), $("#form_profile").valid() && i.save_defaults(!1), !1 ); }); $("input.control_group_switcher", n).on("change_complete", function () { $(this).prop("checked") && i.switch_controls($(this).data("control_group"), $(this).val()); }); $("#profile_entities_select").on("change", function () { var t = $(this).find(":selected"); $(".selected_ent", n).text(t.text()); $(".selected_entity_link", n).attr( "href", $("#rei_tool_wrapper .rei_tool").attr( "data-rei_tracker_url_" + get_user_country_code().toLowerCase() ) + "&my_entities=" + t.val() ); }); }; this.open_editor = function (n) { function t(n) { i.get_entities().done(function () { i.populate_editor(n); var t = !0; typeof n.UserDetailDefault != "undefined" && typeof n.UserDetailDefault.HasDefault != "undefined" && (t = n.UserDetailDefault.HasDefault === "1"); $("#profile_defaults_overlay .default_profile_heading").text( t ? "Edit Default Profile" : "Create Default Profile" ); i.set_editor_state("loaded"); }); } function r(n, t, r) { if (i.environment.check_session_expiry(n, t, r)) { $("#profile_defaults_overlay").foundation("reveal", "close"); i.environment.handle_session_expiry(n); return; } i.set_editor_state("error"); } typeof n == "function" ? $("#profile_defaults_overlay").data("action_on_close", n) : $("#profile_defaults_overlay").data("action_on_close", function () {}); i.set_editor_state("loading"); $("#profile_defaults_overlay").foundation("reveal", "open"); i.populate_defaults_loan_length_menu(i.environment.user_country_code); $.ajax({ url: api_url( "Analyser/UserDefault?ModulesID=" + i.environment.modules_id + "&Country=" + i.environment.user_country_code + "&memberName=" + i.environment.member_name, "AnalyserService" ), contentType: "application/json; charset=utf-8", headers: { APIUserName: i.environment.api_username, APIPassword: i.environment.api_password, UserToken: i.environment.auth_token, }, dataType: "json", timeout: 1e4, }) .done(t) .fail(r); }; this.get_entities = function () { return this.environment .load_user_entities() .done(function (n) { i.entities = n; i.populate_entities_list(); }) .fail(function (n, t, r) { if (i.environment.check_session_expiry(n, t, r)) { $("#profile_defaults_overlay").foundation("reveal", "close"); i.environment.handle_session_expiry(n); return; } i.set_editor_state("error"); }); }; this.set_editor_state = function (n) { var t = $("#profile_defaults_overlay"); switch (n) { case "loading": r && r.stop(); $(".saving_indicator", t).hide(); $(".loading_indicator .close-reveal-modal", t).hide(); $(".loading_indicator .alert-box", t).hide(); $(".content", t).hide(); $(".loading_message", t).show(); $(".loading_indicator", t).show(); break; case "error": $(".loading_message", t).hide(); $(".loading_indicator .alert-box", t).show(); $(".loading_indicator .close-reveal-modal", t).show(); $(".content", t).hide(); $(".loading_indicator", t).show(); break; case "loaded": $(".loading_indicator", t).hide(); $(".content", t).show(); r = Ladda.create($("#profile_defaults_save").get(0)); break; case "saving": r.start(); $(".saving_indicator .close-reveal-modal", t).hide(); $(".saving_indicator .alert-box", t).hide(); $(".saving_indicator", t).show(); break; case "saving_error": r.stop(); $(".saving_indicator .alert-box", t).show(); $(".saving_indicator .close-reveal-modal", t).show(); } }; this.populate_entities_list = function () { var n = $("#form_profile"), t; for ( i.entities.length === 1 && n.find(".profile_entities_selection").hide(), n.find(".profile_entities").show(), n.find('select[name="entity"]').empty(), t = 0; t < i.entities.length; t++ ) n.find('select[name="entity"]').append( $( '" ) ); n.find(".entities_page_link").attr( "href", $("#rei_tool_wrapper .rei_tool").attr( "data-rei_tracker_url_" + get_user_country_code().toLowerCase() ) + "&my_entities=0" ); }; this.populate_defaults_loan_length_menu = function () { var t = $( '#profile_defaults_overlay select[name="mortgage_type_loan_length"]' ), n, r, u; for (t.empty(), n = 0; n < i.environment.loan_length_values.length; n++) (r = i.environment.loan_length_values[n]), (u = $("" ); n.display_strategy_keywords( $("body"), u.StrategiesCollection.StrategiesAndKeywords, $(".search_filters .strategy_select").val() ); var o = u.Strategy.KeywordPhrase, s = u.Strategy.ExcKeywordPhrase, e = ""; for ( r = $(".search_filters select.keyword_include_type").empty(), i = 0; i < o.length; i++ ) { switch (o[i].Label) { case "Exact Phrase": e = "boat pontoonĀ‚Ā- The two words must be next to each other in the title or description"; break; case "All Words": e = "boat pontoonĀ‚Ā- The two words must be in the title or description but do not need to be next to each other"; break; case "Any Words": e = "boat pontoonĀ‚ - Either of the two words must be in the title or description"; break; default: e = ""; } $("" ); for ( r = $(".search_filters select.bedrooms_select.max").empty(), i = 0, f = w.length; i < f; i++ ) r.append( '" ); for ( r = $(".search_filters select.bathrooms_select.min").empty(), i = 0, f = b.length; i < f; i++ ) r.append( '" ); for ( r = $(".search_filters select.bathrooms_select.max").empty(), i = 0, f = k.length; i < f; i++ ) r.append( '" ); for ( r = $(".search_filters select.carports_select.min").empty(), i = 0, f = d.length; i < f; i++ ) r.append( '" ); for ( r = $(".search_filters select.carports_select.max").empty(), i = 0, f = carports_max.length; i < f; i++ ) r.append( '" ); var g = u.PropertySpecifics.LandSizes.LandSizesMin, nt = u.PropertySpecifics.LandSizes.LandSizesMax, tt = u.ListngDetails.PropertyYields.PropertyYieldMin, it = u.ListngDetails.PropertyYields.PropertyYieldMax, rt = u.ListngDetails.ListingAge.ListingAgeMin, ut = u.ListngDetails.ListingAge.ListingAgeMax; for ( r = $(".search_filters select.landsize_min").empty(), i = 0; i < g.length; i++ ) $("' ); $(".advanced_location_search", t).append( '' ); h === "NZ" ? $(".advanced_location_search", t).append( '' ) : ($(".advanced_location_search", t).append( '' ), $(".advanced_location_search", t).append( '' ), $(".advanced_location_search", t).append( '' )); selected_option_val !== null && $( '.advanced_location_search option[value="' + selected_option_val + '"]', t ).prop("selected", !0); }; this.handle_backend_validation = function (n) { return n.status === 400 && typeof n.responseJSON == "string" && (n.responseJSON.match(/^Limit Postcode:.*invalid\.?\,?$/) || n.responseJSON.match(/^Postcode :.*is invalid format\.?\,?$/) || n.responseJSON.match(/^Address:.*invalid\.?\,?$/)) ? ($("#validation_message_modal") .find(".validation_message") .text(n.responseJSON) .end() .find(".limit_address_message") .toggleClass("hide", n.responseJSON.match(/^Address:/) === null) .end() .foundation("reveal", "open"), !0) : !1; }; this.check_locality_input = function (t) { var s = $(".no_region_selected.active", t).length > 0, i, e, o, u, r, f; if (!s) return !0; if ($(".localities_container", t).children().length > 0) return ( $("#main_search .autocomplete_search_input") .val("") .data("latest_matches"), !0 ); if ($(".autocomplete_search_input", t).val() === "") return !0; if ( ((i = $(".autocomplete_search_input", t).data("latest_matches") || []), i.length > 0 && i.length <= 5 && ((e = /^.*(\([^\)]*\))$/), i[0].LocalityLabel.match(e) !== null)) ) { for ( o = i[0].LocalityLabel.replace(/^.*(\([^\)]*\))$/, "$1"), u = null, r = Math.min(1, i.length - 1), f = Math.min(5, i.length); r < f; r++ ) { if (i[r].LocalityLabel.replace(/^.*(\([^\)]*\))$/, "$1") !== o) { u = !1; break; } u = !0; } if (u === !0) { for (r = 0, f = Math.min(5, i.length); r < f; r++) n.add_selected_locality(i[r].LocalityLabel, t); return ( $(".autocomplete_search_input", t).val("").data("latest_matches"), !0 ); } } return ( i.length === 0 ? $(".locality_input_explanation", t).show() : ($(".autocomplete_search_input", t).autocomplete("search"), $(".locality_input_warning", t).show()), $(document).scrollTo($(".locality_input_warning")), !1 ); }; this.add_selected_locality = function (n, t) { var i, r; $(".locality_input_warning", t).hide(); $(".locality_input_explanation", t).hide(); $(".autocomplete_search_input", t).removeData("latest_matches"); i = !1; $(".selected_locality", t).each(function () { if ($(this).find("span").text() === n) { $(this) .fadeIn(80) .fadeOut(80) .fadeIn(80) .fadeOut(80) .fadeIn(80) .fadeOut(80) .fadeIn(80); i = !0; return; } }); i || ((r = $('').html( "" + n + 'delete' )), $(".localities_container", t).append(r)); $(this).val(""); }; this.search_type = function (n) { return n.Locality && n.Locality.length > 0 ? "locality" : n.Country.LocationBasics[0].Country === "AU" && (n.Country.LocationBasics[0].StateId === "0" || n.Country.LocationBasics[0].StateId === null || n.Country.LocationBasics[0].StateId === "" || typeof n.Country.LocationBasics[0].StateId == "undefined") ? "whole-country" : n.Country.LocationBasics[0].Country === "NZ" && (n.Country.LocationBasics[0].RegionId === "0" || n.Country.LocationBasics[0].RegionId === null || n.Country.LocationBasics[0].RegionId === "" || typeof n.Country.LocationBasics[0].RegionId == "undefined") ? "whole-country" : n.Country.LocationBasicsSuburbs ? "suburb" : "other"; }; this.find_id = function (n, t, i, r) { r === undefined && (r = "Label"); for (var u = 0; u < n.length; u++) if (n[u][r] === i) return n[u][t]; return ""; }; this.find_label = function (n, t, i, r) { typeof r == "undefined" && (r = "Label"); for (var u = 0, f = n.length; u < f; u++) if (String(n[u][i]) === String(t)) return n[u][r]; return ""; }; this.get_state_or_region_name = function (t, i) { var e = !1, u, f, r; if (t === "NZ") { for ( u = n.key_values.NZ.LocationBasicsNZ.Regions, r = 0; r < u.length; r++ ) if (u[r].FilterRegionID == i) { e = u[r].Label; break; } } else for ( f = n.key_values.AU.LocationBasicsAU.States, r = 0; r < f.length; r++ ) if (f[r].FilterStateID == i) { e = f[r].Label; break; } return e; }; this.suburb_tag_label = function (t, i) { if (String(i.SuburbId) === "0") { if (t.Country === "AU") return String(t.RegionId) === "0" ? n.get_state_or_region_name("AU", t.StateId) + ": all suburbs" : t.Region + ": all suburbs"; if (t.Country === "NZ") return String(t.DistrictId) === "0" ? n.get_state_or_region_name("NZ", t.RegionId) + ": all suburbs" : t.District + ": all suburbs"; } else return i.Suburb; }; this.count_words = function (n) { return n.length === 0 ? 0 : ((n = n.replace(/(^\s*)|(\s*$)/gi, "")), (n = n.replace(/[ ]{2,}/gi, " ")), (n = n.replace(/\n /, "\n")), n.split(" ").length); }; this.getCookie = function (n) { for ( var t, r = n + "=", u = document.cookie.split(";"), i = 0, f = u.length; i < f; i++ ) if (((t = u[i].trim()), t.indexOf(r) === 0)) return t.substring(r.length, t.length); return null; }; this.check_session_expiry = function (n) { return n.status === 401; }; this.handle_session_expiry = function (n) { if (typeof n != "undefined") { var t = n.responseJSON || ""; $(".authentication_problem .problem_message").text(t); } $(".search_screen").hide(); $("#edit_search_modal").foundation("reveal", "close"); $("#search_search_screen").show(); set_area_display_status_v2( "#search_search_screen .main_display", "authentication_problem", !0 ); $(document).scrollTo($("body")); }; this.setup(); } function IS_search_screen(n) { var t = this, i = {}; this.initialise = function () { var r = $(document); r.on( "click", "#search_search_screen .show_watch_list, #search_search_screen .show_saved_searches", function (n) { n.preventDefault(); $watchlists_row = $(this).closest(".watchlists"); watchlist = $watchlists_row.find(".investor_watchlist"); saved_searches = $watchlists_row.find(".saved_investor_searches"); $(watchlist).slideToggle(function () { $watchlists_row .find(".show_watch_list") .toggleClass("open") .find("h3 i") .toggle(); }); $(saved_searches).slideToggle(function () { $watchlists_row .find(".show_saved_searches") .toggleClass("open") .find("h3 i") .toggle(); }); } ); $.ui.autocomplete.filter = function (n, t) { var i = new RegExp("^" + $.ui.autocomplete.escapeRegex(t), "i"); return $.grep(n, function (n) { return i.test(n.label || n.value || n); }); }; r.on("click", "#search_search_screen .default_profile_link", function (t) { return t.preventDefault(), n.user_profile.open_editor(), !1; }); n.set_form_country($("#main_search"), n.get_user_country_code()); r.on("click", ".search_country_toggle a", function (t) { t.preventDefault(); var r = $(this).hasClass("search_country_toggle__au") ? "AU" : "NZ", i = $(this).closest(".search_filters"); n.set_form_country(i, r); $(".locality_input_warning", i).hide(); $(".autocomplete_search_input", i).removeData("latest_matches"); }); r.on("click", ".map_region", function (n) { n.preventDefault(); var i = $(this).closest("div"), r = i.find(".map_region"), t = $(this); t.hasClass("selected") ? t.attr("class", function (n, t) { return t.replace("selected", ""); }) : (r.attr("class", function (n, t) { return t.replace("selected", ""); }), t.attr("class", function (n, t) { return t + " selected"; })); $(this).closest(".search_filters").find(".localities_container").empty(); }); r.on("click", "#search_search_screen .delete_watch", function (i) { i.preventDefault(); var r = $(this).attr("data-watchlist-id"), u = $(this).closest("tr"); n.watchlist .remove_property_from_watchlist(r) .done(function () { t.display_watchlist(); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } alert("Deleting from watchlist failed, please try again later."); }); }); r.on("click", "#search_search_screen .show_watched_property", function (i) { i.preventDefault(); var r = { WatchlistID: $(this).attr("data-watchlist-id"), CountryCode: $(this).attr("data-country-code"), PropertyId: $(this).attr("data-property-id"), LinkIdHash: $(this).attr("data-link-id-hash"), MemberId: n.get_modules_id(), }; t.show_property_in_modal(r, !0); }); $(window).on("resize", function () { $("#watched_property_details").is(":visible") && i.resize_graphs(); }); r.on( "click", "#search_search_screen .show_market_stats_button", function (n) { n.preventDefault(); var t = $(this).closest(".search_result"); $(".area_container", t) .find(".more_property_details") .slideToggle({ done: function () { $(".more_property_details", t).is(":visible") ? i.display_extended_stats( t.data("property_details").Suburb, t, "WLP" ) : i.clear_postcode_graph("WLP"); }, }) .end() .find(".show_market_stats_button") .toggle(); $(document).scrollTo(t); } ); r.on( "click", "#search_search_screen .show_search_delete_confirmation", function (n) { n.preventDefault(); $table = $(this).closest("table"); $table.find(".confirm_delete_options").hide(); $table.find("tr").not(".confirm_delete_options").show(); $(this).closest("tr").hide().next().show(); } ); r.on( "click", "#search_search_screen .cancel_delete_saved_search", function (n) { n.preventDefault(); $(this).closest("tr").hide().prev().show(); } ); r.on("click", "#search_search_screen .delete_saved_search", function (i) { i.preventDefault(); var r = $(this).closest("tr"); t.delete_saved_search($(this).attr("data-saved-search-id")) .done(function () { r.prev().remove(); r.remove(); $( "#search_search_screen .saved_investor_searches .some_saved_searches tbody tr" ).length < 2 && ($( "#search_search_screen .saved_investor_searches .some_saved_searches" ).hide(), $( "#search_search_screen .saved_investor_searches .no_saved_searches" ).show()); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } alert( "Sorry we are unable to delete your search at this time please try again later." ); }); }); r.on("click", "#main_search .save_this_search", function (t) { (t.preventDefault(), n.check_locality_input($("#main_search"))) && ($("#save_search_modal .validation").empty(), $("#save_search_modal").foundation("reveal", "open")); }); r.on("click", ".save_search", function (i) { var r; i.preventDefault(); r = $("#main_search").is(":visible") ? t.get_search_request_data($("#main_search")) : n.current_search; var u = $("#save_search_modal .name_of_saved_search").val(), o = $("#save_search_modal input[name=receive_emails]:checked").val() === "yes" ? !0 : !1, f = $("#save_search_modal .email_frequency").val(), e = $("#save_search_modal .email_frequency option:selected").text(); if (u === "") { $("#save_search_modal .validation").html( "Please enter a name for your search." ); return; } if (u.match(/[\&\=\;\']/g)) { $("#save_search_modal .validation").html( "Please enter a name for your search that doesn't include any of these characters: & = ; '" ); return; } r.Country.Title = u; t.save_property_search(r) .done(function (n) { var i = n.SavedSearchID; e.toLowerCase() !== "inactive" && t.save_email_frequency(f, n.SavedSearchID); $("#save_search_modal").foundation("reveal", "close"); $("#save_search_modal .name_of_saved_search").val(""); t.display_saved_searches(); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } n.handle_backend_validation(t) || alert( "Sorry we are unable to save your search at this time. Please try again later." ); }); }); r.on("click", "#search_search_screen .edit_search", function (n) { n.preventDefault(); t.display_saved_search( $(this).attr("data-saved-search-id"), $(this).attr("data-email-alert-frequency-id"), $(this).attr("data-date-added") ); }); r.on("click", "#edit_search_modal .update_saved_search", function (i) { var r, u; (i.preventDefault(), n.check_locality_input($("#edit_search_modal"))) && ((r = t.get_search_request_data($("#edit_search_modal"))), (r.Country.SavedSearchId = $( "#edit_search_modal .saved_search_id" ).val()), (r.Country.Title = $("#edit_search_modal .search_title").val()), t .update_saved_search(r) .done(function () { t.display_saved_searches(); $("#edit_search_modal").foundation("reveal", "close"); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } n.handle_backend_validation(t) || alert( "Sorry, we are unable to update your search at this time. Please try again later" ); }), (u = $("#edit_search_modal") .find('select[name="email_frequency"]') .val()), t.save_email_frequency(u, r.Country.SavedSearchId), $(this).attr("data-email-alert-frequency-id", u)); }); r.on("click", "#search_search_screen .run_saved_search", function (n) { n.preventDefault(); t.load_and_execute_saved_search($(this).attr("data-saved-search-id")); }); r.on("click", ".search_filters path[data-country]", function (n) { n.preventDefault(); var r = $(this), i = $(this).closest(".search_filters"), u = r.attr("data-country"), f = r.attr("data-region-state"), e = t.get_region_or_state_id(u, f); t.populate_dropdown_filters(i, u, e); i.find(".no_region_selected").removeClass("active").hide(); i.find(".district_suburb_selections").show(); }); r.on("change", ".search_filters .select_region_or_district", function () { var i = $(this), u; i.closest(".search_filters") .find(".search_for_properties") .addClass("disabled"); u = i.closest(".search_filters").find("select.select_suburb").empty(); u.empty(); i.closest(".search_filters").find(".localities_container").empty(); var r = $("option:selected", this).attr("data-country-code"), f = $("option:selected", this).attr("data-top-location-level-id"), e = $("option:selected", this).attr("data-id"), o = r === "AU" ? f : "", s = r === "AU" ? e : f, h = r === "AU" ? "" : e; t.load_suburbs(r, o, s, h) .done(function (n) { for (var r = "", t = 0, f = n.length; t < f; t++) r += '"; u.html(r); i.closest(".search_filters") .find(".search_for_properties") .removeClass("disabled"); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } alert("Unable to download suburb list, please try again later"); }); }); r.on("click", ".search_filters .add_suburb", function (t) { var s, i, e, o; t.preventDefault(); var r = $(this).closest(".search_filters"), u = $(this) .closest(".district_suburb_selections") .find(".select_suburb option:selected"), y = u.text(), f = u.attr("data-id"), c = r.find(".selected_locality"), h = !1; if ( (f === "0" && r.find(".localities_container").empty(), c.each(function () { if ( ($(this).find("span").attr("data-id") === "0" && f !== "0" && $(this).remove(), $(this).find("span").attr("data-id") == f) ) { $(this) .fadeIn(80) .fadeOut(80) .fadeIn(80) .fadeOut(80) .fadeIn(80) .fadeOut(80) .fadeIn(80); h = !0; return; } }), !h) ) { s = r.find(".searching_country").attr("data-country-code"); i = { Country: s }; s === "AU" ? ((e = r.find(".select_region_or_district option:selected")), (i.StateId = e.data("top-location-level-id")), (i.RegionId = e.data("id")), (i.Region = e.val())) : ((o = r.find(".select_region_or_district option:selected")), (i.RegionId = o.data("top-location-level-id")), (i.DistrictId = o.data("id")), (i.District = o.val())); var l = { SuburbId: u.data("id"), Suburb: u.val() }, a = n.suburb_tag_label(i, l), v = '' + a + 'delete'; r.find(".localities_container").append(v); } }); r.on("change", ".search_filters .strategy_select", function () { var t = $(this).closest(".search_filters"), i = $(".searching_country", t).attr("data-country-code"); n.display_strategy_keywords( t.closest(".area_content"), n.key_values[i].StrategiesCollection.StrategiesAndKeywords, $(this).val() ); $(".more_strategy_options", t).is(":visible") || ($(".more_strategy_options", t).slideToggle(), $(".show_more_strategy .linktext", t).toggle()); }); r.on( "click", ".search_filters .strategy_keywords .select_all", function () { var n = $(this).is(":checked"), t = $(this).closest("div"); t.find("input").prop("checked", n); } ); r.on( "click", ".search_filters .strategy_keywords input:not(.select_all)", function () { var n = $(this).closest("div"); n.find(".select_all").prop("checked", !1); } ); r.on("click", ".search_filters .show_more_strategy", function (n) { n.preventDefault(); var t = $(this).closest("section"); t.find(".more_strategy_options").slideToggle(); $(this).find(".linktext").toggle(); }); r.on("click", ".search_filters .show_more_location", function (n) { n.preventDefault(); var t = $(this).closest("section"); t.find(".more_location_options").slideToggle(); $(this).toggleClass("more").find(".linktext").toggle(); }); r.on( "change", ".search_filters select.advanced_location_search", function () { var i = $(this).val(), t = $(this).closest(".more_location_options"); n.reset_advanced_location_options(t, !0); t.find(".advanced_location_option").hide(); t.find(".advanced_location_option_" + i).show(); } ); r.on("change_complete", ".search_filters .suburb_limit", function () { $(this).val() === "" && $(this).removeData("chosen_suburb"); }); r.on("click", ".search_filters .show_more_property_specific", function (n) { n.preventDefault(); var t = $(this).closest("section").parent(); t.find(".more_property_specific").slideToggle(); $(this).find(".linktext").toggle(); }); r.on("change", ".search_filters .dwelling_type_select", function (n) { n.preventDefault(); var t = $(this).closest("section").find(".include_land_check"); $("option:selected", this).text().toLowerCase() === "all" ? t.closest(".include_land_control_container").show() : t .prop("checked", !1) .closest(".include_land_control_container") .hide(); }); r.on("click", ".search_filters .show_more_suburb_options", function (n) { n.preventDefault(); var t = $(this).closest("section").parent(); t.find(".more_suburb_options").slideToggle(); $(this).find(".linktext").toggle(); }); r.on("click", ".reset_filters", function (t) { t.preventDefault(); $search_form = $(this).closest(".area_content").find(".search_filters"); var i = $(".searching_country", $search_form).attr("data-country-code"); n.set_form_country($search_form, i); $(".additional_keywords", $search_form).val(""); $(".exclude_keywords", $search_form).val(""); $(".include_land_check", $search_form).prop("checked", !1); $(".include_duplicates", $search_form).prop("checked", !1); }); $(".search_filters .area_input").autocomplete({ source: function (t, i) { var u = this.element[0], r = $(this.element[0]) .closest(".search_filters") .find(".searching_country") .attr("data-country-code"); $.ajax({ url: api_url( r + "/KeyValues/AutoSuggest?countryCode=" + r + "&prefix=" + t.term, "ParameterService" ), type: "GET", contentType: "application/json; charset=utf-8", headers: { APIUserName: n.api_username, APIPassword: n.api_password, UserToken: n.get_auth_token(), }, dataType: "json", timeout: 1e4, success: function (n) { $(u).data("latest_matches", n); i( $.map(n.AutoSuburbs, function (n) { return { label: n.Label, value: n.Label, suburb_record: n }; }) ); }, }); }, select: function (n, t) { $(this).data("chosen_suburb", t.item.suburb_record); }, minLength: 2, }); $( "#main_search .autocomplete_search_input, #edit_search_modal .autocomplete_search_input, #refine_search .autocomplete_search_input" ).autocomplete({ source: function (n, t) { var i = this.element[0], r = n.term, u = $(i) .closest(".search_filters") .find(".searching_country") .attr("data-country-code"); $.ajax({ url: "https://sec.realestateinvestar.com/v1_0/address/suburbautocomplete.svc/API/Address/" + u + "/" + r, type: "get", success: function (n) { $(i).data("latest_matches", n); t( $.map(n, function (n) { return { label: n.LocalityLabel }; }) ); }, }); }, minLength: 2, }); r.on("change", ".search_filters .autocomplete_search_input", function () { if (this.value === "") { var n = $(this).closest(".search_filters"); $(".locality_input_warning", n).hide(); $(".autocomplete_search_input", n).removeData("latest_matches"); } }); r.on( "autocompleteselect", ".search_filters .autocomplete_search_input", function (t, i) { t.preventDefault(); n.add_selected_locality( i.item.value, $(this).closest(".search_filters") ); $(this).val(""); $(this).removeData("latest_matches"); } ); r.on("click", ".selected_locality", function () { $(this).fadeOut("fast", function () { $(this).remove(); }); }); r.on("click", "#search_search_screen .search_for_properties", function (n) { if ((n.preventDefault(), !$(this).hasClass("disabled"))) if ($("#main_search .localities_container").children().length > 0) t.perform_main_property_search(); else { var i = $("#main_search .no_region_selected.active").length > 0; i ? t.perform_main_property_search() : ($("#main_search .add_suburb").trigger("click"), t.perform_main_property_search()); } }); }; this.open = function () { set_area_display_status_v2( "#search_search_screen .main_display", "loading" ); this.display_saved_searches(); this.display_watchlist(); n.populate_filters(n.get_user_country_code()); this.populate_email_alerts(); n.reset_advanced_location_options($("#main_search .more_location_options")); set_area_display_status_v2("#search_search_screen .main_display", "", !0); }; this.perform_main_property_search = function () { if (n.check_locality_input($("#main_search"))) { var i = t.get_search_request_data($("#main_search")); set_area_display_status_v2( "#search_search_screen .main_display", "searching" ); t.property_search(i) .done(function (t) { var r = new Date(); n.display_timing_readouts && console.log( "Main search data loaded after: ", (r - property_search_start) / 1e3 ); n.current_search = i; n.search_results = t; n.show_search_screen("results", !0); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } (set_area_display_status_v2( "#search_search_screen .main_display", "", !0 ), n.handle_backend_validation(t)) || (set_area_display_status_v2( "#search_search_screen .main_display", "search_failure", !0 ), console.log( "search failed while running search - jqXHR, textStatus, errorThrown:", t, i, r )); }); } }; this.perform_asl_search = function (i) { set_area_display_status_v2( "#search_search_screen .main_display", "searching" ); t.asl_property_search(i) .done(function (t) { n.search_results = t; $("#search_results_screen").data("asl_search", !0); $("#search_results_screen .asl_search_message .property_type").text( i.Category ); $("#search_results_screen .asl_search_message .suburb").text(i.Suburb); t.RowsCount > 0 ? ((n.current_search = n.default_search), (n.current_search.Country.CountryCode = t.CountryCode), (n.current_search.Country.LocationBasics[0].Country = t.Country), $("#search_results_screen").data("results_found", !0)) : ($("#search_results_screen").data("results_found", !1), $( "#search_results_screen .asl_search_message .results_found" ).hide(), $( "#search_results_screen .asl_search_message .no_results_found" ).show()); n.show_search_screen("results"); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } (set_area_display_status_v2( "#search_search_screen .main_display", "", !0 ), n.handle_backend_validation(t)) || set_area_display_status_v2( "#search_search_screen .main_display", "search_failure", !0 ); }); }; this.perform_htu_search = function (i) { set_area_display_status_v2( "#search_search_screen .main_display", "searching" ); t.htu_property_search(i) .done(function (t) { n.search_results = t; $("#search_results_screen").data("htu_search", !0); $("#search_results_screen .htu_search_message .property_type").text( i.Category ); $("#search_results_screen .htu_search_message .price_range").text( i.ValueTo === "" ? i.ValueFrom === "" ? "of any price" : "in the price range " + dollar_value(i.ValueFrom) + " and above" : "in the price range " + dollar_value(i.ValueFrom) + " to " + dollar_value(i.ValueTo) ); $("#search_results_screen .htu_search_message .suburb").text(i.Suburb); t.RowsCount > 0 ? ((n.current_search = n.default_search), (n.current_search.Country.CountryCode = t.CountryCode), (n.current_search.Country.LocationBasics[0].Country = t.Country), $("#search_results_screen").data("results_found", !0)) : ($("#search_results_screen").data("results_found", !1), $( "#search_results_screen .htu_search_message .results_found" ).hide(), $( "#search_results_screen .htu_search_message .no_results_found" ).show()); n.show_search_screen("results"); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } (set_area_display_status_v2( "#search_search_screen .main_display", "", !0 ), n.handle_backend_validation(t)) || set_area_display_status_v2( "#search_search_screen .main_display", "search_failure", !0 ); }); }; this.load_and_execute_saved_search = function (i) { t.load_saved_search(i) .done(function (i) { for ( var r = i, u = 0, f = r.Country.StrategyTypeKeywords.length; u < f; u++ ) r.Country.StrategyTypeKeywords[u].keyword === "Please Select..." && r.Country.StrategyTypeKeywords.splice(u, 1); set_area_display_status_v2( "#search_search_screen .main_display", "searching" ); t.property_search(r) .done(function (t) { n.current_search = r; n.search_results = t; n.show_search_screen("results", !0); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } set_area_display_status_v2( "#search_search_screen .main_display", "search_failure", !0 ); console.log( "search failed while running saved search - jqXHR, textStatus, errorThrown:", t, i, r ); }); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } set_area_display_status_v2( "#search_search_screen .main_display", "search_failure", !0 ); console.log( "search failed while preparing to run saved search - jqXHR, textStatus, errorThrown:", t, i, r ); }); }; this.display_saved_searches = function () { this.load_saved_searches() .done(function (n) { var i, t, r; if ( typeof n.SavedSearch == "undefined" || n.SavedSearch === null || n.SavedSearch.length === 0 ) { $( "#search_search_screen .saved_investor_searches .some_saved_searches" ).hide(); $( "#search_search_screen .saved_investor_searches .no_saved_searches" ).show(); return; } for ( i = n.SavedSearch, $( "#search_search_screen .saved_investor_searches .some_saved_searches tbody" ).empty(), $( "#search_search_screen .saved_investor_searches .no_saved_searches" ).hide(), $( "#search_search_screen .saved_investor_searches .some_saved_searches" ).show(), t = 0; t < i.length; t++ ) (r = $("")), r.append( $('').append( $('') .attr("class", "run_saved_search") .attr("data-saved-search-id", i[t].Id) .text(i[t].Title) ) ), r.append($('').text(i[t].WhenAdded)), ($edit_link = $("") .attr("class", "edit_search") .attr("data-saved-search-id", i[t].Id) .attr("data-email-alert-frequency-id", i[t].SavedSearchAlertFK) .attr("data-date-added", i[t].WhenAdded) .attr("data-reveal-id", "edit_search_modal") .attr("data-reveal", "") .text("Edit")), r.append($('').append($edit_link)), r.append( '' ), r.appendTo( "#search_search_screen .saved_investor_searches .some_saved_searches tbody" ), (r = $('')), r.append($("").text(i[t].Title)), r.append( '
Confirm
delete?
YesNo
' ), r.appendTo( "#search_search_screen .saved_investor_searches .some_saved_searches tbody" ); }) .fail(function (t, i, r) { if (n.check_session_expiry(t, i, r)) { n.handle_session_expiry(t); return; } alert("Sorry we are unable to load saved searches at this time."); }); }; this.display_saved_search = function (t, i, r) { set_area_display_status("#edit_search_modal", "loading"); this.load_saved_search(t) .done(function (t) { var u = t, o = $('#edit_search_modal select[name="email_frequency"]'), e, f, s; if (!$.trim(o.html())) for (e = n.email_alerts, f = 0, s = e.length; f < s; f++) $(""; $("#save_search_modal .email_frequency").html(i); }; this.populate_dropdown_filters = function (t, i, r) { var l = i === "AU" ? "FilterStateID" : "FilterRegionID", a = i === "AU" ? "State" : "Regions", s = i === "AU" ? "Regions" : "Districts", v = i === "AU" ? "FilterRegionID" : "FilterDistrictID", f, e, o, u, h, c; for ( t.find(".searching_country").attr("data-country-code", i), t.find(".sub_level_location_name").text(s.slice(0, -1).toLowerCase()), e = n.key_values[i]["LocationBasic" + i + "Collection"][a], u = 0; u < e.length; u++ ) if (e[u][l] === parseInt(r)) { f = e[u][s]; break; } for ( o = $("select.select_region_or_district", t).empty(), u = 0, h = f.length; u < h; u++ ) (c = $("