﻿// AjaxLink OnSuccess handler to update the DOM after loading ajax content
function updateDom() {
    // restyle buttons
    $(".navigation > a, input:submit").button();
    $(".navigation-area > a, input:submit").button();
}

// reload list in specified tab
function reloadCmsList(elementID, action, controller, area, params) {
    var requestUrl = virtualDirectory + area + '/' + controller + '/' + action;
    if (params != null) {
        requestUrl = requestUrl + params;
    }

    $(elementID).load(requestUrl, function (response, status, xhr) {
        if (status == "error") {
            var msg = "Ein Fehler ist aufgetreten: ";
            $("#errorMessage").html(msg + xhr.status + " " + xhr.statusText);
        } else {
            updateDom();
        }
    });
}

// register list select item count functionality: registerList("#tabGallery", "GalleryList", "Gallery", "Modules");
function registerCmsList(elementID, action, controller, area, parameters) {
    $('#select-items-' + action).live('change', function () {
        var params = '?items=' + $(this).val();
        if (parameters != null)
            params = params + '&' + parameters;

        reloadCmsList(elementID, action, controller, area, params);
    });
}

// open an info frame dialog 
function openInfoFrameDialog(elementID, pageUri, title, closeButtonTitle) {
    
    $(elementID).click(function () {
        // use global variable from Site.cshtml here
        var aUrl = virtualDirectory + pageUri;

        if (closeButtonTitle == undefined) closeButtonTitle = 'Schließen';

        var $dialog = jQuery.FrameDialog.create({
            url: aUrl,
            title: title,
            width: 740,
            height: 600,
            buttons: [{
                id: "cancel",
                text: closeButtonTitle,
                click: function () { $(this).dialog("close") }
            }],
            closeOnEscape: true,
            modal: false,
            autoOpen: false
        });

        $dialog.dialog('open');
        return false;
    });
}


