	function removeErrors() {
		$(".formField").each(function(index) {
			$(this).removeClass("error");
		});
	}

	function addErrors(errorFieldArr) {
		var errorFieldStr = errorFieldArr.join(",");
		var allFields = $(".formField").each(function(index) {
			var fieldId = $(this).attr("class").split(" ")[0];
			if (errorFieldStr.indexOf(fieldId) >= 0) { // this is an error field, mark as such
				$(this).addClass("error"); 
			} else {
				$(this).removeClass("error"); 
			}
		});
	}

	function hideMessages() {
		var allFields = $(".errorMessages").each(function(index) {
			if ($(this).hasClass("on")) {
				$(this).removeClass("on");
			}
		});
	}

	function showMessages(fieldMsgArr) {
//		if (!isArray(fieldMsgArr)) {
//			fieldMsgArr = new Array();
//		}
		// flatten that out
		var errorMessageIdArr = new Array();
		for (var key in fieldMsgArr) {
			for (var intKey in fieldMsgArr[key]) {
				errorMessageIdArr[errorMessageIdArr.length] = fieldMsgArr[key][intKey];
			}
		}
		var errorMessageIdStr = errorMessageIdArr.join(",");
		// turn off all parents first
		hideMessages();
		// loop through all existing, if exists in our array, turn on, if off turn off
		var allFields = $(".errorMsg").each(function(index) {
			var fieldId = $(this).attr("id");
			
			if (errorMessageIdStr.indexOf(fieldId) >= 0) {
				// mark as "on", get parent, mark as on
				$(this).addClass("on");
				var parentSpan = $(this).parent();
				$(parentSpan).addClass("on");
			} else {
				$(this).removeClass("on");
			}
		});
	}

	function isArray(obj) {
		if (obj.constructor.toString().indexOf("Array") == -1) {
			return (false);
		} else {
			return (true);
		}
	}

