//funcao para verificacao do campo hora

function hora(camp)
{
var campo = camp.value;
var controle = '';
var h = campo.substr(0,2);
if(h > 24){controle = 'Hora Errada ,';}
var m = campo.substr(3,2);
if(m > 60){controle+= 'Minutos Errados ,';}
var s = campo.substr(6,2);
if(s > 60){controle+= 'Segundos Errados';}
controle = replaceAll(controle,",","\n");
if (controle != '')
{
alert(controle);
camp.focus();
camp.value = '';

}
}


//-------------------------------------------------------------------------------------

// letras maiusculas
function letraMaiusculas(control)
{
 var x = control.value.toUpperCase();
 control.value = x;
 return true;
}

//----------------------------------------------------------------------------------------------

// letras minusculas
function letraMinusculas(control)
{
 var x = control.value.toLowerCase();
 control.value = x;
 return true;
}

//----------------------------------------------------------------------------------------------

// mascara generica muito boa-----------------------------------------------------------------------------------------
function mascara(evt, objeto, mask) {

var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var Numeros = '0123456789';
var Fixos  = '().-:/ ';
var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";

evt = (evt) ? evt : (window.event) ? window.event : "";
var value = objeto.value;
if (evt) {
var ntecla = (evt.which) ? evt.which : evt.keyCode;
tecla = Charset.substr(ntecla - 32, 1);
if (ntecla < 32) return true;

var tamanho = value.length;
if (tamanho >= mask.length) return false;

var pos = mask.substr(tamanho,1);
while (Fixos.indexOf(pos) != -1) {
  value += pos;
  tamanho = value.length;
  if (tamanho >= mask.length) return false;
  pos = mask.substr(tamanho,1);
}

switch (pos) {
   case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
   case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
   case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
   case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
   case '*' : objeto.value = value; return true; break;
   default : return false; break;
}
}
objeto.value = value;
return true;
}

//-----------------------------------------------------------------------------------------------------------------

//funcao para tirar todos os espaços em branco para a funcao "obriga"funcionar corretamente
    function limpa(string) {
     var temp = "";
      string = '' + string;
       splitstring = string.split(" ");
        for(i = 0; i < splitstring.length; i++)
          {
         temp += splitstring[i];
          return temp;
          }
         }

//-----------------------------------------------------------------------------------------------
 //funcao para obrigar o preenchimento de campos passar o formulario como parametro
 function obriga(form){
 var elementos = document.getElementById(form).elements;
 for (var i=0;i<elementos.length;i++)
{
 if (elementos[i].getAttribute("obrigatorio")=="sim")
  {
   if (elementos[i].value==""  || elementos[i].value=="-Selecione-" || elementos[i].value=="-Sem Cadastro-")
   {
    elementos[i].style.background = "#f8e9e1";
   elementos[i].style.border = "1px dashed #FF6A6A";

   alert("O campo ("+elementos[i].getAttribute("camp")+") é obrigatório!");
   elementos[i].focus();
   return false;
   }
   else
   {
   elementos[i].style.border = "1px solid #bdbfbe";
   elementos[i].style.background = "#FFFFFF";
   }
  }
 }
 return true
}

//-------------------------------------------------------------------------------------------------

   //funcao para desabilitar campos, nao tem parametros definidos, passar o valor (true ou false) e os campos
      function acess()
    {
      val = "";
      if (arguments.length > 0)
       {acesso = arguments[0];} else {return false;}
        for (var i=1; i<arguments.length; i++ )
          {
            document.getElementById(arguments[i]).value=" ";
            document.getElementById(arguments[i]).disabled=acesso;
			if(acesso==false && arguments[1]){document.getElementById(arguments[1]).focus();}
          }
    }

//--------------------------------------------------------------------------------------------------

//funcao para capturar eventos com o DOM
function addEvent(object, evType, func, useCapture)
{
    if(object.addEventListener)
    {
        object.addEventListener(evType, func, useCapture);
    } else
    if(object.attachEvent)
    {
        object.attachEvent("on" + evType, func);
    }
}

