﻿/****************************************************************
Collapsable Menu with "Keep State".
Version- v1.1
Author-  Anoop Nair.
Company- MKCL.

# COPYRIGHT NOTICE
# Copyright (c) 2006-2007 MKCL, All rights reserved.
# This script may be used and modified free of charge for Non-profit purposes
# by anyone as long as this copyright notice and the comments above are kept 
# in their original form.
****************************************************************/

imageUp = new Image();
imageUpGlow = new Image();
imageDown = new Image();
imageDownGlow = new Image();
imageLeft= new Image();

/*Set Button Images*/
imageUp.src = "../Images/ExpanderMenu_up.gif";
imageUpGlow.src = "../Images/ExpanderMenu_upgw.gif";
imageDown.src = "../Images/ExpanderMenu_down.gif";
imageDownGlow.src = "../Images/ExpanderMenu_downgw.gif";
imageLeft.src = "../Images/ExpanderMenu_Arrow.gif";
try{document.execCommand("BackgroundImageCache", false, true);}
catch(err){}

var projName= "NETS2007";
var slideDelay = 5;
var moveSlidePix = 5;
var doFading = true;

/* DO NOT EDIT*/
var timerSlide = null;
var isLocked = null;
var numMenuItem = 0;

var menuData = new Array();
menuData[0] = new Array();
menuData[1] = new Array();
menuData[2] = new Array();
menuData[3] = new Array();
menuData[4] = new Array();
menuData[5] = new Array();
menuData[6] = new Array();
menuData[7] = new Array();
menuData[8] = new Array();
menuData[9] = new Array();
var menuState = new Array();

function ChangeStyle()
{
	var ImageButton = this.getElementsByTagName('img').item(0);
	if(ImageButton.src.substring(ImageButton.src.length-6,ImageButton.src.length-4)=="up")
		ImageButton.src = imageUpGlow.src;
	else if(ImageButton.src.substring(ImageButton.src.length-6,ImageButton.src.length-4)=="wn")
		ImageButton.src = imageDownGlow.src;
	else if(ImageButton.src.substring(ImageButton.src.length-8,ImageButton.src.length-6)=="up")
		ImageButton.src = imageUp.src;
	else if(ImageButton.src.substring(ImageButton.src.length-8,ImageButton.src.length-6)=="wn")
		ImageButton.src = imageDown.src;
	if(document.body.style.cursor== 'pointer')
		document.body.style.cursor= 'default';
	else
		document.body.style.cursor= 'pointer';
}

