﻿/// JAVASCRIPT CODE USED IN /UserControls/SiteNavigationTabs.ascx ///

// My Subscription vars
var objTimeoutID = null;
var objShowMenuTimeoutID = null;
var bOverMySubscriptionsDiv = false;
var bOverMySubscriptionsLink = false;

// My Briefcase vars
var objMyBriefcaseTimeoutID = null;
var objShowMyBriefcaseMenuTimeoutID = null;
var bOverMyBriefcaseDiv = false;
var bOverMyBriefcaseLink = false;

// My Briefcase > Admin Menu vars
var objMyBriefcaseAdminMenuTimeoutID = null;
var objShowMyBriefcaseAdminMenuMenuTimeoutID = null;
var bOverMyBriefcaseAdminMenuDiv = false;
var bOverMyBriefcaseAdminMenuLink = false;

// My Account vars
var objMyAccountTimeoutID = null;
var objShowMyAccountMenuTimeoutID = null;
var bOverMyAccountDiv = false;
var bOverMyAccountLink = false;


// MY SUBSCRIPTIONS DIV METHODS
function showMySubscriptions ()
{
	// Create a 250ms delay before showing the My Subscriptions blowout menu
	if (bOverMySubscriptionsLink == false)
	{
		bOverMySubscriptionsLink = true;
		objShowMenuTimeoutID = self.setTimeout("showMySubscriptions()", 250);
		return;
	}

	var divMySubs = document.getElementById("divMySubscriptions");

    //R.B.
	//var iTopOfMySubsDiv = document.getElementById("divPageTitle").offsetTop - 1;
	var iBottomOfMySubsDiv = document.getElementById("divNavigationTabs").offsetTop + document.getElementById("divNavigationTabs").offsetHeight;
	divMySubs.style.top = iBottomOfMySubsDiv + "px";

	
	self.clearTimeout(objTimeoutID);

	if (divMySubs != null && divMySubs.style.visibility == "hidden") {
		setMySubscriptionsDivHeight();

		ChangeSelectBoxVisibility("hidden");
		SetDivOpacity("divMySubscriptions", 0);
		divMySubs.style.visibility = "visible";
		FadeMenu("divMySubscriptions", true);
		//R.B. need to fix padding
		paddingFix4Element("divMySubscriptions");
    
    }



        //R.B. try to add round headers, footers
        try {
            var divRndHdr = document.getElementById("divMySubRoundHeader");
            var divRndFtr = document.getElementById("divMySubRoundFooter");
            var hdnSelectedTab = document.getElementById("hdnSelectedTab");


            document.getElementById("tabSUBSCRIPTIONS").style.backgroundColor = "F8E9B8";
            var strHoverURL = $('#tabSUBSCRIPTIONS').css("background-image");
            $('#tabSUBSCRIPTIONS').css("background-image", strHoverURL.replace("_OFF", "_ON"));


            if (divRndHdr != null && divRndFtr != null && divMySubs != null && hdnSelectedTab != null) {

                var sCurrURL = window.location.pathname;

                /*
                if (hdnSelectedTab.value == 1 || sCurrURL.indexOf('course') != -1) {
                    
                    document.getElementById("divMySubRoundHeader").style.backgroundImage = "url('/Images/Subscription_LightYellowTop.gif')";
                    document.getElementById("divMySubRoundFooter").style.backgroundImage = "url('/Images/Subscription_LightYellowBottom.gif')";
                    document.getElementById("divMySubscriptions").style.backgroundColor = "FCFCEA";

                    document.getElementById("divMySubscriptions").style.borderColor = "FCFCEA";
                                        
                    document.getElementById("tabSUBSCRIPTIONS").style.backgroundColor = "FCFCEA";
                }
                else {
                    
                    document.getElementById("divMySubRoundHeader").style.backgroundImage = "url('/Images/Subscription_LightGrayTop.gif')";
                    document.getElementById("divMySubRoundFooter").style.backgroundImage = "url('/Images/Subscription_LightGrayBottom.gif')";
                    document.getElementById("divMySubscriptions").style.backgroundColor = "F5F5F5";

                    document.getElementById("divMySubscriptions").style.borderColor = "F5F5F5";
                    
                    document.getElementById("tabSUBSCRIPTIONS").style.backgroundColor = "FFFFFF";
                }
                */
                
                divRndHdr.style.visibility = "visible";
                divRndHdr.style.top = iBottomOfMySubsDiv + "px";

                //move the div subscription by a little bit
                //var iNewHeight = iBottomOfMySubsDiv + divRndHdr.offsetHeight;
                var iNewHeight = divRndHdr.offsetTop + 10;
                divMySubs.style.top = iNewHeight + "px";


                divRndFtr.style.visibility = "visible";
                //var iFtrTop = divRndHdr.offsetTop + divRndHdr.offsetHeight + document.getElementById("divMySubscriptions").offsetHeight;
                var iFtrTop = divRndHdr.offsetTop + 10 + document.getElementById("divMySubscriptions").offsetHeight;
                divRndFtr.style.top = iFtrTop + "px";
            }
        }
        catch (Error) {
            // do nothing
        }


}

