// Survey rendering code; Author = Brenden West. Updated - 3-14-06
// Formats: 1=choices in n cols, 3=images, 4=scorecard, 5=comparison

var sUA = navigator.appName.toLowerCase();
var sSpacer = "<SPACER TYPE=BLOCK WIDTH=1>";
var aQuery = getQueryParams();
var sPrevVote = (aQuery["pv"]) ? aQuery["pv"] : "";
var levCounter = 60;
var imgClear = "http://www.msnbc.msn.com/images/cleardot.gif";

var errorMsgSurvey = "Your response cannot be recorded. For assistance please contact <a href=\"http://www.msnbc.msn.com/id/3303511/\">MSNBC technical&nbsp;support.</a>";

function surveyDefaults(oData) {

	if (window.UberSniff && !window.oSniff) { oSniff = new UberSniff(); }
	bMoz = (oSniff.ie > 0) ? 0 : 1;
	
	var parentData = (aQuery["parentid"]) ? eval("top."+aQuery["parentid"]) : "";

	if (parentData) { oData.appWidth = parentData.copyWidth-18-2*parentData.copyMargin; }
	else if (aQuery["w"]) { oData.appWidth = aQuery["w"]; }
	else if (!oData.appWidth) { oData.appWidth = 300; }

	if (parentData) { oData.appBG = parentData.appBG[1]; }
	else if (!oData.appBG) { oData.appBG = ""; }
	else { oData.appBG = oData.appBG.replace("bgcolor=","background-color:") + ";"; }

	if (!oData.appHeader) {	oData.appHeader=""; }
	else if (oData.appHeader[0] && oData.appHeader[0].indexOf("<!--none-->") > -1) { oData.appHeader=""; }
	if (oData.HeaderIcon) { oData.appHeader = oData.HeaderIcon + oData.appHeader; }

	if (!oData.appDeck) { oData.appDeck = new Array("",""); }
	else if (oData.appDeck.indexOf("|") > -1) { oData.appDeck = oData.appDeck.split("|"); }
	else if (typeof oData.appDeck == "string") { oData.appDeck = new Array(oData.appDeck,oData.appDeck); }

	if (!oData.appFooter) { oData.appFooter = ""; }
	if (oData.appFmt == null) { oData.appFmt = 1; }

	if (parentData) { oData.sBodyFont = parentData.sBodyFont; }
	else if (!oData.sBodyFont) { oData.sBodyFont = ""; }
	oData.sBodyFont = "font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 70%; font-weight: normal; line-height: 140%;" + oData.sBodyFont;

	if (!oData.sHedStyle) { oData.sHedStyle = ""; }
	oData.sHedStyle = "font-weight: bold;text-transform:uppercase;" + oData.sHedStyle;

	if (!oData.sDeckStyle) { oData.sDeckStyle = ""; }
	oData.sDeckStyle = "font-weight: bold;color:#666;padding-top:10px;"+oData.sDeckStyle; 
	
	if (!oData.sSubHedStyle) { oData.sSubHedStyle = ""; }
	oData.sSubHedStyle="font-size: 14px; font-weight:bold;color:#CC0000;padding-top:8px;" + oData.sSubHedStyle; 

	if (parentData) { oData.headlineStyle = parentData.headlineStyle; }
	else if (!oData.headlineStyle) { oData.headlineStyle = ""; }
	oData.headlineStyle = "font-weight:bold;padding:10px 0px 5px 0px;" + oData.headlineStyle;

	if (!oData.imgBar) { oData.imgBar = "http://msnbcmedia.msn.com/i/msnbc/Components/ColorBoxes/Styles/ColorboxImages(globalonlyplease)/dotRed.gif"; }

	oData.columns = (aQuery["cols"]) ? aQuery["cols"] : (oData.columns) ?  oData.columns : 1; 

	if (!oData.sResponseUrl) { oData.sResponseUrl = (sUA.indexOf("webtv") > -1) ? location.href : ""; }

	if (oData.bDhtml == null) { oData.bDhtml = (window.document && !oData.sResponseUrl) ? 1 : 0; }
	if (oData.bVoting == null) { oData.bVoting=1; }
	if (oData.bResults == null) { oData.bResults=1; }
	if (oData.bSort == null) { oData.bSort=0; }
	if (oData.bDispQNums == null) { oData.bDispQNums=0; }

	if (!oData.butSubmit) { oData.butSubmit = "http://msnbcmedia.msn.com/i/msnbc/Components/Art/SITEWIDE/buttons/vote.gif"; } 

	if (!oData.sVotePrompt) { oData.sVotePrompt = "Vote to see results"; }
	if (!oData.sDisclaimer) { oData.sDisclaimer = "Not a scientific survey. <a href=http://www.msnbc.msn.com/id/3704453/ target=_top><u>Click to learn more</u></a>."; 
		if (oData.bResults) { oData.sDisclaimer += " Results may not total 100% due to rounding.";	}
	}

	if (!oData.sAnswers) { oData.sAnswers=""; }
	if (!oData.sAnsText) { oData.sAnsText=""; }
	if (!oData.subHeds) { oData.subHeds=""; }
	if (!oData.rowAlt) { oData.rowAlt = "#EEEEEE"; }
	if (!oData.rowSpacer) { oData.rowSpacer = 15; }
	oData.copyMargin = (parentData) ? 0 : (oData.copyMargin == null) ? 9 : oData.copyMargin;
	if (parentData || !oData.copyBorder) { oData.copyBorder = "border:0px;"; }
	if (!oData.altPath) { oData.altPath = ""; }

	if (oData.sAnswers) { 
		oData.butSubmit = "http://msnbcmedia.msn.com/i/msnbc/Components/Art/SITEWIDE/buttons/submit.gif";
		oData.appDeck[1] += "<b>Correct answers are shown in <font color=009900><b>green</b></FONT>. Percentages indicate how other MSNBC readers responded.";
	}
  	if (!oData.bResults) { oData.sVotePrompt = ""; oData.sDisclaimer=""; }

	// LEV only
	if (oData.bCancel == null) { oData.bCancel = 1; }
	if (oData.bVoteAgain == null && oData.surveyType == "lev") { oData.bVoteAgain = 1; }
	if (oData.bRequireAll == null) { oData.bRequireAll=0; }
}

