// buildScoreboards.js
// ===================

function buildGameAnchorCells(numGames)
{
    var mainAnchorElement;
    var anchorTable;
    var numFullRows;
    var numGamesOnPartialRow;
    var trRow;
    var tdCell;
    var tBody;
    var cc;

    // first, store currentCalendar (from HTML) in a variable, for reuse.
    if (currentCalendar == null)
        currentCalendar = document.getElementById("calendar").cloneNode(true);
    cc = currentCalendar.cloneNode(true);

    mainAnchorElement = document.getElementById("scoreTable");
    mainAnchorElement.innerHTML = "";

    mainAnchorElement.appendChild(cc);

    if (numGames <= 0) 
    {
        //log.write("Error: buildAnchorTables() function... invalid paramater value passed");
        return;
    }

    numFullRows = getNumFullRows(numGames);
    //log.write("getNumFullRows() function returned " + numFullRows);
    anchorTable = document.createElement("table");
    anchorTable.setAttribute("border","0");
    anchorTable.setAttribute("cellSpacing","4");
    anchorTable.setAttribute("width","822");
    anchorTable.className = "cnnnbaScore";

    tBody = document.createElement("tbody");
    
    for (var i = 0; i < numFullRows; i++)
    {
        trRow = document.createElement('tr');
        trRow.setAttribute("vAlign","top");
    
        tdGameAnchor = document.createElement('td');
        tdGameAnchor.id = (i * 2) + 1;
        trRow.appendChild(tdGameAnchor);
        tdGameAnchor = document.createElement('td');
        tdGameAnchor.id = (i * 2) + 2;
        trRow.appendChild(tdGameAnchor);

        tBody.appendChild(trRow);        
    }

    numGamesOnPartialRow = getNumGamesOnPartialRow(numGames);

    if (numGamesOnPartialRow > 0)
    {
        trRow = document.createElement('tr');

        switch(numGamesOnPartialRow)
        {
            case 1:
                tdGameAnchor = document.createElement('td');
                tdGameAnchor.id = (numFullRows * 2) + 1;
                trRow.appendChild(tdGameAnchor);
                break;
            case 2:
            default:
                ;
        }
        tBody.appendChild(trRow);
    }
    anchorTable.appendChild(tBody);


    if (mainAnchorElement != null)
        mainAnchorElement.appendChild(anchorTable);
    else
    {
        //alert("Error: the 'gamesTable' DOM Id was not found on the page");
    }
}


function buildMiniscoreboard(domIdSequence, contestO)
{
    var gamePlaceholder;    
    
    var outerDiv = document.createElement("div");
    //if (contestO.visitingTeam.isNewScore || contestO.homeTeam.isNewScore)
    	//outerDiv.className = "cnnboxcontactive";
    //else
    	outerDiv.className = "cnnboxcont";

    var innerDiv = document.createElement("div");
    innerDiv.className = "cnnscorebox";
    innerDiv.appendChild(createGameTable(contestO));
    innerDiv.appendChild(createGameLinks(contestO));
    
    outerDiv.appendChild(innerDiv);
    
    // Find game placeholder on the page and insert newly built miniscoreboard
    gamePlaceholder = document.getElementById(domIdSequence);
    if (gamePlaceholder != null)
    {
       gamePlaceholder.innerHTML = "";
       gamePlaceholder.appendChild(outerDiv);
    }
    else 
    {}
        //alert("Error: attempted to create a scoreBox table in a game placeholder[" + domIdSequence + "]");
}


