﻿var CSModalPopUpTopNav;
var CSModalPopUpTopNavOrgZIndex;

function loadDimmer()
{
    var popUpBG = document.createElement("div");
    popUpBG.className = "ModalPopUpDimmer";
    
    var formDiv = $("#contentContainer");
    
    if (formDiv.length > 0)
        formDiv[0].appendChild(popUpBG);
        
    if ($("#topnav").length > 0)
    {
        // get the top nav for IE7 Fix
        CSModalPopUpTopNav = $("#topnav")[0];
        CSModalPopUpTopNavOrgZIndex = CSModalPopUpTopNav.style.zIndex;
    }
}


function bindClicks()
{
    $(".onClickPopUp a").click(clickHandler);
    $(".ModalPopUp .close").click(hideElements);
}
function hideElements(event)
{   
    if (event == undefined)
    {
        $(".ModalPopUp").hide();
        $(".ModalPopUpDimmer").hide();
    }
    else
    {
        $(".ModalPopUp").fadeOut(300);
        $(".ModalPopUpDimmer").delay(500).slideUp(500);
    }
    setTimeout('CSModalPopUpTopNav.style.zIndex = '+CSModalPopUpTopNavOrgZIndex+';', 800); //IE7 fix for nav
}
function getModalPopUp(currentElement)
{
    // traversing up to containing cell
    // TODO: get rid of references to t21Cell class
    while(currentElement.parentNode != null)
    {
        if ($(currentElement).hasClass("onClickPopUp"))
        {
            currentElement = currentElement.parentNode;
            break;
        }
        currentElement = currentElement.parentNode;
    }
    
    var popUpLookup = $("div.ModalPopUp", currentElement);
    if (popUpLookup.length < 1) return null;
    
    return popUpLookup[0];
}

function clickHandler(event)
{
    var popUpElement = getModalPopUp(event.currentTarget);
    
    if (popUpElement == null) return false;
   
    $(".ModalPopUpDimmer").slideDown(500);
    $(popUpElement).show();
    var width = (document.body.clientWidth - popUpElement.clientWidth) / 2;
    popUpElement.style.left = width + "px";
    
    var windowH = $(window).height();
    
    var newTop = windowH/2 - $(popUpElement).innerHeight()/2;
    if (newTop < 0)
        popUpElement.style.top = "0px";
    else
    {   
        popUpElement.style.top = windowH/2 - $(popUpElement).innerHeight()/2;
    }
    $(popUpElement).hide();
    $(popUpElement).delay(500).fadeIn(300);
    
    if(CSModalPopUpTopNav != null)
    {
        CSModalPopUpTopNav.style.zIndex = "0"; //IE7 fix for nav
    }
    
    return false;
}

function CSModalPopUp_Page_Load()
{
    bindClicks();
    loadDimmer();
    hideElements();
}

$(document).ready(CSModalPopUp_Page_Load);
