// Valida Emails
function chk_email(el) {
	var regEmail = /^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/;
	if(el.value.toUpperCase().match(regEmail)){
		var valid = true;
	}else{
		var valid = false;
		var msg = ('Insira um Email válido');
	}
	return {valid: valid, msg: msg}
}


// Valida Números
function chk_num(el) {
	if (el.suss) el.suss.destroy();
	var regNum = /[-+]?[0-9]*\.?[0-9]+/;
	if(el.value.match(regNum)){
		var valid = true;
		el.suss = new Element('span').addClass('ss').appendText('parabens!').injectBefore(el);
	}else{
		var valid = false;
		var msg = ('Insira um número válido');
	}
	return {valid: valid, msg: msg}
}



// Valida Datas
function chk_data(el) {
	data = el.value;
	if (data == "hoje" || data == "HOJE") {
		n = new Date();
		if (n.getDate() < 10) dia = "0"+n.getDate(); else dia = n.getDate();
		if ((n.getMonth()+1) < 10) mes = "0"+(n.getMonth()+1); else mes = (n.getMonth()+1);
		data = (dia)+(mes)+(n.getUTCFullYear());
	}
	data = data.replace(/\D/g,"");
	if (data.length == 4) {now = new Date(); data = data + now.getUTCFullYear();}
	if (data.length == 6) {
		ano = data.substr(-2);
		if (ano > 30) data = data.replace(/(\d{4})(\d)/,"$1"+"19"+"$2");
		else data = data.replace(/(\d{4})(\d)/,"$1"+"20"+"$2");
	}
	data = data.replace(/(\d{2})(\d)/,"$1/$2");
	data = data.replace(/(\d{2})(\d)/,"$1/$2");
	var vetor = data.split("/");
	var valid = true;
	var regData = /(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/[12][0-9]{3}/;
		if (!data.match(regData)) var valid = false;
		if (((vetor[1] == 4) || (vetor[1] == 6) || (vetor[1] == 9) || (vetor[1] == 11)) && (vetor[0] > 30 )) var valid = false;
		if (vetor[1] == 2){
			 if ((vetor[0] > 28) && ((vetor[2] % 4 ) != 0)) var valid = false;
			 if ((vetor[0] > 29) && ((vetor[2] % 4 ) == 0)) var valid = false;
		}
		el.value = data;
		if (!valid) var msg = ('Insira uma data válida');
	return {valid: valid, msg: msg}
}


// Valida Horários
function chk_hora(el){
	var horario = new Date();
	var regHora = /^([0-1][0-9]|[2][0-3])([0-5][0-9])$/;
	var regHora2 = /^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/;
	valid = true; msg= 0;

	if (el.value.length == 3) {el.value = '0' + el.value.replace(/(\d{1})(\d{2})/,"$1:$2");}
	if (el.value.length == 2) {el.value = el.value + ':00';}
	if (el.value.length == 1) {el.value = '0' + el.value + ':00';}
	if (el.value.length == 4) {el.value = el.value.replace(/(\d{2})(\d{2})/, "$1:$2");}

	hora = el.value;
	if ((!hora.match(regHora)) && (!hora.match(regHora2))) {valid=false; msg=('O horário precisa ser no formato normal ou militar');}
	return {valid:valid, msg:msg}
}


//Valida Tamanho
function chk_tam(el){
	var tamanho = 0;
	valid = true; msg =0;
	el.getProperty('class').split(' ').each(function(el){
		if (el.match(/tam_*/)){
			tamanho = el.replace(/tam_(\d)$/,"$1")
		};
	});

	if (el.value.length < tamanho) {valid=false;msg=('Este campo precisa de no mínimo '+tamanho+' dígitos');}

	return {valid:valid,msg:msg}
}


//Valida Campos de Confirmacao
function chk_eq(el){
	var equalizar = 0;
	valid = true; msg =0;
	el.getProperty('class').split(' ').each(function(el){
		if (el.match(/equal_*/)){	
			equalizar = el.replace(/equal_(\w+)$/, "$1");
		};
	});	

	if (el.value != $(equalizar).value) {valid=false;msg=('A confirmação não confere');}
	
	return {valid:valid,msg:msg}
}

