function Limpar_String (valor)
{
}

function E_Data(X_Dia, X_Mes, X_Ano)
{  var Dia = 0
   var Mes = 0
   var Ano = 0
   var E_Uma_Data = true

   if (isNaN(X_Dia) || isNaN(X_Mes) || isNaN(X_Ano))
   {  E_Uma_Data = false
   }
   
   if (E_Uma_Data)
   {  Dia = parseInt(X_Dia)
      Mes = parseInt(X_Mes)
      Ano = parseInt(X_Ano)
        
      // *** Testado o Dia ***
      if (Dia < 0 || Dia > 31)
      {  E_Uma_Data = false
      }
      
      // *** Testado o Mes ***
      if ((Mes < 1 || Mes > 12) && E_Uma_Data)
      {  E_Uma_Data = false
      }
      
      // *** Testado o Ano ***
      if ((Ano <= 0) && E_Uma_Data)
      {  E_Uma_Data = false
      }
      
      switch (Mes)
      {  case 1:
            break

         case 2:
            if (Dia > 29)
            {  E_Uma_Data = false
            }
            else
            {  if ((Dia ==29) && ((Ano % 4) != 0))
               {  E_Uma_Data = false
               }
            }
            break
         
         case 3:
            break
         
         case 4:
            if (Dia == 31)
            {  E_Uma_Data = false
            }
            break
         
         case 5:
            break

         case 6:
            if (Dia == 31)
            {  E_Uma_Data = false
            }
            break

         case 7:
            break
         
         case 8:
            break

         case 9:
            if (Dia == 31)
            {  E_Uma_Data = false
            }
            break

         case 10:
            break

         case 11:
            if (Dia == 31)
            {  E_Uma_Data = false
            }
            break

         case 12:
            break         
      }
   }
   
   return (E_Uma_Data)
}


function Checar_Email (emailStr)
{  
   var checkTLD=1;

   var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

   var emailPat=/^(.+)@(.+)$/;

   var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

   var validChars="\[^\\s" + specialChars + "\]";

   var quotedUser="(\"[^\"]*\")";

   var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

   var atom=validChars + '+';

   var word="(" + atom + "|" + quotedUser + ")";

   var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

   var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

   var matchArray=emailStr.match(emailPat);

   if (matchArray==null)
   {  

      alert("O endereço de email parece incorreto (verifique os caracteres @ e .) !");
      return false;
   }
   
   var user=matchArray[1];
   var domain=matchArray[2];


   for (i=0; i<user.length; i++)
   {  if (user.charCodeAt(i)>127)
      {  alert("No nome do usuário existem caracteres inválidos !");
         return false;
      }
   }
   
   for (i=0; i<domain.length; i++)
   {  if (domain.charCodeAt(i)>127)
      {  alert("No domínio exitem caracteres inválidos !");
         return false;
      }
   }


   if (user.match(userPat)==null)
   {  // user is not valid
      alert("O nome do usuário é inválido !");
      return false;
   }


   var IPArray=domain.match(ipDomainPat);
   
   if (IPArray!=null)
   {  // this is an IP address

      for (var i=1;i<=4;i++)
      {  if (IPArray[i]>255)
         {  alert("O número IP utilizado no domínio é inválido !");
            return false;
         }
      }
   }
   
   return true;
}

function ValKey (restricao, argvalue) 
{
   var keycode = 0;

   // "C"  -> permite somente letras
   // "N"  -> permite somente números 
   // "D"  -> permite números com casa decimal
   // "DN" -> permite números (positivos e/ou negativos) com casa decimal 
   // "DT" -> permite números e barra para campo data
   // "X"  -> permite qualquer caractere menos plica e acento
   // "NL" -> impede que qualquer coisa seja digitada

   if (window.event) 
   {  keycode = window.event.keyCode;  
   
	  if ((restricao == "X") && (keycode == 39 || keycode == 180 || keycode == 38 || keycode == 34))
      {  window.event.keyCode = 0;
	  }
	  else 
      {  if ((keycode > 47) && (keycode < 58))   
	     {  if (restricao == "C")
	        {  window.event.keyCode = 0;
  		    }
	     }
	     else
	     {  if ((restricao == "DT") && (keycode != 47))
	        {  window.event.keyCode = 0;
		    }
		    else
		    {  if ((restricao == "N"))
	           {  window.event.keyCode = 0;
  		       }
		       else
		       {  if ((restricao == "D") && (keycode != 44))
  	              {  window.event.keyCode = 0;
		          } 
		          else
		          {  if ((restricao == "DN") && (keycode != 44) && (keycode != 45))
  	                 {  window.event.keyCode = 0;
		             }
		          }
			
			      if (keycode == 44)
			      {  if (InStr(argvalue, ",") >= 0 && restricao != "X")
  	                 {  window.event.keyCode = 0;
		             }
			      }  
			      else
			      {  if (keycode == 45 && restricao == "DN")
			         {  if (InStr(argvalue, "-") >= 0)
  	                    {  window.event.keyCode = 0;
		                } 
			         }  
			      }   
			   }   
			}   
		 }
		 
	     //--- TECLA PLIC E ACENTO SEM VOGAL ---
   
		 if ((window.event.keyCode == 39) || (window.event.keyCode == 180) || (keycode == 34)) 
	     {  window.event.keyCode = 0;
	     }
	  }	 
   }
}

