// functionality for standalone interactives and non-WB pages
// Author - Brenden West
// updated - 11/30/05

// detect query strings
var aQuery = getQueryParams();
var parentData = (aQuery["parentid"]) ? eval("top."+aQuery["parentid"]) : "";
if (!window.liveG) { liveG="http://g.msn.com/0MNAU39/1?"; }

if (parentData) {
	appBG = parentData.appBG[1];
	margin = parentData.copyMargin;
	iWidth = parentData.copyWidth-18-(2*margin);
	linkHover = parentData.sNavLinkHover;
	textColor = parent.getSingleStyle(parentData.sBodyFont,"color");
	headlineStyle = parentData.headlineStyle;
	sBodyFont = parentData.sBodyFont;
	headlineStyle = parentData.headlineStyle;
} else {
	appBG = (aQuery["appbg"]) ? aQuery["appbg"] : "bgcolor=FFFFFF";
	margin = (aQuery["margin"]) ? aQuery["margin"] : 0;
	iWidth = (aQuery["w"]) ? aQuery["w"] : 360;
	linkHover = "color:cc0000;";
	textColor = "color:000000;";
	headlineStyle = "";
}

if (aQuery["type"]=="v") { margin=0; }
if (aQuery["fmt"] && aQuery["fmt"].indexOf("frame") > -1) { 
	document.write("<html><body " +appBG+ " topmargin=" +margin+ " leftmargin=" +margin+ " marginheight=" +margin+ " marginwidth=" +margin+ "><STYLE type=TEXT/CSS> A { " +textColor+ " } A:hover { " +linkHover+ " } A:visited { " +textColor+ " } B { " +headlineStyle+ " } </STYLE><CENTER>");
}

function inframeSurvey(oLV) {
	oLV.appWidth = iWidth;
	oLV.columns = (aQuery["cols"]) ? aQuery["cols"] : 1;
	if (window.sBodyFont) { oLV.sBodyFont = sBodyFont; }
	if (window.headlineStyle) { oLV.headlineStyle = headlineStyle; }
	if (aQuery["brand"] == "0") { oLV.appHeader = ""; oLV.appFooter = ""; }
	if (!aQuery["parentid"]) {
		oLV.appBG = "bgcolor=#FFE" ;
		oLV.bDhtml=0;
		oLV.appHeader = "<img src=\"http://msnbcmedia.msn.com/i/msnbc/Components/ColorBoxes/Styles/ColorBoxImages(GlobalOnlyPlease)/livevote.gif\" align=absmiddle>Live Vote" ;			
		oLV.sHedStyle = "background-color:#FFCC66;color:#000000;" ;
		oLV.copyBorder = "border:1px #CCCCCC solid; ";
	}
	DisplayLV(oLV);
}

function inframeVideo(filename,iWidth) {
	var isMac = (navigator.userAgent.toLowerCase().indexOf("mac") > -1);
	// ad, promo disabled. Speed detection handled by player.
	if (filename.toLowerCase().indexOf("://") > -1) { var videoUrl = filename; } else if (parseInt(filename) == filename) { var videoUrl = "http://www.msnbc.msn.com/id/" +filename+ "/displaymode/1158"; } else { var videoUrl = (!isMac) ? "http://www.msnbc.com/modules/video/asx.aspx?v=" +filename : "mms://msnbc.wmod.llnwd.net/a275/e1/video/100/" + filename + ".asf" ; }


	if (!iWidth) { iWidth=320; }
	var iHeight = Math.round(iWidth*(240/320))+64

	var sTmp = "<table cellpadding=0 cellspacing=0 border=0 width=" +iWidth+ "><tr valign=top><td>";

	if (document.all && isMac) { 
		location.href = videoUrl;
	} else if (document.all) {
		sTmp += "<object id=wmp width=" +iWidth+ " height=" +iHeight+ " classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' standby='Loading Microsoft Media Player compnents...' type='application/x-oleobject'><param name=URL value=" +videoUrl+ "><param name=uiMode value=\"mini\"><param name=autoStart value=1><param name=stretchToFit value=0><param name=EnableContextMenu value=0></object>";
	} else {
		sTmp += "<embed target=_blank type=application/x-mplayer2 pluginspage=http://www.microsoft.com/windows/windowsmedia/player/download/download.aspx src=\"" +videoUrl+ "\" name=NSPlay width=" +iWidth+ " height=" +iHeight+ " ShowControls=1 EnableContextMenu=0 ShowAudioControls=1 ShowPositionControls=0 ShowTracker=0 ShowStatusBar=1 uiMode=\"mini\" AutoStart=1 AllowChangeDisplaySize=0 DisplaySize=0 autosize=0></embed>";
	}

	sTmp += "</td></tr>";

	if (window.parentData) {
		for (i=0;i<parentData.length;i++) {
			if (parentData[i][0] == filename) {
				sTmp += "<tr><td style='padding:0px 5px 0px 5px;'><font face=arial size=1 style=" +textColor+ ">"+parentData[i][2]+"</font></td></tr>";break;
			}
		}
	}
	sTmp += "</table>";
	return sTmp;
}

