function custRound(x,places) {
  return (Math.round(x*Math.pow(10,places)))/Math.pow(10,places)
}

function Hoje() {
ContrRelogio = setTimeout ("Hoje()", 1000)
Hr = new Date()
hh = Hr.getHours()
min = Hr.getMinutes()
seg = Hr.getSeconds()
HoraAtual = ((hh < 10) ? "0" + hh + ":" : hh + ":")
HoraAtual += ((min < 10) ? "0" + min + ":" : min + ":")
HoraAtual += ((seg < 10) ? "0" + seg : seg)
relogio.value = HoraAtual
}

function calculaHora(hora)
{
 var relogio = Hoje()
 setTimeout('calculaHora(relogio)',1000)
 Hr = new Date()
 hh = Hr.getHours()
 min = Hr.getMinutes()
 seg = Hr.getSeconds()
 
 total_segundos  = hh * 60 * 60;
 total_segundos += min * 60;
 total_segundos += seg;
 
 hora = hora.split(":");
 hora_segundos  = parseInt(hora[0]) * 60 * 60;
 hora_segundos += parseInt(hora[1]) * 60;
 hora_segundos += parseInt(hora[2]);
 
 segundos = total_segundos - hora_segundos;
 
 minutos  = Math.floor(parseInt(segundos)/60);
 segundos = segundos % 60;
 horas    = Math.floor(parseInt(minutos)/60);
 minutos  = minutos % 60;
 
 diferenca  = ((horas<10)? "0" + horas + ":" : horas + ":");
 diferenca += ((minutos<10)? "0" + minutos + ":" : minutos + ":");
 diferenca += ((segundos<10)? "0" + segundos : segundos);
 
 relogio.value =  diferenca;
}

function abreJanela(valor) {
  janela = window.open('../projfat/formProjFat.php?numfat='+valor,'JanelaPesquisa', 'left=250,top=100,scrollbars=yes,location=no,toolbar=no,menubar=no,status=yes,width=800,height=500,resizable=no');
}
function isEmpty(str) {
  if(str==null) return true;
  for(var intLoop=0; intLoop<str.length; intLoop++)
    if(" "!=str.charAt(intLoop))
      return false;
  return true; 
}

function autoTab(at_campo,prox_campo,maximo)
{
	var tamanho = at_campo.value.length;
	if(tamanho == maximo)
   		document.getElementById(prox_campo).focus();
}


function blockNonNumbers(obj, e) {
  var key;
  var isCtrl = false;
  var keychar;
  var reg;
  if(window.event) {
    key = e.keyCode;
    isCtrl = window.event.ctrlKey;
  } else if(e.which) {
    key = e.which;
    isCtrl = e.ctrlKey;
  }
  if(isNaN(key) || key==8 || isCtrl) return true;
  keychar = String.fromCharCode(key);
  reg = /\d/;
  return reg.test(keychar);
}


function validaCPF() {
 cpf = document.validacao.cpfID.value;
 erro = new String;
 if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n";
 var nonNumbers = /\D/;
 if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
 if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
 erro += "Numero de CPF invalido!"
 }
 var a = [];
 var b = new Number;
 var c = 11;
 for (i=0; i<11; i++){
   a[i] = cpf.charAt(i);
   if (i < 9) b += (a[i] * --c);
 }
 if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
 b = 0;
 c = 11;
 for (y=0; y<10; y++) b += (a[y] * c--);
   if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
   if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
     erro +="Digito verificador com problema!";
   }
   if (erro.length > 0){
    alert(erro);
    return false;
   }
 return true;
}

