$(function() {
	
	//Apply pngFix for IE5.5 + 6
	$(document).pngFix();

	//Add an icon to links in the body
	$('#bodyContent a[href^="http://"]').not('[rel^=notexternal]').each(function () {
			$(this).after(" <a href='"+$(this).attr("href")+"' target='_blank' title='Opens in a new window'><img src='/templates/images/short_arrow_right.gif' alt='Opens in a new window' width='11' height='11' /></a>");
	});
	
	//Make external links open in a new window
	$('a[href^="http://"]').not('[rel^=notexternal]').each(function () {
		$(this).attr({
			target: "_blank", 
			title: "Opens in a new window"
  		})

		//set up outbound tracking in google analytics
		$(this).click(function () {
			pageTracker._trackPageview('/clickto/'+ $(this).attr('href'));
		});
			
	});
	
	//List subscription JS
	$('#listSubscribe').submit(function() {
		if ($("#listSubscribeEmail").hasClass("subscribeEmailInvalid")) {
			alert("The email you entered is invalid, please double-check and enter it again.");
			return false;
		}
		
		if ($("#listSubscribeEmail").val() == "") {
			alert("You tried submitting this form without entering your email. Please fix this before continuing.");
			return false;
		}
		
        params = {
            id      	: $("#listSubscribeEmail").attr('id'),
            email   	: $("#listSubscribeEmail").val(),
			requestType	: "AJAX"
        };

		$("#listSubscribeEmail").parent().addClass("subscribeEmailVerifyingParent")
			.removeClass("subscribeEmailValidParent")
			.removeClass("subscribeEmailInvalidParent");
		
		//Make the AJAX call
		$.post("/process-email", params, function(returnResponse) {
			
			var result = eval('(' + returnResponse + ')');
						
			if (result.code > 0 || typeof(result.code) == "undefined") {
				//there was an error										
				setStatus("#listSubscribeEmail", result.message);
				$("#listSubscribeEmail").parent().addClass("subscribeEmailInvalidParent")
					.removeClass("subscribeEmailValidParent")
					.removeClass("subscribeEmailVerifyingParent");
			} else {
				// success
				setStatus("#listSubscribeEmail", result.message);
				$("#listSubscribeEmail").parent().addClass("subscribeEmailValidParent")
					.removeClass("subscribeEmailInvalidParent")
					.removeClass("subscribeEmailVerifyingParent");				
			}
		});

		return false;
	});
});

var setStatus = function (input, setStatus) {
	if ($(input).parent().parent().find(".status").size() == 0) {
		$(input).parent().after("<p class='status'>"+setStatus+"</p>").next().slideDown("fast");
	} else {
		$(".status").slideUp("fast", function() {
			$(this).html(setStatus).slideDown("fast");
		});
	}	
}