function hideErrorMsg() {
	$('#notifictions').animate({height: 'hide'});
}

function validate() {

	// Set Vars
	var error = "no";
	var blank = "";
	
	// Check browser compatability
	if (!(document.getElementsByClassName)) {
		
		// alert('IE 7 Fail');
	
	} else {
	
		// Loop "required" classed form elements
		var valid = document.getElementsByClassName("required");
		for(var i=0;i<valid.length;i++) {
			var element = valid[i].value;
			var stripElement = element.replace(/ /g,"");
			if(stripElement.length > 0){
				valid[i].style.border="2px solid #a4da20";
			} else {
				valid[i].style.border="2px solid #FF0000";
				var error = "yes";
			}
		}
		
		// Loop "required-email" classed form elements
		var valid = document.getElementsByClassName("required-email");
		var reg_email = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		for(var i=0;i<valid.length;i++) {
			var element = valid[i].value;
			if(reg_email.test(element) == false){
				valid[i].style.border="2px solid #FF0000";
				var error = "yes";
			} else {
				valid[i].style.border="2px solid #a4da20";
			}
		}
		
		// Loop "required-password" classed form elements (7 chars with upper&lower case letters and numbers)
		var valid = document.getElementsByClassName("required-password");
		var reg_pass = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
		for(var i=0;i<valid.length;i++) {
			var element = valid[i].value;
			if(reg_pass.test(element) == false){
				valid[i].style.border="2px solid #FF0000";
				var error = "yes";
			} else {
				valid[i].style.border="2px solid #a4da20";
			}
		}
		
		// Loop "required-date" classed form elements (yyyy-mm-dd)
		var valid = document.getElementsByClassName("required-date");
		var reg_date = /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/;
		for(var i=0;i<valid.length;i++) {
			var element = valid[i].value;
			if(reg_date.test(element) == false){
				valid[i].style.border="2px solid #FF0000";
				var error = "yes";
			} else {
				valid[i].style.border="2px solid #a4da20";
			}
		}
		
		// Loop "required-phone" classed form elements (Canadaian & US Phone Numbers )
		var valid = document.getElementsByClassName("required-phone");
		var reg_phone = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
		for(var i=0;i<valid.length;i++) {
			var element = valid[i].value;
			if(reg_phone.test(element) == false){
				valid[i].style.border="2px solid #FF0000";
				var error = "yes";
			} else {
				valid[i].style.border="2px solid #a4da20";
			}
		}
		
		// Valid?
		if (error === "no") {
			return true;
		}else{
			notify='<div class="notify notify-error">';
			notify=notify+'Some form elements are not correct, you may need to press "more" to view all elements.';
			notify=notify+'</div>';
			$('#notifictions').hide();
			document.getElementById('notifictions').innerHTML=notify;
			
			$('#notifictions').animate({height:'show'});
			var t=setTimeout("hideErrorMsg()",4000);
			
			return false;
		}
	
	} // Browser check end
}