function getQueryParams() {
	// COMMON function
	var sQuery = location.search.substring(1);
	var aTmp = new Array();
	if (sQuery) {
		aTmp = sQuery.split("&");
		for (var i=0;i<aTmp.length;i++) {
			var aTmp2 = aTmp[i].split("=");
			aTmp[aTmp2[0].toLowerCase()] = aTmp2[1];
		}
	} 
	return aTmp;
}

// override site-wide function to fix link
function SSOpen(nId, nSize, sFrame, sVar1, sVar2) {
	if (!nId) return;
	if (!nSize||nSize=='') nSize = 0;
	oUser=new UberSniff();
	var nW=oUser.screenWidth;
	var sOptions="resizable=no,top=0,left=0,screenx=0,screeny=0";
	var sHref = "http://www.msnbc.msn.com/id/"+nId+"/displaymode/1107/";
	if (sFrame&&sFrame!='')sHref+="framenumber/"+sFrame+"/";
	if (sVar1&&sVar1!='')sHref+="var1/"+sVar1+"/";
	if (sVar2&&sVar2!='')sHref+="var2/"+sVar2+"/";
	var bNew = true;
	if (((nSize==0)||(nSize==2))&&nW>=935) {
		sOptions+=",width=935,height=700";
		sHref+="s/2/";
	} else if (((nSize==0)||(nSize==1))&&nW>=780) {
		sOptions+=",width=780,height=534";
		sHref+="s/1/";
	} else {
		bNew = false;
	}
	if (!bNew) {
	var xwinopen=window.open(sHref,"slideshow");
	} else {
	var xwinopen=window.open(sHref,"slideshow",sOptions);
		if(oUser.nn>3||oUser.ie>3) {xwinopen.focus();}
	}
}

// general code for displaying surround video images
function displaySurround(filename,iWidth,iHeight,altImg) {
	// combine w/ getTeaseImg or addImg2Body
	var ua = navigator.userAgent.toLowerCase();
	var caption = "";
	if (window.parentData) {
		for (i=0;i<parentData.length;i++) {
			if (parentData[i][0] == filename) {
				var oItem = parentData[i];
				if (parentData.altPath && filename.indexOf("/") != 0 && filename.indexOf("http:") == -1) { filename = parentData.altPath + filename; }
			}
		}
	} else if (typeof filename == "object") { var oItem = filename;filename=oItem[0]; }
	if (oItem) {
		altImg=oItem[3];
		if (!iWidth) { iWidth = oItem[14]; }
		if (!iHeight) { iHeight = oItem[14]; }
		if (oItem[11] || oItem[12]) { 
			var sSep = (oItem[11] && oItem[12]) ? " / " : ""; 
			caption += "<div class=credit style=\"text-align:right;margin-bottom:5px;\">" +oItem[11]+ sSep +oItem[12]+ "</div>"; 
		}
		if (oItem[2]) { caption += "<font face=arial size=1 style=" +textColor+ ";padding:0px 5px 0px 5px;>"+oItem[2]+"</font>"; }
	}
	if (!iWidth) { iWidth=320; }
	if (!iHeight) { iHeight=240; }
	var sTmp = "<table cellpadding=0 cellspacing=0 border=0 width=" +iWidth+ "><tr valign=top><td>";

	if (ua.indexOf("mac") > 0 || ua.indexOf("win16") > 0 || ua.indexOf("aol 3.0") > 0) {
		sTmp = "<img src='" +sAltImg+ "'></br>We are sorry. It appears that you're browser isn't able to display this Surround Video feature.";
	} else if (filename.indexOf(".ips") > -1 || filename.indexOf(".ipx") > -1) {
		sTmp += "<OBJECT ID='IpixX1' WIDTH=" +iWidth+ " HEIGHT=" +iHeight;
		sTmp += "CLASSID='CLSID:11260943-421B-11D0-8EAC-0000C07D88CF'";
		sTmp += "CODEBASE='http://www.ipix.com/download/ipixx.cab#version=6,2,0,5'>";
		sTmp += "<PARAM NAME='IPXFILENAME' VALUE='" +filename+ "'>";
		sTmp += "<embed src='" +filename+ "' border=0 width=" +iWidth+ " height=" +iHeight+ " palette='FOREGROUND' type='application/x-ipix' pluginsPage='http://www.ipix.com/cgi-bin/download.cgi'>";
		sTmp += "</embed></OBJECT>";
	} else if (ua.indexOf("msie") >0) {
		sTmp += "<OBJECT ID=MySurround";
		sTmp += "            CLASSID='clsid:928626A3-6B98-11CF-90B4-00AA00A4011F' TYPE='application/x-oleobject'";
		sTmp += "            ID=Surround1";
		sTmp += "            CODEBASE='http://autos.msn.com/components/ocx/survid/MSSurVid.cab#Version=1,2,0,10'";
		sTmp += "  width=" +iWidth+ " height=" +iHeight+ ">";
		sTmp += "  <param name='Image' value='" +filename+ "'>";
		sTmp += "</OBJECT>";
	}
	else if (navigator.mimeTypes['application/x-npwrap']) {
		sTmp += "<embed type='application/x-npwrap' CLASSID='928626A3-6B98-11CF-90B4-00AA00A4011F' NPCODEBASE='http://carpoint.msn.com/components/npwrap/npwrap.cab#Version=1,0,0,15' CODEBASE='http://autos.msn.com/components/ocx/survid/MSSurVid.cab#Version=1,2,0,10' CONTROLNAME='Microsoft Surround Video Version 1.2' PLUGINSPAGE='http://www.msnbc.com/netscape_surround_plugin.asp' WIDTH=" +iWidth+ " HEIGHT=" +iHeight+ " Image='" +filename+ "'> </embed>";
	}
	sTmp += "<br clear=all>" + caption;
	return sTmp + "</td></tr></table>";
}

