﻿/// <reference path="../Plugins/jquery-1.3.2-vsdoc.js" />
Type.registerNamespace("Controls");


/// <summary>
/// V1.0 Shows a confirm dialog for an element
/// Depends:
/// jquery-1.4.js
///                       ui.core.js
/// ExtendJquery.js
/// MicrosoftAjax.js
/// </summary>
Controls.ConfirmDialog = function() {
}
Controls.ConfirmDialog.prototype =
{
    _init: function() {
        var dialog_buttons = {};
        var controlElement = $(this.options.confirmElement);
        controlElement.click(function() { return false; });
        var dialogDiv = $(this.element);
        var confirmFunc = this.Confirm;
        dialog_buttons[this.options.noText] = function() { $(this).dialog('close'); }
        dialog_buttons[this.options.yesText] = function() { $(this).dialog('close'); confirmFunc($(this).data('sender')); }
        dialogDiv.hide();
        controlElement.click(function() {
            dialogDiv.dialog({
                modal: true,
                buttons: dialog_buttons
            });
            dialogDiv.dialog('open');
            dialogDiv.data('sender', $(this));
        });
    },
    Confirm: function confirm(sender) {
        if (sender.is('a')) {
            $.gotoUrl(sender.attr('href'));
        }
        else if (sender.is('input'))
            sender.closest('form').submit();
        else alert('Unknown element type: ' + sender.attr('name'));
    },
    defaults: {
        confirmElement: "#confirmElement",
        dialog: "#confirmDialog",
        yesText: "Yes", // TODO - Språkberoende på knappar
        noText: "No" 
    }
}

Controls.ConfirmDialog.registerClass('Controls.ConfirmDialog', null, Sys.IDisposable);
$.registerAsWidget(Controls.ConfirmDialog);



