$(document).ready(function() {
    var closeModal = function(hash) {
        var $modalWindow = $(hash.w); $modalWindow.fadeOut('2000', function() {
            hash.o.remove(); if (hash.refreshAfterClose == true)
            { window.location.href = document.location.href; } 
        });
    }; var openInFrame = function(hash) {
        var $trigger = $(hash.t); var $modalWindow = $(hash.w); var $modalContainer = $('iframe', $modalWindow); var myUrl = $trigger.attr('href'); var myTitle = $trigger.attr('title'); var newWidth = 0, newHeight = 0, newLeft = 0, newTop = 0; $modalContainer.html('').attr('src', myUrl); $('#jqmTitleText').text(myTitle); myUrl = (myUrl.lastIndexOf("#") > -1) ? myUrl.slice(0, myUrl.lastIndexOf("#")) : myUrl; var queryString = (myUrl.indexOf("?") > -1) ? myUrl.substr(myUrl.indexOf("?") + 1) : null; if (queryString != null && typeof queryString != 'undefined') {
            var queryVarsArray = queryString.split("&"); for (var i = 0; i < queryVarsArray.length; i++) {
                if (unescape(queryVarsArray[i].split("=")[0]) == 'width')
                { var newWidth = queryVarsArray[i].split("=")[1]; }
                if (escape(unescape(queryVarsArray[i].split("=")[0])) == 'height')
                { var newHeight = queryVarsArray[i].split("=")[1]; }
                if (escape(unescape(queryVarsArray[i].split("=")[0])) == 'jqmRefresh')
                { hash.refreshAfterClose = queryVarsArray[i].split("=")[1] } else
                { hash.refreshAfterClose = true; } 
            }
            if (newHeight != 0) {
                if (newHeight.indexOf('%') > -1)
                { newHeight = Math.floor(parseInt($(window).height()) * (parseInt(newHeight) / 100)); }
                var newTop = Math.floor(parseInt($(window).height() - newHeight) / 2);
            }
            else
            { newHeight = $modalWindow.height(); }
            if (newWidth != 0) {
                if (newWidth.indexOf('%') > -1)
                { newWidth = Math.floor(parseInt($(window).width() / 100) * parseInt(newWidth)); }
                var newLeft = Math.floor(parseInt($(window).width() / 2) - parseInt(newWidth) / 2);
            }
            else
            { newWidth = $modalWindow.width(); }
            $modalWindow.css({ width: newWidth, height: newHeight, opacity: 0 }).jqmShow().animate({ width: newWidth, height: newHeight, top: newTop, left: newLeft, marginLeft: 0, opacity: 1 }, 'slow');
        }
        else
        { $modalWindow.jqmShow(); } 
    }
    $('#modalWindow').jqm({ overlay: 70, modal: true, trigger: 'a.thickbox', target: '#jqmContent', onHide: closeModal, onShow: openInFrame });});