function setNavBrand(sectionName,spat) {
	// change sub-section name or spat for msnbc stories
	var bIE = (document.all && document.getElementById);
	if (sectionName || spat || bantop) {
		var bFound=0; var nTable = 0;
		if (document.getElementById) {
			var aTables = document.getElementsByTagName("TABLE");
		} else if (document.all) {
			var aTables = document.all.tags("TABLE");
		}
		for (i=0;i<aTables.length;i++) {
			if (aTables[i].width == 649 && !bFound && aTables[i].innerText.indexOf("MSNBC Home") > -1) { // breadcrumb table
				bFound=1; nTable=i;
				var sTmp = aTables[i].childNodes[0].childNodes[0].childNodes[0].innerHTML;

				sTmp = (sTmp.indexOf(sectionFront) > -1) ? sTmp.substring(0,sTmp.indexOf("</SPAN><SPAN")+7) : sTmp;
				sTmp += "<SPAN class=\"cFC0 b f70\"> &#187; </SPAN><SPAN class=\"f65\"> <a href=\"http://www.msnbc.msn.com/id/" +sectionFront+ "/\" class=\"lk1\">" +sectionName+ "</a></SPAN>";
				aTables[i].childNodes[0].childNodes[0].childNodes[0].innerHTML = sTmp;

				// insert section tabs 
				if (sectionTabs) { aTables[i].insertAdjacentHTML("afterEnd", "<div class=\"linkSubSectionTab bgCCC p13\" style='height:24px;width:649px;'>" +sectionTabs+ "</div>"); }

				// insert spat after nav banner
				aTables[i+1].insertAdjacentHTML("afterEnd", spat + "<br>");
			}

		}
	}
}