function validaCNPJ(valor) {
 CNPJ = valor;
 erro = new String;
 if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! \n\n";
 if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
 if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
 }
 //substituir os caracteres que não são números
 if(document.layers && parseInt(navigator.appVersion) == 4){
   x = CNPJ.substring(0,2);
   x += CNPJ. substring (3,6);
   x += CNPJ. substring (7,10);
   x += CNPJ. substring (11,15);
   x += CNPJ. substring (16,18);
   CNPJ = x;
 } else {
   CNPJ = CNPJ. replace (".","");
   CNPJ = CNPJ. replace (".","");
   CNPJ = CNPJ. replace ("-","");
   CNPJ = CNPJ. replace ("/","");
 }
 var nonNumbers = /\D/;
 if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n";
 var a = [];
 var b = new Number;
 var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
 for (i=0; i<12; i++){
   a[i] = CNPJ.charAt(i);
   b += a[i] * c[i+1];
 }
 if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
 b = 0;
 for (y=0; y<13; y++) {
   b += (a[y] * c[y]);
 }
 if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
 if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
   erro +="Dígito verificador com problema!";
 }
 if (erro.length > 0){
   return false;
 } else {
   //alert("CNPJ valido!");
 }
 return true;
}


function formataCpf(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  var tamanho = valor.length;
  if(tamanho>3) {
    valor = valor.substring(0, 3) + '.' + valor.substring(3);
    if(tamanho>5)
      valor = valor.substring(0, 7) + '.' + valor.substring(7);
      if(tamanho>7)
         valor = valor.substring(0, 11) + '-' + valor.substring(11);
  }
  campo.value = valor;
}

function formataCnpj(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  var tamanho = valor.length;
  if(tamanho>2) {
    valor = valor.substring(0, 2) + '.' + valor.substring(2);
    if(tamanho>4)
      valor = valor.substring(0, 6) + '.' + valor.substring(6);
      if(tamanho>6)
         valor = valor.substring(0, 10) + '/' + valor.substring(10);
         if(tamanho>8)
            valor = valor.substring(0, 15) + '-' + valor.substring(15);
  }
  campo.value = valor;
}

function formataIE(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  var tamanho = valor.length;
  if(tamanho>2) {
    valor = valor.substring(0, 3) + '.' + valor.substring(3);
    if(tamanho>4)
      valor = valor.substring(0, 7) + '.' + valor.substring(7);
  }
  campo.value = valor;
}

function formataCep(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  var tamanho = valor.length;
  if(tamanho>4){
      valor = valor.substring(0, 5) + '-' + valor.substring(5);
  }
  campo.value = valor;
}

function formataTel(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  var tamanho = valor.length;
  if(tamanho>2) {
    valor = '(' + valor.substring(0, 2) + ')' + valor.substring(2);
    if(tamanho>4)
      valor = valor.substring(0, 8) + '-' + valor.substring(8);
  }
  campo.value = valor;
}

function formataData(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  var tamanho = valor.length;
  if(tamanho>2) {
    valor = valor.substring(0, 2) + '/' + valor.substring(2);
    if(tamanho>4)
      valor = valor.substring(0, 5) + '/' + valor.substring(5);
  }
  campo.value = valor;
}

function formataHora(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  var tamanho = valor.length;
  if(tamanho==3)
    valor = valor.substring(0, 1) + ':' + valor.substring(1);
  else if(tamanho==4)
    valor = valor.substring(0, 2) + ':' + valor.substring(2);
  campo.value = valor;
}

function formataValor(campo) {
  var reg1 = new RegExp('[^0-9]', 'g');
  var valor = campo.value.replace(reg1, '');
  if(valor.charAt(0)=='0') {
    valor = valor.substring(1);
  }
  if(valor.charAt(0)=='0')
    valor = valor.substring(1);
  var tamanho = valor.length;
  if(tamanho==1)
    valor = '0,0' + valor;
  else if(tamanho==2)
    valor = '0,' + valor;
  else if(tamanho>2) {
    /*if(tamanho>5)
      valor = valor.substring(0, valor.length-5) + '.' + valor.substring(valor.length-5);*/
    valor = valor.substring(0, valor.length-2) + ',' + valor.substring(valor.length-2);
  }
  campo.value = valor;
}

