(function($) {

    $.fn.popupwarning = function(options) {

        var defaults = {
            templateid: '#warning_temp',
            warningheader: null,
            warningmessage: null,
            showhyperlink: false,
            buttondisplaytext: 'OK',
            hyperlinkdisplaytext: 'Continue',
            onload: function() { },
            onbuttonclick: function() { },
            onhyperlinkclick: function() { },
            onclose: function() { }
        };

        var opts = $.extend(defaults, options);
        for (var i in opts) { $.popupwarning[i] = opts[i]; }

        $('#errorMD').remove();

        $('body').append($($.popupwarning.templateid).parsetemplate(
            {
                warningheader: $.popupwarning.warningheader,
                warningmessage: $.popupwarning.warningmessage,
                buttondisplaytext: $.popupwarning.buttondisplaytext,
                hyperlinkdisplaytext: $.popupwarning.hyperlinkdisplaytext
            }
        ));

        $('#errorMD').show();

        $.popupwarning.onload();

        // position the popup on the center of the page
        leftVal = $(window).width() / 2 - ($('#errorMD').width() / 2);
        topVal = $(window).height() / 2 - ($('#errorMD').height() / 2) + $(window).scrollTop();

        $('#errorMD').css({ left: leftVal, top: topVal });

        // hide hyperlink button
        if (!$.popupwarning.showhyperlink) $('#errorMD .continue a').hide();

        // "add room" button
        $('#errorMD .continue input').click(function() {
            $.popupwarning.onbuttonclick();
            $('#errorMD').remove();
        });

        // "continue" button
        $('#errorMD .continue a').click(function() {
            $.popupwarning.onhyperlinkclick();
            $('#errorMD').remove();
        });

        // "cancel" button
        $('#errorMD #cancel').click(function() {
            $.popupwarning.onclose();
            $('#errorMD').remove();
        });

    };

    $.extend({ popupwarning: {} });

})(jQuery);
