﻿/*
Pop Up Script
------------------
Site: Central Source
Author: Andrew Neale
*/

/*
VARIABLES
*/

var popUp_opacity;
var popUp_rootElement;
var popUp_titleElement;
var popUp_bodyElement;
var popUp_timeout = -1;

/*
FUNCTIONS
*/

function popUp_show(title, body, displayTime) {

    popUp_rootElement = document.getElementById("js_popUp");
    popUp_titleElement = document.getElementById("js_popUp_title");
    popUp_bodyElement = document.getElementById("js_popUp_content");

    popUp_rootElement.style.display = "block";

    popUp_titleElement.innerHTML = "<span class=\"button\"><a href=\"#\" onclick=\"return popUp_instaHide();\"><span class=\"remove\"></span></a></span>" + title;
    popUp_bodyElement.innerHTML = body;

    var scroll = popUp_getScrollXY();
    var IpopTop = ((document.body.offsetHeight - popUp_rootElement.offsetHeight) / 2) + scroll[1];
    if (isIE6()) {
        IpopTop = ((document.documentElement.clientHeight - popUp_rootElement.offsetHeight) / 2) + scroll[1];
    }
    var IpopLeft = ((document.body.offsetWidth - popUp_rootElement.offsetWidth) / 2) + scroll[0];

    popUp_rootElement.style.left = IpopLeft + "px";
    popUp_rootElement.style.top = IpopTop + "px";

    if (popUp_timeout > -1) {
        clearTimeout(popUp_timeout);
    }
    popUp_timeout = setTimeout("popUp_fadeOut()", displayTime);
    popUp_opacity = 100;
    popUp_setOpacity(popUp_rootElement, popUp_opacity);

}

function popUp_instaHide() {
    clearTimeout(popUp_timeout);
    popUp_opacity = 0;
    popUp_setOpacity(popUp_rootElement, 0);
    popUp_rootElement.style.display = "none";
    return false;
}

function popUp_fadeOut() {

    clearTimeout(popUp_timeout);

    popUp_opacity -= 7;

    if (popUp_opacity <= 0) {
        popUp_opacity = 0;
        popUp_rootElement.style.display = "none";
    }
    else {
        popUp_timeout = setTimeout("popUp_fadeOut()", 20);
    }

    popUp_setOpacity(popUp_rootElement, popUp_opacity);

}

function popUp_fadeIn() {

    clearTimeout(popUp_timeout);

    popUp_opacity += 7;

    if (popUp_opacity >= 100) {
        popUp_opacity = 100;
    }
    else {
        popUp_timeout = setTimeout("popUp_fadeIn()", 20);
    }

    popUp_setOpacity(popUp_rootElement, popUp_opacity);

}

function popUp_setOpacity(element, opacity) {

    var elementStyle = element.style;

    elementStyle.opacity = (opacity / 100);
    elementStyle.MozOpacity = (opacity / 100);
    elementStyle.KhtmlOpacity = (opacity / 100);
    elementStyle.filter = "alpha(opacity=" + opacity + ")";
}

function popUp_getScrollXY() {
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [scrOfX, scrOfY];
}

function isIE6() {
    return (typeof document.body.style.maxHeight == "undefined");
}
