// JavaScript Document

   function isEmpty(s)
   {
      return ((s == null) || (s.length == 0));
   }

   function isDigit (c)
   {
      return ((c >= "0") && (c <= "9"));
   }

function eInteiro (s)
   {
      var i;

      if (isEmpty(s))
      if (eInteiro.arguments.length == 1) return 0;
      else return (eInteiro.arguments[1] == true);

      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);

         if (!isDigit(c)) return false;
      }

      return true;
   }

   
function PoeZeros(valor,tam) {

	ntam = valor.value.length;
	
	if (ntam != 0) {
	
		zeros = '000000000000';
		
		if (tam != ntam)
		
		valor.value = zeros.substr(1,12-ntam)+valor.value;

	}
}


function AtivaOK_E(){
	//alert("1");
	document.form1.ok.disabled=false;
	//alert("2");
}

function validaNome(NOME){
	n = NOME.value;
	var expReg = /^[A-Z\u00C0-\u00FF]{2,}\s{1,}[A-Z\u00C0-\u00FF]{2,}/;
	if (!n.match(expReg)){
		alert("Nome informado fora dos padrões aceitáveis!");
		return false;
	}
	return true;
}
function validaCPF(CPF){
 
	var i;
	 
	//s = document.frmCli.txtCpf.value;
	s = CPF.value;
	 
	//var c = s.substr(0,11);	 
	//var c = s.substr(0,3) +  s.substr(4,3) +  s.substr(8,3);	
	var dv = s.substr(9,2);
	var d1 = 0;
	//var expReg = /\d{3}\.\d{3}\.\d{3}\-\d{2}/;
	var expReg = /\d{11}/;

	if (!s.match(expReg)) {
		alert("CPF Invalido! O número de dígitos deve ser suficiente!");
		return false;
	}

	if (s=='00000000000' || s=='11111111111' || s=='22222222222' || s=='33333333333' || s=='44444444444' || s=='55555555555' || s=='66666666666' || s=='77777777777' || s=='88888888888' || s=='99999999999' ) {
		alert("CPF Invalido!");
		return false;
	}

	//if (s.length < 14){
	//		 
	//	alert("CPF Invalido! Número de dígitos insuficiente!")
	//	return false;
	// 
	//}
	
	//alert("C="+c+" DV="+dv);
	 
	for (i = 0; i < 9; i++)	{
	 
		d1 += s.charAt(i)*(10-i);
	 
	}
	 
	if (d1 == 0) {
	 
		alert("CPF Invalido!");
		return false;
	 
	}
	 
	d1 = 11 - (d1 % 11);

	if (d1 > 9) d1 = 0;

	if (dv.charAt(0) != d1) {
	 
		alert("CPF Invalido");	 
		return false;
	 
	}
	 
	 
	d1 *= 2;
	 
	for (i = 0; i < 9; i++)	{
	 
		d1 += s.charAt(i)*(11-i);
	 
	}
	 
	d1 = 11 - (d1 % 11);
	 
	if (d1 > 9) d1 = 0;
	 
	if (dv.charAt(1) != d1) {
	 
		alert("CPF Invalido!");	 
		return false;
	 
	}
	 
	return true;
 
}

function validaCNH(numero){
	//alert("CNH"+numero.value);
	//var num=numero.value;
	if (numero.value.length > 0) {
		if (numero.value.length != 11 ){
			alert("CNH inválido. O Número da CNH quando preenchido deve possuir 11 posições!");
			return false;
		}//else
			//alert ("Teste1 ok!"+num.length);
		if ( !eInteiro(numero.value) ){
			alert("CNH inválido. Todos os dígitos devem ser numéricos!");
			return false;
		} 
		return true;
	}else
		return true;
}

function validaEMAIL(mail){
    //var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
	var er = new RegExp(/^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/);
    /*if(typeof(mail) == "string"){
        if(er.test(mail)){ return true; }
    }else if(typeof(mail) == "object"){*/
        if(er.test(mail.value)){
                    return true;
                }
    //}else{
		alert("Email inválido!");
        return false;
    //    }
}

function maiusculo(texto){
		texto.value = texto.value.toUpperCase();
}

function minusculo(texto){
		texto.value = texto.value.toLowerCase();
}
function formatar(src, mask){
	var i = src.value.length;
	var saida = mask.substring(0,1);
	var texto = mask.substring(i);
	if (texto.substring(0,1) != saida)
	  {
		src.value += texto.substring(0,1);
	  }
}

function formatarTelefone(src, mask){
	var i = src.value.length;
	var especial = "#";
	//window.alert(src.keycode);
	if (mask.substring(i,i+1) != especial)
	  {
		src.value += mask.substring(i,i+1);
	  }
}



