var navBuilt = false;

// Browser Detection
var agt = navigator.userAgent.toLowerCase();
if ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) 
	var browser = "IE";
else if (agt.indexOf("opera") != -1)
	var browser = "OP";
else if (agt.indexOf("netscape6") != -1)
	var browser = "NN6";
else if (agt.indexOf("netscape/7") != -1)
	var browser = "NN7";
else if (agt.indexOf("safari") != -1)
	var browser = "SAF";
else if (agt.indexOf("mozilla") != -1)
	var browser = "MOZ";

// Platform Detection
var platform = (navigator.appVersion.indexOf("Windows") != -1) ? "win" : "mac";

// Flash Detection
var flash2Installed = false;
var flash3Installed = false;
var flash4Installed = false;
var flash5Installed = false;
var flash6Installed = false;
var maxVersion = 6;            
var actualVersion = 0;         
var hasRightVersion = false;   
var jsVersion = 1.0;

jsVersion = 1.1;

if (browser == "IE" && platform == "win"){
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
	document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
	document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
	document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
	document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
	document.write('</SCR' + 'IPT\> \n');
}

function hasFlash(requiredVersion) {  
	 // If navigator.plugins exists...
	 if (navigator.plugins) {
		// ...then check for flash 2 or flash 3+.
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
			var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
			flash2Installed = flashVersion == 2;    
			flash3Installed = flashVersion == 3;
			flash4Installed = flashVersion == 4;
			flash5Installed = flashVersion == 5;
			flash6Installed = flashVersion >= 6;
		}
	}
	for (var i = 2; i <= maxVersion; i++) {  
		if (eval("flash" + i + "Installed") == true) actualVersion = i;
	}
	if (navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 3;  
	if (actualVersion >= requiredVersion) {hasRightVersion = true;}
	return hasRightVersion;
}
// End Flash Detection

// Column Sponsorships
function colsponsor(id) {
	if (id == '6') {
		this.img = "/images/outsiders/90x20_sony.gif";
		this.url = 'http://a'+'d.doubl'+'ecli'+'ck.net/cl'+'ick;h=v5'+'|3301|0|0|%2a|n;2'+'1474643;0-0;0;119'+'18866;944-90|'+'20;12338778|'+'12356674|'+'1;;~ss'+'cs=%3fhttp://so'+'nystyle.com/is-bi'+'n/INT'+'ERSHOP.enfi'+'nity/e'+'CS/Sto'+'re/ca'+'tcompass?Categ'+'oryName=hid_tv_BR'+'AVIA&DC'+'MP=Bra'+'via&HQS=So'+'ny_Bra'+'v'+'ia&DC'+'MP=fo'+'xnews&H'+'QS=foxn'+'ews_Bra'+'viaDomi'+'nation_FO'+'X411Lo'+'goNavBa'+'r_90x20_SS'+'&CMP=Bra'+'via';
		this.name = "Sony Bravia";
	} else {
		this.img = "";
		this.url = "";
		this.name = "";
	}
}
function writeNavSponsor(id) {
	var spon = new colsponsor(id);
	var sponString = '';
	if (spon.name != '') {var sponString = ' <font style="font-weight:normal;">(Sponsored by <b><a href="'+spon.url+'" target="_blank" style="color:#999999;">'+spon.name+'</a></b>)</font>';}
	return sponString;
}
function writeOnlyOnSponsor(id) {
	var spon = new colsponsor(id);
	var sponString = '';
	if (spon.name != '') {var sponString = '<br>(Sponsored by <b><a href="'+spon.url+'" target="_blank" style="color:#999999;">'+spon.name+'</a></b>)';}
	document.write(sponString);
}
function writeRootColSponsor(id) {
	var sponsor = new colsponsor(id);
	if (sponsor.img != '') {
		document.write('<div><a href="'+sponsor.url+'" target="_blank"><img src="'+sponsor.img+'" width=90 height=20 border=0></a></div>');
	}
}
// End Column Sponsorships

