function Mascara_CEP(obj)
{
	valor = obj
	if(valor.length == 5)
	{
		valor = valor + "-";
	}	
	return valor;	
}
function Mascara_Telefone(obj)
{
	valor = obj
	if(valor.length == 1)
	{
		valor = "(" + valor;
	}
	if(valor.length == 3)
	{
		valor = valor + ")";
	}	
	return valor;	
}

function Mascara_TelefoneSemDDD(obj)
{
	valor = obj
	if(valor.length == 4)
	{
		valor = valor + "-";
	}	
	return valor;	
}
function Mascara_CPF(obj)
{
	valor = obj
	if(valor.length == 3)
	{
		valor = valor + ".";
	}
	if(valor.length == 7)
	{
		valor = valor + ".";
	}	
	if(valor.length == 11)
	{
		valor = valor + "-";
	}	
	return valor;		
}
function valida_email(email) 
{
  var intEmail = email.length;
  var varVerifica = 0;
  var varArroba = 0;
  var varValida = 0;
  
  for (i=0;i<intEmail;i++)
  {
   	if((email.substr(i,1)) == '@')
	{
		varArroba = i;
		varVerifica = varVerifica + 1;
	}
  }
  if(varArroba != 0 || varVerifica == 1)
  {
	for (i=varArroba;i<intEmail;i++)
	{
		if((email.substr(i,1)) == '.')
		{
			varValida = 1;
		}
	}
  }

  if (varValida == 1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function valida_cpf(rcpf1,rcpf2) 
{
  d1 = 0;
  for (i=0;i<9;i++) 
    d1 += rcpf1.charAt(i)*(10-i);
  d1 = 11 - (d1 % 11);
  if (d1>9) d1 = 0;
  
  if (rcpf2.charAt(0) != d1) 
    return false;
  
  d1 *= 2;
  for (i=0;i<9;i++) 
    d1 += rcpf1.charAt(i)*(11-i);
  d1 = 11 - (d1 % 11);
  if (d1>9) d1 = 0;
  
  if (rcpf2.charAt(1) != d1) 
    return false;

  return true;

}
function Mascara_CNPJ(valor_obj)
{
//	alert(valor_obj);
	valor = valor_obj;
	if(valor.length == 2)
	{
		valor = valor + ".";
	}
	if(valor.length == 6)
	{
		valor = valor + ".";
	}	
	if(valor.length == 10)
	{
		valor = valor + "/";
	}	
	if(valor.length == 15)
	{
		valor = valor + "-";
	}
	return valor;
}
function Valida_CNPJ(strCNPJ)
{
	if (strCNPJ == ""){
		return false;
	}
	
	
	var strCNPJtemp = "";
	for(i=0;i<18;i++)
	{
		if(strCNPJ.substr(i,1) != "." && strCNPJ.substr(i,1) != "/" && strCNPJ.substr(i,1) != "-"){
			strCNPJtemp = strCNPJtemp + strCNPJ.substr(i,1);
		}
	}
	strCNPJ= strCNPJtemp;
	
	var
		strDV = strCNPJ.substr(12, 2),
		intSoma,
		intDigito = 0,
		strControle = "",
		strMultiplicador = "543298765432";
	strCNPJ = strCNPJ.substr(0, 12);
	for(var j = 1; j <= 2; j++)
	{
		intSoma = 0;
		for(var i = 0; i <= 11; i++)
		{
			intSoma += (parseInt(strCNPJ.substr(i, 1), 10) * parseInt(strMultiplicador.substr(i, 1), 10))
		}
		if(j == 2){intSoma += (2 * intDigito)}
		intDigito = (intSoma * 10) % 11;
		if(intDigito == 10){intDigito = 0}
		strControle += intDigito.toString();
		strMultiplicador = "654329876543";
	}
	return(strControle == strDV);
}
function bloqueia_nao_numerico() {
	//colocar esta fun??o no keypress
	if(event.keyCode < 48 || event.keyCode > 57){
		event.keyCode = 0;
		return false;
	}else{
		return true;
	}
}
function verifica_branco(parametro)   // FUNCAO PARA VERIFICA??O DE CAMPOS N?O PREENCHIDOS
									// OU PREENCHIDOS APENAS COM ESPA?OS EM BRANCO
{
	teste_parametro = "false"; //variavel para teste de espacos em branco
	tamanho_parametro = parametro.length;
	if (tamanho_parametro != 0)
	{
		for (i = 0; i < tamanho_parametro; i++)
			{if (parametro.charAt(i) != " ")
				{
					teste_parametro = "true"; /*existe caracter diferente de branco*/
				}
			}
		if (teste_parametro == "false")  //todos os caracteres digitados s?o brancos
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		return false;
	}
		
}

/* ----------------------------------------------------------------------------
  sub-Rotina: 
  objetivo  : 
  par?metros: 
  retorno   : 
  autor(a)  : Luiz Fernando
  data      : 14/11/2002
  situa??o  : conclu?da
----------------------------------------------------------------------------*/
  function abrirPopup(url,w,h)
  {
    var obj  = eval('document.forms[0].idUsuario');
    var l    = Math.round((window.screen.availWidth  - w)/2);
    var t    = Math.round((window.screen.availHeight - h)/2);
    var features  = 'width='  + w + ',';
        features += 'height=' + h + ',';
        features += 'top='    + t + ',';
        features += 'left='   + l;
    var w = window.open(url,'',features);
  }
  
function Mostra_Popup(controleID)
{
	//funcionalidade: Mostrar o menu din?mico no evento onMouseOver de cada item encontrado na pesquisa
	//par?metros:
	//	controleID: Identificador do item a ser mostrado
	//alert(controleID)
	var dv;
	if (controleID.toUpperCase().substring(0,3) == "DIV") {
		var arDivs = document.getElementsByTagName("DIV");
		for (x= 0;x < arDivs.length; x++) { 
			dv = arDivs[x];
			if ((dv.id) == controleID) {
				dv.style.display = "block" ;
			}else{
				if(dv.id.substring(0, 3) != 'dv_'){ 	// a div cujo id inicia com dv_ exibe strMensagem em consultaMensagem.jsp.
					dv.style.display = "none" ;
				}
			}
		}
	} else { //? SPAN -> Submenu
		var arSpans = document.getElementsByTagName("SPAN")
		for (x = 0; x < arSpans.length ; x++){ 
			if(arSpans[x].className == 'spnData') continue;
			if ((arSpans[x].id) == controleID) {
				arSpans[x].style.display = "block" ;
			}else{
				arSpans[x].style.display = "none" ;
			}
		}
	}
}

function Esconde_Popup() {
	//funcionalidade: Esconder o menu din?mico no evento onMouseOut de cada item encontrado na pesquisa
	var arDivs = document.getElementsByTagName("DIV");
	for (x = 0; x < arDivs.length ; x++) {  
		var dv = arDivs[x];
		if(dv.id.substring(0, 3) != 'dv_'){ 	// a div cujo id inicia com dv_ exibe strMensagem em consultaMensagem.jsp.
			dv.style.display = "none" ;
		}
	}
	var arSpans = document.getElementsByTagName("SPAN")
	for (x= 0;x < arSpans.length ; x++) {  
		var spn = arSpans[x];
		if(spn.className == 'spnData') continue;
		spn.style.display = "none" ;
	}
}
//function Abre(pagina)
//{
//	window.open(pagina,'trabalho','top=0,left=0,toolbar=0,location=0,directories=0,status=1,menubar=0,resizable=1,scrollbars=1, width=800, height=600');
//}

function Abre(pagina)
{
	var targeturl=pagina;
	newwin=window.open("","","scrollbars");
	var wid = screen.width;
	var hei = screen.height;
	wid = (screen.width);
	hei = (screen.height - 30);
	if (document.all)
		{
			newwin.moveTo(0,0);
			newwin.resizeTo(wid, hei);
		}
	newwin.location=targeturl
	//return newwin;

	//window.open(pagina,'nova','top=0,left=0,toolbar=0,location=0,directories=0,status=1,menubar=0,resizable=1,scrollbars=1, width=800, height=600');
}
function AbreNova(pagina)
{
	var targeturl=pagina;
	newwin=window.open("","velha","scrollbars");
	var wid = screen.width;
	var hei = screen.height;
	wid = (screen.width);
	hei = (screen.height - 30);
	if (document.all)
		{
			newwin.moveTo(0,0);
			newwin.resizeTo(wid, hei);
		}
	newwin.location=targeturl

	//window.open(pagina,'velha','top=0,left=0,toolbar=0,location=0,directories=0,status=1,menubar=0,resizable=1,scrollbars=1, width=800, height=600');
}
function AtualizaJanelaPai(url)
{
	parent.opener.document.forms[0].submit();
	window.close();
}
function AtualizaJanelaPaiSemFechar(url)
{
	parent.opener.document.forms[0].submit();
	//window.close();
}
function Mascara_Data(obj){
	var data;
	var num;
	num = "";
	//separar os n?meros
	for ( var j=0; j<obj.length + 1; j++ ) {
		switch(obj.substr(j,1)){
			case "0":
				num = num + obj.substr(j,1);
 				break;
			case "1":
				num = num + obj.substr(j,1);
 				break;
			case "2":
				num = num + obj.substr(j,1);
 				break;
			case "3":
				num = num + obj.substr(j,1);
 				break;
			case "4":
				num = num + obj.substr(j,1);
 				break;
			case "5":
				num = num + obj.substr(j,1);
 				break;
			case "6":
				num = num + obj.substr(j,1);
 				break;
			case "7":
				num = num + obj.substr(j,1);
 				break;
			case "8":
				num = num + obj.substr(j,1);
 				break;
			case "9":
				num = num + obj.substr(j,1);
 				break;
		}
	}
	data = "";
	switch(num.length){
			case 0:
				data = "";
 				break;
			case 1:
				data = num;
 				break;
			case 2:
				data = num;
 				break;
			case 3:
				data = num.substring(0,2) + "/" + num.substring(2);
 				break;
			case 4:
				data = num.substring(0,2) + "/" + num.substring(2);
 				break;
			case 5:
				data = num.substring(0,2) + "/" + num.substring(2,4) + "/" + num.substring(4);
 				break;
			case 6:
				data = num.substring(0,2) + "/" + num.substring(2,4) + "/" + num.substring(4);
 				break;
			case 7:
				data = num.substring(0,2) + "/" + num.substring(2,4) + "/" + num.substring(4);
 				break;
			case 8:
				data = num.substring(0,2) + "/" + num.substring(2,4) + "/" + num.substring(4);
 				break;
 			case 9:
				data = num.substring(0,2) + "/" + num.substring(2,4) + "/" + num.substring(4,8);
 				break;
 	}
	return data;
}
function valida_data(dia,mes,ano, tamanho)
	{
		var v_dia;
		var v_mes;
		var v_ano;
		v_dia = dia;
		v_mes = mes;
		v_ano = ano;
		v_tamanho = tamanho;

		var c = 0;
		for(var x = 1; x < v_tamanho + 1; x++){
			c = c + 1;
		}

		if (c < 8) {
   			return(false);
		}

		
		if (v_dia.length < 2){
			return(false);
		}
		
		if (v_mes.length < 2){
			return(false);
		}
		
		if (v_ano.length < 4){
			return(false);
		}

			
		if (((v_ano < 1900) || (v_ano > 2079)) && (v_ano.length != 0)){
			return(false);
		}

		if (v_dia > 31){
			return(false);
		}
		
		if (v_mes > 12){
			return(false);
		}
		
		if (v_dia == "31") 
		{
			if ((v_mes == "04") || (v_mes == "06") || (v_mes == "09") || (v_mes == "11"))
			{
				return(false);
			}
		}
	

		if (v_mes == "02")
		{
			if (!(v_ano%4)) 
			{
				if (v_dia > 29)
				{
					return(false);
				}
			}
			else if (v_dia > 28)
			{
				return(false);
			}
		}
		
		//o -if- abaixo testa se algum campo foi preenchido e outro deixado em branco deixando a data incompleta

		if (((v_dia != "") || (v_mes != "") || (v_ano != "")) && ((v_dia == "") || (v_mes == "") || (v_ano == "")))
		{
			return(false);
		}
		
		return(true);
	}
	function fEnter(eventObj)
	{
		var keyCode;
		
		keyCode=eventObj.keyCode;
		
		if (keyCode == 13)
		{
			validar();	
		}
	}
	
  function limparId(campo, strPagina)
  {
    var obj;
    obj = eval('document.forms[0].' + campo)
    obj.value = '';
    window.location.href(strPagina);
  }


/* ----------------------------------------------------------------------------
  sub-Rotina: 
  objetivo  : 
  par?metros: 
  retorno   : 
  autor(a)  : 
  data      : 
  situa??o  : concluida
----------------------------------------------------------------------------*/
function verCheckboxSelecionado(obj)
{
  var quant = 0;
  var verSelecao
  
  if((new String(obj.length) == 'undefined') || (obj.length == 0) )
  {
    if(obj.checked)
    {
      quant++
    }
  }
  else
  {
    for(var i =0; i < obj.length; i++)
    {
      if(obj[i].checked)
      {
        quant++;
      }
    }
  }
 
verSelecao = (quant >=2)?2:quant;
   if (verSelecao == 0) 
  {
  	alert("Selecione uma op??o para excluir.");
	return false;
  }
  else
  {
  	alert("Selecionou algo...")

  }
}

    function ehData(data){
      if (data.length != 10) return false;
    if (data.substring(2, 3) != "/" || data.substring(5, 6) != "/") return false;

        dia = data.substring(0, 2);
        mes = data.substring(3, 5);
        ano = data.substring(6, 10);

        if (!ehNumerico(ano) || !ehNumerico(mes) || !ehNumerico(dia)) return false;
        if (!estahFaixa(ano,1900,2100) || !estahFaixa(mes,1,12) || !estahFaixa(dia,1,31) ) return false;

        if ((mes == '04' || mes == '06' || mes == '09' || mes == '11') && dia == 31 ) return false;
        if (mes == '02'){
            if( ano % 4 == 0){
                if(dia > '29') return false;
            }else{
              if(dia > '28') return false;
            }
        }
    return true;
    }
    function ehHora(data){
        //Formato validado HH:MM
        
        hora = data.substr(0,2);
        minuto = data.substr(3,2);
        
		    if(data.length < 5 || !ehNumerico(hora) || !ehNumerico(minuto)){
			    return false;
		    }else{
		        if(hora > 23 || minuto > 59 ){
			        return false;		        
		        }
		    }
        return true;
    }
    function isBiggerDate(menor, maior){
    //Esta rotina pode retornar 4 valores
    //0 = par?metros inv?lidos
    //1 = primeira data maior (par?metro menor > par?metro maior)
    //2 = datas iguais
    //3 = segunda data maior (par?metro menor < par?metro maior)


      if (!ehData(menor) || !ehData(maior)){
      return 0;
        }
        if(menor.substring(6, 10) > maior.substring(6, 10)){
          return 1;
        }
        if(menor.substring(6, 10) < maior.substring(6, 10)){
          return 3;
        }
        if(menor.substring(3, 5) > maior.substring(3, 5)){
          return 1;
        }
        if(menor.substring(3, 5) < maior.substring(3, 5)){
          return 3;
        }
        if(menor.substring(0, 2) > maior.substring(0, 2)){
          return 1;
        }
        if(menor.substring(0, 2) < maior.substring(0, 2)){
          return 3;
        }
        return 2;
    }

    function ehNumerico(num){
      for (i=0; i<num.length; i++){
        if (num.substring(i,i+1) != 0 && num.substring(i,i+1) != 1 && num.substring(i,i+1) != 2 && num.substring(i,i+1) != 3 && num.substring(i,i+1) != 4 && num.substring(i,i+1) != 5 && num.substring(i,i+1) != 6 && num.substring(i,i+1) != 7 && num.substring(i,i+1) != 8 && num.substring(i,i+1) != 9){
            return false;
        }
      }
     return true;
    }
  //Modo de usar a funcao formataValor
  //<input type="text" name="valor" onkeypress="formataValorPress(this,event,[quantidade de numeros inteiros],[quantidade de decimais])"
  //                    onfocus="formataValorFocus(this)"
  //                                onblur="formataValorBlur(this,[quantidade de numeros inteiros],[quantidade de decimais])"
  // size="20">
  function formataValorFocus(campo){
    vr = campo.value;
    for(k=0;k<10;k++) vr = vr.replace(".", "");
    campo.value = vr;
  }

  function formataValorBlur(campo, inteiro, decimal){
    vr = campo.value;
    //limitando as casas decimais
    if (vr.indexOf(',') >= 0){
      if(vr.length > (vr.indexOf(',') + decimal + 1) ){
        campo.value = vr.substring(0, vr.indexOf(',') + decimal + 1);
        vr = campo.value;
      }
    }
    //limitando os numeros inteiros
    if (vr.indexOf(',') >= 0){
      if (vr.indexOf(',') > inteiro){
        campo.value = vr.substring(0, inteiro)+ vr.substring(vr.indexOf(','), vr.indexOf(',') + decimal + 1);
        vr = campo.value;
      }
    }else{
      if (vr.length > inteiro){
        campo.value = vr.substring(0, inteiro);
        vr = campo.value;
      }
    }
    //formatando com . decimal e zero nas casas em branco
    if (vr.indexOf(',') < 0 && vr.length > 0) vr = vr + ',';
    for(k=0;k < decimal && vr.length > 0; k++){
      vr = vr + '0';
    }
    if (vr.indexOf(',') >= 0){
      it = vr.indexOf(',');
      respdec = vr.substring(vr.indexOf(','), vr.indexOf(',') + decimal + 1);
    }else{
      it = vr.length;
      respdec = '';
    }
    //formatando com , separador de centenas
    respint = '';
    for (k=0;k<it;k++){
      if(k % 3 == 0 && k != 0) {
        respint = '.' + respint;
      }
      respint = vr.substring(it-k-1,it-k) + respint ;
    }
    campo.value = respint + respdec ;
  }
  
  function MontaBolsa(pagina){
  	var chkArr = ""
  	var mensagem =""
  	var controle = false;
  	var quant = document.form.chkBolsa.length;
  	//var flag = false; 	
    //	  for(i=0; i<quant;i++){
	// 		if(document.form.chkBolsa[i].checked == true){
	//  			
	//			if(controle){
	//				chkArr = chkArr + ",";
	//			}
	//			chkArr = chkArr + document.form.chkBolsa[i].value;
	//			controle = true;
	// 			msgEmTratamento(document.form.chkBolsa[i].value, true)
	// 			mensagem = document.form.chkBolsa[i].value;
	// 			flag = true;
	// 		}
	// 	}
	  	if(document.form.AuxBolsaMensagem.value.length > 0){
			mensagens = document.form.AuxBolsaMensagem.value.split(",");
	  		Abre(pagina +"&idMensagens="+document.form.AuxBolsaMensagem.value.substr(0,document.form.AuxBolsaMensagem.value.length-1)+"&idMensagem="+mensagens[0]);
	  	}else{
		  	alert('Marque ao lado do nome do cidad?o-usu?rio pelo menos uma mensagem.');
	  	}	
  		
  	//msgEmTratamento("+idMensagens+", true)
  }
  
  function VerificaArrBolsa(idMensagem, pagina, totPaginas) {
  	var f = document.form;
  	if(f.AuxBolsaMensagem.value.length > 0){
  		var inclui = true;
  		mensagens = f.AuxBolsaMensagem.value.split(",");
  		for(var i = 0; i < mensagens.length; i++){
  			if(mensagens[i] == idMensagem){
  				mensagens[i]= "";
   				inclui = false;
  			}
  		}
  		f.AuxBolsaMensagem.value = "";
  		for(i=0;i<mensagens.length-1;i++){
   			if(mensagens[i] != ""){		
  				f.AuxBolsaMensagem.value += mensagens[i] + ",";
	  		}
  		}
  		if(inclui){
  			f.AuxBolsaMensagem.value += idMensagem + ",";
  		}
  	}else{
  		f.AuxBolsaMensagem.value = idMensagem +",";
  	}
  	
  	// chamada da funcao q libera as acoes relacionadas a bolsa de msg
  	var flag = f.AuxBolsaMensagem.value.length > 0;
  	ativaMenuBolsa(flag);
  }
  
  function formataValorPress(campo, teclapres, inteiro, decimal){
    vr = campo.value;

    //Transformando . em ,
    if (teclapres.keyCode == 46) teclapres.keyCode = 44;
    //Permitindo apenas num?rico
    if(!((teclapres.keyCode >= 48 && teclapres.keyCode <= 57) || teclapres.keyCode == 44)){
      teclapres.returnValue = false;
    }
    //N?o permitindo digitar . mais de uma vez
    if(teclapres.keyCode == 44 && (vr.indexOf(',') >= 0 || decimal == 0) ){
      teclapres.returnValue = false;
    }
  }

    function estahFaixa(num,inicio,fim){
      if (num >=inicio && num <=fim )
        return true;
      else
        return false;
    }

    function FormataCampo(object,evento,mascara){
      var tecla = evento.keyCode;
      var valor, temp, temp2;
      valor = object.value;

      temp = "";
      temp2 = "";
      if ( tecla ==8 || tecla == 88 || tecla>=48 && tecla<=57 || tecla>=96 && tecla<=105){
        if (tecla==8)  valor=valor.substring(0,valor.length);

        for (i=0;i<valor.length;i++){
          if (valor.substring(i,i+1) != "." && valor.substring(i,i+1) != "," && valor.substring(i,i+1) != "-" && valor.substring(i,i+1) != "/" && valor.substring(i,i+1) != "(" && valor.substring(i,i+1) != ")" && valor.substring(i,i+1) != ":"  && valor.substring(i,i+1) != "G"  && valor.substring(i,i+1) != "M"  && valor.substring(i,i+1) != "S")
            temp = temp + valor.substring(i,i+1);
        }

        temp2 = "";
        j = 0;
        for (i=0; i<temp.length;i++){
          if (mascara.substring(j,j+1)=="#"){
            temp2 = temp2 + temp.substring(i,i+1);
            j = j + 1;
          }
          else{
            temp2 = temp2 + mascara.substring(j,j+1) + temp.substring(i,i+1);
            j = j + 2;
          }
        }
      object.value = temp2;
    }
   }

   function limpaMascara(txt)
   {
        tmp = "";

        for (i=0; i < txt.length ; i++)
        {
          if (txt.substring(i,i+1) != "." && txt.substring(i,i+1) != "/" && txt.substring(i,i+1) != "-" ) tmp = tmp + txt.substring(i,i+1);
        }
      return tmp;
    }

	function popupPage(urlrecebida) {
		var windowprops = "top=300,left=150,toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,scrollbars=0, width=240, height=135"
		window.open(urlrecebida,"MenuPopup",windowprops);
	 }
function bloqueia_nao_numerico_curr(valor) {
	//colocar esta fun??o no keypress
	if(event.keyCode != 44){
		if(event.keyCode < 48 || event.keyCode > 57){
			event.keyCode = 0;
			return false;
		}else{
			return true;
		}
	}else{
		if (valor.search(',') != -1){
			event.keyCode = 0;
			return false;
		}
	}
}function bloqueia_nao_numerico() {
	//colocar esta fun??o no keypress
	if(event.keyCode < 48 || event.keyCode > 57){
		event.keyCode = 0;
		return false;
	}else{
		return true;
	}
}
function formataCampo(objForm, strField, sMask, evtKeyPress) {
  var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
  
  if(document.all) { // Internet Explorer
	nTecla = evtKeyPress.keyCode; }
  else if(document.layers) { // Nestcape
	nTecla = evtKeyPress.which;
  }
  sValue = objForm[strField].value;
  // Limpa todos os caracteres de formata??o que j? estiverem no campo.
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( ":", "" );
  fldLen = sValue.length;
  mskLen = sMask.length;

  i = 0;
  nCount = 0;
  sCod = "";
  mskLen = fldLen;

  while (i <= mskLen) {
	bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
	bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == ":"))

	if (bolMask) {
	  sCod += sMask.charAt(i);
	  mskLen++; }
	else {
	  sCod += sValue.charAt(nCount);
	  nCount++;
	}
	i++;
  }

  objForm[strField].value = sCod;

  if (nTecla != 8) { // backspace
	if (sMask.charAt(i-1) == "9") { // apenas n?meros...
	  return ((nTecla > 47) && (nTecla < 58)); } // n?meros de 0 a 9
	else { // qualquer caracter...
	  return true;
	} }
  else {
	return true;
  }
}

