﻿var Sawbuck=window.Sawbuck||{};Sawbuck.Page = function() {
    var fadeOutSecs = 5000; var _emailRegEx = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/; function displayFormError(form, error) { var errorField = $j(form).children(".error_warning")[0]; $j(errorField).text(error); $j(errorField).show(); }
    function saveSearch(name) { $j.ajax({ type: "POST", url: "/service/WebService.asmx/PromoteSearch", data: Sawbuck.Utilities.toJson({ SearchID: id, SearchName: name }), contentType: "application/json; charset=utf-8", dataType: "json", processData: false, success: function(response) { window.location.reload(); }, error: function() { } }); }
    function deleteSearch(id, type) { $j.ajax({ type: "POST", url: "/service/WebService.asmx/DeleteSearch", data: Sawbuck.Utilities.toJson({ SavedSearchID: id, SearchTypeID: type }), contentType: "application/json; charset=utf-8", dataType: "json", processData: false, success: function(response) { switch (type) { case 1: $j("#recentSearch_" + id).remove(); break; case 2: $j("#savedSearch_" + id).remove(); } }, error: function() { } }); }
    function promoteSearch(id, formID) {
        var form = document.getElementById(formID); var name = form["searchName"].value; if (!name || name.trim() == "") { displayFormError(form, "You must enter a name for this search."); return false; }
        name = name.trim(); $j.ajax({ type: "POST", url: "/service/WebService.asmx/PromoteSearch", data: Sawbuck.Utilities.toJson({ SavedSearchID: id, SearchName: name }), contentType: "application/json; charset=utf-8", dataType: "json", processData: false, success: function(response) { $j(".dialogBox").dialog('close'); Sawbuck.Reporting.trackEvent("Save Search", "Promoted search from My Sawbuck page"); window.location.reload(); }, error: function() { } });
    }
    function toggleEmailAlertsDisplay(on, frequency) {
        if (on) { $j(".alertsOff").hide(); $j("input[name=frequency]").val(["frequency_" + frequency]); $j(".alertsOn").show(); }
        else { $j(".alertsOn").hide(); $j(".alertsOff").show(); } 
    }
    function toggleEmailAlerts(on, frequency) { $j.ajax({ type: "POST", url: "/service/WebService.asmx/ChangeSendEmailAlertsProperty", data: Sawbuck.Utilities.toJson({ SendEmailAlerts: on, Alerts: frequency }), contentType: "application/json; charset=utf-8", dataType: "json", processData: false, success: function(response) { toggleEmailAlertsDisplay(on, frequency); }, error: function() { } }); }
    return { saveSearch: function(name) { saveSearch(name); }, promoteSearch: function(id, form) { promoteSearch(id, form); }, deleteSavedSearch: function(id) {
        if (confirm("Are you sure you want to delete this search?"))
            deleteSearch(id, 2);
    }, deleteRecentSearch: function(id) {
        if (confirm("Are you sure you want to delete this search?"))
            deleteSearch(id, 1);
    }, enableEmailAlerts: function(frequency) {
        frequency = frequency || 2; if (Sawbuck.UserManager.isLoggedIn()) { toggleEmailAlerts(true, frequency); Sawbuck.Reporting.trackEvent("Email Alerts", "Enabled"); }
        else { Sawbuck.UserManager.modo('registrationWindow'); Sawbuck.UserManager.addListener("onLogin", function() { toggleEmailAlerts(true, frequency); }); Sawbuck.UserManager.addListener("onRegister", function() { toggleEmailAlerts(true, frequency); }); } 
    }, saveNotes: function(id, notes) { $j.ajax({ type: "POST", url: "/service/WebService.asmx/SaveListingNotes", data: Sawbuck.Utilities.toJson({ Notes: notes, ListingID: id }), contentType: "application/json; charset=utf-8", dataType: "json", processData: false, success: function(response) { $j('#listingNotesForm .saving').hide(); $j('#listingNotesForm').dialog('close'); }, error: function() { } }); }, getListingNotes: function(listingID) { $j.ajax({ type: "POST", url: "/service/WebService.asmx/GetNotes", data: Sawbuck.Utilities.toJson({ ListingID: listingID }), contentType: "application/json; charset=utf-8", dataType: "json", processData: false, success: function(listings) { var notes = listings.d; $j("#listingNotesForm .listingID").text(listingID); $j("#listingNotesForm textarea").val(notes); $j('#listingNotesForm').dialog('open'); }, error: function(e, t) { } }); }, disableEmailAlerts: function() { toggleEmailAlerts(false, 2); Sawbuck.Reporting.trackEvent("Email Alerts", "Disabled"); } }
    } ();