// codebase for in-story DHTML tables and Timelines.
// Author - Brenden West. 

var legacyServers = "www.msnbc.com,stacks.msnbc.com,msnbc.com,msnbciweb,msnbccurrent,msnbcworkbook,rex1";
var bWB3 = (legacyServers.indexOf(document.domain) == -1);

if (bWB3 && !window.sSelectedImg) {
	document.write("<SCRIPT language=javascript src=/js/std.js></SCRIPT>");
} else if (!window.sSelectedImg) {
	document.write("<SCRIPT language=javascript src=http://www.msnbc.com/m/js/std.js></SCRIPT>");
}

if (!window.bCommonBrill) { document.write("<SCR"+"IPT LANGUAGE=JAVASCRIPT src=http://www.msnbc.com/modules/poptext/common_functions.js></SCR"+"IPT>"); }

var bValidClient=true;	// true if src file is loaded.
var sUA = navigator.appName.toLowerCase();
var child = false;
var fulltable=false;
var sArrows="";
var mTimer = ""; // timer for scrolling
var sSpacer = "<SPACER TYPE=BLOCK WIDTH=1>";
var bullet = "<IMG SRC=http://www.msnbc.com/site_elements/dotBlack.GIF ALT=* VALIGN=top ALIGN=left vspace=4 hSPACE=2 WIDTH=3 HEIGHT=3 BORDER=0>";
var bRenderApp=1;
var sQuery = location.search;
if (sQuery.indexOf("page=") > 0) {
	nFirstPage = sQuery.substring(sQuery.indexOf("page=")+5);
	nFirstPage = nFirstPage.substring(nFirstPage,nFirstPage.indexOf("&"));
} else if (!window.nFirstPage) { nFirstPage = 0; }

// nav styles: 0=image, 1=dropdown, 2=arrows w/ Next + hed, 3=text links, 6=arrows w/ page numbers, 7=arrows only, 8=auto rotation

var aVertArrows = new Array();
aVertArrows[0] = new Image();
aVertArrows[0].src = "/site_elements/arrow_up.gif";
aVertArrows[1] = new Image();
aVertArrows[1].src = "/site_elements/arrow_down.gif";
aVertArrows[2] = new Image();
aVertArrows[2].src = "/site_elements/arrow_up_in.gif";
aVertArrows[3] = new Image();
aVertArrows[3].src = "/site_elements/arrow_down_in.gif";
aVertArrows[4] = new Image();
aVertArrows[4].src = "/site_elements/arrow_up_off.gif";
aVertArrows[5] = new Image();
aVertArrows[5].src = "/site_elements/arrow_down_off.gif";

var sDummyHref = (document.all) ? "name=x style=cursor:hand" : "href='javascript:void(0);'";

// Handling for legacy apps
function BcolTable(dataname,iType) {
	oData = eval(dataname);
	var aTmp = new Array();
	aTmp.tableType = (iType) ? iType : 1;
	if (parseInt(oData[0][3])>0) { aTmp.appWidth=oData[0][3]; }
	aTmp.appHeader = oData[0][0];
	aTmp.appDeck = oData[0][1];
	aTmp.appFooter = oData[0][2];
	aTmp.Dir = oData[0][5];
	aTmp.itemsPerPage = oData[0][6];
	aTmp.sName = dataname;
	nStart=1;
	if (aTmp.tableType==1) { // support for older tables
		aTmp.aColWidths = oData[1];
		aTmp.aColAlign = oData[2];
		aTmp.aColHeaderText = oData[3];
		nStart=4;
	}
	aTmp.rows = new Array();
	for (var i=nStart;i<oData.length;i++) {
		aTmp.rows[i-nStart] = oData[i];
	}
	eval(dataname + ' = aTmp');
	YBTable(dataname);
}

