
function checkForm(emailID){
	if(!document.getElementById){ return; }

	var requiredFields;
	var submitForm = true;
	var emailTest = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	
	if(document.getElementById('required')){
		requiredFields = document.getElementById('required').value.split(','); 
	}


	for(i = 0; i<requiredFields.length; i++){
		if(document.getElementById(requiredFields[i]).value == ""){
			highlightField(requiredFields[i]);
			submitForm = false;
		}else{
			if(requiredFields[i] == emailID){
				if(!emailTest.test(document.getElementById(emailID).value)){
					submitForm = false;
					highlightField(requiredFields[i]);
				}else{
					document.getElementById(requiredFields[i]).className = "";
				}
			}else{
				document.getElementById(requiredFields[i]).className = "";	
			}
		}
	}
	
	if(!submitForm){ 
		alert("Please fill in all required fields.");
		return false; 
	}
	
	return true;
}


function highlightField(fieldID){ document.getElementById(fieldID).className = "stillempty"; }


function attachValidationHandler(formID, emailID){
	if(!document.getElementById) { return; }
	
	
	if(attachValidationHandler.arguments.length == 1){	
		document.getElementById(formID).onsubmit = function(){ 
			return checkForm(); 
		}
	}else{
		document.getElementById(formID).onsubmit = function(){ 
			return checkForm(emailID); 
		}
	}
}