function linksTopstory(oLinks,CM) {
	if (!oLinks.BoxStyle) { oLinks.BoxStyle = 3053751; }
	if (!oLinks.appWidth) { oLinks.appWidth = 225; }
	var icon = (oLinks.HeaderIcon) ? oLinks.HeaderIcon : "";
	if (!CM) { CM = "TopStories"; }
	var gName = (window.gEnabled) ? liveG : "";
	var fontSize = (oLinks.appWidth == 225) ? "style=font-size:90%" : "";

	document.write("<div class=\"box_" +oLinks.BoxStyle+ "\" style=\"width:225;\"><table width=\"" +oLinks.appWidth+ "\" cellspacing=\"0\" cellpadding=\"0\" class=\"boxH_" +oLinks.BoxStyle+ "\"><tr><td width=\"1%\" class=\"boxHI_" +oLinks.BoxStyle+ "\">" +icon+ "</td><td width=\"*\" nowrap=\"true\" class=\"boxHC_" +oLinks.BoxStyle+ "\" " +fontSize+ "><div class=\"textSmallBold\">" +oLinks.appHeader.toUpperCase()+ "</div></td></tr></table><table width=\"" +oLinks.appWidth+ "\" cellspacing=\"0\" cellpadding=\"0\" class=\"boxB_" +oLinks.BoxStyle+ "\"><tr valign=\"top\"><td class=\"boxBI_" +oLinks.BoxStyle+ "\">");
	for (i=0;i<oLinks.length;i++) {
		var gString = (window.gEnabled) ? "?CM=" +CM+ "&CE=" + (i+1) + "&HL=" + escape(oLinks[i][1]) : "";
		document.write("<div class=\"textHang\" style=\"padding-bottom:3px;\"><span class=\"bulletRedSmall\">&#0149; </span><span class=\"headlineList2\"><a href=\"" + gName + oLinks[i][0] + gString + "\">" +oLinks[i][1]+ "</a></span></div>");
	}
	document.write("</td></tr></table></div>");
}

function linksNext(oLinks) {
	var gName = (window.gEnabled) ? liveG : "";

	if (!oLinks.appWidth) { oLinks.appWidth = 460; }
	var boxStyle = (oLinks.BoxStyle) ? oLinks.BoxStyle : 3053751; 
	var sTmp = "<table width=\"" +oLinks.appWidth+ "\" cellspacing=0 cellpadding=0 class=\"boxH_" +boxStyle+ "\"><tr><td width=\"*\" nowrap=\"1\" class=\"boxHC_" +boxStyle+ "\"><div class=\"textSmallBold\">" + "&nbsp;MORE FROM " +oLinks.appHeader.toUpperCase() + "</div></td></tr></table><table width=\"" +oLinks.appWidth+ "\" cellspacing=\"0\" cellpadding=\"0\" class=\"boxB_" +boxStyle+ "\"><tr valign=\"top\"><td><div style=\"width:100%;background-color:#ffffff;height:100%;\"><div style=\"padding:10px;width:16%;float:left;\"><a id=\"nextBtn\" onmouseover=\"SwapImage('next_links',1)\" onmouseout=\"SwapImage('next_links',0)\" href=\"" +oLinks[0][0]+ "\"><img src=\"http://media.msnbc.msn.com/i/msnbc/Components/Art/SITEWIDE/buttons/Next_arrow.gif\" border=\"0\" width=\"57\" height=\"18\" id=\"next_links\"></a></div><span id=\"nextText\" class=\"textMedBlackBold\" style=\"width:100%;padding:10px;\">"+oLinks[0][1]+"</span></div></td></tr><tr valign=\"top\"><td class=\"boxBI_" +boxStyle+ "\">";

	for (i=0;i<oLinks.length;i++) {
		var gString = (window.gEnabled) ? "?CM=StoryNextLink&CE=" + (i+1) + "&HL=" + escape(oLinks[i][1]) : "";
		sTmp += "<div style=\"width:100%;height:16;\" id=\"" + oLinks[i][0] + "\"><div style=\"float:left;width:25;height:100%;\"></div><div class=\"textHang\"><span class=\"bulletRedSmall\">&#0149; </span><span class=\"headlineList2\"><a class=\"linkBlack\" href=\"" + gName + oLinks[i][0] + gString + "\">" + oLinks[i][1] + "</a></span></div></div>";
	}
	sTmp += "</td></tr></table>";
	document.write(sTmp);
}

function widePageHeader(sections) {
	if (!window.msnTax) { msnTax = "NC=1255&NA=1154&PS=69715&PI=7329&DI=305"; }
	var sTmp = "<a href=\"http://www.msnbc.msn.com/\"><img src=\"http://www.msnbc.com/modules/imax/images/logo2.gif\" border=\"0\" alt=\"MSNBC.com\" align=absmiddle style=margin-bottom:4px; /></a><span class=\"ff1 cDEF p12\"><span class=\"f65\"><a href=\"http://www.msnbc.msn.com/\" class=\"lk1\">MSNBC Home</a></span>";
	for (i=0;i<sections.length;i++) {
		sTmp += "<span class=\"cFC0 b f70\"> &#187; </span><span class=\"f65\"> <a href=\"http://www.msnbc.msn.com/id/" +sections[i][0]+ "/\" class=\"lk1\">" +sections[i][1]+ "</a></span>";
	}
	sTmp += "</span>" + getCtag(msnTax);
	if(window.adGroup && window.bSponsored){
		sTmp += "<div id=\"ad\" style=top:0px;><table border=\"0\"><tr><td><p>This feature is<br /> sponsored by:</p></td><td><iframe scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" topmargin=\"0\" leftmargin=\"0\" frameborder=\"0\" framespacing=\"0\" width=\"120\" height=\"30\" src=\"http://rad.msn.com/ADSAdClient31.dll?GetAd=&PG=" +adGroup+ "&AP=1025\"></iframe></td></tr></table></div>";
	}

	return sTmp;
}



