function validateFormOnSubmit(theForm) {
	var reason = "";

	reason += validateEmpty(theForm.MedicalProcedureID);
	reason += validateEmpty(theForm.FirstName);
	reason += validateEmpty(theForm.LastName);
	reason += validateEmail(theForm.Email);
	reason += validatePhone(theForm.PhoneNumber);
	reason += validateEmpty(theForm.StateID);
	reason += validateZip(theForm.ZipCode);
	
	if( theForm.ContactTime ) {
		reason += validateEmpty(theForm.ContactTime);
	}
	if( theForm.PhysicianContacts ) {
		reason += validateEmpty(theForm.PhysicianContacts);
	}
	if( theForm.TimeFrame ) {
		reason += validateEmpty(theForm.TimeFrame);
	}
	if( theForm.TravelInterest ) {
		reason += validateEmpty(theForm.TravelInterest);
	}
	if( theForm.ReceivedInfo ) {
		reason += validateEmpty(theForm.ReceivedInfo);
	}
	if( theForm.Gender ) {
		reason += validateEmpty(theForm.Gender);
	}
	if( theForm.question ) {
		reason += validateQuestion(theForm.question);
	}

	if( reason != "" ) {
		return false;
	}

	return true;
}
function validateEmpty(fld) {
	var error = "";

	if(fld.value.length == 0) {
		var field_text = fld.name + '_text';
		
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
    } else {
    	var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = '#6A4220';
    }
    return error;
}

function trim(s) {
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

    if (fld.value == "") {
    	var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
    } else if (!emailFilter.test(tfld)) {
    	var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
    } else if (fld.value.match(illegalChars)) {
    	var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
    } else {
    	var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = '#6A4220';
    }
    return error;
}

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');

   if (fld.value == "") {
        var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
    } else if (isNaN(parseInt(stripped))) {
        var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
    } else if (!(stripped.length == 10)) {
        var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
    } else {
    	var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = '#6A4220';
    }
    return error;
}

function validateZip(fld) {
	var error = "";
	var isValid = /^\d{5}$|^\d{5}-\d{4}$/;

     if (!isValid.test(fld.value)) {
		var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
     } else {
		var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = '#6A4220';
     }


	return error;
}

function validateQuestion(fld) {
	error = "";
	if( fld.checked == false ) {
		var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = 'Red';
		error = 'error';
	} else {
		var field_text = fld.name + '_text';
		var field = document.getElementById(field_text);
		field.style.color = '#6A4220';
	}
	return error;
}