function WriteAcolTable(dataname,iType) {
	// convert old data files
	// iType: 1=table,2=timeline
	oData = eval(dataname);
	var aTmp = new Array();
	aTmp.tableType = (iType) ? iType : 1;
	if (parseInt(oData[0][3])>0) { aTmp.appWidth=oData[0][3]; } else { aTmp.appWidth = 135; }

	aTmp.appHeader = oData[0][0];
	aTmp.appDeck = oData[0][1];
	aTmp.appFooter = oData[0][2];
	aTmp.sName = dataname;
	aTmp.Dir = oData[0][5];
	aTmp.copyHeight = oData[0][6];
	if (aTmp.copyHeight <= 15) { // old format
		if (aTmp.tableType==1) { aTmp.copyHeight = aTmp.copyHeight*15; } 
		else if (aTmp.tableType==2) { aTmp.copyHeight = aTmp.copyHeight*60; }
	}

	nStart=1;
	aTmp.rows = new Array();
	if (aTmp.tableType==1) { // table
		aTmp.aColWidths = oData[1];
		aTmp.aColAlign = oData[2];
		aTmp.aColHeaderText = oData[3];
		nStart=4;
	}
	for (var i=nStart;i<oData.length;i++) {
		aTmp.rows[i-nStart] = oData[i];
	}
	aTmp.length = i-nStart;
	eval(dataname + ' = aTmp');
	VScrollTable(dataname);
}

function CreateTable(iType,appFmt) {
	this.appFmt = appFmt;
	this.tableType = iType;
	this.rows = new Array();
	this.appWidth = 360;
}

function PrintLink(dataname,appFmt) {
	 return "<font face=arial size=1><a href=javascript:OPW('" +dataname+ "','" +appFmt+ "Table');>Printable version</a></font>";
}


function YBTable(dataname,oWin) {
	if (typeof dataname == "object") {
		var oData = dataname;
		dataname = oData.sName;
	} else {
		var oData = eval(dataname);
		oData.sName = dataname;
	}

	// BEGIN WB3 REDIRECT
	if (window.bWB3) { Poptext2(oData); }
	else {

	if (!oData.appBG) { oData.appBG = "bgcolor=ffffcc"; }
	var hf = "19";
	if (oData.appWidth < 360) {
		if (!oData.sAlign) { oData.sAlign = "left"; }
		hf = "16";
	}
	if (!oData.tableType) { oData.tableType = (oData.aColWidths) ? 1 : 2; }
	if (!oData.sHedStyle) { oData.sHedStyle = "font-size: " +hf+ "px; font-family:arial; font-weight:bold; color:ffffcc;background-color:000099;"; }

	oData.FootRowColor = "#3366CC";

	if (!oData.rows) { cnvrtBrill2Table(oData); }
	getAppDefaults(oData);
	oData.sColHedStyle += ";background:CCCC99";

	var strTable = "";
	if (oWin && !parseInt(oWin)) { child=true; var oDoc = eval(oWin+".document");oDoc.open(); strTable += childHed(oData.navsectionID); } 
	else { var oDoc = document; }

	fulltable = (child || oData.itemsPerPage != "string" && oData.rows.length<=oData.itemsPerPage) ? true : false;

	if (!fulltable && !bDhtml) {
		strTable += BigRedLink(oData);
	} else {
		oDoc.write(getAppStyles(oData));
		var cols = (oData.tableType==1) ? oData.aColWidths.length : 1;
		strTable += "<a name=anc_"+dataname+"><table width=" +oData.appWidth+ " border=0 cellpadding=0 cellspacing=0 " +oData.appBG+ " class=app" +dataname+ " align=" +oData.sAlign+ "><tr class=hed" +oData.sName+" height=35><TD WIDTH=5>" +sSpacer+ "</TD><TD WIDTH=5>" +sSpacer+ "</TD><TD class=hed" +oData.sName+" width=" +(oData.appWidth-20)+ "><b>&nbsp;" +oData.appHeader+ "</b></td><TD WIDTH=5>" +sSpacer+ "</TD><TD width=5>" +sSpacer+ "</TD></tr>";

		strTable += "<tr><td width=5 height=5 class=hed" +oData.sName+">"+sSpacer+"</td><td colspan=3>"+sSpacer+"</td><td class=hed" +oData.sName+" width=5 height=5>"+sSpacer+"</td></tr>";

		if (oData.appDeck) {
			strTable += "<tr><TD colspan=2 height=5>" +sSpacer+ "</TD><TD width=" +(oData.appWidth-20)+ "><font face=arial size=2>" + oData.appDeck+ "</font></td><TD colspan=2>" +sSpacer+ "</TD></tr>";
		}
		if (!oData.appNav) { oData.appNav = GetappNav(dataname); }
		if (oData.appNav && !fulltable) {
			strTable += "<tr><td colspan=2>"+sSpacer+"</td><td valign=top>" +oData.appNav+ "</td><td colspan=2>"+sSpacer+"</td></tr>";
		}

		strTable += "<tr><td colspan=2>"+sSpacer+"</td><td valign=top>";

		strTable += TableRowsPaging(oData,oData.appWidth-20);

		strTable += "</td><td colspan=2>"+sSpacer+"</td></tr><tr><TD colspan=5 height=5>" +sSpacer+ "</TD></tr>";

		strTable += "<tr><TD bgcolor=" +oData.FootRowColor+" HEIGHT=5>" +sSpacer+ "</TD><TD colspan=3>" +sSpacer+ "</TD><TD bgcolor=" +oData.FootRowColor+" WIDTH=5>" +sSpacer+ "</TD></tr><tr><td bgcolor=" +oData.FootRowColor+" colspan=5 HEIGHT=7>" +sSpacer+ "</td></tr>";
	
		if (oData.appFooter) { strTable += "<tr bgcolor=FFFFFF><Td colspan=5><font face=arial size=1>" +oData.appFooter+ "</font></td></tr>"
	}

		strTable += "<tr bgcolor=FFFFFF><td colspan=5>"
		if (!fulltable && oData.bPrintable) { strTable += PrintLink(dataname,'YB'); }

		if (oData.instrument) {
			var nVal = (child) ? "z" : 0;
			strTable += "<img src=/m/c/ct_ia.asp"+oData.instrument+nVal+" height=1 width=1 name=instr_" +oData.sName+ ">";
		}
		strTable += "</td></tr></table></a>";

		if (child) { strTable += "</body></html>"; }
	}

	oDoc.write(strTable);
	setFirstNavImage(oData)
	if (child) { oDoc.close(); }
	
	} // END WB3 REDIRECT
}