function createGameTable(contestO)
{
    var tr, td, tbody, div, b, span, telem;
    var table = document.createElement("table");
    table.setAttribute("border","0");
    table.setAttribute("cellPadding","0");
    table.setAttribute("cellSpacing","0");
    
    tbody = document.createElement("tbody");
    tr = document.createElement("tr");
    
    td = document.createElement("td");
    td.setAttribute("colSpan", "5");
    
    div = document.createElement("div");
    div.className = "cnngamedate";
    var idiv = document.createElement("div");
    idiv.className = "cnnsitime"; 
    b = document.createElement("b");
    
    // start of time/status + tickets + venue row
    if (contestO.statusInd == "FINA")
    {
       b.appendChild(document.createTextNode("FINAL"));
       if (contestO.gameState.period == "5")
       		b.appendChild(document.createTextNode(" - OT"));
       else if (parseInt(contestO.gameState.period) > 5)
       {
            b.appendChild(document.createTextNode(" - "));
            b.appendChild(document.createTextNode(parseInt(contestO.gameState.period) - 4 + " OT"));
       }
       idiv.appendChild(b);
    }
    else if (contestO.statusInd == "DELA")
    {
       b.appendChild(document.createTextNode("DELAYED"));
       idiv.appendChild(b);
    }
    else if (contestO.statusInd == "POST")
    {
       b.appendChild(document.createTextNode("POSTPONED"));
       idiv.appendChild(b);
    }
    else if (contestO.statusInd == "CANC")
    {
       b.appendChild(document.createTextNode("CANCELLED"));
       idiv.appendChild(b);
    }
    else if (contestO.statusInd == "SUSP")
    {
       b.appendChild(document.createTextNode("SUSPENDED"));
       idiv.appendChild(b);
    }
    else if (contestO.gameState.isHalftime)
    {
       b.appendChild(document.createTextNode("HALFTIME"));
       idiv.appendChild(b);
    }
    else if (contestO.isInprogress)
    {
        if (contestO.gameState.period == "1")
             b.appendChild(document.createTextNode("1st quarter"));
        else if (contestO.gameState.period == "2")
             b.appendChild(document.createTextNode("2nd quarter"));
        else if (contestO.gameState.period == "3")
             b.appendChild(document.createTextNode("3rd quarter"));
        else if (contestO.gameState.period == "4")
             b.appendChild(document.createTextNode("4th quarter"));
        else if (contestO.gameState.period == "5")
        	 b.appendChild(document.createTextNode("OT"));
        else if (parseInt(contestO.gameState.period) > 5)
             b.appendChild(document.createTextNode(parseInt(contestO.gameState.period) - 4 + " OT"));

        idiv.appendChild(b);
		idiv.appendChild(document.createTextNode(" "));
		
        if (contestO.gameState.clock != "")
        {
            span = document.createElement("span");
            span.appendChild(document.createTextNode("|"));
            idiv.appendChild(span);
            idiv.appendChild(document.createTextNode(" " + contestO.gameState.clock));
        }        
    }
    else if (contestO.isPregame)
    {
    	b.appendChild(document.createTextNode(contestO.gameDateStr + " "));
    	idiv.appendChild(b);
    	span = document.createElement("span");
    	span.appendChild(document.createTextNode("|"));
    	idiv.appendChild(span);
    	idiv.appendChild(document.createTextNode(" "));
    	div.appendChild(idiv);
    	
    	idiv = document.createElement("div");
    	idiv.className = "cnnsitick";
    	
   	    var searchString = contestO.homeTeam.name.toLowerCase() + "-" + contestO.homeTeam.nickname.toLowerCase();
	    searchString = searchString.replace(/ /g,"-");
	    searchString = searchString.replace(/\./g,"");

	    var ticketLink = createLinkElement(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/buytickets_99x14.gif", "14","99","0","StubHub: Buy Tickets Now", null,null),
	    "http://www.stubhub.com/" + searchString + "-tickets/","_new",true);
	    ticketLink.setAttribute("onclick","this.href=this.href+'?gcid=C12289x440'");
    	
    	idiv.appendChild(ticketLink);
   	}
   	div.appendChild(idiv);
   	
   	idiv = document.createElement("div");
   	idiv.className = "cnnsivenue";
   	
   	if (contestO.venue != null)
    {
        idiv.appendChild(document.createTextNode(contestO.venue.stadium));
/*
        if (contestO.venue.city != "" && contestO.venue.state != "")
        {
            //idiv.appendChild(document.createElement("br"));
            idiv.appendChild(document.createTextNode(" " + contestO.venue.city));
            // silly workaround for Washington DC that comes with "DC" in the city name
            if (contestO.venue.city.indexOf("D.C.") == -1 && contestO.venue.city.indexOf("DC") == -1)
                idiv.appendChild(document.createTextNode(", " + contestO.venue.state));
        }
*/
    }
    div.appendChild(idiv);
    idiv = document.createElement("div");
    idiv.className = "cnnClr";
    div.appendChild(idiv);

    td.appendChild(div);
    tr.appendChild(td);

    tbody.appendChild(tr);
    // end of time/status + tickets + venue row
    
    tr = document.createElement("tr");
    tr.setAttribute("vAlign","top");
    
    tr.appendChild(createTeamCell(contestO.visitingTeam, contestO.isAllstarGame,contestO.isPregame));
    td = document.createElement("td");
    td.className = "cnnDivMid";
    
    idiv = document.createElement("div");
    idiv.appendChild(document.createTextNode("|"));
    td.appendChild(idiv);
    
    tr.appendChild(td);
	
	tr.appendChild(createTeamCell(contestO.homeTeam, contestO.isAllstarGame,contestO.isPregame));
	
	td = document.createElement("td");
    td.className = "cnnDivRt";
    
    idiv = document.createElement("div");
    idiv.appendChild(document.createTextNode("|"));
    td.appendChild(idiv);
    
    tr.appendChild(td);
    
    td = document.createElement("td");
    idiv = document.createElement("div");
    idiv.className = "cnnNbaBxSc";
    
    idiv.appendChild(createGameLeaders(contestO));
    
    td.appendChild(idiv);
    tr.appendChild(td);
    tbody.appendChild(tr);

    table.appendChild(tbody);
    tbody = null;
    tr = null;
    td = null;
    div = null;
    span = null;
	idiv = null;
    return table; 
}