function getSurveyStyles(oData) {
  	var LVname = oData.ID;
	var sTmp = "<STYLE type=text/css>";
	sTmp += " .app" +LVname+ " { width:" +oData.appWidth+ "px;" + oData.appBG + oData.sBodyFont+ "}";
	sTmp += " .hed" +LVname+ " { " +oData.sHedStyle+ " }";
	sTmp += " .deck" +LVname+ " { "  +oData.sDeckStyle+ " }";
	sTmp += " .box" +LVname+ " { " + oData.sBodyFont + ";" +oData.copyBorder+ "  ;font-size: 100%; }";
	sTmp += " .subhed" +LVname+ " { " +oData.sSubHedStyle+ " }";
	sTmp += " .headline" +LVname+ " { "  +oData.headlineStyle+ ";}";
	sTmp += "</STYLE>";
	return sTmp;
}


function DisplayLV(oData) {
  if (oData) {
  	surveyDefaults(oData);
	if (oData.author == "none" && oData.display == "results") { // no GUID
		oData.sDisclaimer = errorMsgSurvey;
	}
  	document.write(getSurveyStyles(oData));
	// conditional settings
	if (location.href.indexOf("refer=vote") > 0 || oData.bVoting==0) { 
		oData.display="results"; 
	}
	if (oData.appFmt == 4) { // scorecard
		if (oData.subHeds) {
			var aTmp = oData.subHeds.split("^");
			oData.itemsPerSubHed = (aTmp[1]) ? aTmp.split("|") : "";
			oData.subHeds = aTmp[0].split("|");
		}
	} else if (oData.appFmt == 3) { 
		LVDisplayPhoto(oData); 
	} else {
		if  (oData.display=="vote" && oData.bVoting) {
			LVDisplayForm(oData);
			if (oData.bDhtml) {
				LVDisplayRes(oData);
			}
		} else {
			LVDisplayRes(oData);
			if (oData.bVoteAgain && oData.bVoting) { setTimeout("SetClock()",1000); }
		}
	}
  }
}


function LVDisplayPhoto(oData) {
	oData.nTeaseW=Math.round((oData.appWidth-(oData.columns-1)*8)/oData.columns);
	oData.imgBrdr = " style=\"border:1px solid #000000;\"";
	if (!oData.teaseSize) {
		var aimsSize = new Array(); aimsSize[0] = new Array("vmod",92,69); aimsSize[1] = new Array("thumb",98,98); aimsSize[2] = new Array("cmug",126,300); aimsSize[3] = new Array("htease",148,110); aimsSize[4] = new Array("vsmall",148,198); aimsSize[5] = new Array("vmedium",198,298); 
		for (var i = 0;i<aimsSize.length;i++) {
			if (aimsSize[i][1] < oData.nTeaseW-40) { oData.teaseSize = "."+aimsSize[i][0]; }
		}
	}
	if (oData.altPath && oData.altPath.indexOf("msnbcmedia.msn.com") == -1) {
		oData.teaseSize = "";oData.imgBrdr = "";
	}
	if (oData.display == "vote" && oData.bVoting) {
		LVDisplayPhotoForm(oData);
	} else {
		LVDisplayPhotoRes(oData);
		if (oData.bVoteAgain && oData.bVoting) { setTimeout("SetClock()",1000); }
	}
}


function Vote(LVname,bDhtml) {
	var bVoted = false;
	var F = eval("document.fm_"+LVname);
	var qstr = F.elements[0].name+"="+F.elements[0].value+"&" + F.elements[1].name+"="+F.elements[1].value+"&"
	for (var i=2;i<F.elements.length;i++) {
		if (F.elements[i].type=="radio" && F.elements[i].checked) {
			qstr += F.elements[i].name +'=' + F.elements[i].value +'&'
			bVoted = true;
		} else if  ((F.elements[i].type=="text" || F.elements[i].type=="hidden") && F.elements[i].value!="") {
			qstr += F.elements[i].name +"=" + F.elements[i].value +"&";
		}
	}
	if (!bVoted) {
		alert("Please make a choice before submitting your vote."); 
	} else {
		if (bDhtml) {
			var oFrm = findObj("lv_"+LVname);
			oFrm.style.display="none";
			var oRes = findObj("res_"+LVname);
			oRes.style.display="";
			C = eval("document.lvPoster_"+LVname);
			C.src = F.action + "?res=2&"+qstr
		} else {
			F.submit();
		}
	}
}

function LEVVote(LVname,bDhtml) {
	var sQname = "";
	var sVtmp = "";
	var bChecked=false;
	var bVoted = false;
	var F = eval("document.fm_"+LVname);
	var oData = eval(LVname);
	var qstr = F.elements[0].name+"="+F.elements[0].value+"&" + F.elements[1].name+"="+F.elements[1].value+"&"

	for (var i=2;i<F.elements.length;i++) {
		if (F.elements[i].type=="radio") {
			if (F.elements[i].name != sQname) { 
				bChecked=false;
				sQname = F.elements[i].name;
			}
			if (F.elements[i].checked) {
				qstr += F.elements[i].name +"=" + F.elements[i].value +"&";
				sVtmp += F.elements[i].value + "|"
				bChecked=true;
				bVoted=true; 
			}
			sNextQname = (F.elements[i+1]) ? F.elements[i+1].name : "x";
			if (sQname != sNextQname && !bChecked) {
				sVtmp += "|";
				if (oData.bRequireAll) {
					alert("Please answer question #" + F.elements[i].name.substr(1,1));bVoted=false;break;
				}
			}
		} else if  ((F.elements[i].type=="text" || F.elements[i].type=="hidden") && F.elements[i].value!="") {
			qstr += F.elements[i].name +"=" + F.elements[i].value +"&";
		}
	}

	if (!bVoted) { 
		alert("Please make a choice before submitting your vote."); 
	} else {
		if (oData.bDhtml) {
			var oFrm = findObj("lv_"+LVname);
			oFrm.style.display="none";
			var oRes = findObj("res_"+LVname);
			oRes.style.display="";
			if (oData.bVoteAgain) { setTimeout("SetClock()",1000); }
			C = eval("document.lvPoster_"+LVname);
			sPrevVote = sVtmp.substring(0,sVtmp.length-1);
			C.src = F.action + "?res=2&"+qstr
		} else {
			F.submit();
		}
	}
}