function PlainTable(dataname,oWin) {
	if (typeof dataname == "object") {
		var oData = dataname;
		dataname = oData.sName;
	} else {
		var oData = eval(dataname);
		oData.sName = dataname;
	}
	// BEGIN WB3 REDIRECT
	if (window.bWB3) { oData.copyMargin=0;oData.copyBorder="border:0px;";Poptext2(oData); }
	else {
	if (!oData.tableType) { oData.tableType = (oData.aColWidths) ? 1 : 2; }
	if (!oData.rows) { cnvrtBrill2Table(oData); }
	getAppDefaults(oData);
	var strTable = "";

	if (oWin && !parseInt(oWin)) { child=true; var oDoc = eval(oWin+".document");oDoc.open(); strTable += childHed(oData.navsectionID); } 
	else { var oDoc = document; }

	fulltable = (child || oData.itemsPerPage != "string" && oData.rows.length<=oData.itemsPerPage) ? true : false;

	if (!fulltable && !bDhtml) {
		strTable += BigRedLink(oData);
	} else {
		oDoc.write(getAppStyles(oData));
		var cols = (oData.tableType==1) ? oData.aColWidths.length : 1;

		strTable += "<a name=anc_"+dataname+"><table border=0 width=" +oData.appWidth+ oData.appBG+ " cellpadding=0 cellspacing=0 align=" +oData.sAlign+ ">"

		var sPadStyle = " style=\"margin-left:"+oData.nSwapDivMargin+";margin-right:"+oData.nSwapDivMargin+";\"";

		if (oData.appHeader) {
			strTable += "<tr><TD class=hed"+dataname+">" +oData.appHeader+ "</td></tr>";
		}

		if (oData.appDeck) {
			strTable += "<TR><TD VALIGN=TOP class=deck"+dataname+"><div "+sPadStyle+";>" +oData.appDeck+ "</div></TD></TR>";
		}
		sPadStyle += oData.sBodyFont;

		if (!oData.appNav) { oData.appNav = GetappNav(dataname); }
		if (oData.appNav && !fulltable) {
			if (oData.appNavStyle == 1 || oData.appNavStyle ==  3) {
				oData.appNav = "<div " +sPadStyle+ ">" +oData.appNav+ "</div>"
			}
			strTable += "<tr><td valign=top>" +oData.appNav+ "</td></tr>";
		}


		strTable += "<tr><td valign=top><div " +sPadStyle+ ">";

		strTable += TableRowsPaging(oData,oData.appWidth - oData.nSwapDivMargin*2);

		strTable += "</div></td></tr>";

		if (oData.appFooter) { 
			strTable += "<tr bgcolor=FFFFFF background=i/c.gif><Td><font face=arial size=1>" +oData.appFooter+ "</font></td></tr>"
		}
		strTable += "<tr bgcolor=FFFFFF background=i/c.gif><td>";
		if (!fulltable && oData.bPrintable) { 
			strTable += PrintLink(dataname,'Plain'); 
		}
		if (oData.instrument) {
			var nVal = (child) ? "z" : 0;
			strTable += "<img src=/m/c/ct_ia.asp"+oData.instrument+nVal+" height=1 width=1 name=instr_" +oData.sName+ ">";
		}
		strTable += "</td></tr></table></a>";
		if (child) { strTable += "</body></html>"; }
	}

	oDoc.write(strTable);
	setFirstNavImage(oData)
	if (child) { oDoc.close(); }
	} // END WB3 REDIRECT
}