function InitAll()
{
	var divs = document.getElementsByTagName("DIV");
	menuState = GetBEdCookie(projName+ "MenuStatus").split(",");

	for(dn=0; dn < divs.length;dn++)
	{
		if(String(divs.item(dn).className).substring(0,8) == "MenuHead")
		{	
			mainMenuDiv = divs.item(dn).parentNode;
			menuContainerDiv= mainMenuDiv.getElementsByTagName("DIV").item(1);
			itemContainerDiv= menuContainerDiv.getElementsByTagName("DIV").item(0);

			if(!doFading)
			{
				if (menuContainerDiv.filters)
					menuContainerDiv.filters.alpha.opacity = 100;
				else
					menuContainerDiv.opacity = 1;
			}
			Init(divs.item(dn));
		}
	}
}
function Init(objDiv)
{
	if (isLocked)
		return;

	var mainMenuDiv, MenuHeadDiv, LinkCntrDiv, LinkBoxDiv, styleRules;

	for(r=0;r < document.styleSheets.length; r++)
	{	
		if( -1 != String(document.styleSheets[r].href).indexOf("MenuStyle.css") )	
			break;
	}
	if(!document.styleSheets[r].rules)
		styleRules = document.styleSheets[r].cssRules;
	else
		styleRules = document.styleSheets[r].rules;

	numMenuItem = 0;
	mainMenuDiv = objDiv.parentNode;
	MenuHeadDiv =  mainMenuDiv.getElementsByTagName("DIV").item(0);
	LinkCntrDiv = mainMenuDiv.getElementsByTagName("DIV").item(1);
	LinkBoxDiv = LinkCntrDiv.getElementsByTagName("DIV").item(0);
	
	/*-- new code --*/
	var Links = LinkBoxDiv.getElementsByTagName("DIV");
	for(i=0; i< Links.length; i++)
	{
		Links[i].childNodes[0].innerHTML= '<img src="../Images/e02.gif" /> &nbsp;' + Links[i].childNodes[0].innerHTML;
	}
	/*-- new code --*/

	aLen= menuData[0].length;
	for (i=0 ;i < aLen ; i++)
	{
		if (menuData[0][i] == LinkCntrDiv)
			break;
	}

	if(i == aLen)
	{
		menuData[0][i] = LinkCntrDiv;
		menuData[1][i] = LinkBoxDiv;
		menuData[7][i] = MenuHeadDiv;
		menuData[9][i] = mainMenuDiv.id.substring(10);
		menuData[7][i].onmouseover = ChangeStyle;
		menuData[7][i].onmouseout = ChangeStyle;
		MenuHeadDiv.onclick = SetSlide;

		lastmenuNum = -1;
		for (b=0;b<LinkBoxDiv.childNodes.length;b++)
		{
			if (LinkBoxDiv.childNodes.item(b).tagName == "DIV")
			{ 
				numMenuItem ++;
				lastmenuNum = b;
			}
		}  

		menuData[2][i] = numMenuItem;
		menuData[3][i] = mainMenuDiv;

		menuData[4][i] = menuData[1][i].parentNode.offsetHeight;
		menuData[0][i].style.height = menuData[1][i].parentNode.offsetHeight+"px";
		menuData[6][i] = true;
		menuData[8][i] = menuData[1][i].parentNode.offsetHeight;

		if(doFading)
		{
			if (menuData[0][i].filters)
				menuData[0][i].filters.alpha.opacity = 100;
			else
				menuData[0][i].style.opacity = 1;
		}

		if(menuState[parseInt(menuData[9][i])] == 1)
		{
			menuData[7][i].getElementsByTagName('img').item(0).src = imageDown.src;
			menuData[4][i] = 0;
			menuData[0][i].style.height = 0 + "px";
			menuData[1][i].style.display = 'none';
			menuData[6][i] = false;
			if(doFading)
			{
				if (menuData[0][i].filters)
					menuData[0][i].filters.alpha.opacity = 0;
				else
					menuData[0][i].style.opacity = .0;
			}
		}
	}//end if

	mainMenuDiv = null;
	MenuHeadDiv =  null;
	LinkCntrDiv= null;
	LinkBoxDiv= null;
}
function SetSlide()
{
	if (isLocked)
		return;
	else
		isLocked = this.parentNode;          
	for (i=0 ;i<menuData[0].length; i++)
	{
		if (menuData[3][i] == this.parentNode)
		{
			if (menuData[5][i] == null)
				menuData[5][i] = setInterval("RunSlide(" + i + ")", slideDelay);
			break;
		}
	}
}
function RunSlide(menuIndex)  
{
	if (menuData[6][menuIndex])
	{
		if(doFading)
		{
			if(menuData[0][menuIndex].filters)
				menuData[0][menuIndex].filters.alpha.opacity -= 100/((menuData[8][menuIndex] / moveSlidePix)+1);
			else
				menuData[0][menuIndex].style.opacity -= .9/((menuData[8][menuIndex] / moveSlidePix)+1);
		}
		menuData[1][menuIndex].style.display = 'none';
		menuData[4][menuIndex] -=  moveSlidePix;
		if (menuData[4][menuIndex] > 0)
		{
			menuData[0][menuIndex].style.height = menuData[4][menuIndex] + "px";
		}
		else
		{
			if(doFading)
			{
				if(menuData[0][menuIndex].filters)
					menuData[0][menuIndex].filters.alpha.opacity = 0;
				else
					menuData[0][menuIndex].style.opacity = 0;
			}

			menuData[4][menuIndex] = 0;
			menuData[0][menuIndex].style.height = 0 + "px";
			clearInterval(menuData[5][menuIndex]);
			menuData[5][menuIndex] = null;
			menuData[6][menuIndex] = false;
			menuState[parseInt(menuData[9][i])] = 1;
			isLocked = null;
			UpdateBEdCookie();
			var ImageButton = menuData[7][i].getElementsByTagName('img').item(0);
			if(ImageButton.src.substring(ImageButton.src.length-6,ImageButton.src.length-4)=="up")
				ImageButton.src = imageDown.src;
			else
				ImageButton.src = imageDownGlow.src;
			return 0;
		}
		return 0;
	}

	if (!menuData[6][menuIndex])
	{
		if(doFading)
		{
			if(menuData[0][menuIndex].filters)
			{
				menuData[0][menuIndex].filters.alpha.opacity += 100/((menuData[8][menuIndex] / moveSlidePix)+1);
			}
			else
			{
				opcVal = parseFloat(menuData[0][menuIndex].style.opacity);
				opcVal += .9/(menuData[8][menuIndex] / moveSlidePix);
				menuData[0][menuIndex].style.opacity = opcVal;
			}
		}
		menuData[4][menuIndex] +=  moveSlidePix;
		if (menuData[4][menuIndex] < menuData[8][menuIndex] )
		{
			menuData[0][menuIndex].style.height = menuData[4][menuIndex] + "px";
		}
		else
		{
			if(doFading)
			{
				if(menuData[0][menuIndex].filters)
					menuData[0][menuIndex].filters.alpha.opacity = 100;
				else
					menuData[0][menuIndex].style.opacity = 1;
			}
			menuData[4][menuIndex] = menuData[8][menuIndex];
			menuData[0][menuIndex].style.height = menuData[8][menuIndex]+"px";
			menuData[1][menuIndex].style.display = 'inline';
			clearInterval(menuData[5][menuIndex]);
			menuData[5][menuIndex] = null;
			menuData[6][menuIndex] = true;
			menuState[parseInt(menuData[9][i])] = 0;

			isLocked = null;
			UpdateBEdCookie();
			var ImageButton = menuData[7][i].getElementsByTagName('img').item(0);
			if(ImageButton.src.substring(ImageButton.src.length-6,ImageButton.src.length-4)=="wn")
				ImageButton.src = imageUp.src;
			else
				ImageButton.src = imageUpGlow.src;
			return 0;
		}
		return 0;
	}
}
function UpdateBEdCookie()
{
	date = new Date();
	date.setTime(date.getTime() + (1000 * 60 * 60 * 24 * 30));
	document.cookie = projName+ "MenuStatus" + "=" + escape(menuState.toString()) + "; expires=" + date.toGMTString() + "; path=/";  
}
function GetBEdCookie(strName)
{
	cookieList = document.cookie.split("; ");

	for (i=0; i<cookieList.length; i++)
	{
		pair = cookieList[i].split("=");                    
		if(pair[0] == strName)
			return unescape(pair[1]);
	}
	return "";
}
InitAll();
/*DO NOT EDIT -end*/