function setMySubscriptionsDivHeight() {
	var divMySubs = document.getElementById("divMySubscriptions");
	var iDivHeight = divMySubs.offsetHeight;
	var iDivScrollHeight = divMySubs.scrollHeight + 2; // Add 5 so vertical scrollbar doesn't show up

	// Don't allow max height to go below 150 pixels high
	var iMaxHeightAllowed = Math.max(document.body.clientHeight - 120, 150);

	if (iDivHeight > iMaxHeightAllowed || iDivScrollHeight > iMaxHeightAllowed) {
		divMySubs.style.height = iMaxHeightAllowed.toString() + "px";
	}
	
	else if (iDivScrollHeight < iMaxHeightAllowed) {
		divMySubs.style.height = iDivScrollHeight.toString() + "px";
	}
}

function hideMySubscriptions ()
{
	self.clearTimeout(objShowMenuTimeoutID);
	bOverMySubscriptionsLink = false;

	objTimeoutID = self.setTimeout("hideMySubscriptions_Delayed()", 500);
}

function hideMySubscriptions_Delayed ()
{
	var divMySubs = document.getElementById("divMySubscriptions");

	if (!bOverMySubscriptionsDiv)
	{
		if (divMySubs != null)
		{
			ChangeSelectBoxVisibility("visible");
			divMySubs.style.visibility = "hidden";
			divMySubs.style.top = "-1500px";


			//R.B. try to hide round headers, footers
			try {
			    var divRndHdr = document.getElementById("divMySubRoundHeader");
			    var divRndFtr = document.getElementById("divMySubRoundFooter");
			    var hdnSelectedTab = document.getElementById("hdnSelectedTab");

			    if (hdnSelectedTab.value != 1) {
			        var strHoverURL = $('#tabSUBSCRIPTIONS').css("background-image");
			        $('#tabSUBSCRIPTIONS').css("background-image", strHoverURL.replace("_ON", "_OFF"));
                }
			    
			    if (divRndHdr != null && divRndFtr != null) {

			        document.getElementById("tabSUBSCRIPTIONS").style.backgroundColor = "FFFFFF";

			        divRndHdr.style.visibility = "hidden";
			        divRndHdr.style.top = "-1500px";

			        divRndFtr.style.visibility = "hidden";
			        divRndFtr.style.top = "-1500px";

			    }
			}
			catch (Error) {
			    // do nothing
			}
		}
	}
}

function MySubscriptionsDiv_onMouseOver ()
{
	bOverMySubscriptionsDiv = true;
	self.clearTimeout(objTimeoutID);
}

function MySubscriptionsDiv_onMouseOut ()
{
	bOverMySubscriptionsDiv=false;
	hideMySubscriptions();
}

