// set up some data arrays
var period_list = Array('', '1st', '2nd', '3rd', '4th', '5th', '6th', '7th', '8th', '9th',
  '10th', '11th', '12th', '13th', '14th', '15th', '16th', '17th', '18th', '19th');
var bbTeamCode = Array( 'BOS', 'MIA', 'NJ', 'NYK', 'ORL', 'PHI', 'WAS', 'ATL', 'NO', 'CHI',
 'CLE', 'DET', 'IND', 'MIL', 'TOR', 'DAL', 'DEN', 'HOU', 'MEM', 'MIN', 'SAN', 'UTA', 'GSW', 'LAC',
 'LAL', 'PHO', 'POR', 'SAC', 'SEA', 'EAS', 'WES', 'CLT', 'OKC');
var nflTeamCode = Array( 'BUF', 'IND', 'MIA', 'NE', 'NYJ', 'BAL', 'CIN', 'CLE', 'JAC', 'PIT',
 'TEN', 'DEN', 'KC', 'OAK', 'SD', 'SEA', 'ARI', 'DAL', 'NYG', 'PHI', 'WAS', 'CHI', 'DET', 'GB',
 'MIN', 'TB', 'ATL', 'STL', 'CAR', 'NO', 'SF', 'HOU', 'AFC', 'NFC');
var nhlTeamCode = Array( 'NJD', 'NYI', 'NYR', 'PHI', 'PIT', 'CAR', 'TBL', 'WAS', 'ATL', 'FLA',
 'BOS', 'BUF', 'MTL', 'OTT', 'TOR', 'CHI', 'DET', 'STL', 'NAS', 'CBJ', 'DAL', 'ANA', 'LAK', 'SJS',
 'PHX', 'VAN', 'COL', 'CAL', 'EDM', 'MIN', 'EAS', 'WES');

function makeTeamClass(teamkey) {
	// TSN team-key's have dots in them and are not in themselves valid CSS class names
	// this will strip the periods out and lower case the string and slap a team- in front
	// of the string.
	var temp = Array();
	temp = teamkey.split('.');
	var classname = "team-";
	for (var i=0;i < temp.length; i++) {
		classname = classname + temp[i];
	}
	return(classname.toLowerCase());
}

