
	var Validator = Class.create();

	Validator.prototype = {
		initialize: function() {
			this.error = new Array();
		},

		ajaxUpdate: function(ajaxResponse) {
 			for (var i = 0; i < ajaxResponse.childNodes.length; i++) {
	 			node = ajaxResponse.childNodes[i];

	 			if (node.nodeName == "valid") {
	 				var valid = node.firstChild.nodeValue;
				}

	 			if (node.nodeName == "id") {
	 				var id = node.firstChild.nodeValue;
				}

	 			if (node.nodeName == "errormsg") {
	 				var error = node.firstChild.nodeValue;
				}
 			}

 			this.updateField(valid, id, error);
		},

		updateField: function(valid, id, error) {
			if (valid == "false") {
				Element.addClassName($(id), "pos_valerror");
				Element.addClassName($(id), "stl_valerror");

				$('ValidationMessage').innerHTML += error + "<br/>";
				Element.setStyle($('ValidationMessage'), $H({visibility : "visible"}) );
				this.error.push(id);
			}

			if (valid == "true") {
				var nerror = new Array();
				for (var i = 0; i < this.error.length; i++) {
					if (this.error[i] != id) {
						nerror.push(this.error[i]);
					}
				}
				this.error = nerror;
				Element.removeClassName($(id), "pos_valerror");
				Element.removeClassName($(id), "stl_valerror");

				if (this.error.length == 0) {
					Element.setStyle($('ValidationMessage'), $H({visibility : 'hidden'}) );
					$('ValidationMessage').innerHTML = "";
				}
			}
		},

		validate: function(id, element, value, required) {
			ajaxEngine.sendRequest("validateHandler", "ct=validate", "id=" + id, "element=" + element, "value=" + value, "required=" + required);
		}
	}

