// JavaScript Document

//  Function to check form fields  //
//  Fields MUST contain "lang='Field Label'" to be seen as MANDATORY by function  //

// !!!!!--FOR RADIO BUTTONS -> ONLY THE FIRST RADIO BUTTON IN A GROUP NEEDS THE lang=field label attribute--!!!! //

//check text field or select field
function validRequired(formField,fieldLabel) {
		var result = true;
		if (formField.value == "") {
			alert('Please enter ' + fieldLabel +'.');
			formField.focus();
			result = false;
		}
		return result;
	}

//check radio <-- Doesn't Work
function checkRadio(fieldName){ 
	var result = false; 
	var radioGrp = document.forms[0].fieldName;  
	for (var i=0; i<radioGrp.length; i++){
		if(radioGrp[i].checked){
			var result = true;
		}
	}
	alert (result);
	return result;
}


//check checkbox	
	function validRequiredCheck(formField,fieldLabel){
		var result = false;
		if(formField.checked){			
			result = true;		
		}
		if(!result){
			alert('Please enter the ' + fieldLabel +'.');
			formField.focus();
		}
		return result;	
	}
	
	
//check form
	function checkForm(formName){  
		var theForm;  
		document.getElementById(formName) ? theForm = document.getElementById(formName) : theForm = false; 
		 if(!theForm){ return theForm;}
		var i=0;
		while(theForm.elements[i]){
			var theField = theForm.elements[i]; 
			i++;
			var fieldType;
			theField.lang ? fieldType = theField.type : fieldType = false;
			if(!fieldType) continue;
			
			var fieldLabel = theField.lang; 
			var filled;
			
			if(theForm.firstName.value == theForm.lastName.value){
				alert ("Invalid Registration Data");
				theForm.firstName.value = '';
				theForm.lastName.value  = '';
				theForm.firstName.focus();
				return false;			
			}
			
			//determine which function to use to check
			switch(fieldType){
				case 'text':
					if(!validRequired(theField, fieldLabel)){ return false;}
					break;
				case 'select-one':
					if(!validRequired(theField, fieldLabel)){ return false;}
					break;
				case 'select-multiple':
					if(!validRequired(theField, fieldLabel)){ return false;}
					break;
				case 'password':
					if(!validRequired(theField, fieldLabel)){ return false;}
					break;
				case 'checkbox':
					if(!validRequiredCheck(theField, fieldLabel)){ return false;}
					break;
				
			}
		}
		return true;
	}			
			
	 		
// check for valid email

	function echeck(email){
		email = email.toLowerCase();
		var msg;
		var at = email.indexOf('@'); 		//alert("at: "+at);
		var dot = email.lastIndexOf('.');	//alert("dot: "+dot);
		var extPos = email.length - 4; 		//alert("dotPos: "+dot);
		var ext = email.substring(dot);  //alert(ext);  fix for OHIO REGISTRATION
		
		if((at < 1)||(!dot)||(dot != extPos)){
			if(ext != ".us"){
				alert("Invalid eMail Address");
				return false;
			}
		}
		
		var restricted = new Array("coretechcorp", "triad", "cox", "google", "gmail", "yahoo", "hotmail", "ymail", "rocketmail", "hush", "aol", "inbox", "comcast", "msn", "verizon", "topquadrant", "crossflo", "riverglass", "i2inc", "thinkstream", "visualanalytics", "memex");
		
		var firstSplit = email.split('@');
		var splitRA = firstSplit[1].split('.');
		var domain = splitRA[0];
		
		for (var i in restricted){
			if(restricted[i] == domain){
				alert("Invalid eMail Address.\nThird party eMails are not allowed (gmail, yahoo, etc).");
				return false;
			}
		}
		return true;		
	}			
			
			
			
			
			
			
			
			
			
			
	
	