function validate(formObj) {

	warning = "";
	
	//Code to loop through form elements
	//var num_of_elements = formObj.length;
	//for (var i=0; i<num_of_elements; i++) {
	//	var theElement = formObj.elements[i];
	//	var element_type = theElement.type;
	//	var element_name = theElement.name;
	//	var element_value = theElement.value;
	//}

	var address_value = formObj.address1.value;
	var phone_value = formObj.phone.value;
	var questions_value = formObj.questions.value;
	if (address_value.indexOf('http:') > -1) warning += "\n - Address: invalid data inputted";	
	if (phone_value.indexOf('http:') > -1) warning += "\n - Phone: invalid data inputted";
	//Users might want to supply a legitimate link to a website in the question field.
	//if (questions_value.indexOf('http:') > -1) warning += "\n - Questions: invalid data inputted";

	if (formObj.first_name.value == "") warning += "\n\n - First Name";
	if (formObj.last_name.value == "") warning += "\n - Last Name";
	if (formObj.address1.value == "") warning += "\n - Address";
	if (formObj.city.value == "") warning += "\n - City";
	if (formObj.state.options.selectedIndex < 1) warning += "\n - State";
	if (formObj.zip.value == "") warning += "\n - Zip";
    if (formObj.email.value != "" && !emailCheck(formObj.email.value)) warning += "\n - E-mail appears to be invalid";

    for (i = 0; i < formObj.visit_type.length; i++) if (formObj.visit_type[i].checked) current_visit_type = i;
    switch (current_visit_type) {
        case 0 :
            if (formObj.event) {
                if (formObj.event.options.selectedIndex < 1) warning += "\n - Please select an HU Event";
            } else {
                warning += "\n - Please select a weekly advising session or an individual visit.";
            }
            break;
        case 1 : if (formObj.weekly_session.options.selectedIndex < 1) warning += "\n - Please select a weekly advising session"; break;
        case 2 : if (formObj.individual_visit.value == "") warning += "\n - Please enter a desired time/date for your individual visit"; break;
    }

	if (formObj.degree_option.selectedIndex < 1) warning += "\n - Degree Option";
	if (formObj.program.selectedIndex < 1) warning += "\n - Program";

	if (warning != "") {
        alert("Sorry, the form cannot be submitted because\nthe following fields are incomplete or invalid:\n" + warning);
		return false;
	}

    formObj.submit();

}

function visitType(formObj,index) {
    formObj.visit_type[index].checked = true;
    resetOthers(formObj,index);
}

function resetOthers(formObj,index) {
    for (i = 0; i <= 2; i++) {
        if (i != index) {
            switch (i) {
                case 0 : if (formObj.event) formObj.event.selectedIndex = 0; break;
                case 1 : formObj.weekly_session.selectedIndex = 0; break;
                case 2 : formObj.individual_visit.value = ""; break;
            }
        }
    }
}

function visitTypeSwitch(formObj,index) {
    resetOthers(formObj,index);
    switch (index) {
        case 0 : if (formObj.event) formObj.event.focus(); break;
        case 1 : formObj.weekly_session.focus(); break;
        case 2 : formObj.individual_visit.focus(); break;
    }
}