//////////////////////////////////////////////////////////////////Display current year
function writeCR(){
var today = new Date();
document.write(today.getFullYear());
}

//////////////////////////////////////////////////////////////////Suckerfish
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


/////////////////////////////////////////////////////////////////Jumpmenus
function initJumpMenus() {
	// Turns all <select> elements with the 'jumpmenu' class into jump menus
	var selectElements = document.getElementsByTagName("select");
	for( i = 0; i < selectElements.length; i++ ) {
		// Check for the class and make sure the element has an ID
		if( selectElements[i].className == "jumpmenu" && document.getElementById(selectElements[i].id) != "" ) {
			jumpmenu = document.getElementById(selectElements[i].id);
			jumpmenu.onchange = function() {
				if( this.options[this.selectedIndex].value != '' ) {
					// Redirect
					location.href=this.options[this.selectedIndex].value;
				}
			}
		}
	}
}


/////////////////////////////////////////////////////////////////Stat Jump menus functions
function switchSeason(season,team) {
	//load splits available for season in splits
	// todo later

	//load new stats box
	load_stats(team);
}

function switchStatType(statType,team) {
	//load new stats box

	//disable disallowed options
	if ( statType == 'Scoring' | statType == 'Overall' ) {
		$("#split").val("None selected");
		$("#split").attr("disabled", true);
	} else {
		$("#split").removeAttr("disabled");
	}


	load_stats(team);
}

function switchSplit(split,team) {
	//load new stats box
	load_stats(team);
}

function load_stats(team) {
	var js_season = $("#season").val();
	var js_statType = $("#type").val();
	var js_split = $("#split").val();
	if (js_split == '--') { return }
	var team_str = "/team/"+team+"/ajax/";
	$("#statsBox").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(team_str, {season: js_season, statType:js_statType, split:js_split}, function(data){
		$("#statsBox").html(data);
	});
}


/////////////////////////////////////////////////////////////////League Leaders Jump menus functions
function switchLeaderSeason(season) {
	//load splits available for season in splits
	// todo later
	//load new stats box
	load_leader_stats();
}

function switchLeaderLeague(league) {
	//load new stats box
	//disable disallowed options
	load_leader_stats();
}

function switchLeaderCategory(category) {
	//load new stats box
	load_leader_stats();
}

function load_leader_stats() {
	var js_season = $("#season").val();
	var js_league = $("#league").val();
	var js_category = $("#category").val();
	//alert(js_season);
	//alert(js_league);
	//alert(js_category);
	var ajax_str = "/nfl/statistics/ajax/";
	$("#statsBox").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(ajax_str, {season: js_season, league:js_league, category:js_category}, function(data){
		$("#statsBox").html(data);
	});
}


/////////////////////////////////////////////////////////////////Poll vote
function poll_vote() {
	if ( $("input[@name='choices']:checked").val() ) {
		var choice = $("input[@name='choices']:checked").val();
		var poll_id = $("#poll_id").val();
		$("#poll_box_inner").html('<div style="text-align:center;" class="m5t"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Submitting Vote ...</div>');
		poll_str = "/polls/" + poll_id + "/";
		$.post(poll_str, {choices: choice}, function(data){
			$("#poll_box").html(data);
		});
	} else {
		alert("You must make a choice before voting.");
	}
}


/////////////////////////////////////////////////////////////////Jquery init items
$(document).ready(function() {
	initJumpMenus();
});


/////////////////////////////////////////////////////////////////Player Search Functions
function player_name_search() {
	var js_name = $("#player_name").val();
	//alert(js_name);
	var ajax_str = "/players/search/ajax/";
	$("#rosterBox").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(ajax_str, {name:js_name}, function(data){
		$("#rosterBox").html(data);
	});
}


function player_position_search(position) {
       var js_position = position;
	//alert(js_position);
	var ajax_str = "/players/search/ajax/";
	$("#rosterBox").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(ajax_str, {position:js_position}, function(data){
		$("#rosterBox").html(data);
	});
}

function player_team_search(team) {
	var js_team  = team;
	//alert(js_team);
	var ajax_str = "/players/search/ajax/";
	$("#rosterBox").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(ajax_str, {team:js_team}, function(data){
		$("#rosterBox").html(data);
	});
}


/////////////////////////////////////////////////////////////////Fantasy Player stats menu functions
function fantasyPlayerSwitchSeason(season) {
        fantasy_player_load_stats();
}

function fantasyPlayerSwitchCategoryType(fantasyCategory) {
        fantasy_player_load_stats();    
}

function fantasy_player_load_stats() {
	var js_season = $("#season").val();
	var js_category = $("#category").val();
	var team_str = "ajax/";
	$("#player_stats_box").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.get(team_str, {season: js_season, category:js_category}, function(data){
		$("#player_stats_box").html(data);
	});

   
}

/////////////////////////////////////////////////////////////////Fantasy Category stats menu functions
function switchFantasySeason(season) {
	fantasy_category_load_stats();
}

function switchFantasyCategory(fantasyCategory) {
	fantasy_category_load_stats();	
}

