/*********************************************************	
	Full menu functionality for:
	- IE 5.5, 6, 7. *** NOTE: Update this code after IE version 7. ***
	- Netscape 7.02 and 8. (Flash bug fixed in 7.02)
	- Firefox	
*********************************************************/	

var sBrowser = GetBrowser();					// Detail variable allows forking for several browser versions.
var agt = navigator.userAgent.toLowerCase();	// Basic browser variable. Left for older code.

// Background colors on mouseover and mouseoff
var OFFcolor = '#FFFFFF';
var ONcolor = '#DEECF1';
var MenuSubOFFcolor = '#FFFFFF';
var MenuSubONcolor = '#FFFFFF';
var MenuTertOFFcolor = '#FFFFFF';
var MenuTertONcolor = '#FFFFFF';
var MenuQuatOFFcolor = '#FFFFFF';
var MenuQuatONcolor = '#FFFFFF';

var MarketID = 0;	// Zero value calls the code for the corporate menu.

//TODO: either remove this if-else block or fix it
if (true)
{
	// this short circuits the whole if-else block
}
else if (sBrowser == "Msie55Up")
{	
	// Choose dynamic/static menu. 	
	document.write('<link rel="stylesheet" href="/Includes/MenuDynamic.css" type="text/css" />');	
	// Error handler for CM tool
	document.write('<script type="text/javascript" src="/Includes/Javascript/CmErrorHandler.js"></script>');		
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuSwap.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuBuilder.js"></script>');		
	document.write('<script type="text/javascript" src="/Includes/Javascript/MenuArrays/MenuArray' + MarketID + '.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/CorporateJavascriptMenuIE.js"></script>');
}
else if (sBrowser == "Firefox")
{	
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuSwap.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuBuilder.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/MenuArrays/MenuArray' + MarketID + '.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/CorporateJavascriptMenuNS.js"></script>');	
	// Choose static/dynamic menu
	document.write('<link rel="stylesheet" href="/Includes/MenuDynamic.css" type="text/css" />');
}
else if (sBrowser == "Netscape702Up")	/* Netscape 7.02 and above */
{
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuSwap.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuBuilder.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/MenuArrays/MenuArray' + MarketID + '.js"></script>');	
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/CorporateJavascriptMenuNS.js"></script>');	
	// Choose static/dynamic menu
	document.write('<link rel="stylesheet" href="/Includes/MenuDynamic.css" type="text/css" />');
}
else if (sBrowser == "Safari" )
{
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuSwap.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuBuilder.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/MenuArrays/MenuArray' + MarketID + '.js"></script>');
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/CorporateJavascriptMenuSafari.js"></script>');	
	// Choose static/dynamic menu
	document.write('<link rel="stylesheet" href="/Includes/MenuDynamic.css" type="text/css" />');
}
else if (sBrowser == "Gecko")
{
	if(agt.indexOf('netscape/7.1') != -1 || agt.indexOf('5') != -1)
	{
		document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuSwap.js"></script>');
		document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuBuilder.js"></script>');
		document.write('<script type="text/javascript" src="/Includes/Javascript/MenuArrays/MenuArray' + MarketID + '.js"></script>');	
		document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/CorporateJavascriptMenuNS.js"></script>');		
		// Choose static/dynamic menu
		document.write('<link rel="stylesheet" href="/Includes/MenuDynamic.css" type="text/css" />');
	}
	else
	{
		// Static menu w/o dropdowns
		document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/BlankMenuGecko.js"></script>');		
		// Static menu with secondary items displayed.
		document.write('<link rel="stylesheet" href="/Includes/MenuStatic.css" type="text/css" />');
	}
}
else if (sBrowser == "Opera")
{
		document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuSwap.js"></script>');
		document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/MenuBuilder.js"></script>');
		document.write('<script type="text/javascript" src="/Includes/Javascript/MenuArrays/MenuArray' + MarketID + '.js"></script>');	
		document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/CorporateJavascriptMenuNS.js"></script>');		
		// Choose static/dynamic menu
		document.write('<link rel="stylesheet" href="/Includes/MenuDynamic.css" type="text/css" />');
}
else	// Static menu w/o dropdowns (IE on Mac hits this.)
{
	document.write('<script type="text/javascript" src="/Includes/Javascript/Menu/BlankMenu.js"></script>');		
	// Static menu with secondary items displayed.
	document.write('<link rel="stylesheet" href="/Includes/MenuStatic.css" type="text/css" />');
}
			
function setCookie(name, value, expires, path, domain, secure)
{
	var curCookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	"; path=" + ((path) ? path : "/") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "") + ";";
	document.cookie = curCookie;
}

function GetCurrentTime()
{
	var dNow = new Date();
	return " | " + aMonths[dNow.getMonth()] + " " + dNow.getDate() + ", " + dNow.getFullYear();
}

