var FormValidation =
{
	init: function()
	{
		var nameField = document.getElementById("contact_name");
		nameField.onblur = FormValidation.nameValidation;
		
		var emailField = document.getElementById("contact_email");
		emailField.onblur = FormValidation.emailValidation;
		
		var commentsField = document.getElementById("contact_comments");
		commentsField.onblur = FormValidation.commentsValidation;
		
		var contactForm = document.getElementById("contact_form");
		contactForm.onsubmit = FormValidation.formValidation;
	},
	
	nameValidation: function()
	{
		var nameField = document.getElementById("contact_name");
		if (nameField.value == null || nameField.value == "") {
			var nameError = document.getElementById("name_error");
			nameError.innerHTML = "please enter your name";
			nameError.style.display = "inline";
		} else {
			var nameError = document.getElementById("name_error");
			nameError.style.display = "none";
		}
	},
	
	emailValidation: function()
	{
		var emailField = document.getElementById("contact_email");
		if (emailField.value == null || emailField.value == "" || FormValidation.checkEmail(emailField.value) == false) {
			var emailError = document.getElementById("email_error");
			if (emailField.value == null || emailField.value == "") {
				emailError.innerHTML = "please enter your email address";
			} else {
				emailError.innerHTML = "please recheck email address";
			}
			emailError.style.display = "inline";
		} else {
			var emailError = document.getElementById("email_error");
			emailError.style.display = "none";
		}
	},
	
	commentsValidation: function()
	{
		var commentsField = document.getElementById("contact_comments");
		if (commentsField.value == null || commentsField.value == "") {
			var commentsError = document.getElementById("comments_error");
			commentsError.innerHTML = "please enter your comments";
			commentsError.style.display = "inline";
		} else {
			var commentsError = document.getElementById("comments_error");
			commentsError.style.display = "none";
		}
	},
	
	formValidation: function()
	{
		var commentsField = document.getElementById("contact_comments");
		if (commentsField.value == null || commentsField.value == "") {
			var commentsError = document.getElementById("comments_error");
			commentsError.innerHTML = "please enter your comments";
			commentsError.style.display = "inline";
			commentsField.focus();
			Core.preventDefault(event);
		}
		
		var emailField = document.getElementById("contact_email");
		if (emailField.value == null || emailField.value == "" || FormValidation.checkEmail(emailField.value) == false) {
			var emailError = document.getElementById("email_error");
			if (emailField.value == null || emailField.value == "") {
				emailError.innerHTML = "please enter your email address";
			} else {
				emailError.innerHTML = "please recheck email address";
			}
			emailError.style.display = "inline";
			emailField.focus();
			Core.preventDefault(event);
		}
		
		var nameField = document.getElementById("contact_name");
		if (nameField.value == null || nameField.value == "") {
			var nameError = document.getElementById("name_error");
			nameError.innerHTML = "please enter your name";
			nameError.style.display = "inline";
			nameField.focus();
			Core.preventDefault(event);
		}
	},
	
	checkEmail: function(str)
	{
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at) == -1 || str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr || str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr || str.indexOf(at,(lat+1)) != -1 || str.substring(lat-1,lat) == dot || str.substring(lat+1,lat+2) == dot || str.indexOf(dot,(lat+2)) == -1 || str.indexOf(" ")!=-1) {
			return false
		}
		return true					
	}
};

Core.start(FormValidation);