function live_score(my_team, league, element) {
	var tsn_league = "l." + league + ".com";
	$(element).load("/static/widgets/live_score.html", null, function () {
		$.ajax({
			url: "/cgi-bin/tsn_proxy.cgi",
			data: {
				"nocache" : "1",
				"fixture-keys": "event-score",
				"league-keys" : tsn_league.toLowerCase(),
				"team-keys" : my_team.toLowerCase(),
				'function': 'searchDocuments',
				'max-result-count': '1',
				'content-returned': 'all-content',
				'stylesheet': 'none'
			},
			dataType: 'xml',
			success: function (xml) {
				var html = "";
				var sports_event = xml.getElementsByTagName("sports-event")[0];
				var event_meta = sports_event.getElementsByTagName("event-metadata")[0];
				var event_status = event_meta.getAttribute("event-status");
				var template = "/static/widgets/bb-score.html";
				if(league.toLowerCase() == 'nfl') {
					template = "/static/widgets/fb-score.html";
				}
				if(league.toLowerCase() == 'nhl') {
					template = "/static/widgets/nhl-score.html";
				}
				if(league.toLowerCase() == 'mlb') {
					template = "/static/widgets/baseball-score.html";
				}
				if(event_status == "post-event") { // show the box score instead
					bb_game_widget(my_team, element, template);
					return;
				}
				var emaf;
				var period_string = "period-value";
				if(league.toLowerCase() == 'nfl') {
					emaf = event_meta.getElementsByTagName("event-metadata-american-football")[0];
				}
				if(league.toLowerCase() == 'nhl') {
					emaf = event_meta.getElementsByTagName("event-metadata-ice-hockey")[0];
				}
				if(league.toLowerCase() == 'nba') {
					emaf = event_meta.getElementsByTagName("event-metadata-basketball")[0];
				}
				if(league.toLowerCase() == 'mlb') {
					emaf = event_meta.getElementsByTagName("event-metadata-baseball")[0];
					period_string = "inning-value";
				}
				var period_value = emaf.getAttribute(period_string);
				var time_remaining = emaf.getAttribute("period-time-remaining");
				var team0 = sports_event.getElementsByTagName("team")[0];
				var team0meta = team0.getElementsByTagName("team-metadata")[0];
				var team0key = team0meta.getAttribute("team-key");
				var team0alignment = team0meta.getAttribute("alignment");
				var team0stats = team0.getElementsByTagName("team-stats")[0];
				var team0score = team0stats.getAttribute("score");
				var team1 = sports_event.getElementsByTagName("team")[1];
				var team1meta = team1.getElementsByTagName("team-metadata")[0];
				var team1key = team1meta.getAttribute("team-key");
				var team1alignment = team1meta.getAttribute("alignment");
				var team1stats = team1.getElementsByTagName("team-stats")[0];
				var team1score = team1stats.getAttribute("score");
				var tmp0  = team0key.split('.');
				var team0id = tmp0[tmp0.length-1];
				var tmp1  = team1key.split('.');
				var team1id = tmp1[tmp1.length-1];
				var team0code;
				var team1code;
				if(league.toLowerCase() == 'nfl') {
					team0code = nflTeamCode[team0id];
					team1code = nflTeamCode[team1id];
				}
				if(league.toLowerCase() == 'nba') {
					team0code = bbTeamCode[team0id];
					team1code = bbTeamCode[team1id];
				}
				if(league.toLowerCase() == 'nhl') {
					team0code = nhlTeamCode[team0id];
					team1code = nhlTeamCode[team1id];
				}
					
				var timeinfo = '<span class="noperiod">Final</span>';
				var period = period_list[period_value];
				if (league.toLowerCase() != 'mlb') {
					if (!time_remaining) {
						time_remaining = "End";
					}
				}
				if (event_status == "pre-event") {
					timeinfo = '<span class="noperiod">Pre-Game</span>';
				}
				if (event_status == "mid-event") {
					timeinfo = '<span class="period">' + period + '</span><br /><span class="timeremaining">' + time_remaining + '</span>';
				}
				html = '<table><tr><td width="61"><span class="team ' + league.toLowerCase() + " " + makeTeamClass(team0key) + 
					   '"></span></td><td><span class="teamcode">' + team0code + '</span><br /><span class="score">' + 
					   team0score + '</span></td><td width="61"><span class="team ' + league.toLowerCase() + " " + makeTeamClass(team1key) +
					   '"></span></td><td><span class="teamcode">' + team1code + '</span><br /><span class="score">' +
					   team1score + '</span></td><td>' + timeinfo + '</td></tr></table>';
				$(element + " .livescore").html(html);
			}
		});
	});
}

