String.prototype.trim = function(){return this.replace(/^\s+|\s+$/g,"");}

function validaformulario(formulario)
{         
  var cont;
  submit = true;
  
  for (cont = 0; cont < formulario.length; cont++)
  {
    if (formulario[cont].checar == "1")
    {
      if (formulario[cont].tamanhofixo == "1" && formulario[cont].naovazio == "1")
      {
        if (formulario[cont].value.trim().length < formulario[cont].tamanho)
        {
          erro(formulario[cont]);
          submit = false;
          break;
        }
      }
      else if (formulario[cont].naovazio == "1" && formulario[cont].value.trim() == "")
      {
        erro(formulario[cont]);
        submit = false;
        break;
      } 
      else if (formulario[cont].tamanhofixo == "1" && formulario[cont].value.trim() != "" && formulario[cont].value.trim().length < formulario[cont].tamanho)
      {
        erro(formulario[cont]);
        submit = false;
        break;
      } 
    }
  }
  
  return submit;
}

function erro(objeto)
{
  alert("Preencha corretamente o campo em destaque");
  objeto.value = objeto.value.trim();
  objeto.focus();
}

function validacnpj(objeto)
{
  if (submit == true)
  {
    var cnpj = objeto.value;
    cnpj = cnpj.replace(".","");
    cnpj = cnpj.replace(".","");
    cnpj = cnpj.replace("/","");
    cnpj = cnpj.replace("-","");
    
    if (isNaN(cnpj))
    {
      alert("CNPJ inválido!");
      objeto.focus();
      submit = false;
    }
    else
    {
      var cont;
      var vetor1 = [];
      var vetor2 = [6,5,4,3,2,9,8,7,6,5,4,3,2];
      var calculo = 0;
      
      for (cont = 0; cont < 12; cont++)
      {
        vetor1[cont] = cnpj.charAt(cont);
        calculo = calculo + (vetor1[cont] * vetor2[cont + 1]);
      }
      
      if ((calculo % 11) < 2)
      {
        vetor1[12] = 0;
      }
      else
      {
        vetor1[12] = 11 - (calculo % 11);
      }
      
      calculo = 0;
      
      for (cont = 0; cont < 13; cont++)
      {
        calculo = calculo + vetor1[cont] * vetor2[cont];
      }
      
      if ((calculo % 11) < 2)
      {
        vetor1[13] = 0;
      }
      else
      {
        vetor1[13] = 11 - (calculo % 11);
      }
      
      if (vetor1[12] != cnpj.charAt(12) || vetor1[13] != cnpj.charAt(13))
      {
        alert("CNPJ inválido!");
        objeto.focus();
        submit = false;
      }
    }
  }
  
  return submit;
}

function formatavalor()
{
  if ((event.keyCode < 44) || (event.keyCode > 57))
  {
    event.returnValue = false;	    
  }
}

function somentenumeros()
{
  if ((event.keyCode < 48) || (event.keyCode > 57))
  {
    event.returnValue = false;	    
  }
}

function formatanumerocomponto(objeto)
{
  switch (objeto.value.length)
  {
    case 2:
      objeto.value = objeto.value + ".";
      break;      
  } 
}

function formatanumerocomponto6digitos(objeto)
{
  switch (objeto.value.length)
  {
    case 3:
      objeto.value = objeto.value + ".";
      break;      
  } 
}

function somentenumeroseletras2()
{  
  if ((event.keyCode < 48))
  {
    event.returnValue = false;
  }
  else if ((event.keyCode > 57) && (event.keyCode <65))
  {
    event.returnValue = false;
  }
  else if ((event.keyCode > 90) && (event.keyCode <97))
  {
    event.returnValue = false;
  }
  else if ((event.keyCode > 122))
  {
    event.returnValue = false;
  }    
   else if ((event.keyCode > 72) && (event.keyCode < 74))
  {
    event.returnValue = false;
  }
   else if ((event.keyCode > 78) && (event.keyCode < 80))
  {
    event.returnValue = false;
  }
   else if ((event.keyCode > 104) && (event.keyCode < 106))
  {
    event.returnValue = false;
  }
   else if ((event.keyCode > 110) && (event.keyCode < 112))
  {
    event.returnValue = false;
  }
}


function somentenumeroseletras()
{  
  if ((event.keyCode < 48))
  {
    event.returnValue = false;
  }
  else if ((event.keyCode > 57) && (event.keyCode <65))
  {
    event.returnValue = false;
  }
  else if ((event.keyCode > 90) && (event.keyCode <97))
  {
    event.returnValue = false;
  }
  else if ((event.keyCode > 122))
  {
    event.returnValue = false;
  }  
}

