//onkeypress="return validatecla(this, event)"
function chvalidos( caractere ){ 
	var strValidos = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890" 
	if ( strValidos.indexOf( caractere ) == -1 ) 
		return false; 
	return true;  
} 
function validatecla(campo, event) { 
	var BACKSPACE= 8;   
	var key; 
	var tecla; 
	CheckTAB=true; 
	if(navigator.appName.indexOf("Netscape")!= -1) 
		tecla= event.which; 
	else 
		tecla= event.keyCode; 
	key = String.fromCharCode( tecla);   
	if ( tecla == 13 ) 
		return true; 
	if ( tecla == 32 ) 
		return true; 
	if ( tecla == BACKSPACE ) 
		return true; 
	return ( chvalidos(key)); 
}   
//onkeypress="return validanum(this, event)"
function chnum( caractere ){ 
	var strValidos = "0123456789" 
	if ( strValidos.indexOf( caractere ) == -1 ) 
		return false; 
	return true;  
} 
function validanum(campo, event) { 
	var BACKSPACE= 8;   
	var key; 
	var tecla; 
	CheckTAB=true; 
	if(navigator.appName.indexOf("Netscape")!= -1) 
		tecla= event.which; 
	else 
		tecla= event.keyCode; 
	key = String.fromCharCode( tecla);   
	if ( tecla == 13 ) 
		return true; 
	if ( tecla == BACKSPACE ) 
		return true; 
	return ( chnum(key)); 
}
//onkeypress="return validaval(this, event)"
function chval( caractere ){ 
	var strValidos = "0123456789," 
	if ( strValidos.indexOf( caractere ) == -1 ) 
		return false; 
	return true;  
} 
function validaval(campo, event) { 
	var BACKSPACE= 8;   
	var key; 
	var tecla; 
	CheckTAB=true; 
	if(navigator.appName.indexOf("Netscape")!= -1) 
		tecla= event.which; 
	else 
		tecla= event.keyCode; 
	key = String.fromCharCode( tecla);   
	if ( tecla == 13 ) 
		return true; 
	if ( tecla == BACKSPACE ) 
		return true; 
	return ( chval(key)); 
}
//mascara data onkeypress="return validanum(this, event)" onkeyup="mdata(this)"
 function mdata(campo){
     if (campo.value.length > 2)
     	if (campo.value.charAt(campo.value.length - 1) == '/' && campo.value.charAt(campo.value.length - 2) == '/')
        	campo.value = campo.value.substr(0,campo.value.length - 2);
	 if (event.keyCode != 8)			   
     	if (campo.value.length == 2 || campo.value.length == 5)
    		campo.value += '/';
  }
//mascara cep onkeypress="return validanum(this, event)" onkeyup="mcep(this)"
 function mcep(campo){
	 if (event.keyCode != 8)
		 if (campo.value.length == 5)
   		 	campo.value += "-";
  }
 //mascara competencia mes/ano onkeyup="mcomp(this)"
 function mcomp(campo){
	 if (event.keyCode != 8)
		 if (campo.value.length == 2)
   		 	campo.value += "/";
  }