//----------------------------------------------------------------------------------------------

//funcao que gera um relogio digital
function horas(){
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds()
if (hours <=9)
hours="0"+hours;
if (minutes<=9)
minutes="0"+minutes;
if (seconds<=9)
seconds="0"+seconds;
var cdate="<b><font color='gray' size='2'>"+hours+":"+minutes+":"+seconds+" "+"</font>"
clock.innerHTML= cdate;
setTimeout("horas()",1000);
}
//-----------------------------------------------------------------------------------------------

//função para validar numeros

function numero(control)
{
var c = "01234567890";
  var x = control.value.toLowerCase();
 control.value = x;
 var y  = "correto";
 for (i=0;i<x.length;i++)
  {
    str1 = x;
    str2 = str1.charAt(i);
    if (c.indexOf(str2)==-1)
      { y = "incorreto";}
      }
      if (y=="incorreto")
      {control.focus();control.value = "";
      }
   }

//----------------------------------------------------------------------------------------------


//função para validar numeros e letras

function numletra(control)
{
var c = "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZÇÁÉÍÓÚÃÕÊÔÂabcdefghijklmnopqrstuvwxyzçáéíóúãõêôâ";
  var x = control.value;
 control.value = x;
 var y  = "correto";
 for (i=0;i<x.length;i++)
  {
    str1 = x;
    str2 = str1.charAt(i);
    if (c.indexOf(str2)==-1)
      { y = "incorreto";}
      }
      if (y=="incorreto")
      {control.focus();control.value = "";
      }
   }

//----------------------------------------------------------------------------------------------


//funcao para validar letras

function letra(control)
{
 var c = " ABCDEFGHIJKLMNOPQRSTUVWXYZÇÁÉÍÓÚÃÕÊÔÂabcdefghijklmnopqrstuvwxyzçáéíóúãõêôâ";
 var x = control.value;
 control.value = x;
 var y  = "correto";
 for (i=0;i<x.length;i++)
  {
    str1 = x;
    str2 = str1.charAt(i);
    if (c.indexOf(str2)==-1)
      { y = "incorreto";}
      }
      if (y=="incorreto")
      {control.focus();control.value = ""; }
   }

//----------------------------------------------------------------------------------------------

//funcao que abre o pop-up

function abrir(pagina,largura,altura) {

//pega a resolução do visitante
w = screen.width;
h = screen.height;

//divide a resolução por 2, obtendo o centro do monitor
meio_w = w/2;
meio_h = h/2;

//diminui o valor da metade da resolução pelo tamanho da janela, fazendo com q ela fique centralizada
altura2 = altura/2;
largura2 = largura/2;
meio1 = meio_h-altura2;
meio2 = meio_w-largura2;

//abre a nova janela, já com a sua devida posição
window.open(pagina,'','height=' + altura + ', width=' + largura + ', top='+meio1+', left='+meio2+'');
}

//----------------------------------------------------------------------------------------------

//funcao para formatar a data

