﻿/* Edit Listing Search related code */

function YukonoEditSearcherChanged() {
    var keyword = trim($("#edit-listing-searcher").val());
    
    if (keyword.length > 0) {
        SearchService.searchForListing(keyword, YukonoEditSearchShowResults);
    }
    else {
        YukonoEditSearchShowResultsClose();
    }
}

function YukonoEditSearchShowResults(results) {
    $("#edit-listing-searcher-results li").remove();
    
    for (result in results) {
        $("#edit-listing-searcher-close").before("<li>"+results[result]+"</li>");
    }
    
    $("#edit-listing-searcher-results li").each(function(e) {
        $(this).click(function() {
            YukonoEditSearchShowResultsSelect($(this).text());
        });
    }); 
    
    var resultsDiv = $("#edit-listing-searcher-results");
    var searchBox = $("#edit-listing-searcher");
    
    if (resultsDiv.is(":hidden")) {
        resultsDiv.css("width", "440px");
        resultsDiv.css("top", searchBox.offset().top + searchBox.outerHeight());
        resultsDiv.css("left", searchBox.offset().left); 
        
        resultsDiv.fadeIn();
    }
}

function YukonoEditSearchShowResultsSelect(name) {
    $("#edit-listing-searcher-results").fadeOut();
    
    SearchService.loadListing(name, YukonoLoadEditSearchForm);
}

function YukonoEditSearchShowResultsClose() {
    var resultsDiv = $("#edit-listing-searcher-results");
    resultsDiv.fadeOut();
}

function YukonoEditSearchShowResultsCreate() {
    $("#edit-listing-form input, #edit-listing-form textarea, #edit-listing-form hidden").each(function() {
        $(this).val("");
    });
    
    $("#edit-listing-form input:first").val(trim($("#edit-listing-searcher").val()));
    $("#edit-listing-form input:first").focus();
    
    $("#edit-listing-form #categoryActive li").remove();
    
    YukonoEditSearchShowResultsClose();
}

function YukonoLoadEditSearchForm(result) {
    var listing = eval("(" + result + ")");
    
    $("#edit-listing-form #idBox").val(listing.ID);
    $("#edit-listing-form #nameBox").val(listing.Name);
    $("#edit-listing-form #phoneBox").val(listing.Phone);
    $("#edit-listing-form #websiteBox").val(listing.Website);
    $("#edit-listing-form #addressBox").val(listing.Address);
    $("#edit-listing-form #cityBox").val(listing.City);
    $("#edit-listing-form #pcBox").val(listing.PostalCode);
    $("#edit-listing-form #overviewBox").val(listing.Description);
    $("#edit-listing-form #hoursBox").val(listing.Hours);
    $("#edit-listing-form #yukonoUrlBox").val(listing.YukonoUrl);
    $("#edit-listing-form #coordsBox").val(listing.Coords);
    $("#edit-listing-form #emailBox").val(listing.Email);

    if (listing.Owner)
        $("#edit-listing-form #ownerBox").val(listing.Owner.Email);
    else
        $("#edit-listing-form #ownerBox").val("");

    $("#edit-listing-form #activeBox").val(listing.Active);
    $("#edit-listing-form #keyBox").val(listing.Keywords);
    
    $("#edit-listing-form #categoryActive li").remove();
    
    for (category in listing.Categories) {
        YukonoEditCategoryChange(listing.Categories[category].Name);
    }
}

function YukonoEditListingNameChange() {
    var url = trim($("#edit-listing-form #yukonoUrlBox").val());
    
    if (url.length == 0) {
        $("#edit-listing-form #yukonoUrlBox").val($("#edit-listing-form #nameBox").val().toLowerCase().replace(" ", "").replace(".", "").replace("'",""));
    }
}

function YukonoEditCategoryChange(value) {    
    if (value ==  $("#edit-listing-form #categorySelect option:first").text()) {
        return;
    }

    $("#edit-listing-form #categoryActive").append("<li>"+value+"</li>");
    
    $("#edit-listing-form #categoryActive li").each(function(e) {
        $(this).dblclick(function() {
          $(this).remove();
        });
    });
    
    $("#edit-listing-form #categorySelect").val(0);
}

