

function showErrorAlert(){
	confirm("This form is incomplete!  Please fill in all required fields.");	
}

function clearMessages(){
	var elements = document.body.getElementsByTagName("SPAN");
	var output = "";
	var curid = "";
	for (var i in elements){
		curid = elements[i].id;
		if (typeof curid == "string"){
			if (curid.indexOf("error") != -1){
				document.getElementById(curid).innerHTML = "";
			}
		}
	}
}

function ValidateForm(requiredFields){
	
	clearMessages();
	var errors = 0;
	var output="";
	var set = document.forms[0].elements;
	var form = document.forms[0];
	
	for (var i in set){
		
		var name = set[i].name;
		if (requiredFields.indexOf(name) > -1){
			var type = set[i].type;
			var value = "";
			var conf = "";
			switch (type){
				case "select-one":
					value = getSelectValue(set[i]);
					break;
				case "radio":
					value = getRadioValue(form[name]);
					break;
				case "password":
					value = set[i].value;
					conf = form["password_confirmation"].value;
					output += "conf" + " => " + conf + "<br>";
					break;
				default:
					value = set[i].value;
					break;
			}
			
			output += name + " => " + value + "<br>";
			
			if (name == "email"){
				errors += validateEmailField(value,name+"_error","*");
			} else if (name == "password" && form.update_password.checked) {
				errors += validatePasswordField(value,conf,8,"password_error","*");	
			} else if (name != "password") {
				errors += validateTextField(value,name + "_error","*");	
			}
			
		}
	}
	
	if (errors == 0){
		return true;	
	}
	
	showErrorAlert();
	return false;

}

function ValidateLoginForm(){
	
	clearMessages();
	
	var username = document.forms[0].username.value;
	var password = document.forms[0].password.value;
	
	var errors = 0;
	errors += validateTextField(username,"username_error","*");
	errors += validateTextField(password,"password_error","*");
	
	if (errors > 0){
		showErrorAlert();
		return false;
	}
	
	return true;

}

