function validateForm(sFormID){
	var oCurrForm = document.forms[sFormID];
	var oLabels = document.getElementsByTagName("label");
	
	var hasError = false;
	var errorMsg = "Please fill in at least your name and email address:\n";
 
	for(i=0; i<oCurrForm.length; i++){
		if(oCurrForm.elements[i].className == "required"){
			if(oCurrForm.elements[i].type == "select-one" && oCurrForm.elements[i].value==-1) {
				var currElement = matchLabel(oCurrForm.elements[i].id, oLabels);
				hasError = true;
			  	//errorMsg += "- " + currElement + "\n" ;
			}
			
			if( (oCurrForm.elements[i].type == "text" || oCurrForm.elements[i].type == "textarea") && oCurrForm.elements[i].value==""){
				var currElement = matchLabel(oCurrForm.elements[i].id, oLabels);
				hasError = true;
				//errorMsg += "- " + currElement + "\n" ;
			}
		}
		if(oCurrForm.elements[i].id == "email"){ 
			if(oCurrForm.elements[i].value){
				if( !isEmail(oCurrForm.elements[i].value) ){
					hasError = true;
					errorMsg = "The email address you entered is not valid!";
				}
			}
		}
	}
	
	if(hasError) {
		alert(errorMsg); 
	} else {
		oCurrForm.submit();
	}

	function matchLabel(sElementID, sLabels){
		if(BrowserDetect.browser=="Explorer"){
			//alert(sElementID + " " + sLabels.length );
			for(j=0; j<sLabels.length; j++){
			//alert(sLabels[j].getAttribute('htmlFor') + " " + sElementID );
				if( sLabels[j].getAttribute('htmlFor') == sElementID){
					return sLabel = sLabels[j].innerHTML;
				}
			}
		} else {
			for(j=0; j<sLabels.length; j++){
				if( sLabels[j].getAttribute('for') == sElementID){
					return sLabel = sLabels[j].innerHTML;
				}
			}
		}
	}
	
	function isEmail(who) {
		var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
		return(email.test(who));
	}

	
}
