function getPageScroll() {
    var yScroll;
    if (self.pageYOffset) {
        yScroll = self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict 
        yScroll = document.documentElement.scrollTop;
    } else if (document.body) {// all other Explorers
        yScroll = document.body.scrollTop;
    }
    arrayPageScroll = new Array('', yScroll);
    return arrayPageScroll;
}

function getPageSize() {

    var xScroll, yScroll;

    if (window.innerHeight && window.scrollMaxY) {
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }

    var windowWidth, windowHeight;
    if (self.innerHeight) {	// all except Explorer
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }

    // for small pages with total height less then height of the viewport
    if (yScroll < windowHeight) {
        pageHeight = windowHeight;
    } else {
        pageHeight = yScroll;
    }

    // for small pages with total width less then width of the viewport
    if (xScroll < windowWidth) {
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }


    arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
    return arrayPageSize;
}
function Overlay(centerElement) {
    Overlay(centerElement, 'false');
}
function Overlay(centerElement, isFLowerPower) {
    // Initialisation puis appel à chaque resize de la fenêtre
    refreshOverlayAndPopup(centerElement);
    if (!isFLowerPower) {
        $(window).resize(function() {
            refreshOverlayAndPopup(centerElement);
        });
    }

}

function OverlayUp() {
    var arrayPageSize = getPageSize();
    var arrayPageScroll = getPageScroll();

    var objOverlay = document.getElementById('Loader');

    objOverlay.style.top = 0 + 'px';
    objOverlay.style.left = 0 + 'px';
    objOverlay.style.position = 'absolute';
    objOverlay.style.width = (arrayPageSize[2] + 'px');
    objOverlay.style.height = (arrayPageSize[3] + 'px');
    objOverlay.style.display = 'block';


    var objOverlayImg = document.getElementById('OverlayImg');
    objOverlayImg.onload = function() {
        objOverlayImg.style.position = 'absolute';
        objOverlayImg.style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - objOverlayImg.offsetHeight) / 2) + 'px');
        objOverlayImg.style.left = (((arrayPageSize[0] - 20 - objOverlayImg.offsetWidth) / 2) + 'px');
        objOverlayImg.style.display = 'block';
    }
}

function refreshOverlayAndPopup(centerElement) {
    var arrayPageSize = getPageSize();
    var arrayPageScroll = getPageScroll();

    $("#ctl00_UpdateProgress").css("display", "block");
    $("#OverlayImg").css("display", "none");

    var objOverlay = document.getElementById('Loader');
    objOverlay.style.width = arrayPageSize[0] + 'px';
    objOverlay.style.height = (arrayPageSize[3] + 30) + 'px';
    objOverlay.style.display = 'block';

    var objOverlayImg = document.getElementById(centerElement);
    objOverlayImg.style.position = 'absolute';

    objOverlayImg.style.top = -10000;
    objOverlayImg.style.left = -10000;
    objOverlayImg.style.display = 'block';
    objOverlay.appendChild(objOverlayImg);

    objOverlayImg.style.top = ((arrayPageSize[3] - objOverlayImg.offsetHeight) / 2) + 'px';
    objOverlayImg.style.left = (((arrayPageSize[2] - 20 - objOverlayImg.offsetWidth) / 2) + 'px');

}