function LVDisplayForm(aLV) {
	var sTmp = "";
	var qNum = 0;
	var qNumDisp = "";
  	var LVname = aLV.ID;

 	var sType = (aLV.surveyType) ? aLV.surveyType.toUpperCase() : "";
  	var butSubmit = makeButton(aLV.butSubmit,aLV.ID,sType+ "Vote('" +aLV.ID+ "',"+aLV.bDhtml+")");

	document.write("<a name=anc_"+aLV.ID+"><table ID=\"lv_"+LVname+"\" width=" + aLV.appWidth + " cellpadding=0 cellspacing=0 class=app" + LVname + " " + aLV.appBG +">");
	document.write("<form method=post action=\"/apps/modules/survey/vote.aspx\" name=\"fm_" + LVname + "\"><input type=hidden name=LVname value=\"" + LVname + "\"><input type=hidden name=author value=" + aLV.author + ">");

	if (aLV.sResponseUrl) { document.write("<input type=hidden name=res value=" + aLV.sResponseUrl + ">"); }

	if (aLV.surveyType == "lev") { 
		document.write("<input type=hidden name=lev value=1>"); 
		if (aLV.bCancel) { document.write("<input type=hidden name=cancel value=" + sPrevVote + ">"); }
	}

	if (aLV.appHeader) {
		document.write("<TR class=hed"+LVname+" valign=middle><TD height=20>" + aLV.appHeader + "</TD><TD width=10>" +sSpacer+ "</TD></TR>");
	}

	document.write("<tr><td colspan=2><table cellpadding=0 cellspacing=0 class=box" +LVname+ ">");

	if (aLV.appFmt != 4) {
		var widthQ = (aLV.appWidth-14*aLV.columns-2*aLV.copyMargin-10*(aLV.columns-1))/aLV.columns; 

		var nToteCols = 2 + 2*aLV.columns + aLV.columns-1;

		if (aLV.appDeck[0]) {
			document.write("<TR><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD COLSPAN=" +(nToteCols-2)+ " class=deck"+LVname+">" +aLV.appDeck[0]+ "</TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR>");
		}
		var cntrQ = 1;
		for (i=1;i<aLV.length;i++) {
			if (aLV[i]) {
				if (aLV.bDispQNums) { qNum++; qNumDisp = qNum + ". "; }
				if (cntrQ > 1) { 
					document.write(getSpaceRow(aLV.rowSpacer,nToteCols));
				} 
				cntrQ++;
				document.write("<TR><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD colspan=" +(nToteCols-2)+ " class=headline" +LVname+ ">" + qNumDisp + aLV[i][0][0] + "</b></TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR>");
				var cntr = 0
				for (var j=1;j<aLV[i].length;j++) {
					if (aLV[i][j]) {
						if (cntr % aLV.columns == 0) { document.write("<TR><TD colspan=" +nToteCols+ " height=2>" +sSpacer+ "</TD></TR><TR VALIGN=TOP>"); }
						document.write("<TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD width=14><input type=radio name=Q" + i + " value=" + j + "></TD><TD width=" +widthQ+ ">"+ aLV[i][j][0] +"</TD>");
						if (cntr+1 % aLV.columns == 0) { document.write("<TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR>"); }
						cntr++
					}
				}
			}
		}
		document.write("<tr><td colspan=" +nToteCols+ " height=20>" +sSpacer+ "</td></tr><tr><td valign=top>" +sSpacer+ "</td><td valign=top colspan=" +(nToteCols-2)+ ">" +butSubmit + "<br><font class=credit style=font-size:90%>"+aLV.sVotePrompt+"</font></td><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></tr><tr><td colspan=" +nToteCols+ " height=10>" +sSpacer+ "</td></tr>");

	} else if (aLV.appFmt==4) {
		var iQnum = 1;
		var nGroups = (aLV.subHeds) ? aLV.subHeds.length : 1;
		var nItems = (aLV.length-1)/nGroups;


		if (aLV.appDeck[0]) {
			document.write("<TR><TD colspan=3 class=deck"+LVname+">" +aLV.appDeck[0]+ "</TD></TR>");
		}

		for (i=0;i<nGroups;i++) {
			var sSubHed = (aLV.subHeds) ? aLV.subHeds[i] : "";
			if (aLV.itemsPerSubHed && aLV.itemsPerSubHed.length > 1) { // unequal # of items
				nItems = aLV.itemsPerSubHed[i];
			}
			document.write("<tr valign=bottom><td width=" +(aLV.appWidth-130)+ " class=subhed"+LVname+">" +sSubHed+ "</td><td align=right width=120><img src=http://msnbcmedia.msn.com/i/msnbc/Components/Art/SITEWIDE/stars/stars_grey_vert.gif height=45 width=115 border=0></td></tr><tr><td colspan=3 bgcolor=" +aLV.rowAlt +" height=1>" +sSpacer+ "</td></tr>");

			for (j=0;j<nItems;j++) {
				var bgcolor = (j % 2 == 0) ? "" : "BGCOLOR="+aLV.rowAlt;
				document.write("<tr valign=middle " +bgcolor+ "><td width=" +(aLV.appWidth-130)+ " class=lvtext" +LVname+ ">&nbsp;"+aLV[iQnum][0][0]+ "</td><td width=120>");

				for (var k=1;k<aLV[iQnum].length;k++) {
					document.write("<input type=radio value=" +k+ " name=Q" + iQnum + "> ");
				}

				document.write("</td><td width=5>" +sSpacer+ "</td></tr>");
				iQnum++;
			}

		}

		document.write("<tr><td colspan=5 height=20>" +sSpacer+ "</td></tr><tr><td valign=top colspan=5>" +butSubmit + "<br><font class=credit style=font-size:90%>"+aLV.sVotePrompt+"</font></td></tr><tr><td colspan=5 height=10>" +sSpacer+ "</td></tr>");

	}

	document.write("</table></td></tr>"); // end box

	if (aLV.appFooter) { document.write("<tr><td colspan=2 class=credit style=font-size:100%;background-color:white;>" +aLV.appFooter+ "</td></tr>"); }

	document.write("</FORM></TABLE></a><img src=" +imgClear+ " height=1 width=1 name=lvPoster_" +LVname+ " style=position:absolute;>");
}

