$(document).ready(function(){

	$("div.checkboxHelpers a.checkAll").click(
		function ()
		{
			var emailContainer = getParentWithClass (this,"emailListContainer");
			$(emailContainer).find(":checkbox").not(".Cancelled input").attr("checked",true);
			return false;
		}
	);

	$("div.checkboxHelpers a.uncheckAll").click(
		function ()
		{
			var emailContainer = getParentWithClass (this,"emailListContainer");
			$(emailContainer).find(":checkbox").attr("checked",false);
			return false;
		}
	);
	
	//	user clicks the button to 'Email Selected' (players or indys or teams)
	$("a.emailSelected").click(
		function ()
		{
			var emailContainer = getParentWithClass (this,"emailListContainer");
			var type = 'Team';
			if ($(emailContainer).hasClass("indy"))
			{
				type = 'Indy';
			}
			else if ($(emailContainer).hasClass("player"))
			{
				type = 'Player';
			}
			var ids = new Array();
			$(emailContainer).find("input:checkbox").each(
				function ()
				{
					if ($(this).attr("checked"))
					{
						ids.push (extractID ($(this).attr("id")));
					}
				}
			);
			submitEmailSelector (type,ids);
			return false;
		}
	);
	
	//	send the info to the email-sending interface
	function submitEmailSelector (type,ids)
	{
		if (ids.length == 0)
		{
			alert ("Please select recipients for your email.");
			return;
		}
		
		$("#emailSelectorIDs").attr("value",ids.join(","));
		$("#emailSelectorType").attr("value",type);
		$("#emailSelectorForm").submit ();
	}
	
	//	get the first parent (heierarchy-wise) of the current element that has the given class
	function getParentWithClass (element,classToFind)
	{
		var parent = $(element).parent().get(0);
		if (!parent)
		{
			return null;
		}
		if ($(parent).hasClass (classToFind))
		{
			return parent;
		}
		return getParentWithClass (parent,classToFind);
	}
	
});
