
var ValidateForm = {
	
	init: function(){
		
		var button = document.forms['information'].onsubmit = ValidateForm.validate;
		if ( document.forms['information'].elements['l_first_name'] ){
			document.forms['information'].elements['l_first_name'].focus();
		}
		else if ( document.forms['information'].elements['name'] ){
			document.forms['information'].elements['name'].focus();
		}
		
		var slink = document.getElementById('secureLink');
		if ( slink && typeof slink != 'undefined' ){
			addEvent(slink, 'mouseover', ValidateForm.toggleOpen, false);
			//addEvent(slink, 'click', ValidateForm.toggleSecureBox, false);
			addEvent(slink, 'click', ValidateForm.cancelAction, false);
		}
		var close = document.getElementById('closeLink');
		if ( close && typeof close != 'undefined' ){
			addEvent(close, 'click', ValidateForm.cancelAction, false);		
		}
	},
	
	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 == '' ){
					ValidateForm.dropError( ' Required Field!', elms[i] );
					return false;
				}
				else if ( elms[i].className.match(/checkEmail/) && elms[i].value != '' && !emailTest.test(elms[i].value) ){ 
					ValidateForm.dropError( ' Invalid email!', elms[i] );
					return false;
				}
				else if ( elms[i].className.match(/checkDigit/) && elms[i].value != '' && !digitTest.test(elms[i].value) ){
					ValidateForm.dropError( ' Numbers only!', elms[i] );
					return false;
				}
				else if ( elms[i].className.match(/checkPhone/) && elms[i].value != '' && !phoneTest.test(elms[i].value) ){
					ValidateForm.dropError( ' Invalid number!', elms[i] );
					return false;		
				}
				else if ( elms[i].className.match(/checkSocial/) && elms[i].value != '' && !ssnumTest.test(elms[i].value) ){
					ValidateForm.dropError( ' Invalid Social!', 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();
	
	},
	
	toggleOpen: function(){
		var box = document.getElementById('secureText');
		if ( typeof box != 'undefined' ){
			box.style.display = 'block';
		}
	},
	
	toggleClose: function(){
		var box = document.getElementById('secureText');
		if ( typeof box != 'undefined' ){
			box.style.display = 'none';
		}
	
	},
	
	cancelAction: function(e){
		
		ValidateForm.toggleClose();
		
		if ( window.event ){
			window.event.returnValue = false;
		}
		else {			
			e.preventDefault();
		}

	}
	
}