function LVDisplayRes(aLV) {
	var sTmp = "";
	var qNum = 0;
	var qNumDisp = "";
  	var LVname = aLV.ID;
	var sVisible = (aLV.display=="vote") ? " style='display:none;' " : "";
	document.write("<a name=anc_"+aLV.ID+"><table ID=\"res_"+LVname+"\" " +sVisible+ " width=" + aLV.appWidth + " border=0 cellpadding=0 cellspacing=0 class=app" + LVname + " " + aLV.appBG +">");

	if (aLV.appHeader) {
		document.write("<TR class=hed"+LVname+" valign=middle><TD height=20>" + aLV.appHeader + "</TD></TR>");
	}

	document.write("<tr><td><table cellpadding=0 cellspacing=0 class=box" +LVname+ " width=" + aLV.appWidth + ">");

	if (aLV.appFmt < 4) {	// vertical columns
		var nColWidth = (aLV.appWidth-10*aLV.columns)/aLV.columns;
		var nToteCols = 2*aLV.columns;

		if (aLV.appDeck[1]) {
			document.write("<TR><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD  class=deck"+LVname+" colspan=" +nToteCols+ ">" +aLV.appDeck[1]+ "</TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR>");
		}
		if (aLV.bResults) {
			if (aLV.sAnswers) {
				var sAnswers = aLV.sAnswers.split(",");
				var sAnsText = aLV.sAnsText.split("|");
			}
		var cntrQ = 1;
		for (i=1;i<aLV.length;i++) {
			if (aLV[i]) {
				if (aLV.bDispQNums) { qNum++; qNumDisp = qNum + ". "; }
				if (cntrQ > 1) {
					document.write(getSpaceRow(aLV.rowSpacer,nToteCols+2));
				}
				cntrQ++;
				var spacer = (i>1) ? '<br>' : '';
				var sPlural = (aLV[i][0][1] != 1) ? "s" : "";
				document.write("<TR valign=top><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD colspan=" +nToteCols+ " class=headline" +LVname+ ">" + qNumDisp + aLV[i][0][0] + " &nbsp;&nbsp;<FONT class=credit style=font-size:90%;font-weight:normal;>* " + aLV[i][0][1] + " response" +sPlural+ "</FONT></TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR>");
				var cntr = 0; 

				if (aLV.bSort) { aLV[i] = sortVoteResults(aLV[i]); }
		
				for (var j=1;j<aLV[i].length;j++) {
					if (aLV[i][j]) {
						percentCur = 100*(aLV[i][j][1]/aLV[i][0][1]);
						percentCur = (percentCur < 10) ? Math.round(10*percentCur)/10 : Math.round(percentCur);	

						sTmp = aLV[i][j][0];
						if (aLV.sAnswers && j==sAnswers[i-1]) {
							sTmp = "<font color=009900><b>" + sTmp + ": </b></font>";
							if (sAnsText[i-1]) { sTmp += sAnsText[i-1]; }
						}

						if (cntr % aLV.columns == 0) { document.write("<TR><TD colspan=" +nToteCols+ " height=4>" +sSpacer+ "</TD></TR><TR valign=top>"); }
						
						var barWidth = Math.round((nColWidth-65) * (percentCur/100));

						var imgBar = (bMoz) ? "<img src=" +imgClear+ " width=" +barWidth+ " height=10>" : "";

						sImg = (percentCur > 0) ? (aLV.imgBar.indexOf(".gif") == -1) ? "<span style='background-color:" +aLV.imgBar+ ";width:"+ percentCur +"%;' >" +imgBar+ "</span>" :  "<IMG SRC='" +aLV.imgBar+ "' width="+ barWidth +" height=10>" : "";

						document.write("<TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD width=" +nColWidth+">" + sTmp + "<BR><b>" + percentCur +"</b>% " +sImg+ "</TD>");

						if (cntr+1 % aLV.columns == 0) { document.write("</TR>"); }
						cntr++
					}
				}
			}
		}
		}

		// LEV revote
		if (aLV.bVoting && aLV.bVoteAgain) {
			document.write("<form name=frmsurvey><TR><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD colspan=" +(nToteCols-1)+ ">If you change your mind, you can vote again in <INPUT type=text name=clock value=" +levCounter+ " size=1 disabled> seconds.<p><BUTTON onclick=CheckVoteTime();>Vote again</BUTTON></TD></TR></form>");
		}

	} else if (aLV.appFmt==4) {
		var sAltColor = "bgcolor="+ aLV.rowAlt;
		var nToteCols = 5;
		if (aLV.appDeck[1]) {
			document.write("<TR><TD colspan=5 class=deck"+LVname+">" +aLV.appDeck[1]+ "</TD></TR>");
		}
		if (aLV.bResults) {
			var sPlural = (aLV[1][0][1] != 1) ? "s" : "";
			document.write("<TR><TD colspan=5><FONT class=credit style=font-size:90%;>* " + aLV[1][0][1] + " response" +sPlural+ "</FONT></TD></TR>");

			var nGroups = (aLV.subHeds) ? aLV.subHeds.length : 1;
			var nItems = (aLV.length-1)/nGroups;
			iQnum = 1;

		for (i=0;i<nGroups;i++) {
			var sSubHed = (aLV.subHeds) ? aLV.subHeds[i] : "";
			document.write("<tr valign=bottom><td colspan=2 class=subhed"+LVname+">" +sSubHed+ "</td><td colspan=2 align=center><b>Rating</B></td><TD width=10>" +sSpacer+ "</TD></tr><tr><td colspan=5 bgcolor=" +aLV.rowAlt+ " height=1>" +sSpacer+ "</td></tr>");

			if (aLV.itemsPerSubHed && aLV.itemsPerSubHed.length>1) { // unequal # of items
				nItems = aLV.itemsPerSubHed[i];
			}
			var Rating = 0;
			for (j=0;j<nItems;j++) { // items in this group
				var bgcolor = (j % 2 == 0) ? "" : sAltColor;

				var nQTotVotes = aLV[iQnum][0][1];
				var subRating = 0;
				for (var nOpt=1;nOpt<aLV[iQnum].length;nOpt++) { 
					subRating += nOpt * aLV[iQnum][nOpt][1];
				}
				subRating = (nQTotVotes) ? subRating/nQTotVotes : 0;
				Rating += subRating;
				subRating = Math.round(subRating*100)/100

				document.write("<tr valign=middle " +bgcolor+ "><td width=5>" +sSpacer+ "</td><td width=" +(aLV.appWidth-130)+ " class=lvtext" +LVname+ " height=20>"+aLV[iQnum][0][0]+"</td><td WIDTH=70>" +MakeStars(subRating)+ "</td><td WIDTH=45 class=lvtext" +LVname+ ">" +subRating+ "</td><TD width=10>" +sSpacer+ "</TD></tr>");
				iQnum++;
			}

			// maybe make this conditional
			Rating = Math.round((Rating/nItems)*100)/100
			document.write("<tr><td colspan=5 bgcolor=" +aLV.rowAlt+ " height=1>" +sSpacer+ "</td></tr><tr><td colspan=2>&nbsp;<b>Overall</b></td><td WIDTH=70><b>" +MakeStars(Rating)+ "</b></td><td WIDTH=45><b>" +Rating+ "</b></td></tr>");
		}
		} // end results

		// LEV revote
		if (aLV.bVoting && aLV.bVoteAgain) {
			document.write("<form name=frmsurvey><TR><TD height=4 colspan=6>" +sSpacer+ "</TD></TR><TR><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD colspan=3>If you change your mind, you can vote again in <INPUT type=text name=clock value=" +levCounter+ " size=1 disabled> seconds.<p><BUTTON onclick=CheckVoteTime();>Vote again</BUTTON></TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR></form>");
		}
	} else if (aLV.appFmt==5) { // COMPARISON
		if (!aLV.subHeds) { aLV.subHeds = "responses|web|nbc/wsj" ; }
		aLV.subHeds = (aLV.subHeds.indexOf("|") > -1) ? aLV.subHeds.split("|") : new Array("responses","web", aLV.subHeds);

		var sAltColor = "bgcolor="+ aLV.rowAlt;
		var nToteCols=6;

		if (aLV.appDeck[1]) {
			document.write("<TR><TD class=deck"+LVname+" colspan=6>" +aLV.appDeck[1]+ "</TD></TR>");
		}
		document.write("<TR><TD height=10 colspan=6>" +sSpacer+ "</TD></TR><TR><TD colspan=6><font size=1>* Percentages may not total to 100% for each question due to non-responses</TD></TR>");

		for (i=1;i<aLV.length;i++) {
			if (aLV[i]) {
				if (aLV.bDispQNums) { qNum++; qNumDisp = qNum + ". "; }
				var spacer = (i>1) ? '<br>' : '';
				var sPlural = (aLV[i][0][1] != 1) ? "s" : "";

				document.write(getSpaceRow(aLV.rowSpacer,6) + "<TR valign=top><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD colspan=4 class=headline" +LVname+ ">" + qNumDisp + aLV[i][0][0] + "&nbsp;&nbsp;<FONT class=credit style=font-size:90%;font-weight:normal;>* " + aLV[i][0][1] + " web response" +sPlural+ "</FONT></TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR><TR><TD colspan=6 height=5>" +sSpacer+ "</TD></TR><TR valign=bottom><TD width=10>" +sSpacer+ "</TD><TD  class=textSmallGrey style=font-size:90%;text-transform:uppercase;>" + aLV.subHeds[0] + "</TD><TD width=5>" +sSpacer+ "</TD><TD width=80 align=right class=textSmallGrey style=font-size:90%;text-transform:uppercase;>" + aLV.subHeds[1] + "&nbsp;</TD><TD width=80 align=right class=textSmallGrey style=font-size:90%;text-transform:uppercase;>" +aLV.subHeds[2]+ "&nbsp;</TD><TD width=10>" +sSpacer+ "</TD></TR><TR><TD width=10>" +sSpacer+ "</TD><TD colspan=4 height=1 bgcolor=cccccc>" +sSpacer+ "</TD><TD width=10>" +sSpacer+ "</TD></TR>");
				var cntr=0;
				for (var j=1;j<aLV[i].length;j++) {
					if (aLV[i][j]) {
						var bgcolor = (cntr % 2 == 0) ?  sAltColor : "";

						percentCur = 100*(aLV[i][j][1]/aLV[i][0][1]);
						percentCur = (percentCur < 10) ? Math.round(10*percentCur)/10 : Math.round(percentCur);	

						document.write("<TR><TD width=10 height=20>" +sSpacer+ "</TD><TD " +bgcolor+ " style=padding-left:5;>" +aLV[i][j][0]+ "</TD><TD width=5 " +bgcolor+ ">" +sSpacer+ "</TD><TD width=80 align=right " +bgcolor+ "><b>" +percentCur+ "</b>%&nbsp;</TD><TD width=80 align=right " +bgcolor+ "><b style=color:#666666>" +nbcres[i-1][j-1]+ "</b>%&nbsp;</TD><TD width=10>" +sSpacer+ "</TD></TR>");
						cntr++;
					}
				}
			}
		}
		
		// LEV revote
		if (aLV.bVoting && aLV.bVoteAgain) {
			document.write("<form name=frmsurvey><TR><TD height=4 colspan=6>" +sSpacer+ "</TD></TR><TR><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD colspan=3>If you change your mind, you can vote again in <INPUT type=text name=clock value=" +levCounter+ " size=1 disabled> seconds.<p><BUTTON onclick=CheckVoteTime();>Vote again</BUTTON></TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR></form>");
		}	

	}

	document.write("<TR><TD colspan=6><div class=credit style=font-size:90%;margin:10px;>"+ aLV.sDisclaimer+ "</div></TD></TR>");

	document.write("</table></td></tr>"); // end box

	if (aLV.appFooter) { document.write("<tr><td colspan=2 class=credit style=font-size:100%;background-color:white;>" +aLV.appFooter+ "</td></tr>"); }

	document.write("</TABLE></a>");
}


