/*
 *
 * jQuery Extensions
 *
 */
    
    /*
     *
     * to use: $.urlParam('name_of_url_param')
     * returns: value of name_of_url_param
     *
     * 
     */
    jQuery.extend({
        urlParams: function(){
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for(var i = 0; i < hashes.length; i++)
                {
                  hash = hashes[i].split('=');
                  vars.push(hash[0]);
                  vars[hash[0]] = hash[1];
                }
                return vars;
        },
        urlParam: function(name){
                return jQuery.urlParams()[name];
        }
    });
    
    /*
     *
     * to use: $.objectToString(obj)
     * returns: key1~value1&key2~value2...
     *
     * 
     */
    jQuery.extend({
        objectToString: function(obj){
                var str = '';
                jQuery.each(obj, function(k,v){
                        if(typeof k === 'number'){//if it's an array, string the array of objects together
                                str += jQuery.objectToString(v);
                        } else {
                                str += k + '~' + v + '&';
                        }
                });
                return str;
        }
    });
    
/*
 *
 * prototyping
 *
 */
    String.prototype.toTitleCase = function(){
            return this.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
    };
    
/*
 *
 * other functions
 *
 */
    
    //pops up player for Dan Patrick podcasts
    function CNN_DPAudio( url )
    {	
        
        var openURL='/danpatrick/listenlive.player.html';
        var cnnAudioArgs='';
        url = unescape(url);
        if(url != '')
        {
                cnnAudioArgs = '?file='+url;
        }
        if (window.name == 'DPAudioPlayer')
        {
                writeAudio(url);
        }
        else
        {
                CNN_openPopup( openURL + cnnAudioArgs, 'DPAudioPlayer', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=650,height=480' );
        }
    }
    
/*
 *
 * section spotlight map
 *  when a query matches one of the keys in the hash, then a spotlight is
 *  displayed with links for that section
 *
 */
var section_spotlight_model = {
	"NFL":{
        "NFL Home":"/football/nfl/?eref=sisearchspotlight", 
        "Super Bowl XLV":"/football/nfl/super-bowl/?eref=sisearchspotlight",
        "NFL Draft":"/football/nfl/draft/?eref=sisearchspotlight",
        "Scores":"/football/nfl/scoreboards/today/?eref=sisearchspotlight",
        "Teams":"/football/nfl/teams/?eref=sisearchspotlight",
        "Players":"/football/nfl/rosters/alpha/A.html?eref=sisearchspotlight",
        "Player News":"/fantasy/player_news/nfl/?eref=sisearchspotlight",
        "Standings":"/football/nfl/standings/?eref=sisearchspotlight",
        "Schedules":"/football/nfl/schedules/weekly/?eref=sisearchspotlight",
        "Stats":"/football/nfl/stats/?eref=sisearchspotlight",
        "Transactions":"/football/nfl/teams/?eref=sisearchspotlight",
        "Injuries":"/football/nfl/teams/?eref=sisearchspotlight",
        "link":"/football/nfl/?eref=sisearchspotlight"
    },
    "NFL DRAFT":"/football/nfl/draft/?eref=sisearchspotlight",
    "COLLEGE FOOTBALL":{
        "College Football Home":"/football/ncaa/?eref=sisearchspotlight",
        "Scores":"/football/ncaa/scoreboards/divia/today/?eref=sisearchspotlight",
        "Teams":"/football/ncaa/teams/divia.html?eref=sisearchspotlight",
        "Conferences":"/football/ncaa/conferences/?eref=sisearchspotlight",
        "Players":"/football/ncaa/teams/divia.html?eref=sisearchspotlight",
        "Standings":"/football/ncaa/standings/?eref=sisearchspotlight",
        "Rankings":"/football/ncaa/polls/ap/?eref=sisearchspotlight",
        "Schedules":"/football/ncaa/schedules/weekly/?eref=sisearchspotlight",
        "Stats":"/football/ncaa/stats/divia/?eref=sisearchspotlight",
        "Podcasts":"/podcasts/stewart_mandel/?eref=sisearchspotlight",
        "link":"/football/ncaa/?eref=sisearchspotlight"
    },
    "MLB":{
        "MLB Home":"/baseball/mlb/?eref=sisearchspotlight",
        "Scores":"/baseball/mlb/scoreboards/today/?eref=sisearchspotlight",
        "Teams":"/baseball/mlb/teams/?eref=sisearchspotlight",
        "Players":"/baseball/mlb/players/?eref=sisearchspotlight",
        "Player News":"/fantasy/player_news/mlb/?eref=sisearchspotlight",
        "Standings":"/baseball/mlb/standings/?eref=sisearchspotlight",
        "Probables":"/baseball/mlb/probables/today/?eref=sisearchspotlight",
        "Schedules":"/baseball/mlb/schedules/weekly/today/?eref=sisearchspotlight",
        "Stats":"/baseball/mlb/stats/?eref=sisearchspotlight",
        "Historical Stats":"/baseball/mlb/stats/alltime/american_league/?eref=sisearchspotlight",
        "Transactions":"/baseball/mlb/transactions/?eref=sisearchspotlight",
        "Injuries":"/baseball/mlb/injuries/?eref=sisearchspotlight",
        "link":"/baseball/mlb/?eref=sisearchspotlight"
    },
    "NBA":{
        "NBA Home":"/basketball/nba/?eref=sisearchspotlight",
        "NBA Draft":"/basketball/nba/draft/?eref=sisearchspotlight",
        "Scores":"/basketball/nba/scoreboards/today/?eref=sisearchspotlight",
        "Teams":"/basketball/nba/teams/?eref=sisearchspotlight",
        "Players":"/basketball/nba/rosters/alpha/A.html?eref=sisearchspotlight",
        "Player News":"/fantasy/player_news/nba/?eref=sisearchspotlight",
        "Standings":"/basketball/nba/standings/?eref=sisearchspotlight",
        "Schedules":"/basketball/nba/schedules/weekly/today/?eref=sisearchspotlight",
        "Stats":"/basketball/nba/stats/?eref=sisearchspotlight",
        "Transactions":"/basketball/nba/teams/?eref=sisearchspotlight",
        "Injuries":"/basketball/nba/teams/?eref=sisearchspotlight",
        "WNBA":"http://sports.sportsillustrated.cnn.com/wnbafront.asp?eref=sisearchspotlight",
        "Podcasts":"/podcasts/nba/?eref=sisearchspotlight",
        "link":"/basketball/nba/?eref=sisearchspotlight"
    },
    "NBA DRAFT":"/basketball/nba/draft/?eref=sisearchspotlight",
    "COLLEGE BASKETBALL":{
        "College Basketball Home":"/basketball/ncaa/?eref=sisearchspotlight",
        "March Madness":"/basketball/ncaa/mens-tournament/?eref=sisearchspotlight",
        "Men's NCAA Tournament":"/basketball/ncaa/mens-tournament/?eref=sisearchspotlight",
        "NCAA Tourney":"/basketball/ncaa/mens-tournament/?eref=sisearchspotlight",
        "Scores":"/basketball/ncaa/men/scoreboards/top25/today/?eref=sisearchspotlight",
        "Teams":"/basketball/ncaa/men/teams/?eref=sisearchspotlight",
        "Conferences":"/basketball/ncaa/men/conferences/?eref=sisearchspotlight",
        "Players":"/basketball/ncaa/men/teams/?eref=sisearchspotlight",
        "Stats":"/basketball/ncaa/men/stats/?eref=sisearchspotlight",
        "Standings":"/basketball/ncaa/men/standings/?eref=sisearchspotlight",
        "Rankings":"/basketball/ncaa/men/polls/?eref=sisearchspotlight",
        "Schedules":"/basketball/ncaa/men/schedules/weekly/today/?eref=sisearchspotlight",
        "Women's Hoops":"http://sports.sportsillustrated.cnn.com/wcbkfront.asp?eref=sisearchspotlight",
        "link":"/basketball/ncaa/?eref=sisearchspotlight"				
    },
    "MARCH MADNESS":"/basketball/ncaa/mens-tournament/?eref=sisearchspotlight",
    "MEN'S NCAA TOURNAMENT":"/basketball/ncaa/mens-tournament/?eref=sisearchspotlight",
    "NCAA TOURNEY":"/basketball/ncaa/mens-tournament/?eref=sisearchspotlight",
    "GOLF":{
        "GOLF.com Home":"http://www.golf.com/?eref=sisearchspotlight",
        "Leaderboards":"http://www.golf.com/tours_news/leaderboard?eref=sisearchspotlight",
        "PGATOUR.com":"http://www.pgatour.com/?eref=sisearchspotlight",
        "Schedules & Results":"http://www.golf.com/tours_news/tourschedule?eref=sisearchspotlight",
        "Stats":"http://www.golf.com/tours_news/tourstats?eref=sisearchspotlight",
        "Golf News":"http://www.golf.com/tours_news?eref=sisearchspotlight",
        "PGA Tour Confidential":"http://contributors.golf.com/golf-writers/Si-Golf-Group.html?eref=sisearchspotlight",
        "Instruction":"http://www.golf.com/instruction?eref=sisearchspotlight",
        "Equipment":"http://www.golf.com/equipment?eref=sisearchspotlight",
        "Courses & Travel":"http://www.golf.com/courses_travel?eref=sisearchspotlight",
        "link":"http://www.golf.com/?eref=sisearchspotlight"
    },
    "NHL":{
        "NHL Home":"/hockey/nhl/?eref=sisearchspotlight",
        "Scores":"/hockey/nhl/scoreboards/today/?eref=sisearchspotlight",
        "Teams":"/hockey/nhl/teams/?eref=sisearchspotlight",
        "Players":"/hockey/nhl/rosters/alpha/A.html?eref=sisearchspotlight",
        "Player News":"/fantasy/player_news/nhl/?eref=sisearchspotlight",
        "Standings":"/hockey/nhl/standings/?eref=sisearchspotlight",
        "Season Schedules":"/hockey/nhl/schedules/weekly/today/?eref=sisearchspotlight",
        "Stats":"/hockey/nhl/stats/?eref=sisearchspotlight",
        "Transactions":"/hockey/nhl/teams/?eref=sisearchspotlight",
        "Injuries":"/hockey/nhl/teams/?eref=sisearchspotlight",
        "link":"/hockey/nhl/?eref=sisearchspotlight"
    },  
    "RACING":{
        "Racing Home":"/racing/?eref=sisearchspotlight",
        "NASCAR":"http://sports.sportsillustrated.cnn.com/racingfront.asp?series=NASCAR&eref=sisearchspotlight",
        "Nationwide":"http://sports.sportsillustrated.cnn.com/racingfront.asp?series=NATIONWIDE&eref=sisearchspotlight",
        "Camping World Truck Series":"http://sports.sportsillustrated.cnn.com/racingfront.asp?series=TRUCK&eref=sisearchspotlight",
        "IndyCar":"http://sports.sportsillustrated.cnn.com/racingfront.asp?series=IRL&eref=sisearchspotlight",
        "Formula One":"http://sports.sportsillustrated.cnn.com/racingfront.asp?series=Form1&eref=sisearchspotlight",
        "link":"/racing/?eref=sisearchspotlight"				
    },
    "SOCCER":{
        "Soccer Home":"/soccer/?eref=sisearchspotlight",
        "Leagues":"http://sports.sportsillustrated.cnn.com/soccerfront.asp?eref=sisearchspotlight",
        "Podcasts":"/podcasts/soccer/?eref=sisearchspotlight",
        "link":"/soccer/?eref=sisearchspotlight"
    },
    "MMA & BOXING":{
        "MMA & Boxing Home":"/mma/?eref=sisearchspotlight",
        "MMA Schedules & Results":"/2011/mma/schedule.results/?eref=sisearchspotlight",
        "Boxing Schedules & Results":"/2010/mma/boxing/schedule/?eref=sisearchspotlight",
        "Tickets":"http://www.ticketcity.com/mma-tickets.html?sct=nba_nv_a",
        "link":"/mma/?eref=sisearchspotlight"
    },
    "TENNIS":{
        "Tennis Home":"/tennis/?eref=sisearchspotlight",
        "ATP":"http://sports.sportsillustrated.cnn.com/tennisfront.asp?tour=ATP&eref=sisearchspotlight",
        "WTA":"http://sports.sportsillustrated.cnn.com/tennisfront.asp?tour=WTA&eref=sisearchspotlight",
        "link":"/tennis/?eref=sisearchspotlight"
    },
    "Cycling":"/cycling/wires/?eref=sisearchspotlight",
    "Canadian Football League":"http://sports.sportsillustrated.cnn.com/cfl/scoreboard.asp?eref=sisearchspotlight",
    "Cricket":"http://sports.sportsillustrated.cnn.com/cricketfront.asp?eref=sisearchspotlight",
    "Horse Racing":"/horse_racing/wires/?eref=sisearchspotlight",
    "Olympics":"/olympics/2010/?eref=sisearchspotlight",
    "Track & Field":"/track_field/wires/?eref=sisearchspotlight",
    "Figure Skating":"/figure_skating/wires/?eref=sisearchspotlight",
    "Women's College Basketball":"http://sports.sportsillustrated.cnn.com/wcbkfront.asp?eref=sisearchspotlight",
    "WNBA":"http://sports.sportsillustrated.cnn.com/wnbafront.asp?eref=sisearchspotlight",
    "SPORTSMAN":"/magazine/sportsman/?eref=sisearchspotlight",
    "SPORTSMAN OF THE YEAR":"/magazine/sportsman/?eref=sisearchspotlight"
};

var sub_section_model = {
    "NFL PREVIEW":"NFL",
    "NCAA FOOTBALL PREVIEW":"COLLEGE FOOTBALL",
    "NCAA FOOTBALL BOWLS":"COLLEGE FOOTBALL",
    "SPRING TRAINING":"MLB",
    "MLB ALL-STAR GAME":"MLB",
    "MLB PLAYOFFS":"MLB",
    "NBA ALL-STAR GAME":"NBA",
    "NBA PLAYOFFS":"NBA",
    "NBA PREVIEW":"NBA",
    "NCAA BASKETBALL PREVIEW":"COLLEGE BASKETBALL",
    "THE MASTERS":"GOLF",
    "NHL PLAYOFFS":"NHL",   
    "NHL PREVIEW":"NHL",  
    "SOCCER WORLD CUP":"SOCCER",
    "FRENCH OPEN":"TENNIS",
    "WIMBLEDON":"TENNIS",
    "U.S. OPEN TENNIS":"TENNIS"
};
