// JavaScript Document
//MASCARA PARA INPUT
function mascara(src, mask){
	var i = src.value.length;
	var saida = mask.substring(0,1);
	var texto = mask.substring(i)
	if (texto.substring(0,1) != saida){
		src.value += texto.substring(0,1);
	}
}

//VALIDA DATAS
reDate1 = /^\d{1,2}\/\d{1,2}\/(\d{1,4})$/;
reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;

function validaData(campo, pStr, pFmt){
	eval("reDate = reDate" + pFmt);
	if (reDate.test(pStr)) {
		//alert(pStr + " é uma data valida.");
	} else if (pStr != null && pStr != "") {
		alert(pStr + " NAO é uma data vAlida.");
		campo.value="";
		campo.focus();
		
	}
} // doDate

//FUNCAO CHECA EMAIL
function validaEmail(campo, valor){
	alert("entrei");
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))){
      if(valor!=''){
	   	alert("O e-mail digitado nao é um endereco valido.");
       	campo.focus();
	  }
    }	
}

//FUNCAO PARA CHECAGEM DE CPF
function ChecaCPF(campo,valorcampo){
	var NUMERO = String(valorcampo).replace(/\D/g, "").replace(/^0+/, "");
	
	var POSICAO, I, SOMA, DV, DV_INFORMADO;
	var DIGITO = new Array(10);
	// retira do numero informado os dois ultimos digitos
	DV_INFORMADO = NUMERO.substr(9,2);
	// Desmembra o numero do CPF na matrix DIGITO 
	for(I=0;I<=8;I++){
		DIGITO[I] = NUMERO.substr(I,1);
	}
		
	//Calcula o valor do 10º digito de verificacao
	POSICAO = 10;
	SOMA = 0;
	for(I=0;I<=8;I++){
		SOMA = SOMA + DIGITO[I] * POSICAO;
		POSICAO = POSICAO -1;
	}
	DIGITO[9] = SOMA % 11;
	if(DIGITO[9]<2){
		DIGITO[9] = 0;
	}else{
		DIGITO[9] = 11 - DIGITO[9];
	}
				
	//Calcula o valor do 11º digito de verificacao
	POSICAO=11;
	SOMA = 0;
	
	for(I=0;I<=9;I++){
		SOMA = SOMA + DIGITO[I] * POSICAO;
		POSICAO = POSICAO -1;
	}
	
	DIGITO[10] = SOMA % 11;
	if(DIGITO[10]<2){
		DIGITO[10] = 0;
	}else{
		DIGITO[10] = 11 - DIGITO[10];
	}
	
	//VERIFICA SE O DV CALCULADO É IGUAL AO INFOMADO
	DV = DIGITO[9] * 10 + DIGITO[10];
	if(DV != DV_INFORMADO){
		alert('CPF invalido');
		campo.value='';
		campo.focus();
	}		
}

function validaTelefone(campo){	
	//exp =  	
	if(!/\d{4}\-\d{4}/.test(campo.value) && campo.value!=""){		
		alert('Numero de Telefone Invalido!');
		campo.value="";
		campo.focus();
	}
}

/* ------------------ VALIDA FORMS -----------------------*/
function Validaform(form){
	for (i=0;i<form.length;i++){
		if (form[i].getAttribute("ehemail") == 1 && form[i].value!='' && !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form[i].value))){
			alert("Endereço de e-mail inválido");
			form[i].focus();
			return false;
			
		}else{
			if (form[i].getAttribute("obrigatorio") == 1){
				if (form[i].value == ""){
					var nome = form[i].name;
					alert("Campo de preenchimento obrigatório");
					form[i].focus();
					return false;
				}
			}
		}
	}
	return true;
}
/* ------------------ MASCARA DE TELEFONE ------------------ */
function formatar(src, mask){
	var i = src.value.length;
 	var saida = mask.substring(0,1);
  	var texto = mask.substring(i)
	if (texto.substring(0,1) != saida){
		src.value += texto.substring(0,1);
  	}
}
/* ------------------ AUTO TAB ENTRE CAMPOS ------------------ */
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
	var keyCode = (isNN) ? e.which : e.keyCode; 
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}
	function containsElement(arr, ele) {
		var found = false, index = 0;
		while(!found && index < arr.length)
			if(arr[index] == ele)
				found = true;
			else
				index++;
		return found;
	}
	function getIndex(input) {
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
			if (input.form[i] == input)index = i;
			else i++;
		return index;
	}
	return true;
}

function AbrirPop(pagina)
{
	window.open(pagina);
}