function createGameLeaders(contestO)
{
    var table, tbody, tr, td, div;

    table = document.createElement("table");
    tbody = document.createElement("tbody");

    tr = document.createElement("tr");
    tr.className = "cnnFstRw";
    tr.setAttribute("vAlign","top");
    
    td = document.createElement("td");
    td.className = "cnnNBACat";
    td.appendChild(document.createElement("div"));

    tr.appendChild(td);

    td = document.createElement("td");
    td.className = "cnnTeamName";
    div = document.createElement("div");
    if (contestO.isAllstarGame)
        div.appendChild(document.createTextNode(contestO.visitingTeam.name + " " + contestO.visitingTeam.nickname));
    else
        div.appendChild(createLinkElement(contestO.visitingTeam.nickname,"/basketball/nba/teams/"+contestO.visitingTeam.urlName+"/",null,false));

    td.appendChild(div);
    tr.appendChild(td);

    td = document.createElement("td");
    td.className = "cnnTeamName";
    div = document.createElement("div");
    if (contestO.isAllstarGame)
        div.appendChild(document.createTextNode(contestO.homeTeam.name + " " + contestO.homeTeam.nickname));
    else
        div.appendChild(createLinkElement(contestO.homeTeam.nickname,"/basketball/nba/teams/"+contestO.homeTeam.urlName+"/",null,false));

    td.appendChild(div);
    tr.appendChild(td);
    tbody.appendChild(tr);
 
    tr = document.createElement("tr");
    td = document.createElement("td");
    td.className = "cnnNBACat";
    div = document.createElement("div");
    div.appendChild(document.createTextNode("Pts"));
    td.appendChild(div);
    tr.appendChild(td);

    td = document.createElement("td");
    div = document.createElement("div");
    
    if (contestO.visitingTeam.pointsLeader != null)
    {
        var leader = contestO.visitingTeam.pointsLeader;
        if (leader.linkable == "T" && leader.id != "0")
        {
           var link = createLinkElement("","/basketball/nba/players/" + leader.id + "/", null, false);
           link.appendChild(document.createTextNode(leader.name));
           div.appendChild(link);
        }
        else
            div.appendChild(document.createTextNode(leader.name));

        div.appendChild(document.createTextNode(" " + leader.stat));
        td.appendChild(div);
    }
    tr.appendChild(td);

    td = document.createElement("td");
    div = document.createElement("div");
    
    if (contestO.homeTeam.pointsLeader != null)
    {
        var leader = contestO.homeTeam.pointsLeader;
        if (leader.linkable == "T" && leader.id != "0")
        {
           var link = createLinkElement("","/basketball/nba/players/" + leader.id + "/", null, false);
           link.appendChild(document.createTextNode(leader.name));
           div.appendChild(link);
        }
        else
            div.appendChild(document.createTextNode(leader.name));

        div.appendChild(document.createTextNode(" " + leader.stat));
        td.appendChild(div);
    }
    tr.appendChild(td);
    tbody.appendChild(tr);

    tr = document.createElement("tr");
    td = document.createElement("td");
    td.className = "cnnNBACat";
    div = document.createElement("div");
    div.appendChild(document.createTextNode("Reb"));
    td.appendChild(div);
    tr.appendChild(td);

    td = document.createElement("td");
    div = document.createElement("div");
    
    if (contestO.visitingTeam.reboundsLeader != null)
    {
        var leader = contestO.visitingTeam.reboundsLeader;
        if (leader.linkable == "T" && leader.id != "0")
        {
           var link = createLinkElement("","/basketball/nba/players/" + leader.id + "/", null, false);
           link.appendChild(document.createTextNode(leader.name));
           div.appendChild(link);
        }
        else
            div.appendChild(document.createTextNode(leader.name));

        div.appendChild(document.createTextNode(" " + leader.stat));
        td.appendChild(div);
    }
    tr.appendChild(td);

    td = document.createElement("td");
    div = document.createElement("div");
    
    if (contestO.homeTeam.reboundsLeader != null)
    {
        var leader = contestO.homeTeam.reboundsLeader;
        if (leader.linkable == "T" && leader.id != "0")
        {
           var link = createLinkElement("","/basketball/nba/players/" + leader.id + "/", null, false);
           link.appendChild(document.createTextNode(leader.name));
           div.appendChild(link);
        }
        else
            div.appendChild(document.createTextNode(leader.name));

        div.appendChild(document.createTextNode(" " + leader.stat));
        td.appendChild(div);
    }
    tr.appendChild(td);
    tbody.appendChild(tr);

    tr = document.createElement("tr");
    tr.className = "cnnLstRw";
    td = document.createElement("td");
    td.className = "cnnNBACat";
    div = document.createElement("div");
    div.appendChild(document.createTextNode("Ast"));
    td.appendChild(div);
    tr.appendChild(td);

    td = document.createElement("td");
    div = document.createElement("div");
    
    if (contestO.visitingTeam.assistsLeader != null)
    {
        var leader = contestO.visitingTeam.assistsLeader;
        if (leader.linkable == "T" && leader.id != "0")
        {
           var link = createLinkElement("","/basketball/nba/players/" + leader.id + "/", null, false);
           link.appendChild(document.createTextNode(leader.name));
           div.appendChild(link);
        }
        else
            div.appendChild(document.createTextNode(leader.name));

        div.appendChild(document.createTextNode(" " + leader.stat));
        td.appendChild(div);
    }
    tr.appendChild(td);

    td = document.createElement("td");
    div = document.createElement("div");
    
    if (contestO.homeTeam.assistsLeader != null)
    {
        var leader = contestO.homeTeam.assistsLeader;
        if (leader.linkable == "T" && leader.id != "0")
        {
           var link = createLinkElement("","/basketball/nba/players/" + leader.id + "/", null, false);
           link.appendChild(document.createTextNode(leader.name));
           div.appendChild(link);
        }
        else
            div.appendChild(document.createTextNode(leader.name));

        div.appendChild(document.createTextNode(" " + leader.stat));
        td.appendChild(div);
    }
    tr.appendChild(td);
    tbody.appendChild(tr);

    table.appendChild(tbody);

    return table;
}

