$(document).ready(function() {
	// set current page main nav state
	setActiveLink();
	
	// main nav roll overs
	$("#mainNav li").hover(
		function(){
			$(this).css("backgroundPosition", "0px -25px");
		}, 
		function() {
			$(this).css("backgroundPosition", "0px 0px");
			setActiveLink();
		}
	);
	
	var baseUrl = "http://www.abnrml.com";
	
	// Random splotch generator
	var splotches = new Array();
		splotches[0] = "/media/images/abnrml_splotch_0.jpg";
		splotches[1] = "/media/images/abnrml_splotch_1.jpg";
		splotches[2] = "/media/images/abnrml_splotch_2.jpg";
		splotches[3] = "/media/images/abnrml_splotch_3.jpg";
		splotches[4] = "/media/images/abnrml_splotch_4.jpg";
		splotches[5] = "/media/images/abnrml_splotch_5.jpg";
		splotches[6] = "/media/images/abnrml_splotch_6.jpg";
		splotches[7] = "/media/images/abnrml_splotch_7.jpg";
		splotches[8] = "/media/images/abnrml_splotch_8.jpg";
		splotches[9] = "/media/images/abnrml_splotch_9.jpg";
		splotches[10] = "/media/images/abnrml_splotch_10.jpg";
		splotches[11] = "/media/images/abnrml_splotch_11.jpg";
		splotches[12] = "/media/images/abnrml_splotch_12.jpg";
		splotches[13] = "/media/images/abnrml_splotch_13.jpg";
		splotches[14] = "/media/images/abnrml_splotch_14.jpg";
		splotches[15] = "/media/images/abnrml_splotch_15.jpg";
		
	var randomSplotch = (Math.floor(Math.random()*16));
	var url = "url("+baseUrl+splotches[randomSplotch]+")"
	$(".splotch").css("background-image", url);
	
	
	
	function setActiveLink() {
		var currentPage = window.location.pathname;
		var hostName = window.location.hostname;
		var storeDomain = "abnrml.bigcartel.com";
		
		switch(currentPage) {
			case "/index.asp":
				$("#mainNav .link-home").css("backgroundPosition", "0px -25px");
			break;
			case "/services.asp":
				$("#mainNav .link-services").css("backgroundPosition", "0px -25px");
			break;
			case "/examples.asp":
				$("#mainNav .link-examples").css("backgroundPosition", "0px -25px");
			break;
			case "/about.asp":
				$("#mainNav .link-about").css("backgroundPosition", "0px -25px");
			break;
			case "/contact.asp":
				$("#mainNav .link-contact").css("backgroundPosition", "0px -25px");
			break;
			case "/freshness.asp":
				$("#mainNav .link-freshness").css("backgroundPosition", "0px -25px");
			break;
		}
		
		if (hostName == storeDomain) {
			$("#mainNav .link-store").css("backgroundPosition", "0px -25px");
		}
		
	}
	
	
	
	/* MAILING LIST */
	// link event handler
	$(".ml-join").live("click", function(evt) {
		doMailingList();
	});
	
	// field, clear default valueon focus if init val
	$("#frmMailingList #name, #frmMailingList #email").live("focus", function(evt) {
		var val = $(this).val();
		var valAlt = $(this).attr("alt");
		if (val == valAlt) { $(this).val(""); }
	});
	// search query field, repopulate init val if left blank
	$("#frmMailingList #name, #frmMailingList #email").live("blur", function(evt) {
		var val = $(this).val();
		var valAlt = $(this).attr("alt");
		if (val == "") { $(this).val(valAlt); }
	});

	// button over/out event handler
	$("#ml-cancel").live("mouseover", function(evt) {
		var oSrc = baseUrl+"/media/images/abnrml_btn_cancel_f2.png";
		$(this).attr("src", oSrc);
	});
	$("#ml-cancel").live("mouseout", function(evt) {
		var oSrc = baseUrl+"/media/images/abnrml_btn_cancel.png";
		$(this).attr("src", oSrc);
	});
	// button over/out event handler
	$("#ml-close").live("mouseover", function(evt) {
		var oSrc = baseUrl+"/media/images/abnrml_btn_close_f2.png";
		$(this).attr("src", oSrc);
	});
	$("#ml-close").live("mouseout", function(evt) {
		var oSrc = baseUrl+"/media/images/abnrml_btn_close.png";
		$(this).attr("src", oSrc);
	});
	// button click event handler
	$("#ml-cancel").live("click", function(evt) {
		evt.preventDefault();

		resetFormField("frmMailingList", "name");
		resetFormField("frmMailingList", "email");
		$.unblockUI();
	});
	$("#ml-close").live("click", function(evt) {
		evt.preventDefault();

		resetFormField("frmMailingList", "name");
		resetFormField("frmMailingList", "email");
		
		$.unblockUI();
		$(".mailing-list-thanks").hide();
		$(".mailing-list-join").show();
	});
	
	
	// button over/out event handler
	$("#ml-submit").live("mouseover", function(evt) {
		var oSrc = baseUrl+"/media/images/abnrml_btn_submit_f2.png";
		$(this).attr("src", oSrc);
	});
	$("#ml-submit").live("mouseout", function(evt) {
		var oSrc = baseUrl+"/media/images/abnrml_btn_submit.png";
		$(this).attr("src", oSrc);
	});
	// button click event handler
	$("#ml-submit").live("click", function(evt) {
		evt.preventDefault();
		
		doMailingListSubmit();
	});
	
	
	// doMailingList
	function doMailingList() {
		$.blockUI({
			message: $("#mailing-list"), 
			focusInput: false, 
			fadeIn: 250, 
			fadeOut: 250,
			css: {
				border: "none", 
				backgroundColor: "transparent", 
				cursor: "default"
			}, 
			overlayCSS: {
				backgroundColor: "#000000", 
				opacity: "0.92"
			}
		});
	}
	
	// doMailingListSubmit
	function doMailingListSubmit() {
		
		var name = $("#frmMailingList #name").val();
		var email = $("#frmMailingList #email").val();
		var form = $("#frmMailingList #MM_submit").val();
		
		if (!name || name == $("#frmMailingList #name").attr("alt")) {
			$("#frmMailingList #name").parent().addClass("required");
			return false;
		} else {
			$("#frmMailingList #name").parent().removeClass("required");
		}
		
		if (!email || !isValidEmail(email) || email == $("#frmMailingList #email").attr("alt")) {
			$("#frmMailingList #email").parent().addClass("required");
			return false;
		} else {
			$("#frmMailingList #email").parent().removeClass("required");
		}
		
		
		var dataString = "MM_submit="+form+"&name="+name+"&email="+email;
		
		$.ajax({
			type: "POST", 
			url: baseUrl+"/lib/mailing-list-join.asp", 
			data: dataString, 
			dataType: "xml", 
			error: function(xhr, status, err) {
				//console.log(status+"\n"+err);
				//console.log("xhr.status: "+xhr.status);
			}, 
			complete: function(xhr, status) {
				//console.log("Complete Status: "+status);
				//console.log("xhr.status: "+xhr.status);
			}, 
			success: function(xml, status) {
				//console.log(xml);
				//console.log(status);
				
				// hide form, show thanks
				$(".mailing-list-join").fadeOut(250, function() {
					$(".mailing-list-thanks").fadeIn(125);
				});
			}, 
			onUnblock: function() {
				$("#ml-submit").trigger("mouseout");
				$("#ml-cancel").trigger("mouseout");
				resetFormField("frmMailingList", "name");
				resetFormField("frmMailingList", "email");
			}
		});
	}
	
	// resetFormField
	function resetFormField(form, field) {
		$("#"+form+" #"+field).val($("#"+form+" #"+field).attr("alt"));
		$("#"+form+" #"+field).parent().removeClass("required");
	}
	
	// check for valid email address
	function isValidEmail(str) {
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	}
	
	//unblock UI on escape pressed...
	$(window).keydown(
		function(e) {
			var key = e.keyCode || e.which;
			if (key == 27) { //escape key ascii code
				$.unblockUI();
			}
		}
	);
	
	
});