function getCurPercent(votesTotal,votesCurrent,votesCum,percentCum) {
	var percentCur = 0; 
	if (votesTotal > 0) {
		percentCur = Math.round(100*(votesCurrent/votesTotal),0);
		if (votesCurrent + votesCum == votesTotal && percentCum + percentCur != 100) { // if this is the last choice ensure percents total 100
			percentCur = 100 - percentCum;
		}
	}
	return percentCur;
}

function sortVoteResults(aTmp1) { 
	// SORT CHOICES for a survey question based on # of votes
	var aTmp = new Array(0,0);
	var bChanged = true; 
	while (bChanged) {
		bChanged = false;
		for (var j=1;j<aTmp1.length-1;j++) {	// for each option
			for (nNext=j+1;nNext<aTmp1.length;nNext++) {
				if (aTmp1[nNext]) { break; }
			}
			if (aTmp1[j] && aTmp1[nNext] && aTmp1[j][1] < aTmp1[nNext][1]) {
				aTmp[0] = aTmp1[j];
				aTmp[1] = aTmp1[nNext];

				aTmp1[nNext]=aTmp[0];
				aTmp1[j]=aTmp[1];
				bChanged = true;
			}
		}
	}
	return aTmp1;
}

function MakeStars(rating) {
	var stars = sSpacer;
	for (var n=0;n<parseInt(rating);n++) {
		stars += "<img src=http://msnbcmedia.msn.com/i/msnbc/Components/Art/SITEWIDE/stars/star_grey.gif height=10 hspace=2 width=10>";
	}
	stars2 = rating-parseInt(rating);

	if (stars2>=.25 && stars2<.5) { stars += "<img src=http://msnbcmedia.msn.com/i/msnbc/Components/Art/SITEWIDE/stars/star_grey_1q.gif height=10 width=10 hspace=2>"; }

	else if (stars2>=.50 && stars2<.75) { stars += "<img src=http://msnbcmedia.msn.com/i/msnbc/Components/Art/SITEWIDE/stars/star_grey_half.gif height=10 width=10 hspace=2>"; }

	else if (stars2>=.75) { stars += "<img src=http://msnbcmedia.msn.com/i/msnbc/Components/Art/SITEWIDE/stars/star_grey_3q.gif height=10 width=10 hspace=2>"; }
	return stars;
}

