function isNull(anode){
if (anode.toString()=='undefined'){ return true;} 
	else{
		if (anode.toString()=='NULL'){ return true;} 
		else{
return false;
}
}
}
 if (navigator.appName.indexOf('Microsoft') != -1){  
     clientNavigator = "IE";  
 }else{  
     clientNavigator = "Other";  
 }  

function ondiv(id) {
    //var el1 = document.getElementById(id);
    //el1.style.display = "";
	document.getElementById(id).style.display = "";
}

function offdiv(id) {
	document.getElementById(id).style.display = "none";
}

function onoffdiv(id) {

var el = document.getElementById(id);
el.style.display = (el.style.display=="") ? "none" : "";
}

function fncDeletar(){
  if (confirm("Deseja realmente excluir o registro?")) {
	form_excluir.submit();
}
return false;
}
function fncValidar(form) {
var passed = false;
var ok = false
var campo 
for (i = 0; i < form.length; i++) {
  campo = form[i].name;
  if (form[i].getAttribute('verificar') == "sim") {
      if (form[i].type == "text" | form[i].type == "textarea" | form[i].type == "password" | form[i].type == "select-one") {
      if (form[i].value == "" | form[i].value == "http://") {
		form[i].className='alerta'
		form[i].focus();
        	if (form[i].getAttribute('ajuda') == null) 
        	{
        		alert("Campo com preenchimento obrigatório.");
			
        	}
        	else if (form[i].getAttribute('ajuda') != null)
        	{
        		alert(form[i].getAttribute('ajuda'));
			
        	}
        return passed;
        stop;
      }
    }
    else if (form[i].type == "radio") {
      for (x = 0; x < form[campo].length; x++) {
        ok = false;
        if (form[campo][x].checked) {
          ok = true;
          break;
        }
      }
      if (ok == false) {
        form[campo][0].focus();
		form[campo][0].select();
        alert("Informe uma das opcões");
	
        return passed;
        stop;
      }
    }
    var msg = ""
    if (form[i].getAttribute('validar') == "cpf") msg = checa_cpf(form[i].value);
    if (form[i].getAttribute('validar') == "cnpj") msg = checa_cnpj(form[i].value);
    if (form[i].getAttribute('validar') == "cpf_cnpj") {
	  msg = checa_cpf(form[campo].value);
	  if (msg != "") msg = checa_cnpj(form[campo].value);
	}
	if (form[i].getAttribute('validar') == "email") msg = verifica_email(form[i].value,1);
	if (form[i].getAttribute('validar') == "data") msg = verifica_data(form[i].value, 1);
	if (form[i].getAttribute('validar') == "hora") msg = verifica_hora(form[i].value, 1);
	if (form[i].getAttribute('validar') == "cep") msg = verifica_cep(form[i].value, 1);
    if (form[i].getAttribute('validar') == "numerico") msg = checa_numerico(form[i].value);
    if (msg != "") {
	  if (form[i].getAttribute('validar') == "cpf_cnpj") msg = "O CPF/CNPJ informado está incorreto.";
	  form[i].className='alerta'
      form[i].focus();
      form[i].select();
      alert(msg);
      
      return passed;
      stop;
    }
  }
}
//form.submit();
passed = true;
return passed;
}
function fncCarregando()
{
alert('carregando');
}

function desabilita_cor(campo) {
campo.className='campo'
}

function checa_numerico(String) {
var mensagem = "Valor inválido!"
var msg = "";
if (isNaN(String)) msg = mensagem;
return msg;
}

//function checa_email(campo) {
//var mensagem = "O E-mail informado está incorreto."
//var msg = "";
//var email = campo.match(/(\w+)@(.+)\.(\w+)$/);
//if (email == null){
//  msg = mensagem;
//  }
//return msg;
//}

function checa_cpf(CPF) {
var mensagem = "O CPF informado está incorreto."
var msg = "";

CPF = CPF.replace(".", "");
CPF = CPF.replace(".", "");
CPF = CPF.replace(".", "");
CPF = CPF.replace("-", "");

if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
  CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
  CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
  CPF == "88888888888" || CPF == "99999999999")
msg = mensagem;
soma = 0;
for (y=0; y < 9; y ++)
soma += parseInt(CPF.charAt(y)) * (10 - y);
resto = 11 - (soma % 11);
if (resto == 10 || resto == 11)resto = 0;
if (resto != parseInt(CPF.charAt(9)))
  msg = mensagem; soma = 0;
for (y = 0; y < 10; y ++)
  soma += parseInt(CPF.charAt(y)) * (11 - y);
resto = 11 - (soma % 11);
if (resto == 10 || resto == 11) resto = 0;
if (resto != parseInt(CPF.charAt(10)))
  msg = mensagem;
return msg;
}

