$(document).ready(function () {

	//
	// header nav menu
	//

	$("a.lft,a.rght").hover(function () {
		$(this).parent().find("a.lft").addClass("lft-hover");
		$(this).parent().find("a.rght").addClass("rght-hover");
	}, function () {
		$(this).parent().find("a.lft").removeClass("lft-hover");
		$(this).parent().find("a.rght").removeClass("rght-hover");
	});

	// dropdown
	$("ul.subMenu").hide();

	function closeMenu(domMenuItem) {
		$(domMenuItem).stop(true, true).slideUp(90);
		$(domMenuItem).parent().find("a.lft").removeClass("lft-down");
		$(domMenuItem).parent().find("a.rght").removeClass("rght-down");
		$("#nav").removeClass("idNavOverride");
		$("#nav ul").removeClass("idNavUlOverride");
	}

	function openMenu(domMenuItem) {
		$(domMenuItem).stop(true, true).slideDown(90);
		$(domMenuItem).parent().find("a.lft").addClass("lft-hover").addClass("lft-down");
		$(domMenuItem).parent().find("a.rght").addClass("rght-hover").addClass("rght-down");
	}

	function closeOrOpenMenusBasedOnNavOpenClass() {
		// We need to close all menus that do not have the navOpen class
		$("ul.subMenu").each(function (index, item) {
			// if the menu does not have the nav open class
			if (($(item).parent().hasClass("navOpen"))) {
				openMenu(item);
			} else {
				closeMenu(item);
			}
		});
	}

	// when the drop down arrow button is clicked
	$("a.rght").click(function () {
		console.log("item clicked");
		$(this).parent().addClass("clickedItem"); // remember which item is clicked
		// if the clicked item has the navOpen class then remove that class
		if ($(".clickedItem").hasClass("navOpen")) {
			$(".navOpen").removeClass("navOpen"); // ( and all others)
		} else {
			$(".navOpen").removeClass("navOpen");
			$(this).parent().addClass("navOpen"); // other wise add the navOpen class to the clicked item (only)
		}
		closeOrOpenMenusBasedOnNavOpenClass();
		$(".clickedItem").removeClass("clickedItem"); // remove clicked item class from previous click
		return false;
	});

	$("a.rght:first").click(function () {
		$("#nav ul").removeClass("idNavUlOverride");
		if (!($("#nav").hasClass("idNavOverride"))) {
			$("#nav").addClass("idNavOverride");
		}
	});

	$("a.rght:last").click(function () {
		$("#nav").removeClass("idNavOverride");
		if (!($("#nav ul").hasClass("idNavUlOverride"))) {
			$("#nav ul").addClass("idNavUlOverride");
		}
	});

	$("ul.subMenu").click(function (event) {
		event.stopPropagation();
	});

	$("html,body").not("ul.subMenu").click(function () {
		$(".navOpen").removeClass("navOpen");
		closeOrOpenMenusBasedOnNavOpenClass();
	});






	//
	// contact and share via email forms
	//
	$("#contact,#shareEmail").hide();
	$(".contactLink").click(function () {
		$("#shareEmail").stop(true, true).slideUp(250);
		$("#contact").removeClass("hidden").stop(true, true).slideToggle(250, function () {
			$("#contact input#name").focus();
		});
		$("#contactForm").show();
		$("#contactFeedback").hide();
		// close nav dropdowns
		$(".navOpen").removeClass("navOpen");
		closeOrOpenMenusBasedOnNavOpenClass();
		return false;
	});


	$("a.email").click(function () {
		$("#contact").stop(true, true).slideUp(250);
		$("#shareEmail").removeClass("hidden").stop(true, true).slideToggle(250, function () {
			$("#shareEmail input#shareName").focus();
		});
		//$("#shareUrl").val(window.location);
		$("#shareForm").show();
		$("#shareFeedback").hide();
		// close nav dropdowns
		$(".navOpen").removeClass("navOpen");
		closeOrOpenMenusBasedOnNavOpenClass();
		return false;
	});

	$("#contact,#shareEmail").click(function (event) {
		event.stopPropagation();
	});

	$("html,body,.btnModalCancel").not("#contact,#shareEmail").click(function () {
		$("#contact,#shareEmail").slideUp(250);
		$(".formError").hide();
	});

	// contact form validation
	$(".formError").hide();
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	var nameOK = false;
	var emailOK = false;
	var messageOK = false;

	$("input,textarea").click(function () {
		$(this).parent().find(".formError").fadeOut(100);
	});

	$("form#contactForm").submit(function () {
		var contactName = $("input#name").val();
		var contactEmail = $("input#email").val();
		var contactMessage = $("textarea#message").val();

		if (contactName != "" && contactName != " ") {
			nameOK = true;
		} else {
			$("#nameError").fadeIn(100);
		}

		if (contactEmail != "" && contactEmail != " ") {
			if (emailReg.test(contactEmail)) {
				emailOK = true;
			} else {
				$("#emailError").fadeIn(100);
			}
		} else {
			$("#emailError").fadeIn(100);
		}

		if (contactMessage != "" && contactMessage != " ") {
			messageOK = true;
		} else {
			$("#messageError").fadeIn(100);
		}

		// send msg
		if (nameOK && emailOK && messageOK) {
			console.log("success");
		}

		return false;
	});


	// share via email form validation
	var shareNameOK = false;
	var shareEmailOK = false;

	$("form#shareForm").submit(function () {
		var shareName = $("input#shareName").val();
		var shareEmail = $("input#shareEmailAddress").val();

		if (shareName != "" && shareName != " ") {
			shareNameOK = true;
		} else {
			$("#shareNameError").fadeIn(100);
		}

		if (shareEmail != "" && shareEmail != " ") {
			if (emailReg.test(shareEmail)) {
				shareEmailOK = true;
			} else {
				$("#shareEmailError").fadeIn(100);
			}
		} else {
			$("#shareEmailError").fadeIn(100);
		}

		return false;

	});

	//
	// pods
	//


	// readmore

	// put the pod into "read more mode" if the characters exceed specified length
	var lengthOfContentForReadmore = 2000;

	$(".podHTML").each(function () {

		// get characters
		var podContents = $(this).html();

		if (podContents.length > lengthOfContentForReadmore) {
			// put pod into readmore mode
			$(this).addClass("readMoreMode");
			// show readmore button
			$(this).parent().find("a.readMore").show().click(function () {
				$(this).parent().find(".podHTML").scrollTop(0);
				$(this).parent().find(".podHTML").toggleClass("readMoreMode");
				if ($(this).parent().find(".podHTML").hasClass("readMoreMode")) {
					$(this).html("Read More...");
					$(this).parent().find("a.readLess").removeClass("readLess").addClass("readMore");
				} else {
					$(this).html("Read Less...");
					$(this).parent().find("a.readMore").removeClass("readMore").addClass("readLess");
				}

				// offset for auto scroll
				var distanceFromTop = $(this).parent().offset();
				$("html,body").stop(true, true).animate({ scrollTop: distanceFromTop.top - 150 }, 500);
			});
		}
	});



});