function division_standings(my_team, division, league, element) {
	var tsn_division = "d." + division.toLowerCase();
	var tsn_league 
	if(league.toLowerCase() == 'mfoot') {
		tsn_league = "l.ncaa.org.mfoot";
	} else {
		if(league.toLowerCase() == 'mbasket') {
			tsn_league = "l.ncaa.org.mbasket";
		} else {
			tsn_league = "l." + league.toLowerCase() + ".com";
		}
	}
	var division_string = division.toLowerCase();
	if(league.toLowerCase() == "nba") { //hack because nba and nhl use the same division name
		division_string = "nba_" + division.toLowerCase();
	}
	if(league.toLowerCase() == "wnba") { //hack because nba and nhl use the same division name
		division_string = "wnba_" + division.toLowerCase();
	}
	$(element).load("/static/widgets/"+division_string+"_standings.html", null, function() {
		$.ajax({
			url: "/static/widgets/data/" + tsn_league.toLowerCase() + "-standings.xml",
			dataType: 'xml',
			success: function (xml) {
				var html = '<table>\n \
	<tr>\n \
		<th colspan="2">Team</th>\n \
		<th><acronym title="Wins">W</acronym></th>\n \
		<th><acronym title="Losses">L</acronym</th>\n \
		<th><acronym title="Win Percentage">PCT</acronym></th>\n \
		<th><acronym title="Games Back">GB</acronym></th>\n \
		</tr>\n';
				for(var s=0;s < xml.getElementsByTagName("standing").length; s++) {
					var standing = xml.getElementsByTagName("standing")[s];
					var s_division = standing.getAttribute("content-label");
					if((s_division == "West Division")||(s_division == "Western Division") || (s_division == "Pacific Division")) { // only interested in western division teams
						var standing_meta = standing.getElementsByTagName("standing-metadata")[0];
						var sports_content_codes = standing_meta.getElementsByTagName("sports-content-codes")[0];
						var sports_content_code = sports_content_codes.getElementsByTagName("sports-content-code")[0];
						var t_division = sports_content_code.getAttribute("code-key");
						if(t_division == "TBD") { // nba XML is messed up so hack around it
							t_division = "d." + sports_content_code.getAttribute("code-name").toLowerCase();
						}
						var tr_class;
						if(t_division == tsn_division) { // we have a winner!
							var most_wins = 0;;
							for(var t=0;t < standing.getElementsByTagName("team").length; t++) {
								var team = standing.getElementsByTagName("team")[t];
								var team_meta = team.getElementsByTagName("team-metadata")[0];
								var name = team_meta.getElementsByTagName("name")[0];
								var city_name = name.getAttribute("first");
								var this_team_key = team_meta.getAttribute("team-key");
								tr_class = '';
								if (my_team == this_team_key) {
									tr_class = ' class = "high hometeam"';
								}
								var team_stats = team.getElementsByTagName("team-stats")[0];
								var outcome = team_stats.getElementsByTagName("outcome-totals")[0];
								var wins = outcome.getAttribute("wins");
								var losses= outcome.getAttribute("losses");
								var percentage = outcome.getAttribute("winning-percentage");
								var games_back;
								if (t == 0) { // first team is in the lead
									games_back = '-';
									most_wins = (wins - losses) / 2;
								} else {
									games_back = most_wins - ((wins - losses) / 2);
								}
								html = html + '	   <tr' + tr_class +'><td class="nohigh"><span class="team ' + league.toLowerCase() + " " + makeTeamClass(this_team_key) + '"></span></td><td class="city">' + city_name + '</td><td>' + wins + '</td><td>' + losses + '</td><td>' + percentage + '</td><td>' + games_back +'</td></tr>\n';
							}
						}
					}
				}
				html = html + '</table>\n';
				$(element + " .table").html(html);
				$(element + " .gray .button:first a").attr('href', 'http://sports.sacbee.com/tsn-scripts/sports?fixture-keys=standings-by-division&league-keys=' + tsn_league + '&function=searchDocuments&max-result-count=1&content-returned=all-content');
				//$(element + " .gray .button:last a").attr('href', 'y');
			}
		});
	});
}

