/**
 * @author ckirby
 */
function CompareFormValidate(oForm){
	/* oForm.onsubmit = function(){
		var allvalid = true;
		var result;
		var errArray = [];
		
		ResetErrors(oForm);
		
		for(i=0; i < oForm.elements.length; i++){
			result = IsFieldValid(oForm.elements[i],true)
			if(result != ""){
				allvalid = false;
				errArray.push(result);
				SetErrorFlag(oForm.elements[i]);
			}
		}
		
		if (document.getElementById("state").value === "unselected"){
			allvalid = false;
			errArray.push("You must select a state.");
			SetErrorFlag(document.getElementById("state"));
		}
		
		if (document.getElementById("email").value.toLowerCase() != document.getElementById("emailverify").value.toLowerCase()){
			allvalid = false;
			errArray.push("Email addresses must match.");
			SetErrorFlag(document.getElementById("emailverify"));
		}
		
		if (allvalid == true) {
			return true;
		}
		else {
			var errMsg = "";
			
			for(i = 0; i < errArray.length; i++){
				errMsg = errMsg + "\n" + errArray[i];
			}
			
			document.getElementById("errbox").innerText = errMsg;
			
			return false;
		}
	} */
}

function IsFieldValid(oField, nonblank){
	if(oField.getAttribute("type") == "text"){
		var val = trim(oField.value)
		var fieldtype = oField.getAttribute("class");
		var err = "";
		
		if((nonblank == true) && (val.length == 0)){
			return "Field must not be blank.";
		}
		
		switch(fieldtype){
			case "typenone":
				break;
			case "typeaddress":
				break;
			case "typezip":
				var reg = /^[0-9]{5}$/;
				if (reg.length == 0) {
					err = "Zip code is missing.";
				}
				break;
			case "typephone":
				var stripped = val.replace(/[\(\)\.\-\ ]/g, '');
				if (stripped.length == 0) {
			        err = "Phone number is missing.";
			    }
				else if (isNaN(parseInt(stripped))) {
			        err = "Phone number contains illegal characters.";
			    }
				break;
			case "typeemail":
				var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
				if (reg.test(val) == false) {
					err = "Invalid email address.";
				}
				break;
			case "typeiid":
				var reg = /^[a-zA-Z0-9]{16}$/;
				if (reg.test(val) == false) {
					err = "Invalid Installation ID.";
				}
				break;
			default:
				break;
		}
		return err;
	}
	else{
		return "";
	}
}

function trim(val) {
    var ret = val.replace(/^\s+/, '');
    ret = ret.replace(/\s+$/, '');
 
    return ret;
}

function SetErrorFlag(oField){
	document.getElementById("err" + oField.name).innerText = "*Error";
}

function RemoveErrorFlag(oField){
	document.getElementById("err" + oField.name).innerText = "";
}

function ResetErrors(oForm){
	for(i=0; i < oForm.elements.length - 1; i++){
		RemoveErrorFlag(oForm.elements[i]);
	}
}

