﻿// JScript File

var HeaderTimerID = 0;
var PanelName = "";
var tempElement = '';

function InitialiseHead(Panel)
{
    PanelName = Panel;
}

function Reset_HeaderTimer()
{
	if (HeaderTimerID != 0 ) {
		clearTimeout(HeaderTimerID);
		HeaderTimerID = 0; }
}

function Expand_Menu(element, submenuID)
{  
    var testObj = null;
    Reset_HeaderTimer();
    if (element.offsetParent != null)
    {
        if (element.offsetParent.offsetParent != null)
        {
            if (element.offsetParent.id == "MainHeaderDiv")
            {
                Collapse_ParentMenus();
                if (document.getElementById("HeadSubMenu"+submenuID) != null)
                {
                    var obj = null;
                    obj = document.getElementById("HeadSubMenu"+submenuID);
                    testObj = '1';
                    obj.style.display = "block";
	                obj.style.zIndex = 999;
	                obj.style.top = element.offsetParent.offsetTop + element.offsetParent.offsetHeight + "px";
	                obj.style.left = element.offsetLeft + element.offsetParent.offsetLeft - 1 + "px";
	            }
	        }
	        else
	        {
	            Collapse_SiblingMenus(element.offsetParent);
	            if (document.getElementById("HeadSubMenu"+submenuID) != null)
                {
                    var obj = null;
                    obj = document.getElementById("HeadSubMenu"+submenuID);
                    testObj = '1';
                    obj.style.display = "block";
	                obj.style.zIndex = 999;
	                obj.style.top = element.offsetParent.offsetTop + (element.offsetTop + 5)+ "px";
	                obj.style.left = element.offsetParent.offsetLeft + element.offsetParent.offsetParent.offsetLeft + (element.offsetWidth - 5) + "px";
	                //obj.style.top = element.offsetParent.offsetTop + element.offsetTop + element.offsetHeight + "px";
	                //obj.style.left = element.offsetLeft + element.offsetParent.offsetParent.offsetLeft + element.offsetWidth + "px";
	            }
	        }
	        if(testObj != null){
	            if (navigator.appName.indexOf("Microsoft")!=-1) {
	                if((parseInt(obj.style.left) + parseInt(obj.style.width) + 10) > document.body.offsetWidth){
	                    while((parseInt(obj.style.left) + parseInt(obj.style.width) + 10) > document.body.offsetWidth){
	                        obj.style.left = (parseInt(obj.style.left) - 10) + "px";
	                    };
	                };
	            } else {
	                if((parseInt(obj.style.left) + parseInt(obj.style.width)) > window.innerWidth){
	                    while((parseInt(obj.style.left) + parseInt(obj.style.width)) > window.innerWidth){
	                        obj.style.left = (parseInt(obj.style.left) - 10) + "px";
	                    };
	                };
	            };
	        };
	    }
	}
}

function Collapse_ParentMenus()
{   
    var obj = document.getElementById(PanelName);
    if (obj != null)
    {
        for (var i = 0; i < obj.childNodes.length; i++)
        {
            if (obj.childNodes[i].id != null)
            {
                if (obj.childNodes[i].id != "MainHeaderDiv")
                    obj.childNodes[i].style.display = "none";
            }
        }
    }   
}

function Collapse_SiblingMenus(e)
{
    if(e.innerHTML != undefined){
        var DivText = e.innerHTML;
        var Temp = new Array();
        Temp = DivText.split(';');
        if (Temp.length > 0)
        {
            for (var i=0; i < Temp.length; i++)
            {
                if (Temp[i].toString().indexOf('Expand_Menu') != -1)
                {
                    var Temp2 = new Array();
                    Temp2 = Temp[i].toString().split(',');
                    if (Temp2.length == 2)
                    {
                        var ElementName = "HeadSubMenu" + Temp2[1].toString().substr(1, Temp2[1].toString().length-2);
                        if (document.getElementById(ElementName) != null)
                        {
                            var obj = document.getElementById(ElementName);
                            obj.style.display = "none";
	                    }
                    }
                }
            }
        }
    };
}

function Menu_Leave(element)
{
    HeaderTimerID = setTimeout(Collapse_ParentMenus, 500);
        
    // resets the header graphic
    resetImage();
}

function Element_Selected(element)
{
    element.style.cursor='pointer';
    //element.className = GetDefaultClassName(element.className) + " TopNav_Selected";
    if (element.className.substring(0, 9) == 'TopSubNav')
        element.className = "TopSubNav_Item_Selected";
    else
        element.className = "TopNav_Item_Selected";        
}

function Element_Default(element)
{
    element.style.cursor='default';
    //element.className = GetDefaultClassName(element.className) + " TopNav_Default";
    if (element.getAttribute('isCurrent') != 'yes')
    {
        if (element.className.substring(0, 9) == 'TopSubNav')
            element.className = "TopSubNav_Item_Default"
        else
            element.className = "TopNav_Item_Default";
    }
}