function data(obj,ob2,comp)
{
  numero(obj,'s');
 if(obj.value.length == 2 || obj.value.length == 5){
 obj.value = obj.value+"/";
 }
 //comopara se vai ou nao  verificar a data
 if(comp == "s"){
 if(obj.value.length == 10)
 {
  var ano1 = new Date();
  ano1 = obj.value;
//pega o ano
 var data = new Date();
 var dia = data.getDate();
 var mes = data.getMonth() + 1;
 var ano = data.getFullYear();
 var str_dia = new String( dia );
 dia = (str_dia.length == 1 ? '0' + dia : dia);
 var str_mes = new String( mes );
 mes = (str_mes.length == 1 ? '0' + mes : mes);
 atual =  dia + '/' + mes + '/' + ano;
 //compara se a data fornecida é maior do que a atual
 }
 }
var v = document.getElementById(ob2);
//cria uma funcao para tratar o tamanho da string
v.onblur = function(){
if(obj.value.length != 10){
alert("FAVOR DIGITAR A DATA COM 8 DIGITOS SEM BARRAS / !!")
obj.value = "";
obj.focus();
}
else
{
var data1 = atual;
var data2 =  ano1;
//separa ano mes e dia para fazer a comparação
if ( parseInt( data2.split( "/" )[2].toString() + data2.split( "/" )[1].toString() + data2.split( "/" )[0].toString() ) > parseInt( data1.split( "/" )[2].toString() + data1.split( "/" )[1].toString() + data1.split( "/" )[0].toString() ) )
{
  dt = '0';
}
else
{
  dt ='1';
}
 if (dt == '0')
 {
 alert('A DATA INFORMADO É MAIOR QUE A CORRENTE!')
  obj.value = "";
 }
}
}
}

//----------------------------------------------------------------------------------------------

//funcao para validar 2 datas num intervalo

function valdata(obj1,obj2)
{
var data1 = obj2.value;
var data2 =  obj1.value;
if (data1.length == 10 && data2.length == 10){
//separa ano mes e dia para fazer a comparação
if ( parseInt( data2.split( "/" )[2].toString() + data2.split( "/" )[1].toString() + data2.split( "/" )[0].toString() ) > parseInt( data1.split( "/" )[2].toString() + data1.split( "/" )[1].toString() + data1.split( "/" )[0].toString() ) )
{
  dt = '0';
}
else
{
  dt ='1';
}
 if (dt == '0')
 {
 alert('A PRIMEIRA DATA É MAIOR DO QUE A SEGUNDA!')
  obj2.value = "";
  obj2.focus();
 }
 }
}
// funcao para telefone

function fone(obj2)
{
 var tel = obj2.value;
 var telstring = tel.substring(0,13).length;
 if (telstring < '11')
 {
 if (telstring == '10')
 {
var ddd = tel.substring(0,2);
var area = tel.substring(2,6);
var numero = tel.substring(6,10);
obj2.value = ("("+ddd+")"+" "+area+"-"+numero);
}
else
{
alert("FAVOR DIGITAR O TELEFONE COM DDD MAIS O NUMERO COM 8 DIGITOS!")
obj2.focus();
obj2.value = "";
}
}
else
{
alert("FAVOR DIGITAR O TELEFONE COM 8 DIGITOS!")
obj2.focus();
 obj2.value = "";

}
}

//----------------------------------------------------------------------------------------------

//funcao que conta quantas letras o usuario digitou e mostra o que ele pode digitar

function faltam(nome,total,span){
var camp = document.getElementById(nome).value;	
var digitado= camp.length;   //pega o total de caracteres digitados
 if(digitado>total){
     alert('VOCÊ JÁ DIGITOU O TOTAL MÁXIMO DE LETRAS, TENTE ABREVIAR A INFORMAÇÃO!');
     val = camp.slice(0,total);
	document.getElementById(nome).value = "";
	 document.getElementById(nome).value = val;
	 //exibe os 20 primeiros caracteres
 }
 digitado= camp.length;
 var restante= total-digitado;
 if (restante >= 0 && restante <= total)
 {
 document.getElementById(span).innerHTML= restante.toString() + ' '+'Letras Restantes';//exibe o texto na div
 }
 else
 {
  document.getElementById(span).innerHTML= '';
 }
}

//----------------------------------------------------------------------------------------------

//cria o objeto do ajax
function criaXMLHttp() {
if (typeof XMLHttpRequest != "undefined")
return new XMLHttpRequest();
else if (window.ActiveXObject){
var versoes = ["MSXML2.XMLHttp.5.0",
"MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp", "Microsoft.XMLHttp"
];
}
for (var i = 0; i < versoes.length; i++){
try{
return new ActiveXObject(versoes[i]);
}catch (e) {}
}
throw new Error("Seu browser nao suporta AJAX");
}