/*****************************************
	Trim a string to fit. Shortens and adds ellipsis (...).
	Pass in string and max length.
	Removes broken character entity at end of line to prevent rendering '&#16' for '&#160;', etc.
*****************************************/
function TrimString(LongString,MaxLength)
{	
	//Check for end-of-line partial character entity after trimming a string to prevent rendering something like '&#16' for '&#160;'
	var oRegYes = new RegExp("(&.{0,5}\.\.\.)$" );
	var NewString = LongString;
		
	if (LongString.length > MaxLength)
	{
		NewString = LongString.substr(0,MaxLength) + "... ";
		if( NewString.match(oRegYes) )
			{NewString = NewString.replace(oRegYes,"... ");}
	}
	return NewString;
}

/********************************************
	Browser sniff
		Returns:			For:
		--------			-------------
		Msie				IE before 5.5
		Msie55Up			IE 5.5 and later
		Netscape			NN before 7
		Netscape702Up		NN 7.02 and 8
		Netscape7To702		NN 7.0, 7.01 (because of Flash bug fixed in 7.02)
		Firefox				Mozilla Firefox
		Safari				Safari. Moved above Gecko since Safari's string contains "like Gecko".
		Gecko				Other gecko browsers besides the above NN, Firefox
		na					None of the above
*********************************************/	
function GetBrowser()
{
	var sAgent = navigator.userAgent.toLowerCase();
	var sBrowser;

	if (sAgent.indexOf('msie') != -1)
	{
		sBrowser = "Msie";
		if (sAgent.indexOf('msie 6') != -1 || sAgent.indexOf('msie 5.5') != -1 || sAgent.indexOf('msie 7') != -1)
			sBrowser = "Msie55Up";
	}
	else if (sAgent.indexOf('netscape') != -1)
	{
		sBrowser = "Netscape";
		if(sAgent.indexOf('netscape/7') != -1 || sAgent.indexOf('netscape/8') != -1)
		{
			sBrowser = "Netscape702Up";
			if(sAgent.indexOf('netscape/7.0') != -1 && (sAgent.indexOf('netscape/7.02') == -1))
				{sBrowser = "Netscape7To702";}
		}
	}
	else if (sAgent.indexOf('firefox') != -1)	{sBrowser = "Firefox";}
	else if (sAgent.indexOf('safari') != -1)	{sBrowser = "Safari";}
	else if (sAgent.indexOf('gecko') != -1)		{sBrowser = "Gecko";}
	else if (sAgent.indexOf('opera') != -1)		{sBrowser = "Opera";}
	else	sBrowser = "na";
	return sBrowser;
}

// Fix the MS activate issue for the Flash movie.
var activeXTagsReloaded = false;
function reloadActiveXTags()
{	
	// debug 		alert("called function 'reloadActiveXTags'");
	
	if(activeXTagsReloaded) {return;}
	activeXTagsReloaded = true;

	var tagTypeArray = new Array("embed","applet","object");
	for(var h=0; h < tagTypeArray.length; h++)
	{
		var tags = document.getElementsByTagName(tagTypeArray[h]);
		var ids = new Array(tags.length);
		
		for(i = 0;i < tags.length;i++)
		{
			tags[i].setAttribute("id", "flash" + i );	// Assign an ID since this version of the tool does not.
			ids[i] = tags[i].getAttribute("id");
		}

		for(i = 0; i < ids.length; i++)
		{
			if(!ids[i]) return;
			var tag = document.getElementById(ids[i]);

			var paramStrings = new Array(tag.childNodes.length);
			for (var j = 0; j < tag.childNodes.length; j++)
			{
				if (tag.childNodes[j].tagName == "PARAM")
				{
					paramStrings[j] = tag.childNodes[j].outerHTML;
				}
			}

			var parNode = tag.parentNode;
			var tagHTML = parNode.innerHTML;
			var tagName = tagTypeArray[h];

			var regStr = "(<" + tagName + "[\\s\\S]*?id=['\\\"]?" + ids[i] + "['\\\"]?[\\s\\S]*?>)([\\s\\S]*?</" + tagName + ">)";
			var reg = new RegExp(regStr,"gi"); //the innerHTML does not contain the param tags...
			
			reg.input = tagHTML;

			var splitObjectTag = reg.exec(tagHTML);

			var outputHtml = splitObjectTag[1];
			for(var k = 0;k < paramStrings.length;k++)
			{
				outputHtml += paramStrings[k];
			}
			outputHtml += splitObjectTag[2];
			
			var span = document.createElement("span");
			
			span.innerHTML = outputHtml;
			parNode.insertBefore(span,tag);
			tag.style.display = "none";
			parNode.removeChild(tag);
		}
	}
}