// MY BRIEFCASE DIV METHODS
function showMyBriefcase ()
{
	// Create a 250ms delay before showing the My Briefcase blowout menu
	if (bOverMyBriefcaseLink == false) {
		bOverMyBriefcaseLink = true;
		objShowMyBriefcaseMenuTimeoutID = self.setTimeout("showMyBriefcase()", 250);        
		return;
	}

	var divMyBriefcase = document.getElementById("divMyBriefcase");

    //R.B. added
	var iBottomOfMyBriefcaseDiv = document.getElementById("divNavigationTabs").offsetTop + document.getElementById("divNavigationTabs").offsetHeight;
	divMyBriefcase.style.top = iBottomOfMyBriefcaseDiv + "px";

	self.clearTimeout(objMyBriefcaseTimeoutID);

	if (divMyBriefcase != null && divMyBriefcase.style.visibility == "hidden") {
		var iDivHeight = divMyBriefcase.offsetHeight;

		var iMaxHeightAllowed = document.body.clientHeight - 80;

		if (iDivHeight > iMaxHeightAllowed)
		{
			divMyBriefcase.style.height = iMaxHeightAllowed.toString() + "px";
		}

		ChangeSelectBoxVisibility("hidden");

		SetDivOpacity("divMyBriefcase", 0);
		divMyBriefcase.style.visibility = "visible";
		FadeMenu("divMyBriefcase", true);
        //R.B. need to fix padding 
		paddingFix4Element("divMyBriefcase");

		
    }



        //R.B. try to add round headers, footers
        try {
            var divRndHdr = document.getElementById("divMyBriefcaseRoundHeader");
            var divRndFtr = document.getElementById("divMyBriefcaseRoundFooter");
            var hdnSelectedTab = document.getElementById("hdnSelectedTab");

            document.getElementById("tabBRIEFCASE").style.backgroundColor = "F8E9B8";
            var strHoverURL = $('#tabBRIEFCASE').css("background-image");
            $('#tabBRIEFCASE').css("background-image", strHoverURL.replace("_OFF", "_ON"));

            if (divRndHdr != null && divRndFtr != null && divMyBriefcase != null && hdnSelectedTab != null) {

                /*    
                if (hdnSelectedTab.value == 2) {
                    document.getElementById("divMyBriefcaseRoundHeader").style.backgroundImage = "url('/Images/BC_LightYellowTop.gif')";
                    document.getElementById("divMyBriefcaseRoundFooter").style.backgroundImage = "url('/Images/BC_LightYellowBottom.gif')";
                    document.getElementById("divMyBriefcase").style.backgroundColor = "FCFCEA";

                    document.getElementById("divMyBriefcase").style.borderColor = "FCFCEA";
                    
                    document.getElementById("tabBRIEFCASE").style.backgroundColor = "FCFCEA";

                }
                else {
                    
                    document.getElementById("divMyBriefcaseRoundHeader").style.backgroundImage = "url('/Images/BC_LightGrayTop.gif')";
                    document.getElementById("divMyBriefcaseRoundFooter").style.backgroundImage = "url('/Images/BC_LightGrayBottom.gif')";
                    document.getElementById("divMyBriefcase").style.backgroundColor = "F5F5F5";
                    
                    document.getElementById("divMyBriefcase").style.borderColor = "F5F5F5";
                    
                    document.getElementById("tabBRIEFCASE").style.backgroundColor = "F5F5F5";
                }
                */

                divRndHdr.style.visibility = "visible";
                divRndHdr.style.top = iBottomOfMyBriefcaseDiv + "px";

                //move the div briefcase by a little bit
                //var iNewHeight = iBottomOfMyBriefcaseDiv + divRndHdr.offsetHeight;
                var iNewHeight = iBottomOfMyBriefcaseDiv + 10;
                divMyBriefcase.style.top = iNewHeight + "px";

                divRndFtr.style.visibility = "visible";
                //var iFtrTop = divRndHdr.offsetTop + divRndHdr.offsetHeight + document.getElementById("divMyBriefcase").offsetHeight;
                var iFtrTop = divRndHdr.offsetTop + 10 + document.getElementById("divMyBriefcase").offsetHeight;
                divRndFtr.style.top = iFtrTop + "px";

            }
        }
        catch (Error) {
            // do nothing
        }
}

