function getElt(id) {
	return document.getElementById ? document.getElementById(id) :
	(document.all ? document.all[id] : 0);
}
	
function TeclouBkSpc(e){ 
	document.all;
	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else 
		if(document.layers) // Nestcape
			var tecla = e.which;
			
	if (tecla == 8) // numeros de 0 a 9
		return true;
	else
		return false;	
}
	
function tira_ponto(evento, obj){
	if (document.all) // Internet Explorer
		var tecla = e.keyCode;
	else if(document.layers) // Nestcape
		var tecla = e.which;	

		if (tecla == 46) tecla = 44;				
		if (tecla > 47 && tecla < 58)  // numeros de 0 a 9 e ',' e '.'
			if (tecla == 44) 
				if (campo.value.indexOf(",", 0) >= 0) 
					return false;
				else
					return true;
			else
				return true;
	else {
		if ((tecla != 8) && (tecla != 13)) // backspace e Enter
			event.keyCode = 0; //return false;
		else
			return true;
	}	
}

function Carregado() {
	if (getElt('aviso_carregando') != null) {
		getElt('aviso_carregando').style.visibility='hidden';
		getElt('aviso_carregando').style.display='none';
	}
}

var CamposErroFocus = new Array();
	
function ErroFocus(obj){
	if (getElt(obj) != null) {
		getElt(obj).focus();
		CamposErroFocus[obj] = getElt(obj).className;
		getElt(obj).className = "campos_aviso";
		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 TrocaFocus(obj){
	getElt(obj).focus();
}

function CodAlfa(act, div, nome_campo_form, tabela, campo_codalfa, classe_css ){

	param = null;
	
	if(act == 'gen'){
		param = '&nome_campo_form='+nome_campo_form+'&tabela='+tabela+'&campo_codalfa='+campo_codalfa+'&classe_css='+classe_css;
	}

	AddDivParaCarregar(div, 'ajax_gera_codalfa.php?', '', '', "GET");	
	AjaxRecarregaParametros(div, param);
}
													 
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(obj) {
	gerar_string_alfanumerica = gerar_string(3);
	obj.value = gerar_string_alfanumerica+aleatorio(999,9999);
}
	
function MostrarSimOUNao(obj, v){	

	if(v == 'nao'){
		obj.style.display = 'none';
		return;
	}
	if(v == 'sim'){
		obj.style.display = '';
		return;
	}
	
	if(v == ''){
		obj.style.display = 'none';
		return;
	}else{
		obj.style.display = '';
	}	
}
	
function AlternaCor(obj, over){
	if(over == 'out'){
		obj.style.backgroundColor = '#717171';
	}else{
			obj.style.backgroundColor = '#C11f1f';
	}
}


//Adicionado 28/09/2007


// JavaScript Document
//adiciona mascara de cnpj
function MascaraCNPJ(cnpj, e){
   if(mascaraInteiro(e) == false){
			e.returnValue = false;
			return false;
    }else{    
    	return formataCampo(cnpj, '00.000.000/0000-00', e);
		}
}

//adiciona mascara de cep
function MascaraCep(cep, e){
   if(mascaraInteiro(e) == false){
			e.returnValue = false;
			return false;
   }else{  
			return formataCampo(cep, '00.000-000', e);
	 }
}

//adiciona mascara de data
function MascaraData(data, e){
   if(mascaraInteiro(e) == false){
			e.returnValue = false;
			return false;
   }else{  
			return formataCampo(data, '00/00/0000', e);
	 }
}

//adiciona mascara ao telefone
function MascaraTelefone(tel, e){   
   if(mascaraInteiro(e) == false){
			e.returnValue = false;
			return false;
   }else{  
    return formataCampo(tel, '(00) 0000-0000', e);
	 }
}

//adiciona mascara ao CPF
function MascaraCPF(cpf, e){
   if(mascaraInteiro(e) == false){
			e.returnValue = false;
			return false;
   }else{  
    return formataCampo(cpf, '000.000.000-00', e);
	 }
}

//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 = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	if((!exp.test(data.value)) && (data.value != '')){
			alert('Formato de data inválido, use dd/mm/aaaa');    
			data.value = '';
			data.focus();
	}
}

function ValidaHora(HoraStr, obj) {
	
	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.focus();
		return false;
	}
		return true; // data é valida
}


//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 numero inteiro com mascara
function mascaraInteiro(e){
		var code = e.keyCode||e.charCode; 
    if (code < 48 || code > 57){
        e.returnValue = false;
        return false;
    }		
		return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
	
    var cnpj = ObjCnpj.value;
    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;
    
    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 != '')){
     alert('CNPJ Inválido!');
		 ObjCnpj.value = '';
		 ObjCnpj.focus();
		}
}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) {
	
    var boleanoMascara;
		
		if (document.all){ // Internet Explorer
			var Digitato = evento.keyCode;
		}else{
			if(document.layers){ // Nestcape
				var Digitato = evento.which;	
			}
		}
		
    //var Digitato = evento.keyCode;
    exp = /\-|\.|\/|\(|\)| /g
    campoSoNumeros = campo.value.toString().replace( exp, "" );
  
    var posicaoCampo = 0;    
    var NovoValorCampo="";
    var TamanhoMascara = campoSoNumeros.length;;
    
    if (Digitato != 8) { // backspace
        for(i=0; i<= TamanhoMascara; i++) {
            boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                || (Mascara.charAt(i) == "/"))
            boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(")
                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "))
            if (boleanoMascara) {
                NovoValorCampo += Mascara.charAt(i);
                  TamanhoMascara++;
            }else {
                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
                posicaoCampo++;
              }           
          }    
        campo.value = NovoValorCampo;
          return true;
    }else {
        return true;
    }
}