function switchFantasyPosition(fantasyPosition) {
	fantasy_category_load_stats();	
}

function fantasy_category_load_stats() {
	var js_season = $("#season").val();
	var js_category = $("#category").val();
	var js_position = $("#position").val();
	var team_str = "ajax/";
	$("#fantasy_stats_box").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.get(team_str, {season: js_season, category:js_category, position:js_position}, function(data){
		$("#fantasy_stats_box").html(data);
	});

		
}
/////////////////////////////////////////////////////////////////Player splits menus functions
function playerswitchSeason(season) {
	//load splits available for season in splits
	// todo later

	//load new stats box
	player_split_load_stats();
}

function playerswitchStatType(statType) {
	//load new stats box

	player_split_load_stats();
}

function playerswitchSplit(split) {
	//load new stats box
	player_split_load_stats();
}

function player_split_load_stats() {
	var js_season = $("#season").val();
	var js_statType = $("#type").val();
	var js_split = $("#split").val();
	if (js_split == '--') { return }	
	var team_str = "ajax/";
	$("#player_stats_box").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(team_str, {season: js_season, statType:js_statType, split:js_split}, function(data){
		$("#player_stats_box").html(data);
	});
}

///////////////////////////////////////////// Trim content
function trimContent (trimSource, trimToLength){
	trimSource = trimSource.replace(/<\/?[^>]+(>|$)/g, "");	
	if (trimSource.length > trimToLength) {
		trimSource = trimSource.substring(0, trimToLength);
		trimSource = trimSource.replace(/\w+$/, '');
		trimSource += '...';
	}
	return trimSource;	
}

////////////////////////////////////////////// Convert UNIX to human time
function leadingZero(nr){
	if (nr < 10) nr = "0" + nr;
	return nr;
}				

function timeToHuman(utcTime) {
	var itemPubDate = new Date(utcTime * 1000);
	t_date = itemPubDate.getDate();	
	t_mon_name = new Array ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');		
	t_mon = t_mon_name[itemPubDate.getMonth()];
	t_year = itemPubDate.getFullYear();
	t_hour = itemPubDate.getHours();
	t_min = leadingZero(itemPubDate.getMinutes());
	ampm = " a.m.";
	if (t_hour == 0){ t_hour = 12;}
	if (t_hour > 11){ ampm = " p.m";}
	if (t_hour > 12){ t_hour -= 12;}
	
	// Posted Oct 31, 2008 @ 7:19 PM
	humanDate = 'Posted ' + t_mon + ' ' + t_date + ', ' + t_year + ' @ ' + t_hour + ':' + t_min + ampm
	
	return humanDate;
}
///////////////////////////////////////////// Parse Pipes Feed
function renderPipe(pipeSource,target_div,count) {
   var pipeData = new Object();
	$.getJSON(pipeSource,function(data){		
      $.each(data.value.items, function(i,item){
		item.title = (item.title).replace(/\"/g,'\'');
		item.title = '<h3><a href="' + item.link + '" title="' + item.title + '">' + item.title +'</a></h3>';
		var target = $('#'+target_div);
		if (i < count){
			if (i > 0){$('<hr>').attr('class','m5v light').appendTo(target);}
			$('<div>').html(item.title).appendTo(target);
			$('<div>').text(timeToHuman(item['y:published'].utime)).attr('class','p5l timestamp').appendTo(target);	
			if (i < 1){$('<div>').html(trimContent(item.description,150)).attr('class','p5l line').appendTo(target);}
		//	if (i > 0){target.prepend('<hr class="m5v" />');}
		//	target.prepend('<div>' + this.title + '<div class="timestamp">' + timeToHuman(item['y:published'].utime) + '</div><div class="summary storyTeaser">' + trimContent(item.description,250) + '</div></div>');		
		}
      });
	$('#'+target_div+'_loading').hide();

   });
}






/////////////////////////////////////////////////////////////////Team Stats Jumpboxes
function teamStatsSwitchSeason(season) {
	load_team_stats();
}

function teamStatsSwitchCategoryType(category) {
	//load new stats box
	load_team_stats();
}

function load_team_stats() {
	var js_season = $("#season").val();
	var js_statType = $("#category").val();
	var team_str = "ajax/";
	$("#statsBox").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(team_str, {season: js_season, category:js_statType}, function(data){
		$("#statsBox").html(data);
	});
}







/////////////////////////////////////////////////////////////////Schedule jumpbox scripts
function scheduleSwitchSeason(season) {
	load_schedules();
}

function scheduleSwitchCategoryType(category) {
	//load new stats box
	load_schedules();
}

function load_schedules() {
	var js_season = $("#season").val();
	var js_gameType = $("#gametype").val();
	var team_str = "ajax/";
	$("#schedule_box").html('<div style="text-align:center;margin-top:35px;"><img src="/media/style_img/ajax-loader.gif" alt="Loading..." /><br />Loading data...</div>');
	$.post(team_str, {season: js_season, gameType:js_gameType}, function(data){
		$("#schedule_box").html(data);
	});
}