function GrayTable(sProject) {
	if (typeof sProject == "object") {
		var oData = sProject
		sProject = oData.sName;
	} else {
		var oData = eval(sProject);
		oData.sName = sProject;
	}

	// BEGIN WB3 REDIRECT
	if (window.bWB3) { Poptext2(oData); }
	else {
	if (!oData.appWidth) { oData.appWidth=360; }
	grayAppSettings(oData);
	PlainTable(sProject);
	
	} // END WB3 REDIRECT
}


function VScrollTable(dataname,oWin) {
	if (typeof dataname == "object") {
		var oData = dataname;
		dataname = oData.sName;
	} else {
		var oData = eval(dataname);
		oData.sName = dataname;
	}

	// BEGIN WB3 REDIRECT
	if (bWB3) { Poptext2(oData); }
	else {

	if (!oData.AltRowColor) { oData.AltRowColor = "#CCCCCC";}
	if (!oData.appBG) { oData.appBG = "bgcolor=FFFFFF";}
	if (!oData.tableType) { oData.tableType = (oData.rows) ? 1 : 2;}
	if (!oData.rows) { cnvrtBrill2Table(oData); }
	getAppDefaults(oData);

	var strTable = ""; var sPrnLnk = ""; var sArrows = "";

	if (oWin) { child=true; var oDoc = eval(oWin+".document");oDoc.open();strTable += childHed(oData.navsectionID); } 
	else { var oDoc = document; }

	if (!child && !bDhtml) { 
		
		oDoc.write(BigRedLink(oData.appWidth,oData.sName,'VScroll',0,oData.appHeader));
	} else {
		oDoc.write(getAppStyles(oData));
		var cols = (oData.aColWidths) ? oData.aColWidths.length : 1;
		if (document.layers) {
			oDoc.write("<STYLE TYPE=text/css>");
				oDoc.write("#BlockHolder_" +oData.sName+ " { position:relative;height:" +oData.copyHeight+ "px;width:" +oData.appWidth+ "px;overflow:hidden; }");
				oDoc.write("#Block_" +oData.sName+ " { position:absolute;top:0;left:0; }");
			oDoc.write("</STYLE>");
		}
		strTable += "<a name=anc_"+dataname+"><table border=0 width=" +oData.appWidth+ " " +oData.appBG+ " cellpadding=0 cellspacing=0 class=app" +dataname+ " align=" +oData.sAlign+ "><tr><TD colspan=2 align=right valign=top><IMG SRC='/modules/poptext/top_shadow.gif' border=0 hspace=0 vspace=0></td><td rowspan=2 valign=top width=20><IMG SRC='/modules/poptext/top_swoop.gif' align=left border=0 hspace=0 vspace=0></td></tr><tr><TD WIDTH=5>" +sSpacer+ "</TD><TD width=" +(oData.appWidth-25)+ " class=hed" +oData.sName+ ">" +oData.appHeader+ "</td></tr>";

		strTable += "<tr><TD HEIGHT=2 colspan=3 bgcolor=" +oData.AltRowColor+ ">" +sSpacer+ "</TD></tr>";
		if (oData.appDeck) {
			strTable += "<tr bgcolor=" +oData.AltRowColor+ " class=deck" +oData.sName+ "><TD width=5>" +sSpacer+ "</TD><TD colspan=2>" + oData.appDeck+ "</td></tr>";
		} else {
		
		}

		strTable += "</table><table width=" +oData.appWidth+ " border=0 cellpadding=0 cellspacing=0>";

		if (cols>1) {	// write column headers
			strTable += "<tr valign=middle class=colhdr" +oData.sName+ "><TD bgcolor=" +oData.AltRowColor+ " width=5 height=15>" +sSpacer+ "</TD>";
			for (i=0;i<cols;i++) {	// write col headers
				var sAlign = (oData.aColAlign) ? oData.aColAlign[i] : "left";
				strTable += "<td width=" +oData.aColWidths[i]+ " align=" +sAlign+ "><font face=verdana size=1><b>" +oData.aColHeaderText[i]+ "</b></font></td>";
			}
			strTable += "<TD bgcolor=" +oData.AltRowColor+ " width=5>" +sSpacer+ "</TD></tr>";
		}
		strTable += "<tr bgcolor=" +oData.AltRowColor+ "><TD HEIGHT=2 colspan=" +(cols+2)+ ">" +sSpacer+ "</TD></tr>";

		if (!child) {
			if (document.all) {
				strTable += "</table><DIV ID=BlockHolder  style='position:relative;height:" +oData.copyHeight+ ";width:100%;overflow:hidden;'><table id=Block_" +oData.sName+ " STYLE='position:relative; top:0; left:0;' width=" +oData.appWidth+ " border=0 cellpadding=0 cellspacing=0>";
				strTable += TableRowsScrolling(oData)+"</table></DIV>";
			} else if (oSniff.nn >= 5) {
				strTable += "</table><DIV ID=BlockHolder  style='position:relative;height:" +oData.copyHeight+ ";width:100%;overflow:hidden;'><DIV id=Block_" +oData.sName+ " STYLE='position:relative; top:0px; left:0;'><TABLE width=" +oData.appWidth+ " border=0 cellpadding=0 cellspacing=0>";
				strTable += TableRowsScrolling(oData)+"</table></DIV></DIV>";
			} else if (document.layers) {
				strTable += "<tr valign=top><td colspan=" +(cols+2)+ " height=" +oData.copyHeight+ "><DIV ID=BlockHolder_" +oData.sName+ "><DIV id=Block_" +oData.sName+ "><html><body><table width=" +oData.appWidth+ " border=0 cellpadding=0 cellspacing=0>";
				strTable += TableRowsScrolling(oData)+"</table></body></html></DIV></DIV></td></tr></table>";
			}

			oDoc.write(strTable);
			strTable = "";

			GetTableHeight(oData.sName);
			if (!oData.copyBottom || (oData.copyBottom >= oData.copyHeight-5)) {
				sPrnLnk = "<br><a href=javascript:OPW('" +oData.sName+ "','VScrollTable');>Printable version</a>";

				var nInc = (oSniff.nn >= 5 || oSniff.mac) ? 10 : 5; // NS 6 & mac scroll a bit slow

				sArrows = "<a " +sDummyHref+ " onmouseup=\"javascript:clearTimeout(mTimer);SwapArrows('" +oData.sName+ "',0);\" onmousedown=\"javascript:clearTimeout(mTimer);SwapArrows('" +oData.sName+ "',2);ScrollBlock('" +oData.sName+ "',-"+nInc+");\"><img src='/site_elements/arrow_up_off.gif' name='Arrow_up_" +oData.sName+ "' border=0></a><a " +sDummyHref+ " onmouseup=\"javascript:clearTimeout(mTimer);SwapArrows('" +oData.sName+ "',1);\" onmousedown=\"javascript:clearTimeout(mTimer);ScrollBlock('" +oData.sName+ "',"+nInc+");SwapArrows('" +oData.sName+ "',3);\"><img src='/site_elements/arrow_down.gif' name='Arrow_down_" +oData.sName+ "' border=0></a>";

				if (!oData.copyBottom) {
					if (document.all) {
					sPrnLnk = "<SPAN id=nav_" +oData.sName+ ">" +sPrnLnk+ "</SPAN>";
					sArrows = "<SPAN id=prnlnk_" +oData.sName+ ">" +sArrows+ "</SPAN>";
					}
					setTimeout("GetTableHeight('" +oData.sName+ "',2)",1000);
				}
			}

		} else {
			strTable += "<table width=" +oData.appWidth+ " border=0 cellpadding=0 cellspacing=0>" + TableRowsScrolling(oData) + "</table>";
			oDoc.write(strTable);
		}

		strTable = "<table width=" +oData.appWidth+ " border=0 cellpadding=0 cellspacing=0><tr bgcolor=" +oData.AltRowColor+ "><TD HEIGHT=3 colspan=2>" +sSpacer+ "</td></tr>";

		strTable += "<tr valign=bottom><td align=right>" +sArrows+ "</td><TD rowspan=2><IMG SRC='/modules/poptext/bottom_swoop.gif' align=right border=0 hspace=0 vspace=0></TD></TR>";

		strTable += "<TR><TD valign=bottom align=right><IMG SRC='/modules/poptext/bottom_shadow.gif' border=0 hspace=0 vspace=0><TD></TR><TR><td colspan=2><font face=arial size=1>" +oData.appFooter +sPrnLnk+ "</td></TR></table></a>";

		oDoc.write(strTable);
		if (child) { 
			oDoc.write("</body></html>");
			oDoc.close();
		}
	}

	} // END WB3 REDIRECT
}