function createGameLinks(contestO)
{
    if (contestO.links == null)
        return null;
        
    var table = document.createElement("table");
    table.setAttribute("border","0");
    table.setAttribute("cellPadding","0");
    table.setAttribute("cellSpacing","0");
    table.className = "cnngreylnks";
    
    var tbody = document.createElement("tbody");
    var tr = document.createElement("tr");
       
    if (contestO.isFinal || contestO.isInprogress)
    {
	    if (contestO.links.recapInd == "T" && contestO.isFinal)
	    {
	        if (VIEWCAST_ACTIVE)
	        {
	            td = document.createElement("td");
	            td.setAttribute("align","center");
	            var a = document.createElement("a");

	            a.href = "/basketball/nba/viewcast/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_viewcast_recap.html";
	            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
	            a.appendChild(document.createTextNode(" RECAP"));
	            td.appendChild(a);
	            tr.appendChild(td);
	        }
	        else
	        {
	            td = document.createElement("td");
	            td.setAttribute("align","center");
	            var a = document.createElement("a");
	            a.href = "/basketball/nba/recaps/" + contestO.gameDateUrl + "/" + contestO.contestID + "_recap.html";
	            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
	            a.appendChild(document.createTextNode(" RECAP"));
	            td.appendChild(a);
	            tr.appendChild(td);
	        }
	    }
	    if (contestO.links.boxscoreInd == "T" && contestO.isPregame == false)
	    {        
	        if (VIEWCAST_ACTIVE)
	        {
	            td = document.createElement("td");
	            td.setAttribute("align","center");
	            var a = document.createElement("a");
	            a.href = "/basketball/nba/viewcast/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_viewcast_boxscore.html";
	            a.className = "viewcast";
	            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"greyarrow"));
	            a.appendChild(document.createTextNode(" BOX SCORE"));
	            td.appendChild(a);
	            tr.appendChild(td);

	            td = document.createElement("td");
	            td.setAttribute("align","center");
	            var a = document.createElement("a");
	            a.href = "/basketball/nba/viewcast/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_viewcast_photos.html";
	            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
	            a.appendChild(document.createTextNode(" PHOTOS"));
	            td.appendChild(a);
	            tr.appendChild(td);
	        }
	        else
	        {
	            td = document.createElement("td");
	            td.setAttribute("align","center");
	            var a = document.createElement("a");
	            a.href = "/basketball/nba/boxscores/" + contestO.gameDateUrl + "/" + contestO.contestID + "_boxscore.html";
	            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
	            a.appendChild(document.createTextNode(" BOX SCORE"));
	            td.appendChild(a);
	            tr.appendChild(td);
	        }
	    }
        if (VIEWCAST_ACTIVE)
        {
       	    td = document.createElement("td");
	    td.setAttribute("align","center");
            var a = document.createElement("a");
	    a.href = "/basketball/nba/viewcast/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_viewcast_fancomment.html";
            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
            a.appendChild(document.createTextNode(" FAN COMMENTS"));
            td.appendChild(a);
            tr.appendChild(td);
        }
    }
    else
    {
        if (VIEWCAST_ACTIVE)
        {
       	    td = document.createElement("td");
            td.setAttribute("align","center");
            var a = document.createElement("a");
            if (contestO.links.previewInd == "T")
	        a.href = "/basketball/nba/viewcast/" + contestO.gameDateUrl + "/" + "_viewcast_preview_story.html";
            else
	        a.href = "/basketball/nba/viewcast/" + contestO.gameDateUrl + "/" + contestO.contestID + "_viewcast_preview.html";
            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
            a.appendChild(document.createTextNode(" GAME PREVIEW"));
            td.appendChild(a);
            tr.appendChild(td);
        }
        else
        {
            if (contestO.links.previewInd == "T")
            {
       	        td = document.createElement("td");
                td.setAttribute("align","center");
                var a = document.createElement("a");
                a.href = "/basketball/nba/previews/" + contestO.gameDateUrl + "/" + contestO.contestID + "_preview.html";
                a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
                a.appendChild(document.createTextNode(" PREVIEW"));
                td.appendChild(a);
                tr.appendChild(td);
            }
        }
        if (! contestO.isAllstarGame)
        {
            td = document.createElement("td");
            td.setAttribute("align","center");
            var a = document.createElement("a");
            a.href = "/basketball/nba/teams/" + contestO.visitingTeam.urlName + "/";
            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
            a.appendChild(document.createTextNode(" MORE " + (contestO.visitingTeam.nickname).toUpperCase()));
            td.appendChild(a);
            tr.appendChild(td);
		    
	    td = document.createElement("td");
            td.setAttribute("align","center");
            a = document.createElement("a");
            a.href = "/basketball/nba/teams/" + contestO.homeTeam.urlName + "/";
            a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
            a.appendChild(document.createTextNode(" MORE " + (contestO.homeTeam.nickname).toUpperCase()));
            td.appendChild(a);
            tr.appendChild(td);
        }
    }
    
	tbody.appendChild(tr);
	table.appendChild(tbody);
	
	return table;
}


