﻿// --------------------------------------------------------------------------------------------------------
//      Directory Display Functions
// --------------------------------------------------------------------------------------------------------

/// <reference path="../../scripts/jquery-1.3.2-vsdoc.js" />

function ShowAdvancedSearchForm(controller)
{
    LoadSearchForm(controller, 'SearchCriteria', '', 'searchContainer', SubmitSearchForm);
}

function SubmitSearchForm(controller) {
    var form = $("#searchForm");
    form.validate();
    if (form.valid())
    {
        ClearMessage();
        ShowSpinner();
        var params = $("#searchForm").serialize();
        CallActionWithParams(controller, 'Search', params);
    }
}

function RefreshDirectory(controller) {
    DoAjaxPost(controller, 'GetDirectoryItems', null, "directoryContainer");
}


function Sort(controller, orderBy) {
    DoAjaxPost(controller, "Sort", "order=" + orderBy, "directoryContainer");
}

function GotoPage(controller, page) {
    DoAjaxPost(controller, "GotoPage", "page=" + page, "directoryContainer");
}

function PageChanged(controller, element) {	        
    GotoPage(controller, $(element).fieldValue());
}

function CallQuickSearch(controller) {
    DoAjaxPost(controller, "QuickSearch", "quickSearchValue=" + $("#QuickSearchValue").val(), "directoryContainer");
}

function CallPresetSearch(controller, action) {
    DoAjaxPost(controller, action, null, "directoryContainer");
}

function SwapDirectoryItems(controller, id, parentID, delta) {
    ClearMessage();
    var params = $.param({ "id": id, "parentID": parentID, "delta": delta });

    CallActionWithParams(controller, "Swap", params);
}


// --------------------------------------------------------------------------------------------------------
//      Directory Dialog View Functions
// --------------------------------------------------------------------------------------------------------

// show dialog with sublist item
function EditDirectoryItem(controller, editOrCreate, params, itemType) {
    ClearMessage();
    var showAction = editOrCreate;
    var formContainer = itemType + "FormContainer";
    LoadInputForm(controller, showAction, params, formContainer, function() {
                                                SaveDirectoryItem(controller, itemType);
                                            });
}

// show readonly dialog with Directory item
function ViewDirectoryItem(controller, editOrCreate, params, itemType) 
{
    ClearMessage();
    var showAction = editOrCreate;
    var formContainer = itemType + "FormContainer";
    LoadInputForm(controller, showAction, params, formContainer, null);
}

// submit Directory item data for saving (provides javascript response)
function SaveDirectoryItem(controller, itemType) 
{
    var form = $("#" + itemType + "Form");
    form.validate();
    if (form.valid())
    {
        var params = form.serialize();
        CallActionWithParams(controller, "Save", params);
    }
}