function validaData(campoData) {
  var valorData = campoData.value;
  if(isEmpty(valorData))
    return;
  if(valorData.length>0 && valorData.length!=10) {
    alert('Data inválida');
    campoData.focus();
    return;
  }
  if(valorData.charAt(2)!='/' || valorData.charAt(5)!='/') {
    alert('Data inválida');
    campoData.focus();
    return;
  }
  var dia = valorData.substr(0,2);
  var mes = valorData.substr(3,2);
  var ano = valorData.substr(6,4);
  if(isNaN(dia) || isNaN(mes) || isNaN(ano) || ano<0001) {
    alert('Data inválida');
    campoData.focus();
    return;
  }
  if(mes==01 || mes==03 || mes==05 || mes==07 || mes==08 || mes==10 || mes==12) {
    if(dia<=0 || dia>31) {
      alert('Data inválida');
      campoData.focus();
      return;
    }
  } else if(mes==04 || mes==06 || mes==09 || mes==11) {
    if(dia<=0 || dia>30) {
      alert('Data inválida');
      campoData.focus();
      return;
    }
  } else if(mes==02) {
    if((ano%4==0 && !ano%100==0) || (ano%400==0)) {
      if(dia<=0 || dia>29) {
        alert('Data inválida');
        campoData.focus();
        return;
      }
    } else if(dia<=0 || dia>28) {
      alert('Data inválida');
      campoData.focus();
      return;
    }
  } else {
    alert('Data inválida');
    campoData.focus();
    return;
  }
}

function isIntervaloDatasValido(campoInicio, campoFim) {
  var dataInicio = campoInicio.value;
  var dataFim = campoFim.value;
  if(!isEmpty(dataFim) && !isEmpty(dataInicio)) {
    var diaInicio = dataInicio.substr(0,2);
    var mesInicio = dataInicio.substr(3,2);
    var anoInicio = dataInicio.substr(6,4);
    var diaFim = dataFim.substr(0,2);
    var mesFim = dataFim.substr(3,2);
    var anoFim = dataFim.substr(6,4);
    if((anoInicio > anoFim) ||
       (anoInicio == anoFim && mesInicio > mesFim) ||
       (anoInicio == anoFim && mesInicio == mesFim && diaInicio >= diaFim))
      return false;
  }
  return true;
}

function validaIntervaloDatas(campoInicio, campoFim) {
  var dataInicio = campoInicio.value;
  var dataFim = campoFim.value;
  if((isEmpty(dataFim) || isEmpty(dataInicio)))
    alert('As duas datas precisam estar preenchidas');
  var diaInicio = dataInicio.substr(0,2);
  var mesInicio = dataInicio.substr(3,2);
  var anoInicio = dataInicio.substr(6,4);
  var diaFim = dataFim.substr(0,2);
  var mesFim = dataFim.substr(3,2);
  var anoFim = dataFim.substr(6,4);
  if((anoInicio > anoFim) ||
     (anoInicio == anoFim && mesInicio > mesFim) ||
     (anoInicio == anoFim && mesInicio == mesFim && diaInicio >= diaFim)) {
    alert('A data final deve ser maior do que a inicial');
    return false;
  } else
    return true;
}

function validaHorario(campoHorario) {
  var valorHorario = campoHorario.value;
  if(isEmpty(valorHorario))
    return;
  if(valorHorario.length==1)
    campoHorario.value = '00:0' + valorHorario;
  if(valorHorario.length==2)
    campoHorario.value = '00:' + valorHorario;
  if(valorHorario.length==4)
    campoHorario.value = '0' + valorHorario;
  var valorHorario = campoHorario.value;
  var hora = valorHorario.substring(0, 2);
  var minuto = valorHorario.substring(3);
  if(hora>23 || minuto>59) {
    alert('Horário inválido');
    campoHorario.focus();
    return;
  }
}

