/****************************************************************************
START - DATA DISPLAY FUNCTIONS 
- HM
****************************************************************************/

var display = {
	
	//MAIN CONTROLLER. shut down or enable display functions from here
	buildGameOutputData : function(dataType) {
		
		switch (dataType) {
			case ("livescores") : this.boxscoreData(); break;
			case ("pbpData") : this.pbpData(); break;
			case ("csb") : this.csb(); break;
			case ("sb") : this.sb_f(); break;
			case ("fullsb") : this.sb_f("full"); break;
		}
		
	},
	
	boxscoreData : function() {
		
		//if (livePage == "livescores") {
		//this.buildGameLiveStatsBox();
		if (gameInfo == true){ 
			
			this.buildFanVoice(thisGameId);
			/*
			switch (thisGameId){
				case ("0030600001"): this.buildFanVoiceAllStar(thisGameId); break;
				case ("0030600002"): this.buildFanVoiceAllStarRookieSoph(thisGameId); break;
				default : this.buildFanVoice(thisGameId); break;
			}*/
			
			
		}
		this.buildGameLiveStatsStatistics();
		this.buildGameLiveStatsTeamBox();
		//}
	},
	
	sb_f : function(type) {
		
		// all indexed game objects
		for (var x = 0; x < sb_arrOfGameIndex.length; x++) {
			var sbArray = sb_arrOfGameIndex[x];

			if (type == undefined){
				this.drawSB(sbArray["id"]+"-game", "game-"+sbArray["id"]);
			} else {
				this.drawFullSB(sbArray["id"]+"-game");
			}
		}
		
		//for the top scoreboard - moved inside drawSb function
		//this.buildGameTopScoreboard(thisGameId+"-game");
		
		if (gameInfo == true){ 
			this.drawWatchAndListen(thisGameId);	
		}
		
	},
	
	
	drawSB : function(gameId, divGameId) {
		
		browser = navigator.appName;
		ie = "Microsoft Internet Explorer";
		ns = "Netscape";
	
		var game = sb_arrOfGameData[gameId];
		var vtmPoints = parseInt(game["vtmData"]["score_final"]);
		var htmPoints = parseInt(game["htmData"]["score_final"]);
		
		var vtmWin = (vtmPoints > htmPoints);
		
		//console.log(game);
		
		var sbBox =  helper.htmlElement(divGameId);

		if ( browser != ie ) {
		
		
			if(!helper.checkStrUDF(sbBox)){
				
				// team name does not change!
				//sbBox.childNodes[1].innerHTML = game["vtmData"]["team_abr"];
				sbBox.childNodes[5].innerHTML = game["vtmData"]["score_final"];
				//sbBox.childNodes[3].innerHTML = game["htmData"]["team_abr"];
				sbBox.childNodes[7].innerHTML = game["htmData"]["score_final"];
				
				//<div id="0020401082-clock" class="sbClock"></div>
			    if (game["gstat"]>=3){
					// finished
					sbBox.childNodes[8].innerHTML =  game["gstattxt"];
					//console.log(game["id"]+"-TV");
					var tvID = helper.htmlElement(game["id"]+"-TV");
					helper.checkElementExist(tvID, "", "innerHTML");	
					
					if (vtmWin){
						AddClass(sbBox.childNodes[1],"win");
						AddClass(sbBox.childNodes[5],"win");
					} else {
						AddClass(sbBox.childNodes[3],"win");
						AddClass(sbBox.childNodes[7],"win");
					}
				}
				if (game["gstat"]==2){
					sbBox.childNodes[8].innerHTML = game["gstattxt"]+ " "+ game["clk"];
					
				}
				/*
				if (game["gstat"]==1) 
					sbBox.childNodes[9].innerHTML = game["timet"];
				*/
			}
		
		}  else {
			if(!helper.checkStrUDF(sbBox)){
			
				// team name does not change!
				// sbBox.childNodes[0].innerHTML = game["vtmData"]["team_abr"];
				sbBox.childNodes[2].innerHTML = game["vtmData"]["score_final"];
				//sbBox.childNodes[1].innerHTML = game["htmData"]["team_abr"];	
				sbBox.childNodes[3].innerHTML = game["htmData"]["score_final"];
				if (game["gstat"]>=3){
					
					sbBox.childNodes[4].innerHTML =  game["gstattxt"];
					var tvID = helper.htmlElement(game["id"]+"-TV");
					helper.checkElementExist(tvID, "", "innerHTML");	
					
					if (vtmWin){
						AddClass(sbBox.childNodes[0],"win");
						AddClass(sbBox.childNodes[2],"win");
					} else {
						AddClass(sbBox.childNodes[1],"win");
						AddClass(sbBox.childNodes[3],"win");
					}
				}
				if (game["gstat"]==2){ 
					sbBox.childNodes[4].innerHTML = game["gstattxt"]+ " "+ game["clk"];
				}
				
				
				/*
				if (game["gstat"]==1) 
					sbBox.childNodes[4].innerHTML = game["timet"];
				*/
			}
		}
		
		//for the top scoreboard 
		this.buildGameTopScoreboard(thisGameId+"-game");
		
	},
	
	gamesData : function() {
		this.livescoresThinOutput();
	},
	
	pbpData : function() {
		this.livestatsPlayByPlayOutput();	
	},
	
	csb : function() {
		this.buildCourtsideBox();
	},
	
	//mini box score data with period scores
	buildGameTopScoreboard: function(gID) {
		
		//initialize
		var xmlqtr = ["score_q1","score_q2","score_q3","score_q4","score_ot1","score_ot2","score_ot3","score_ot4","score_final"];
		var period = 0;
		var temp = 0;
		var str = "";
		var tmp = "";
		var gameInfo = "";
		var prdTitle = ["", "1", "2", "3", "4", "OT", "2OT", "3OT", "4OT"];
	
		//data needed sb_arrOfGameData["0030600002-game"]
		var game = sb_arrOfGameData[gID];
		
		var vteam = game["vtmData"];
		var hteam = game["htmData"];
		
		
		var period = parseInt(game.prd); //what period is it
		
		
		/*if (period < 4)
			period = 4;
		*/
		
		var hScores = hteam.scr;
		var vScores = vteam.scr;
	
		var gameStatus = [game.gstat, game.gstattxt, game.clk];
		var hteamData = [hteam.team_name, hteam.tcd];
		var vteamData = [vteam.team_name, vteam.tcd];
	
		gameInfo = (gameStatus[0] == "2") ? helper.helperLiveGameText(game.gstattxt, game.clk) : game.gstattxt;
		
	
		var hScoreSplit = hScores.split("|");
		var vScoreSplit = vScores.split("|");
		
		//nat broadcaster
		if ((game.nbrd).length > 1) {
			
			
			
			var brd = helper.stripBlank(game.nbrd);
			
						
			str = '<div style="background: url(/images/scoreboard/' + brd + '.gif) no-repeat; width: 66px; height: 30px;"></div>';
			
			
			thisID = helper.htmlElement("sm_nattvbrd-" + thisGameId);
			helper.checkElementExist(thisID, str, "innerHTML");
		}
	
		//game status text
		str = "&nbsp;&nbsp;" + gameInfo;
		thisID = helper.htmlElement("sm_gstattxt-" + thisGameId);
		helper.checkElementExist(thisID, str, "innerHTML");
	
		//for OT 
		if (period > 4) {
			for (x = 5; x <= period; x++) {
				otp = "";
				if (x==6) otp = "2";
				if (x==7) otp = "3";
				if (x==8) otp = "4";
			
				thisID = helper.htmlElement("titles" + x);
				thisID.innerHTML=otp + "OT";
			
			}
		}
	
		// each team
		for (tm = 1; tm <= 2; tm++) {
			var dTm = "";
			var dLink = "";
			var dNm = "";
			var tsC = "";
			var splits = "";
			
			if (tm == 1) {
				dTm = "vtm";
				dLink = vteamData[1];
				dNm = vteamData[0];
				tsC = vScoreSplit[vScoreSplit.length-1];
				splits = vScoreSplit;
			}
			else {
				dTm = "htm";
				dLink = hteamData[1];
				dNm = hteamData[0];
				tsC = hScoreSplit[hScoreSplit.length-1];
				splits = hScoreSplit;
			}
		
			//team names
			/*
			str = "/" + dLink + "/";
			thisID = helper.htmlElement("sm_" + dTm + "_name-" + gameID);
			helper.checkElementExist(thisID, str, "href");
			str = dNm;
			helper.checkElementExist(thisID, str, "innerHTML");
			*/
			
			//period scoring
			var qc = 0;
			for (x = 0; x < period; x++) {
				qc++;
			
				str = splits[x];
				if (str == "" || str == undefined)
					str = "0";
			        var whichId = "sm_" + dTm + "_sc" + qc + "-" + thisGameId;
				thisID = helper.htmlElement(whichId);
				helper.checkElementExist(thisID, str, "innerHTML");
			}
		
			//total
			var whichIdTotal = "sm_" + dTm + "_total-" + thisGameId;
			thisID = helper.htmlElement(whichIdTotal);

			if (loadCounter > 1) {
				if (oldScrBxObj[dTm] != tsC) {
					Fat.fade_element(whichIdTotal, dLink);
					
					
					//big score
					if (dTm == "vtm")
						Fat.fade_element("visitor_team_score-" + thisGameId, dLink);
					else
						Fat.fade_element("home_team_score-" + thisGameId, dLink);
					
				}
				
			}
			
			oldScrBxObj[dTm] = tsC;
			helper.checkElementExist(thisID, tsC, "innerHTML");
	
		}
	
		//links
		str = "";
		//
		var gst = parseInt(gameStatus[0]);
		
		try {
			if (gst == 2) {
			
				str = "GAME LIVE";
				thisID = helper.htmlElement("tabOne");
				thisID.lang = "gameinfo";
				helper.checkElementExist(thisID, str, "innerHTML");
				
				str = "BOXSCORE";
				thisID = helper.htmlElement("tabTwo");
				thisID.lang = "boxscore";
				helper.checkElementExist(thisID, str, "innerHTML");
				
			}
			
			if (gst==3) {
				
				str = "GAME FINAL";
				thisID = helper.htmlElement("tabOne");
				thisID.lang = "gameinfo";
				helper.checkElementExist(thisID, str, "innerHTML");
				
				str = "BOXSCORE";
				thisID = helper.htmlElement("tabTwo");
				thisID.lang = "boxscore";
				helper.checkElementExist(thisID, str, "innerHTML");
				
				str = "FULL PLAY-BY-PLAY";
				thisID = helper.htmlElement("tabThree");
				thisID.lang = "playbyplay";
				thisID.style.display = "inline";
				helper.checkElementExist(thisID, str, "innerHTML");
								
				//enable third tab
				thisID = helper.htmlElement("gameInfoLinksBlankImageOne");
				thisID.style.display = "none";
				
				
				// if there is a recap
				if (game["rcp"]!= '') {
				
					str = "RECAP";
					thisID = helper.htmlElement("tabFour");
					thisID.lang = "recap";
					thisID.style.display = "inline";
					helper.checkElementExist(thisID, str, "innerHTML");
				
					//enable fourth tab
					thisID = helper.htmlElement("gameInfoLinksBlankImageTwo");
					thisID.style.display = "none";
					
				}
				
				//bold text winning score
				thisID = (parseInt(vScoreSplit[vScoreSplit.length-1]) > parseInt(hScoreSplit[hScoreSplit.length-1]))?helper.htmlElement("sm_vtm_total-" + gameID):helper.htmlElement("sm_htm_total-" + gameID)
				thisID.style.fontWeight = "bold";
				
				
			}
			
		}
		catch (e) {
			window.status = "tab error";
		}
		
		
		/*

		if (gst == 2) {
				str += "<a class=scrLinks href=\"javascript:openCourtSideNew('"+arrOfGameData[gmeID].gcd+"');\">Flash</a>";
				str += "&nbsp;|&nbsp;<a href=\"javascript:open_window_ex('http://www.nba.com/broadband/alp_schedule.html', 'AudioLeaguePass', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=428,height=505')\" >Listen Live</a>";
			if (period > 2) {
				if ((arrOfGameData[gmeID].vid !='') && ((arrOfGameData[gmeID].vid).length>10) ){
				str+="&nbsp;|&nbsp;<a class=scrLinks href=\"javascript:nbaVideo(escape('http://broadband.nba.com/cc/playa.php?content=video&url="+arrOfGameData[gmeID].vid+"'),escape('blank'));\">Highlights</a>";		
				//str += '<a href="' + arrOfGameData[gmeID].vid + '"><!--Highlights--></a>';
				}
			}
		
		}
	
		if (gst > 2) {
			
			str = "";
			
			if (arrOfGameData[gmeID].rcp !=''){
				//str += '<a href="' + arrOfGameData[gmeID].rcp + '">Game Recap</a>&nbsp;&nbsp;|&nbsp;&nbsp;';
				  str += '<a href="recap.html">Recap</a> | ';
			}
			str += '<a href="playbyplay.html">Full Play-By-Play</a>';
			if (period > 2){
				if (arrOfGameData[gmeID].vid !='' ){
				str+=" | <a class=scrLinks href=\"javascript:nbaVideo(escape('http://broadband.nba.com/cc/playa.php?content=video&url="+arrOfGameData[gmeID].vid+"'),escape('blank'));\">Highlights</a>";		
				}
			}
		}
		
	
		thisID = helper.htmlElement("liveGameLinks");
		helper.checkElementExist(thisID, str, "innerHTML");
		*/
		
	},
	
	
	drawWatchAndListen: function(gameId){
			
		var cslTemplate = 	'<a href="javascript:openCourtSideNew(\'{@gcd}\');">Check out COURTSIDE LIVE!</a>';
		var alPTemplate =   '<a href="javascript:open_window_ex(\'http://www.nba.com/broadband/alp_schedule.html\', \'AudioLeaguePass\', \'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=650,height=515\');">LISTEN LIVE</a>';
		var highlights =    '<a href="javascript:nbaVideo(escape(\'http://broadband.nba.com/cc/playa.php?content=video&url={@vid}\'),escape(\'blank\'));"><img src="/media/homepage/bullet_video.gif" border=0> WATCH HIGHLIGHTS</a>';

		
		
		var game = sb_arrOfGameData[gameId+"-game"];		
		
		
		
		var str ="";
		
		
		
		// replace only when live
		if (parseInt(game["gstat"])>1){
		
		
		
		
		str = cslTemplate;
		
		if(parseInt(game["gstat"])>2){
		// only highlights link if  game over.
			str = "";
				var headID = helper.htmlElement("watchAndListenHdr");
				headID.style.backgroundPosition = '-3px -21px';		
		}
		
		

		
		// if its past halftime and not the rookiesophomore game
		if ((parseInt(game["prd"])>2) && (gameId !="0030600002")) {
		
			str = str + highlights;
			var re = new RegExp("{@vid}","g");
			str = str.replace(re, game["vid"]);			
	
		}

		// exception for rookie sophomore
		if ((parseInt(game["prd"])>1) && (gameId =="0030600002")) {
		
			str = str + highlights;
			var re = new RegExp("{@vid}","g");
			str = str.replace(re, game["vid"]);			
	
		}

		
		var re = new RegExp("{@gcd}","g");
		str = str.replace(re, game["gcd"]);

		// only inner if hlLink is undefined
		if (typeof hlLink == 'undefined'){
			thisID = helper.htmlElement("watchAndListen-" + gameId);
			helper.checkElementExist(thisID, str, "innerHTML");

			if(gamesLive && !fadeForLive){
				Fat.fade_element("watchAndListen-"+ gameId);
				fadeForLive = true;
			}
		}
		

		}
			
	},
	
	
	//statistics for the teams
	buildGameLiveStatsStatistics : function() {
		
		var str = "";
		var hmeID = "htm-" + gameID;
		var visID = "vtm-" + gameID;
		var gmeID = "game-" + gameID;
	
		var vteam =	arrOfTeamData[visID];
		var hteam = arrOfTeamData[hmeID];
	
		str = vteam.team_name;
		str = (helper.checkStrUDF(str)) ? "&nbsp;" : str;
		thisID = helper.htmlElement("ts_vteam_name-" + gameID);
		helper.checkElementExist(thisID, str, "innerHTML");
	
		str = hteam.team_name;
		str = (helper.checkStrUDF(str)) ? "&nbsp;" : str;
		thisID = helper.htmlElement("ts_hteam_name-" + gameID);
		helper.checkElementExist(thisID, str, "innerHTML");
	
		var pctData = new Array(vteam.group_fgp, hteam.group_fgp, vteam.group_3pp, hteam.group_3pp, vteam.group_ftp, hteam.group_ftp);
		var pctDataID = new Array("group_fgp_vtm", "group_fgp_htm", "group_3pp_vtm", "group_3pp_htm", "group_ftp_vtm", "group_ftp_htm");

		for (x = 0; x < pctData.length; x++) {
			str = pctData[x];
			if (str == "1.000") 
				str = "100%";
			else
				str = (helper.checkStrUDF(str)) ? "&nbsp;" : helper.pctDisplayConverter(str, 2) + "%";
			
			thisID = helper.htmlElement("ts_" + pctDataID[x]);
			
			
			helper.checkElementExist(thisID, str, "innerHTML");
			thisID = helper.htmlElement("bs_" + pctDataID[x]);
			helper.checkElementExist(thisID, str, "innerHTML");
			thisID = helper.htmlElement("ts_" + pctDataID[x] + "_height");
			if (thisID == undefined || thisID == null){
				
			}else {
				thisID.style.height= str;
			}
		
		}
	
		var tmData = new Array(vteam.group_to, hteam.group_to, vteam.team_fbpts, hteam.team_fbpts, vteam.team_llead, hteam.team_llead, vteam.team_upts, hteam.team_upts, vteam.team_ppts, hteam.team_ppts);
		var tmDataID = new Array("ts_stat_to_vtm", "ts_stat_to_htm", "ts_team_fbpts_vtm", "ts_team_fbpts_htm", "ts_team_llead_vtm", "ts_team_llead_htm", "ts_team_upts_vtm", "ts_team_upts_htm", "ts_team_ppts_vtm", "ts_team_ppts_htm");
	
		for (x = 0; x < tmData.length; x++) {
		
			str = tmData[x];
			str = (helper.checkStrUDF(str)) ? "&nbsp;" : str;
			thisID = helper.htmlElement(tmDataID[x]);
			helper.checkElementExist(thisID, str, "innerHTML");
		
		}
		
	},
	
	// team players' box
	buildGameLiveStatsTeamBox : function() {
		
		var playersArray = ""; // player array load
		var teamArray = ""; // team data for headers
		var teamIdent = ""; // team ident
		var varrCtr = 0; // temp counter for visitor player
		var harrCtr = 0; // home player
		var playersCtr = 0; // player data load
		var teamID = ""; // team ident
	
		//these are defined to make it easier to declare the arrays
		var hmeID = "htm-" + gameID;
		var visID = "vtm-" + gameID;
		var gmeID = "game-" + gameID;
		var vplayerID  ="pl_vtm";
		var hplayerID  ="pl_htm";
	
		var vteam =	arrOfTeamData[visID]; // get visitor team data
		var hteam = arrOfTeamData[hmeID]; // home team
	
		this.populateTeamScores(hmeID, visID);
		this.populateGameRelatedData(gmeID, hmeID, visID);
		this.populateTeamStatistics(hmeID, visID);
		this.populateOfficialsData();
		
		if (gameInfo != true){
			this.populateTechFouls(hmeID,visID);
		}
		//store to temp array visitor and home teams
		for (x = 0; x < arrOfPlayersIndex.length; x++) {
			
			playersArray = arrOfPlayersIndex[x];
			for (var i in playersArray) {
				//teamident to check if player data is a home/visitor 
				if (i == "teamident")
					teamIdent = playersArray[i];
			}
			
			if (teamIdent == vplayerID) {
				varrCtr++;
				playersCtr = varrCtr;
				
				teamArray = vteam;
				teamID = visID;
				
			}
				
			if (teamIdent == hplayerID) {
				harrCtr++;
				playersCtr = harrCtr;
				
				teamArray = hteam;
				teamID = hmeID;
			}
			
			if (playersCtr == 1) //build team headers
				this.populateTeamHeadersAndTotals(teamID, teamArray);
			
			if (playersCtr <= 20){
				if (gameInfo != true){     
					this.populatePlayersData(teamIdent, playersCtr, playersArray);
				}
			}
			
		}
		
	},
	
	// team headers
	populateTeamHeadersAndTotals : function(teamID, teamArray) {
		
		var str = "";
		var arrCounter = 0;
		var include = true;
		var tArray = new Array();
		var tArrayIndex = new Array();
		var teamLink = false;
	
		for (var i in teamArray) {
			//these object variables are not being used in the headers and totals
			var noSpans = new Array ("id", "teamident", "tm", "team_id", "team_city", "team_abr", "tkt", "std", "std_conf", "std_div", "rcd", "brd", "brdcst_tv", "brdcst_rd", "scr", "score_q1", "score_q2", "score_q3", "score_q4", "score_ot1", "score_ot2", "score_ot3", "score_ot4", "score_final", "stat", "stat_eff", "stat_efa", "gstat", "tstat", "team_fbpts", "team_llead", "team_upts", "team_ppts", "timout", "to_tk", "pld", "rld", "ald", "bld", "tfoul");
				
			include = true;
			for (x = 0; x < noSpans.length; x++) {
			
				if (include)
					if (i == noSpans[x])
						include = false;
			
			}
			
			if (include) {
				tArray[i] = teamArray[i];
				tArrayIndex[arrCounter] = i;
				arrCounter++;		
			}
	
		}
	
		for (var x = 0; x < tArrayIndex.length; x++) {
		
			str = ""; //re-initialize
		
			if (tArrayIndex[x] == "team_name" || tArrayIndex[x] == "tcd") { //team name
				if (!teamLink) {
					str = '<a class="teamTitlesTwo" target="_parent" href="http://www.nba.com/' + tArray["tcd"] + '/">' + (tArray["team_name"]).toUpperCase() + '</a>';
				
					tArrayIndex[x] = "name";
					teamLink = true;
				}
			}
			else if (tArrayIndex[x] == "group_fgp" || tArrayIndex[x] == "group_3pp" || tArrayIndex[x] == "group_ftp") { //percentages
				str = tArray[tArrayIndex[x]];
			}
			else
				str = tArray[tArrayIndex[x]];
		
			if (str != "") {
			
				if (str == undefined)
					str = "";  //if undefined, just put a blank
			
				thisID = helper.htmlElement(tArrayIndex[x] + "_" + teamID);
				helper.checkElementExist(thisID, str, "innerHTML");
			}
		
		}
		
	},
	
	//team players
	populatePlayersData : function(teamIdent, counter, plyrArray) {
	
		var str = "";
		var arrCounter = 0;
		var include = true;
		var classUse = "";
		var pArray = new Array();
		var pArrayIndex = new Array();
	
		for (var i in plyrArray) {
	
			include = true;
			//this array is populated with the object variables not defined in the spans
			var noSpans = new Array ("id", "teamident", "srt", "stat", "player_id", "name", "player_status", "player_jersey", "stat_eff", "stat_efa", "fouls");
			
			for (x = 0; x < noSpans.length; x++) {
		
				if (include)
					if (i == noSpans[x])
						include = false;
			}
		
			if (include) {
		
				pArray[i] = plyrArray[i];
				pArrayIndex[arrCounter] = i;
				arrCounter++;		
			
			}
				
		}

		for (var x = 0; x < pArrayIndex.length; x++) {
		
			str = ""; //re-initialize
			//css class for the player names ( starters are bold )
			if (counter <= 5)
				classUse = "playerS";
			else
				classUse = "playerB";
	
			var playerLink = false; //boolean to do just one instance for player_code and player_name
	
			if (pArrayIndex[x] == "player_code" || pArrayIndex[x] == "player_name" || pArrayIndex[x] == "oncrt") { //player link
				if (!playerLink) {
				
					var oncourt = "";
					var gmID = "game-" + gameID;
					if (pArray["oncrt"] == "1" && parseInt(arrOfGameData[gmID]["gstat"]) < 3)
						oncourt = '<span style="margin: 0px 2px 0px 0px;"><img src="/images/livestats/arrow.gif"></span>';
					else
						oncourt = '<span style="margin: 0px 2px 0px 0px;"><img src="/images/blank.gif" width=6></span>';
					
					var pcodeLink = "";
					switch (pArray["player_code"]) {
						
						//case ("celebrity") : pcodeLink = "#"; break;
						default : pcodeLink = '/playerfile/' + pArray["player_code"] + '/index.html'; break;
					}
					
					if (parseInt(arrOfGameData[gmID]["gstat"]) > 2)
						str = '<a class=' + classUse + ' target="_parent" href="' + pcodeLink + '">' + helper.nameFix(pArray["player_name"], 1) + '</a>';
					else 
						str = oncourt + '<a class=' + classUse + ' target="_parent" href="' + pcodeLink + '">' + helper.nameFix(pArray["player_name"], 1) + '</a>';
				
					playerLink = true;
				
					//check if dnp only when game is done.
					if (parseInt(arrOfGameData[gmID]["gstat"]) > 2) {
						if ((pArray["stat_min"] == '00:00') && (helper.trimString(pArray["dnp"]).length > 0))
							str += '&nbsp;&nbsp;<img src="http://www.nba.com/images/dnp.gif" border=0 alt="Reason : ' + pArray["dnp"] + '">&nbsp;&nbsp;';
						
					}
				
					thisID = helper.htmlElement("name_" + teamIdent + "-" + gameID + "-" + counter);
					if (counter>12) {
						thisID.style.display = 'block';
					}
					helper.checkElementExist(thisID, str, "innerHTML");
				}
			}
			else {
		
				switch (pArrayIndex[x]) {
					
					case ("player_pos") : {
						//only show position for starters
						if (counter <=5)
							str = helper.convertPosition(pArray["player_pos"]);
						else
							str = "&nbsp;";
					
						if (str == undefined) str = "&nbsp;";
					
						pArrayIndex[x] = "pos";
					
						break;
					}
					
					case ("stat_min") : {
						if (pArray["stat_min"] == ":" || pArray["stat_min"] == 0 || pArray["stat_min"] == undefined) {
							if (livePage == "boxscore") str = "&nbsp;";
							if (livePage == "livescores") str = "00:00";
						}
						else 
							str = pArray["stat_min"];
					
						break; 
					}
					
					case ("dnp") : str = "dnp"; break; // does not get any id
					
					default: { //the rest of the data
						str = pArray[pArrayIndex[x]]; 
					
						if (str == "" && livePage == "livescores") {
							if (pArrayIndex[x] == "stat_fg" || pArrayIndex[x] == "stat_3p" || pArrayIndex[x] == "stat_ft") 
								str = "-";
							else
								str = "0";
						}
						
						break; 
					} 
				}
				
				if (str != "dnp") {
				
					thisID = helper.htmlElement(pArrayIndex[x] + "_" + teamIdent + "-" + gameID + "-" + counter); 
					
					if (counter>12) {
						try {
							plyID = helper.htmlElement(teamIdent + "_" + counter);
							plyID.style.display = '';
						}
						catch (e) {
							//nothing
						}
					}
					helper.checkElementExist(thisID, str, "innerHTML");
				}	
			}
		
		}
		
	},
	
	populateTeamScores : function(hmeID, visID) {
		
		var hTeamScore = arrOfTeamData[hmeID].score_final; //get score total
		var vTeamScore = arrOfTeamData[visID].score_final; //get score total
		var hTeamcode = arrOfTeamData[hmeID].tcd;
		var vTeamcode = arrOfTeamData[visID].tcd;
	
		hTeamcode = hTeamcode.toLowerCase();
		vTeamcode = vTeamcode.toLowerCase();
	
		var hTeamname = arrOfTeamData[hmeID].team_name;
		var vTeamname = arrOfTeamData[visID].team_name;
		
		var hTeamCity = arrOfTeamData[hmeID].team_city;
		var vTeamCity = arrOfTeamData[visID].team_city;
	
		hTeamname = hTeamname.toUpperCase();
		vTeamname = vTeamname.toUpperCase();
		
		
		var tArray = new Array();
		var str = "";
		var st = "";
		var tmCode = "";
		var tmName = "";
		var tmScore = "";
	
		tArray[0] = new Array("home", hTeamScore, hTeamcode, hTeamname, hTeamCity);
		tArray[1] = new Array("visitor", vTeamScore, vTeamcode, vTeamname, vTeamCity);
	
		for (x = 0; x < tArray.length; x++) {
		
			st = tArray[x][0];
			tmScore = tArray[x][1];
			tmCode = tArray[x][2];
			tmName = tArray[x][3];
			tmCity = tArray[x][4];

			str = "http://www.nba.com/" + tmCode + "/";
			thisID = helper.htmlElement(st +"_team-" + gameID);
			helper.checkElementExist(thisID, str, "href");
			str = tmName;
			helper.checkElementExist(thisID, str, "innerHTML");
			
			str = '<span id="printOnly">' + tmCity + '<br></span>' + tmScore;
			thisID = helper.htmlElement(st + "_team_score-" + gameID);
			helper.checkElementExist(thisID, str, "innerHTML");
			
			str = "http://www.nba.com/" + tmCode + "/";
			thisID = helper.htmlElement(st + "_team_llink-" + gameID);
			helper.checkElementExist(thisID, str, "href");
		
			str = "http://www.nba.com/media/" + tmCode + "_sm.gif";
			thisID = helper.htmlElement(st + "_team_logo-" + gameID);
			helper.checkElementExist(thisID, str, "src");
		
		}
		
		
	},
	
	// updated 11/16/2006 -Lambert
	
	populateGameRelatedData : function(gmeID, hmeID, visID) {
		
		var str = "";
			
		str = helper.boxGameDate(gameDate); // gameDate is a global variable
		thisID = helper.htmlElement("gamedate-" + gameID);
		helper.checkElementExist(thisID, str, "innerHTML");
	
		//arena information
		/*
		str = arrOfGameData[gmeID].arena_name + ", " + arrOfGameData[gmeID].arena_loc;
		str = unescape(str);
		thisID = helper.htmlElement("game_arena_info-" + gameID);
		helper.checkElementExist(thisID, str, "innerHTML");
		*/
		//game attendance
		
		str = arrOfGameData[gmeID].arena_att;
		str = helper.addNumComma(str); 
		if (str == "" || str == null || str == "0")
			str = "-";
		thisID = helper.htmlElement("game_arena_att-" + gameID);
		helper.checkElementExist(thisID, str, "innerHTML");

		//duration
		var str2 = arrOfGameData[gmeID].dur;
		//alert(str2);
		if (str2 == "" || str2 == null || str2 == "0:00")
			str2 = "&nbsp;";
		
		thisID = helper.htmlElement("game_duration-" + gameID);
		helper.checkElementExist(thisID, str2, "innerHTML");
		
		
		
		//leads and ties
		str = arrOfGameData[gmeID].ldchg;
		thisID = helper.htmlElement(gameID+"-ldchg");
		helper.checkElementExist(thisID, str, "innerHTML");

		str = arrOfGameData[gmeID].tie;
		thisID = helper.htmlElement(gameID+"-tie");
		helper.checkElementExist(thisID, str, "innerHTML");		
		
		//fanvoice link - needs gameForumID defined globaly during template generation
		/*
		try {
			str = 'Do you have an opinion about the ' + arrOfTeamData[hmeID].team_name + ' vs ' +  arrOfTeamData[visID].team_name + ' game? ';
			str += '<a href="http://my.nba.com/forum.jspa?forumID=' + gameForumID + '">Write your own recap</a> or read what other fans are discussing about this game.';
			thisID = helper.htmlElement("fanvoicelink");
			helper.checkElementExist(thisID, str, "innerHTML");
		}
		catch (e) { 
			//helper.errorLogger("Forum ID variable not available", "populateGameRelatedData", "none", e.message);
		}
		*/
		
	},
	
	populateTeamStatistics : function(hmeID, visID) {
		
		var str = "";
	
		var tmStatData = new Array(arrOfTeamData[hmeID].team_name, arrOfTeamData[hmeID].team_fbpts, arrOfTeamData[hmeID].team_ppts, arrOfTeamData[hmeID].team_llead, arrOfTeamData[visID].team_name, arrOfTeamData[visID].team_fbpts, arrOfTeamData[visID].team_ppts, arrOfTeamData[visID].team_llead);
		var tmStatDataID = new Array("hteam_name-", "hteam_fbpts-", "hteam_ppts-", "hteam_llead-", "vteam_name-", "vteam_fbpts-", "vteam_ppts-", "vteam_llead-");
	
		for (var x = 0; x < tmStatData.length; x++) {
		
			str = tmStatData[x];
			str = (helper.checkStrUDF(str)) ? "" : str;
	
			thisID = helper.htmlElement(tmStatDataID[x] + gameID);
			helper.checkElementExist(thisID, str, "innerHTML");
		
		}
		
		//this.populateTechFouls(hmeID,visID);
		
	},
	
	populateTechFouls : function(hmeID,visID) {

		//technical fouls
		var tchFoulArr = null;
		tchFoulArr = new Array();
		if(arrOfTeamData[visID].tfoul !=''){
		var visTmTechFoul = arrOfTeamData[visID].tfoul.split("^");
		 for (i=0; i< visTmTechFoul.length; i++){
					var visTmTechFoulArr = visTmTechFoul[i].split("|");
					tchFoulArr[tchFoulArr.length] = { team:visTmTechFoulArr[0], time:visTmTechFoulArr[1], name:helper.nameFix(visTmTechFoulArr[2],3)};
		 }
		}
		if(arrOfTeamData[hmeID].tfoul !=''){
		var hmeTmTechFoul = arrOfTeamData[hmeID].tfoul.split("^");
		 for (i=0; i<hmeTmTechFoul.length; i++){
					var hmTmTechFoulArr = hmeTmTechFoul[i].split("|");
					tchFoulArr[tchFoulArr.length] = { team:hmTmTechFoulArr[0], time:hmTmTechFoulArr[1], name:helper.nameFix(hmTmTechFoulArr[2],3)};
		  }
		 }
		 
		thisID = helper.htmlElement("tFoulHdr");
		var dd = document.getElementById("tFoul").getElementsByTagName("dd");
		if (tchFoulArr.length > 0){
		// clear old dd
		for(i=0;i<dd.length;i++){
			dd[i].parentNode.removeChild(dd[i]);
		}
		//var ddElem = helper.getNextElement(thisID.nextSibling);
		//var str ="";
		for (i=0;i<tchFoulArr.length;i++){
			var str = document.createTextNode(tchFoulArr[i].team +' '+ tchFoulArr[i].time +' '+tchFoulArr[i].name);			
			var newDD = document.createElement("DD");//appendChild(document.createTextNode(str));
			newDD.appendChild(str);
			//helper.htmlElement("tFoul").firstChild.appendChild(newDD);
			  helper.insertAfter(newDD,helper.htmlElement("tFoulHdr"));
			}
			
		}
		tchFoulArr = null;
		//helper.checkElementExist(ddElem, str, "innerHTML");
	},

	populateOfficialsData : function() {
		
		var str = "";
	
		
		var names = arrOfOfficialsData["officials-" + gameID].nm;
	
		if (names != "" || names != null) {
	
			var officials = names.split("^");
	
			for (var x = 0; x < officials.length; x++) {
		
				var splitOff = officials[x].split("|");
				var offName = splitOff[0];
				var offNum = splitOff[1];
			
				if (x > 0) str += ", "; //add comma;
		
				str += " #" + offNum + " " + offName;
			
			}
		}
	
		thisID = helper.htmlElement("game_officials-" + gameID);
		helper.checkElementExist(thisID, str, "innerHTML");
		
	},
	
	livestatsPlayByPlayOutput : function() {
		
		try {
			var pbpArray = new Array();
			var arrCount = 0;
			var pbp = "";

			
			
			var z = 0;
			var str = "";
			var startEnd = new RegExp("(Start)|(End)","gi");
			var scorePiece = /\[.*\]/;
			
			var templatePlayByPlayVisTeam = '<dt class="clock">{@clock}</dt><dd class="visitor">{@play}</dd><dd class="home">&nbsp;</dd>';
			var templatePlayByPlayHomTeam = '<dt class="clock">{@clock}</dt><dd class="visitor">&nbsp;</dd><dd class="home">{@play}</dd>';
		   	var templatePlayByPlayNoTeam = '<dt class="noteam">{@play}</dt>';
		    var templatePlayByPlayStartEnd = '<dt class="noteam">{@play}</dt>';
			
			//count limit to whatever you want
			var limit = 10;
			arrCount = (arrOfPBPIndex.length > limit) ? limit : arrOfPBPIndex.length;
			
			
		
			for (var x = 0; x < arrCount; x++) {
			
				pbp = arrOfPBPIndex[x];
		
				pbpArray[1] = pbp["pbptext"];
				var clock = helper.pbpTextData(pbpArray[1], 1);
				var play =  helper.pbpTextData(pbpArray[1], 2);
				//var tm =  helper.pbpTextData(pbpArray[1], 2);
				
				//console.log(tm);
				
				var whichTeam = pbp["tm"];
				if (whichTeam == pbpVisitorTeam){
					str = templatePlayByPlayVisTeam;
				}
				if (whichTeam == pbpHomeTeam){
					str = templatePlayByPlayHomTeam;
				}
				if (whichTeam == ""){
					if(startEnd.test(pbpArray[1])){
						str = templatePlayByPlayStartEnd;
					} else{
						str = templatePlayByPlayNoTeam;
					}
				}
				
				
				z++;
				
				
				//str = helper.pbpTextData(pbpArray[1], 1);
				
				/* replace time */
				var re = new RegExp("{@clock}","g");
				if (/PTS/.test(play)){ 
					bracketScore = play.match(scorePiece);
					clock = "<strong>"+clock+"<br>"+bracketScore+"</strong>";
				}	
				str = str.replace(re,clock);
				
				/* replace play */
				var re = new RegExp("{@play}","g");
				if (/PTS/.test(play)) {
					play  = play.replace(/\[.*\]/,"");
					play = "<strong>"+play+"</strong>";
				}	 
				str = str.replace(re,play);
				
				thisID = helper.htmlElement("pbp_" + z);
				helper.checkElementExist(thisID, str, "innerHTML");
				
				
				/*
				thisID = helper.htmlElement("pbp_text_" + z);
				str = helper.pbpTextData(pbpArray[1], 3);
				if (str.search("PTS")>1) 
					str = "<strong>" + str + "</strong>";
				thisID.innerHTML = str;
				helper.checkElementExist(thisID, str, "innerHTML");
				*/
			}
			
			//alert(pbpLiveOld.length);
			
	    	//for the watchandlisten
			
			
	
		}
		catch (e) { 
			helper.errorLogger("Display class error", "livestatsPlayByPlayOutput", "none", e.message);
		}
		
	},
	
	showPBPLine : function (div, line, row) {
		
		if (row.length < 1) {
						
			div.appendChild(line);
						
		}
		else{
			div.insertBefore(line, row[0]);
		}
		
		Fat.fade_element("newLinePBP");
		
		
	},
	
	pause : function () {
		
		return;
		
	},
	
	/************* FULL SCOREBOARD ***********************************/
	
	drawFullSB : function(gameId) {
		
		var game = sb_arrOfGameData[gameId];
		
		//this.fullSBLeaders(game);
		this.drawScoreboard(game);
		
	},
	
	fullSBLeaders : function(gameObj) {
		
		var str = "";
		var gameId = gameObj["id"];
		var thisId = null;
		var h = helper;
		
		var hTeamObj = gameObj["htmData"];
		var vTeamObj = gameObj["vtmData"];
		
		var tmArray = new Array(hTeamObj,vTeamObj);

		for(i=0;i<tmArray.length;i++){
			
			if (typeof(tmArray[i].pld_playercode) != "undefined") {
			
				thisID = h.htmlElement(gameId+"-"+tmArray[i]["teamident"]+"-pld");
				str = '<a class=scrLinkP href="/playerfile/' + tmArray[i]["pld_playercode"] + '/index.html">' + h.nameFix(tmArray[i]["pld_playername"], 1) + '</a>&nbsp;' + tmArray[i]["pld_stat"];
				h.checkElementExist(thisID, str, "innerHTML");
			
			}
			
			if (typeof(tmArray[i].rld_playercode) != "undefined") {
			
				thisID = h.htmlElement(gameId+"-"+tmArray[i]["teamident"]+"-rld");
				str = '<a class=scrLinkP href="/playerfile/' + tmArray[i]["rld_playercode"] + '/index.html">' + h.nameFix(tmArray[i]["rld_playername"], 1) + '</a>&nbsp;' + tmArray[i]["rld_stat"];		
				h.checkElementExist(thisID, str, "innerHTML");
			
			}
			
			if (typeof(tmArray[i].ald_playercode) != "undefined") {
				
				thisID = h.htmlElement(gameId+"-"+tmArray[i]["teamident"]+"-ald");
				str = '<a class=scrLinkP href="/playerfile/' + tmArray[i]["ald_playercode"] + '/index.html">' + h.nameFix(tmArray[i]["ald_playername"], 1) + '</a>&nbsp;' + tmArray[i]["ald_stat"];		
				h.checkElementExist(thisID, str, "innerHTML");
				
			}
			
		}
		
	},
	
	drawScoreboard : function(game) {
		
		var thisId = null;
		var sbScore = null;
		var str = "";
		var score = null;
		var qtrs = new Array("scr1","scr2","scr3","scr4","scrOT","scr2OT","scr3OT","scr4OT","scrTOT","scrTOT-Top");
		var xmlqtr = new Array("score_q1","score_q2","score_q3","score_q4","score_ot1","score_ot2","score_ot3","score_ot4","score_final");
		var qtrsOT = new Array("OT","2OT","3OT","4OT");
		var colName = new Array("hdr","spc","vtm-scr","vtm-spc2","htm-scr","htm-spc2");
		var visClassName = new Array("teamTitlesTwo","bA","dFont","wH","dFont","wH");	
		var hidIDName = new Array("hdr","spc", "scr","spc2", "scr","spc2");
	
		try {
			// header
			var gamestatus = parseInt(game["gstat"]); 
			var gameId = game["id"];
			var period=game["prd"];
			var vTeamObj = game["vtmData"];	
			var hTeamObj = game["htmData"];
			var tmArray = new Array(vTeamObj,hTeamObj);
			
			//title bar color change on game status 
			
			thisId = helper.htmlElement(gameId + "-miniBoxscore");
			
			if (thisId != undefined) {
				
				if (gamestatus == 2)
					thisId.className ="headerLive";
				if (gamestatus > 2)
					thisId.className ="headerPost";
				
			}
		
			thisId = helper.htmlElement(gameId+"-clk");
			
			if(thisId != undefined){
				if (gamestatus>=3) {
					if (!helper.checkStrUDF(thisId))
					
					thisId = helper.htmlElement(gameId+"-clk");
					thisId.className ="clkStatusPost";
					
					if (!helper.checkStrUDF(thisId))
						thisId.innerHTML =  game["gstattxt"].toUpperCase();
				}
				
				if (gamestatus==2) {
					if (!helper.checkStrUDF(thisId))
						thisId.innerHTML = game["clk"] +" "+game["gstattxt"].toUpperCase();
				
					thisId = helper.htmlElement(gameId+"-clk");
					thisId.className ="clkStatusLive";
					if (!helper.checkStrUDF(thisId)) {
					
						if (game["gstattxt"].indexOf("Tipoff")>-1 || game["gstattxt"].indexOf("Halftime")>-1 || game["gstattxt"].indexOf("Final")>-1) 
							thisId.innerHTML =  game["gstattxt"];
						/*else 
							thisId.innerHTML =  game["clk"];
						*/
					}
				}
			
				if (gamestatus==1) {
					if (!helper.checkStrUDF(thisId))
					thisId.innerHTML = game["gstattxt"].toUpperCase(); //+ " ET";
					
					thisId = helper.htmlElement(gameId+"-clk");
					thisId.className ="clkStatusPre";
					
					if (!helper.checkStrUDF(thisId)) {
						thisId.innerHTML = game["gstattxt"].toUpperCase();
					}
				}
			}
		
		
			thisId = helper.htmlElement(gameId+"-statustext");
			
			if(thisId != undefined){
				if (gamestatus>=3) {
					if (!helper.checkStrUDF(thisId))
					AddClass(thisId,"Post");
				}
				
				if (gamestatus==2) {
					if (!helper.checkStrUDF(thisId))
					AddClass(thisId,"Live");
					
				}
			
				if (gamestatus==1) {
					if (!helper.checkStrUDF(thisId))
					AddClass(thisId,"Pre");

				}
			}
		
		
		
		
			// OT
			if (period > 4) {
		
				for (var o = 1; o <= period-4; o++) {
					if (o == 1) {
						thisId = helper.htmlElement(gameId+ "-hdr-OT");
						if (!helper.checkStrUDF(thisId))
							thisId.innerHTML = "OT";
					}
					else {
						thisId = helper.htmlElement(gameId+ "-hdr-" + o + "OT");
						if (!helper.checkStrUDF(thisId))
							thisId.innerHTML = o + "OT";
					}
				}
			}
		
			// draw scores all scores!
			// for each team
			for(i=0;i<tmArray.length;i++){
			
				// for each quarter	
				for(x=0;x<qtrs.length;x++){
			
					sbScore = tmArray[i][xmlqtr[x]];
					if (qtrs[x] == "scrTOT" || period >= (x+1) ) {
					
						thisId = helper.htmlElement(gameId+"-"+tmArray[i]["teamident"]+"-"+qtrs[x]);
						if (!helper.checkStrUDF(thisId)) {
							if (sb_loadCounter>1){		
						
								if (oldScrObj[gameId+"-"+tmArray[i].teamident][tmArray[i][xmlqtr[x]]] != sbScore){
									Fat.fade_element(gameId+"-"+tmArray[i]["teamident"]+ "-" + qtrs[x], tmArray[i]["tcd"]);
									Fat.fade_element(gameId+"-"+tmArray[i]["teamident"]+"-scrTOT", tmArray[i]["tcd"]);
									Fat.fade_element(gameId+"-"+tmArray[i]["teamident"]+"-scrTOT-Top",tmArray[i]["tcd"]);
									Fat.fade_element(gameId+"-"+tmArray[i]["teamident"]+"-name", tmArray[i]["tcd"]);
								}
								
								
								
							
							}
							thisId.innerHTML = sbScore;		
							oldScrObj[gameId+"-"+tmArray[i].teamident][tmArray[i][xmlqtr[x]]] = sbScore;
						}
					
					}
				
					//TOTAL ON TOP
					if (qtrs[x] == "scrTOT-Top") {
						thisId = helper.htmlElement(gameId+"-"+tmArray[i]["teamident"]+"-"+qtrs[x]);
						if (!helper.checkStrUDF(thisId)) {
							if (tmArray[i][xmlqtr[x-1]] == "") 
								thisId.innerHTML = "&nbsp;";
							else 
								thisId.innerHTML = tmArray[i][xmlqtr[x-1]];
						}
					}
					
				
				}
			}		
			
			// links
			if (gamestatus >=2){

			thisId = helper.htmlElement(gameId+"-tkt");
				if (!helper.checkStrUDF(thisId)) {
					thisId.style.display = 'none';
				}
			}

			if  ((parseInt(gamestatus)) >=2){ 
				
				if (parseInt(vTeamObj["score_final"]) > parseInt(hTeamObj["score_final"])) {
					thisId = helper.htmlElement(gameId + "-vtm-link");
					AddClass(thisId,"win");
					thisId = helper.htmlElement(gameId + "-htm-link");
					AddClass(thisId,"lose");					
					thisId = helper.htmlElement(gameId + "-vtm-scrTOT-Top");
					AddClass(thisId,"win");
					thisId = helper.htmlElement(gameId + "-vtm-scrTOT");
					AddClass(thisId,"win");
					
					
				}
				else {
					thisId = helper.htmlElement(gameId + "-htm-link");
					AddClass(thisId,"win");
					thisId = helper.htmlElement(gameId + "-vtm-link");
					AddClass(thisId,"lose");					
					thisId = helper.htmlElement(gameId + "-htm-scrTOT-Top");
					AddClass(thisId,"win");					
					thisId = helper.htmlElement(gameId + "-htm-scrTOT");
					AddClass(thisId,"win");
					
				}
			}
			
			
			/* REMOVE AFTER FINALS (FULL SCOREBOARD) - START */
			try {
				isFinalsScoreboard = (isFinalsScoreboard == undefined)?false:isFinalsScoreboard;
			}
			catch (e) {
				isFinalsScoreboard = false;
			}
			
			if (gamestatus > 2 && isFinalsScoreboard) {
			
				str = "";
				str+="<a href=\"/games/"+game["gcd"]+"/gameinfo.html\">Game Info</a> ";
				if ((game["vid"]!='') && (game["vid"].length>10) && (period >2)){
						str+=" | <a href=\"javascript:nbaVideo(escape('http://broadband.nba.com/cc/playa.php?content=video&url="+game["vid"]+"'),escape('blank'));\">Video</a>";
				}
				str += " | <a href=\"http://download.nba.com/Series.aspx?series=2007p400\">Buy</a>";
			}
			
			//thisId = helper.htmlElement(gameId+"-links");
			//helper.checkElementExist(thisId, str, "innerHTML");
			
			/* REMOVE AFTER FINALS  (FULL SCOREBOARD) - END */
			
			
			/*
			//initialize not to show ticketlink
			tktstr = "";
			thisId = helper.htmlElement(gameId+"-tkt");
			helper.checkElementExist(thisId, tktstr, "innerHTML");
						
				
			if (gamestatus == 1){
				
				str = "";
				if (showNotesLink)
					str="&nbsp;&nbsp;<a class=scrLinks href=\"/"+vTeamObj["tcd"]+"/news/notes.html\">"+vTeamObj["team_abr"]+"&nbsp;Notes</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a class=scrLinks href=\"/"+hTeamObj["tcd"]+"/news/notes.html\">"+hTeamObj["team_abr"]+"&nbsp;Notes</a>&nbsp;&nbsp;|";
				
				str += "&nbsp;&nbsp;<a class=scrLinks href=\"/games/"+game["gcd"]+"/preview.html\">Preview</a>";
				
				
				//show ticketlink
				if (hTeamObj["tkt"].length>1) {
					
						tktstr = "&nbsp;<a target=\"_blank\" href=\"" + hTeamObj["tkt"] + "\"><img border=0 src=\"/images/gameInfo/scoreboard/buy_tickets.gif\"></a>";
						thisId = helper.htmlElement(gameId+"-tkt");
						helper.checkElementExist(thisId, tktstr, "innerHTML");
					
				}
				
			}
			
			if  (gamestatus ==2){
				str="&nbsp;&nbsp;<a class=scrLinks href=\"javascript:open_window_ex('http://www.nba.com/broadband/alp_schedule.html', 'AudioLeaguePass', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=428,height=505')\">Listen Live</a>&nbsp;&nbsp;|&nbsp;&nbsp;Livestats:&nbsp;";
				
				str += "&nbsp;<a class=scrLinks href=\"javascript:openCourtSideNew('"+game["gcd"]+"');\">Flash</a>&nbsp;";			
				str+="&nbsp;|&nbsp;<a class=scrLinks href=\"/games/"+game["gcd"]+"/boxscore.html\">HTML</a>";
				
				//str+="&nbsp;&nbsp;<a class=scrLinks href=\"/games/"+game["gcd"]+"/livestats.html\">HTML</a>";
				//str+="&nbsp;-&nbsp;<a class=scrLinks href=\"#\" onclick=\"openCourtSideLS('"+vTeamObj["team_abr"]+hTeamObj["team_abr"]+"');return false;\">FLASH</a>&nbsp;";
		        	if ((game["vid"]!='') && (game["vid"].length>10) && (period >2)){
						str+="&nbsp;|&nbsp;&nbsp;<a class=scrLinks href=\"javascript:nbaVideo(escape('http://broadband.nba.com/cc/playa.php?content=video&url="+game["vid"]+"'),escape('blank'));\">Highlights</a>";
					}
			}
			
			if ((gamestatus>2)&&(gamestatus!=5)){
				
				if (game["rcp"]!='' ){
					str="&nbsp;&nbsp;<a  class=scrLinks href=\"/games/"+game["gcd"]+"/recap.html\">Recap</a>&nbsp;&nbsp;|";
				}
				str+="&nbsp;&nbsp;<a class=scrLinks href=\"/games/"+game["gcd"]+"/boxscore.html\">Box Score</a>";
		        if ((game["vid"]!='') && (game["vid"].length>10) && (period >2)){
					str+="&nbsp;|&nbsp;&nbsp;<a class=scrLinks href=\"javascript:nbaVideo(escape('http://broadband.nba.com/cc/playa.php?content=video&url="+game["vid"]+"'),escape('blank'));\">Highlights</a>";
				}
			}
			
			if (gamestatus==5){
				if(game["rcp"]!='' ){
					str="&nbsp;&nbsp;<a  class=scrLinks href=\"/games/"+game["gcd"]+"/recap.html\">Recap</a>&nbsp;&nbsp;|";
				}
				str+="&nbsp;&nbsp;<a class=scrLinks href=\"/games/"+game["gcd"]+"/boxscore.html\">Box Score</a>";
		        if ((game["vid"]!='') && (game["vid"].length>10) && (period >2)) {
					str+="&nbsp;|&nbsp;&nbsp;<a class=scrLinks href=\"javascript:nbaVideo(escape('http://broadband.nba.com/cc/playa.php?content=video&url="+game["vid"]+"'),escape('blank'));\">Highlights</a>";
				}
			
			}
			
			thisId = helper.htmlElement(gameId+"-links");
			helper.checkElementExist(thisId, str, "innerHTML");
			*/
			//Win arrow
			/*
			if (parseInt(gamestatus) > 2) {
				if (parseInt(vTeamObj["score_final"]) > parseInt(hTeamObj["score_final"])) {
					thisId = helper.htmlElement(gameId + "-vtm-name");
					str = '<img src="/images/livestats/arrow_win.gif" border=0>&nbsp;<a href="/' + vTeamObj["tcd"] + '/">' + ((vTeamObj["team_name"]=="Virtus Lottomatica")?"V. Lottomatica":vTeamObj["team_name"]) + '</a>';
					helper.checkElementExist(thisId, str, "innerHTML");
					thisId = helper.htmlElement(gameId + "-htm-name");
					str = '&nbsp;<a href="/' + hTeamObj["tcd"] + '/">' + ((hTeamObj["team_name"]=="Virtus Lottomatica")?"V. Lottomatica":hTeamObj["team_name"]) + '</a>';
					helper.checkElementExist(thisId, str, "innerHTML");
				}
				else {
					thisId = helper.htmlElement(gameId + "-htm-name");
					str = '<img src="/images/livestats/arrow_win.gif" border=0>&nbsp;<a href="/' + hTeamObj["tcd"] + '/">' + ((hTeamObj["team_name"]=="Virtus Lottomatica")?"V. Lottomatica":hTeamObj["team_name"]) + '</a>';
					helper.checkElementExist(thisId, str, "innerHTML");
					thisId = helper.htmlElement(gameId + "-vtm-name");
					str = '&nbsp;<a href="/' + vTeamObj["tcd"] + '/">' + ((vTeamObj["team_name"]=="Virtus Lottomatica")?"V. Lottomatica":vTeamObj["team_name"]) + '</a>';
					helper.checkElementExist(thisId, str, "innerHTML");
				}
			}
			*/
		}
		catch (e) {
			helper.errorLogger("Render error", "drawScoreboard", "game="+game.id+"","", e.message);
		}
		
	},
	
	/************* FULL SCOREBOARD **********************************/
	buildFanVoice: function(gameId){
	try {
		var game = arrOfGameData["game-"+gameId];
		var str = "";
		var liveString = "";
		
		switch(gameId) {
				case ("0030600001"): liveString = '<p>All-Star comes but once a year - voice your opinion on this game. East Vs. West, who is best?</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/forum.jspa?forumID=400002513"><strong>Post your All-Star game recap | Read comments</strong></a></p>'; break;
				case ("0030600002"): liveString = '<p>It\'s Rookies vs. Sophomores, in the  T-Mobile Rookie Challenge game! Jump into the debate now.</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/category.jspa?categoryID=400000010"><strong>Post your recap | Read comments</strong></a></p>'; break;
				default : liveString = '<p>Here\'s your chance to write your own game recap for this game! Jump into the action now and share your expertise with the best basketball fans in the world.</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/entry.jspa?gameID='+gameId+'"><strong>Post your recap | Read comments</strong></a></p>'; break;			
		}
		
		var gameStatus = parseInt(game["gstat"]);
		switch (gameStatus) {
			case (1) : str ='<p>Got an opinion you want to share? When this game starts, you can write a recap or check out what other fans are saying.</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/"><strong>Check out Fan Voice!</strong></a></p>';break;
			case (2) : str = liveString ; break;
			default  : str = liveString ; break;
		}
		
		var thisID = helper.htmlElement("latestTopic");
		if(gamesLive && !fadeForLiveLV){
			Fat.fade_element("latestTopic");
			fadeForLiveLV = true;
			}
		helper.checkElementExist(thisID, str, "innerHTML");
		}
		catch (e) {
			helper.errorLogger("Render error", "buildFanVoice", "","", e.message);
		}	
	},


	buildFanVoiceAllStar: function(gameId){
	try {
		var game = arrOfGameData["game-"+gameId];
		var str = "";
		
		var gameStatus = parseInt(game["gstat"]);
		switch (gameStatus) {
			case (1) : str ='<p>Got an opinion you want to share? When this game starts, you can write a recap or check out what other fans are saying.</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/"><strong>Check out Fan Voice!</strong></a></p>';break;
			case (2) : str ='<p>All-Star comes but once a year - voice your opinion on this game. East Vs. West, who is best?</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/entry.jspa?gameID='+gameId+'"><strong>Post your All-Star game recap | Read comments</strong></a></p>'; break;
			default  : str ='<p>All-Star comes but once a year - voice your opinion on this game. East Vs. West, who is best?</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/entry.jspa?gameID='+gameId+'"><strong>Post your All-Star game recap | Read comments</strong></a></p>'; break;
		} // close switch
		
		var thisID = helper.htmlElement("latestTopic");
		if(gamesLive && !fadeForLiveLV){
			Fat.fade_element("latestTopic");
			fadeForLiveLV = true;
			}
		helper.checkElementExist(thisID, str, "innerHTML");
		} 
		catch (e) {
			helper.errorLogger("Render error", "buildFanVoice", "","", e.message);
		}	
	},
	

	buildFanVoiceAllStarRookieSoph: function(gameId){
	try {
		var game = arrOfGameData["game-"+gameId];
		var str = "";
		
		var gameStatus = parseInt(game["gstat"]);
		switch (gameStatus) {
			case (1) : str ='<p>Got an opinion you want to share? When this game starts, you can write a recap or check out what other fans are saying.</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/"><strong>Check out Fan Voice!</strong></a></p>';break;
			case (2) : str ='<p>It\'s Rookies vs. Sophomores, in the  T-Mobile Rookie Challenge game! Jump into the debate now.</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/entry.jspa?gameID='+gameId+'"><strong>Post your recap | Read comments</strong></a></p>'; break;
			default  : str ='<p>It\'s Rookies vs. Sophomores, in the  T-Mobile Rookie Challenge game! Jump into the debate now.</p><p><img src="/media/homepage/arrow.gif"><a href="http://my.nba.com/entry.jspa?gameID='+gameId+'"><strong>Post your recap | Read comments</strong></a></p>'; break;
		}
		
		var thisID = helper.htmlElement("latestTopic");
		if(gamesLive && !fadeForLiveLV){
			Fat.fade_element("latestTopic");
			fadeForLiveLV = true;
			}
		helper.checkElementExist(thisID, str, "innerHTML");
		}
		catch (e) {
			helper.errorLogger("Render error", "buildFanVoice", "","", e.message);
		}	
	}	
	
	
}



/****************************************************************************
END - DATA DISPLAY FUNCTIONS 
****************************************************************************/