//----------------------------------------------------------------------------------------------

//fucao para exibir a data
function datas()
{
 hoje = new Date()
 dia = hoje.getDate();
 dias = hoje.getDay();
 mes = hoje.getMonth();
 ano = hoje.getFullYear();
  if (dia < 10)
     dia = "0" + dia;
     if (ano < 2000)
        ano = "19" + ano;
        function CriaArray (n) {
        this.length = n; }
        NomeDia = new CriaArray(7)
        NomeDia[0] = "Domingo";
        NomeDia[1] = "Segunda-feira";
        NomeDia[2] = "Terça-feira";
        NomeDia[3] = "Quarta-feira";
        NomeDia[4] = "Quinta-feira";
        NomeDia[5] = "Sexta-feira";
        NomeDia[6] = "Sábado";
       NomeMes = new CriaArray(12)
       NomeMes[0] = "Janeiro" ;
       NomeMes[1] = "Fevereiro";
       NomeMes[2] = "Março";
       NomeMes[3] = "Abril";
       NomeMes[4] = "Maio";
       NomeMes[5] = "Junho";
       NomeMes[6] = "Julho";
       NomeMes[7] = "Agosto";
       NomeMes[8] = "Setembro";
       NomeMes[9] = "Outubro";
       NomeMes[10] = "Novembro";
       NomeMes[11] = "Dezembro";
      document.write ("<font color='gray'  face='Arial' size='2'>" + NomeDia[dias] + ", " + dia + " de " + NomeMes[mes] + " de " + ano + " </font>");
}

//funcao para calculo financeiro

 function calcula(vlr1,vlr2,vlr3,operador){
 if(vlr1 != '')
 {
campo1 = replaceAll(vlr1,".","");
campo1 = campo1.replace(",",".");
if(vlr2 == '' && operador == '/'){campo2 = 1;}
if(vlr2 == '' && operador != '/'){campo2 = 0;}
if(vlr2 == '' && operador == '+'){campo2 = 0;}
if(vlr2 == '' && operador == '-'){campo2 = 0;}
if(vlr2 != 0 && vlr2 != 1)
{
campo2 = replaceAll(vlr2,".","");
campo2 = campo2.replace(",",".");
}

campo1 = parseFloat(campo1);
campo2 = parseFloat(campo2);
if(operador == '+'){var total = campo1 + campo2;}
if(operador == '-'){var total = campo1 - campo2;}
if(operador == '*'){var total = campo1 * campo2;}
if(operador == '/'){var total = campo1 / campo2;}
var resultado = ((Math.round(total*100))/100);
var resultado = resultado.toFixed(2); //fixa o float para 2 casas decimais
var result = resultado.toString();
if(result.length >= 7)
{
result = result.replace(".","");
if (result.length == 6)
{
var vlr = result.substr(0,1) + "." + result.substr(1,3) + "," + result.substr(4,2);
}
if (result.length == 7)
{
var vlr = result.substr(0,2) + "." + result.substr(2,3) + "," + result.substr(5,2);
}
if (result.length == 8)
{
var vlr = result.substr(0,3) + "." + result.substr(3,3) + "," + result.substr(6,2);
}
if (result.length == 9)
{
var vlr = result.substr(0,1) + "." +result.substr(1,3) + "." + result.substr(4,3) + "," + result.substr(7,2);
}
}
else
{
result = result.replace(".",",");
vlr = result;

}
if(vlr3 != 'nao')
{
vlr3.value = vlr;
}
else
{
return vlr;
}
}
}

//--------------------------------------------------------------------------------------------------------------

function Limpar(valor,validos) {
// retira caracteres invalidos da string
var result = "";
var aux;
for (var i=0; i < valor.length; i++) {
aux = validos.indexOf(valor.substring(i, i+1));
if (aux>=0) {
result += aux;
}
}
return result;
}


