function FilterByFacultyName(select)
{
	$(":input[name='faculty-tag-select']").val("none");
	var facultyName = $(select).val();
	if (facultyName === "none" || facultyName === "")
	{
		$("table.faculty tr").show();
		$(select).val("none");
	}
	else
	{
		$("table.faculty tr").hide().find("a[name='" + facultyName + "']").parents("tr:first").show();
	}
	facultyName = null;
}

function FilterByFacultyTag(select)
{
	$(":input[name='faculty-select']").val("none");
	var tag = $(select).val();
	if (tag === "none" || tag === "")
	{
		$("table.faculty tr").show();
		$(select).val("none");
	}
	else
	{
		$("table.faculty tr").hide();
		$("ul.facultyMemberTags:hidden").children("li[title='" + tag + "']").each(function() {
			$(this).parents("tr:first").show();
		});
	}
}

function ClearFacultyFilter()
{
	$(":input[name='faculty-select'], :input[name='faculty-tag-select']").val("none");
	$("table.faculty tr").show()
	return false;
}

$(document).ready(function() {
	
	// initiate slideshow if id exists
	var $slideshow = $("#slideshow");
	if ($slideshow.length)
	{
		$slideshow.cycle({ 
		    fx: 'fade', 
	    	pause: 1,
	    	random: 1,
			speed: 800,
		    timeout: 4000
		});
	}
	$slideshow = null;
	
	// initiate newsletter form submission if id exists
	var $newsletter = $("#newsletterForm");
	if ($newsletter.length)
	{
		$newsletter.find("input[name='Email']").bind("focus", function(event) {
			var $this = $(this);
			if ($this.val() === $this.attr("title"))
			{
				$this.val("");
			}
			$this = null;
		}).bind("blur", function(event) {
			var $this = $(this);
			if ($this.val() === "")
			{
				$this.val($this.attr("title"));
			}
			$this = null;
		});
		
		$newsletter.bind("submit", NewsletterSignup);
	}
	$newsletter = null;
	
});

function NewsletterSignup(event)
{
	var $this = $(this);
	$this.hide();
	$("#newsletterErrors").hide();
	$("#newsletterSpinner").show();
	
	$.ajax({
		url: "ajax.php",
		type: "get",
		data: "Action=NewsletterSignup&Email="+$this.find("input[name='Email']").val(),
		dataType: "json",
		success: function(data, textStatus) {
			if (data !== null)
			{
				if (data.Success === true)
				{
					// show thank you
					$("#newsletterForm").hide().remove();
					$("#newsletterThankYou").show();
				}
				else if (data.ErrorMessages.length > 0)
				{
					// show errors
					var html = "";
					html += "<div class='error-list-wrapper'><ul>";
					
					var i=0;
					for (i; i<data.ErrorMessages.length; i++)
					{
						html += "<li>";
						html += data.ErrorMessages[i];
						html += "</li>";
					}
					
					html += "</ul></div>";
					$("#newsletterErrors").html(html).add($("#newsletterForm")).show();
					
					i = null; html = null;
				}
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert("We're sorry. There has been an error. Please try your request again later.");
		},
		complete: function() {
			$("#newsletterSpinner").hide();
		}
	});
	
	// prevent default form submit
	return false;
}