<!--
/* Mensagens de Alerta */
var regEx = new Array();
regEx['msg_numero']= 'O campo permite apenas números.';
regEx['numero'] = /^[0-9]*$/;
regEx['cut_numero']= /[^0-9]/;

regEx['msg_cep']= regEx['msg_numero'];
regEx['cep'] = /^[\-0-9]{0,20}$/;
regEx['cut_cep']= /[^0-9]/;

regEx['msg_telefone']= regEx['msg_numero'];
regEx['telefone'] = /^[\-\ 0-9]{0,20}$/;
regEx['cut_telefone']= /[^0-9]/;

regEx['msg_email']='O e-mail digitado é inválido.';
regEx['email'] = /^([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([a-z,A-Z]){2,3}([0-9,a-z,A-Z])?$/;
regEx['cut_email']= /[^0-9^a-z^@^_^\.^-]/;

regEx['msg_data']='A data digitada é inválida.';
regEx['data'] = /^[^@]+@[^@]+.[a-z]{2,}$/; //não feito
regEx['cut_data']= /[^0-9^a-z^@^_]/; //não feito

/*Função de Validação de Formulário*/ 
function valida(formulario,campos){
	var args=campos.split(",");
	var frm=document.getElementById(formulario);
	var validado=true;

	for (i=0;i<args.length;i++){
		//alert(args[i])
		
		//Verifica e Valida tipo
		var index=args[i].indexOf(":");
		if( index!=-1 ) {
			var tipo=args[i].slice(0,index);
			args[i]=args[i].slice(index+1,args[i].length);

			//Verifica se o campo existe no formulário
			var erro=false;
			try{ obj=eval("frm."+args[i]) }
			catch(e){ erro=true }
			if (erro) {
				alert("-- Erro --\nO campo \""+args[i]+"\" não existe.");
				return;
				}

			if (!validaTipo( tipo, obj.value )) {
				obj.select();
				obj.focus()
				return;
				}
			}
		else {
			try{ obj=eval("frm."+args[i]) }
			catch(e){ erro=true }
			if (erro) {
				alert("-- Erro --\nO campo \""+args[i]+"\" não existe.");
				return;
				}
			}

		//Verifica e alerta se o campo está vazio e seleciona o campo
		if (!obj.length){
			if (!obj.value) {
				alert("O campo \""+obj.name+"\" não pode estar vazio.");
				obj.focus();
				validado=false;
				return;
				}
			} else {
				cflag = false
				for (k=0;k<obj.length;k++) if(obj[k].checked) cflag=true;
				if (!cflag){
					alert("Marque pelo menos uma opção no campo \""+obj[0].name+"\".");
					validado=false;
					return;
					}
			}
		}
		if (validado) {
			try{frm.envia.value='1'}catch(e){};
			alert('E-mail enviado com sucesso!');
			frm.submit();
			}
	}

function validaTipo(tipo,valor){
	switch(tipo){
		case("email"): result=vEmail(valor);break;
		case("tel"):   result=vTel(valor);break;
		case("num"):   result=vNumero(valor);break;
		default:alert("Tipo inexistente: \""+tipo+"\"")
		}
	return result;
	}

/*E-MAIL*/
function vEmail(email){
	//Caracteres Inválidos
	var invChr = /^[^@]+@[^@]+.[a-z]{2,}$/;
	if ( email.search(invChr) == -1 )
		alert(regEx['msg_email']);
	else return true;
	}
	
/*TELEFONE*/
function vTel(tel){
	//Caracteres Inválidos
	var invChr = /[0-9]|\-/;
	if ( tel.search(invChr) == -1 )
		alert("O Telefone digitado é inválido, digite apenas números.");
	else return true;
	}

/*NÚMERO*/
function vNumero(num){
	//Caracteres Inválidos
	var invChr = /^[0-9]{0,255}$/;
	if ( num.search(invChr) == -1 )
		alert(msg['numero']);
	else return true;
	}

/*CPF*/
function vCEP(cep){
	//Caracteres Inválidos
	var regEx = /^[0-9]{0,255}$/;
	if ( cep.search(regEx) == -1 ){
		alert(msg['numero']);
		cep.split(regEx).join('');
		}
	else return true;
	}

function valide(tipo,str){
	//Caracteres Inválidos
	var result;
	if ( str.search(regEx[tipo]) == -1 ){
		alert(regEx['msg_'+tipo]);
		}
	result=str.split(regEx['cut_'+tipo]).join('');
	return result;
	}

function fCEP(cep){
	var result="";
	for (i=0;i<cpf.length;i++){
		if (cpf.charAt(i)!='-') result+=cpf.charAt(i);
		if (i==4) result+='-';
		}
	//alert(event.keyCode)
	return result;
	}

function fTel(tel){
	var result="";
	for (i=0;i<tel.length;i++){
		if (tel.charAt(i)!='-'&&tel.charAt(i)!=' ') result+=tel.charAt(i);
		if (tel.length-i==5) result+='-';
		if (tel.length-i==9) result+=' ';
		if (tel.length-i==11) result+=' ';
		}
	//alert(event.keyCode)
	return result;
	}

/*Função que permite o usuário navegar com as
setas dentro do campo, dentre outras teclas*/
function teclaCampo(){
	switch(window.event.keyCode){
		case(8) :result=false;break;
		case(46):result=false;break;
		case(39):result=false;break;
		case(40):result=false;break;
		case(16):result=false;break;
		case(35):result=false;break;
		case(36):result=false;break;
		case(37):result=false;break;
		default: result=true;
		}
		return result;
	}

/*Recorta o lixo depois do campo ter sido validado*/
function vRecorta(obj,regEx,valido){
	if(!valido){
		obj.value=obj.value.split(regEx).join('');
		obj.focus();
		}
	}
-->
