var myAdVar = null;

function getSponsoredPlayers() {
    return {
        allen_iverson: "allen_iverson",
        amare_stoudemire: "amare_stoudemire",
        andrew_bynum: "andrew_bynum",
        ben_wallace: "ben_wallace",
        carmelo_anthony: "carmelo_anthony",
        chris_paul: "chris_paul",
        derrick_rose: "derrick_rose",
        dirk_nowitzki: "dirk_nowitzki",
        dwayne_wade: "dwayne_wade",
        greg_oden: "greg_oden",
        hedu_turkoglu: "hedu_turkoglu",
        jason_kidd: "jason_kidd",
        jose_calderon: "jose_calderon",
        juan_carlos_navarro: "juan_carlos_navarro",
        kevin_durant: "kevin_durant",
        kevin_garnett: "kevin_garnett",
        kobe_bryant: "kobe_bryant",
        lebron_james: "lebron_james",
        michael_beasley: "michael_beasley",
        oj_mayo: "oj_mayo",
        pau_gasol: "pau_gasol",
        ray_allen: "ray_allen",
        shaquille_oneal: "shaquille_oneal",
        shawn_marion: "shawn_marion",
        steve_nash: "steve_nash",
        tracy_mcgrady: "tracy_mcgrady",
        yao_ming: "yao_ming",
        yi_jianlian: "yi_jianlian"
    };
}

function getSections() {
    return {
        gameinfo: "game_info",
        players: "players",
        playerfile: "players",
        schedule: "schedule",
        scoreboard: "scoreboard",
        standings: "standings",
        statistics: "stats",
        wrigley: "stats/wrigley",
        teams: "teams",
        injuries: "fantasy/injuries",
        fantasyfeatures: "fantasy/features",
        depth_charts: "fantasy/depth",
        fantasynews: "fantasy/news"
    };
}

function getPlayerName()
{
    //alert ("inside getPlayerName()");
    var myUrl = window.location.href;
    //alert ("Location: " + myUrl);
    var player_name = myUrl.substring(myUrl.indexOf("playerfile/")+1);
    player_name = player_name.substring(player_name.indexOf("/")+1);

    //alert ("Before chopping off index: " + player_name);
    player_name = player_name.substring(0,player_name.indexOf("/"));

    //alert ("After chopping off index: " + player_name);

    var sponsored_players = getSponsoredPlayers();
    return sponsored_players[player_name];
}


function getSectionName(sectionName)
{
    if (sectionName == null)
        return;

    var sections = getSections();
    //alert ("Got section name: "+ sectionName);
    //alert ("returning section name: " + sections[sectionName]);
    return sections[sectionName];
}

function populateAd(container, content, async)
{
    //alert ("content:" + content);
    if (async == undefined) async = true;
    var httpRequest;
    if (window.XMLHttpRequest)
    {
        try { httpRequest = new XMLHttpRequest(); }
        catch(e) { }
    }
    else if (window.ActiveXObject)
    {
        try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
        catch(e)
        { 
                   try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } 
                   catch(e) {}
        }
    }
            
    if (!httpRequest) { return false; }

    var url = content  + (content.indexOf("?") > -1 ? "&" : "?") + new Date().getTime();
    httpRequest.open('GET', url, async);
    if (async) 
    {
        httpRequest.onreadystatechange = function() 
        {
            switch(httpRequest.readyState) 
            {
                case 0:
                    break;
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    try {
                        if (httpRequest.status  == 200) {insertAd(container, httpRequest.responseText);}
                        else if (httpRequest.status  == 404) {}
                        else {}
                    } catch(e) {}
                    break;
                default:
                    break;
            }
        }
    }
    // make the Ajax request
    httpRequest.send("");
    if (!async)
     insertAd(container, httpRequest.responseText);
}

function insertAd (container, content)
{
    // find container, clear it out, and insert new content
    var elem = document.getElementById(container);
    if (elem)
    {
            elem.innerHTML = content;
    } else {
    }
}

function populateAds()
{
    var section_name = getSectionName(getAdVar());
    var adBlock = "";

    if (section_name != null)
    {
	    // player specific ads, if not found, player-generic ad
	    if (section_name == "players")
	    {
	        var player_name = getPlayerName();
	        if (player_name != null)
	        {
	            adBlock = section_name + "/" + player_name;
	        }
	        else
	        {
	            adBlock = section_name;
	        }
	    }
	    // section ad
	    else
	    {
	        adBlock = section_name;
	    }
    }
    //generic ad
    else
    {
        adBlock = "nba";
    }

    populateAd("nbaTop728Ad", "/nba_adspaces/1.0/" + adBlock + "/top.728x90.ad");
    populateAd("nbaTop200Ad", "/nba_adspaces/1.0/" + adBlock + "/spon.200x90.ad");
    populateAd("nba160PromoAd", "/nba_adspaces/1.0/" + adBlock + "/spon.160x170.ad");
    populateAd("nbaLeft600Ad", "/nba_adspaces/1.0/" + adBlock + "/bottom.160x600.ad");
    populateAd("right300Ad", "/nba_adspaces/1.0/" + adBlock + "/right.300x250.ad");
    populateAd("right300x600Ad", "/nba_adspaces/1.0/" + adBlock + "/right.300x600.ad");
	
}

function setAdVar(adVar)
{
    myAdVar = adVar;
}

function getAdVar()
{
    return myAdVar;
}