//mascara hora onkeypress="return validanum(this, event)" onkeyup="mhora(this)"
 function mhora(campo){
     if (campo.value.length > 2)
       if(campo.value.charAt(campo.value.length - 1) == ':' && campo.value.charAt(campo.value.length - 2) == ':')
          campo.value = campo.value.substr(0,campo.value.length - 2);
	 if (event.keyCode != 8)
   	  if (campo.value.length == 2 || campo.value.length == 5) 
	  	campo.value += ':';
  }
  function retornaKeyCode(evt) {
 var isNav, isIE;
 var theKey;
 
 if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
  isNav = (navigator.appName == "Netscape") ? true : false;
  isIE = (navigator.appName.indexOf("Microsoft" != -1)) ? true : false;
 }
   
 if (isNav) 
  theKey = evt.which;
 else if (isIE) 
  theKey = window.event.keyCode;
   
 return theKey;
}
function retiraNaoNumericos( OBJ ){
 var i;
 STR = new String("");
 
 for(i=0;i<OBJ.value.length;i++)
  if (OBJ.value.charAt(i)>="0" && OBJ.value.charAt(i)<="9")
   STR = STR + OBJ.value.charAt(i);
 
 OBJ.value = STR;
 return STR;
}
function inverteString ( VLR ){
 var i; 
 STR = new String("");
 
 for(i=VLR.length; i>=0; i--)
  STR = STR + VLR.charAt(i);
 
 return STR;
}
function trimZerosAEsquerda( VLR ){
 var i;
 STR = new String("");
 
 for (i=0; i<VLR.length; i++)
  if ( ( VLR.charAt(i) != '0') && ( VLR.charAt(i) != '.') )
   break;
 
 for (;i<VLR.length;i++)
  STR = STR + VLR.charAt(i);
  
 return STR;  
}
function fillZerosAEsquerda( VLR, minLength ){
 var i;
 STR = new String("");
 
 VLR = trimZerosAEsquerda (VLR);
 
 for (i=0; i < (minLength - VLR.length); i++)
  STR = "0" + STR;
 
 return STR;  
}
function identificaBrowser(){
 var strBrowser;
 
 versao = navigator.appVersion;
 nomeBrowser = navigator.appName;
 
 if (navigator.appName.indexOf("Microsoft") != -1) 
  strBrowser = "IE";
 else if(navigator.appName.indexOf("Netscape") != -1)
  strBrowser = "NE";
 else
  strBrowser = "OO";
 
 return strBrowser;
}
function posicionaCursor(OBJ, LOC, POS)
{
 
 LOC = LOC.toUpperCase();
 
 //Só funciona no IE
 if (identificaBrowser() !="IE")
 
  return;
 
 else
 
 {
  if ((LOC == "I") || (LOC == "M") || (LOC == "F"))
  { 
  
   var posicao;
   
   if (LOC == "I")
    posicao = 0;
   
   if (LOC == "F")
    posicao = OBJ.value.length;
   
   if (LOC == "M")
    posicao = POS;
     
   var tRange = OBJ.createTextRange();
   tRange.move("character",posicao);
   tRange.select();
   
  }
  return;
 
 }
}
// onkeydown="formataMoeda(this,retornaKeyCode(event))" onkeyup="formataMoeda(this,retornaKeyCode(event))"
function formataMoeda( OBJ, key ){
 var i, uBound;
 //teclas delete, backspace, shift, nao disparam o evento
 if( key!=16 && !(key>36 && key<41) ){
  invertedSTR = new String("");
  invertedSTR = retiraNaoNumericos ( OBJ );
  invertedSTR = inverteString ( invertedSTR );
  if ( invertedSTR.length < 12 ){
   UBound = invertedSTR.length;
  }
  else{
   UBound = 12;
  }
 
  if ( invertedSTR.length == 0 ){
   UBound = 3;
   invertedSTR = invertedSTR + "0000";
  }
 
  if ( invertedSTR.length == 1 ){
   UBound = 3;
   invertedSTR = invertedSTR + "000";
  }
 
  if ( invertedSTR.length == 2 ){
   UBound = 3;
   invertedSTR = invertedSTR + "00";
  }
 
  STR = new String("");
  for ( i=0; i<UBound; i++){
   STR = STR + invertedSTR.charAt(i);
   
   if (i==1)
    STR = STR + ",";
 
   if ( (i==4) || (i==7) || (i==10) )
    STR = STR + ".";
  }
  
  STR = inverteString(STR);
  STR = trimZerosAEsquerda ( STR );
  STR = fillZerosAEsquerda ( STR, 4 );
 
  OBJ.value = STR;
  
  posicionaCursor(OBJ, "F", 0)
 }
}

// onkeydown="formataMoeda3(this,retornaKeyCode(event))" onkeyup="formataMoeda3(this,retornaKeyCode(event))"
function formataMoeda3( OBJ, key ){
 var i, uBound;
 //teclas delete, backspace, shift, nao disparam o evento
 if( key!=16 && !(key>36 && key<41) ){
  invertedSTR = new String("");
  invertedSTR = retiraNaoNumericos ( OBJ );
  invertedSTR = inverteString ( invertedSTR );
  if ( invertedSTR.length < 12 ){
   UBound = invertedSTR.length;
  }
  else{
   UBound = 12;
  }
/* 
  if ( invertedSTR.length == 0 ){
   UBound = 3;
   invertedSTR = invertedSTR + "0000";
  }
 
  if ( invertedSTR.length == 1 ){
   UBound = 3;
   invertedSTR = invertedSTR + "000";
  }
 
  if ( invertedSTR.length == 2 ){
   UBound = 3;
   invertedSTR = invertedSTR + "00";
  }
*/
  if ( invertedSTR.length == 0 ){
   UBound = 4;
   invertedSTR = invertedSTR + "0000";
  }
 
  if ( invertedSTR.length == 1 ){
   UBound = 4;
   invertedSTR = invertedSTR + "000";
  }
 
  if ( invertedSTR.length == 2 ){
   UBound = 4;
   invertedSTR = invertedSTR + "00";
  }
  
  if ( invertedSTR.length == 3 ){
   UBound = 4;
   invertedSTR = invertedSTR + "0";
  }
  STR = new String("");
  for ( i=0; i<UBound; i++){
   STR = STR + invertedSTR.charAt(i);
   
   if (i==2)
    STR = STR + ",";
 
   if ( (i==5) || (i==8) || (i==11) )
    STR = STR + ".";
  }
  
  STR = inverteString(STR);
  STR = trimZerosAEsquerda ( STR );
  STR = fillZerosAEsquerda ( STR, 5 );
 
  OBJ.value = STR;
  
  posicionaCursor(OBJ, "F", 0)
 }
}