function YukonoEditListingSave() {
    var name = trim($("#edit-listing-form #nameBox").val());
    var url = trim($("#edit-listing-form #yukonoUrlBox").val());
    var wasError = false;
    if (name.length == 0) {
        $("#edit-listing-form #nameBox").parent().addClass("input-error");
        wasError = true;
    }
    else
        $("#edit-listing-form #nameBox").parent().removeClass("input-error");
    
    if (url.length == 0) {
        $("#edit-listing-form #yukonoUrlBox").parent().addClass("input-error");
        wasError = true;
    }
    else 
        $("#edit-listing-form #yukonoUrlBox").parent().removeClass("input-error");
        
    if (wasError) {
        return;
    }

    var jsonListing = "ID:\"" + $("#edit-listing-form #idBox").val() + "\",";
    jsonListing += "Name:\"" + trim($("#edit-listing-form #nameBox").val()) + "\",";
    jsonListing += "Phone:\"" + trim($("#edit-listing-form #phoneBox").val()) + "\",";
    jsonListing += "Website:\"" + trim($("#edit-listing-form #websiteBox").val()) + "\",";
    jsonListing += "Address:\"" + trim($("#edit-listing-form #addressBox").val()) + "\",";
    jsonListing += "City:\"" + trim($("#edit-listing-form #cityBox").val()) + "\",";
    jsonListing += "PostalCode:\"" + trim($("#edit-listing-form #pcBox").val()) + "\",";
    jsonListing += "Description:\"" + trim($("#edit-listing-form #overviewBox").val()) + "\",";
    jsonListing += "Hours:\"" + trim($("#edit-listing-form #hoursBox").val()) + "\",";
    jsonListing += "YukonoUrl:\"" + trim($("#edit-listing-form #yukonoUrlBox").val()) + "\",";
    jsonListing += "Coords:\"" + trim($("#edit-listing-form #coordsBox").val()) + "\",";
    jsonListing += "Email:\"" + trim($("#edit-listing-form #emailBox").val()) + "\",";
    jsonListing += "Owner:{Email:\"" + trim($("#edit-listing-form #ownerBox").val()) + "\"},";
    jsonListing += "Active:" + $("#edit-listing-form #activeBox").val() + ",";
    jsonListing += "Keywords:\"" + trim($("#edit-listing-form #keyBox").val()) + "\",";
   
    jsonListing += "Categories:[";
    
    var categoryCount = 0;
   
    $("#edit-listing-form #categoryActive li").each(function(e) {
        jsonListing += "{Name:\"" + $(this).text() + "\"},";
        categoryCount ++;
    });
    
    if (categoryCount > 0)
        jsonListing = jsonListing.substring(0, jsonListing.length - 1);
    
    jsonListing += "]";
    
    SearchService.saveListing("{" + jsonListing + "}", YukonoEditListingSaveComplete);
}

function YukonoEditListingSaveComplete(result) {
    var worked = true;
    var message = "Save Successful";
    
    for (var error in result) {
        message = result[error];
        worked = false;
    }

    if (! worked) {
        message = "Save Failed - " + message;
    }
    
    $("#edit-listing-form-save").after("<span id='save-notify-temp' style='display:none; color: red; margin-right: 30px;'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+message+"</span>");
    $("#save-notify-temp").fadeIn();
    
    window.setTimeout(function() {$("#save-notify-temp").fadeOut();}, 2000);
}










function YukonoEditUserSearcherChanged() {
    var keyword = trim($("#edit-user-searcher").val());
    
    if (keyword.length > 0) {
        SearchService.searchForUser(keyword, YukonoEditUserSearchShowResults);
    }
    else {
        YukonoEditSearchShowResultsClose();
    }
}

function YukonoEditUserSearchShowResults(result) {
    alert('none');
    
    $("#edit-user-searcher-results li").remove();
    
    for (result in results) {
        $("#edit-user-searcher-close").before("<li>"+results[result]+"</li>");
    }
    
    $("#edit-user-searcher-results li").each(function(e) {
        $(this).click(function() {
            YukonoEditUserSearchShowResultsSelect($(this).text());
        });
    }); 
    
    var resultsDiv = $("#edit-user-searcher-results");
    var searchBox = $("#edit-user-searcher");
    
    if (resultsDiv.is(":hidden")) {
        resultsDiv.css("width", "440px");
        resultsDiv.css("top", searchBox.offset().top + searchBox.outerHeight());
        resultsDiv.css("left", searchBox.offset().left); 
        
        resultsDiv.fadeIn();
    }
}

function YukonoEditUserSearchShowResultsClose() {
    alert('none');
}