// Função para retirar os espaços em branco do início e do fim da string.
    function Trim(strTexto)
        {
            // Substitúi os espaços vazios no inicio e no fim da string por vazio.
            return strTexto.replace(/^\s+|\s+$/g, '');
        }

    // Função para validação de CEP.
    //function validaCEP(strCEP, blnVazio)
    function validaCEP(strCEP)
        {
            // Caso o CEP não esteja nesse formato ele é inválido!
            //var objER = /^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/;
            var objER = /^[0-9]{8}$/;

            strCEP = Trim(strCEP.value);
            if(strCEP.length > 0)
                {
                    if(objER.test(strCEP))
                        return true;
                    else{
						alert("CEP inválido.");
                        return false;
					}
                }
            else{ 
                //return blnVazio;
				alert("CEP inválido.");
				return false;
			}
        }
		
	/*function verificaTelefone(strTelefone){
			if(strTelefone.value == "(") strTelefone.value="";
	}*/

    function ValidaTelefone(strTelefone)
        {
            // Caso o CEP não esteja nesse formato ele é inválido!
            var objER = /^\([0-9]{2}\)[0-9]{4}-[0-9]{4}$/;

            strTelefone = Trim(strTelefone.value);
			if(strTelefone == "(") strTelefone="";
            if(strTelefone.length > 0)
                {
                    if(objER.test(strTelefone))
                        return true;
                    else{
						alert("Numero de Telefone inválido.");
                        return false;
					}
                }
            else{ 
				return true;
			}
        }

    function ValidaTelefone2(strTelefone)
        {
            // Caso o CEP não esteja nesse formato ele é inválido!
            var objER = /^[0-9]{8}$/;

            strTelefone1 = Trim(strTelefone.value);
			if(strTelefone1 != "") {
                    if(objER.test(strTelefone1))
                        return true;
                    else{
						alert("Numero de " + strTelefone.alt.toUppercase() + " inválido.");
                        return false;
					}
            }
            else{ 
				return true;
			}
        }
	function validaTE(TE) {
	  
	  if (TE.value.length == 0){
		  
	  		alert("Número do TÍTULO DE ELEITOR deve ser numérico.");
		 	return  false;
	  
	  }
		
	
	  if( !( eInteiro(TE.value)) ){ 
	  		alert("Número do TÍTULO DE ELEITOR deve ser numérico.");
		 	return  false;
	  }
	
	  if ( TE.value.length != 12 ) PoeZeros(TE,12);
	
	  DV = TE.value.substr(10,2);
	  UF = TE.value.substr(8,2);
	  
	  if ( ! ( UF>=1 && UF<=28 ) ){ 
	  		alert("Número do TÍTULO DE ELEITOR inválido.");
		 	return  false;
	  }
	  
	  d1 = 0;
	  
	  for (i=0;i<8;i++)  
		d1 += TE.value.charAt(i)*(9-i);
		
  
	  d1 = (d1 % 11);
	  
	  if (d1<=1){
		 if (UF<=2)
			d1 = 1 - d1;
		  else
			d1 = 0;
	 }
	   else
		 d1 = 11 - d1;
	  
	  if (DV.charAt(0) != d1){ 
	  		alert("Número do TÍTULO DE ELEITOR inválido.");
		 	return  false;
	  }
	
	  d2 = 0;
	  for (i=8;i<11;i++)
		d2 += TE.value.charAt(i)*(12-i);
		
	
	  d2 = (d2 % 11);
	  
	  if (d2<=1){
		 if (UF<=2)
			d2 = 1 - d2;
		  else
			d2 = 0;
	  }else
		 d2 = 11 - d2;
	
	  if (DV.charAt(1) != d2){ 
	  		alert("Número do TÍTULO DE ELEITOR inválido.");
		 	return  false;
	  }
	
	  return true;
	}
	

function validaCATCNH(catcnh){
	if ((catcnh.value != 'N') && (document.form1.cnh.value.length = 0 )) {
		alert ('Você selecionou uma categoria mas não informou o número da C.N.H.! Corrija primeiramente a informação!');
		return false;
	}
	if ((catcnh.value == 'N') && (document.form1.cnh.value.length > 0 )) {
		alert ('Você informou o número da C.N.H. porém não informou a categoria! Corrija primeiramente a informação!');
		return false;
	}
	return true;
}

    function validaEstado(strEstado)
        {
            // Caso o CEP não esteja nesse formato ele é inválido!
            //var objER = /^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/;
            //var objER = /^[A-Z]{2}$/;
			var objER = /^RO|AC|AM|RR|PA|AP|TO|MA|PI|CE|RN|PB|PE|AL|SE|BA|MG|ES|RJ|SP|PR|SC|RS|MS|MT|GO|DF$/;

			if(objER.test(strEstado.value))
				return true;
			else{
				alert("O Estado informado é inválido.");
				return false;
			}
        }

    function validaNumero(Campo,Tamanho)
        {
            // Caso o CEP não esteja nesse formato ele é inválido!
            //var objER = /^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/;
            //var objER = /^[A-Z]{2}$/;
			//var objER = /^RO|AC|AM|RR|PA|AP|TO|MA|PI|CE|RN|PB|PE|AL|SE|BA|MG|ES|RJ|SP|PR|SC|RS|MS|MT|GO|DF$/;
			var s = "^[0-9]{" + Tamanho + "}$";
			var objER =  new RegExp(s);

			if(objER.test(Campo.value))
				return true;
			else{
				alert("O campo " + Campo.alt.toUpperCase() + " informado é inválido.");
				return false;
			}
        }
		
		function isValidDate(strData){
			/*
			Purpose: return true if the date is valid, false otherwise
			
			Arguments: day integer representing day of month
			month integer representing month of year
			year integer representing year
			
			Variables: dteDate - date object
			
			*/
			var dteDate;
			var day = strData.value.substr(0,2);
			var month = strData.value.substr(3,2);
			var year = strData.value.substr(6,4);
			
			//set up a Date object based on the day, month and year arguments
			//javascript months start at 0 (0-11 instead of 1-12)
			dteDate=new Date(year,month,day);
			
			/*
			Javascript Dates are a little too forgiving and will change the date to a reasonable guess if it's invalid. We'll use this to our advantage by creating the date object and then comparing it to the details we put it. If the Date object is different, then it must have been an invalid date to start with...
			*/
			
			var Validade = ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
			
			if (Validade) 
				return true;
			else {
				alert("Data inválida!");
				return false;
			}
			}