var hideDivs = new Array();
function loader(pageType,section_id) {
	if (pageType.indexOf("root") == -1) {flashBanner();}
	if (pageType.indexOf("Preview") == -1 && pageType != 'webmd') {loadAccess();}
	if (pageType == 'webmd') {screenWidth = 1024;}
	if (pageType == "root" || pageType == "rootPreview") {
		browserWarning();
		resizeRootHeads();
	} else if (pageType == "fnctv") {
		scheduleAnchor();
	} else if (pageType.indexOf("front") != -1 && section_id == 64) {
		//showMap();
	}
	if (section_id == 64) {
		var loadElecImg = new Image;
		loadElecImg.src = fnDomain+"/images/rede04/btn_yd_dwn.gif";
	}
	// GET DIVS TO HIDE FOR 800 MONITORS
	for (var x=0;x<10;x++) {if (get("hide"+x)) {hideDivs[x] = "hide"+x;} else if (x > 0) {break;}}
}

function browserWarning() {
	if (!document.getElementById) {
		var crumbBrowser=unescape(document.cookie);
	    if (crumbBrowser.indexOf("foxBadBrowserPop=") == -1) {
			var warnPage = fnDomain+'/broswerWarning/upgradePop.html'
			pop(warnPage,'badBrowserWin',500,160,'no','no');
			document.cookie = "foxBadBrowserPop=1";
	    }
	}
}

function get(id) {return document.getElementById(id);}

// Hide/Show Layer Scripts for Shows Div
function showLayer(id) {        
	var g = get(id)
	if (g != null)          
		g.style.visibility = "visible";
}
function hideLayer(id) {
	var g = get(id)        
	if (g != null)        
		g.style.visibility = "hidden";
}

// Daughter Window Script
function pop(mypage, myname, w, h, scroll, menu) {
	var winl = ((screen.width - w) / 2) - 5;
	var wint = ((screen.height - h) / 2) - 25;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable=no';
	if (menu=='yes') {winprops += ',menubar=yes,toolbar=yes,locationbar=yes';}
	win = window.open(mypage, myname, winprops);
	win.focus();
}

// Map Pop Script to launch daughter win w/ image
function mapPop(imageUrl,title,w,h) {
	if (browser == "IE" && navigator.platform == "MacPPC"){
		w = w - 16;
		h = h - 16;
	}
	var dimensions = "width="+w+",height="+h; 
	var winName = title.replace(/ /g,""); 
	var title = title+" -- FOXNews.com"; 
	var win = window.open("",winName,dimensions); 
	var d = win.document; 
	d.writeln("<html>"); 
	d.writeln("<head><title>"+title+"</title></head>"); 
	d.writeln("<body marginheight=0 marginwidth=0 topmargin=0 leftmargin=0 onLoad=window.focus();>"); 
	d.writeln("<img src="+imageUrl+" border=0>"); 
	d.writeln("</body>"); 
	d.writeln("</html>"); 
	d.close(); 
}

// Video Player Launch Scripts
function videoPlayer(vidFile,headline,format,hd,category,relID) {
	if (!hd || hd == "") {hd = "acc";}
	if (format == "Campaign_Carl" || format == "5_-_You_Decide") hd = "elec";
	var h = (screen.width > 1000 && browser != "OP") ? 655 : 510;
	var winState = (screen.width > 1000 && browser != "OP") ? "exp" : "col";
	var vidUrl = fnDomain+"/video2/resize05.html?"+vidFile+"&"+escape(format)+"&"+escape(headline)+"&"+hd+"&"+escape(category)+"&"+relID+"&"+winState;
	var winl = ((screen.width - 700) / 2) - 5;
	winprops = 'height='+h+',width=700,top=5,left='+winl;
	fncVidWin = window.open(vidUrl, 'fncVidPlayer', winprops);
	fncVidWin.focus();
}

// FoxFan Video Player
function foxfanPlayer(vidID,headline,format) {
	videoPlayer(vidID,headline,format,'ff','Fox Fan','');
}

// Poll Scripts
var pollAnswer = "none";
function new_popup_results(pollID,format) {
	resultsUrl = "http://www2.foxnews.com/polls/poll_results/bg_results_"+format+".jpg__basic_"+pollID+".htm";
	pop(resultsUrl,'pollVote','550','400','no','no');
}

