var App = App || { };

App.validate = function(form)
{
	var c = form.elements;
	
	var formName = (form.name)
	             ? form.name
	             : 'form';

	var rules = Forms[formName];
	var formValidates = true;
	
	for(var key in rules)
	{
		var element = form[key];
		var ruleset = rules[key];
		
		for(var i in ruleset)
		{
			var validatorName = ruleset[i].name;
			var elementValidates = App.Validator[validatorName](element.value, ruleset[i].parameters);
			
			if(elementValidates)
			{
				YAHOO.util.Dom.removeClass(element, 'invalid');
			}
			else 
			{
				YAHOO.util.Dom.addClass(element, 'invalid');
				
				formValidates = false;
				break;
			}
		}
	}
		
	return formValidates;
}

App.Validator = {
	Zend_Validate_NotEmpty: function(value, parameters)
	{
		if(value != '')
			return true;
			
		return false;
	},

	Zend_Validate_Alnum: function(value, parameters)
	{
		if(parameters.allowWhiteSpace)
			return value.match(/^[a-z0-9\s]*$/i);
		else
			return value.match(/^[a-z0-9]*$/i);
	}
};

