﻿/* Menu reformatting + More menu creation */
/* noor sobhan, may 2008 */
var CalculatedWidth;
var LastColWidth;
var browser = navigator.appName;
var b_version = navigator.appVersion;

function resizeMenuItems(divId,level, maxMenuItems, level3Status){  	  

var TotalWidth = 976;  //set total allowed width of menu
var WidthType = "px";
var MaxColumns = maxMenuItems;
var MoreList;
var CurrentColumns = 1;
var ListElements = 1;
var LinkElements = 1;
var TotalColumns = 1;
var LastElement;
var NewHoverClass;
var isCasino = null;
 
// checks if menu exists, and gets the list items
if (document.getElementById(divId) != null){
	 ListElements = document.getElementById(divId).getElementsByTagName("li");
	 LinkElements = document.getElementById(divId).getElementsByTagName("a"); 	  
	 TotalColumns = ListElements.length;
}
else {	return; }


// determine number of columns present
if (TotalColumns <= MaxColumns){ 
	CurrentColumns = TotalColumns; 
	LastElement = CurrentColumns-1;
} 
else { 
	// more menu probably exists
	CurrentColumns = MaxColumns; 
	LastElement = CurrentColumns-1;
	CreateMoreMenu(LinkElements,ListElements,LastElement,divId);
}

// determine link hover classes
NewHoverClass = BackGroundImage(CurrentColumns);
// determine new width
CalcWidth(TotalWidth, CurrentColumns);

// change width of each li and a element
for (var x = 0; x < CurrentColumns; x++){
ListElements[x].style.width = CalculatedWidth + WidthType;
var ClassNames = ListElements[x].className;

/* check if casino, diff styling for 3 level system */
var isCasino = document.getElementById('menu-casino');
	if ((level == "1") && (level3Status == "0"))
	{ 
		ListElements[x].style.borderBottomWidth = "0px"; 
		ListElements[x].style.height = "37px";
	} 
	else if ((level3Status != "0") && (ClassNames.match("AspNet-Menu-Selected") != null) && (level == "1") && (isCasino))
	{
		if (ListElements[x-1])
		{
		var PrevListLink = ListElements[x-1].getElementsByTagName("a");
		PrevListLink[0].style.borderRightColor = "Transparent";
		ListElements[x-1].style.borderRightColor = "#e5e5e5";
		}
		var CurrentListLink = ListElements[x].getElementsByTagName("a");
		CurrentListLink[0].style.borderRightColor = "Transparent";
		
		ListElements[x].style.backgroundImage = "none";
		ListElements[x].style.backgroundColor = "#44c0da";
		ListElements[x].style.borderRightColor = "#e5e5e5";
	}





    LinkElements[x].className = NewHoverClass;
}

// remove borders + resize last column

ListElements[LastElement].style.borderRightWidth = "0px";
ListElements[LastElement].style.borderRight = "none";
LinkElements[LastElement].style.borderRightWidth = "0px";
LinkElements[LastElement].style.borderRight = "none";
ListElements[LastElement].style.width = LastColWidth + WidthType; 
}

// calculate new width of list items
function CalcWidth(TotalWidth, CurrentColumns){
var ColumnNumber = parseInt(CurrentColumns);

// calculate width of each list item
var InterimWidth = parseInt(TotalWidth/ColumnNumber);            
var NewWidthTotal = (InterimWidth * ColumnNumber);
var Difference = TotalWidth - NewWidthTotal;
var width1 = InterimWidth -1;
var width2 = InterimWidth + Difference;
   
// set global width variables
CalculatedWidth = width1;
LastColWidth = width2;
}


function CreateMoreMenu(LinkElements, ListElements, LastElement,divId) {
// "More" UL list
	var MoreList = ListElements[LastElement].getElementsByTagName("ul");
	var MoreListUL;
	
	//alert(MoreList);
	
	if (MoreList){
	MoreListUL = MoreList[0];
	MoreListUL.style.display = "none";
	AddCurves(MoreListUL);
	//alert(MoreListUL);
	}else{
	MoreListUL = null;
	}
	
if (MoreListUL) {
  	var TimeOut = 0;
  	var TimeOutSet = false;
  	var hide = null;
  	

	var ShowMe = function showMore(){
	    MoreListUL.style.display = "block";
		if (hide != null){
			clearTimeout(hide);
			hide = null;
		}
	}

    var HideMe = function hideMore(){
        if (hide != null){
			clearTimeout(hide);
			hide = null;
		}
		MoreListUL.style.display = "none";
	}
        
     var HideMeSlow = function MenuTimeou() { 
     	if (!(hide != null)){
			hide = setTimeout(HideMe,1000);
		}
	};

    	// add show/hide to UL
        MoreListUL.onmouseover = ShowMe;
        MoreListUL.onmouseout = HideMe;
    	LinkElements[LastElement].onmouseover = ShowMe;
    	LinkElements[LastElement].onmouseout = HideMeSlow;
    	
    	
    	var currentText = LinkElements[LastElement].innerHTML;
    	//currentText = "<span class='downarrow'>&nbsp;</span>&nbsp;" + currentText;
    	currentText = "<img src='../img/topmenu-control/arrow-down.png' alt='' border='0' />&nbsp;&nbsp;" + currentText;
    	LinkElements[LastElement].innerHTML = currentText;
    	
	}
}

// add curve blocks to "More" submenu
function AddCurves(MoreListUL){
    var newListItem = document.createElement("li");
    newListItem.innerHTML = "<span class='bottom'>&nbsp;</span>";
    newListItem.className = "bottomLI"; 
	MoreListUL.appendChild(newListItem);
}

function BackGroundImage(ColNumber){	
	var NewHoverClass;
	ColNumber = parseInt(ColNumber);
	
	switch(ColNumber){
		case 8: NewHoverClass = "t8";
		break; 
		case 7:	NewHoverClass = "t7";
		break;    
		case 6:	NewHoverClass = "t6";
		break;
		case 5:	NewHoverClass = "t5";
		break;
		case 4:	NewHoverClass = "t4";
		break;
		case 3: NewHoverClass = "t3";
		break;
		case 2: NewHoverClass = "t2";
		break;
		case 1:	NewHoverClass = "t1";
		break;
		default: NewHoverClass = "AspNet-Menu-Link";
		}	
	return NewHoverClass;
}