function TrataCase(flcase) 
{
   if ((window.event.keyCode >= 65 && window.event.keyCode <= 90) || (window.event.keyCode >= 192 && window.event.keyCode <= 220))
   {  if (flcase == "L")
      {  window.event.keyCode = window.event.keyCode + 32;
	  }
   }
   else
   {  if ((window.event.keyCode >= 97 && window.event.keyCode <= 122) || (window.event.keyCode >= 224 && window.event.keyCode <= 252))
      {  if (flcase == "U")
         {  window.event.keyCode = window.event.keyCode - 32;
	     } 
      }
   }	  
}

//-- COLOCA AS BARRAS DE UM CAMPO DATA AUTOMATICAMENTE

function PoeBarra(argvalue)
{
   var I         = 0;
   var numbarras = 0;
   var keycode   = 0;

   if (argvalue.size >= 10)
   {  qtbarras = 2;
   }
   else
   {  qtbarras = 1;
   }
   
   keycode = window.event.keyCode; 
   
   if (keycode != 8 && keycode != 46)
   {  I = InStr(argvalue.value, "/");
   
      if (I >= 0)
      {  numbarras = numbarras + 1;
      }
   
      I = InStr(argvalue.value.substring(I + 1, 10), "/");
   
      if (I >= 0)
      {  numbarras = numbarras + 1;
      }
	  
	  if (numbarras < qtbarras)
      {  if ((argvalue.value.length == 2 || argvalue.value.length == 5) && (numbarras < 2))
         {  argvalue.value = argvalue.value + "/";
	     }
	  }	 
   }	  
}

// -- Procura um caracter dentro de uma string, devolvendo a primeira posicao encontrada ou ,
// -- zero, se não achou

function ValidaCPF(Vl_CgcCpf)
{
   var wret;
   var VA_CgcCpf;           
   var VA_Digito;           
   var Numero1;       
   var Numero2;       
   var Numero3;       
   var Numero4;       
   var Numero5;       
   var Numero6;       
   var Numero7;       
   var Numero8;       
   var Numero9;       
   var Numero10;       
   var Numero11;       
   var VA_Resto;            
   var VA_Resultado;        
   var VA_SomaDigito10;     
   var VA_resto1;           
   var divisao;
   var multiplic;
	
   wret = true;
   
   Vl_CgcCpf = ReplStr(Vl_CgcCpf, ".", "");
   Vl_CgcCpf = ReplStr(Vl_CgcCpf, "-", "");
   Vl_CgcCpf = ReplStr(Vl_CgcCpf, "/", "");
	
   VA_CgcCpf = Vl_CgcCpf;
   VA_Digito = VA_CgcCpf.substring(9, 11);
	
   Numero1  = parseInt( VA_CgcCpf.substring( 0, 1) );
   Numero2  = parseInt( VA_CgcCpf.substring( 1, 2));
   Numero3  = parseInt( VA_CgcCpf.substring( 2, 3));
   Numero4  = parseInt( VA_CgcCpf.substring( 3, 4));
   Numero5  = parseInt( VA_CgcCpf.substring( 4, 5));
   Numero6  = parseInt( VA_CgcCpf.substring( 5, 6));
   Numero7  = parseInt( VA_CgcCpf.substring( 6, 7));
   Numero8  = parseInt( VA_CgcCpf.substring( 7, 8));
   Numero9  = parseInt( VA_CgcCpf.substring( 8, 9));
   Numero10 = parseInt( VA_CgcCpf.substring( 9, 10));
   Numero11 = parseInt( VA_CgcCpf.substring( 10, 11));
    
   VA_Resultado = (Numero1*10)+(Numero2*9)+(Numero3*8)+(Numero4*7)+(Numero5*6)+(Numero6*5)+(Numero7*4)+(Numero8*3)+(Numero9*2);
	
   divisao = parseInt(VA_Resultado/11);
	
   multiplic = divisao * 11;

   VA_Resto = VA_Resultado - multiplic;
    
   if (VA_Resto < 2) 
   {  VA_resto1 = 0;
   }   
   else
   {  VA_resto1 = 11 - VA_Resto;
   }   
            
   if (VA_resto1 != Numero10) 
   {  wret = false;
   }
	 
   VA_Resultado=(Numero1*11)+(Numero2*10)+(Numero3*9)+(Numero4*8)+(Numero5*7)+(Numero6*6)+(Numero7*5)+(Numero8*4)+(Numero9*3)+(VA_resto1*2);
     
   divisao = parseInt(VA_Resultado/11);
	 
   multiplic = divisao * 11;
	  
   VA_Resto = VA_Resultado - multiplic;
    
   if (VA_Resto < 2) 
   {  VA_resto1 = 0;
   }		
   else
   {  VA_resto1 = 11 - VA_Resto;
   }
        
   if (VA_resto1 != Numero11)
   {  wret = false;
   } 

   return wret;
}



