

	var scrollInterval;
	var scrollDirection;

	function scrollBox( )
	{
		var box = document.getElementById( "contentBox" );
		
		var increment = 8;
		
		var desiredScroll = box.scrollTop + scrollDirection * increment;
		
		box.scrollTop = desiredScroll;
		
		if ( desiredScroll > 0 && box.scrollTop == 0 )
		{
			box.style.overflow = "auto";
			box.scrollTop = desiredScroll;
		}
	}
	
	function startScroll( direction )
	{
		scrollDirection = direction;
		
		scrollInterval = setInterval( "scrollBox()", 40 );		
	}
	
	function stopScroll()
	{
		clearInterval( scrollInterval );
	}
	
	function changeText( i )
	{
		document.getElementById( "changeImage" ).innerHTML = "<img src='" + infoArray[i][0] + "' />";
		document.getElementById( "textName" ).innerHTML = infoArray[i][1];
		document.getElementById( "textDescription" ).innerHTML = infoArray[i][2];		
	}
	

	var lastTitle;
	var inside = false;
	var intervalHolder;
	var currentTitle;
			
	function showSubmenu( title )
	{	
		if ( lastTitle !== undefined && document.getElementById( "subMenu_" + lastTitle ) )
		{
			document.getElementById( "subMenu_" + lastTitle ).style.visibility = "hidden";
		}
		
		lastTitle = title;
		
		if ( document.getElementById( "subMenu_" + title ) )
		{
			insideMenu(title);
			document.getElementById( "subMenu_" + title ).style.marginLeft = ( getElementPosition( document.getElementById("menu_" + title ), "left" ) + document.getElementById("menu_" + title ).offsetWidth/2 - document.getElementById("subMenu_" + title ).clientWidth/2 ) + "px";
			document.getElementById( "subMenu_" + title ).style.marginTop = ( getElementPosition( document.getElementById("menu_" + title ), "top" ) + 30 ) + "px";
			document.getElementById( "subMenu_" + title ).style.visibility = "visible";
		}
	}		

	function getElementPosition(element, type ) 
	{
		var offset = 0;
		
			if (element)
			{
				while (element)
				{
					if ( type == "left" )
						offset += element.offsetLeft
					else if ( type == "top" )
						offset += element.offsetTop;
					
					element = element.offsetParent;
				}
			}
			
		return offset;
	}
	
	
	var insides = new Array();
	
	function insideMenu(title)
	{
		insides[title] = true;
		clearTimeout( intervalHolder );
	}
	
	function delayHide(title)
	{
		insides[title] = false;
		clearTimeout( intervalHolder );
		currentTitle = title;
		intervalHolder = setTimeout( "hideMenu()", 800 );
	}
	
	function hideMenu()
	{
		var title = currentTitle;

		if ( !insides[title] && document.getElementById( "subMenu_" + title ) )
			document.getElementById( "subMenu_" + title ).style.visibility = "hidden";
	}
	
	var targetDate = new Date( 2010, 1, 12 );
	
	function daysUntil()
	{
		var today = new Date();

		if ( today < targetDate )
		{			
			var yearsLeft = targetDate.getFullYear() - today.getFullYear();
			yearsText = ( yearsLeft > 0 ? yearsLeft + " year" + ( yearsLeft > 1 ? "s" : "" ) : "" );
			today.setFullYear( today.getFullYear() - yearsLeft );
			
			var monthsLeft = targetDate.getMonth() - today.getMonth();
			monthsText = ( monthsLeft > 0 ? ( yearsText != "" ? ", " : "" ) + monthsLeft + " month" + ( monthsLeft > 1 ? "s" : "" ) : "" );
			today.setMonth( today.getMonth() - monthsLeft );
	
			var daysLeft = targetDate.getDate() - today.getDate();
			daysText = ( daysLeft > 0 ? ( yearsLeft != "" || monthsText != "" ? ", " : "" ) + daysLeft + " day" + ( daysLeft > 1 ? "s" : "" ) : "" );
			today.getDate( today.getDate() - daysLeft );
			
			var combinedText = yearsText + monthsText + daysText;
			
			document.write( "There " + ( combinedText.charAt(0) == "1" ? "is" : "are" ) + " " + combinedText + " to the 2010 Olympic & Paralympic Winter Games in Vancouver, British Columbia" );
		}
		else
		{
			document.write( "2010 Olympic & Paralympic Winter Games in Vancouver, British Columbia" );
		}
	}
	
	String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };
	String.prototype.nl2br = function() { return this.replace( /\n/g, "<br />"); };
	
	var menuHeaders = new Array();
	var menuElements = new Array();
	
	function menuContentLoaded()
	{
		//var categories = frames[0].document.body.innerHTML.split("~");
		//var categories = frames[0].document.getElementById("menuDataList").innerHTML.split("~");
		var categories = document.getElementById("menuDataList").innerHTML.split("~");
		categories.splice(0,1);		
		
		for( var i = 0; i < categories.length; i++ )
		{
			var categoryElements = categories[i].split( "-&gt;" );
			
			menuHeaders.push(categoryElements[0].trim());
			categoryElements.splice(0,1);
			
			var elements = new Array();
			
			for( var j = 0; j < categoryElements.length; j++ )
			{
				var menuParts = categoryElements[j].split( "=&gt;" );
				
				elements.push( {name:menuParts[0], link:menuParts[1]} );
			}
			
			menuElements.push( elements );
		}
		
		fillMenu();
		placeInitArrow();
	}
	
	function fillMenu()
	{
		var menuArea = document.getElementById("menuArea");
		menuArea.innerHTML = "";
		var subMenus = "";
		
		var output = "<table cellspacing='0' cellpadding='0' border='0' class='menuHolder'><tr>";
		

		for ( var i = 0; i < menuHeaders.length; i++ )
		{				
			var posFirstHat = menuHeaders[i].indexOf("^");
			var submenuName = menuHeaders[i].substring(0, posFirstHat).toUpperCase().replace( " ", "_" );
			var submenuURL = menuHeaders[i].substring(posFirstHat+1, menuHeaders[i].length).replace( "^", "" );
			
			output += "<td><a href='" +submenuURL+ "' class='menuElement' id='menu_" + submenuName + "' onmouseover='showSubmenu(\"" + submenuName + "\");' onmouseout='delayHide(\"" + submenuName + "\");'>" + menuHeaders[i].substring(0, posFirstHat).toUpperCase() + "</a></td>";
			
			subMenus += "<div class='subMenuArea' id='subMenu_" + submenuName + "'>";
			
			for ( var j = 0; j < menuElements[i].length; j++ )
			{
				var link = menuElements[i][j].link;
				
				if ( link === undefined )
					link = "";
					
				if ( menuElements[i][j].name.charAt(0) == "-" )
				{
					var boldIt = true;
					var showName = menuElements[i][j].name.substr(1);
				}
				else
				{
					var boldIt = false;
					var showName = menuElements[i][j].name;
				}
					
				subMenus += "<a class='subMenuElement' onmouseover='insideMenu(\"" + submenuName + "\");' onmouseout='delayHide(\"" + submenuName + "\");' href='" + link + "'>" + ( boldIt ? "<b>- " : "" ) + showName.trim() + ( boldIt ? " -</b>" : "" ) + "</a>";
			}
						
			subMenus += "</div>";
		}


		output += "</td></table>";
		
		menuArea.innerHTML = output + subMenus;

	}
	
	var arrowWidth;
	var arrowMin;
	var arrowMax;
	
	function placeInitArrow()
	{
		document.getElementById( "menuArrow" ).style.visibility = "visible";
		document.getElementById( "menuArrow" ).style.marginTop = getElementPosition( document.getElementById("menuArea" ), "top" ) + "px";
		document.getElementById( "menuArrow" ).style.marginLeft = 300 + "px";
		
		arrowWidth = document.getElementById("menuArrow" ).offsetWidth;
		arrowMin = getElementPosition( document.getElementById("menuArea" ), "left" );
		arrowMax = arrowMin + document.getElementById("menuArea" ).offsetWidth;
	}
	
	document.onmousemove = mouseMove;
	
	function mouseMove(ev)
	{
		ev = ev || window.event;
		var mousePos = mouseCoords(ev);
		
		var destX = mousePos.x - arrowWidth/2;
		
		if ( destX > arrowMin && destX < arrowMax - arrowWidth )
			document.getElementById( "menuArrow" ).style.marginLeft = destX + "px";
	}
	
	function mouseCoords(ev)
	{
		if ( ev.pageX || ev.pageY )
		{
			return { x:ev.pageX, y:ev.pageY };
		}
		
		return {
			x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
			y:ev.clientY + document.body.scrollTop  - document.body.clientTop
		};
	}

	/*init image fader in header*/
	function init()
	{
		header.play();
	}
	

