function criaMascara(_RefObjeto, _Modelo){

  var valorAtual = _RefObjeto.value;
  var valorNumerico = '';
  var nIndexModelo = 0;
  var nIndexString = 0;
  var valorFinal = '';
  var adicionarValor = true;
 
// limpa a string valor atual para verificar
// se todos os caracteres são números
for (i = 0 ; i < _Modelo.length ; i++ ){
  if(_Modelo.substr(i,1) != '#'){
    valorAtual = valorAtual.replace(_Modelo.substr(i,1),'');
  }
}
 
// verifica se todos os caracteres são números
for (i=0;i<valorAtual.length;i++){
  if (!isNaN(parseFloat(valorAtual.substr(i,1)))){
    valorNumerico = valorNumerico + valorAtual.substr(i,1);
}}
 
// aplica a máscara ao campo informado usando
// o modelo de máscara informado no script
for (i=0;i<_Modelo.length;i++){
 
  if (_Modelo.substr(i,1) == '#'){
    if (valorNumerico.substr(nIndexModelo,1) != ''){
      valorFinal = valorFinal + valorNumerico.substr(nIndexModelo,1);
      nIndexModelo++;nIndexString++;
    }
      else {
        adicionarValor = false;
  }}
 
    else {
      if (adicionarValor && valorNumerico.substr(nIndexModelo,1) != ''){
      valorFinal = valorFinal + _Modelo.substr(nIndexString,1)
      nIndexString++;
    }}
}
 
_RefObjeto.value = valorFinal
 
}
// modelo input: onfocus="criaMascara(this,'##.###.###/####-##');" onkeypress="criaMascara(this,'##.###.###/####-##');" onkeyup="criaMascara(this,'##.###.###/####-##');" onblur="criaMascara(this,'##.###.###/####-##');"
function GM_verifica_data(data_valor,nome_campo)
{
		var sData = data_valor.split("/");
		var ano;
		ano = sData[2];
		if((sData[0]>31) || (sData[1]>12) || (data_valor.length < 10 && data_valor.length > 0))
		{
				alert('Data Inválida');
				nome_campo.value='';
				if (data_valor.length == 10)
				{
					nome_campo.focus();
				}
		}
		else
		{
			var mydata = '';
			mydata = mydata + data_valor;
			if (mydata.length == 2) {
			mydata = mydata + '/';
			nome_campo.value = mydata;
			}
			if (mydata.length == 5) {
			mydata = mydata + '/';
			nome_campo.value = mydata;
			}
			if (mydata.length > 6) 
			{
				if (ano.length == 4)
				{
					biSexto(mydata,nome_campo);
				}
			}
		}
}