function GetTableHeight(dataname,nAttempts) {
	var oData = eval(dataname);
	if (!oData.copyBottom) {
		if (document.all) {
			var oBlock = eval("Block_"+dataname);
			oData.copyBottom = parseInt(oBlock.clientHeight);
		} else if (oSniff.nn >= 5) {
			var oBlock = document.getElementById("Block_"+dataname)
			oData.copyBottom = parseInt(oBlock.offsetHeight);
		} else if (document.layers) {
			var oBlock = eval("document.BlockHolder_"+dataname+".document.Block_"+dataname);
			oData.copyBottom = oBlock.document.height;
		}
	}

	// disable scroll buttons if entire table is visible
	if (oData.copyBottom && nAttempts==2 && (oData.copyBottom < oData.copyHeight-5)) {
		if (document.all) {
			eval("document.all.nav_" +dataname+".innerHTML=''");
			eval("document.all.prnlnk_" +dataname+".innerHTML=''");
		}
	}
}

function SwapArrows(sApp,iState) {
	var sState = "";
	var oImg1 = eval("document.images.Arrow_up_"+sApp);
	var oImg2 = eval("document.images.Arrow_down_"+sApp);

	if (iState ==0 || iState ==2 || iState==4) {	// up
		if (iState < 4 && oImg1.src.indexOf("_off") != -1 ) { }
		else { oImg1.src = aVertArrows[iState].src; }
		oImg2.src=aVertArrows[1].src;
	} else { // down
		if (iState < 4 && oImg2.src.indexOf("_off") != -1 ) { }
		else { oImg2.src = aVertArrows[iState].src; }
		oImg1.src=aVertArrows[0].src;
	}
}