function new_submit_vote(pollID,format) {
	if (pollAnswer == "none") {
		alert("You must vote to submit this poll.");
	} else {
		voteUrl = "http://www2.foxnews.com/polls/view.asp?pollid="+pollID+"&format="+format+"&answer="+pollAnswer;
		pop(voteUrl,'pollVote','550','400','no','no');
	}
}

function foxnews_setHomePage() {
	if (browser == "IE") {
		version = navigator.appVersion.toLowerCase();
		if (( version.search (/macintosh/) == -1) && (version.search (/msie 4/) == -1))	{
			makehome.style.behavior='url(#default#homepage)';makehome.setHomePage("http://www.foxnews.com");
		} else {
			window.location = fnDomain+"/story/0,2933,80231,00.html";
		}
	} else {
		window.location = fnDomain+"/story/0,2933,80231,00.html";
	}
}

function ltrim(s) {return s.replace( /^\s*/, "" );}
function rtrim(s) {return s.replace( /\s*$/, "" );}
function trim(s) {return rtrim(ltrim(s));}

// Search Validation Script Below
function searchSub(frm) {
	if (trim(frm.qkw.value) == "") {
		alert("Please enter text into the text field.");
		return false;
	} else {
		_hbSet("search.keywords",_hbxStrip(frm.qkw.value));
		_hbSet("search.results","1");
		_hbSet("search.attr1","Site Search");
		_hbSet("search.attr2",_hbxStrip(sectionName));
		_hbSet("search.attr3",frm.name);
		_hbSend();
	}
}

function simpleRoll(id,fcolor,bkgd) {
	get(id).style.backgroundColor = bkgd;
	get(id).style.color = fcolor;
}

function elecRoll(id,st) {
	get(id).style.backgroundImage = "url(/images/rede04/btn_yd_"+st+".gif)";
}

function resizeRootHeads() {
	var headHeight = get("bigLeft").offsetHeight  - 22;
	var resizeDivs = false;
	if (numBTStories > 1) {
		var rankHt1 = get('btRank1').offsetHeight;
		var rankHt2 = get('btRank2').offsetHeight;
		if (numBTStories == 2 && rankHt1 < rankHt2) {
			get('btRank1').style.height = browser == "IE" ? (rankHt2 + 2) : rankHt2;
			var resizeDivs = true;
		} else if (numBTStories == 3) {
			var rankHt3 = get('btRank3').offsetHeight;
			if ((rankHt1 + rankHt3 + 6) < rankHt2) {
				var htDiff = rankHt2 - (rankHt1 + rankHt3 + 6);
				var newRankHt1 = htDiff % 2 == 0 ? htDiff/2 : (htDiff+1)/2;
				var newRankHt3 = browser == "IE" ? (htDiff - newRankHt1) + 1 : (htDiff - newRankHt1);
				get('btRank1').style.height = rankHt1 + newRankHt1;
				get('btRank3').style.height = rankHt3 + newRankHt3;
				var resizeDivs = true;
			}
		}
	}
	if (resizeDivs && numBTStories == 3) 
		get("rootLateHeads").style.height = browser == "IE" ? headHeight : headHeight + 2;
	else 
		get("rootLateHeads").style.height = headHeight;
}

// MISC GLOBAL PAGE SCRIPTS
function botNav() {
	var bN = '<a href="http://www.foxsports.com/?CMP=BAC-92AF24163715" target="_blank">FOX SPORTS</a> | ';
	bN += '<a href="javascript:foxnews_setHomePage(\'\');" name="makehome">MAKE FOXNEWS.COM YOUR HOME PAGE</a> | ';
	bN += '<a href="'+fnDomain+'/foxfan/international.html">FOX AROUND THE WORLD</a><br>';
	bN += '<a href="http://shop.ecompanystore.com/foxnews/FOX_shop.asp" target="_blank">FOX NEWS SHOP</a> | ';
	bN += '<a href="'+fnDomain+'/foxfan/contact.html">E-MAIL US</a> | ';
	bN += '<a href="'+fnDomain+'/story/0,2933,95396,00.html">UPGRADE CENTRAL</a> | ';
	bN += '<a href="'+fnDomain+'/fncfaq.html">FAQs</a>';
	return bN;
}