function validaDuracao(campoDuracao) {
  var valorDuracao = campoDuracao.value;
  if(isEmpty(valorDuracao))
    return;
  if(valorDuracao.length==1)
    campoDuracao.value = '00:0' + valorDuracao;
  if(valorDuracao.length==2)
    campoDuracao.value = '00:' + valorDuracao;
  if(valorDuracao.length==4)
    campoDuracao.value = '0' + valorDuracao;
  var valorDuracao = campoDuracao.value;
  var qtdHoras = valorDuracao.substring(0, 2);
  var qtdMinutos = valorDuracao.substring(3);
  if(qtdMinutos>59) {
    alert('Duração inválida');
    campoDuracao.focus();
    return;
  }
}

function validaEmail(email) {
  if(email.length<5)
    return false;
  var arrTemp = email.split("@");
  if(arrTemp.length!=2)
    return false;
  var emailLeftPart = arrTemp[0];
  var emailRightPart = arrTemp[1];
  if((emailLeftPart.length==0) || (emailRightPart.length==0))
    return false;
  arrTemp = emailRightPart.split(".");
  if(arrTemp.length<2)
    return false;
  for(var i=0; i<arrTemp.length; i++) {
    if(arrTemp[i].length==0)
    return false;
  }
  return true;
}

function confirmaSenha(s1,s2) {
	if(s1 != s2)
		return false;
	else
		return true;
}

function enter(e)
{
	var kc; 
        if(window.event)
          kc = window.event.keyCode; 
        else if(e)
          kc = e.which;
        else
          return true; 
        if(kc==13) {
          doSubmitLogin();
          return false;
        }
}
function Saudacao()
{
   var today = new Date();
   var hrs = today.getHours();
   document.writeln("<CENTER>");
   document.writeln("<h3>");
   if (hrs < 6)
      document.write("Boa Madrugada");
   else if (hrs < 12)
      document.write("Bom Dia");
   else if (hrs <= 18)
      document.write("Boa Tarde");
   else
      document.write("Boa Noite");
   document.writeln("</CENTER>");
}

function Dia(Data_DDMMYYYY)
{
string_data = Data_DDMMYYYY.toString();
posicao_barra = string_data.indexOf("/");
if (posicao_barra!= -1)
{
dia = string_data.substring(0,posicao_barra);
return dia;
}
else
{
return false;
}
}

function Mes(Data_DDMMYYYY)
{
string_data = Data_DDMMYYYY.toString();
posicao_barra = string_data.indexOf("/");
if (posicao_barra!= -1)
{
dia = string_data.substring(0,posicao_barra);
string_mes = string_data.substring(posicao_barra+1,string_data.length);
posicao_barra = string_mes.indexOf("/");
if (posicao_barra!= -1)
{
mes = string_mes.substring(0,posicao_barra);
mes = Math.floor(mes);
return mes;
}
else
{
return false;
}

}
else
{
return false;
}
}

function Ano(Data_DDMMYYYY)
{
string_data = Data_DDMMYYYY.toString();
posicao_barra = string_data.indexOf("/");
if (posicao_barra!= -1)
{
dia = string_data.substring(0,posicao_barra);
string_mes = string_data.substring(posicao_barra+1,string_data.length);
posicao_barra = string_mes.indexOf("/");
if (posicao_barra!= -1)
{
mes = string_mes.substring(0,posicao_barra);
mes = Math.floor(mes);
ano = string_mes.substring(posicao_barra+1,string_mes.length);
return ano;
}
else
{
return false;
}

}
else
{
return false;
}
}

function Calcula_Data(data_DDMMYYYY,dias,adicao){

Var_Dia=Dia(data_DDMMYYYY);
Var_Mes=Mes(data_DDMMYYYY);
Var_Mes=Math.floor(Var_Mes)-1;
Var_Ano=Ano(data_DDMMYYYY);

var data = new Date(Var_Ano,Var_Mes,Var_Dia);

if (adicao == true)
{
operacao = '+'
var diferenca = data.getTime() + (dias * 1000 * 60 * 60 * 24);
}
else
{
operacao = '-'
var diferenca = data.getTime() - (dias * 1000 * 60 * 60 * 24);
}
var diferenca = new Date(diferenca);
alert(string_data+operacao+dias+' dias = '+diferenca.getDate()+'/'+(parseInt(diferenca.getMonth())+1)+'/'+diferenca.getYear());

}