function hideMyBriefcase ()
{
	self.clearTimeout(objShowMyBriefcaseMenuTimeoutID);
	bOverMyBriefcaseLink = false;

	objMyBriefcaseTimeoutID = self.setTimeout("hideMyBriefcase_Delayed()", 500);
}

function hideMyBriefcase_Delayed ()
	{
	var divMyBriefcase = document.getElementById("divMyBriefcase");

	if (!bOverMyBriefcaseDiv)
	{
		if (divMyBriefcase != null)
		{
			ChangeSelectBoxVisibility("visible");
			divMyBriefcase.style.visibility = "hidden";

			//R.B. try to hide round headers, footers
			try {
			    var divRndHdr = document.getElementById("divMyBriefcaseRoundHeader");
			    var divRndFtr = document.getElementById("divMyBriefcaseRoundFooter");
			    var hdnSelectedTab = document.getElementById("hdnSelectedTab");

			    if (hdnSelectedTab.value != 2) {
			        var strHoverURL = $('#tabBRIEFCASE').css("background-image");
			        $('#tabBRIEFCASE').css("background-image", strHoverURL.replace("_ON", "_OFF"));
			    }

			    if (divRndHdr != null && divRndFtr != null) {

			        document.getElementById("tabBRIEFCASE").style.backgroundColor = "FFFFFF";

			        divRndHdr.style.visibility = "hidden";
			        divRndHdr.style.top = "-1500px";

			        divRndFtr.style.visibility = "hidden";
			        divRndFtr.style.top = "-1500px";

			    }
			}
			catch (Error) {
			    // do nothing
			}
		}
	}
}

function MyBriefcaseDiv_onMouseOver ()
{
	bOverMyBriefcaseDiv = true;
	self.clearTimeout(objMyBriefcaseTimeoutID);
}

function MyBriefcaseDiv_onMouseOut ()
{
	bOverMyBriefcaseDiv = false;
	hideMyBriefcase();
	bOverMyBriefcaseAdminMenuDiv = false;
	hideMyBriefcaseAdminMenu();
}

var glb_iStrangeDelayForAdminMenu = 5000;
function hideMyBriefcaseAdminMenu ()
{
	self.clearTimeout(objShowMyBriefcaseAdminMenuMenuTimeoutID);
	bOverMyBriefcaseAdminMenuLink = false;

	objMyBriefcaseAdminMenuTimeoutID = self.setTimeout("hideMyBriefcaseAdminMenu_Delayed()", glb_iStrangeDelayForAdminMenu);
}

function hideMyBriefcaseAdminMenu_Delayed ()
	{
	var divMyBriefcaseAdminMenu = document.getElementById("divMyBriefcaseAdminMenu");

	if (!bOverMyBriefcaseAdminMenuDiv)
	{
		if (divMyBriefcaseAdminMenu != null)
		{
			divMyBriefcaseAdminMenu.style.visibility = "hidden";
		}
	}
}

function MyBriefcaseAdminMenuDiv_onMouseOver ()
{
	bOverMyBriefcaseDiv = true;
	self.clearTimeout(objMyBriefcaseTimeoutID);
	bOverMyBriefcaseAdminMenuDiv = true;
	self.clearTimeout(objMyBriefcaseAdminMenuTimeoutID);
}

function MyBriefcaseAdminMenuDiv_onMouseOut ()
{
	bOverMyBriefcaseDiv = false;
	hideMyBriefcase();
	bOverMyBriefcaseAdminMenuDiv = false;
	hideMyBriefcaseAdminMenu();
}