function MascIdent(ident,acao,tipo)
{
   // Ident é o campo a ser formatado
   // Acao pode ser : C(om) formatação ou  S(em) formataçao
   // Tipo pode ser : PFI ou PJU
 
   var retvalor;
   var temp;
 
   retvalor = ident;
 
   if (ident.length > 0)
   {  // transforma variável para caracter
      temp = "" + ident;

      if (tipo == "PFI") 
      {  if ((acao == "C") && (ident.length == 11))
         {  retvalor = temp.substring(0,3) + "." + temp.substring(3,6) +  "." + temp.substring(6,9) + "-" + temp.substring(9,11);
		 }
         else
	     {  if ((acao == "S") && (ident.length == 14))
            {  retvalor = temp.substring(0,3) + temp.substring(4,7) + temp.substring(8,11) + temp.substring(12,14);
		    }
		 }
      }
	  else
	  {  if (tipo == "PJU")
	     {  if ((acao == "C") && (ident.length == 14))
            {  retvalor = temp.substring(0,2) + "." + temp.substring(2,5) +  "." + temp.substring(5,8) + "/" + temp.substring(8,12) + "-" + temp.substring(12,14);
		    }
            else
            {  if ((acao == "S") && (ident.length == 18))
               {  retvalor = temp.substring(0,2) + temp.substring(3,6) + temp.substring(7,10) + temp.substring(11,15) + temp.substring(16,18);
		       }
		    }
		 }
	  }
   }
   	
   return retvalor;
}


function Trim(expression) {
 var inStr = expression;
 var outStr;
 var strBegin;
 var strEnd;
 var i;

 begin_loop:
 for(i= 0; i<inStr.length; i++){
  if(inStr.charAt(i)!=" "){
   strBegin = i;
   break begin_loop;
  }
 }
 end_loop:
 for(i=inStr.length - 1; i>-1; i--){
  if(inStr.charAt(i)!=" "){
   strEnd = i+1;
   break end_loop;
  }
 }
 
 outStr = inStr.substring(strBegin, strEnd);
 
 return(outStr);
}

function IIF(clausula, rettrue, retfalse) 
{
   if (clausula)
   {  return rettrue;
   }
   else
   {  return retfalse;
   }
}

// -- REPLICA UM CARACTER N VEZES ---

function Replica(carac, vezes)
{
   var strretorno = "";

   for (n=1; n <= vezes; n++)
   {  strretorno = strretorno + carac;
   }
  
   return strretorno;
}


//-- VERIFICA QUAL A TECLA PRESSIONADA

function ConfKey () 
{
   var keycode = 0;
   
   if (window.event) 
   {  keycode = window.event.keyCode;
   }

   return keycode;
}


//-- EQUIVALENTE AO REPLACE DO ASP 

function ReplStr(argvalue, strant, strnew)
{
   var straux = "";

   for (n = 0; n < argvalue.length; n++)
   {  if (argvalue.substring(n, n+1) == strant)
      {  straux = straux + strnew;
      }
	  else
	  {  straux = straux + argvalue.substring(n, n+1);
	  }
   }
 
   return straux;
}

//-- (DES)FORMATA STRING DE ACORDO COM A MÁSCARA

function FormatMasc(strin, mascara, formatar)
{
   var strout = "";
   var indin = strin.length - 1;

   if (formatar == "N")
   {  strout = ReplStr(strin, "-", "");
      strout = ReplStr(strout, ".", "");
      strout = ReplStr(strout, "/", "");
   }
   else
   {  if ((mascara == "") || (strin == ""))
      {  strout = strin;
      }
      else
      {  for (n = mascara.length - 1; n >= 0; n--)
         {  if ((mascara.substring(n, n+1) == ".") || (mascara.substring(n, n+1) == "-") || (mascara.substring(n, n+1) == "/") || (mascara.substring(n, n+1) == ","))
            {  strout = mascara.substring(n, n+1) + strout;
            }
	        else
	        {  strout = strin.substring(indin, indin+1) + strout;
			   indin = indin - 1;
			   
			   if (indin < 0)
			   {  n = -1;
			   } 
	        }
	     } 	 
		 
		 //if (strout.length < mascara.length)
		 //{  strout = mascara.substring(0, mascara.length - strout.length) + strout;
		 //}
      }
   }	  
 
   return strout;
}

function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}