﻿function resizeAndCenter(contentW, contentH) {
    var blnWO = window.opener;
    var curURL = document.location.href;
    var blnOverride = (curURL.toLowerCase().indexOf('noadjust=1') !== -1) ? true : false;

    if (contentW.toString().indexOf('%') > -1 && contentH.toString().indexOf('%') > -1) {
        var arrSize = Sizes.Window();
        contentW = arrSize[0];
        contentH = arrSize[1];
    }else {
        var regex = new RegExp('[^\\d]', 'gi');
        contentW = parseInt(contentW.toString().replace(regex, ''));
        contentH = parseInt(contentH.toString().replace(regex, ''));
    }

    if (typeof contentW !== 'undefined' && typeof contentH !== 'undefined' && blnWO !== null && !blnOverride) {
        var oBody = document.getElementsByTagName("body")[0];
        oBody.style.overflow = 'hidden';
        var oHTML = document.getElementsByTagName("html")[0];
        oHTML.style.overflow = 'hidden';

        // Check sizes and resize window accordingly.
        var arrWinSizes = Sizes.Window();
        var iDiffWidth = (contentW - arrWinSizes[0]) + 2;
        var iDiffHeight = (contentH - arrWinSizes[1]) + 2;
        try {
            window.resizeBy(iDiffWidth, iDiffHeight);
        } catch (err) {
            var winErr = err;
            oBody.style.overflow = '';
            oHTML.style.overflow = '';
        }
    }

    if (blnWO !== null && !blnOverride) {
        // Check window size and center on screen.
        var scrWidth = self.screen.width;
        var scrHeight = self.screen.height;
        var arrWinSizes = Sizes.Window();
        var newX = Math.round((scrWidth - arrWinSizes[0] - 10) / 2);
        var newY = Math.round((scrHeight - arrWinSizes[1] - 50) / 2);
        try {
            window.moveTo(newX, newY);
        } catch (err) {
            var winErr = err;
        }
    }
}

var Sizes = {
    Window: function () {
        var x, y;
        var ieBody = (document.compatMode && document.compatMode !== "BackCompat") ? document.documentElement : document.body;
        var x = (typeof window.innerWidth !== 'undefined') ? window.innerWidth : ieBody.clientWidth;
        var y = (typeof window.innerHeight !== 'undefined') ? window.innerHeight : ieBody.clientHeight;

        return [x, y];
    }
}
