
// Nav Functions

var cnnCurrentVisibleNavId = ''; // The name of the current visible navbar
var cnnTimeOverNav = -1; // Amount of time over nav
var cnnCurrentDelayTimeOutPtr = ''; // The previous hidden timeout pointer


function cnnDelayedNavShow(navId, navLeftPos, navWidth)
{
	if(cnnCurrentDelayTimeOutPtr)
	{
		window.clearTimeout(cnnCurrentDelayTimeOutPtr);
	}
	cnnTimeOverNav = new Date().getTime();
	cnnCurrentDelayTimeOutPtr = window.setTimeout("cnnNavShow('"+navId+"')",250);

}

function cnnNodeContains(a, b)
{

// Return true if node a contains node b.
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function cnnDetectNavPanelMouseOut(event, obj, navId)
{
	var current, related;
	if (window.event)
	{
		current = obj;
		related = window.event.toElement;
	}
	else
	{
		cnnNavHide(navId);
		//current = event.currentTarget;
		//related = event.relatedTarget;
	}
	if (current != related && !cnnNodeContains(current, related))
	{
		cnnNavHide(navId);
	}
}


function cnnNavShow(navId)
{
// Show the navbar
	if ( cnnCurrentVisibleNavId && (cnnCurrentVisibleNavId != navId) )
	{
		cnnNavHide( cnnCurrentVisibleNavId );
	}

	var menu = cnnMenuEntries[ navId ];
	if ( menu )
	{
		var navWidth = cnnGetDhtmlMenuWidth( menu );
		var navLeftPos = 0;
		if( document.cnnIsWideSite ) {
			navLeftPos = menu.posXWide;
		} else {
			navLeftPos = menu.posX;
		}
		var subnav = cnnGetObject( navId + 'SubNav' );

		if(subnav && subnav.style)
		{
			if( document.cnnIsWideSite ) {
				if((navLeftPos+navWidth)>1000) {navLeftPos=1000-navWidth;}
			} else {
				if((navLeftPos+navWidth)>800) {navLeftPos=800-navWidth;}
			}
			subnav.style.left = navLeftPos;
			subnav.style.width = navWidth;
			subnav.style.visibility = 'visible';
			cnnAlterAllSelects('hidden')
		}

		cnnCurrentVisibleNavId = navId;
		
		//$menuName = 'cnnDhtmlMenuCSI'+navId;
		//alert($menuName);
		//$containerName = 'menuContainer'+navId;
		//alert($containerName);
		//$newHtml = document.getElementById($containerName).innerHTML;
		//document.getElementById($menuName).innerHTML = $newHtml;
		//alert($newHtml);
	}
}

function cnnNavHide(navId)
{
// hide the navbar
	var subnav = cnnGetObject( navId + 'SubNav' );
	if(subnav)
	{
		subnav.style.visibility = 'hidden';
		subnav.style.width = '0px';
		cnnAlterAllSelects('visible')
	}

}

function cnnGetObject( id ) {
	var object = null;
	if ( document.getElementById )
	{
		object = document.getElementById( id );
	}
	else
	if ( document.all )
	{
		object = document.all[ id ];
	}
	return object;
}

// is this page hosted on a remote site?
document.cnnIsRemoteSite = false;

// is this page on a wide template?
document.cnnIsWideSite = false;

document.cnnDhtmlNavSectionWidth = 130;
document.cnnDhtmlNavHeadlineWidth = 240;
document.cnnDhtmlNavPadding = 6;
function cnnGetDhtmlMenuWidth( menu )
{
	var sectionWidth = menu.sectionWidth || document.cnnDhtmlNavSectionWidth || 130;
	var headlineWidth = document.cnnDhtmlNavHeadlineWidth || 240;
	var navPadding = document.cnnDhtmlNavPadding || 6;
	var outerWidth = sectionWidth + headlineWidth + ( navPadding * 4 );
	var displayHeadlines = 1; //( !document.cnnIsRemoteSite && menu.showHeadlines && !document.cnnIsRemotePartner ) ? true : false;
	var displayMenuItems = 0
	if( menu.menuItems )
	{
		displayMenuItems = 1;
	}
	if ( !displayHeadlines && !displayMenuItems )
	{	// no headlines, no menuItems = no menu
		outerWidth = 0;
	}
	else if ( !displayHeadlines )
	{	// no headlines = narrow menu
		outerWidth = sectionWidth + ( navPadding * 2 );
	}
	else if ( !displayMenuItems )
	{	// no menuItems = narrow menu
		outerWidth = headlineWidth + ( navPadding * 2 );
	}
	return outerWidth;
}

function cnnWriteMenuEntries( menuCollection )
{
// write out the dhtml panes
	var prependHost = '';
	for ( eachMenu in menuCollection )
	{

		var navId = eachMenu;
		var sectionWidth = menuCollection[eachMenu].sectionWidth || document.cnnDhtmlNavSectionWidth || 130;
		var headlineWidth = document.cnnDhtmlNavHeadlineWidth || 240;
		var navPadding = document.cnnDhtmlNavPadding || 6;
		var outerWidth = cnnGetDhtmlMenuWidth( menuCollection[eachMenu] );
		//var displayHeadlines = ( !document.cnnIsRemoteSite && menuCollection[eachMenu].showHeadlines && !document.cnnIsRemotePartner ) ? true : false;
		var displayHeadlines = 1;
		var navLeftPos = 0;
		if( document.cnnIsWideSite ) {
			navLeftPos = menuCollection[eachMenu].posXWide;
			if ( (navLeftPos+outerWidth) > 1000 ) { navLeftPos = 1000 - outerWidth; }
		} else {
			navLeftPos = menuCollection[eachMenu].posX;
			if ( (navLeftPos+outerWidth) > 770 ) { navLeftPos = 770 - outerWidth; }
		}

		var navHtml = "";

		navHtml += '<div class="cnnDhtmlMenu" id="'+navId+'SubNav" style="width:'+outerWidth+'px;left:'+navLeftPos+';" onmouseover="cnnNavShow(\''+navId+'\');return false;" onmouseout="cnnDetectNavPanelMouseOut(event, this, \''+navId+'\');">';

		navHtml += '<table class="cnnMenuOutterBorder" width="' + outerWidth + '" border="0" cellspacing="0" cellpadding="' + navPadding + '" onmouseout="cnnDetectNavPanelMouseOut(event, this, \''+navId+'\');">';
		navHtml += '<tr valign="top">';

		if(menuCollection[eachMenu].menuItems)
		{
			navHtml += '<td width="'+sectionWidth+'">';
			for ( var entryNo = 0; entryNo < menuCollection[eachMenu].menuItems.length; entryNo += 2 )
			{
				var menuPrependHost = prependHost;
				if(menuCollection[eachMenu].menuItems[entryNo+1].indexOf('http:/\/')>-1){ menuPrependHost='';}
				navHtml += '<div class="cnnDhtmlMenuSect" onMouseOver="cnnColorMenuItem(this,1)" onMouseOut="cnnColorMenuItem(this,0)" onclick="location.href=\''+menuPrependHost+menuCollection[eachMenu].menuItems[entryNo+1]+'\'">';
				navHtml += '<a href="'+menuPrependHost+menuCollection[eachMenu].menuItems[entryNo+1]+'">'+menuCollection[eachMenu].menuItems[entryNo].toUpperCase()+'</a>';
				navHtml += '</div>';
			}
			navHtml += '</td>';
		}

		if ( displayHeadlines )
		{
			navHtml += '<td width="'+headlineWidth+'">';
			//navHtml += '<div id="cnnDhtmlMenuCSI'+navId+'" class="cnnDhtmlMenuHeadlines">Content is loading...</div>';

			navHtml += '<div id="cnnDhtmlMenuCSI'+navId+'" class="cnnDhtmlMenuHeadlines">';
			
			$menuName = 'cnnDhtmlMenuCSI'+navId;
			//alert($menuName);
		 	$containerName = 'menuContainer'+navId;
			//alert($containerName);
			$newHtml = document.getElementById($containerName).innerHTML;
			//document.getElementById($menuName).innerHTML = $newHtml;
			//alert($newHtml);
			
			navHtml += $newHtml;
			
			navHtml += '</div>';
			
			if (menuCollection[eachMenu].sponsor) {navHtml+=menuCollection[eachMenu].sponsor;}
			navHtml += '</td>';
		}

		navHtml += '</tr></table>';
		navHtml += '</div>';

		document.write( navHtml );
	}

}

function cnnColorMenuItem( element, on )
{
	if ( navigator.userAgent.indexOf( "KHTML" ) == -1 )
	{
		if ( on )
		{
			element.className = "cnnDhtmlMenuSectHov";
		}
		else
		{
			element.className = "cnnDhtmlMenuSect";
		}
	}
}

function cnnAlterAllSelects(visibility)
{
	var allSelectObjs = document.getElementsByTagName('select');
	if(allSelectObjs)
	{
		for(var selectCounter = 0;selectCounter<allSelectObjs.length;selectCounter++)
		{
			var currentSelectObj = allSelectObjs.item(selectCounter);
			currentSelectObj.style.visibility=visibility;
		}
	}
}

function changeSClass() {
   $namebefor = document.getElementById('ytest1').className;
   //alert($namebefor);
   document.getElementById('ytest1').className = "yhowy";
   $nameafter = document.getElementById('ytest1').className;
   //alert($nameafter);
}

var cnnMenuEntries = new Array();