function SetClock() {
	if (levCounter>0)
	{
	document.frmsurvey.clock.value = levCounter-1;
	}
	levCounter--;
	setTimeout("SetClock()",1000);
}

function CheckVoteTime() {
	if (levCounter <= 0)  {
		var sUrl = location.href;
		if (sUrl.indexOf("refer=") > -1) { sUrl = sUrl.substring(0,sUrl.indexOf("refer=")-1); }
		if (sUrl.indexOf("pv=") > -1) { sUrl = sUrl.substring(0,sUrl.indexOf("pv=")-1); }
		var sep = (sUrl.indexOf("?") > -1) ? "&" : "?";
		location.href = sUrl + sep + "pv=" + sPrevVote;
	}  else  {
		alert("Sorry. You must wait one minute between votes.\r You'll be able to vote again in " +levCounter+ " seconds.");
	}
}

function LVDisplayPhotoForm(aLV) {
 	var LVname = aLV.ID;
	var nToteCols = 2 + 2*aLV.columns-1;
	var spaceCell = "<TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD>";
	var str1=""; var str2="";
	document.write("<a name=anc_"+aLV.ID+"><TABLE width=" + aLV.appWidth + " CELLPADDING=0 CELLSPACING=0 BORDER=0 class=app" + LVname + " " + aLV.appBG +"><form  name=\"fm_" + LVname + "\" method=post action=/apps/modules/survey/vote.aspx><input type=hidden name=lvname value="+LVname+"><input type=hidden name=author value="+aLV.author+">");

	if (aLV.sResponseUrl) { document.write("<input type=hidden name=res value=" + aLV.sResponseUrl + ">"); }

	if (aLV.surveyType == "lev") { 
		document.write("<input type=hidden name=lev value=1>"); 
		if (aLV.bCancel) { document.write("<input type=hidden name=cancel value=" + sPrevVote + ">"); }
	}

	if (aLV.appHeader) {
		document.write("<TR class=hed"+LVname+" valign=middle><TD height=20>" + aLV.appHeader + "</TD><TD width=10>" +sSpacer+ "</TD></TR>");
	}

	document.write("<tr><td colspan=2><table cellpadding=0 cellspacing=0 border=0 class=box" +LVname+ ">");

	if (aLV.appDeck[0]) {
		document.write("<TR>" +spaceCell+ "<TD COLSPAN=" +(nToteCols-2)+ " class=deck"+LVname+">" +aLV.appDeck[0]+ "</TD>" +spaceCell+ "</TR>");
	}
	for (i=1;i<aLV.length;i++) {
		qNumDisp = (aLV.bDispQNums) ? qNum + ". " : "";
		document.write("<TR>" +spaceCell+ "<TD colspan=" +(nToteCols-2)+ " class=headline" +LVname+ ">" + qNumDisp + aLV[i][0][0] + "</b></TD>" +spaceCell+ "</TR><TR><TD colspan=" +nToteCols+ " height=10>" +sSpacer+ "</TD></TR>");
		var cntr = 0;
		for (j=1;j<aLV[i].length;j++){
			if (aLV[i][j]) { // if choice j exists
			if (cntr % aLV.columns == 0) {
				str1 = "<TR valign=bottom align=center>" +spaceCell;
				str2 = "<TR valign=top align=center>" +spaceCell;
			} else if (cntr+1 % aLV.columns != 0) {
				str1 += "<TD width=5>" +sSpacer+ "</TD>";
				str2 += "<TD width=5>" +sSpacer+ "</TD>";
			}

			var choiceText = aLV[i][j][0];
			var imgName = cntr;
			if (choiceText.indexOf("|") > -1) {
				// same structure as interactives
				var aTmp = choiceText.split("|"); 
				imgName = aTmp[3];
				choiceText = aTmp[1];
			}
			if (imgName == 0 || parseInt(imgName)) {
				sCntr = (imgName < 10) ? "0" + imgName : imgName;
				var imgFolder = (ssID) ? ssID : LVname;
				var sep = (imgFolder.lastIndexOf("_") == imgFolder.length-1) ? "" : "_";
				imgUrl = aLV.altPath + imgFolder + sep + sCntr + aLV.teaseSize +".jpg";
				imgName = aLV.ID+"_img" +sCntr;
			} else {
				if (imgName.indexOf("http:") >= 0 || imgName.indexOf("/") == 0) { imgUrl = imgName; }
				else {
					imgUrl = aLV.altPath + imgName.toLowerCase();
					if (imgUrl.indexOf(aLV.teaseSize) == -1) {
						imgUrl = imgUrl.replace(".jpg",aLV.teaseSize+".jpg");
					}
				}
			}
			var imgSrc = (imgUrl.indexOf("<") == -1) ? "<img src=" +imgUrl +" border=0 " + aLV.imgBrdr+ ">" : getTeaseCode(imgUrl);

			str1 += "<TD width=" +aLV.nTeaseW+ " onclick=\"javascript:SetPhotoRadio(document.fm_" + LVname + ".Q" +i+ "[" +cntr+ "]);\" style=cursor:hand;>" +imgSrc+ "</TD>"

			str2 += "<TD height=30 width=" +aLV.nTeaseW+ "><input type=radio name=Q" +i+ " value="+j+"><font face=arial size=2 class=headline"+aLV.ID+">" +choiceText+ "</font></TD>";

			if ( (cntr+1) % aLV.columns == 0) {
				document.write(str1 + spaceCell+ "</TR>" + str2 + spaceCell+ "</TR>" + getSpaceRow(aLV.rowSpacer,nToteCols));
				str1 = "";str2="";
			}
			cntr++;

			}
		}
		if (aLV.columns > 1) { document.write(str1 + "</TR>" + str2 + "</TR>"); }
	}

 	var sType = (aLV.surveyType) ? aLV.surveyType.toUpperCase() : "";

	document.write("<tr>" + spaceCell+ "<td colspan=" + (nToteCols-1)+">" +makeButton(aLV.butSubmit,aLV.ID,sType+ "Vote('" +aLV.ID+ "',"+aLV.bDhtml+")") + "<br><font class=credit style=font-size:90%>"+aLV.sVotePrompt+"</font></td></tr>");

	document.write("</table></td></tr>"); // end box

	if (aLV.appFooter) { document.write("<tr><td colspan=2 class=credit style=font-size:100%;background-color:white;>" +aLV.appFooter+ "</td></tr>"); }

	document.write("</FORM></TABLE></a><img src=" +imgClear+ " height=1 width=1 name=lvPoster_" +LVname+ " style=position:absolute;>");

}

