//######### CONFIG ##########
// animation speed ms
var upSpeed = 100;
var subMenuDownSpeed = 300;
var subMenu2DownSpeed = 300;
var timeout	= 200;
//##########################


var menuOn = false;
var subMenuOn = false;
var currentMenu;
var currentSubMenu;
var timer = 0;
var subMenuClosing;
//var subMenu2Closing
var subMenuLoading;

var subMenu2;
var subMenuQueued = false;
var defaultSubMenu;
var defaultSubMenu2;




var topMenuLog=true;

//*******************************************************
// swap image script

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//*******************************************************
	


window.onload = function(){
	
	
	
	
	
	
	

};

function CloseSubMenu() {
    $("#menuWithSub li ul").slideUp(upSpeed);
}


function mainmenu(){
	
	// overide main navigation height for JS animation
	$("#navbar").css("height","80px");
	

	
	
	//set up the CSS by hiding both submenus.
	$("#menu li ul").css("display","none");
	$("#menu ul.sub_menu2").css("display","none");
	
	// turn on all hidden divs
	$("#institutionsLink ul").css("display","inline");
	$("#ifalink ul").css("display","inline");
	
	// hide divs to avoid flicker when page loads
	$("#institutionsLink ul").hide();
	$("#ifalink ul").hide();
	
	$(".menu ul ").css({display: "none"}); // Opera Fix
	
	
	// set css for JS control
	$("#menuWithSub li ul").css({top: "2.5em"})
	
	
	
	
	// SET DEFAULT MENUS ON PAGE LOAD
	
	setDefaultMenus();
	
	function setDefaultMenus () {
		
		// set submenu
		
		if ($("#menu li").is('.selectedLinkWithMenu')) {
					
			$("#menu").find('.selectedLinkWithMenu ul:first').show();
			defaultSubMenu = true;
						currentMenu=true;
		
		}
		
		// set submenu2
		if ($("#menu li ul li").is('.selectedSubLinkWithMenu')) {
			
						
			//defaultSubMenu2=true;
		
			$("#menu").find('.selectedSubLinkWithMenu ul').show();
			
			
			$("#navBarBottom").show();
			
			defaultSubMenu2=true;
			currentSubMenu=true;
			
			}
		
	}
	
	
	
	


	


	
	

	
	// close menu timer
	function closetime()
	{
		if(!subMenuClosing) {
		
		subMenuClosing = true;
		
		timer = window.setTimeout(clearSubMenu, timeout);
		
				}
	}
	
	// cancel close menu timer
	function cancelclosetime()
	{
		if(timer)
		{
			window.clearTimeout(timer);
			timer = null;
			timerRunning = false;
						subMenuClosing = false;
		}
	}
	
	// close submenu2 timer
	function closesubMenu2Timer()
	{
		if(!subMenuClosing) {
		
		subMenuClosing = true;
		timer = window.setTimeout(clearSubMenu, timeout);
				}
	}
	
	// cancel close submenu2 timer
	function cancelClosesubMenu2Timer()
	{
		if(timer)
		{
			window.clearTimeout(timer);
			timer = null;
			timerRunning = false;
						subMenuClosing = false;
		}
	}

	
	// clear submenu
	function clearSubMenu() {
	
	//console.log(" clear sub menu activated");
		
		// reset default subMenu if present
		if(defaultSubMenu) {
						$("#menuWithSub li ul").hide();

			// load default submenu, but not submenu2 child
			$("#menu").find('.selectedLinkWithMenu ul:not(.sub_menu2)').show();
			currentMenu = $("#menu").find('.selectedLink ul');
		
		// else clear all submenus
		} else {
			
						$("#menuWithSub li ul").slideUp(upSpeed);
			
			timerRunning = false;
			
			menuOn = false;
			currentMenu='';
		}
		$(".tempSelectedLink").removeClass("tempSelectedLink");
		clearSubMenu2();
	}
	
	// clear submenu2
	function clearSubMenu2() {
	
		//console.log(" clear sub menu2 activated");

		
		$(".tempSelectedSubLink").removeClass("tempSelectedSubLink");
		
		// reset default submenu 2 if present
		if(defaultSubMenu2) {
			
			$("#menu .sub_menu2").hide();
			$("#menu").find('.selectedSubLinkWithMenu ul').show();	
							
				
		// remove submenu2
		} else if (currentSubMenu) {
			$("#menu").find('.sub_menu2').slideUp(upSpeed);
			$("#navBarBottom").slideUp(upSpeed);
			currentSubMenu="";
			subMenuOn=false;
		}
	}
		



	// MAIN MENU ***************************************************
	
	// cancel timer if active over submenu
	$("#menuWithSub").mouseover(function(){
		cancelclosetime();
						
	});
	
	$(".sub_menu").mouseover(function(){
		cancelclosetime();
						
	});
	
	$("#menuWithSub li:has(ul li)").hover(
		function(){
			
			cancelclosetime();
	
		// check if the link is on main menu
		if ($(this).find('ul:first').is('.sub_menu')) {
		
			$(".tempSelectedLink").removeClass("tempSelectedLink");
		// if there is a submenu
			if (currentMenu) {
				
				//remove press menu 
				$(",#pressMenu").hide();
				
				// IE6 only:
				var browser=navigator.appName;
				var b_version=navigator.appVersion;
				var version=parseInt(b_version);
				if (browser=="Microsoft Internet Explorer" && version ==4)
					{
						
											
     $("#productsMenu").css("z-index","-1000");
						$(this).find('ul:first').css("z-index","1000");
						
    				 }
     
    
			

				// show menu
				$(this).find('ul:first').show();
				
				
			} else {
				$(this).find('ul:first').slideDown(subMenuDownSpeed);
			}
		
			currentMenu=this;	
			
		
			// check if the link is on submenu
			} else if ($(this).find('ul:first').is('.sub_menu2')){
				
							
				$(".tempSelectedSubLink").removeClass("tempSelectedSubLink");
			
								
				//check for current submenu then just show
				if (currentSubMenu) {
										
					$("#menu").find('.sub_menu2').hide();
					$(this).find('ul:first').show();
					
				// check if no submenu then slide down
				} else {
				
										$(this).find('ul:first').slideDown(subMenu2DownSpeed,animationComplete);
					$("#navBarBottom").slideDown(subMenu2DownSpeed,animationComplete);
				
				}
					currentSubMenu=this;
				$(this).addClass("tempSelectedSubLink");
			} 
		
		// turn on selected link temporarily
		$(this).addClass("tempSelectedLink");
		menuOn = true;
			
		},
		// close menu on roll out
		function() {
			
			if (menuOn) {
				closetime();
			}
		
		});
	
	
	
	
	// submenu links stop timer
	$("#ifaSubMenu,#institutionsSubMenu").mouseover(function(){
				cancelclosetime();
	});
	
	// submenu2 animation finished
	function animationComplete(){
				if (subMenuLoading) {
			subMenuLoading = false;
			if (subMenuQueued) {
								
				$(subMenu2).hide();
				$(incomingMenu).show();
				subMenu2=incomingMenu;
				subMenuOn=true;
				subMenuQueued = false;
			}
		}
	}
	
	

	// menu rollovers to clear submenu2
	$("#pressLink,#aboutMenu,#fundPricesLink,#productsLink,#pandsOverviewLink").mouseover(function(){
		if(!defaultSubMenu2) {
			$(".tempSelectedSubLink").removeClass("tempSelectedSubLink");
			$(this).addClass("tempSelectedSubLink");
			clearSubMenu2();
		}
	});
	
	

	// menu without submenus stops closetimer	
	$("#homeLink,#careersLink,#contactLink)").mouseover(function(){
		cancelclosetime();
						
	});
	
	// menu without submenus to clear submenu1 and submenu2	
	$("#homeLink,#careersLink,#contactLink").hover(
		function(){
		
		//console.log(" top level links rolled over");
		
			if (defaultSubMenu2 || defaultSubMenu) {
				$("#menu .sub_menu2").hide();
				$("#menuWithSub li ul").hide();
			}
		
		},
		// close menu on roll out
		function() {
		//console.log(" clear sub menu 2 called");
			clearSubMenu();
	
		});


// end main menu function
}
									
 
 // call mainmenu function
 $(document).ready(function(){					
	mainmenu();
});