function Formata(campo,tammax,teclapres,decimal) {
var tecla = teclapres.keyCode;
vr = Limpar(campo.value,"0123456789");
tam = vr.length;
dec=decimal

if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

if (tecla == 8 )
{ tam = tam - 1 ; }

if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
{

if ( tam <= dec )
{ campo.value = vr ; }

if ( (tam > dec) && (tam <= 5) ){
campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; }
if ( (tam >= 6) && (tam <= 8) ){
campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ;
}
if ( (tam >= 9) && (tam <= 11) ){
campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
if ( (tam >= 12) && (tam <= 14) ){
campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
if ( (tam >= 15) && (tam <= 17) ){
campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;}
}

}

//funcao para formatação de moeda

function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}

//----------------------------------------------------------------------------------------------

//funcao para validar e-mail

function Mail(m)
{
  var obj = eval(m);
  var txt = obj.value;
  if ((txt.length != 0) && ((txt.indexOf("@") < 1) || (txt.indexOf('.') < 7)))
  {
    alert('Email incorreto');
	obj.focus();
  }
}

//----------------------------------------------------------------------------------------------

//substitui todos os caracteres indesejados
function replaceAll(str, de, para){
    var pos = str.indexOf(de);
    while (pos > -1){
		str = str.replace(de, para);
		pos = str.indexOf(de);
	}
    return (str);
}
//----------------------------------------------------------------------------------------------

//mascara para telefone
function Mascarafone(objeto){
   if(objeto.value.length == 0)
     objeto.value = '(' + objeto.value;

   if(objeto.value.length == 3)
      objeto.value = objeto.value + ')';
      
   if(objeto.value.length == 4)
      objeto.value = objeto.value + ' ';

 if(objeto.value.length == 9)
     objeto.value = objeto.value + '-';
}

//----------------------------------------------------------------------------------------------

//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))
        alert('Numero de Cep Invalido!');
}

//----------------------------------------------------------------------------------------------

//valida o CPF digitado
function ValidarCPF(Objcpf){
    var cpf = Objcpf.value;
    if(cpf == '111.111.111-11' || cpf == '222.222.222-22' ||
    cpf == '333.333.333-33' || cpf == '444.444.444-44' ||
    cpf == '555.555.555-55' || cpf == '666.666.666-66' ||
    cpf == '777.777.777-77' || cpf == '888.888.888-88' ||
    cpf == '999.999.999-99'){alert("Numero de CPF inválido!!");}
    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 Invalido!');



}

//----------------------------------------------------------------------------------------------

//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)
        alert('Numero de CNPJ Inválido!!');

}

//-------------------------------------------------------------------------------------------------

// nova funcao para formatar moeda

