﻿function toggle(div_id, message) {
    var el = document.getElementById(div_id);
    if (el.style.display == 'none') {
        el.style.display = 'block';
        if (message) {
            el.innerHTML = '<a href=# onclick=popup("popUpDiv","");>x close</a><div id=popUpInnerDiv>' + message + '</div>';
        }
    }
    else {
        el.style.display = 'none';
    }
}

function blanket_size(popUpDivVar, messageLength) {
    if (typeof window.innerWidth != 'undefined') {
        viewportheight = window.innerHeight;
    } else {
        viewportheight = document.documentElement.clientHeight;
    }
    if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
        blanket_height = viewportheight;
    } else {
        if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
            blanket_height = document.body.parentNode.clientHeight;
        } else {
            blanket_height = document.body.parentNode.scrollHeight;
        }
    }
    var blanket = document.getElementById('blanket');
    blanket.style.height = blanket_height + 'px';
    var popUpDiv = document.getElementById(popUpDivVar);
    var popUpHeight = (messageLength > 120) ? (blanket_height * 2 / 3) : 200;
    popUpDiv.style.height = popUpHeight + 'px';
    popUpDiv.style.top = (blanket_height / 2) - (popUpHeight / 2) + 'px';
}

function window_pos(popUpDivVar, messageLength) {
    if (typeof window.innerWidth != 'undefined') {
        viewportwidth = window.innerHeight;
    } else {
        viewportwidth = document.documentElement.clientHeight;
    }
    if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) {
        window_width = viewportwidth;
    } else {
        if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) {
            window_width = document.body.parentNode.clientWidth;
        } else {
            window_width = document.body.parentNode.scrollWidth;
        }
    }
    var popUpDiv = document.getElementById(popUpDivVar);
    var popUpWidth = 400, minWidth = 400, maxWidth = 900;
    if (messageLength > 120) {
        var thirdWidth = (window_width / 3);
        popUpWidth = minWidth > thirdWidth ? minWidth : thirdWidth;
        popUpWidth = maxWidth > thirdWidth ? thirdWidth : maxWidth;
    }
    popUpDiv.style.left = (window_width / 2) - (popUpWidth / 2) + 'px';
    popUpDiv.style.width = popUpWidth + 'px';
}

function popup(windowname, message) {
    blanket_size(windowname, message.length);
    window_pos(windowname, message.length);
    toggle('blanket');
    toggle(windowname, message);
}
