
	//GLOBALS
	var iMainWindowScrollWidth = 17;
	
	var pageWidth; 
	var pageHeight;
	
	pageWidth = dd.getWndW();	
	pageHeight = dd.getWndH();	

	addWindowEvent('onresize', windowResized);		
	addWindowEvent('onload', applyMenuModifications);
	addWindowEvent('onload', resetStiMenuBoundries); //Set the correct position for the menu
	
	function applyMenuModifications() {

		var arVersion = navigator.appVersion.split("MSIE");
		var version = parseFloat(arVersion[1]);
		
	    if ((version >= 5.5) && (version < 7)) {	
		
	    	var oClickArea = document.getElementById('stiMenuClickArea');
	    	oClickArea.className = 'absolute sti_menu_click_area_ie';
	    	
	    	var oFrame = document.createElement('iframe');
	    	oFrame.src = '/website/include/layout/clickarea.php';
	    	oFrame.frameBorder = '1';
	    	oFrame.width = '100%';
	    	oFrame.height = '100%';
	    	oFrame.id = 'stiMenuClickAreaFrame';
	    	
	    	oClickArea.appendChild(oFrame);    		
	    }     
     	
	}
	
	function windowResized() {		
		correctShellContent('false');		
		resetStiMenuBoundries();
	}	
		
	// hide/show the stiMenu
	function changeStiMenuState(bState) {
			
		var varType = typeof bState;
		
		if (varType != "undefined") {
			if (bState == true)
				bStiMenuOpen = false;
			else if (bState == false)
				bStiMenuOpen = true;
			
		}
			
		//load the needed objects
		var stiMenuContainerObject = document.getElementById('stiMenuContainer');
		var stiMenuTopSectionObject = document.getElementById('stiMenuTopSection');			
		var stiMenuHideableContentObject = document.getElementById('stiMenuHideableContent');
		var stiMenuIframeObject = document.getElementById('stiMenuIframe');
		var stiMenuContainerObject = document.getElementById('stiMenuContainer');
		var stiMenuContentObject = document.getElementById('stiMenuContent');
		var stiMenuIFrameContainerObject = document.getElementById('stiMenuIFrameContainer');
		var stiMenuClickAreaObject = document.getElementById('stiMenuClickArea');
		
		var iStiMenuClosedHeight = parseInt(stiMenuTopSectionObject.style.height);			
		
		if (bStiMenuOpen == true) {	
			bStiMenuOpen = false;
			stiMenuContainerObject.style.height = iStiMenuClosedHeight + "px";								
			
			//Because of IE, we have to hide all objects instead of just the parent..
			stiMenuHideableContentObject.style.height = "0px";	
			stiMenuContentObject.style.height = "0px";
			stiMenuIFrameContainerObject.style.height = "0px";
					
			stiMenuIframeObject.width = "0%";
			stiMenuIframeObject.height = "0%";
			
			if (bStiMenuPined == false)
				stiMenuClickAreaObject.style.visibility = 'hidden';					
			
			stiMenuContainerObject.style.backgroundImage = "url('include/img/sti_menu_move_arrow_closed.jpg')";
			//stiMenuTopSectionObject.style.backgroundImage = "url('include/img/sti_menu_top_section_closed.jpg')";
					
		}
		else {
			bStiMenuOpen = true;
			var iContentHeight = document.getElementById('CONTENT_CELL').offsetHeight;				
			
			stiMenuContainerObject.style.height = iContentHeight + "px";												
			stiMenuHideableContentObject.style.height = (iContentHeight-iStiMenuClosedHeight) + "px";	
			stiMenuContentObject.style.height = "100%";
			stiMenuIFrameContainerObject.style.height = "100%";
			
			stiMenuIframeObject.width = "100%";
			stiMenuIframeObject.height = "100%";							
		
			if (bStiMenuPined == false)				
				stiMenuClickAreaObject.style.visibility = 'visible';						

			stiMenuContainerObject.style.backgroundImage = "url('include/img/sti_menu_move_arrow.jpg')";
			//stiMenuTopSectionObject.style.backgroundImage = "url('include/img/sti_menu_top_section.jpg')";
						
		}
		resetStiMenuBoundries();
	}
	
	function setStiMenuPosition(x, y, bDefault) {
		
		if (bDefault == true) {
			var myElem = dd.elements['stiMenuContainer'];		
			var oMenuContainer = document.getElementById('stiMenuContainer');
			x = (findPosX('borderTopRight')-iMainWindowScrollWidth-parseInt(document.getElementById('stiMenuContainer').style.width));
			y = myElem.y;
		}
		myElem.moveTo(x, y);						
	}
	
	function getStiMenuPosition() {
		var aReturn = new Array();
		aReturn[0] = myElem.x;
		aReturn[1] = myElem.y;
		
		return aReturn;
	}
	
	//align the menu if it's out of boundries
	function resetStiMenuBoundries() {
	
			var iStiMenuWidth 	= parseInt(document.getElementById('stiMenuContainer').style.width);						
	 		var borderWidth 	= document.getElementById('borderMiddleLeft').width;
 			var iHeaderHeight 	= findPosY('CONTENT_CELL');
 			var iFooterHeight 	= (pageHeight-findPosY('FOOTER_CELL'));
			var iSurfaceWidth	= document.getElementById('CONTENT_CELL').offsetWidth;
			var iSurfaceHeight = document.getElementById('CONTENT_CELL').offsetHeight;
 						
			var myElem = dd.elements['stiMenuContainer'];
												
			var iContentHeight = document.getElementById('CONTENT_CELL').offsetHeight;
			
			if (iContentHeight > 452) //MENU MAX HEIGHT!
				iContentHeight = 452;
			
			//The menu has only a height of 24px when it's closed. So only perform these actions when it's open
			if (bStiMenuOpen == true) {					
				document.getElementById('stiMenuContainer').style.height = iContentHeight;		
				document.getElementById('stiMenuHideableContent').style.height = (iContentHeight-24);
				document.getElementById('stiMenuIframe').height = (iContentHeight-24);
			}
				
			iMaxOfLeft = (iSurfaceWidth-iStiMenuWidth-iMainWindowScrollWidth);
			iMaxOfBottom = (pageHeight-iContentHeight-iHeaderHeight-iFooterHeight);
							
			myElem.defy = iHeaderHeight;
			myElem.moveTo(myElem.x, myElem.defy);			
							
			myElem.maxoffl = iMaxOfLeft;
			myElem.maxoffb = iMaxOfBottom;

			var iLeftBound = findPosX('CONTENT_CELL');
			
			if (myElem.x < iLeftBound)
				myElem.moveTo(iLeftBound, myElem.y);
			
			var iRightBound = findPosX('borderTopRight');
			if (myElem.x > (iRightBound-iMainWindowScrollWidth-iStiMenuWidth))	
				myElem.moveTo((iRightBound-iMainWindowScrollWidth-iStiMenuWidth), myElem.y);
							
			myElem.defx = (iRightBound-iStiMenuWidth-iMainWindowScrollWidth);

		//	myElem.moveTo(myElem.defx, myElem.defy);			
			
			var iTopBound = findPosY('CONTENT_CELL');			
			
			var stiMenuClickAreaObject = document.getElementById('stiMenuClickArea');
			stiMenuClickAreaObject.style.top = iTopBound + 'px';		
			stiMenuClickAreaObject.style.left = iLeftBound + 'px';		
			stiMenuClickAreaObject.style.width = iSurfaceWidth + 'px';		
			stiMenuClickAreaObject.style.height = iSurfaceHeight + 'px';		
			
			var stiMenuClickAreaFrameObject = document.getElementById('stiMenuClickAreaFrame');
			
			if (stiMenuClickAreaFrameObject) {
				stiMenuClickAreaFrameObject.style.width = iSurfaceWidth + 'px';
				stiMenuClickAreaFrameObject.style.height = iSurfaceHeight + 'px';
			}	
				
	}
	
	function changeStiMenuPinState() 
	{
		(bStiMenuPined) ? bStiMenuPined = false : bStiMenuPined = true;
		 					
		if (bStiMenuPined == true) {
			document.getElementById('stiMenuPinOption').style.backgroundImage = "url('include/img/sti_menu_pin_closed.jpg')";		
			document.getElementById('stiMenuClickArea').style.visibility = 'hidden';
		}
		else {	
			document.getElementById('stiMenuPinOption').style.backgroundImage = "url('include/img/sti_menu_pin_open.jpg')";			
			
			if (bStiMenuOpen == true)
				document.getElementById('stiMenuClickArea').style.visibility = 'visible';
		
		}
					
	}
	
	function getStiMenuPinedState() {
		return bStiMenuPined;	
	}
	
	function displayStiMenu(bShow) {
		
		if (bShow == false) {
			changeStiMenuState(false);					
			document.getElementById('stiMenuContainer').style.visibility = 'hidden';
		}
		else {
			document.getElementById('stiMenuContainer').style.visibility = 'visible';			
			changeStiMenuState(true);	
		}
		
	}
	
	function reloadStiMenu() {
		document.getElementById('stiMenuIframe').src = document.getElementById('stiMenuIframe').src;	
	}
	
	function contentFrameClick(e) {	
		if (bStiMenuPined == false && bStiMenuOpen == true) {
			changeStiMenuState();
		}
	}