function TableRowsPaging(oData,W) {
	var nPage = 0;
	var nPages =  0;
	var str = "";
	var nRwCntr = 1;
	var sTag="";
	var iType = oData.tableType;
	var bMultiColHdrs = (iType==1 && typeof oData.aColHeaderText[0] != "string") ? true : false;
	var direction = oData.Dir;

	if (iType==1) {
		var cols = oData.aColWidths.length;
		var sColHeaders = ColHeaders(oData.sName,cols,0);
		if (!oData.aColAlign) {
			oData.aColAlign = new Array();
			for (var i=0;i<cols;i++) { oData.aColAlign[i] = "left"; }
		}
	} else {
		var cols = 3;
		var sColHeaders = "<TR><TD class=colhdr" +oData.sName+ " colspan=" + cols +" height=2>" + sSpacer + "</TD></TR>";
	}

	if (!oData.itemsPerPage) { oData.itemsPerPage = oData.rows.length; }
	else if (typeof oData.itemsPerPage == "string" && oData.itemsPerPage.indexOf(",") > -1) {
		oData.itemsPerPage = oData.itemsPerPage.split(",");
		nPages = oData.itemsPerPage.length;
	} else {
		nPages = Math.ceil((oData.rows.length)/oData.itemsPerPage);
	}
	oData.totalPages = nPages;

	var sArrows = (!fulltable && (oData.appNavStyle == 2 || oData.appNavStyle == 6  || oData.appNavStyle == 7 || oData.appNavStyle==10)) ? "\"<TR><TD height=30 valign=middle colspan=\" + cols +\">\" + sNavArrow(nPage,oData.sName,nPages) + \"</TD></TR>\"" : "''";

	if (document.layers && !fulltable) { str += "<ILAYER name=poptext_" +oData.sName+ "><LAYER visibility=show><HTML><BODY>"; }

	else if (oSniff.nn >= 5 && !fulltable) { str += "<DIV ID=poptext_" +oData.sName+ "><DIV style=display:show>"; }
	else { sTag = "ID=poptext_" +oData.sName; }

	str += "<table " +sTag+ " background=http://www.msnbc.com/i/c.gif BORDER=" +oData.nBorder+ " CELLSPACING=0 CELLPADDING=" +oData.nCellpad+ " WIDTH=" +W+ ">" + eval(sArrows)

	if (oData.aPageDecks) {
		str += "<tr><td colspan=" +cols+" valign=top><font size=2 face=arial>" +oData.aPageDecks[nPage]+ "</font></td></tr>";
	}
	str += sColHeaders;

	for (var i=0;i<oData.rows.length;i++) {
		if (i>0 &&  ((i % oData.itemsPerPage==0) || (oData.itemsPerPage.length && ((nRwCntr-1)==oData.itemsPerPage[nPage])))) {
			nPage++;nRwCntr=1;
			if (iType==1){	sColHeaders = ColHeaders(oData.sName,cols,nPage); }

			if ((fulltable && bMultiColHdrs)||(fulltable && oData.aPageDecks)) {
				str += sColHeaders;
				if (oData.aPageDecks) {
					str += "<tr><td colspan=" +cols+" valign=top><font size=2 face=arial>" +oData.aPageDecks[nPage]+ "</font></td></tr>";
				}
			} else if (!fulltable) {
				if (document.layers) {
					str+="</table></BODY></HTML></LAYER><LAYER visibility=hidden><HTML><BODY><table background=http://www.msnbc.com/i/c.gif  width=" +W+ " border=" +oData.nBorder+ " CELLPADDING=" +oData.nCellpad+ " cellspacing=0>" + eval(sArrows); 
				if (oData.aPageDecks) { 
						str += "<tr><td colspan=" +cols+" valign=top><font size=2 face=arial>" +oData.aPageDecks[nPage]+ "</font></td></tr>";
					}
					str += sColHeaders;
				} else if (oSniff.nn >= 5) {
					str+="</table></DIV><DIV STYLE=DISPLAY:NONE><table width=" +W+ " border=" +oData.nBorder+ " CELLPADDING=" +oData.nCellpad+ " cellspacing=0>" + eval(sArrows);
					if (oData.aPageDecks) { 
						str += "<tr><td colspan=" +cols+" valign=top><font size=2 face=arial>" +oData.aPageDecks[nPage]+ "</font></td></tr>";
					}
					str += sColHeaders;
				} else if (document.all) {
					str += "</TABLE><table ID=poptext_" +oData.sName+ " STYLE=DISPLAY:NONE  width=" +W+ " border=" +oData.nBorder+ " CELLPADDING=" +oData.nCellpad+ " cellspacing=0>" + eval(sArrows);
					if (oData.aPageDecks) { 
						str += "<tr><td colspan=" +cols+" valign=top><font size=2 face=arial>" +oData.aPageDecks[nPage]+ "</font></td></tr>";
					}
					str += sColHeaders;
				}

			}
		}

		var ix = (direction==-1) ? oData.rows.length - i + direction : i
		var bg = (nRwCntr % 2 == 0 || oData.itemsPerPage==1) ? "" : "bgcolor=" +oData.AltRowColor;

		if (iType==1) { // TABLES
			str += "<tr valign=top>";
			if (typeof oData.rows[ix] == "string") {
				str += "<td colspan=" +cols+ " " +bg+ " align=" +oData.aColAlign[0]+ "><font class=font1"+oData.sName+"><b>" + oData.rows[ix] + "</b></font></td>";
			}
			else if (!oData.rows[ix]) {
				str += "<td height=12 colspan=" +cols+ " " +bg+ " align=" +oData.aColAlign[0]+ "></td>";
			}
			else {
				for (j=0;j<cols;j++) {
					var wid = (oSniff.ie < 4 && !fulltable) ? oData.aColWidths[j]-7 : oData.aColWidths[j];
					if (oData.aColAlign[j]=="right") { oData.rows[ix][j] += "&nbsp;&nbsp;" }

					str += "<td width=" +wid+ " " +bg+ " align=" +oData.aColAlign[j]+ "><font class=font1"+oData.sName+">" + oData.rows[ix][j]+ "</font></td>";
				}
			}
			str += "</tr>";
		} else { // TIMELINES
			var sHeadline = (oData.rows[ix][0]) ? "<b>" +oData.rows[ix][0]+ "</b><br>": "";
			str += "<tr " +bg+ " valign=top><td width=4>" +sSpacer+ "</td><td><font class=font1"+oData.sName+">" +sHeadline+ oData.rows[ix][1]+ "</TD><td width=4>" +sSpacer+ "</td></tr>";
		}
		nRwCntr++;
	}

	str += "</table>";
	if (document.layers && !fulltable) {	str += "</BODY></HTML></LAYER></ILAYER>" }
	else if (oSniff.nn >= 5 && !fulltable) {	str += "</DIV></DIV>" }
	return str
}