function widePageFooter() {
	var gString="";var gName="";
	if (window.gEnabled) {
		if (!window.projectID) {
			var projectID = location.href.substring(location.href.lastIndexOf("/")+1);
			projectID = projectID.substring(0,projectID.indexOf("."));
		} else {projectID = window.projectID; }
		gString = "?CM=" +projectID+ "&CE=linkBot";
		gName = liveG;
	}
	return "<div id=\"footer\"><p><a href=\"" +gName+ "http://www.msnbc.msn.com" +gString+ "\">Cover</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032092/" +gString+ "\">U.S. News</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032507/" +gString+ "\">World News</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032072/" +gString+ "\">Business</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032113/" +gString+ "\">Sports</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032118/" +gString+ "\">Tech/Science</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032084/" +gString+ "\">Entertainment</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032123/" +gString+ "\">Travel</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032076/" +gString+ "\">Health</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032105/" +gString+ "\">Blogs Etc.</a> | <a href=\"" +gName+ "http://www.msnbc.com/news/wea_front.asp" +gString+ "\">Weather</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3098358/" +gString+ "\">Local News</a><br /> <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032542/site/newsweek/" +gString+ "\">Newsweek</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032633/" +gString+ "\">Today Show</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032619/" +gString+ "\">Nightly News</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032600/" +gString+ "\">Dateline NBC</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3032608/" +gString+ "\">Meet the Press</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3096434/" +gString+ "\">MSNBC TV</a></p> <p><a href=\"" +gName+ "ttp://msnbc.msn.com/id/3303510/" +gString+ "\">About MSNBC.com </a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/7422001" +gString+ "\">Newsletters</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/5216556/" +gString+ "\">RSS</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3053419/" +gString+ "\">Search</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3303511/" +gString+ "\">Help</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3152772/" +gString+ "\">News Tools</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3303596/" +gString+ "\">Jobs</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3303518/" +gString+ "\">Contact Us</a> | <a href=\"" +gName+ "http://www.msnbc.msn.com/id/3303540/" +gString+ "\">Terms and Conditions</a> | <a href=\"http://privacy.msn.com\">Privacy</a></p> <p>&#169; <a href=\"" +gName+ "http://www.msnbc.msn.com" +gString+ "\">2006 MSNBC.com</a></p></div>";

}

function getCtag(msnTax) {
	return "<img src=\"http://c.msn.com/c.gif?" +msnTax+ "\" width=\"0\" height=\"0\" border=\"0\" alt=\"\" />";
}

function moveDiv(nHeight,sObj) { // shift page elements down in wide pages
	if(!window.oSniff) oSniff=new UberSniff();
	var oObj = document.getElementById(sObj);
	//sets interval and default pos
	if (!window.oInt) { oInt = window.setInterval("moveDiv("+nHeight+",'"+sObj+"')",1); }
	if (!window.nStartPos) { nStartPos = (oSniff.ie>-1) ? 37 : 35; }
	//moves object specified height, then clears interval
	if (oObj.offsetTop + 20 >= nHeight + nStartPos) {
		if (oSniff.ie > -1 && oSniff.mac == true)  {
			oObj.style.posTop = nStartPos + nHeight;
		} else {
			oObj.style.top = nStartPos + nHeight;
		}
		clearInterval(oInt);
	} else {
		if (oSniff.ie > -1 && oSniff.mac == true) { oObj.style.posTop += 20; }
		else { oObj.style.top = oObj.offsetTop + 20; }
	}
}

function getIDfromUrl() {
	if (!window.aQuery) { aQuery = getQueryParams(); }
	var sUrl = "";
	if (aQuery["id"]) { sUrl = aQuery["id"]; }
	else if (location.href.indexOf("/id/") > -1) {
		sUrl = location.href;
		sUrl = sUrl.substring(sUrl.indexOf("/id/")+4);
		sUrl = sUrl.substring(0,sUrl.indexOf("/"));
	} 
	return sUrl;
}

