/**********************************************************/	
/* Função Validar Data ************************************/
/* Passar como parâmetro a Data ***************************/
/**********************************************************/	
function validarData(campo){//valida datas
var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
var msgErro = 'Data incorreta.';
if (campo.value=="") return true;


if ((campo.value.match(expReg)) && (campo.value!=''))
{
		var dia = campo.value.substring(0,2);
		var mes = campo.value.substring(3,5);
		var ano = campo.value.substring(6,10);
	if(mes==4 || mes==6 || mes==9 || mes==11 && dia > 30)
	{
		alert("Data incorreta!");
		campo.value="";
		return false;
	} 
	else
	{
		if(ano%4!=0 && mes==2 && dia>28)
		{
			alert("Data incorreta!");
			campo.value="";
		return false;
		} 
		else
		{
			if(ano%4==0 && mes==2 && dia>29)
			{
				alert("Data incorreta!");
				campo.value="";
				return false;
			} 
			else
			{ 
				return true;
			}
		}
	}
} 
else 
{
	alert(msgErro);
	campo.value="";	
	campo.focus();
	return false;
	}
}

/**********************************************************/	
/* Função Somenete Números*********************************/
/* Passar como parâmetro o número**************************/
/**********************************************************/	
function OnlyNumbers(e) { 


		if (window.event) { 
		tecla = e.keyCode; 
		} 
	   else if (e.which) { 
		tecla = e.which; 
	   } 
	   
	   if ( (tecla >= 48 && tecla <= 57)||(tecla == 8 ) )  return true;
		  else return false;

}


/**********************************************************/	
/* Função que coloca máscara no campo *********************/
/* Passar como parâmetro o tipo de máscara, campo e a tecla*/
/**********************************************************/	
function MascaraCampo(tipo, campo, teclaPress) {
    if (window.event)
    {
        var tecla = teclaPress.keyCode;
    } else {
        tecla = teclaPress.which;
    }

    var s = new String(campo.value);
    // Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
    s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');

    tam = s.length + 1;

    if ( tecla != 9 && tecla != 8 ) {
        switch (tipo)
        {
        case 'CPF' :
            if (tam > 3 && tam < 7)
                campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
            if (tam >= 7 && tam < 10)
                campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
            if (tam >= 10 && tam < 12)
                campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
        break;

        case 'CNPJ' :

            if (tam > 2 && tam < 6)
                campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
            if (tam >= 6 && tam < 9)
                campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
            if (tam >= 9 && tam < 13)
                campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
            if (tam >= 13 && tam < 15)
                campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
        break;

        case 'TEL' :
            if (tam > 2 && tam < 4)
                campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
            if (tam >= 7 && tam < 11)
                campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
        break;

        case 'DATA' :
            if (tam > 2 && tam < 4)
                campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
            if (tam > 4 && tam < 11)
                campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
        break;
        
        case 'CEP' :
            if (tam > 5 && tam < 7)
                campo.value = s.substr(0,5) + '-' + s.substr(5, tam);
        break;
        }
    }
}



/****************************************************************/	
/* Função que determina a quantidade de caracteres do textarea **/
/* Passar como parâmetro o objeto,tamanho e a div ***************/
/***************************************************************/	
function Contar(Campo,NumCaracteresMax,DivResposta){
	a = window.document.getElementById(Campo).value.length;
	elemento = document.getElementById(DivResposta);
	elemento.innerHTML = NumCaracteresMax - a;
	if(a>NumCaracteresMax){
		resposta = document.getElementById(DivResposta);
		resposta.innerHTML = 0;
		c = document.getElementById(Campo).value.substring(0,NumCaracteresMax);
		document.getElementById(Campo).value = c;
	}
}

/****************************************************************/	
/* Função que Valida o e-mail ***********************************/
/* Passar como parâmetro o email que retorna true ou false ******/
/***************************************************************/	
function ValidarEmail(email)
{
    er = /^[a-z0-9\._-]+@([a-z0-9-]{2,26}(\.[a-z0-9-]{2,26})+)|([0-9-]{1,3}\.[0-9-]{1,3}\.[0-9-]{1,3}\.[0-9-]{1,3})1$/;
    if (!er.test(email.toLowerCase())) { 
		return false;
	}
    else { 
		return true; 
	}
}


function Dados(valor,campo,nomelista,nomeparametro,nomeid) {
      //verifica se o browser tem suporte a ajax
	  var nomecampo = campo;
	  try { ajax = new ActiveXObject("Microsoft.XMLHTTP");} 
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
	     catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
	        catch(exc) {
               alert("Esse browser nao tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }
	  if(ajax) {
		 document.getElementById(nomecampo).options.length = 1;
		 var idOpcao  = document.getElementById("opcoes");
	     ajax.open("POST", nomelista , true);
		 ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		 ajax.onreadystatechange = function() {
			if(ajax.readyState == 1) {
				//document.frmCadastro[nomecampo].options[0].value = "Carregando....";
	        }
            if(ajax.readyState == 4 ) {
			   //document.frmCadastro[nomecampo].options.length = 1;
			   if(ajax.responseXML) {
			      processXML(ajax.responseXML,nomeid,nomecampo);
			   }
			   else {
			       //caso nao seja um arquivo XML emite a mensagem abaixo
				  // idOpcao.innerText = "Selecione....";
			   }
            }
         }

		//passa o código do estado escolhido
	     var params = nomeparametro+"="+valor;
         ajax.send(params);
      }
   }
   
function processXML(obj,nomeid,nomecampo){ 
//  var dataArray   = obj.getElementsByTagName("cidade");
  var campo       = nomecampo;	
  var dataArray   = obj.getElementsByTagName(nomeid);
  
  if(dataArray.length > 0) {
	 for(var i = 0 ; i < dataArray.length ; i++) {
		var item = dataArray[i];
		//contéudo dos campos no arquivo XML
		var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
		var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;

		var novo = document.createElement("option");
			novo.setAttribute("id", "opcoes","selected");
			novo.value = codigo;
			novo.text  = descricao;
			document.getElementById(campo).options.add(novo);
}
  }
  else {
	//caso o XML volte vazio, printa a mensagem abaixo
	//idOpcao.innerHTML = "--Primeiro selecione o estado--";
  }	  
}	