	var undefined = undefined;
	
	function setFormat( pEvento, piCasasEsq, piCasasDir ) {
		var voForm = document.forms[0];
		var voLimpaCampo = voForm.LIMPA_CAMPO;
		
		var viTecla = pEvento.keyCode;
		var voCampo = pEvento.srcElement;
		
		if( voLimpaCampo.value == voCampo.name ) {
			voCampo.value = "";
			voLimpaCampo.value = "";
		}
		
		var vsNumeros = voCampo.value;
		var viVirgula = vsNumeros.indexOf(",");
		var viTraco = vsNumeros.indexOf("-");
		var vsEsquerda = "";
		var vsDireita = "";
		
		voForm.MSG.value = "";
		
		pEvento.keyCode = "";
		
		if( viVirgula > -1 ) {
			vsEsquerda += vsNumeros.substring( 0, viVirgula );
			vsDireita = vsNumeros.substring( viVirgula + 1, vsNumeros.length );
		}
		else {
			vsEsquerda += vsNumeros;
			vsDireita = "";
		}
		
		if( viTraco > -1 )
			var viTamanhoEsquerdo = vsEsquerda.length - 1;
		else
			var viTamanhoEsquerdo = vsEsquerda.length;
		
		if( viTecla == 44 || vsDireita.length > 0 ) {
			if( ( viTecla >= 48 && viTecla <= 57 ) && ( vsDireita.length < piCasasDir ) ) {
				vsNumeros += String.fromCharCode( viTecla );
				
				if( (vsDireita.length + 1) == piCasasDir )
					nextFocus( voCampo );
			}
			else if( viTecla == 44 && viVirgula == -1 ) {
				if( viTamanhoEsquerdo == 0 )
					vsNumeros += "0" + String.fromCharCode( viTecla );
				else
					vsNumeros += String.fromCharCode( viTecla );
			}
			else {
				if( viTecla > 0 )
					voForm.MSG.value = "Tecla inválida.";
			}
		}
		else {
			if( viTamanhoEsquerdo < piCasasEsq ) {
				if( ( viTecla >= 48 && viTecla <= 57 ) )
					vsNumeros += String.fromCharCode( viTecla );
				else if( viTecla == 45 && viTraco == "-1" && viTamanhoEsquerdo == 0 ) 
					vsNumeros = "-";
				else {
					if( viTecla > 0 )
						voForm.MSG.value = "Tecla inválida.";
				}
			}
			else if( (viTamanhoEsquerdo == piCasasEsq) && (vsDireita.length == 0) ) {
				if( ( viTecla >= 48 && viTecla <= 57 ) ) {
					if( viVirgula == -1 )
						vsNumeros += "," + String.fromCharCode( viTecla );
					else
						vsNumeros += String.fromCharCode( viTecla );
				}
				else if( viTamanhoEsquerdo == 0 && piCasasEsq == 0 && viTecla == 45 && viTraco == "-1" )
					vsNumeros = "-";
				else {
					if( viTecla > 0 )
						voForm.MSG.value = "Tecla inválida.";
				}
			}
			else if( (viTamanhoEsquerdo == piCasasEsq) && (vsDireita.length > 0) ) {
				if( ( viTecla >= 48 && viTecla <= 57 ) && ( vsDireita.length < piCasasDir ) )
					vsNumeros += String.fromCharCode( viTecla );
				else if( viTamanhoEsquerdo == 0 && piCasasEsq == 0 && viTecla == 45 && viTraco == "-1" )
					vsNumeros = "-";
				else {
					if( viTecla > 0 )
						voForm.MSG.value = "Tecla inválida.";
				}
			}
		}
		
		if( vsNumeros == "" )
			vsNumeros = "0,00";
			
		voCampo.value = vsNumeros;
	}
	
	function nextFocus( poCampo ) {
		var voForm = document.forms[0];
		var vbNext = false;
		
		for( viLoop = 0; viLoop < voForm.elements.length; viLoop++ ) {
			var voCampo = voForm.elements[ viLoop ];
			
			if( vbNext ) {
				voCampo.focus();
				break;
			}
			
			if( voCampo == poCampo ) {
				vbNext = true;
			}
		}
	}

	function setMaskHora( pEvento ) {
		var viTecla = pEvento.keyCode;
		var voCampo = pEvento.srcElement;
		var viTamanho = voCampo.value.length;
		
		if( viTecla >= 48 && viTecla <= 57) {
			if( viTamanho < 2 ) {
				var viNumero = parseInt( voCampo.value + String.fromCharCode( viTecla ) );
				if( viNumero < 0 || viNumero > 24 ) {
					pEvento.keyCode = "";
				}
			}
			else if( viTamanho == 2 ) {
				voCampo.value += ":";
			}
			else if( viTamanho > 2 ) {
				var viNumero = parseInt( voCampo.value.substring( 3, voCampo.value.length ) + String.fromCharCode( viTecla ) );
				if( viNumero < 0 || viNumero > 59 ) {
					pEvento.keyCode = "";
				}
			}
		}
		else {
			pEvento.keyCode = "";
		}
	}
	
	function setMaskData( pEvento ) {
		var viTecla = pEvento.keyCode;
		var voCampo = pEvento.srcElement;

		if( voCampo.value.length != undefined ) {
			var viTamanho = voCampo.value.length;
			
			if( viTecla >= 48 && viTecla <= 57) {
				switch ( viTamanho) {
				case 2:
					voCampo.value += "/";
					break;
				case 5:
					voCampo.value += "/";
					break;
				}
			}
			else {
				pEvento.keyCode = "";
			}
		}
	}
	
	function blurMaskData( poCampo ) {
		var vsValor = poCampo.value;
		if (vsValor != '')
		{
			var vaData = vsValor.split("/");
			var vsDia = "";
			var vsMes = "";
			var vsAno = "";
			var vdAtual = new Date();
			var viAnoAtual = vdAtual.getYear();
			var vsSeculoAtual = viAnoAtual.toString().substring( 0, 2 ) + "00";
			
			if( vaData[ 0 ] != "" )
				vsDia = vaData[ 0 ];
				
			if( vaData[ 1 ] != "" ) {
				vsMes = vaData[ 1 ];
				
				if( vsMes.length == 1 )
					vsMes = "0" + vsMes;
			}
			
			if( vaData[ 2 ] != "" )
				vsAno = vaData[ 2 ];
			
			if(( vsDia != "" ) && ( vsMes != "" ) && ( vsAno == undefined )) {
				poCampo.value = vsDia + "/" + vsMes + "/" + viAnoAtual.toString();
			}
			else if(( vsDia != "" ) && ( vsMes != "" ) && ( vsAno != undefined )) {
				if((vsAno != "") && (vsAno.length != 4)) {
					if( parseInt( vsAno ) > 50 )
						vsAno = ( parseInt( vsSeculoAtual ) - 100 ) + parseInt( vsAno );
					else
						vsAno = ( parseInt( vsSeculoAtual ) ) + parseInt( vsAno );
					
					poCampo.value = vsDia + "/" + vsMes + "/" + vsAno;
				}
			}
		}
	}
	
	function setMaskNoSpace( pEvento ) {
		var viTecla = pEvento.keyCode;
		
		if( viTecla == 32 )
			pEvento.keyCode = "";
	}
	
	function setMaskNumInt( pEvento ) {
		var viTecla = pEvento.keyCode;
		
		if( viTecla < 48 || viTecla > 57) {
			pEvento.keyCode = "";
		}	
	}
	
	function setMaskMoeda( pEvento, piTipo ) {
		var viTecla = pEvento.keyCode;
		var voCampo = pEvento.srcElement;
		
		if( viTecla < 48 || viTecla > 57) {
			if( piTipo == 1 ) { // Real
				if( viTecla == 44 ) {
					if( voCampo.value.indexOf(",") != "-1" ) {
						pEvento.keyCode = "";
					}
				}
	 			else {
		 			pEvento.keyCode = "";
				}
			}
			
			if( piTipo == 2 ) { // Dolar
				if( viTecla == 46 ) {
					if( voCampo.value.indexOf(".") != "-1" ) {
						pEvento.keyCode = "";
					}
				}
				else {
		 			pEvento.keyCode = "";
				}
			}
		}
		else {
			if( piTipo == 1 ) {
				if( voCampo.value.indexOf(",") != "-1" ) {
					if( (voCampo.value.length - voCampo.value.indexOf(",")) == 3 )
						pEvento.keyCode = "";
				}
			}
			
			if( piTipo == 2 ) {
				if( voCampo.value.indexOf(".") != "-1" ) {
					if( (voCampo.value.length - voCampo.value.indexOf(".")) == 3 )
						pEvento.keyCode = "";
				}
			}
		}
	}
	
	function setMaskCPFCNPJ( pEvento, viTipo ) {
		var viTecla = pEvento.keyCode;
		var voCampo = pEvento.srcElement;
		var viTamanho = voCampo.value.length;

		if( viTecla >= 48 && viTecla <= 57) {
			if( viTipo == 0 ) {
				//CPF
				if( viTamanho <= 13 ) {
					switch ( viTamanho ) {
					case 3:
						voCampo.value += ".";
						break;
					case 7:
						voCampo.value += ".";
						break;
					case 11:
						voCampo.value += "-";
						break;
					}
				}
				else {
					pEvento.keyCode = "";
				}
			}
			
			if( viTipo == 1 ) {
				//CNPJ
				if( viTamanho <= 17 ) {
					switch ( viTamanho ) {
					case 2:
						voCampo.value += ".";
						break;
					case 6:
						voCampo.value += ".";
						break;
					case 10:
						voCampo.value += "/";
						break;
					case 15:
						voCampo.value += "-";
						break;
					}
				}
				else {
					pEvento.keyCode = "";
				}
			}
		}
		else {
			pEvento.keyCode = "";
		}
	}
	
	function setCapsLock( pEvento ) {
		var vsTecla = String.fromCharCode( pEvento.keyCode );
		var vsTeclaUpper = vsTecla.toUpperCase();
		pEvento.keyCode = vsTeclaUpper.charCodeAt(0);
	}

	function maskCep( pEvento ) {
		var viTecla = pEvento.keyCode;
		var voCampo = pEvento.srcElement;
		pEvento.keyCode = "";
		
		if( viTecla >= 48 && viTecla <= 57) {
			if( voCampo.value.length == 9 )
				return;
				
			if( voCampo.value.length == 5 )
				voCampo.value += "-";
			
			voCampo.value += String.fromCharCode( viTecla );
		}	
	}	
