Event.observe(window, 'load', function() {
	for (var i=0; i<document.forms.length; i++) {
		valida(document.forms[i]|| document.forms[i].name);
	}
});

var valida = function(form){
	Event.observe(form, 'submit', function(event){
		var campos = form.getElements();

		for (var i=0; i<campos.length; i++) {
			var validation = campos[i].readAttribute('validationtype');
			var obrigatorio = campos[i].readAttribute('obrigatorio') == 'true' ? true : false;

			tbody = campos[i].up('tbody');
			valida = (tbody) ? tbody.hasClassName('invisivel') : false;
			
			if (!valida) {
				if (validation == 'DAT') {
					var data = campos[i].value;

					if ((data != '') || obrigatorio) {
		
						if (data == '') {
							alert('Data em branco');
							campos[i].focus();
							event.stop();
							campos[i].writeAttribute('class', 'erro');

							return;
						}

						var validou = Date.parseString(data, 'd/M/y');

						if (!validou) {
							campos[i].focus();
							alert('Data inválida');
							event.stop();
							campos[i].writeAttribute('class', 'erro');
						
							return;
						}
					}	
				}
			}
		}
	});
}