$(document).ready(function() {
	/* GLOBAL SCRIPTS */
	$('#search input').focus(function() {
		$(this).val("");
		$(this).css("color", "#000");
	});
	$('#search input').blur(function() {
		$(this).val("Player Search");
		$(this).css("color", "#666");
	});
	$('.stat').mouseover(function() {
		$(this).addClass('highlight');
	}).mouseleave(function() {
		$(this).removeClass('highlight');
	});
	
	$('#problem').click(function() {
		$('#overlay').show();
		return(false);
	});
	
	$('#contact form').submit(function() {
		$('#contact .result').remove();
		if(this.name.value == '') {
			alert('Please enter your name');
			this.name.focus();
		} else if(this.email.value == '') {
			alert('Please enter your email');
			this.email.focus();
		} else if(this.capcha.value != this.actual_capcha.value) {
			alert('Please enter the correct capcha');
			this.capcha.focus();
		} else if(this.problem.value == '') {
			alert('Please enter the problem you are having');
			this.problem.focus();
		} else {
			var dataString = 'name='+ this.name.value + '&email=' + this.email.value + '&url=' + this.url.value + '&problem=' + this.problem.value;  
			$.ajax({
				type: 'POST',
				url: '/contact.php',
				data: dataString,
				success: function(data) {
					$('#contact form').before('<p class="result">' + data + '</p>');
					if(data == 'Form submitted succesfully!') {
						$('#contact form input[type="text"]').each(function() {
							if(this.name != 'url') {
								this.value = '';
							}
						});
						$('#contact form textarea').attr('value', '');
					}
				}
			});
		}
		return(false);
	});
	
	/* SORTING */
	if($("#goalie-stats").size() > 0) {
		$("#goalieStats").tablesorter({
			sortList: [[7,1],[3,0]],
			headers: {
				0: { sorter: false },
				1: { sorter: false },
				2: { sorter: false },
				4: { sorter: 'digit' },
				6: { sorter: 'digit' },
				7: { sorter: 'digit' },
				12: { sorter: 'digit' }
			}
		});
		$('#goalieStats tr>td:nth-child(8)').addClass('selected');
		$("#goalieStats").bind("sortEnd", function() {
			$('#goalieStats td:first-child').each(function(i) {
				$(this).html(i + 1);
			});
		});

		$('#goalieStats th.header').click(function(){
			var col = $(this).prevAll().length;
			$('#goalieStats tr>td').removeClass('selected');
			$('#goalieStats tr>td:nth-child(' + (col + 1) + ')').addClass('selected');
			var sorting = "";
			switch(col) {
					case 3:
					sorting = [[3,1],[7,1]];
				break;
					case 4:
					sorting = [[4,1],[7,1]];
				break;
					case 5:
					sorting = [[5,0],[7,1]];
				break;
				case 6:
					sorting = [[6,1],[7,1]];
					break;
				case 7:
					sorting = [[7,1],[3,0]];
					break;
				case 8:
					sorting = [[8,1],[3,0]];
					break;
				case 9:
					sorting = [[9,1],[3,0]];
					break;
				case 10:
					sorting = [[10,1],[3,1]];
					break;
				case 11:
					sorting = [[11,0],[3,1]];
					break;
				case 12:
					sorting = [[12,0],[3,1]];
					break;
			}
			if(sorting != "") {
				$("#goalieStats").trigger("sorton", [sorting]);
			}
		});
	} else if($("#player-stats").size() > 0) {
		$("#playerStats").tablesorter({
			sortList: [[6,1],[3,0],[4,1]],
			headers: {
			  0: { sorter: false },
			  1: { sorter: false },
			  2: { sorter: false },
			  3: { sorter: 'digit' },
			  4: { sorter: 'digit' },
			  5: { sorter: 'digit' },
			  6: { sorter: 'digit' },
			  7: { sorter: 'digit' },
			  8: { sorter: 'digit' },
			  9: { sorter: 'digit' },
			  10: { sorter: 'digit' },
			  11: { sorter: 'digit' }
			}
		  });
		  $('#playerStats tr>td:nth-child(7)').addClass('selected');
		  $("#playerStats").bind("sortEnd", function() {
			$('#playerStats td:first-child').each(function(i) {
			  $(this).html(i + 1);
			});
		  });

		  $('#playerStats tbody tr:gt('+ ($("#numToDisplay").text() - 1) + ')').css("display", "none");
		  $('#pager ul li').eq(1).addClass("selected");
		  $('#pager ul li').eq(1).removeClass("link");

		  $('#pager li:gt(0)').click(function() {
			if($(this).attr("class") == "link") {
			  $('#playerStats tbody tr').css("display", "table-row");
			  var page = $(this).html();
			  if(page != "All") {
				var lowerEnd = (page - 1) * $("#numToDisplay").text();
				var upperEnd = (page * $("#numToDisplay").text()) - 1;
				$('#playerStats tbody tr:lt(' + lowerEnd + ')').css("display", "none");
				$('#playerStats tbody tr:gt(' + upperEnd + ')').css("display", "none");
				$('#pager ul li:gt(0)').removeClass("selected");
				$('#pager ul li:gt(0)').addClass("link");
				$('#pager ul li').eq(page).addClass("selected");
				$('#pager ul li').eq(page).removeClass("link");
			  } else {
				$('#playerStats tbody tr').css("display", "table-row");
				$('#pager ul li:gt(0)').removeClass("selected");
				$('#pager ul li:gt(0)').addClass("link");
				$('#pager ul li:last').addClass("selected");
				$('#pager ul li:last').removeClass("link");
			  }
			}
		  });

		  $('#playerStats th.header').click(function(){
			var col = $(this).prevAll().length;
			$('#playerStats tr>td').removeClass('selected');
			var sorting = "";
			switch(col) {
			  case 3:
				sorting = [[3,1],[6,1],[4,1]];
				break;
			  case 4:
				sorting = [[4,1],[3,0],[6,1]];
				break;
			  case 5:
				sorting = [[5,1],[3,0],[6,1]];
				break;
			  case 6:
				sorting = [[6,1],[3,0],[4,1]];
				break;
			  case 7:
				sorting = [[7,1],[3,0],[6,1]];
				break;
			  case 8:
				sorting = [[8,1],[3,0],[6,1]];
				break;
			  case 9:
				sorting = [[9,1],[3,0],[4,1]];
				break;
			  case 10:
				sorting = [[10,0],[3,1]];
				break;
			  case 11:
				sorting = [[11,1],[6,1],[4,1],[3,1]];
				break;
			}
			if(sorting != "") {
			  $('#playerStats tbody tr').css("display", "table-row");
			  $("#playerStats").trigger("sorton", [sorting]);
			  $('#playerStats tr>td:nth-child(' + (col + 1) + ')').addClass('selected');
			  var page = $('#pager li.selected').html();
			  if(page != "All") {
				var lowerEnd = (page - 1) * $("#numToDisplay").text();
				var upperEnd = ((page) * $("#numToDisplay").text()) - 1;
				$('#playerStats tbody tr:lt(' + lowerEnd + ')').css("display", "none");
				$('#playerStats tbody tr:gt(' + upperEnd + ')').css("display", "none");
			  }
			}
		});
	} else if($("#standings-page").size() > 0) {
		$("#teamStats").tablesorter({
			sortList: [[6,1],[3,1],[8,0],[9,1]],
			headers: {
			  0: { sorter: false },
			  1: { sorter: false },
			  5: { sorter: 'digit' },
			  15: { sorter: false }
			}
		  });
		  $('#teamStats tr>td:nth-child(7)').addClass('selected');
		  $("#teamStats").bind("sortEnd",function() {
			$('#teamStats td:first-child').each(function(i) {
			  $(this).html(i + 1);
			});
		  });

		  $('#teamStats th.header').click(function(){
			var col = $(this).prevAll().length;
			if(col != 2) {
			  var sorting = "";
			}
			switch(col) {
			  case 3:
				sorting = [[3,1],[2,0]];
				break;
			  case 4:
				sorting = [[4,0],[2,1]];
				break;
			  case 5:
				sorting = [[5,1],[2,0]];
				break;
			  case 6:
				sorting = [[6,1],[3,1],[8,0],[10,1]];
				break;
			  case 7:
				sorting = [[7,0],[2,1]];
				break;
			  case 8:
				sorting = [[8,1],[2,0]];
				break;
			  case 9:
				sorting = [[9,0],[2,1]];
				break;
			  case 10:
				sorting = [[10,1],[2,1]];
				break;
			  case 11:
				sorting = [[11,1],[2,0]];
				break;
			  case 12:
				sorting = [[12,0],[2,1]];
				break;
			  case 13:
				sorting = [[13,1],[2,1]];
				break;
			  case 14:
				sorting = [[14,1],[2,1]];
				break;
			}
			if(sorting != "") {
			  $("#teamStats").trigger("sorton",[sorting]);
			  $('#teamStats tr>td').removeClass('selected');
			  $('#teamStats tr>td:nth-child(' + (col + 1) + ')').addClass('selected');
			}
		  });
	} else if($("#team-page").size() > 0) {
		setTeamPageBinds();
	} else if(($("#player-page").size() > 0) || ($("#goalie-page").size() > 0)) {
		$("#view-selector span").click(function() {
			if($(this).attr("class") == "link") {
			  if($(this).attr("id") == "season") {
				$("#seasonStats").css("display", "block");
				$("#careerStats").css("display", "none");
				$("#season").addClass("selected");
				$("#season").removeClass("link");
				$("#career").addClass("link");
				$("#career").removeClass("selected");
				$("#seasonSelector").css("display", "block");
			  } else if($(this).attr("id") == "career") {
				$("#careerStats").css("display", "block");
				$("#seasonStats").css("display", "none");
				$("#career").addClass("selected");
				$("#career").removeClass("link");
				$("#season").addClass("link");
				$("#season").removeClass("selected");
				$("#seasonSelector").css("display", "none");
			  }
			}
		});
	}
});

