var Forms = {
	highlightColor : '#C9EAFC', // default. Use var FormOptions = { highlightColor: '' }; to verwrite
	clearField : function(obj)
	{
		$(obj).addClassName('active');
		$(obj).removeClassName('inactive');
		if (!obj.oldFieldValue) {
			obj.cleared = true;
			obj.oldFieldValue = obj.value;
			obj.value = '';
			
		}
	},
	restoreField : function(obj)
	{
		if (obj.oldFieldValue && !obj.value) {
			obj.cleared = false;
			obj.value = obj.oldFieldValue;
			obj.oldFieldValue = '';
			$(obj).addClassName('inactive');
			$(obj).removeClassName('active');
		}
	},
	checkFields : function(formelement)
	{
		var elements = $(formelement).getElements().findAll(function(s) {
			var s = $(s);
			switch (s.nodeName.toLowerCase()) {
				case 'select':
					return (s.readAttribute('title') == 'required' && s.options[s.selectedIndex].value.length < 1 );
					break;
				case 'input':
					switch (s.type) {
						case 'radio':
							return false;
							//return (s.readAttribute('title') == 'required' && !s.getValue() );
							break;
						case 'checkbox':
							return (s.readAttribute('title') == 'required' && !s.checked);
							break;
						case 'text':
							if (s.readAttribute('name').match(/mail/i)) {
								if (s.readAttribute('title') == 'required' && (!s.value.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i) || !s.cleared)) {
									s.removeClassName('active');
									return true;
								}
							}
							break;
					}
					break;
			}
			return (s.readAttribute('title') == 'required' && (s.value.length < 1 || !s.cleared));
		});
		
		if (elements && elements.length > 0) {
			Effect.multiple(elements, Effect.Highlight, {
				startcolor : Forms.highlightColor,
				duration: 2
			});
			return false;
		}
		
		return true;
	}
};
Object.extend(Forms, window.FormOptions || {});
