
var ValidateForm = {
	
	init: function(){
		
		var button = document.forms['information'].onsubmit = ValidateForm.validate;
		//document.forms['information'].elements['first_name'].focus();
		
	},
	
	validate: function (){

		var fld, msg;
		var elms = document.forms['information'].elements;
		var emailTest = /[_a-zA-Z\d\-\.]+@([_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+)/;
		var digitTest = /\d+/;
		var phoneTest = /\(?\d{3}\)?-?\d{3}-?\d{4}/;
		var ssnumTest = /\(?\d{3}\)?-?\d{2}-?\d{4}/;

		ValidateForm.removeError();

		for ( i=0; i <= elms.length; i++ ){
			if ( typeof elms[i] != 'undefined' ){
			
				if ( elms[i].className.match(/checkRequired/) && elms[i].value == '' ){
					alert('Required Field!');
					elms[i].focus();
					//ValidateForm.dropError( ' Required Field!', elms[i] );
					return false;
				}
				else if ( elms[i].className.match(/checkEmail/) && elms[i].value != '' && !emailTest.test(elms[i].value) ){ 
					alert(' Invalid email!');
					elms[i].focus();
					//ValidateForm.dropError( ' Invalid email!', elms[i] );
					return false;
				}
				else if ( elms[i].className.match(/checkDigit/) && elms[i].value != '' && !digitTest.test(elms[i].value) ){
					alert(' Numbers only!');
					elms[i].focus();
					//ValidateForm.dropError( ' Numbers only!', elms[i] );
					return false;
				}
				else if ( elms[i].className.match(/checkPhone/) && elms[i].value != '' && !phoneTest.test(elms[i].value) ){
					alert(' Invalid number!');
					elms[i].focus();
					//ValidateForm.dropError( ' Invalid number!', elms[i] );
					return false;		
				}
				
			}
		}
	
	},
	
	removeError: function (){
	
		var span = document.getElementById('errorMessage');
		if ( span ){
			var wrap = span.previousSibling;
			while ( wrap.nodeName.toLowerCase() != "input" || !wrap.className.match("error") ){
				wrap = wrap.previousSibling;
			}
			var newClass = wrap.className.replace(/error/, '');
			wrap.className = newClass;
			wrap.parentNode.removeChild( span );
			
		}
		
				
	},
	
	dropError: function( msg, elm ){

		var errorSpan = document.createElement('span');
		var errorMsg  = document.createTextNode( msg );
	
		errorSpan.appendChild( errorMsg );
		errorSpan.id = 'errorMessage';
		errorSpan.className = 'highlight';
			
		var wrap = elm.parentNode;
		while ( wrap.nodeName.toLowerCase() != "li" ){
			wrap = wrap.parentNode;
		}

		wrap.appendChild( errorSpan );
		elm.className += ' error';
		elm.focus();
	
	},
	
	cancelAction: function(e){
		
		ValidateForm.toggleClose();
		
		if ( window.event ){
			window.event.returnValue = false;
		}
		else {			
			e.preventDefault();
		}

	}
	
}
