$(document).ready(function(){
	/*$(".drill-down").siblings("ul").hide();
	
	$(".drill-down").toggle(function(){
		$(this).parent().addClass("drilled-down");
		$(this).siblings("ul").slideDown("slow");
	},function(){
		$(this).parent().removeClass("drilled-down");
		$(this).siblings("ul").slideUp("slow");
	});*/

	$("a[rel=external]").attr('target', '_blank');
	
	var pageHref = document.location.href;
	var mainMenuSet = false;
	
	var pageArray = pageHref.split("/");
	var pageName = pageArray[pageArray.length-1];
	var activeMainMenu = pageHref.split("/" + pageName)[0] + "/";

	if(pageName.search(/.php/) >= 0) {
		pageName = pageName.split(".php")[0];
	}
	else {
		pageName = false;
	}
	
	$("#nav-menu ul li a").each(function(i){
		if ((this.href == pageHref || this.href == activeMainMenu)) {
			$(this).parent().addClass("active");
			mainMenuSet = true;
		}
	});
	
	if(!mainMenuSet){
		$("#nav-menu ul li.first").addClass("active");
	}
	
	$("#side-menu ul li a").each(function(i){
		if (this.href == pageHref) {
			$(this).parent().addClass("active");
		}
	});
	
	$("#side-menu #open-grants div").hover( function() {
		$(this).addClass("hover");
	}, function() {
		$(this).removeClass("hover");
	});
	
	//Initialise striping for tables
	$("#content table tr:even").addClass("alt");
	$("#content table tr").mouseover( function() {
		$(this).addClass("hover");
	});
	$("#content table tr").mouseout( function() {
		$(this).removeClass("hover");
	});
	
	$(".alert-panel ul li:even").addClass("alt");
	
	//Javascript Validation
	
	// E-Alerts Form
	
	$("#e-alerts-form").submit( function() {
		var errors = 0;
		
		$("#e-alerts-form .error-message").remove();
		
		if(!validate(document.getElementById("e-alerts-name"))) errors += 1;
		if(!checkValidEmail(document.getElementById("e-alerts-email"))) errors += 1;
	
		if (errors >= 1)  {
			$("#e-alerts-form").prepend("<p class='error-message'>Please fill in all required fields below.</p>");
			return false;
		}
    	return true;
	
	} );	
	
	$("#e-alerts-name").blur( function() {validate(this);} );
	$("#e-alerts-email").blur( function() {checkValidEmail(this);} );
	
	// Enquiry Form
	
	$("#general-enquiry-form").submit( function() {
		var errors = 0;
		
		$("#general-enquiry-form .error-message").remove();
		
		if(!validate(document.getElementById("enquiry_name"))) errors += 1;
		if(!validate(document.getElementById("enquiry_phone"))) errors += 1;
		if(!checkValidEmail(document.getElementById("enquiry_email"))) errors += 1;
		if(!validate(document.getElementById("enquiry_message"))) errors += 1;
	
		if (errors >= 1)  {
			$("#general-enquiry-form").prepend("<p class='error-message'>Please fill in all required fields below.</p>");
			return false;
		}
    	return true;
	
	} );
	
	$("#enquiry_name").blur( function() {validate(this);} );
	$("#enquiry_email").blur( function() {checkValidEmail(this);} );
	$("#enquiry_message").blur( function() {validate(this);} );
	
	// Subscribe Form
	
	/*$("#subscribe-newsletter-form").submit( function() {
		var errors = 0;
		
		$("#subscribe-newsletter-form .error-message").remove();
		
		if(!validate(document.getElementById("subscribe_title"))) errors += 1;
		if(!validate(document.getElementById("subscribe_firstname"))) errors += 1;
		if(!validate(document.getElementById("subscribe_lastname"))) errors += 1;
		if(!checkValidEmail(document.getElementById("subscribe_email"))) errors += 1;
	
		if (errors >= 1)  {
			$("#subscribe-newsletter-form").prepend("<p class='error-message'>Please fill in all required fields below.</p>");
			return false;
		}
    	return true;
	
	} );
	
	$("#subscribe_title").blur( function() {validate(this);} );
	$("#subscribe_firstname").blur( function() {validate(this);} );
	$("#subscribe_lastname").blur( function() {validate(this);} );
	$("#subscribe_email").blur( function() {checkValidEmail(this);} );*/
	
	// Subscribe Form
	
	$("#subscribe_subscription-post").attr("checked", "checked");
	$("#general-subscribe-form input[name=subscribe_subscription]").change(function() {
		$("#general-subscribe-form label").removeClass("error");
		if ($("#general-subscribe-form input:checked").val() == "email") {
			$("label[for=subscribe_address] span").remove();
			$("label[for=subscribe_suburb] span").remove();
			$("label[for=subscribe_postcode] span").remove();
			$("label[for=subscribe_state] span").remove();
			$("label[for=subscribe_country] span").remove();
			$("label[for=subscribe_email] span").remove();
			$("label[for=subscribe_email]").append("<span>*</span>");
			setSubscriptionSubmitHandler();
		} else {
			$("label[for=subscribe_address] span").remove();
			$("label[for=subscribe_address]").append("<span>*</span>");
			$("label[for=subscribe_suburb] span").remove();
			$("label[for=subscribe_suburb]").append("<span>*</span>");
			$("label[for=subscribe_postcode] span").remove();
			$("label[for=subscribe_postcode]").append("<span>*</span>");
			$("label[for=subscribe_state] span").remove();
			$("label[for=subscribe_state]").append("<span>*</span>");
			$("label[for=subscribe_country] span").remove();
			$("label[for=subscribe_country]").append("<span>*</span>");
			$("label[for=subscribe_email] span").remove();
			setSubscriptionSubmitHandler();
		}
	});
	
	//$("#subscribe_email").blur( function() {checkValidEmail(this);} );
	setSubscriptionSubmitHandler();
});

