/*
 * jQuery UI Dialog Overload for Modal
 */
(function($) {
    var modaldialog = {};

    // Creates and shows the modal dialog
    function showDialog(msg, options) {
        // Make sure the dialog type is valid. If not assign the default one (the first)
        if (!$.inArray(options.type, modaldialog.DialogTypes)) {
            options.type = modaldialog.DialogTypes[0];
        };

        // Merge default title (per type), default settings, and user defined settings
        var settings = $.extend({ title: modaldialog.DialogTitles[options.type] }, modaldialog.defaults, options);

        // Check if the dialog elements exist and create them if not
        if (!document.getElementById('dialogModal')) {
            dialog = document.createElement('div');
            dialog.id = 'dialogModal';
            document.body.appendChild(dialog);
        }

        var dl = $('#dialogModal');
        dl.dialog({
            modal: true,
            autoOpen: false
        });
        
		if ($.browser.msie && parseFloat($.browser.version) <= 6) {
			dl.dialog('option', 'bgiframe', true);
		}
        dl.dialog('option', 'width', settings.width);
        dl.dialog('option', 'height', settings.maxHeight);
        dl.dialog('option', 'title', settings.title);
        dl.dialog('option', 'dialogClass', settings.type + '-dialog');
        dl.html(msg);
        
        //if (settings.showClose) {
        //    dl.dialog('option', 'buttons', {
        //       "Ok": function() {
        //            $(this).dialog("close");
        //        }
        //    });
        //}

        dl.dialog('open');

    };

    modaldialog.error = function $$modaldialog$error(msg, options) {
        if (typeof (options) == "undefined") {
            options = {};
        }
        options['type'] = "error";
        return (showDialog(msg, options));
    }
    modaldialog.warning = function $$modaldialog$error(msg, options) {
        if (typeof (options) == "undefined") {
            options = {};
        }
        options['type'] = "warning";
        return (showDialog(msg, options));
    }
    modaldialog.success = function $$modaldialog$error(msg, options) {
        if (typeof (options) == "undefined") {
            options = {};
        }
        options['type'] = "success";
        return (showDialog(msg, options));
    }
    modaldialog.prompt = function $$modaldialog$error(msg, options) {
        if (typeof (options) == "undefined") {
            options = {};
        }
        options['type'] = "prompt";
        return (showDialog(msg, options));
    }

    modaldialog.hide = function $$modaldialog$hide() {
        $('#dialogModal').dialog("close");
    };

    modaldialog.DialogTypes = new Array("error", "warning", "success", "prompt");
    modaldialog.DialogTitles = {
        "error": "!! Error !!"
		, "warning": "Warning!"
		, "success": "Success"
		, "prompt": "Please Choose"
    };

    modaldialog.defaults = {
        showClose: true
		, width: 525
		, maxHeight: 300
    };

    $.extend({ modaldialog: modaldialog });
})(jQuery);