function SetPhotoRadio(oRadio) { oRadio.checked=true;	}

function LVDisplayPhotoRes(aLV) {
 	var LVname = aLV.ID;
	var nToteCols = 2 + 2*aLV.columns-1;
	var spaceCell = "<TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD>";
	var str1=""; var str2="";

	document.write("<a name=anc_"+aLV.ID+"><TABLE width=" + aLV.appWidth + " CELLPADDING=0 CELLSPACING=0 BORDER=0 class=app" + LVname + " " + aLV.appBG +">");

	if (aLV.appHeader) {
		document.write("<TR class=hed"+LVname+" valign=middle><TD height=20>" + aLV.appHeader + "</TD></TR>");
	}

	document.write("<tr><td colspan=2><table cellpadding=0 cellspacing=0 class=box" +LVname+ " >");

	if (aLV.appDeck[1]) {
		document.write("<TR class=deck"+LVname+" valign=middle><TD height=20 colspan=" +nToteCols+ ">" + aLV.appDeck[1] + "</TD></TR>");
	}

	for (i=1;i<aLV.length;i++) {
		qNumDisp = (aLV.bDispQNums) ? qNum + ". " : "";
		document.write("<TR><TD colspan=" +nToteCols+ " class=headline" +LVname+ "><div style=padding:10,0,10,15;>" + qNumDisp + aLV[i][0][0] + "</b><br><font face=arial size=2>" +aLV[i][0][1]+ " votes</font></div><TD></TR>");

		for (j=1;j<aLV[i].length;j++){
			if (aLV[i][j]) { // if choice j exists
			aLV[i][j][2] = j-1;
			}
		}

		aLV[i] = sortVoteResults(aLV[i]);

		var cntr = 0;
		for (j=1;j<aLV[i].length;j++){
			if (aLV[i][j]) { // if choice j exists
			
			var choiceText = aLV[i][j][0];
			var imgName = aLV[i][j][2];

			if (choiceText.indexOf("|") > -1) {
				// same structure as interactives
				var aTmp = choiceText.split("|"); 
				imgName = aTmp[3];
				choiceText = aTmp[1];
			}
			if (imgName == 0 || parseInt(imgName)) {
				sCntr = (imgName < 10) ? "0" + imgName : imgName;
				var imgFolder = (window.ssID) ? ssID : LVname;
				var sep = (imgFolder.lastIndexOf("_") == imgFolder.length-1) ? "" : "_";
				imgUrl = aLV.altPath + imgFolder + sep + sCntr + aLV.teaseSize +".jpg";
			} else {
				if (imgName.indexOf("http:") >= 0 || imgName.indexOf("/") == 0) { imgUrl = imgName; }
				else {
					imgUrl = aLV.altPath + imgName.toLowerCase();
					if (imgUrl.indexOf(aLV.teaseSize) == -1) {
						imgUrl = imgUrl.replace(".jpg",aLV.teaseSize+".jpg");
					}
				}
			} 

			var imgSrc = (imgUrl.indexOf("<") == -1) ? "<img src=" +imgUrl +" border=0 " + aLV.imgBrdr+ ">" : getTeaseCode(imgUrl);

			sVote = (aLV[i][j][1] == 1) ? "vote" : "votes";

			if (cntr % aLV.columns == 0) {
				str1 = "<TR valign=bottom align=center>"  +spaceCell;
				str2 = "<TR valign=top align=center>" +spaceCell;
			} else if (cntr+1 % aLV.columns != 0) {
				str1 += "<TD width=5>" +sSpacer+ "</TD>";
				str2 += "<TD width=5>" +sSpacer+ "</TD>";
			}

			str1 += "<TD width=" +aLV.nTeaseW+ ">" +imgSrc +" </TD>"

			str2 += "<TD height=30 width=" +aLV.nTeaseW+ "><font face=arial size=2 class=headline"+aLV.ID+">" + (j) + ". " +choiceText+ "</font><br><font face='verdana,arial' size=1 class=credit style=font-size:100%> (" +aLV[i][j][1]+ " " + sVote + ")</font></TD>";

			if ( (cntr+1) % aLV.columns == 0) {
				document.write(str1 + spaceCell+ "</TR>");
				document.write(str2 + spaceCell+ "</TR>" + getSpaceRow(aLV.rowSpacer,nToteCols));
				str1 = "";str2="";
			}
			cntr++;
			}

		}
		if (aLV.columns > 1) { document.write(str1 + "</TR>" + str2 + "</TR>"); }
		document.write("<tr><td colspan=" +nToteCols+ " height=20>" +sSpacer+ "</td></tr>");

	}

	// LEV revote
	if (aLV.bVoting && aLV.bVoteAgain) {
		document.write("<form name=frmsurvey><TR><TD height=4 colspan=" +nToteCols+ ">" +sSpacer+ "</TD></TR><TR><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD><TD colspan=" +(nToteCols-2)+ ">If you change your mind, you can vote again in <INPUT type=text name=clock value=" +levCounter+ " size=1 disabled> seconds.<p><BUTTON onclick=CheckVoteTime();>Vote again</BUTTON></TD><TD width=" +aLV.copyMargin+ ">" +sSpacer+ "</TD></TR></form>");
	}

	document.write("<tr><td colspan=" +nToteCols+ "><font size=1 face=arial class=credit style=font-size:90%>" +aLV.sDisclaimer+ "</font></td></tr></table></td></tr>"); // end box

	if (aLV.appFooter) { document.write("<tr><td colspan=2 class=credit style=font-size:100%;background-color:white;>" +aLV.appFooter+ "</td></tr>"); }
	document.write("</TABLE></a>");

}


// COMMON FUNCTIONS