function createTeamCell(teamO, isAllstarGame, isPregame)
{
    var tTd = document.createElement("td");
    tTd.className = "cnnNBAlogo";
    
    var linkTo = "/basketball/nba/teams/" + teamO.urlName ;
    var teamLogo = createImageElement(IMG_SERVER + LOGO_PATH +
        teamO.urlName + ".jpg", "40", "60", "0", teamO.name + " " + teamO.nickname, null,null);

    var tempE = document.createElement("div");       
    var tempS = document.createElement("span");
    tempS.appendChild(document.createTextNode(createTeamRecord(teamO.wins, teamO.losses,null, true)));
    tempS.appendChild(document.createElement("br"));
    tempE.appendChild(tempS);
    tTd.appendChild(tempE);
    if (isAllstarGame)
        tTd.appendChild(teamLogo);
    else
        tTd.appendChild(createLinkElement(teamLogo, linkTo, null, true));
    
    if (isPregame == false && teamO.totalScore != "")
    { 
        tempE = document.createElement("div");
        //if (teamO.isNewScore)
            //tempE.className = "cnnredscore";

        tempE.appendChild(document.createTextNode(teamO.totalScore));
        tTd.appendChild(tempE);
    }
    return tTd;
}

function getNumFullRows(numGames)
{    
    // this value is a UI design constant, and will not change often
    var gamesPerRow = GAMES_IN_ROW;
    var numFullRows;

    // The simple division will return a floating point value (ex: 3.1, if there are 10 games).
    // We have to use the floor() function to pull out the integer part of that number.  The 
    // round() function will not give us what we want - we always want to round down.
    //
    numFullRows = Math.floor(numGames / gamesPerRow);
    return numFullRows;
}