function setSubscriptionSubmitHandler() {
	$("#general-subscribe-form").unbind("submit");
	$("#general-subscribe-form input, #general-subscribe-form select").unbind("blur");
	
	$("#subscribe_state").change(function () {
		$("label[for=subscribe_state-other] span").remove();
		$("label[for=subscribe_state-other]").removeClass("error");
		if ($("#subscribe_state option:selected").val() == "other") {
			$("label[for=subscribe_state-other]").append("<span>*</span>");
			$("#subscribe_state-other").blur( function() {validate(this);} );
		}
		else {
			$("#subscribe_state-other").unbind("blur");
		}
	});
	
	if ($("#general-subscribe-form input:checked").val() == "email") {
		$("#subscribe_title").blur( function() {validate(this);} );
		$("#subscribe_firstname").blur( function() {validate(this);} );
		$("#subscribe_lastname").blur( function() {validate(this);} );
		$("#subscribe_email").blur( function() {checkValidEmail(this);} );
			
		$("#general-subscribe-form").submit( function() {
			var errors = 0;
			
			$("#general-subscribe-form .error-message").remove();
			
			if(!validate(document.getElementById("subscribe_title"))) errors += 1;
			if(!validate(document.getElementById("subscribe_firstname"))) errors += 1;
			if(!validate(document.getElementById("subscribe_lastname"))) errors += 1;
			if(!checkValidEmail(document.getElementById("subscribe_email"))) errors += 1;
			if ($("#subscribe_state option:selected").val() == "other") {
				if(!validate(document.getElementById("subscribe_state-other"))) errors += 1;
			}
		
			if (errors >= 1)  {
				$("#general-subscribe-form").prepend("<p class='error-message'>Please fill in all required fields below.</p>");
				return false;
			}
	    	return true;
		
		} );
	} else {
		$("#subscribe_title").blur( function() {validate(this);} );
		$("#subscribe_firstname").blur( function() {validate(this);} );
		$("#subscribe_lastname").blur( function() {validate(this);} );
		$("#subscribe_address").blur( function() {validate(this);} );
		$("#subscribe_suburb").blur( function() {validate(this);} );
		$("#subscribe_postcode").blur( function() {validate(this);} );
		$("#subscribe_state").blur( function() {validate(this);} );
		$("#subscribe_country").blur( function() {validate(this);} );
	
		$("#general-subscribe-form").submit( function() {
			var errors = 0;
			
			$("#general-subscribe-form .error-message").remove();
			
			if(!validate(document.getElementById("subscribe_title"))) errors += 1;
			if(!validate(document.getElementById("subscribe_firstname"))) errors += 1;
			if(!validate(document.getElementById("subscribe_lastname"))) errors += 1;
			if(!validate(document.getElementById("subscribe_address"))) errors += 1;
			if(!validate(document.getElementById("subscribe_suburb"))) errors += 1;
			if(!validate(document.getElementById("subscribe_postcode"))) errors += 1;
			if(!validate(document.getElementById("subscribe_state"))) errors += 1;
			if(!validate(document.getElementById("subscribe_country"))) errors += 1;
			if ($("#subscribe_state option:selected").val() == "other") {
				if(!validate(document.getElementById("subscribe_state-other"))) errors += 1;
			}
			
			if (errors >= 1)  {
				$("#general-subscribe-form").prepend("<p class='error-message'>Please fill in all required fields below.</p>");
				return false;
			}
	    	return true;
		
		} );
	}
}

// Following code handles all Javascript Validation

var lastobjerror

function validate(obj) {
	console.log(obj.value);
	if (obj.value == "") {
		$("label[@for=" + $(obj).attr("id") + "]").addClass("error");
		lastobjerror = obj;	
		return false;
	}
	else {
		$("label[@for=" + $(obj).attr("id") + "]").removeClass("error");
		return true;
	}
}

function checkValidEmail(obj)
{
	var email = obj.value;

	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) {
		$("label[@for=" + $(obj).attr("id") + "]").removeClass("error");
		return true;
	}
	else {
		$("label[@for=" + $(obj).attr("id") + "]").addClass("error");
		lastobjerror = obj;	
		return false;
	};
}