function TableRowsScrolling(oData) {
	var str = "";
	var cols = (oData.aColWidths) ? oData.aColWidths.length : 1;
	var nRows = (oData.rows) ? oData.rows.length : oData.length;

	for (i=0;i<nRows;i++) {
		var ix = (oData.Dir==-1) ? nRows - i -1 : i
		var bg = (i % 2 == 0) ? "" : "bgcolor="+oData.AltRowColor ;
		str += "<tr valign=top><TD WIDTH=5 bgcolor=" +oData.AltRowColor+ ">" +sSpacer+ "</TD>";
		if (cols==1) {
			var sHeadline = (oData.rows[ix][0]) ? "<b>" +oData.rows[ix][0]+ "</b><br>": "";
			str += "<td " +bg+ "><font class=font1"+oData.sName+">" +sHeadline + oData.rows[ix][1] +"</font></td>";
		} else if (typeof oData.rows[ix] == "string") {
			str += "<td colspan=" +cols+ " " +bg+ " align=left><font class=font1"+oData.sName+"><b>" + oData.rows[ix] + "</b></font></td>";
		} else {
			for (j=0;j<cols;j++) {
				var sAlign = (oData.aColAlign) ? oData.aColAlign[j] : "left";

				var spacer = (sAlign=="right") ? "&nbsp;&nbsp;" : ""
				str += "<td width=" +oData.aColWidths[j]+ " " +bg+ " align=" +sAlign+ "><font class=font1"+oData.sName+">" + oData.rows[ix][j]+spacer+  "</font></td>";
			}
		}
		str += "<TD WIDTH=5 bgcolor=" +oData.AltRowColor+ ">" +sSpacer+ "</TD></tr>";
	}
	return str
}