var glb_iLeft = 0, glb_iTop = 0;
var glb_AdminMenuText = "";
function ajaxLoadAdminMenu(iUserID)
{
	glb_iLeft = event.clientX - 32;
	glb_iTop = event.clientY - 16;
	if (glb_AdminMenuText == "")
	{
		var obj = new ajax.ContentLoader("/Profile/AdministrationMenuAJAX.cfm?npc=1&ncu=" + iUserID, afterLookup_ajaxLoadAdminMenu, handleError_ajaxLoadAdminMenu, "GET");
	}
	else
	{
		// doesn't seem to like timeout -- the mouse is over the link, which confuses it into thinking it's blurred
		afterLookup_ajaxLoadAdminMenu()
	}
}

function afterLookup_ajaxLoadAdminMenu()
{
	if (glb_AdminMenuText == "")
	{
		glb_AdminMenuText = this.req.responseText;
	}
	
	var bCreate = false;
	var objX = document.getElementById("divMyBriefcaseAdminMenu");
	if (objX == null)
	{
		objX = document.createElement("DIV");
		objX.id = "divMyBriefcaseAdminMenu";
		document.body.appendChild(objX);
		bCreate = true;
	}
	objX.style.left = glb_iLeft.toString() + "px";
	objX.style.top = glb_iTop.toString() + "px";
	if (bCreate)
	{
		objX.innerHTML = glb_AdminMenuText;
		objX.style.backgroundColor = "#eeeeee";
		objX.style.position = "absolute";
		objX.style.padding = "16px";
		objX.style.height = document.body.clientHeight - glb_iTop - 40;
		objX.style.overflowY = "auto";
		objX.style.zIndex = 1000;
		objX.style.border = "solid 3px #9d9d9d";
		objX.onmouseover = MyBriefcaseAdminMenuDiv_onMouseOver;
		objX.focus();
		objX.onmouseout = MyBriefcaseAdminMenuDiv_onMouseOut;
		glb_iStrangeDelayForAdminMenu = 500;
	}
	else
	{
		SetDivOpacity("divMyBriefcaseAdminMenu", 0);
		objX.style.visibility = "visible";
		FadeMenu("divMyBriefcaseAdminMenu", true);
	}
}

function handleError_ajaxLoadAdminMenu()
{
}

/* My Account DIV functions */
function MyAccountDiv_onMouseOver() {
    bOverMyAccountDiv = true;
    self.clearTimeout(objMyAccountTimeoutID);
}

function MyAccountDiv_onMouseOut() {
    bOverMyAccountDiv = false;
    hideMyAccount();
}


function hideMyAccount() {
    self.clearTimeout(objShowMyAccountMenuTimeoutID);
    bOverMyAccountLink = false;

    objMyAccountTimeoutID = self.setTimeout("hideMyAccount_Delayed()", 500);
}

function hideMyAccount_Delayed() {
    var divMyAccount = document.getElementById("divMyAccount");

    if (!bOverMyAccountDiv) {
        if (divMyAccount != null) {
            ChangeSelectBoxVisibility("visible");
            divMyAccount.style.visibility = "hidden";

            //R.B. try to hide round headers, footers
            try {
                var divRndHdr = document.getElementById("divMyAccountRoundHeader");
                var divRndFtr = document.getElementById("divMyAccountRoundFooter");
                var hdnSelectedTab = document.getElementById("hdnSelectedTab");

                if (hdnSelectedTab.value != 3) {
                    var strHoverURL = $('#tabACCOUNT').css("background-image");
                    $('#tabACCOUNT').css("background-image", strHoverURL.replace("_ON", "_OFF"));
                }

                if (divRndHdr != null && divRndFtr != null) {

                    document.getElementById("tabACCOUNT").style.backgroundColor = "FFFFFF";

                    divRndHdr.style.visibility = "hidden";
                    divRndHdr.style.top = "-1500px";

                    divRndFtr.style.visibility = "hidden";
                    divRndFtr.style.top = "-1500px";

                }
            }
            catch (Error) {
                // do nothing
            }
        }
    }
}