function checa_cnpj(s) {
var mensagem = "O CNPJ informado está incorreto."
var msg = "";
var y;
s = s.replace(".", "");
s = s.replace(".", "");
s = s.replace("/", "");
s = s.replace("-", "");
var c = s.substr(0,12);
var dv = s.substr(12,2);
var d1 = 0;
for (y = 0; y < 12; y++)
{
d1 += c.charAt(11-y)*(2+(y % 8));
}
if (d1 == 0) msg = mensagem;
d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;
if (dv.charAt(0) != d1)msg = mensagem;
d1 *= 2;
for (y = 0; y < 12; y++)
{
d1 += c.charAt(11-y)*(2+((y+1) % 8));
}
d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;
if (dv.charAt(1) != d1) msg = mensagem;
return msg;
}

//function mascara_data(data){ 
//var mydata = ''; 
//mydata = mydata + data; 
//if (mydata.length == 2){ 
//mydata = mydata + '/'; 
//} 
//if (mydata.length == 5){ 
//mydata = mydata + '/'; 
//} 
//return mydata; 
//}


function verifica_data(data, obrigatorio) {
    //Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não
    //var strdata = data.value;
    var strdata = data
    var msg = "";
    if ((obrigatorio == 1) || (obrigatorio == 0 && strdata != "")) {
        //Verifica a quantidade de digitos informada esta correta.  
        if (strdata.length != 10) {
            msg = "Formato da data não é válido.Formato correto: dd/mm/aaaa.";
            return msg 

        }
        //Verifica máscara da data  
        if ("/" != strdata.substr(2, 1) || "/" != strdata.substr(5, 1)) {
            msg = "Formato da data não é válido.Formato correto: dd/mm/aaaa.";
            return msg 

        }
        dia = strdata.substr(0, 2)
        mes = strdata.substr(3, 2);
        ano = strdata.substr(6, 4);
        //Verifica o dia  
        if (isNaN(dia) || dia > 31 || dia < 1) {
            msg = "Formato do dia não é válido.";
            return msg 


        }
        if (mes == 4 || mes == 6 || mes == 9 || mes == 11) {
            if (dia == "31") {
                msg = "O mês informado não possui 31 dias.";
                return msg 
            }
        }
        if (mes == "02") {
            bissexto = ano % 4;
            if (bissexto == 0) {
                if (dia > 29) {
                    msg = "O mês informado possui somente 29 dias.";
                    return msg 

                }
            } else {
                if (dia > 28) {
                    msg = "O mês informado possui somente 28 dias.";
                    return msg 

                 }  
             }  
         }  
     //Verifica o mês  
         if (isNaN(mes) || mes > 12 || mes < 1){  
             msg = "Formato do mês não é válido.";
             return msg 
         }  
         //Verifica o ano  
         if (isNaN(ano)){  

             msg = "Formato do ano não é válido.";
             return msg 

         }
     }
     return msg;
 }

 function verifica_hora(hora, obrigatorio) {
     var msg = "";
     if ((obrigatorio == 1) || (obrigatorio == 0 && hora != "")) {
         if (hora.length < 5) {
             msg = "Formato da hora inválido.Por favor, informe a hora no formato correto: hh:mm";
             //return msg  
         }
         if (hora.substr(0, 2) > 23 || isNaN(hora.substr(0, 2))) {
             msg = "Formato da hora inválido.";
             //return msg  
         }
         if (hora.substr(3, 2) > 59 || isNaN(hora.substr(3, 2))) {
             msg = "Formato do minuto inválido.";
             //return msg  
         }
     }
     return msg;

 }  
   
 function verifica_email(email, obrigatorio){  
 //Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não
     //var email = document.getElementById(email);
     var msg = "";
     if((obrigatorio == 1) || (obrigatorio == 0 && email != "")){  
         if(!email.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z0-9._-]+)/gi)){  
             msg= "Informe um e-mail válido"
             return msg 
         }
     }  
     return msg
 }  
   
 function Verifica_Tamanho(campo, tamanho){  
 //usado para campos textarea onde não se tem o atributo maxlenght  
     var campo = document.getElementById(campo);  
     if(campo.value.length > tamanho){  
         alert("O campo suporta no máximo " + tamanho + " caracteres.");  
         campo.focus();  
         return false  
     }  
 }  
   
 function verifica_cep(cep, obrigatorio){  
 //Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não  
     //var cep    = document.getElementById(cep);
     //var strcep = cep.value;
     //alert(cep);
 
     
     var strcep = cep
     var msg = "";
     if((obrigatorio == 1) || (obrigatorio == 0 && strcep != "")){  
         if (strcep.length != 9){  
             msg="CEP informado inválido."
             return msg
         }else{  
             if (strcep.indexOf("-") != 5){  
                 msg="Formato de CEP informado inválido."
                 
                 return msg
             }else{  
                 if (isNaN(strcep.replace("-","0"))){  
                     msg="CEP informado inválido."
                     return msg  
                 }  
             }  
         }
     }
     return msg       
 }  
   




 function fncNumeros(evnt){
     //Função permite digitação de números
     //alert(evnt.keyCode);
     if (clientNavigator == "IE"){
         if ((evnt.keyCode < 48 || evnt.keyCode > 57) && evnt.keyCode != 46 && evnt.keyCode != 45 && evnt.keyCode != 44) {  
             return false  
         }
     } else {
     //alert(evnt.charCode);
     if ((evnt.charCode < 48 || evnt.charCode > 57) && evnt.charCode != 46 && evnt.keyCode != 45 && evnt.charCode != 0 && evnt.keyCode != 44) {  
             return false  
         }  
     }  
 }  

 function mascara_data(input, evnt){  
 //Ajusta máscara de Data e só permite digitação de números  
     if (input.value.length == 2 || input.value.length == 5){  
         if(clientNavigator == "IE"){  
             input.value += "/";  
         }else{  
             if(evnt.keyCode == 0){  
                 input.value += "/";  
             }  
         }  
     }  
 //Chama a função Bloqueia_Caracteres para só permitir a digitação de números
     return fncNumeros(evnt);  
 }  
   
