function isMail(mailField){
  strMail = mailField.value;
  var re = new RegExp;
  re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var arr = re.exec(strMail);
  if (arr == null)
    return(false);
  else
    return(true);
}

function minLen(txtField, minVal){
  strExp = txtField.value;
  l = strExp.length;
  if (l < minVal)
    return(true);
  else
    return(false);
}

function maxLen(txtField, maxVal){
  strExp = txtField.value;
  l = strExp.length;
  if (l > maxVal)
    return(true);
  else
    return(false);
}

function igualLen(txtField, igualVal){
  strExp = txtField.value;
  l = strExp.length;
  if (l = igualVal)
    return(true);
  else
    return(false);
}


function isBlank(txtField){
  if (txtField.value)
    return (false);
  else
    return(true);
}

function isSelectedZero(txtField){
  selected = txtField.selectedIndex;
  if (selected == 0)
    return(true);
  else
    return(false);
}

function isNumber(txtField){
  numExp = txtField.value;
  if (isNaN(numExp) || (numExp.length == 0))
    return (false);
  else
    return(true);
}

function isCPF(txtField){ 

  var i; 
  s = txtField.value;  
  var c = s.substr(0,9); 
  var dv = s.substr(9,2); 
  var d1 = 0; 
  
  for (i = 0; i < 9; i++){ 
    d1 += c.charAt(i)*(10-i); 
  } 
  
  if (d1 == 0) return false;   
  
  d1 = 11 - (d1 % 11); 
  
  if (d1 > 9) d1 = 0; 
  
  if (dv.charAt(0) != d1) return false; 
  
  d1 *= 2; 
  
  for (i = 0; i < 9; i++){ 
    d1 += c.charAt(i)*(11-i);   
  } 
  
  d1 = 11 - (d1 % 11); 
  
  if (d1 > 9) d1 = 0; 
  
  if (dv.charAt(1) != d1) return false; 
  
  return true; 
  
}

function validaCNPJ(txtField) {
  CNPJ = document.forms1.cnpj.value;
  alert (CNPJ); 
  alert (document.forms1.cnpj.value); 
  alert (txtField); 
  erro = new String;
  if (CNPJ.length < 18) 
    erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";
  if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-"))
  {
    if (erro.length == 0) 
      erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";
  }
  
  //substituir os caracteres que nao sao numeros
  
  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 verificacao de CNPJ suporta apenas numeros! \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 +="Digito verificador com problema!";
  }
  if (erro.length > 0)
  {
    //alert(erro);
    return false;
  }
  return true;
}




function mascara_data(niver)
{  
  var mydata = '';  
  mydata = mydata + niver;  
  if (mydata.length == 2)
  {  
    mydata = mydata + "/";  
    document.forms[0].niver.value = mydata;  
  }  
  if (mydata.length == 5)
  {  
    mydata = mydata + "/";  
    document.forms[0].niver.value = mydata;  
  }  
  if (mydata.length == 10)
  {  
    verifica_data();  
  }  
}  
            
function verifica_data () 
{  
  dia = (document.forms[0].niver.value.substring(0,2));  
  mes = (document.forms[0].niver.value.substring(3,5));  
  ano = (document.forms[0].niver.value.substring(6,10));  

  situacao = "";  
  // verifica o dia valido para cada mes  
  if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) {  
    situacao = "falsa";  
  }  

  // verifica se o mes e valido  
  if (mes < 01 || mes > 12 ) {  
    situacao = "falsa";  
  }  

  // verifica se e ano bissexto  
  if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) {  
    situacao = "falsa";  
  }  
     
  if (document.forms[0].niver.value == "") {  
    situacao = "falsa";  
  }  
  
  if (situacao == "falsa") {  
    alert("Data inválida!");  
    document.forms[0].niver.focus();  
  }  
}  

function mascara_hora(hora){  
  var myhora = "";  
  myhora = myhora + hora;  
  if (myhora.length == 2){  
     myhora = myhora + ":";  
     document.forms[0].hora.value = myhora;  
  }  
  if (myhora.length == 5){  
     verifica_hora();  
  }  
}  
            
function verifica_hora(){  
  hrs = (document.forms[0].hora.value.substring(0,2));  
  min = (document.forms[0].hora.value.substring(3,5));  
               
  alert("hrs "+ hrs);  
  alert("min "+ min);  
                
  situacao = "";  
  // verifica data e hora  
  if ((hrs < 00 ) || (hrs > 23) || ( min < 00) ||( min > 59)){  
    situacao = "falsa";  
  }  
                
  if (document.forms[0].hora.value == "") {  
    situacao = "falsa";  
  }  

  if (situacao == "falsa") {  
    alert("Hora inválida!");  
    document.forms[0].hora.focus();  
  }  
}  
 
// função para formatar mascara padrão
function formatar_mascara(src, mascara)
{
  var campo = src.value.length;
  var saida = mascara.substring(0,1);
  var texto = mascara.substring(campo);
  if(texto.substring(0,1) != saida) {
	src.value += texto.substring(0,1);}
}

