	function validateAppointment() {
		var alertMsgHeader = "We could submit your appointment request for the following reasons: \n\n";
		var alertMsg = "";
		var thisForm = document.appointmentRequest;
		var isValidEmail = verifyEmail(thisForm.emailAddress.value);
		
		if ( thisForm.name.value == "" ) {
			alertMsg += "- Please enter your first name.\n";
		}
		if ( thisForm.phoneNumber.value == "" ) {
			alertMsg += "- Please enter your phone number.\n";
		}
		
		if(!isValidEmail) {
			alertMsg += "- Please enter a valid email address.\n";
		}
		
		if ( thisForm.day.value == "" ) {
			alertMsg += "- Please enter an appointment day.\n";
		}
		
		if(alertMsg.length) {
			alert(alertMsgHeader+alertMsg);
			return false;
		} else {
			//sendXmlHttp(thisForm);
			var returnDiv = document.getElementById('appointmentForm');
			startAjax(thisForm,gbl_appConfig["rootURL"]+"xhr/ring_sendAppointmentRequest.cfm",returnDiv);
		}
	}
	
	function formValuesToString(oForm) {
		// Grab the base form information
		var values = '';
		var aToGrab = new Array();
		aToGrab[0] = 'input';
		aToGrab[1] = 'textarea';
		aToGrab[2] = 'select';
		for (var grabIndex = 0; grabIndex < aToGrab.length; grabIndex++) {
			var fields = oForm.getElementsByTagName(aToGrab[grabIndex]);
			for (var i = 0; i < fields.length; i++) {
				thisField = fields[i];
				name = escape(thisField.name);			
				value = escape(thisField.value);						
				// If it is a non-checked checkbox, skip it
				if ( (thisField.type == 'checkbox' || thisField.type == 'radio') && !thisField.checked)	{
					continue;
				}
				else if (thisField.type == 'select') {
					value = escape(thisField[thisField.selectedIndex].value);
				}
				values += '&' + name + '=' + value;	
			}
		}
		return values;
	}