function getNumGamesOnPartialRow(numGames)
{
    // this value is a UI design constant, and will not change often
        var gamesPerRow = GAMES_IN_ROW;
    
        return (numGames % gamesPerRow);
}    

function buildViewCastGameAnchorCells(numGames)
{
    var mainAnchorElement;
    var mainDiv;
    var containerDiv;
    	
	mainAnchorElement = document.getElementById("topGames");
	mainAnchorElement.innerHTML = "";

	mainDiv = document.createElement("div");
	mainDiv.id = "cnnGamesScoresContent";
	mainDiv.className = "cnnGameScores";
	
	containerDiv = document.createElement("div");
	containerDiv.id = "cnnGameHolder";

	mainDiv.appendChild(containerDiv);

	if (numGames <= 0)
	{
		////log.write("Error: buildAnchorTables() function... invalid paramater value passed");
		return;
	} 
	
	var maxGames = 7;
	var numPages = Math.ceil(numGames/maxGames);
	
	for (var page=1; page<=numPages;page++){
		var prevPage = page - 1;
		var currPage = page;
		var nextPage = page + 1;
		var lastOnPage = currPage*maxGames;
		var firstOnPage = prevPage*maxGames+1;
		
		var flip_link = null;
		var ul = document.createElement("ul");
		ul.className = "cnnGameScoresNBA";
		ul.id = "cnnGameScoresNBA"+page;
		containerDiv.appendChild(ul);

		//Left Arrow To Change Page
		li = document.createElement("li");
		li.className = "cnnFirst";
		if (numPages > 1){
			flip_link = document.createElement("a");
			if(currPage == 1) prevPage = numPages;
			flip_link.setAttribute("href", "javascript:moreScoreboardGames('cnnGameScoresNBA"+currPage+"','cnnGameScoresNBA"+prevPage+"')");
			li.appendChild(flip_link);
		}
		ul.appendChild(li);
		
		//Game Containers					
		for (var currGame = firstOnPage; currGame <= lastOnPage; currGame++)
		{
			li = document.createElement("li");
			li.className = "cnnEmptyGame";
			li.id = currGame;
			ul.appendChild(li);
			containerDiv.appendChild(ul);
		   // wrap up the row
			if (mainAnchorElement != null)
			{
				mainAnchorElement.appendChild(mainDiv);
			}
			else
			{
				alert("Can't find a place for my topScores!");
			}
			
		}
		
		//Right Arrow To Change Page
		li = document.createElement("li");
		li.className = "cnnLast";
		if (numPages > 1){
			var flip_link = document.createElement("a");
			if(currPage == numPages) nextPage = 1;
			flip_link.setAttribute("href", "javascript:moreScoreboardGames('cnnGameScoresNBA"+currPage+"','cnnGameScoresNBA"+nextPage+"')");
			li.appendChild(flip_link);
		}
		ul.appendChild(li);
	}
	var list = document.getElementsByClassName("cnnGameScoresNBA");
	
	for(var l=1;l<list.length;l++){
		list[l].style.display = "none";
	}
}