function footer() {
	var f = '<div class="capblack">';
	f += '<a href="'+fnDomain+'/rss/index.html" style="font-size:12px; font-weight:bold;">Click here for FOX News RSS Feeds</a><br><br>'
	f += '<a href="javascript:pop(\''+fnDomain+'/mediakit/ad_firstpage.html\',\'mediaWin\',650,485,\'no\',\'no\');" style="font-size:12px; font-weight:bold;">Advertise on FOX News Channel, FOXNews.com and FOX News Radio</a>';
	f += '<br><a href="'+fnDomain+'/story/0,2933,27906,00.html">Jobs at FOX News Channel.</a>';
	f += '<br><a href="javascript:pop(\''+fnDomain+'/projects/internships\',\'internsWin\',640,480,\'no\',\'no\');">Internships at FOX News Channel (Accepting Fall Applications Now).</a>';
	f += '<br><A HREF="'+fnDomain+'/other/termsofuse.html">Terms of use.</a>&nbsp;&nbsp;<A HREF="'+fnDomain+'/other/privacy.html">Privacy Statement.</A>&nbsp;&nbsp;For FOXNews.com comments write to';
	f += '<br><A HREF="mailto:foxnewsonline@foxnews.com">foxnewsonline@foxnews.com</A>;&nbsp;&nbsp;For FOX News Channel comments write to';
	f += '<br><A HREF="mailto:comments@foxnews.com">comments@foxnews.com</A><br>&copy; Associated Press.  All rights reserved.';
	f += '<br>Copyright &copy; 2005 <a href="'+fnDomain+'/story/0,2933,89127,00.html">ComStock, Inc.</a>';
	f += '<br>This material may not be published, broadcast, rewritten, or redistributed.';
	f += '<br><br>Copyright 2006 FOX News Network, LLC.  All rights reserved.<br>All market data delayed 20 minutes.';
	f += '</div>';
	return f;
}

// E-Comp form submission scripts
function eCompSubmit(frm) {
	var eCompAction = frm.ecompType[0].checked ? "compname" : "symbol";
	if (frm.defaultText.value == "") {
		alert("You must enter a Company Name or Symbol to continue.");
	} else {
		_hbSet("search.keywords",_hbxStrip(frm.defaultText.value));
		_hbSet("search.results","1");
		_hbSet("search.attr1","Ecomp Search");
		_hbSet("search.attr2",_hbxStrip(sectionName));
		_hbSet("search.attr3",frm.name);
		_hbSend();
		window.location = "http://prod.ecomponline.com/cobrand/cobrand.asp?cobrand_id=1&"+eCompAction+"="+frm.defaultText.value;
	}
	return false;
}

// Business Form Validation
function subQuote(frm) {
	if (trim(frm.searchString.value) == "") {
		alert("Enter a stock symbol to get its quote.");
		return false;
	} else {
		_hbSet("search.keywords",_hbxStrip(frm.searchString.value));
		_hbSet("search.results","1");
		_hbSet("search.attr1","Stock Quote Search");
		_hbSet("search.attr2",_hbxStrip(sectionName));
		_hbSet("search.attr3",frm.name);
		_hbSend();
	}
}
function subSymbol(frm) {
	if (trim(frm.searchString.value) == "") {
		alert("Enter a company name to get its symbol.");
		return false;
	} else {
		_hbSet("search.keywords",_hbxStrip(frm.searchString.value));
		_hbSet("search.results","1");
		_hbSet("search.attr1","Stock Symbol Search");
		_hbSet("search.attr2",_hbxStrip(sectionName));
		_hbSet("search.attr3",frm.name);
		_hbSend();
	}
}

function popTracker() {
	var pT = window.open('/youdecide2004/tracker/index.html','foxInteractive8','width=790,height=450');
	pT.focus();
}

function _hbxStrip(a){
	a = a.split("|").join("");
	a = a.split("&").join("");
	a = a.split("'").join("");
	a = a.split("#").join("");
	a = a.split("$").join("");
	a = a.split("%").join("");
	a = a.split("^").join("");
	a = a.split("*").join("");
	a = a.split(":").join("");
	a = a.split("!").join("");
	a = a.split("<").join("");
	a = a.split(">").join("");
	a = a.split("~").join("");
	a = a.split(";").join("");
	a = a.split(" ").join("+");
	return a;    
}