function team_calendar (team, element, month_override) {
	var months = new Array ("","jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
	var date = new Date();

	// Changed to normalize the month to the real month
	var show_month = (month_override) ? month_override : date.getMonth() + 1;

	var parts = team.split('.');
	var league = parts[1];
	
	$.ajax({
		url: "/static/widgets/calendars/cal-" + months[show_month] + date.getFullYear() + ".html",
		dataType: "html",
		success: function(html){
			$(element).empty();
			$(element).append(html);
			
			$.ajax({
				url: "/static/widgets/data/" + team + '.schedule.xml',
				dataType: 'xml',
				success: function (xml) {
					for (var x = 0; x < xml.getElementsByTagName("sports-event").length; x++) {
						var event = xml.getElementsByTagName("sports-event")[x];

						var event_meta = event.getElementsByTagName("event-metadata")[0];
						var start = event_meta.getAttribute("start-date-time");
						var event_status = event_meta.getAttribute("event-status");
						var site_meta = event_meta.getElementsByTagName("site-metadata")[0];

						var name = site_meta.getElementsByTagName("name")[0];
						var venue = name.getAttribute("full");

						var team0 = event.getElementsByTagName("team")[0];
						var team_0_meta = team0.getElementsByTagName("team-metadata")[0];
						var team_key = team_0_meta.getAttribute("team-key");

						var team1 = event.getElementsByTagName("team")[1];
						var team_1_meta = team1.getElementsByTagName("team-metadata")[0];

						var destination;
						var score_us;
						var score_them;
						var their_team_name;
						var my_team_name;

						if(team_key == team) { // found us
							destination = team_0_meta.getAttribute("alignment");
							team_key = team_1_meta.getAttribute("team-key");
							var name = team_0_meta.getElementsByTagName("name")[0];
							my_team_name = name.getAttribute("last");
							name = team_1_meta.getElementsByTagName("name")[0];
							their_team_name = name.getAttribute("last");
							var team_stats0 = team0.getElementsByTagName("team-stats")[0];
							score_us = team_stats0.getAttribute("score");
							var team_stats1 = team1.getElementsByTagName("team-stats")[0];
							score_them = team_stats1.getAttribute("score");
						} else {
							destination = team_1_meta.getAttribute("alignment");
							var name = team_1_meta.getElementsByTagName("name")[0];
							my_team_name = name.getAttribute("last");
							name = team_0_meta.getElementsByTagName("name")[0];
							their_team_name = name.getAttribute("last");
							var team_stats0 = team0.getElementsByTagName("team-stats")[0];
							score_them = team_stats0.getAttribute("score");
							var team_stats1 = team1.getElementsByTagName("team-stats")[0];
							score_us = team_stats1.getAttribute("score");
						}

						var month = start.substr(4, 2);
						var day = start.substr(6, 2);
						var hour = start.substr(9,2);
						var minute = start.substr(11,2);
	
						hour = hour - 3; // adjust time zone
						if (month == show_month) { // was show_month + 1
							var info_html = (event_status == "post-event") ?
								'<div id="info' + day + '" class="gameinfo"><h3 style="margin-bottom:0">Final Score</h3><div><strong>' + my_team_name + ':</strong> ' + score_us + '</div><div><strong>' + their_team_name + ':</strong> ' + score_them + '</div></div>' :
								'<div id="info' + day + '" class="gameinfo"><h3 style="margin-bottom:0">Location: ' + venue + '</h3><div>Time: ' + hour + ':' + minute + '</div></div>';

							$(element + " .day" + day)
								.empty()
								.append(
									$('<a href="#"><span/></a>')
										.addClass("team")
										.addClass(league.toLowerCase())
										.addClass(makeTeamClass(team_key))
								).append(info_html);

							$(element + " .teamname").html(my_team_name);
							$(element + " .day" + day).mouseover(function () {
								$(element + " .info").html($(".gameinfo", this).html());
							});
						}
					}

					// Bah, this shouldn't be in the JS, it should be in the HTML...
					var team_sched_url = 'http://sports.sacbee.com/tsn-scripts/sports?fixture-keys=schedule-single-team&team-keys=' + team + '&function=searchDocuments&max-result-count=1&content-returned=all-content';

					// New TSN pages...
					switch (team) {
						case "l.nba.com-t.28":
							team_sched_url = 'http://www.sportsnetwork.com/merge/tsnform.aspx?c=sacbee&page=nba/teams/109/schedulesn.aspx?team=109,season=';
							break;
					}

					$(element + " .button a").attr('href', team_sched_url);
				}
			});
		},
		error: function(){
			console.log("No calendar file exists.");
		}
	});
}

function bb_game_widget (team_id, element, template) {
	var parts = team_id.split('.');
	var league = parts[1];
	$(element).load(template, null, function () {
		$.ajax({
			url: "/static/widgets/data/" + team_id + ".boxscore.xml",
			dataType: 'xml',
			success: function (xml) {
				var weekday = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
				var game_id;

				for (var x = 0; x < xml.getElementsByTagName("sports-event").length; x++) {
					var event = xml.getElementsByTagName("sports-event")[x];
					var event_meta = event.getElementsByTagName("event-metadata")[0];
					var event_status = event_meta.getAttribute("event-status");
					var duration = event_meta.getAttribute("duration");
					var event_key = event_meta.getAttribute("event-key");
					game_id = event_key.replace(/.*\./, "");
					var startdate = event_meta.getAttribute("start-date-time");

					var year = startdate.substring(0,4);
					var month = startdate.substring(4,6);
					var day = startdate.substring(6,8);
					var gameDay = new Date(year, month - 1, day);
					var gameWeekDay = gameDay.getDay();
					var datestring = weekday[gameWeekDay] + " " + month + "/" + day;

					$(element + " .datefield").html(datestring);

					var site = event_meta.getElementsByTagName("site")[0];
					var site_stats = site.getElementsByTagName("site-stats")[0];
					var attendance = site_stats.getAttribute("attendance");

					var html = "<table>\n	 <tr>\n		   <th>&nbsp;</th>\n";
					for (var y = 0; y < event.getElementsByTagName("team").length; y++) {
						var team = event.getElementsByTagName("team")[y];
						var team_metadata = team.getElementsByTagName("team-metadata")[0];
						var alignment = team_metadata.getAttribute("alignment");
						var team_key = team_metadata.getAttribute("team-key");
						var tary = team_key.split('.');
						var teamId = tary[tary.length-1];
						var team_name_key = team_metadata.getElementsByTagName("name")[0];
						var firstname = team_name_key.getAttribute("first");
						var lastname = team_name_key.getAttribute("last");
						var team_stats = team.getElementsByTagName("team-stats")[0];
						var result = team_stats.getAttribute("event-outcome");
						var teamclass = makeTeamClass(team_key);
						var current_score = team_stats.getAttribute("score");
						var periods = team_stats.getElementsByTagName("sub-score").length;
						var scores = Array();
						for(var p=0;p<periods;p++) {
							var subscore = team_stats.getElementsByTagName("sub-score")[p];
							var period = subscore.getAttribute("period-value");
							scores[p] = subscore.getAttribute("score");
							if( y == 0) { // only output the header once
								html = html	 + '		<th>' + period + '</th>\n';
							}
						}
						if(y == 0) {
							html = html + '		   <th>T</th>\n';
						}
						html = html + '	   </tr>\n';
						if(result ==  "loss") {
							html = html + '<tr class="nohigh">\n';
						} else {
							html = html + '<tr class="high">\n';
						}
						var homeaway;
						if(alignment == 'away') {
							homeaway = 'visitor';
						} else {
							homeaway = 'home';
						}
						html = html + '		   <td class="nohigh"><span class="team ' + league + " " + teamclass + '"></span></td>\n';
						for(var p=0;p < periods; p++) {
							html = html + '		   <td class="' + homeaway + ' q'+ (p+1) + '">' + scores[p] + '</td>\n';
						}
						html = html + '<td class="' + homeaway + ' final">' + current_score + "</td>\n";
						html = html + '</tr>\n';
					}
					$(element + " .boxscore").html(html);
				}

				// Update the 'more' button
				$(element + " .fullsched").attr('href', 'http://www.sportsnetwork.com/merge/tsnform.aspx?c=sacbee&page=nba/teams/109/schedulesn.aspx?team=109,season=2008');
				$(element + " .button a").attr('href', 'http://www.sportsnetwork.com/merge/tsnform.aspx?c=sacbee&page=nba/scores/final/boxscoreip.aspx?GAMEID=' + game_id);
				$(element + " .recap").attr('href', 'http://www.sportsnetwork.com/merge/tsnform.aspx?c=sacbee&page=nba/scores/final/recap.aspx?id=' + game_id);
				$(element + " .boxscores").attr('href', 'http://www.sportsnetwork.com/merge/tsnform.aspx?c=sacbee&page=nba/scores/final/boxscoreip.aspx?GAMEID=' + game_id);
				//$(element + " .playbyplay").attr('href', 'http://www.sportsnetwork.com/merge/tsnform.aspx?c=sacbee&page=nba/scores/final/recap.aspx?id=' + game_id);
				//$(element + " .shot").attr('href', 'http://www.sportsnetwork.com/merge/tsnform.aspx?c=sacbee&page=nba/scores/final/boxscoreip.aspx?GAMEID=' + game_id);
			}
		});
	});
}
function ncaa_division_standings(my_team, conference, league, element) {
	var tsn_conference = "c." + conference.toLowerCase();
	var tsn_league;
	if(league.toLowerCase() == 'mfoot') {
		tsn_league = "l.ncaa.org.mfoot";
		if(conference.toLowerCase() == 'big-sky') {
			tsn_league = 'l.ncaa.org.mfoot.div1.aa';
		}
	} else {
		if(league.toLowerCase() == 'mbasket') {
			tsn_league = "l.ncaa.org.mbasket";
		} else {
			tsn_league = "l." + league.toLowerCase() + ".com";
		}
	}
	$(element).load("/static/widgets/"+conference.toLowerCase()+"_standings.html", null, function() {
		$.ajax({
			url: "/static/widgets/data/" + tsn_conference + "-standings.xml",
			dataType: 'xml',
			success: function (xml) {
				var html = '<table>\n \
	<tr><th colspan="2">&nbsp;</th><th colspan="3">Overall</th><th colspan="3">Conference</th></tr>\n \
	<tr>\n \
		<th colspan="2">Team</th>\n \
		<th><acronym title="Wins">W</acronym></th>\n \
		<th><acronym title="Losses">L</acronym</th>\n \
		<th><acronym title="Win Percentage">PCT</acronym></th>\n \
		<th><acronym title="Wins">W</acronym></th>\n \
		<th><acronym title="Losses">L</acronym</th>\n \
		<th><acronym title="Win Percentage">PCT</acronym></th>\n \
	</tr>\n';
				var standing = xml.getElementsByTagName("standing")[0];
				var standing_meta = standing.getElementsByTagName("standing-metadata")[0];
				var sports_content_codes = standing_meta.getElementsByTagName("sports-content-codes")[0];
				var sports_content_code = sports_content_codes.getElementsByTagName("sports-content-code")[0];
				var tr_class;
				var most_wins = 0;;
				for(var t=0;t < standing.getElementsByTagName("team").length; t++) {
					var team = standing.getElementsByTagName("team")[t];
					var team_meta = team.getElementsByTagName("team-metadata")[0];
					var name = team_meta.getElementsByTagName("name")[0];
					var city_name = name.getAttribute("first");
					var this_team_key = team_meta.getAttribute("team-key");
					tr_class = '';
					if (my_team == this_team_key) {
						tr_class = ' class = "high hometeam"';
					}
					var team_stats = team.getElementsByTagName("team-stats")[0];
					var outcome = team_stats.getElementsByTagName("outcome-totals")[0];
					var wins = outcome.getAttribute("wins");
					var losses= outcome.getAttribute("losses");
					var percentage = outcome.getAttribute("winning-percentage");
					var c_outcome = team_stats.getElementsByTagName("outcome-totals")[1];
					var c_wins = c_outcome.getAttribute("wins");
					var c_losses= c_outcome.getAttribute("losses");
					var c_percentage = c_outcome.getAttribute("winning-percentage");
					html = html + '	   <tr' + tr_class +'><td class="nohigh"><span class="team ncaa ' + makeTeamClass(this_team_key) + '"></span></td><td class="city">' + city_name + '</td><td>' + wins + '</td><td>' + losses + '</td><td>' + percentage + '</td><td>' + c_wins +'</td><td>' + c_losses + '</td><td>' + c_percentage + '</td></tr>\n';
				}
				html = html + '</table>\n';
				$(element + " .table").html(html);
			}
		});
	});
}

function golf_top10(league, element) {
	$.ajax({
		url: "/static/widgets/data/" + league + ".leaders-money.xml",
		dataType: 'xml',
		success: function (xml) {
			var statistic = xml.getElementsByTagName("statistic")[0];
			var statmeta = statistic.getElementsByTagName("statistic-metadata")[0];
			var header = statmeta.getAttribute("xts:update");
			var html="<h4>" + header + '</h4>\n<div class="story-list">	 <ul class="golf stories">\n';
			for(var i=0;i<10;i++) {
				var player = statistic.getElementsByTagName("player")[i];
				var playermeta = player.getElementsByTagName("player-metadata")[0];
				var nametag = playermeta.getElementsByTagName("name")[0];
				var name = nametag.getAttribute("full");
				var playerstats = player.getElementsByTagName("stats-golf")[0];
				var money = playerstats.getAttribute("money");
				html = html + '	   <li>' + name + ' - ' + money + '</li>\n';
			}
			html = html + '	  </ul>\n</div>\n';
			$(element).html(html);
		}
	});
}

function golf_calendar(league, element) {
	$.ajax({
		url: "/static/widgets/data/" + league + ".schedule-year.xml",
		dataType: 'xml',
		success: function (xml) {
			var nTourny = xml.getElementsByTagName("tournament").length;
			var tCount = 0;
			var html = '<div class="story-list">\n	  <ul class="golf stories">\n';
			for(var i=0;i<nTourny;i++) {
				var tourny = xml.getElementsByTagName("tournament")[i];
				var tournymeta = tourny.getElementsByTagName("tournament-metadata")[0];
				var enddate = tournymeta.getAttribute("end-date-time");
				var tyear = enddate.substr(0,4);
				var tmon  = enddate.substr(4,2);
				var tday  = enddate.substr(6,2);
				var tDate = new Date(tyear,tmon-1,tday);
				var now = new Date();
				var tName;
				if (tDate.getTime() > now.getTime()) { // upcoming
					if(tCount < 5) {
						tCount++;
						tName = tournymeta.getAttribute("tournament-name");
						var homeloc = tournymeta.getElementsByTagName("home-location")[0];
						var city = homeloc.getAttribute("city");
						var state = homeloc.getAttribute("state");
						html = html + '		 <li>' + tName + " - " + city + ", " + state + ' - ' + tmon + '/' + tday + '/' + tyear + '</li>\n';
					} else {
						break;
					}
				}
			}
			html = html + '	   </ul>\n</div>\n';
			$(element).html(html);
		}
	});
}

function golf_leaderboard(league,element) {
	$.ajax({
		url: "/static/widgets/data/" + league + ".leaderboard.xml",
		dataType: 'xml',
		success: function (xml) {
			var parts = league.split;
			var tleague = parts[1];
			var tmeta = xml.getElementsByTagName("tournament-metadata")[0];
			var tnametmp = tmeta.getAttribute('tournament-name');
			var tname = tnametmp.replace(/Leaderboard/,"");
			var html = '<div class="header">' + tname + '</div>\n<table id="ldrbd' + tleague +'" class="zebra">\n<tr><th>Pos</th><th>Player</th><th>Score</th></tr>\n';
			var pcount = xml.getElementsByTagName("player").length;
			if(pcount > 10) {
				pcount = 10; // cap the number of players we show
			}
			for(var i=0;i<pcount;i++) {
				var player = xml.getElementsByTagName("player")[i];
				var pmeta = player.getElementsByTagName('player-metadata')[0];
				var ppos = pmeta.getAttribute("position-event");
				var pnametmp = pmeta.getElementsByTagName("name")[0];
				var pname = pnametmp.getAttribute("full");
				var pstats = player.getElementsByTagName("player-stats")[0];
				var pscore = pstats.getAttribute("score");
				html = html + '<tr class="hometeam"><td>' + ppos + '</td><td>' + pname + '</td><td>' + pscore + '</td></tr>\n';
			}
			html = html + '</table>\n';
			$(element).html(html);
			$("#ldrbd" + tleague + " tr:nth-child(odd)").addClass("odd");
		}
	});
}