function setTeamPageBinds() {
  $("#playerStats").tablesorter({
    sortList: [[5,1],[2,0],[3,1]],
    headers: {
      0: { sorter: false },
      1: { sorter: false },
      2: { sorter: 'digit' },
      3: { sorter: 'digit' },
      4: { sorter: 'digit' },
      5: { sorter: 'digit' },
      6: { sorter: 'digit' },
      7: { sorter: 'digit' },
      8: { sorter: 'digit' },
      9: { sorter: 'digit' },
      10: { sorter: 'digit' }
    }
  });
  $('#playerStats tr>td:nth-child(6)').addClass('selected');
  $("#playerStats").bind("sortEnd", function() {
    $('#playerStats td:first-child').each(function(i) {
	  $(this).html(i + 1);
    });
  });

  $('#playerStats th.header').click(function(){
	var col = $(this).prevAll().length;
    $('#playerStats tr>td').removeClass('selected');
    var sorting = "";
    switch(col) {
      case 2:
        sorting = [[2,1],[5,1],[3,1]];
        break;
      case 3:
        sorting = [[3,1],[2,0],[5,1]];
        break;
      case 4:
        sorting = [[4,1],[2,0],[5,1]];
        break;
      case 5:
        sorting = [[5,1],[2,0],[3,1]];
        break;
      case 6:
        sorting = [[6,1],[2,0],[5,1]];
        break;
      case 7:
        sorting = [[7,1],[2,0],[5,1]];
        break;
      case 8:
        sorting = [[8,1],[2,0],[3,1]];
        break;
      case 9:
        sorting = [[9,0],[2,1]];
        break;
      case 10:
        sorting = [[10,1],[5,1],[3,1],[2,1]];
        break;
    }
    if(sorting != "") {
      $('#playerStats tbody tr').css("display", "table-row");
      $("#playerStats").trigger("sorton", [sorting]);
      $('#playerStats tr>td:nth-child(' + (col + 1) + ')').addClass('selected');
    }
  });
  $("#goalieStats").tablesorter({
    sortList: [[6,1],[2,0]],
    headers: {
      0: { sorter: false },
      1: { sorter: false },
      3: { sorter: 'digit' },
      5: { sorter: 'digit' },
      6: { sorter: 'digit' },
      11: { sorter: 'digit' }
    }
  });
  $('#goalieStats tr>td:nth-child(7)').addClass('selected');
  $("#goalieStats").bind("sortEnd", function() {
    $('#goalieStats td:first-child').each(function(i) {
	  $(this).html(i + 1);
    });
  });

  $('#goalieStats th.header').click(function(){
	var col = $(this).prevAll().length;
    $('#goalieStats tr>td').removeClass('selected');
    $('#goalieStats tr>td:nth-child(' + (col + 1) + ')').addClass('selected');
    var sorting = "";
    switch(col) {
      case 2:
        sorting = [[2,1],[6,1]];
        break;
      case 3:
        sorting = [[3,1],[6,1]];
        break;
      case 4:
        sorting = [[4,0],[6,1]];
        break;
      case 5:
        sorting = [[5,1],[6,1]];
        break;
      case 6:
        sorting = [[6,1],[2,0]];
        break;
      case 7:
        sorting = [[7,1],[2,0]];
        break;
      case 8:
        sorting = [[8,1],[2,0]];
        break;
      case 9:
        sorting = [[9,1],[2,1]];
        break;
      case 10:
        sorting = [[10,0],[2,1]];
        break;
      case 11:
        sorting = [[11,0],[2,1]];
        break;
    }
    if(sorting != "") {
      $("#goalieStats").trigger("sorton", [sorting]);
    }
  });
}

function closeOverlay() {
	$('#overlay').hide();
	$('#contact .result').remove();
}
