
// construct main nav
function doMainNav() {
	// page nav options array
	var navOptions = new Array();
		navOptions[0] = 	{ name:"gallery", 		id:"btnGallery", 	url:"/gallery.php" };
		navOptions[1] = 	{ name:"directory", 	id:"btnDirectory", 	url:"/directory.php" };
		navOptions[2] = 	{ name:"retailers", 	id:"btnRetailers", 	url:"/retailers.php" };
		navOptions[3] = 	{ name:"experience", 	id:"btnExperience", url:"/experience.php" };
		navOptions[4] = 	{ name:"events", 		id:"btnEvents", 	url:"/events.php" };
		navOptions[5] = 	{ name:"community", 	id:"btnCommunity", 	url:"/community.php" };
		
	var subNavOptions = new Array();
		subNavOptions[0] = 	{ name:"campaign", 		id:"btnCampaign", 	url:"/campaign.php" };
		subNavOptions[1] = 	{ name:"media", 		id:"btnMedia", 		url:"/media.php" };
		subNavOptions[2] = 	{ name:"employment", 	id:"btnEmployment", url:"/employment.php" };
		subNavOptions[3] = 	{ name:"contact", 		id:"btnContact", 	url:"/contact.php" };
		subNavOptions[4] = 	{ name:"privacy", 		id:"btnPrivacy", 	url:"/privacy.php" };
	
	var navOverPos = "0 -11px";
	var navFOverPos = "0 -10px";
	
	// get current page vars
	var sPath = window.location.pathname;
	var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
	var bClass = $("body").attr("class");

	//set current page nav state
	var cPage = "";
	
	switch(bClass) {
		case "gallery":
			$("#"+navOptions[0]['id']).css({backgroundPosition: navOverPos});
			doGallery();
			cPage = bClass;
		break;
		case "directory":
			$("#"+navOptions[1]['id']).css({backgroundPosition: navOverPos});
			doDirectory();
			cPage = bClass;
		break;
		case "retailers":
			$("#"+navOptions[2]['id']).css({backgroundPosition: navOverPos});
			doRetailers();
			cPage = bClass;
		break;
		case "experience":
			$("#"+navOptions[3]['id']).css({backgroundPosition: navOverPos});
			doExperience();
			cPage = bClass;
		break;
		case "events":
			$("#"+navOptions[4]['id']).css({backgroundPosition: navOverPos});
			//doExperience();
			cPage = bClass;
		break;
		case "community":
			$("#"+navOptions[5]['id']).css({backgroundPosition: navOverPos});
			//doCampaign();
			cPage = bClass;
		break;
		
		case "campaign":
			$("#"+subNavOptions[0]['id']).css({backgroundPosition: navFOverPos});
			doCampaign();
			cPage = bClass;
		break;
		case "media":
			$("#"+subNavOptions[1]['id']).css({backgroundPosition: navFOverPos});
			doMedia();
			cPage = bClass;
		break;
		case "employment":
			$("#"+subNavOptions[2]['id']).css({backgroundPosition: navFOverPos});
			doEmployment();
			cPage = bClass;
		break;
		case "contact":
			$("#"+subNavOptions[3]['id']).css({backgroundPosition: navFOverPos});
			doContact();
			cPage = bClass;
		break;
		case "privacy":
			$("#"+subNavOptions[4]['id']).css({backgroundPosition: navFOverPos});
			doPrivacy();
			cPage = bClass;
		break;
	}
	
	
	// loop through navOptions assign event handlers/links
	$.each(navOptions, function(index, value) {
		if (cPage != navOptions[index]['name'] ) {
			
			$("#"+navOptions[index]['id']).live("click", function() {
				document.location.href = navOptions[index]['url'];
			});
			
			$("#"+navOptions[index]['id']).live("mouseover", function() {
				$(this).css("backgroundPosition", "0 0").stop().animate(
					{backgroundPosition: navOverPos}, 
					{duration: 125}
				);
			});
			
			$("#"+navOptions[index]['id']).live("mouseout", function() {
				$(this).css("backgroundPosition", navOverPos).stop().animate(
					{backgroundPosition: "0 0"}, 
					{duration: 125}
				);
			});
			
		} else {
			$("#"+navOptions[index]['id']).css("cursor", "default");
		}
	});
	
	
	// loop through navOptions assign event handlers/links
	$.each(subNavOptions, function(index, value) {
		if (cPage != subNavOptions[index]['name'] ) {
			
			$("#"+subNavOptions[index]['id']).live("click", function() {
				document.location.href = subNavOptions[index]['url'];
			});
			
			$("#"+subNavOptions[index]['id']).live("mouseover", function() {
				$(this).css("backgroundPosition", "0 0").stop().animate(
					{backgroundPosition: navFOverPos}, 
					{duration: 125}
				);
			});
			
			$("#"+subNavOptions[index]['id']).live("mouseout", function() {
				$(this).css("backgroundPosition", navFOverPos).stop().animate(
					{backgroundPosition: "0 0"}, 
					{duration: 125}
				);
			});
			
		} else {
			$("#"+subNavOptions[index]['id']).css("cursor", "default");
		}
	});
	
	
	/* NEWSLETTER FORM */
	$("#nl-cancel").live("click", function(evt) {
		evt.preventDefault();
		$("#frmEnews")[0].reset();
		$("#frmEnews label").removeClass("required");
		$.unblockUI();
		return false;
	});
	
	$("#nl-close").live("click", function(evt) {
		evt.preventDefault();
		$("#frmEnews")[0].reset();
		$("#frmEnews label").removeClass("required");
		$.unblockUI();
		$("#formBody").show();
		$("#formSuccess").hide();
		return false;
	});

	
	$("#nl-subscribe").live("click", function(evt) {
		evt.preventDefault();
		
		// validate firstname
		if (!$("#firstname").val()) {
			//console.log("First Name is a required field.");
			$("label[for=firstname]").addClass("required");
			return false;
		} else {
			$("label[for=firstname]").removeClass("required");
		}
		
		// validate lastname
		if (!$("#lastname").val()) {
			//console.log("Last Name is a required field.");
			$("label[for=lastname]").addClass("required");
			return false;
		} else {
			$("label[for=lastname]").removeClass("required");
		}
		
		// validate email address
		if (!$("#email").val()) {
			//console.log("E-mail is a required field.");
			$("label[for=email]").addClass("required");
			return false;
		} else if (!isValidEmail($("#email").val())) {
			//console.log("E-mail is not a valid email address.");
			$("label[for=email]").addClass("required");
			return false;
		} else {
			$("label[for=email]").removeClass("required");
		}
		
		// validate postal code
		if (!$("#postalcode").val() || !validateCPC($("#postalcode").val())) {
			//console.log("Postal Code is a required field.");
			$("label[for=postalcode]").addClass("required");
			return false;
		} else {
			$("label[for=postalcode]").removeClass("required");
		}
		
		var kidsclub = "no";
		var general = "no";
		
		if ($("#nl-kidsclub").is(":checked")) {
			kidsclub = "yes";
		}
		
		if ($("#nl-general").is(":checked")) {
			general = "yes";
		}
		
		dataString = "firstname="+$("#firstname").val()+"&lastname="+$("#lastname").val()+"&email="+$("#email").val()+"&postalcode="+$("#postalcode").val()+"&gender="+$("input[name=gender]:checked").val()+"&nl_kidsclub="+kidsclub+"&nl_general="+general;
		
		$.ajax({
			url: "/lib/newsletter-submit.php", 
			type: "POST", 
			data: dataString, 
			dataType: "xml", 
			success: function(xml) {
				//console.info(xml);
				//console.info("REQUEST SUCCESS!");
				
				var isOk = $(xml).find("isOK").text();
				var customerID = $(xml).find("customerID").text();
				var wrongClientKey = $(xml).find("wrongClientKey").text();
				var emptyFirstName = $(xml).find("emptyFirstName").text();
				var emptyLastName = $(xml).find("emptyLastName").text();
				var wrongEmailFormat = $(xml).find("wrongEmailFormat").text();
				var wrongPostcodeFormat = $(xml).find("wrongPostcodeFormat").text();
				var wrongGenderFormat = $(xml).find("wrongGenderFormat").text();
				var wrongKidsClub = $(xml).find("wrongKidsClub").text();
				var wrongGeneralEvent = $(xml).find("wrongGeneralEvent").text();
				
				if (isOk == "true") {
					//console.info("IT'S ALL GOOD!");
					$("#formBody").slideUp(350, function(evt) {
						$("#formSuccess").slideDown(350);
					});
				} else {
					var errors = "";
					
					// invalid client key
					if (wrongClientKey == "true") {
						errors += "Invalid Client Key.\n";
					}
					// first name is required
					if (emptyFirstName == "true") {
						errors += "First Name is a required value.\n";
					}
					// last name is required
					if (emptyLastName == "true") {
						errors += "Last Name is a required value.\n";
					}
					// invalid email address
					if (wrongEmailFormat == "true") {
						errors += "Invalid email address.\n";
					}
					// invalid postal code
					if (wrongPostcodeFormat == "true") {
						errors += "Invalid Postal Code.\n";
					}
					// invalid gender value
					if (wrongGenderFormat == "true") {
						errors += "Invalid Gender value.\n";
					}
					// invalid kidsclub value
					if (wrongKidsClub == "true") {
						errors += "Invalid KidsClub value.\n";
					}
					// invalid generalevent value
					if (wrongGeneralEvent == "true") {
						errors += "Invalid GeneralEvent value.\n";
					}
					
					// return errors to console
					//console.error("OH SNAP! NOT GOOD!\nERRORS:\n"+errors);
					
										
					
				}
				
			}
		});
		

	});
	
	
	
	/* SOCIAL ICONS */
	$("#btnEnews").live("click", function(evt) {
		$.blockUI({
			css: {
				padding: 0, 
				margin: 0, 
				border: "none",
				backgroundColor: "transparent"
			},
			message: $("#enewsForm"), 
			fadeIn: 250, 
			fadeOut: 250
		});
	});
	
	
	/**/
	$("#btnTwitter").live("click", function(evt) {
		var url = $(this).find("span a").attr("href");
		var name = "social";
		var features = "status=yes,scrollbars=yes,resizable=yes,location=yes,toolbar=yes,width=1024,height=768";
		window.open(url,name,features);
	});
	
	$("#btnFacebook").live("click", function(evt) {
		var url = $(this).find("span a").attr("href");
		var name = "social";
		var features = "status=yes,scrollbars=yes,resizable=yes,location=yes,toolbar=yes,width=1024,height=768";
		window.open(url,name,features);
	});
	
	$("#btnBlogger").live("click", function(evt) {
		var url = $(this).find("span a").attr("href");
		var name = "social";
		var features = "status=yes,scrollbars=yes,resizable=yes,location=yes,toolbar=yes,width=1024,height=768";
		window.open(url,name,features);
	});
	
	
}


// validate canadian postal code
function validateCPC(pc) {
	var regEx = /^\s*[a-ceghj-npr-tvxy]\d[a-ceghj-npr-tv-z](\s)?\d[a-ceghj-npr-tv-z]\d\s*$/i; //[a-zA-Z][0-9][a-zA-Z](-| |)[0-9][a-zA-Z][0-9]/;
	if (regEx.test(pc)) {
		return true;
	} else {
		return false;
	}
}