function formataCampo2(objeto, sMask, evtKeyPress) {
  var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
  
  if(document.all) { // Internet Explorer
	nTecla = evtKeyPress.keyCode; }
  else if(document.layers) { // Nestcape
	nTecla = evtKeyPress.which;
  }
  sValue = objeto.value;
  // Limpa todos os caracteres de formata??o que j? estiverem no campo.
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( ":", "" );
  fldLen = sValue.length;
  mskLen = sMask.length;

  i = 0;
  nCount = 0;
  sCod = "";
  mskLen = fldLen;

  while (i <= mskLen) {
	bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
	bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == ":"))

	if (bolMask) {
	  sCod += sMask.charAt(i);
	  mskLen++; }
	else {
	  sCod += sValue.charAt(nCount);
	  nCount++;
	}
	i++;
  }

  objeto.value = sCod;

  if (nTecla != 8) { // backspace
	if (sMask.charAt(i-1) == "9") { // apenas n?meros...
	  return ((nTecla > 47) && (nTecla < 58)); } // n?meros de 0 a 9
	else { // qualquer caracter...
	  return true;
	} }
  else {
	return true;
  }
}

// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("O formato da data deve ser : dd/mm/aaaa")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Por favor, informe um M?s v?lido!")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Por favor, informe um Dia v?lido!")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Por favor, informe um Ano de 4 d?gitos entre "+minYear+" e "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Por favor, informe uma Data v?lida!")
		return false
	}
return true
}

function ValidateForm(dt){
	if(dt.value==""){
		return false
	}
	var x = dt.value.substring(0,10);
	if (isDate(x)==false){
		dt.focus()
		return false
	}
	return true
}

function validaDataHora(cp){
	if(cp.value.length >= 10 && cp.value.length < 19){
		alert("Formato inv?lido! Digite usando o formato de Data e Hora: (dd/mm/aaaa hh:mm:ss)");
		cp.focus();
		return false
	}
}

function ajustaHora(cp){
	var x = cp; //document.formCadastroArtigos.dataInclusao;
	if(x.value.length==10){
		x.value = x.value + " ";
	}
}