//if ( wTecla == 88 || 
//     wTecla == 13 ||                     // Enter
//	   wTecla == 27 ||                     // Esc
//	   wTecla == 144 ||                    // NumLock
//	   wTecla >= 33 && wTecla <= 40 ||     // pgdw + pgUp + Home + End + Setas
//	   wTecla >= 45 && wTecla <= 46 ||     // Insert + Delete
//     wTecla >= 8 && wTecla <= 9 ||       // BackSpace + Del
//     wTecla >= 112 && wTecla <= 123 ||       // F1 - F12
//	   wTecla >= 17 && wTecla <= 20 ||     // Ctrl + + Alt + capslock
//	   wTecla >= 48 && wTecla <= 91 || wTecla >= 96 && wTecla <= 105) 
//


function formatacnpj(pCampo, pTeclaPres)
{
    if (pCampo == "undefined")
	   return true;
	   
	var wTecla, wVr, wTam;	

	wTecla = pTeclaPres.keyCode;
	wVr = pCampo.value;
	
	<!-- Retira a formatação já aplicada -->	
	wVr = wVr.replace( "-", "" );
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( "/", "" );
	wTam = wVr.length ;

    <!-- Se o tamanho é menor de 14 e não foi pressionado backspace -->
	if (wTam < 14 && wTecla != 8) 
	{
	   wTam = wVr.length + 1 ; 
	}

	if (wTecla == 8 ) { 
	   wTam = wTam - 1 ; 
	}
			
	if ( wTecla == 8 || wTecla == 88 || wTecla >= 48 && wTecla <= 57 || wTecla >= 96 && wTecla <= 105 )
	{
		if ( wTam <= 2 ){
	 		pCampo.value = wVr ;
		}
		
		if (wTam > 12 && wTam <= 14) 
		{
		   wVr = wVr.substr(0, wTam - 2) + '-' + wVr.substr(wTam - 2, wTam);
		}
		
		if ( wTam == 14)
		{
		<!-- xx.xxx.xxx/xxxx-xx  -->
	       wVr = wVr.substr( 0, wTam - 12 ) + '.' + 
		         wVr.substr(wTam - 12, 3) + '.' + 
			     wVr.substr(wTam - 9, 3) + "/" + 
				 wVr.substr(wTam - 6, wTam);
		}
		pCampo.value = wVr;	
	}
}

function formatavalor(pCampo, pTamMax, pTeclaPres, pVirgula) 
{
    if (pCampo == "undefined")
	   return true;
	   
	var wTecla = pTeclaPres.keyCode;
	wVr = pCampo.value;
	wVr = wVr.replace( "/", "" );
	wVr = wVr.replace( "/", "" );
	wVr = wVr.replace( ",", "" );
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( "," , "" )
	wTam = wVr.length;

	if (wTam < pTamMax && wTecla != 8)
	   { wTam = wVr.length + 1 ; }

	if (wTecla == 8 ){	wTam = wTam - 1 ; }
		
	if ( wTecla == 8 || wTecla >= 48 && wTecla <= 57 || wTecla >= 96 && wTecla <= 105 ){
      if (pVirgula == 1) {
		if ( wTam <= 2 ){ 
	 		pCampo.value = wVr ; }
	 	if ( (wTam > 2) && (wTam <= 5) ){
		   pCampo.value = wVr.substr( 0, wTam - 2 ) + ',' + wVr.substr( wTam - 2, wTam ) ; }
	 	if ( (wTam >= 6) && (wTam <= 8) ){
    	   pCampo.value = wVr.substr( 0, wTam - 5 ) + '.' + wVr.substr( wTam - 5, 3 ) + ',' + wVr.substr( wTam - 2, wTam ) ; }
	 	if ( (wTam >= 9) && (wTam <= 11) ) {
	 		pCampo.value = wVr.substr( 0, wTam - 8 ) + '.' + wVr.substr( wTam - 8, 3 ) + '.' + wVr.substr( wTam - 5, 3 ) + ',' + wVr.substr( wTam - 2, wTam ) ; }
	 	if ( (wTam >= 12) && (wTam <= 14) ){
	 		pCampo.value = wVr.substr( 0, wTam - 11 ) + '.' + wVr.substr( wTam - 11, 3 ) + '.' + wVr.substr( wTam - 8, 3 ) + '.' + wVr.substr( wTam - 5, 3 ) + ',' + wVr.substr( wTam - 2, wTam ) ; }
	 	if ( (wTam >= 15) && (wTam <= 17) ){
	 		pCampo.value = wVr.substr( 0, wTam - 14 ) + '.' + wVr.substr( wTam - 14, 3 ) + '.' + wVr.substr( wTam - 11, 3 ) + '.' + wVr.substr( wTam - 8, 3 ) + '.' + wVr.substr( wTam - 5, 3 ) + ',' + wVr.substr( wTam - 2, wTam ) ;}
     } else { 
		if ( wTam <= 3 ){ 
	 		pCampo.value = wVr ; }
	 	if ( (wTam > 3) && (wTam <= 6) ){
		   pCampo.value = wVr.substr( 0, wTam - 3 ) + '.' + wVr.substr( wTam - 3, wTam ) ; }
	 	if ( (wTam >= 7) && (wTam <= 9) ) {
    	   pCampo.value = wVr.substr( 0, wTam - 6 ) + '.' + wVr.substr( wTam - 6, 3 ) + '.' + wVr.substr( wTam - 3, wTam ) ; }
	 	if ( (wTam >= 10) && (wTam <= 12) ) {
	 		pCampo.value = wVr.substr( 0, wTam - 9 ) + '.' + wVr.substr( wTam - 9, 3 ) + '.' + wVr.substr( wTam - 6, 3 ) + '.' + wVr.substr( wTam - 3, wTam ) ; }
	 	if ( (wTam >= 13) && (wTam <= 15) ){
	 		pCampo.value = wVr.substr( 0, wTam - 12 ) + '.' + wVr.substr( wTam - 12, 3 ) + '.' + wVr.substr( wTam - 9, 3 ) + '.' + wVr.substr( wTam - 6, 3 ) + '.' + wVr.substr( wTam - 3, wTam ) ; }
	 	if ( (wTam >= 16) && (wTam <= 18) ){
	 		pCampo.value = wVr.substr( 0, wTam - 15 ) + '.' + wVr.substr( wTam - 15, 3 ) + '.' + wVr.substr( wTam - 12, 3 ) + '.' + wVr.substr( wTam - 9, 3 ) + '.' + wVr.substr( wTam - 6, 3 ) + '.' + wVr.substr( wTam - 3, wTam ) ;}
	 }
	}		
	
}