documentall = document.all;
 /*
 * função para formatação de valores monetários retirada de
 */
 function formatamoney(c) {
     var t = this; if(c == undefined) c = 2;
     var p, d = (t=t.split("."))[1].substr(0, c);
     for(p = (t=t[0]).length; (p-=3) >= 1;) {
            t = t.substr(0,p) + "." + t.substr(p);
     }
     return t+","+d+Array(c+1-d.length).join(0);
 }

 String.prototype.formatCurrency=formatamoney

 function demaskvalue(valor, currency){
 /*
 * Se currency é false, retorna o valor sem apenas com os números. Se é true, os dois últimos caracteres são considerados as
 * casas decimais
 */
 var val2 = '';
 var strCheck = '0123456789';
 var len = valor.length;
    if (len== 0){
       return 0.00;
    }

    if (currency ==true){
       /* Elimina os zeros à esquerda
       * a variável  <i> passa a ser a localização do primeiro caractere após os zeros e
       * val2 contém os caracteres (descontando os zeros à esquerda)
       */

       for(var i = 0; i < len; i++)
          if ((valor.charAt(i) != '0') && (valor.charAt(i) != ',')) break;

       for(; i < len; i++){
          if (strCheck.indexOf(valor.charAt(i))!=-1) val2+= valor.charAt(i);
       }

       if(val2.length==0) return "0.00";
       if (val2.length==1)return "0.0" + val2;
       if (val2.length==2)return "0." + val2;

       var parte1 = val2.substring(0,val2.length-2);
       var parte2 = val2.substring(val2.length-2);
       var returnvalue = parte1 + "." + parte2;
       return returnvalue;

    }
    else{
         /* currency é false: retornamos os valores COM os zeros à esquerda,
          * sem considerar os últimos 2 algarismos como casas decimais
         */
          val3 ="";
          for(var k=0; k < len; k++){
             if (strCheck.indexOf(valor.charAt(k))!=-1) val3+= valor.charAt(k);
          }
    return val3;
    }
 }

 function reais(obj,event){

 var whichCode = (window.Event) ? event.which : event.keyCode;
 /*
 Executa a formatação após o backspace nos navegadores !document.all
 */
 if (whichCode == 8 && !documentall) {
 /*
 Previne a ação padrão nos navegadores
 */
    if (event.preventDefault){ //standart browsers
          event.preventDefault();
       }else{ // internet explorer
          event.returnValue = false;
    }
    var valor = obj.value;
    var x = valor.substring(0,valor.length-1);
    obj.value= demaskvalue(x,true).formatCurrency();
    return false;
 }
 /*
 Executa o Formata Reais e faz o format currency novamente após o backspace
 */
 FormataReais(obj,'.',',',event);
 } // end reais


 function backspace(obj,event){
 /*
 Essa função basicamente altera o  backspace nos input com máscara reais para os navegadores IE e opera.
 O IE não detecta o keycode 8 no evento keypress, por isso, tratamos no keydown.
 Como o opera suporta o infame document.all, tratamos dele na mesma parte do código.
 */

 var whichCode = (window.Event) ? event.which : event.keyCode;
 if (whichCode == 8 && documentall) {
    var valor = obj.value;
    var x = valor.substring(0,valor.length-1);
    var y = demaskvalue(x,true).formatCurrency();

    obj.value =""; //necessário para o opera
    obj.value += y;

    if (event.preventDefault){ //standart browsers
          event.preventDefault();
       }else{ // internet explorer
          event.returnValue = false;
    }
    return false;

    }// end if
 }// end backspace

 function FormataReais(fld, milSep, decSep, e) {
 var sep = 0;
 var key = '';
 var i = j = 0;
 var len = len2 = 0;
 var strCheck = '0123456789';
 var aux = aux2 = '';
 var whichCode = (window.Event) ? e.which : e.keyCode;

 //if (whichCode == 8 ) return true; //backspace - estamos tratando disso em outra função no keydown
 if (whichCode == 0 ) return true;
 if (whichCode == 9 ) return true; //tecla tab
 if (whichCode == 13) return true; //tecla enter
 if (whichCode == 16) return true; //shift internet explorer
 if (whichCode == 17) return true; //control no internet explorer
 if (whichCode == 27 ) return true; //tecla esc
 if (whichCode == 34 ) return true; //tecla end
 if (whichCode == 35 ) return true;//tecla end
 if (whichCode == 36 ) return true; //tecla home

 /*
 O trecho abaixo previne a ação padrão nos navegadores. Não estamos inserindo o caractere normalmente, mas via script
 */

 if (e.preventDefault){ //standart browsers
       e.preventDefault()
    }else{ // internet explorer
       e.returnValue = false
 }

 var key = String.fromCharCode(whichCode);  // Valor para o código da Chave
 if (strCheck.indexOf(key) == -1) return false;  // Chave inválida

 /*
 Concatenamos ao value o keycode de key, se esse for um número
 */
 fld.value += key;

 var len = fld.value.length;
 var bodeaux = demaskvalue(fld.value,true).formatCurrency();
 fld.value=bodeaux;

 /*
 Essa parte da função tão somente move o cursor para o final no opera. Atualmente não existe como movê-lo no konqueror.
 */
   if (fld.createTextRange) {
     var range = fld.createTextRange();
     range.collapse(false);
     range.select();
   }
   else if (fld.setSelectionRange) {
     fld.focus();
     var length = fld.value.length;
     fld.setSelectionRange(length, length);
   }
   return false;
}