function showMyAccount() {
    // Create a 250ms delay before showing the My account blowout menu
    if (bOverMyAccountLink == false) {
        bOverMyAccountLink = true;
        objShowMyAccountMenuTimeoutID = self.setTimeout("showMyAccount()", 250);
        return;
    }
    
    var divMyAccount = document.getElementById("divMyAccount");
    
    //R.B. addedA
    var iBottomOfMyAccountDiv = document.getElementById("divNavigationTabs").offsetTop + document.getElementById("divNavigationTabs").offsetHeight;


    self.clearTimeout(objMyAccountTimeoutID);

    if (divMyAccount != null && divMyAccount.style.visibility == "hidden") {
        var iDivHeight = divMyAccount.offsetHeight;

        var iMaxHeightAllowed = document.body.clientHeight - 80;

        if (iDivHeight > iMaxHeightAllowed) {
            divMyAccount.style.height = iMaxHeightAllowed.toString() + "px";
        }

        ChangeSelectBoxVisibility("hidden");

        SetDivOpacity("divMyAccount", 0);
        divMyAccount.style.visibility = "visible";
        FadeMenu("divMyAccount", true);
        //R.B. need to fix padding 
        paddingFix4Element("divMyAccount");


    }

    

    //R.B. try to add round headers, footers
    try {
        var divRndHdr = document.getElementById("divMyAccountRoundHeader");
        var divRndFtr = document.getElementById("divMyAccountRoundFooter");
        var hdnSelectedTab = document.getElementById("hdnSelectedTab");

        document.getElementById("tabACCOUNT").style.backgroundColor = "faf0d0";
        var strHoverURL = $('#tabACCOUNT').css("background-image");
        $('#tabACCOUNT').css("background-image", strHoverURL.replace("_OFF", "_ON"));
        
        if (divRndHdr != null && divRndFtr != null && divMyAccount != null && hdnSelectedTab != null) {
            
            /*if (hdnSelectedTab.value == 3) {
                
                document.getElementById("divMyAccountRoundHeader").style.backgroundImage = "url('/Images/BC_LightYellowTop.gif')";
                document.getElementById("divMyAccountRoundFooter").style.backgroundImage = "url('/Images/BC_LightYellowBottom.gif')";
                document.getElementById("divMyAccount").style.backgroundColor = "FCFCEA";

                document.getElementById("divMyAccount").style.borderColor = "FCFCEA";
                

                document.getElementById("tabACCOUNT").style.backgroundColor = "FCFCEA";
            }
            else {

                
                document.getElementById("divMyAccountRoundHeader").style.backgroundImage = "url('/Images/BC_LightGrayTop.gif')";
                document.getElementById("divMyAccountRoundFooter").style.backgroundImage = "url('/Images/BC_LightGrayBottom.gif')";
                document.getElementById("divMyAccount").style.backgroundColor = "F5F5F5";

                document.getElementById("divMyAccount").style.borderColor = "F5F5F5";
                
                document.getElementById("tabACCOUNT").style.backgroundColor = "F5F5F5";
            }
            */

            

            divRndHdr.style.visibility = "visible";
            divRndHdr.style.top = iBottomOfMyAccountDiv + "px";


            //move the div account by a little bit
            //var iNewHeight = iBottomOfMyAccountDiv + divRndHdr.offsetHeight;
            var iNewHeight = iBottomOfMyAccountDiv + 10;
            divMyAccount.style.top = iNewHeight + "px";

            divRndFtr.style.visibility = "visible";
            //var iFtrTop = divRndHdr.offsetTop + divRndHdr.offsetHeight + document.getElementById("divMyAccount").offsetHeight;
            var iFtrTop = divRndHdr.offsetTop + 10 + document.getElementById("divMyAccount").offsetHeight;
            divRndFtr.style.top = iFtrTop + "px";

        }
    }
    catch (Error) {
        // do nothing
    }
}