function formatadata(pCampo, pTeclaPres) 
{
    if (pCampo == "undefined")
	   return true;
	   
	var wTecla = pTeclaPres.keyCode;
	wVr = pCampo.value;
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( "/", "" );
	wVr = wVr.replace( "/", "" );
	wVr = wVr.replace( "/", "" );
	
	wTam = wVr.length + 1;

	if ( wTecla != 9 && wTecla != 8 )
	{
		if ( wTam > 2 && wTam < 5 )
			pCampo.value = wVr.substr( 0, wTam - 2  ) + '/' + wVr.substr( wTam - 2, wTam );
		if ( wTam >= 5 && wTam <= 10 )
			pCampo.value = wVr.substr( 0, 2 ) + '/' + wVr.substr( 2, 2 ) + '/' + wVr.substr( 4, 4 ); 
	}			
}

function formatacep(pCampo, pTeclaPres) 
{
    if (pCampo == "undefined")
	   return true;
	
	var wTecla = pTeclaPres.keyCode;
	var wTam;
	wVr = pCampo.value;
	wVr = wVr.replace( ".", "" );
	wVr = wVr.replace( "-", "" );
	wVr = wVr.replace( "/", "" );
	wTam = wVr.length + 1;

	if ( wTecla != 9 && wTecla != 8 )
	{
		if ( wTam > 2 && wTam < 6 )
			pCampo.value = wVr.substr( 0, wTam - 2  ) + '.' + wVr.substr( wTam - 2, wTam );
		if ( wTam >= 6 && wTam <= 8 )
			pCampo.value = wVr.substr( 0, 2 ) + '.' + wVr.substr( 2, 3 ) + '-' + wVr.substr( 5, 3 ); 
	}			
}

function formatahora(pCampo, pTeclaPres) 
{
    if (pCampo == "undefined")
	   return true;
	
	var wTecla = pTeclaPres.keyCode;
	var wTam;
	wVr = pCampo.value;
	wVr = wVr.replace( ":", "" );
	wTam = wVr.length + 1;

	if ( wTecla != 9 && wTecla != 8 )
	{
		if ( wTam > 2 && wTam < 5 )
			pCampo.value = wVr.substr( 0, wTam - 2  ) + ':' + wVr.substr( wTam - 2, wTam );
			
	}			
}
function formatamoeda(pCampo, pTeclaPres) 
{
    if (pCampo == "undefined")
	   return true;
	
	var wTecla = pTeclaPres.keyCode;
	var wTam;
	wVr = pCampo.value;
	wVr = wVr.replace( ",", "" );
	wVr = wVr.replace( ":", "" );	
	wVr = wVr.replace( ".", "" );	
	wTam = wVr.length + 1;

	if ( wTecla != 9 && wTecla != 8 )
	{
		if ( wTam > 2 && wTam < 5 )
			pCampo.value = wVr.substr( 0, wTam - 2  ) + '.' + wVr.substr( wTam - 2, wTam );
			
	}			
}