function calculaDias(data1_DDMMYYYY,data2_DDMMYYYY){

Var_Dia1=Dia(data1_DDMMYYYY);
Var_Mes1=Mes(data1_DDMMYYYY);
Var_Mes1=Math.floor(Var_Mes1)-1;
Var_Ano1=Ano(data1_DDMMYYYY);
var data1 = new Date(Var_Ano1,Var_Mes1,Var_Dia1);

Var_Dia2=Dia(data2_DDMMYYYY);
Var_Mes2=Mes(data2_DDMMYYYY);
Var_Mes2=Math.floor(Var_Mes2)-1;
Var_Ano2=Ano(data2_DDMMYYYY);
var data2 = new Date(Var_Ano2,Var_Mes2,Var_Dia2);

var diferenca = data1.getTime() - data2.getTime();
var diferenca = Math.floor(diferenca / (1000 * 60 * 60 * 24));
return diferenca;
}

function doCalculaTotal()
{
  var total = 0;
  total += (!isEmpty(document.form.honorarios.value)? parseFloat(Number(document.form.honorarios.value)):Number(0));
  total += (!isEmpty(document.form.despesas.value)? parseFloat(Number(document.form.despesas.value)):Number(0));
  total += (!isEmpty(document.form.armazenagem.value)? parseFloat(Number(document.form.armazenagem.value)):Number(0));
  total += (!isEmpty(document.form.tx_siscomex.value)? parseFloat(Number(document.form.tx_siscomex.value)):Number(0));
  total += (!isEmpty(document.form.sindicato.value)? parseFloat(Number(document.form.sindicato.value)):Number(0));
  total += (!isEmpty(document.form.tx_cia_mov.value)? parseFloat(Number(document.form.tx_cia_mov.value)):Number(0));
  total += (!isEmpty(document.form.fot_copias.value)? parseFloat(Number(document.form.fot_copias.value)):Number(0));
  total += (!isEmpty(document.form.desp_banc.value)? parseFloat(Number(document.form.desp_banc.value)):Number(0));
  total += (!isEmpty(document.form.pis_cofins.value)? parseFloat(Number(document.form.pis_cofins.value)):Number(0));
  total += (!isEmpty(document.form.imp_ii.value)? parseFloat(Number(document.form.imp_ii.value)):Number(0));
  total += (!isEmpty(document.form.imp_ipi.value)? parseFloat(Number(document.form.imp_ipi.value)):Number(0));
  total += (!isEmpty(document.form.imp_icms.value)? parseFloat(Number(document.form.imp_icms.value)):Number(0));
  total += (!isEmpty(document.form.imp_cpmf.value)? parseFloat(Number(document.form.imp_cpmf.value)):Number(0));
  total += (!isEmpty(document.form.imp_iss.value)? parseFloat(Number(document.form.imp_iss.value)):Number(0));
  total += (!isEmpty(document.form.imp_irrf.value)? parseFloat(Number(document.form.imp_irrf.value)):Number(0));
  total += (!isEmpty(document.form.multa.value)? parseFloat(Number(document.form.multa.value)):Number(0));
  return eval(Number(Math.round(total*100)/100));
}

function jsValidaPedido(elemento, url) {
  obj = document.getElementById(elemento);
  
  if (obj.innerHTML != 'R$ 0,00' && obj.innerHTML != 'R$ 0.00' && obj.innerHTML != '0.00' && obj.innerHTML != '0,00' && obj.innerHTML != '0' && obj.innerHTML != '') {
	 if (url != '') {
		window.location.href = url;  
	 } else {
	    return true;
	 }
  } else {
	 alert('Por favor, calcule o frete para continuar a compra.');
	 return false;  
  } 
  
}