//requisicoes ajax cria o objeto

function criaXMLHttp() {
if (typeof XMLHttpRequest != "undefined")
return new XMLHttpRequest();
else if (window.ActiveXObject){
var versoes = ["MSXML2.XMLHttp.5.0",
"MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp", "Microsoft.XMLHttp"
];
}
for (var i = 0; i < versoes.length; i++){
try{
return new ActiveXObject(versoes[i]);
}catch (e) {}
}
throw new Error("Seu browser nao suporta AJAX");
}


//funcao para popular select com ajax

function envia(valor,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca.php?uf="+valor+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}

//funcao para popular select com ajax

function enviafilial(valor,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_filial.php?fil="+valor+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}

//funcao para popular select com ajax

function popula(valor,campo,ident,imagem,tela){
if (tela == 1){var tela = "&t=2";}
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_setor.php?empresa="+valor+tela+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}

//funcao para popular select peça com ajax

function pecas(valor,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_pecas.php?tipo="+valor+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}
//funcao para buscar os veiculos por tipo

function veiculos(valor,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_veiculo.php?tipo="+valor+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}

//funcao para buscar os condutores por setor

function condutores(valor,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_condutor.php?setor="+valor+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}

//busca os modulos e programas

function modulos(valor,campo,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_modulos.php?user="+valor, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}
//----------------------------------------------------

//funcao para encontrar os usuarios

function usuario(valor,valor2,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_usuarios.php?emp="+valor+"&setor="+valor2+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}
//---------------------------------------------------------

//funcao para encontrar os modulos

function setores(valor,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_setores.php?emp="+valor+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}
//----------------------------------------------------------------------


function indica(valor,campo,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span style='position:absolute;'><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_indicado.php?indicado="+valor, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}
//----------------------------------------------------------------------

function parcelas(valor,campo,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span style='position:absolute;'><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "parcelas.php?numero="+valor, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}

//----------------------------------------------------------------------


function busca_v(valor,valor2,campo,ident,imagem){
var XMLHttp = criaXMLHttp();
campo.innerHTML = " ";
campo.innerHTML = "<h5><span><center><img src='"+imagem+"'>carregando...</center></span></h5>";
XMLHttp.open("GET", "busca_veiculo_rel.php?local="+valor+"&categ="+valor2+"&identificador="+ident, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){campo.innerHTML='problemas na conexão!!!tente outra vez!!!';}else{campo.innerHTML = XMLHttp.responseText;}
} else {
campo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
}
}
XMLHttp.send(null);
}
//---------------------------------------------------------
function carregar(id,qual){
var tipo = document.getElementById('tipo_peca').value;
var nome = document.getElementById('peca').value;
var qtd = document.getElementById('qtd').value;
var preco = document.getElementById('preco_unitario').value;
var total = calcula(document.getElementById('resultado').value,document.getElementById('total').value,'nao','+');
var total_geral;
var controle =0;
if(document.getElementById('vlr_servico').value != ''){total_geral = calcula(total,document.getElementById('vlr_servico').value,'nao','+'); controle = 1;}else{total_geral = total;}
if(document.getElementById('vlr_desconto').value != ''){total_geral = calcula(total_geral,document.getElementById('vlr_desconto').value,'nao','-');controle = 1;}
var XMLHttp = criaXMLHttp();
id.innerHTML = " ";
id.innerHTML = "<h5><span><center><img src='../design/imagens/load.gif'>Carregando...</center></span></h5>";
XMLHttp.open("POST", "controle_manutencao.php", true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){alert('problemas na conexão!!!tente outra vez!!!');}else{id.innerHTML = XMLHttp.responseText;document.getElementById('total_pecas').value = total;if(controle == 0){document.getElementById('total_manutencao').value = total;}else{document.getElementById('total_manutencao').value = total_geral;}}
} else {
alert("Um erro ocorreu" + XMLHttp.statusText);
}
}
var par ="action2="+qual+"&status=resultado&tipo_peca="+tipo+"&peca="+nome+"&qtd="+qtd+"&preco_unitario="+preco+"&total="+total;
XMLHttp.send(par);
}


function excluir(id,indice,qual,qtd,unit){
if( confirm('DESEJA REALMENTE EXCLUIR ESSE REGISTRO??')){
nd();
var XMLHttp = criaXMLHttp();
var desconto = calcula(qtd,unit,'nao','*');
var total = calcula(document.getElementById('total_pecas').value,desconto,'nao','-');
id.innerHTML = " ";
id.innerHTML = "<h5><span><center><img src='../design/imagens/load.gif'>Excluindo...</span></center></h5>";
XMLHttp.open("POST", "controle_manutencao.php", true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //envia com menas chance de erros
XMLHttp.onreadystatechange = function () {
if (XMLHttp.readyState == 4)
if (XMLHttp.status == 200){
if (XMLHttp.responseText == 0){alert('problemas na conexão!!!tente outra vez!!!');}else{id.innerHTML = XMLHttp.responseText;calcula(document.getElementById('total_pecas').value,desconto,document.getElementById('total_pecas'),'-');calcula(document.getElementById('total_pecas').value,document.getElementById('vlr_servico').value,document.getElementById('total_manutencao'),'+');calcula(document.getElementById('total_manutencao').value,document.getElementById('vlr_desconto').value,document.getElementById('total_manutencao'),'-');}
} else {
alert("Um erro ocorreu" + XMLHttp.statusText);
}
}
var par ="action2="+qual+"&status=apagar&id="+indice+"&vlr="+total;
XMLHttp.send(par);
}
}
function valgrid()
{
var camps = new Array(8);
if (document.getElementById('tipo_peca').value == "-Selecione-"){camps[0] = "Tipo da Peça"; }
if (document.getElementById('peca').value == "-Selecione-"){camps[1]= "Peça"; }
if (document.getElementById('qtd').value == ""){camps[2]= "QTD."; }
if (document.getElementById('preco_unitario').value == ""){camps[3] = "Preço Unitário"; }
var result = "Por favor preencha o(S) campo(s) a seguir:"+"\n";
var vet_id = new Array("tipo_peca","peca","qtd","preco_unitario");
for (i=0;i<9;i++){
    if (camps[i] != undefined){
    result = result + camps[i] + "\n";
     }
 }
var nome_campo = "";
//verifica qual o primeiro campo para dar foco nele
for (j=0;j<9;j++)
{
 if (camps[j] != undefined)
 {
 nome_campo = j;
 j = 8;
 }
}
if (result != "Por favor preencha o(S) campo(s) a seguir:"+"\n")
{
alert(result);
document.getElementById(vet_id[nome_campo]).focus();
return false;
}
else
{
return true ;
}
}

//funcao para controlar a escolha de pontuacao de multas

function multa(campo)
{
if(campo.value == 'PAGAR DOBRADO')
{
calcula(document.getElementById('v_infracao').value,document.getElementById('controle').value,document.getElementById('v_infracao'),'*');
document.getElementById('indicado').options[4].selected = true;
document.getElementById('indic').value = document.getElementById('indicado').value;
document.getElementById('indicado').disabled = true;
document.getElementById('campo').innerHTML = '';
document.getElementById('controle2').value = 1;
}
else
{
if(document.getElementById('controle2').value == 1)
{
calcula(document.getElementById('v_infracao').value,document.getElementById('controle').value,document.getElementById('v_infracao'),'/');
document.getElementById('indicado').options[0].selected = true;
document.getElementById('indicado').disabled = false;
document.getElementById('controle2').value = 0;
}
}
}

//funcao para acertar os campos na hora da alteracao da multa


