// 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 = "cnnncaabScore";

    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)
{

	contestO.visitingTeam.linkable = ( (contestO.visitingTeam.linkable) || (contestO.stageID === '2' && parseInt(contestO.stageID, 10) < 9) );
	contestO.homeTeam.linkable = ( (contestO.homeTeam.linkable) || (contestO.stageID === '2' && parseInt(contestO.stageID, 10) < 9));
	
    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");

    // Tournament flags
    if (parseInt(contestO.substageID) > 1 && parseInt(contestO.substageID) < 8)
    {
        tr = document.createElement("tr");
        td = document.createElement("td");
        td.setAttribute("colSpan", "5");
        td.className = "cnnplayoff";

        div = document.createElement("div");
        b = document.createElement("b");

        if (contestO.region != null && (contestO.substageID == "2" || contestO.substageID == "3"))
        {
            b.appendChild(document.createTextNode(contestO.region + " "));
            div.appendChild(b);
            span = document.createElement("span");
            span.appendChild(document.createTextNode("|"));
            div.appendChild(span);
            div.appendChild(document.createTextNode(" " + contestO.substageName));
        }
        else if (contestO.region != null && (contestO.substageID == "4" || contestO.substageID == "5"))
        {
            b.appendChild(document.createTextNode(contestO.region + " " + contestO.substageName));
            div.appendChild(b);
        }
        else
        {
            b.appendChild(document.createTextNode(contestO.substageName));
            div.appendChild(b);
        }
        td.appendChild(div);
        tr.appendChild(td);
        tbody.appendChild(tr);

        tr = document.createElement("tr");
        td = document.createElement("td");
        td.setAttribute("colSpan", "5");
        td.className = "cnnplayoffspacer";
        td.appendChild(document.createTextNode('\u00A0')); 
        tr.appendChild(td);
        tbody.appendChild(tr);
    }


    tr = document.createElement("tr");
    
    td = document.createElement("td");
    td.setAttribute("colSpan", "5");
    td.className = "cnngamedate";

    var it = document.createElement("table");
    it.setAttribute("cellPadding","0");
    it.setAttribute("cellSpacing","0");
    it.setAttribute("border","0");
 
    var itbody = document.createElement("tbody");
    var itr = document.createElement("tr");
    
    var itd = document.createElement("td"); 
    itd.className = "cnnsitime"; 
    
    // start of time/status + tickets + venue row
    if (contestO.statusInd == "FINA")
    {
       itd.appendChild(document.createTextNode("FINAL"));
       if (contestO.gameState.period == "3")
       		itd.appendChild(document.createTextNode(" - OT"));
       else if (parseInt(contestO.gameState.period) > 3)
       {
            itd.appendChild(document.createTextNode(" - "));
            itd.appendChild(document.createTextNode(parseInt(contestO.gameState.period) - 2 + " OT"));
       }
       itr.appendChild(itd);
    }
    else if (contestO.statusInd == "DELA")
    {
       itd.appendChild(document.createTextNode("DELAYED"));
       itr.appendChild(itd);
    }
    else if (contestO.statusInd == "POST")
    {
       itd.appendChild(document.createTextNode("POSTPONED"));
       itr.appendChild(itd);
    }
    else if (contestO.statusInd == "CANC")
    {
       itd.appendChild(document.createTextNode("CANCELLED"));
       itr.appendChild(itd);
    }
    else if (contestO.statusInd == "SUSP")
    {
       itd.appendChild(document.createTextNode("SUSPENDED"));
       itr.appendChild(itd);
    }
    else if (contestO.gameState.isHalftime)
    {
       itd.appendChild(document.createTextNode("HALFTIME"));
       itr.appendChild(itd);
    }
    else if (contestO.isInprogress)
    {
        if (contestO.gameState.period == "1")
             itd.appendChild(document.createTextNode("1st Half"));
        else if (contestO.gameState.period == "2")
             itd.appendChild(document.createTextNode("2nd Half"));
        else if (contestO.gameState.period == "3")
             itd.appendChild(document.createTextNode("OT"));
        else if (parseInt(contestO.gameState.period) > 3)
             itd.appendChild(document.createTextNode(parseInt(contestO.gameState.period) - 2 + " OT"));
        itr.appendChild(itd);

        itd = document.createElement("td");
        itd.className = "cnnsipipe";
        itd.appendChild(createImageElement(IMG_SERVER + "/images/misc/blank_pixel.gif", "14","1","0","",null, null));
        itr.appendChild(itd);

        itd = document.createElement("td");
        itd.className = "cnnsitick";
		
        if (contestO.gameState.clock != "")
        {
            itd.appendChild(document.createTextNode(" " + contestO.gameState.clock));
        }        
    }
    else if (contestO.isPregame)
    {
    	itd.appendChild(document.createTextNode(contestO.gameDateStr));
        itr.appendChild(itd);
    	
        itd = document.createElement("td");
        itd.className = "cnnsipipe";
        itd.appendChild(createImageElement(IMG_SERVER + "/images/misc/blank_pixel.gif", "14","1",null, null));
        itr.appendChild(itd);

        itd = document.createElement("td");
        itd.className = "cnnsitick";
		
        var searchString = contestO.homeTeam.name.toLowerCase();
        searchString = searchString.replace(/ /g,"-");
        searchString = searchString.replace(/\./g,"");
				
				var ticketCityUrl = contestO.links.ticketcityurl;
      /*  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 + "-basketball-tickets/","_new",true);
        ticketLink.setAttribute("onclick","this.href=this.href+'?gcid=C12289x440'");
			*/
				var ticketLink = createLinkElement(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/buytickets_99x14.gif", "14","99","0","Buy Tickets Now", null,null),ticketCityUrl,"_new",true);
    ticketLink.setAttribute("onclick","this.href=this.href+'?gcid=C12289x400'");
    	
    	itd.appendChild(ticketLink);
    }
		
    if(ticketCityUrl != 'F'){
		  itr.appendChild(itd);
		}
   	
    itd = document.createElement("td");
    itd.className = "cnnsivenue";
   	 
    if (contestO.venue != null)
    {
        itd.appendChild(document.createTextNode(contestO.venue.stadium));
    }
    itr.appendChild(itd);
    itbody.appendChild(itr);
    it.appendChild(itbody);
    td.appendChild(it);
    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));
    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));
	
	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 = "cnnNcaabBxSc";
    
    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");
		
		if (!contestO.isInprogress) {
			td = document.createElement("td");
			td.className = "cnnNCAABCat";
			td.appendChild(document.createElement("div"));
			tr.appendChild(td);
		}

		td = document.createElement("td");
		td.className = "cnnTeamName";
		div = document.createElement("div");

		if (contestO.visitingTeam.apRank != "")
			div.appendChild(document.createTextNode("(" + contestO.visitingTeam.apRank + ") "))

		if (contestO.visitingTeam.linkable)
			div.appendChild(createLinkElement(contestO.visitingTeam.nickname,"/basketball/ncaa/men/teams/"+contestO.visitingTeam.urlName+"/",null,false));
		else
			div.appendChild(document.createTextNode(contestO.visitingTeam.nickname));

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

		td = document.createElement("td");
		td.className = "cnnTeamName";
		div = document.createElement("div");
		
		if (contestO.homeTeam.apRank != "")
			div.appendChild(document.createTextNode("(" + contestO.homeTeam.apRank + ") "));
		
		if (contestO.homeTeam.linkable)    
			div.appendChild(createLinkElement(contestO.homeTeam.nickname,"/basketball/ncaa/men/teams/"+contestO.homeTeam.urlName+"/",null,false));
		else
			div.appendChild(document.createTextNode(contestO.homeTeam.nickname));
		td.appendChild(div);
		tr.appendChild(td);
		tbody.appendChild(tr);
	 
		if (contestO.isInprogress) {
			// display top 3 points scorers
			table.className = "during";
			for (var index = 1; index <= 3; index++) {
				tr = document.createElement("tr");
				if (index == 3) tr.className = "cnnLstRw";
				td = document.createElement("td");
				td.className = "col0";
				if (contestO.visitingTeam["pointsLeader" + index]) 
					td.appendChild(createLeaderDiv(contestO.visitingTeam["pointsLeader" + index]));
				tr.appendChild(td);
				td = document.createElement("td");
				if (contestO.homeTeam["pointsLeader" + index])
					td.appendChild(createLeaderDiv(contestO.homeTeam["pointsLeader" + index]));
				tr.appendChild(td);
				tbody.appendChild(tr);
			}

			// spacer row
			tr = document.createElement("tr");
			td = document.createElement("td");
			td.setAttribute("colspan", "2");
			td.className = "spacer";
			td.appendChild(document.createTextNode(" "));
			tr.appendChild(td);
			tbody.appendChild(tr);
		} else {
			tr = document.createElement("tr");
			td = document.createElement("td");
			td.className = "cnnNCAABCat";
			div = document.createElement("div");
			div.appendChild(document.createTextNode("Pts"));
			td.appendChild(div);
			tr.appendChild(td);
	
			td = document.createElement("td");
			
			if (contestO.visitingTeam.pointsLeader != null)
				td.appendChild(createLeaderDiv(contestO.visitingTeam.pointsLeader));
			tr.appendChild(td);
	
			td = document.createElement("td");
			
			if (contestO.homeTeam.pointsLeader != null)
				td.appendChild(createLeaderDiv(contestO.homeTeam.pointsLeader));
			tr.appendChild(td);
			tbody.appendChild(tr);
	
			if (!contestO.isInprogress) {
				tr = document.createElement("tr");
				td = document.createElement("td");
				td.className = "cnnNCAABCat";
				div = document.createElement("div");
				div.appendChild(document.createTextNode("Reb"));
				td.appendChild(div);
				tr.appendChild(td);
		
				td = document.createElement("td");
				
				if (contestO.visitingTeam.reboundsLeader != null)
					td.appendChild(createLeaderDiv(contestO.visitingTeam.reboundsLeader));
				tr.appendChild(td);
		
				td = document.createElement("td");
				
				if (contestO.homeTeam.reboundsLeader != null)
					td.appendChild(createLeaderDiv(contestO.homeTeam.reboundsLeader));
				tr.appendChild(td);
				tbody.appendChild(tr);
		
				tr = document.createElement("tr");
				tr.className = "cnnLstRw";
				td = document.createElement("td");
				td.className = "cnnNCAABCat";
				div = document.createElement("div");
				div.appendChild(document.createTextNode("Ast"));
				td.appendChild(div);
				tr.appendChild(td);
		
				td = document.createElement("td");
				
				if (contestO.visitingTeam.assistsLeader != null)
					td.appendChild(createLeaderDiv(contestO.visitingTeam.assistsLeader));
				tr.appendChild(td);
		
				td = document.createElement("td");
				
				if (contestO.homeTeam.assistsLeader != null)
					td.appendChild(createLeaderDiv(contestO.homeTeam.assistsLeader));
				tr.appendChild(td);
				tbody.appendChild(tr);
			}
		}

    table.appendChild(tbody);

    return table;
}