function ScrollBlock(dataname,iInc) {
	var oData = eval(dataname);
	// get the physical left and bottom position of the block on the page
	if (document.all) {
		var oBlock = eval("Block_"+dataname);
		iTop = parseInt(oBlock.style.top);
	} else if (oSniff.nn >= 5) {
		var oBlock = document.getElementById("Block_"+dataname);
		iTop = parseInt(oBlock.style.top);
	} else {
		var oBlock = eval("document.BlockHolder_"+dataname+".document.Block_"+dataname);
		iTop = parseInt(oBlock.top);
	}

	if ((iTop<0 && iInc<0) || (iInc > 0 && oData.copyBottom > oData.copyHeight)) {
		if (document.all || oSniff.nn >= 5) { oBlock.style.top = iTop - iInc; }
		else { oBlock.top -= iInc; }
		oData.copyBottom -= iInc;
	} else if (iInc > 0 && oData.copyBottom <= oData.appWidth-iInc) {
		SwapArrows(dataname,5);
	} else if (iInc < 0 && iTop < -iInc) {
		SwapArrows(dataname,4);
	}
	mTimer = setTimeout("ScrollBlock('" +dataname+ "'," + iInc + ")", 20);
}


function cnvrtBrill2Table(oData) {
	if (!oData.rows) { cnvrtAppData(oData); }

	// convert data to 'table' formats
	oData.rows = new Array();
	oData.SelectList = new Array();
	for (var i=0;i<oData.length;i++) {
		var sHeadline = oData[i][1];
		var sBody = oData[i].body;
		if (oData[i][6] == "sub") { oData.rows[i] = sHeadline + sBody; }
		else {	oData.rows[i] = new Array(sHeadline,sBody);oData.SelectList[i] = sHeadline; }
	}
	if (oData.aColWidths) { 
		oData.aColHeaderText = new Array("","");
	}
	if (oData.aPageDecks && typeof oData.aPageDecks == "string") {
		oData.aPageDecks = oData.aPageDecks.split("|");
	}
}

function childHed(sSect) {
	return "<html><body bgcolor=FFFFFF><img src=http://www.msnbc.com/news/mobilechannel/images/msnbc_ban.gif>&nbsp;&nbsp;<font face=arial size=2><b>MSNBC.com</b></font><br>";
}