// JavaScript Document

function getDayOfWeek(string) {
	var hyphen = string.indexOf("-");
	if (hyphen < 0) {
		return;
	} else {
		var extracted_day = string.slice(0, hyphen);
		return extracted_day;
	}
}

function getSuburb(string) {
	var hyphen = string.indexOf("-") + 1;
	if (hyphen < 0) {
		return;
	} else {
		var extracted_suburb = string.slice(hyphen);
		return extracted_suburb;
	}
}

function generateRegionString(region) {
	var region_string = "We are represented in your region by " + region;
	return region_string;
}

function generateSuburbString(suburb) {
	var suburb_day = getDayOfWeek(suburb);
	var suburb_suburb = getSuburb(suburb);
	var suburb_string = "We are in " + suburb_suburb + " on " + suburb_day + ". Please confirm your request and a member of our team will contact you soon."; 
	return suburb_string;
}

function formSubmitted(form) {
	
	var valid = finalValid(form);
	
	if (valid) {
	
		// Check to see if either selects have been used
		var user_suburb = form.suburb.value;
		var user_region = form.region.value;
		
		// Act on a suburb entry
		if (user_suburb != "DIRECT CONTACT") {
			var string_to_write = generateSuburbString(user_suburb);
		} else if (user_region != "DIRECT CONTACT") {
			var string_to_write = generateRegionString(user_region);
		} else {
			var string_to_write = "Thanks for your interest, we'll be in contact soon."
		}
		writeToDOM(string_to_write);
	
	}

}

function writeToDOM(string) {
	var the_para = document.getElementById("the_day");
	var the_text = document.createTextNode(string);
	the_para.appendChild(the_text);
	
	var first_button = document.getElementById("book_request");
	first_button.style.display = "none";
	
	var line_break = document.createElement("br");
	the_para.appendChild(line_break);
	
	var second_button = document.createElement("input");
	second_button.type = "submit";
	second_button.value = "Confirm Request";
	the_para.appendChild(second_button);
}

// VALIDATION FOR FINAL SUBMIT

function finalValid(form) {
	var validate_array = getElementsByClassName(document, "input", "req");
	var error_string = "Please make sure you:\n";
	var error_present = false;
	for (var i = 0; i < validate_array.length; i++) {
		if (!validate_array[i].value) {
			switch (i) {
				case 0 :
				error_string = error_string + "- enter a forename\n";
				error_present = true;
				break
				case 1 :
				error_string = error_string + "- enter a surname\n";
				error_present = true;
				break
				case 2 :
				error_string = error_string + "- enter a valid email address\n";
				error_present = true;
				break
			}
		}
	}
	
	if (form.suburb.value == "unselected" && form.region.value == "unselected") {
		error_present = true;
		error_string = error_string + "- select either a suburb in Auckland OR a Region in New Zealand";
	}
	
	if (form.suburb.value == "unselected" && form.region.value == "Auckland") {
		error_present = true;
		error_string = error_string + "- select a suburb";
	}
	
	if (error_present == true) {
		alert(error_string);
		return false;
	} else {
		return true;
	}
}


////////////////////////////////////// GET ELEMENTS BY CLASS CODE


/*
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

////////////////////////////////////// END OF GET ELEMENTS BY CLASS CODE