$(window).addEvent('domready', function() {
	var checker = function(e, first) {
		var errors = $('message-list-' + this.id);
		if (errors == null) return;
		var error = errors.getElement('li.message');
		if (error != null) {
			if (first) return;
			error.dispose();
		}
		if (this.value && this.compare.value && (this.value != this.compare.value)) {
			error = new Element("li", {
				'class': 'error-message message',
				'text': this.invalidError
			});
			errors.grab(error);
		} else if (this.value) {
			error = new Element('li', {
				'class': 'success-message message',
				'text': ''
				//,'title': this.description
			});
			errors.grab(error);
		}
	};
	var listener = function() {
		this.check();
	};
	var callback = function() {
		this.compare.check();
	};
	var params = globalParams["form/compareValidator.js"];
	for ( var key in params) {
		var el = $(key);
		el.invalidError = params[key].error;
		el.description = params[key].description;
		el.check = checker;
		el.addEvent("keyup", listener);
		el.addEvent("blur", listener);
		var compare = $(params[key].compare);
		compare.compare = el;
		el.compare = compare;
		compare.addEvent("keyup", callback);
		compare.addEvent("blur", callback);
		checker.call(el, null, true);
	}
});
