// JavaScript Document

/* CIOS257-JD1: Class Assignment 6
   Form Validation 
	 version: 1.0
	 Author:  June Robbins
	 Email:   june@alaska.com */

window.onload = function() {
	if (!document.getElementById || !document.getElementsByTagName)
		return false;
		prepareForms();
	}
	
function prepareForms() {
	for (var i=0; i<document.forms.length; i++) {
		var thisform = document.forms[i];
		thisform.onsubmit = function() {
			return validateForm(this);
		}
	}
}
		
function isFilled(field) {
	if (field.value.length < 1) {
		return false;
	} else {
		return true;
	}
}

function ckEmail(field) {
	var email = document.getElementById("email").value;
	if (email != field.value) {
		return false;
	} else {
		return true;
	}
}	

function validateForm(whichform) {
	for (var i=0; i<whichform.elements.length; i++) {
		var element = whichform.elements[i];
		if (element.className.indexOf("required") != -1) {
			if (!isFilled(element)) {
				createErrorMsg(element);
				whichform.elements[i].focus();
				return false;
			}
		}
		if (element.id == "email") {
			if (!ckEmail(element)) {
				alert("Email must match Confirm Email");
				whichform.elements[i].focus();
				return false;
			}
		}
	}
	return true;
}

function createErrorMsg(element){
	var alllabels = document.getElementsByTagName("label");
	for (var i=0; i<alllabels.length; i++) {
		var foratt = alllabels[i].attributes["for"].nodeValue;
		if (foratt == element.getAttribute("id")) {
			var labeltext = alllabels[i].firstChild.nodeValue;
			var errmsg = document.getElementById("errormsg");
			if (errmsg.hasChildNodes()) {
				errmsg.removeChild(errmsg.firstChild);
			}
			var newerrmsg = document.createTextNode("Fill in the "+labeltext+" field.");
			errmsg.appendChild(newerrmsg);
		}
	}
}																			