function moreScoreboardGames(hide,show){
	var hideThis = document.getElementById(hide);
	var showThis = document.getElementById(show);
	hideThis.style.display = 'none';
	showThis.style.display = 'block';
}

function buildViewCastMiniscoreboard(domIdSequence,contestO)
{
    var gamePlaceholder;

    gamePlaceholder = document.getElementById(domIdSequence);
    if (gamePlaceholder != null)
    {
        gamePlaceholder.innerHTML = "";
        gamePlaceholder = paintViewCastBox(contestO,gamePlaceholder);
    }
    else
    {
        //alert("Error: attempted to create a scoreBox table in a game placeholder[" + domIdSequence + "]");
    }
}

function paintViewCastBox(contestO, elem)
{
    var html = "";
    var linkViewcast = "";
    if (contestO.links.recapInd == "T" && contestO.isFinal)
        linkViewcast = "/basketball/nba/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_recap.html";
    //else if (contestO.links.boxscoreInd == "T")
    else if (contestO.isPregame == false)
        linkViewcast = "/basketball/nba/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_boxscore.html";
    else
        linkViewcast = "/basketball/nba/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_preview.html";

    html = html + "<a href=\"" + linkViewcast + "\">";
    
    html = html +  "<div>";
	
	//visitor
	var teamO = contestO.visitingTeam;
	html = html +  "<strong>";
		//score
		if (contestO.isPregame)
			html = html +  "<strong> </strong>";
		else
			html = html +  "<strong>" + teamO.totalScore + "</strong>";
		//team name
		if (contestO.isAllstarGame)
			html += "<span>" +teamO.name.toUpperCase()+ "</span>";
		else
			html += "<span>" +teamO.nickname.toUpperCase()+ "</span>";
	html = html +  "</strong>";
	
	//home
	var teamO = contestO.homeTeam;
	html = html +  "<strong>";
		//score
		if (contestO.isPregame)
			html = html +  "<strong> </strong>";
		else
			html = html +  "<strong>" + teamO.totalScore + "</strong>";
		//team name
		if (contestO.isAllstarGame)
			html += "<span>" +teamO.name.toUpperCase()+ "</span>";
		else
			html += "<span>" +teamO.nickname.toUpperCase()+ "</span>";
	html = html +  "</strong>";

	html += "<div>";
	if (contestO.isPregame || contestO.gameState.isHalftime || contestO.isFinal)
	{
		
		var status;
		if (contestO.statusInd == "FINA")
		{
		   status = "FINAL";
		   if (contestO.gameState.period == "5" || contestO.gameState.period == "6")
			   status = status + "-OT";
		}
		else if (contestO.statusInd == "DELA")
		   status = "DELAYED";
		else if (contestO.statusInd == "POST")
		   status = "POSTPONED";
		else if (contestO.statusInd == "CANC")
		   status = "CANCELLED";
		else if (contestO.statusInd == "SUSP")
		   status = "SUSPENDED";
		else if (contestO.gameState.isHalftime)
		   status = "HALFTIME";
		else
		{
		   status = contestO.gameDateStr;
		}
		html = html +  status;
	}
    else
    {
        
        var period;
        if (contestO.gameState.period == "1")
             period = "1st";
        else if (contestO.gameState.period == "2")
             period = "2nd";
        else if (contestO.gameState.period == "3")
             period = "3rd";
        else if (contestO.gameState.period == "4")
             period = "4th";
        else if (parseInt(contestO.gameState.period) > 5 )
             period = "" + parseInt(contestO.gameState.period) - 4 + " OT";
        html = html +  period;
        if (contestO.gameState.clock != "")
        {
            html += " | " + contestO.gameState.clock;
        }
    }
    html = html +  "</div></div></a>";
    elem.className = "cnnGameScoresNBA";
    elem.innerHTML = html;
    return elem;
}