function createLeaderDiv(leader) {
	var div = document.createElement("div");
	if (leader.linkable == "T" && leader.id != "0")
	{
		var link = createLinkElement("","/basketball/ncaa/men/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));
	return div;
}

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/ncaa/men/gameflash/" + 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);
	        }
	        else
	        {
	        	td = document.createElement("td");
	        	td.setAttribute("align","center");
	            var a = document.createElement("a");
	            a.href = "/basketball/ncaa/men/gameflash/" + 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/ncaa/men/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_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(" VIEWCAST BOX SCORE"));
	            a.appendChild(document.createTextNode(" BOX SCORE"));
	            td.appendChild(a);
	            tr.appendChild(td);

				if( parseInt(contestO.substageID, 10) > 1 && parseInt(contestO.substageID, 10) < 9 && contestO.bracketID !== ""){ //tourney
					td = document.createElement("td");
					td.setAttribute("align","center");
					var a = document.createElement("a");
					var tourneylink = (contestO.isFinal) ? "http://sportsillustrated.cnn.com/basketball/ncaa/mens-tournament/video-highlights/?game=" + contestO.bracketID : "javascript:NCAAMMOD3.launchPlayer('"+contestO.bracketID+"');";
					var tourneytext = (contestO.isFinal) ? "HIGHLIGHTS" : "WATCH LIVE";
					a.href = tourneylink;
					a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
					a.appendChild(document.createTextNode( tourneytext ));
					td.appendChild(a);
					tr.appendChild(td);
				} else {
					td = document.createElement("td");
					td.setAttribute("align","center");
					var a = document.createElement("a");
					a.href = "/basketball/ncaa/men/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_gamephotos.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/ncaa/men/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 && contestO.links.gameblogInd == "T")
        {
            td = document.createElement("td");
	        td.setAttribute("align","center");
            var a = document.createElement("a");
            a.href = "/basketball/ncaa/men/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_gameblog.html";
	        a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
            a.appendChild(document.createTextNode(" GAME BLOG"));
            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/ncaa/men/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_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/ncaa/men/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_preview.html";
            else
	        a.href = "/basketball/ncaa/men/gameflash/" + 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(" 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/ncaa/men/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(" GAME PREVIEW"));
                td.appendChild(a);
                tr.appendChild(td);
            }
        }
        if (VIEWCAST_ACTIVE && contestO.links.gameblogInd == "T")
        {
      	    td = document.createElement("td");
	        td.setAttribute("align","center");
            var a = document.createElement("a");
            a.href = "/basketball/ncaa/men/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID +  "_gameblog.html";
	        a.appendChild(createImageElement(IMG_SERVER + IMG_PATH + "/scoreboards/arrow_transp.gif","7","6","0","",null,"whitearrow"));
            a.appendChild(document.createTextNode(" GAME BLOG"));
            td.appendChild(a);
	        tr.appendChild(td);
        }
        if (contestO.visitingTeam.linkable)
        {
	        td = document.createElement("td");
	        td.setAttribute("align","center");
	        var a = document.createElement("a");
	        a.href = "/basketball/ncaa/men/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);
        }
        if (contestO.homeTeam.linkable)
        { 
		    td = document.createElement("td");
	        td.setAttribute("align","center");
	        a = document.createElement("a");
	        a.href = "/basketball/ncaa/men/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)
{
    var tTd = document.createElement("td");
    tTd.className = "cnnNCAABlogo";
    
    var linkTo = "/basketball/ncaa/men/teams/" + teamO.urlName;
    var teamLogo;
    if (teamO.linkable)
    	teamLogo = createImageElement(IMG_SERVER + LOGO_PATH +
        	teamO.urlName + "_50.gif", "50", "50", "0", teamO.nickname , null,null);
    else
    	teamLogo = createImageElement(BLANK_IMG, "50", "50", "0", 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);
    
    tempE = document.createElement("div");
    tempE.className = "cnnNCAABlogo50";
    
    if (teamO.linkable)
    	tempE.appendChild(createLinkElement(teamLogo, linkTo, null, true));
    else
    	tempE.appendChild(teamLogo);
    	
    tTd.appendChild(tempE);
    
    tempE = document.createElement("div");
    //if (teamO.isNewScore)
        //tempE.className = "cnnNCAABScore cnnredscore";
    //else
     	tempE.className = "cnnNCAABScore";
    if (teamO.totalScore != "")
        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;
    var scoreTitleDiv;
	
	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);
	
	//Conference Title and Dropdown
	scoreTitleDiv = document.createElement("div");
	scoreTitleDiv.className = "cnnGameSports";
	mainAnchorElement.appendChild(scoreTitleDiv);
	
	titleUL	= document.createElement("ul");
	titleLI	= document.createElement("li");
	titleLI.className = "cnnAlt";
	titleA = document.createElement("a");
	titleImg = "<img title=\"Complete Scoreboard\" alt=\"Complete Scoreboard\" src=\"http://i.cdn.turner.com/si/.element/img/4.1/sect/global/complete_scoreboard_102x12.gif\"/>";
	titleA.innerHTML = VIEWCAST_NAME.toUpperCase()  + titleImg;
	dropdownLI = document.createElement("li");
		
	titleLI.appendChild(titleA);
	titleUL.appendChild(titleLI);
	titleUL.appendChild(dropdownLI);
	
	scoreTitleDiv.appendChild(titleUL);
	
	// sample PATH: /basketball/ncaa/scoreboards/2009/top25/regularseason/1/
	var pathSplit = PATH.split("/");

	var urlArr = ["top25","acc","big12","bige","bsky","bsou","big10","caa","cusa","ia","iaa","gate","gwest",
			  "ivy","maac","midam","meac","mwest","nec","ovc","pac10","patr","pio","sec","south","sland",
			  "swac","sbelt","wac"];
	var nameArr = ["Top 25","ACC","Big 12","Big East","Big Sky","Big South","Big Ten","CAA",
			   "C-USA","I-A Ind.","I-AA Ind.","Gateway","Great West","Ivy","MAAC","MAC","MEAC","MWC","Northeast",
			   "Ohio Valley","Pac-10","Patriot","Pioneer","SEC","Southern","Southland","SWAC","Sun Belt","WAC"];
	
	var dropdownHTML = "";
	dropdownHTML = dropdownHTML +
	"<select name=\"conferences\" onChange=\"reloadViewCast(this.options[this.selectedIndex].value);\">" +
	"<option value=\"\" selected=\"1\">All Scoreboards</option>";

	for (var i = 0; i < urlArr.length; i++)
	{
		dropdownHTML = dropdownHTML +
		"<option value=\"/" + pathSplit[1] + "/" + pathSplit[2] +
		  "/" + pathSplit[3] + "/" + pathSplit[4] + "/" + urlArr[i] + "/" + pathSplit[6] +
		  "/" + pathSplit[7] + "/" + "|" + nameArr[i] + "\">" + nameArr[i] + "</option>";
	}
	dropdownHTML = dropdownHTML + "</select>";
	
	dropdownLI.innerHTML = dropdownHTML;
		
	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 = "cnnGameScoresNCAAB";
		ul.id = "cnnGameScoresNCAAB"+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('cnnGameScoresNCAAB"+currPage+"','cnnGameScoresNCAAB"+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('cnnGameScoresNCAAB"+currPage+"','cnnGameScoresNCAAB"+nextPage+"')");
			li.appendChild(flip_link);
		}
		ul.appendChild(li);
	}
	var list = document.getElementsByClassName("cnnGameScoresNCAAB");
	
	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/ncaa/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_recap.html";
    //else if (contestO.links.boxscoreInd == "T")
    else if (contestO.isPregame == false)
        linkViewcast = "/basketball/ncaa/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_boxscore.html";
    else
        linkViewcast = "/basketball/ncaa/gameflash/" + contestO.gameDateUrl + "/" + contestO.contestID + "_preview.html";

    html = html + "<a href=\"" + linkViewcast + "\">";
    
    html = html +  "<div>";
	
	//visitor
	var teamO = contestO.visitingTeam;
	html = html +  "<strong>";
	if (contestO.isPregame)
	html = html +  "<strong> </strong>";
	else
	html = html +  "<strong>" + teamO.totalScore + "</strong>";
	if (teamO.apRank == null || teamO.apRank == "" || teamO.apRank == "0"){
		html += "<em> &nbsp;</em>";
	} else {
		html += "<em>"+teamO.apRank+"</em>";
	}
	html += "<span>" + teamO.nickname.toUpperCase() + "</span>";
	html = html +  "</strong>";
	
	//home
	var teamO = contestO.homeTeam;
	html = html +  "<strong>";
	if (contestO.isPregame)
	html = html +  "<strong> </strong>";
	else
	html = html +  "<strong>" + teamO.totalScore + "</strong>";
	if (teamO.apRank == null || teamO.apRank == "" || teamO.apRank == "0"){
		html += "<em> &nbsp;</em>";
	} else {
		html += "<em>"+teamO.apRank+"</em>";
	}
	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 ( parseInt(contestO.gameState.period) > 5)
			   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;
		   // Chopping off the long weekday Thursday->Thu.
		   var splitDate = contestO.gameDateStr.split(",");
		   var shortWeekDay = splitDate[0].substring(0,3);
		   var gameTime = splitDate[1];
		   status = shortWeekDay + " " + gameTime;

		}
		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 = "OT";
		html = html +  period;
		if (contestO.gameState.clock != "")
		{
			html += " | " + contestO.gameState.clock;
		}
	}
    html = html +  "</div></div></a>";
    elem.className = "cnnGameScoresNCAAB";
    elem.innerHTML = html;
    return elem;
}

