/* ----------------------------------------------------------------------
	DEFAULT VALIDATION FORMS
---------------------------------------------------------------------- */
if (typeof(FormValidator)=='undefined') 
FormValidator = {

	checkInput: function (input, errorMessage)
	{
		if(!input)
		{
			alert( "Input not found!");
			return false;
		}
		if( input.value.length==0) return this.focusFailedInput(input,errorMessage);
	return true;
	},
	
	checkEmail: function(input,errorMessage)
	{
		if(!input)
		{
			alert( "Input not found!");
			return false;
		}

	    if (!this.isValidEmail(input.value)) return this.focusFailedInput(input,errorMessage);
	    return true;
	},

	isValidEmail: function (email)
	{
	 	var template = /^[0-9a-z]+[0-9a-z._-]*\@[0-9a-z]+[0-9a-z._-]*\.[0-9a-z]{2,}$/i;
	  	if (template.test(email) == false) return false;
		return true;
	},

	/* Look & Feel */
	focusFailedInput: function (input, errorMessage)
	{
		this.addClass(input,"error");
	    input.oldOnBlur = input.onblur;
		if(errorMessage) alert(errorMessage);
	    input.onblur = function() { FormValidator.removeClass(this,'error'); this.onblur = this.oldOnBlur; };
	    if (!input.disabled) input.focus();
		return false;
	},

	/* CSS */
	addClass: 		function (el,c) { el.className += " " + c; },
	removeClass: 	function (el, c) { el.className = el.className.replace(new RegExp(c,"g"),""); },
	containsClass:	function (el, c) { return el.className.indexOf(c) != -1 }

};