function teclaenter()
{
  if ((event.keyCode == 13))
  {
    alert("Tecla não permitida!");
    event.returnValue = false;     
  }
}

function formatafonte(objeto,acao,tamInic,tamMin,tamMax)
{     
  if (document.getElementById(objeto).style.fontSize == "")
  {
    var tamFonte = tamInic;
  }
  else
  {
    var tamFonte = parseInt(document.getElementById(objeto).style.fontSize);
  }
  
  switch (acao)
  {
    case '+':
      if (tamFonte < tamMax)
      {
        document.getElementById(objeto).style.fontSize = (tamFonte + 2) + "px";
      }  
      break;      
    case '-':
      if (tamFonte > tamMin)
      {
        document.getElementById(objeto).style.fontSize = (tamFonte - 2) + "px";
      }  
      break;
  }
}

function formatacnpj(objeto)
{
  switch (objeto.value.length)
  {
    case 2:
      objeto.value = objeto.value + ".";
      break;
    case 6:
      objeto.value = objeto.value + ".";
      break;  
    case 10:
      objeto.value = objeto.value + "/";
      break;    
    case 15:
      objeto.value = objeto.value + "-";
      break;    
  } 
}

function formatacsv(objeto)
{
  switch (objeto.value.length)
  {
    case 8:
      objeto.value = objeto.value + "-";
      break;
    case 11:
      objeto.value = objeto.value + "/";
      break;  
  } 
}

function formatacpf(objeto)
{
  switch (objeto.value.length)
  {
    case 3:
      objeto.value = objeto.value + ".";
      break;
    case 7:
      objeto.value = objeto.value + ".";
      break;  
    case 11:
      objeto.value = objeto.value + "-";
      break;    
   } 
}

function formatacep(objeto)
{
  switch (objeto.value.length)
  {
    case 5:
      objeto.value = objeto.value + "-";
      break;    
  } 
}

function formatatelefone(objeto)
{
  switch (objeto.value.length)
  {
    case 1:
      objeto.value = "(" + objeto.value;
      break;    
    case 3:
      objeto.value = objeto.value + ")";
      break;      
    case 8:
      objeto.value = objeto.value + "-";
      break;        
  } 
}

function formatadata(objeto)
{
  switch (objeto.value.length)
  {
    case 3:
      objeto.value = "/" + objeto.value;
      break;    
    case 5:
      objeto.value = objeto.value + "/";
      break;      
  } 
}

function formatadata22(objeto)
{
  switch (objeto.value.length)
  {
    case 2:
      objeto.value = objeto.value + "-";
      break;    
    case 5:
      objeto.value = objeto.value + "-";
      break;      
  } 
}


function formatamoeda(objeto,milhar,decimal,tecla)
{
  var sep = 0;
  var key = "";
  var i = j = 0;
  var len = len2 = 0;
  var strCheck = "0123456789";
  var aux = aux2 = "";
  var whichCode = (window.Event) ? tecla.which : tecla.keyCode;
  
  if (whichCode == 13) return true; // Tecla Enter
  if (whichCode == 8) return true; // Tecla Delete
  key = String.fromCharCode(whichCode); // Pegando o valor digitado
  if (strCheck.indexOf(key) == -1) return false; // Valor inválido (não inteiro)
  len = objeto.value.length;
  for(i = 0; i < len; i++)
  if ((objeto.value.charAt(i) != "0") && (objeto.value.charAt(i) != decimal)) break;
  aux = "";
  for(; i < len; i++)
  if (strCheck.indexOf(objeto.value.charAt(i))!=-1) aux += objeto.value.charAt(i);
  aux += key;
  len = aux.length;
  if (len == 0) objeto.value = "";
  if (len == 1) objeto.value = "0" + decimal + "0" + aux;
  if (len == 2) objeto.value = "0" + decimal + aux;

  if (len > 2)
  {
    aux2 = "";
    
	for (j = 0, i = len - 3; i >= 0; i--)
	{
	  if (j == 3)
	  {
	    aux2 += milhar;
		j = 0;
  	  }
  	  
	  aux2 += aux.charAt(i);
	  j++;
	}

	objeto.value = "";
	len2 = aux2.length;
	for (i = len2 - 1; i >= 0; i--)
	objeto.value += aux2.charAt(i);
	objeto.value += decimal + aux.substr(len - 2, len);
  }

  return false;
}

