/****************************************
|
| London Home Builders' Association
| Created by: Kevin Biskaborn
| Copyright 2008 ScriptReaction
| http://www.scriptreaction.com
|
****************************************/

var hdrNav = {
	controls: { 
		menuHideDelay: 1500,
		bannerImageTotal: 9
	},
	launch: function (){
	
		var mainNavHolder = document.getElementById("hdr_nav");	
		var mainNavMenus = mainNavHolder.getElementsByTagName("a");
		var sideNavHolder = document.getElementById("hdr_opt");
		var sideNavMenus = sideNavHolder.getElementsByTagName("a");
		
		//create container variables
		hdrNav.menuNames = new Array();
		hdrNav.menuTotal = 0;
		
		for(var i=1; i<3; i++){
			
			var whichArray = (i==1) ? mainNavMenus : sideNavMenus;
			
			for(var menuCount=0; menuCount<whichArray.length; menuCount++){
				var whichMenu = whichArray[menuCount];
				if(whichMenu.name){ //has sub menu name link (clear name param in <a> tag to disable sub menu)
					whichMenu.id = "hdrNavMenu_" + whichMenu.name;
					hdrNav.menuNames.push(whichMenu.name);
				
					whichMenu.onmouseover = function (){
						bdyNav.resetMenus(); /**/
						hdrNav.resetMenus(this.id);
						hdrNav.menuOver(this.id);
					}
					
					whichMenu.onmouseout = function (){
						hdrNav.menuOut(this.id);
					}
					
					whichMenu.onclick = function (){
						this.blur();
						//return false;
					}
					
					with(whichMenu.style){
						//cursor = 'default';	
					}
					
					hdrNav.menuTotal++;
					
				}else{ //no sub menu
					whichMenu.onmouseover = function (){
						hdrNav.resetMenus();
					}
				}
			}
		
		}
		
		hdrNav.setItems();
		
	},
	resetMenus: function (menuCaller){
		for(var menuCount=0; menuCount<hdrNav.menuTotal; menuCount++){
			var menuHolder = x = hdrNav.menuNames[menuCount];
			var whichSubMenu = document.getElementById("sub_" + menuHolder);
			whichSubMenu.style.visibility = "hidden";
			
			if(shell.browser == "ie" && shell.browserVersion == 6){
				if(menuHolder == "buying" || menuHolder == "buying_new"){
					var leaf = document.getElementById("hdrLeaf");	
					leaf.src = "/assets/gfx/hdr_leaf2.png";
				}
			}
			
			var mNames = hdrNav.menuNames;
			var whichMenu = document.getElementById("hdrNavMenu_" + menuHolder);
			if(x == mNames[mNames.length-1] || x == mNames[mNames.length-2] || x == mNames[mNames.length-3]){ //is a side option (added to menuNames array last)
				hdrNav.menuActionSide("out",whichMenu);
			}else{ //is a top bar option
				hdrNav.menuActionMain("out",whichMenu);
			}
		}
	},
	menuOver: function (x){
		var whichSubMenu = x;
		var menuId = x = whichSubMenu.slice(11); //itemName, removes the prefix "hdrNavMenu_"
		var whichSubMenu = document.getElementById("sub_" + menuId);
		whichSubMenu.style.visibility = "visible";
		
		if(shell.browser == "ie" && shell.browserVersion == 6){
			if(menuId == "buying" || menuId == "buying_new"){
				var leaf = document.getElementById("hdrLeaf");
				leaf.src = "/assets/gfx/hdr_leaf3.png";
			}
		}
		
		var mNames = hdrNav.menuNames;
		var whichMenu = document.getElementById("hdrNavMenu_" + menuId);
		if(x == mNames[mNames.length-1] || x == mNames[mNames.length-2] || x == mNames[mNames.length-3]){ //is a side option
			hdrNav.menuActionSide("over",whichMenu);
		}else{ //is a top bar option
			hdrNav.menuActionMain("over",whichMenu);
		}
	},
	menuOut: function (x){
		hdrNav.callTimer();
	},
	setItems: function (){
		for(var menuCount=0; menuCount<hdrNav.menuTotal; menuCount++){
			
			var menuHolder = hdrNav.menuNames[menuCount];
			var whichSubMenu = document.getElementById("sub_" + menuHolder);
			var menuItems = whichSubMenu.getElementsByTagName('a');
			
			for(var itemCount=0; itemCount<menuItems.length; itemCount++){
				var whichItem = menuItems[itemCount];
				whichItem.name = menuHolder;
				
				whichItem.onmouseover = function (){
					hdrNav.itemOver(this.name);
				}
				
				whichItem.onmouseout = function (){
					hdrNav.menuOut();
				}
				
				whichItem.onclick = function (){
					this.blur();
					hdrNav.resetMenus();	
				}
				
			}
			
		}
	},
	itemOver: function (x){
		var mNames = hdrNav.menuNames;
		var whichMenu = document.getElementById("hdrNavMenu_" + x);
		if(x == mNames[mNames.length-1] || x == mNames[mNames.length-2] || x == mNames[mNames.length-3]){ //is a side option
			hdrNav.menuActionSide("over",whichMenu);
		}else{ //is a top bar option
			hdrNav.menuActionMain("over",whichMenu);
		}
		hdrNav.killTimer();
	},
	menuActionMain: function (action,object){
		if(action == "over"){
			object.style.background = "#fff url(assets/gfx/hdr_bar_ov.gif)";
			object.style.backgroundRepeat = "repeat-x";
			hdrNav.killTimer();
		}else{
			object.style.background = "none";
			object.style.backgroundRepeat = "";
			hdrNav.callTimer();
		}	
	},
	menuActionSide: function (action,object){
		if(action == "over"){
			object.style.backgroundPosition = "0 -65px";
			hdrNav.killTimer();
		}else{
			object.style.backgroundPosition = "0 0";
			hdrNav.callTimer();
		}
	},
	callTimer: function (){
		hdrNav.killTimer();
		hdrNav.timer = setTimeout("hdrNav.resetMenus()", hdrNav.controls.menuHideDelay);
	},
	killTimer: function (){
		if(typeof(hdrNav.timer != "undefined")) clearTimeout(hdrNav.timer);
	},
	//*** HEADER DISPLAY
	getDsp: function (x){
		if(typeof(x) == "undefined") var x = 0;
		switch(x){
			case 1:
				return hdrNav.dspSplash();
				break;
			default:
				return hdrNav.dspRandom();
				break;
		}
	},
	dspSplash: function (){
		if(global.hasFlash) document.write('<div class="flash" src="assets/nav/splash.swf" style="width:600px;height:199px;"></div>');
		else hdrNav.dspRandom(0);
	},
	dspRandom: function (x){
		var num = (typeof(x) != "undefined") ? x : Math.floor( Math.random() * hdrNav.controls.bannerImageTotal) + 1;
		num = num.toString();
		while(num.length < 2) num = "0" + num;
		document.write('<img src="images/common/banners/banner_' + num + '.jpg" />');
	}
}
