$(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
		if (($(this).attr('href').substring(0,30) == "http://www.speechnutrients.com") || ($(this).attr('href').substring(0,26) == "http://speechnutrients.com")) {
			$(this).click(function () {
				pageTracker._trackPageview('/clickto/speechnutrients');
			});
		} else {
			$(this).click(function () {
				pageTracker._trackPageview('/clickto/'+ $(this).attr('href'));
			});
		}
			
	});
	

	//Funding inquiry JS
	$('#fundingInquiry').submit(function() {
		if ($("#fundingInquiry").hasClass("subscribeEmailInvalid")) {
			alert("The email you entered is invalid, please double-check and enter it again.");
			return false;
		}
		
		if ($("#fundingInquiryEmail").val() == "") {
			alert("You tried submitting this form without entering your email. Please fix this before continuing.");
			return false;
		}
		
        params = {
            id     		: $("#fundingInquiryEmail").attr('id'),
            email   	: $("#fundingInquiryEmail").val(), 
			requestType	: "AJAX"
        };

		$("#fundingInquiryEmail").parent().addClass("subscribeEmailVerifyingParent")
			.removeClass("subscribeEmailValidParent")
			.removeClass("subscribeEmailInvalidParent");
		
		$.post("/funding-inquiry", params, function(result) {
        
			switch (result) {
				case "1": 	//success!
					setStatus("#fundingInquiryEmail", "Your inquiry was successfully sent. We'll be in contact with you shortly.");
					$("#fundingInquiryEmail").parent().addClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailVerifyingParent");
					break;
				
				case "2": 	//invalid email address
					setStatus("#fundingInquiryEmail", "The email you entered is invalid, please double-check and enter it again.");
					$("#fundingInquiryEmail").parent().addClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailVerifyingParent");
					break;	
					
							
				case "3":	//blank email address
					setStatus("#fundingInquiryEmail", "You cannot submit a blank form. Please enter your email address in the box above.");
					$("#fundingInquiryEmail").parent().addClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailVerifyingParent");				
					break;
					
					
				default:	//failure
					setStatus("#fundingInquiryEmail", "There was an error sending your inquiry. Please try again or contact the webmaster if you're still having trouble");
					$("#fundingInquiryEmail").parent().addClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailVerifyingParent");
			}

		});

		return false;
	});	
	
	//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");
		
		$.post("/process-email", params, function(result) {
        
			switch (result) {
				case "1": 	//success!
					setStatus("#listSubscribeEmail", "Your email was added successfully to our mailing list. Thanks for signing up.");
					$("#listSubscribeEmail").parent().addClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailVerifyingParent");
					break;
					
				
				case "2":  	//email already exists in our database
					setStatus("#listSubscribeEmail", "Your email already exists in our mailing list.");
					$("#listSubscribeEmail").parent().addClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailVerifyingParent");
					break;
					
				
				case "3": 	//invalid email address
					setStatus("#listSubscribeEmail", "The email you entered is invalid, please double-check and enter it again.");
					$("#listSubscribeEmail").parent().addClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailVerifyingParent");
					break;	
					
							
				case "4":	//blank email address
					setStatus("#listSubscribeEmail", "You cannot submit a blank form. Please enter your email address in the box above.");
					$("#listSubscribeEmail").parent().addClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailValidParent")
						.removeClass("subscribeEmailVerifyingParent");				
					break;
					
					
				default:	//failure
					setStatus("#listSubscribeEmail", "There was an error adding your email to our mailing list. Please try again or contact the webmaster if you're still having trouble");
					$("#listSubscribeEmail").parent().addClass("subscribeEmailInvalidParent")
						.removeClass("subscribeEmailValidParent")
						.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).text(setStatus).slideDown("fast");
		});
	}	
}