function GetDefaultClassName(_ClassName)
{
    var DefaultClassName
    var temp = new Array();
    temp = _ClassName.split(' ');
    if (temp.length > 0)
        DefaultClassName = temp[0];
    else
        DefaultClassName = _ClassName;
    
    return DefaultClassName;    
}

function DoAsAnchorChild(oCurrent)
{
    for (var i = 0; i < oCurrent.childNodes.length; i++)
    {
        if (oCurrent.childNodes[i].tagName == 'A')
        {
            var sHref = oCurrent.childNodes[i].getAttribute('href');
            var sTarget = oCurrent.childNodes[i].getAttribute('target');
            
            if (sHref.toLowerCase().substring(0,11) == 'javascript:')
                setTimeout(sHref.substring(11), 1)
            else if (sTarget == null || sTarget == '' || sTarget == '_self')
                document.location.href = sHref;
            else
                window.open(sHref, '', '');
            break;
        }
    }
}

// code for changing the header graphic when a menu item is hovered over    
// pre-cache alternative images
var sDefaultImage = 'Homepage%20banner%20home.JPG';

var sCurrentImage = sDefaultImage;
var sNextImage = null;
var bRunningFade = false;
var pResetTimer = null;
var sHeaderGraphicId = 'ctl00_Header_TopNav_imgHeaderGraphic';
var sHeaderGraphicFaderId = 'ctl00_Header_TopNav_imgHeaderGraphicFader';
var sHeaderGraphicPathPrefix = '';
var iTimeTillReset = 0;

function setImage(fileName)
{
    if (fileName == null || fileName.length == 0)
        return
    else if (sHeaderGraphicId == null || sHeaderGraphicFaderId == null)
        return
    else if ((!(document.getElementById(sHeaderGraphicId))) || (!(document.getElementById(sHeaderGraphicFaderId))))
        return;

    if (pResetTimer != null)
    {
        clearTimeout(pResetTimer);
        pResetTimer = null;
        iTimeTillReset = 0;
    }
    
    if (bRunningFade)
    {
        sNextImage = fileName;
            
        return;
    }
    
    if (fileName != sCurrentImage)
    {
        sCurrentImage = fileName;
        bRunningFade = true;
        
        var oTopImage = document.getElementById(sHeaderGraphicId);
        var oTopImageFader = document.getElementById(sHeaderGraphicFaderId);
        
        if (oTopImage.parent)
        {
            oTopImage.parent.style.width = oTopImage.offsetWidth + 'px';
            oTopImage.parent.style.height = oTopImage.offsetHeight + 'px';
        }
        
        oTopImageFader.src = sHeaderGraphicPathPrefix + 'uploads/headergraphics/' + fileName;
        setOpacity(oTopImageFader, 1);
        oTopImageFader.style.display = 'block';
        setTimeout('doFade()', 25);
    }
}

function resetImage()
{
    iTimeTillReset = 10
    pResetTimer = setTimeout('resetCountdown()', 25);
    //document.getElementById('ctl00_PnlBodyContent').innerHTML = iTimeTillReset;
}

function resetCountdown()
{
//document.getElementById('ctl00_PnlBodyContent').innerHTML = iTimeTillReset;
    if (iTimeTillReset > 2)
    {
        iTimeTillReset--;
        pResetTimer = setTimeout('resetCountdown()', 25);
    }
    else if (iTimeTillReset == 2)
    {
        iTimeTillReset = 0;
        var oTopImage = document.getElementById(sHeaderGraphicId);
        if (bRunningFade || (oTopImage != null && oTopImage.src.indexOf(sHeaderGraphicPathPrefix + 'uploads/headergraphics/' + sDefaultImage) == -1))
            setImage(sDefaultImage)
    }
}

function doFade(fadeLevel)
{
    if (typeof(fadeLevel) == 'undefined')
        fadeLevel = 2;
        
    var oTopImage = document.getElementById(sHeaderGraphicId);
    var oTopImageFader = document.getElementById(sHeaderGraphicFaderId);
    
    if (fadeLevel == 20)
    {
        bRunningFade = false;
        
        oTopImage.src = oTopImageFader.src;
        oTopImageFader.style.display = 'none';
                    
        if (sNextImage != null && sNextImage != sCurrentImage)
        {
            setTimeout('setImage(\'' + sNextImage + '\')', 25);
        }
        sNextImage = null;
    }
    else
    {
        setOpacity(oTopImageFader, fadeLevel);
        setTimeout('doFade(' + (fadeLevel + 1) + ')', 25);
    }
}

// set opacity of an object
function setOpacity(setObject, value)
{
    if (navigator.appName == "Microsoft Internet Explorer")
	    setObject.style.filter = 'alpha(opacity=' + value*5 + ')'
	else
	    setObject.style.opacity = value/20;
}