function getSpaceRow(rowSpacer,nColspan) {
	var sTmp = "";
	if (parseInt(rowSpacer) > 0) {
		sTmp = "<tr><td height=" +rowSpacer+ " colspan=" +nColspan+ ">" +sSpacer+ "</td></tr>";
	} else if (rowSpacer) {
		sTmp = "<tr><td colspan=" +nColspan+ " align=center>" +rowSpacer+ "</td></tr>";
	}
	return sTmp;
}

function getQueryParams() {
	var sQuery = location.search.substring(1);
	var aTmp = new Array();
	if (sQuery) {
		aTmp = sQuery.split("&");
		for (i=0;i<aTmp.length;i++) {
			var aTmp2 = aTmp[i].split("=");
			aTmp[aTmp2[0].toLowerCase()] = aTmp2[1];
		}
	} 
	return aTmp;
}


function getTeaseCode(oData,nItem) { // get html for tease image
	if (typeof oData == "object") {
		var oItem = oData[nItem];
	} else if (oData.toLowerCase().indexOf("<img") == 0) {

		oItem = new Array(); oData = oData.substring(oData.indexOf(" ")+1);
		oItem[11] = "";oItem[12] = "";
		while (oData.indexOf("=") != -1) {
			var charPos = oData.indexOf("=");
			var aTmp = new Array(oData.substring(0,charPos), oData.substring(charPos + 2,oData.indexOf("\" ")));
			oData = oData.substring(charPos + 2);	
			oData = oData.substring(oData.indexOf("\" ")+2); // assume quote delimiters
			if (aTmp[0].toLowerCase() == "src") { oItem[3] = aTmp[1]; }
			if (aTmp[0].toLowerCase() == "align") { oItem[10] = aTmp[1]; }
			if (aTmp[0].toLowerCase() == "byline") { oItem[11] = aTmp[1]; }
			if (aTmp[0].toLowerCase() == "credit") { oItem[12] = aTmp[1]; }
			if (aTmp[0].toLowerCase() == "height") { oItem[13] = aTmp[1]; }
			if (aTmp[0].toLowerCase() == "width") { oItem[14] = aTmp[1]; }
			if (aTmp[0].toLowerCase() == "border") { oItem[15] = aTmp[1]; }
		 }
	}
	
	var imgSrc = oItem[3];
	var sTmp = "";	var imgAlign = "";var imgPad = ""; var sCredit = "";
	var caption = (oItem[2] && oItem.body) ? "<font face=arial size=1>" +oItem[2]+ "</font>" : "";

	if ((oItem[11] || oItem[12]) && oData.appLayout != 7) {
		var sSep = (oItem[11] && oItem[12]) ? " / " : "";
		var sOverlay = (oItem[10] == "bg") ? "position:absolute;top:" +(oItem[13]-15)+ ";right:" +(oData.copyWidth - oItem[14]+5)+ ";color:#C6C6C6;": "";
		sCredit += "<div class=credit style=\"text-align:right;margin-bottom:5px;" +sOverlay+ ";\">" +oItem[11]+ sSep +oItem[12]+ "</div>";
	}

	if (imgSrc.indexOf(".swf") > -1) {
		var oTmp=new flashObj2();
		oTmp.ID = oData.ID + nItem;
		oTmp.flashFile = imgSrc;
		oTmp.url = getHref(oItem[6]);
		oTmp.height = oItem[13];
		oTmp.width = oItem[14];
		imgSrc = oTmp.render();
	} else if (imgSrc && imgSrc.indexOf("<") == 0) { // custom coding
		sTmp = imgSrc;
	} else if (!oItem[4] && imgSrc && imgSrc.indexOf("<") == -1) { // img ref only
		if (imgSrc.indexOf("/") != 0 && imgSrc.indexOf("http:") != 0) {
			imgSrc = (oData.altPath) ? oData.altPath + imgSrc : "/d/ip/" +oData.ID+ "/" + imgSrc;
		}

		var imgAlt = (oItem[5]) ? oItem[5] : (oItem[1] && oItem[1].indexOf("<") == -1) ? oItem[1] : "";
		var imgAlign = (oItem[10]) ? " align="+oItem[10] : "";
		var imgBrdr = (oItem[15]) ? " style=\"border:1px solid " +oItem[15]+ ";\"" : "";
		var imgW = (oItem[14]) ? " width="+oItem[14] : "";
		var imgH = (oItem[13]) ? " height="+oItem[13] : "";
		if (oItem[10] == "bg") {
			var sBody = (oItem.body) ? oItem.body : "";
			sTmp = "<TABLE cellpadding=0 cellspacing=0 background="+imgSrc+" " +imgH+ " " +imgW+ "><tr valign=top><td>" +caption + sBody + sCredit + "</td></tr></table>";
		} else {
			var imgPad = (!oItem[10]) ? "" : (oItem[10] == "left") ? "style=margin-right:5px;" : "style=margin-left:5px;";
			imgSrc = "<img src="+imgSrc + imgBrdr + " alt=\"" +imgAlt+ "\" " +imgW+ " " +imgH+ " border=0>";

			sTmp = " <table cellpadding=0 cellspacing=0 " +imgW+ " border=0 " +imgAlign+ " " +imgPad+ "><tr><td>" + imgSrc +  "</td></tr><tr><td>" + sCredit;
			if (caption) { sTmp += "<div class=credit>" +caption+ "</div><hr noshade=true size=1 color=#C0C0C0>"; }
			sTmp += "</td></tr></table>";
		}
	}
	return sTmp;
}

function makeButton(sImg,sName,sAction) {
	// CONSTRUCT buttons w/ states
  	var sTmp = "<BUTTON onclick=" +sAction+ "; name=btn_" +sName+ ">" + sImg + "</BUTTON>";
  	var isImg=0;
	if (sImg.indexOf("http://") == 0 || sImg.indexOf("/") == 0 || sImg.toLowerCase().indexOf(".gif") > -1 | sImg.toLowerCase().indexOf(".jpg") > -1) { 
		sTmp = "<img src=" + sImg + " name=btn_" +sName+ " border=0 onmouseover=SwapImage('btn_" +sName+ "',1); onmouseout=SwapImage('btn_" +sName+ "',0);>"; 
		isImg=1;
	} else if (sImg.indexOf("<") == 0) { 
		sTmp = sImg; 
		isImg=1;
	}
	if (isImg) {
		sTmp = "<a href=\"javascript:" +sAction+ ";\">" + sTmp+"</a>";
	}
	return sTmp;
}