// handle schedule service form
var schedule_service_step = 1;

function go_to_next_step_schedule_service() {
	// redbox duplicates all elements, use class name so elements can be accessed

	var div_elements = document.getElementsByTagName("div");
	var num_elements = div_elements.length;

	if (schedule_service_step == 1) {
		if (validate_schedule_service_form()) {
			for (i = 0; i < num_elements; i++) {
				if (div_elements[i].className == "schedule_service_step1") {
					div_elements[i].style.display = "none";
				}
	
				if (div_elements[i].className == "schedule_service_step2") {
					div_elements[i].style.display = "inline";
				}
			}

			var input_elements = document.getElementsByTagName("input");
			var num_input_elements = input_elements.length;

			for (i = 0; i < num_input_elements; i++) {
				if (input_elements[i].type == "image") {
					input_elements[i].style.display = "none";
				}
			}

			schedule_service_step++;
	
			return true;
		}
	}

	return false;
}


function reset_form_schedule_service() {
	// redbox duplicates all elements, use class name so elements can be accessed
	var div_elements = document.getElementsByTagName("div");
	var num_elements = div_elements.length;

	for (i = 0; i < num_elements; i++) {
		if (div_elements[i].className == "schedule_service_step1") {
			div_elements[i].style.display = "inline";
		}

		if (div_elements[i].className == "schedule_service_step2") {
			div_elements[i].style.display = "none";
		}
	}

	var input_elements = document.getElementsByTagName("input");
	var num_input_elements = input_elements.length;

	for (i = 0; i < num_input_elements; i++) {
		if (input_elements[i].type == "image") {
			input_elements[i].style.display = "inline";
		}
	}

	schedule_service_step = 1;
}


function validate_schedule_service_form() {
	var message = "";
	var blank_fields = "";

	// the method of using the id doesn't work in this case because the RedBox feature
	//   makes a copy of the existing form making the inputs no longer have a unique id

	var blank_required_fields = new Array("first_name",
										"last_name",
										"address1",
										//"city",
										//"state",
										"zip",
										"phone",
										"email",
										"comments");

	// make sure a value is entered for each of the required fields
	var fields = document.getElementsByTagName("input");
	var state_fields = document.getElementsByTagName("select");
	var comments_fields = document.getElementsByTagName("textarea");

	num_blank_required_fields = blank_required_fields.length;

	num_fields = fields.length;
	for (i = 0; i < num_fields; i++) {
		if (fields[i].value) {
			// remove field from blank required fields
			for (j = 0; j < num_blank_required_fields; j++) {
				if (blank_required_fields[j] == fields[i].name) {
					blank_required_fields[j] = "";
					break;
				}
			}
		}
	}

	num_state_fields = state_fields.length;
	for (i = 0; i < num_state_fields; i++) {
		if (state_fields[i].value) {
			// remove field from blank required fields
			for (j = 0; j < num_blank_required_fields; j++) {
				if (blank_required_fields[j] == state_fields[i].name) {
					blank_required_fields[j] = "";
					break;
				}
			}
		}
	}

	num_comments_fields = comments_fields.length;
	for (i = 0; i < num_comments_fields; i++) {
		if (comments_fields[i].value) {
			// remove field from blank required fields
			for (j = 0; j < num_blank_required_fields; j++) {
				if (blank_required_fields[j] == comments_fields[i].name) {
					blank_required_fields[j] = "";
					break;
				}
			}
		}
	}


	blank_fields = "";
	
	for (i = 0; i < num_blank_required_fields; i++) {
		if (blank_required_fields[i]) {
			var field_name = blank_required_fields[i];
			var display_name = "";

			switch (field_name) {
				case "first_name":
					display_name = "First Name";
					break;
				case "last_name":
					display_name = "Last Name";
					break;
				case "address1":
					display_name = "Address";
					break;
				case "city":
					display_name = "City";
					break;
				case "state":
					display_name = "State";
					break;
				case "zip":
					display_name = "Zip Code";
					break;
				case "phone":
					display_name = "Phone";
					break;
				case "email":
					display_name = "Email";
					break;
				case "comments":
					display_name = "Comments";
					break;
			}

			blank_fields += display_name + "\n";
		}
	}

	if (blank_fields) {
		message = "The following required fields were left blank:\n" + blank_fields;
		alert(message);
		return false;
	}
	else {
		return true;
	}
}