function mascara_hora(input, evnt){  
 //Ajusta máscara de Hora e só permite digitação de números  
     if (input.value.length == 2){  
         if(clientNavigator == "IE"){  
             input.value += ":";  
         }else{  
             if(evnt.keyCode == 0){  
                 input.value += ":";  
             }  
         }  
     }  
 //Chama a função Bloqueia_Caracteres para só permitir a digitação de números
     return fncNumeros(evnt);  
 }


 function mascara_cnpj(input, evnt) {
     //alert(input.value);
     input.value = input.value.replace(/\D/g, "")                           //Remove tudo o que não é dígito
     input.value = input.value.replace(/^(\d{2})(\d)/, "$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
     input.value = input.value.replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
     input.value = input.value.replace(/\.(\d{3})(\d)/, ".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
     input.value = input.value.replace(/(\d{4})(\d)/, "$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
     return fncNumeros(evnt)
 }


 function mascara_cpf(input, evnt) {
     input.value = input.value.replace(/\D/g, "")                    //Remove tudo o que não é dígito
     input.value = input.value.replace(/(\d{3})(\d)/, "$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
     input.value = input.value.replace(/(\d{3})(\d)/, "$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
     //de novo (para o segundo bloco de números)
     input.value = input.value.replace(/(\d{3})(\d{1,2})$/, "$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
     return fncNumeros(evnt) 
 }



 function mascara_tel(input,evnt) {
     input.value = input.value.replace(/\D/g, "")                 //Remove tudo o que não é dígito
     input.value = input.value.replace(/^(\d\d)(\d)/g, "($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
     input.value = input.value.replace(/(\d{4})(\d)/, "$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
     return fncNumeros(evnt) 
 }

 //function mascara_site(v,evnt) {
     //Esse sem comentarios para que você entenda sozinho ;-)
 //    v.value = v.value.replace(/^http:\/\/?/, "")
  //   dominio = v
  //   caminho = ""
  //   if (v.value.indexOf("/") > -1)
  //       dominio = v.split("/")[0]
  //   caminho.value = v.value.replace(/[^\/]*/, "")
  //   dominio = dominio.value.replace(/[^\w\.\+-:@]/g, "")
  //   caminho = caminho.value.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g, "")
  //   caminho = caminho.value.replace(/([\?&])=/, "$1")
  //   if (caminho != "") dominio = dominio.value.replace(/\.+$/, "")
  //   v = "http://" + dominio + caminho
  //   return v
// }


   
 function mascara_cep(input, evnt){  
 //Ajusta máscara de CEP e só permite digitação de números  
     if (input.value.length == 5){  
         if(clientNavigator == "IE"){  
             input.value += "-";  
         }else{  
             if(evnt.keyCode == 0){  
                 input.value += "-";  
             }  
         }  
     }  
 //Chama a função Bloqueia_Caracteres para só permitir a digitação de números
     return fncNumeros(evnt);  
 }


 function janela(width, height, nome) {
     var top; var left;
     top = ((screen.height / 2) - (height / 2))
     left = ((screen.width / 2) - (width / 2))
     window.open('', nome, 'width=' + width + ',height=' + height + ',scrollbars=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,left=' + left + ',top=' + top);
 }
 function recebe_arquivo(campo, arquivo, form) {
     var foto = 'img_' + campo
     //document.form_principal.campo.value = arquivo;
     document.getElementById(campo).setAttribute('value', arquivo);
     //document.form_principal.imagem.src = arquivo;
     //document.getElementById('imagem').setAttribute('src', arquivo);
 }
 
 //-------------------------------------------------------------
//Função para alteração de virgula para ponto
//Recebe o número que será tratado
//Retorna o número com a vírgula transformada em ponto
function convertevirgulaponto(numero)
 {
	var i = 0; 		//Variável auxilizar
	var aux = ""; 	//Variável auxiliar para conversão
	for (i=0;i<numero.length;i++)
		if (numero.charAt(i)==",")
			aux = aux + ".";
		else
			aux = aux + numero.charAt(i);
			
	return(aux);
 }
