function getElt(id) {
	return document.getElementById ? document.getElementById(id) :
	(document.all ? document.all[id] : 0);
}
	
var CamposErroFocus = new Array();
	
function ErroFocus(obj){
	if (getElt(obj) != null) {
		getElt(obj).focus();
		CamposErroFocus[obj] = getElt(obj).className;
		getElt(obj).className = "invalid";
		aux_fun = "ErroFocusCampoNormal('" + obj + "')";
		setTimeout(aux_fun, 8000);
	}
	else {
		alert('nao encontrado ' + obj);
	}
}


function ErroFocusCampoNormal(obj) {
	if (getElt(obj) != null) {
		getElt(obj).className = CamposErroFocus[obj];
	}
	else {
		alert('nao encontrado ' + obj);
	}
}
	

									 
function aleatorio(inferior,superior){
		numPossibilidades = superior - inferior
		aleat = Math.random() * numPossibilidades
		aleat = Math.floor(aleat)
		return parseInt(inferior) + aleat
} 

function gerar_string(tamanho) {
	//Declaramos os caracteres que irão ser utilizados para gerar nossa string
	var caracteres = "ABCDEFGHIJKLMNOPQRSTUVWXTZ";
	//Declaramos a variável gerar_string_alfanumerica como vazia para logo abaixo adicionarmos a ela a quantidade de caracteres que forem passadas pela função e gerados aleatoriamente no for mais abaixo abaixo
	var gerar_string_alfanumerica = "";
	for(var i=0; i<tamanho; i++) {
		var valor_aleatorio = Math.floor(Math.random() * caracteres.length);
		gerar_string_alfanumerica += caracteres.substring(valor_aleatorio, valor_aleatorio + 1);
	}
	//Retornamos a string alfanumérica gerada
	return gerar_string_alfanumerica;
}	

function GeraCodAlfa() {
	gerar_string_alfanumerica = gerar_string(3);
	return gerar_string_alfanumerica+aleatorio(999,9999);
}


//valida telefone
function ValidaTelefone(tel){
    exp = /\(\d{2}\)\ \d{4}\-\d{4}/
    if(!exp.test(tel.value)){
     alert('Numero de Telefone Invalido!');
		}
}

//valida CEP
function ValidaCep(cep){
    exp = /\d{2}\.\d{3}\-\d{3}/
    if((!exp.test(cep.value)) && (cep.value != '')){
        alert('Cep Inválido!');
				cep.value = '';
				cep.focus();
		}
}

//valida data
function ValidaData(data){
	exp = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[12])\/[12][0-9]{3}$/;
	if((!exp.test(data)) && (data != '')){
		data = "";
		return false;
	}
	return true;
}

function ValidaHora(HoraStr, obj) {
	if(obj.value != ''){
		var er_fh = /^([0-1][0-9]|[2][0-3]):([0-5])\d:([0-5])\d$/;
	
		if ((obj.value.length == 3) || (obj.value.length == 2)){
			if (obj.value.length == 3) obj.value = obj.value + "00"
			else obj.value = obj.value + ":00";
			HoraStr = obj.value;
		}
		
		if ((obj.value.length == 5) || (obj.value.length == 6)){
			if (obj.value.length == 5) aux_hora = ":00"
			else aux_hora = "00";
			
			if (er_fh.test(HoraStr + aux_hora)) {
				HoraStr = HoraStr + aux_hora;
				obj.value = HoraStr;
			}
		}
		
		if (!(er_fh.test(HoraStr))) {
			alert("Hora inválida");
			obj.value = '';
			obj.focus();
			return false;
		}
			obj.value = HoraStr.substr(0,5);
			return true; // data é valida
	}
}

function ValidaEmail(email) {
	if(email == "") return true;
	var Regex =/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!Regex.test(email)) return false;
	return true;
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
    
		var cpf = Objcpf.value;
    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" );
		
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;
    
    for(i=0;i<9;i++){
			soma1+=eval(cpf.charAt(i)*(vlr-1));
			soma2+=eval(cpf.charAt(i)*vlr);
			vlr--;
    }    
		
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2 = (((soma2+(2*soma1))*10)%11);
    
    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado){
     	alert('CPF Inválido!');      
			Objcpf.value = '';
			Objcpf.focus();
		}
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
		
    var cnpj = ObjCnpj;
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;
    if(ObjCnpj == "00.000.000/0000-00") return false;
		
    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" );
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
        
    for(i = 0; i<valida.length; i++){
        dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);    
        dig2 += cnpj.charAt(i)*valida[i];    
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
    
    if( (((dig1*10)+dig2) != digito) && (cnpj != '')){
     return false;
		}
		return true;
}
