function block(tipo, evt, campo, valor) {

	switch(tipo){

		// 1 - Permite somente números........................................................................................
		case 1:		
			var key_code = evt.keyCode  ? evt.keyCode  :
			evt.charCode ? evt.charCode :
			evt.which    ? evt.which    : void 0;
			// Habilita teclas <DEL>, <TAB>, <ENTER>, <ESC> e <BACKSPACE>
			if (key_code == 8  ||  key_code == 9  ||  key_code == 13  ||  key_code == 27){
				return true;
			}
			// Habilita números de 0 a 9
			else if ((key_code >= 48)  &&  (key_code <= 57)){
				return true;
			}
			return false;
		break;
		
		// 2 - Permite somente números e :
		case 2:		
			var key_code = evt.keyCode  ? evt.keyCode  :
			evt.charCode ? evt.charCode :
			evt.which    ? evt.which    : void 0;
			// Habilita teclas <DEL>, <TAB>, <ENTER>, <ESC> e <BACKSPACE>
			if (key_code == 8  ||  key_code == 9  ||  key_code == 13  ||  key_code == 27){
				return true;
			}
			// Habilita números de 0 a 9
			else if ((key_code >= 48)  &&  (key_code <= 58)){
				return true;
			}
			return false;
		break;
		
		// 3 - Permite somente números e espaço
		case 3:		
			var key_code = evt.keyCode  ? evt.keyCode  :
			evt.charCode ? evt.charCode :
			evt.which    ? evt.which    : void 0;
			// Habilita teclas <DEL>, <TAB>, <ENTER>, <ESC> e <BACKSPACE>
			if (key_code == 8  ||  key_code == 9  ||  key_code == 13  ||  key_code == 27 || key_code == 32){
				return true;
			}
			// Habilita números de 0 a 9
			else if ((key_code >= 48)  &&  (key_code <= 58)){
				return true;
			}
			return false;
		break;
		
		// 4 - Permite números e símbolos
		// Exemplo de utilização:
		// onKeyPress="return block(4, event, this.name, this.value);"
		case 4:
			var key_code = evt.keyCode  ? evt.keyCode  :
			evt.charCode ? evt.charCode :
    		evt.which    ? evt.which    : void 0;
			if (	((key_code >= 65)&&(key_code <= 90)) || ((key_code >= 97)&&(key_code <= 122))	){
				return false;	
			}
			return true;
		break;
		
		// 5 - Permite Somente Letras
		// Exemplo de utilização:
		// onKeyPress="return block(1, event, this.name, this.value);"
		case 5:	
			var key_code = evt.keyCode  ? evt.keyCode  :
			evt.charCode ? evt.charCode :
    		evt.which    ? evt.which    : void 0;	
    		if (((key_code < 65)  ||  ((key_code > 90) && (key_code < 97)) || (key_code > 122)) && (key_code!=32)){
       			return false;
    		}
    		return true;
		break;
		
		// 6 - Retira espaços do começo e fim do campo (TRIM)
		// Exemplo de utilização:
		// onKeyPress="return block(6, event, this.name, this.value);"
		case 6:
			alert('ok');
			frase = valor.replace(/^\s+|\s+$/g,"");
			var campos = document.getElementsByName(campo);
			campos[0].value = frase;
		break;
		
	}		
}

function limpaCampo(tipo, campo, valor){

	switch(tipo){
		// 1 - Retira tudo que não for número.
		case 1:
			var frase;
			frase = valor.replace(/[^0-9.]/gi,"");
			var campos = document.getElementsByName(campo);
			frase = frase.replace(/^\s+|\s+$/g,"");
			campos[0].value = frase;
		break;
		// 2 - Retira tudo que não for número ou barra (DATA).
		case 2:
			var frase;
			frase = valor.replace(/[^0-9/]/gi,"");
			var campos = document.getElementsByName(campo);
			frase = frase.replace(/^\s+|\s+$/g,"");
			campos[0].value = frase;
		break;
		// 3 - Retira tudo que não for número ou dois pontos (HORA)
		case 3:
			var frase;
			frase = valor.replace(/[^0-9:]/gi,"");
			var campos = document.getElementsByName(campo);
			frase = frase.replace(/^\s+|\s+$/g,"");
			campos[0].value = frase;
		break;
		// 4 - Retira tudo que não for número ou espaço
		case 4:
			var frase;
			frase = valor.replace(/[^0-9 ]/gi,"");
			var campos = document.getElementsByName(campo);
			frase = frase.replace(/^\s+|\s+$/g,"");
			campos[0].value = frase;
		break;
		// 5 - Retira tudo que não for número, parenteses ou traço e organiza os números (telefone)
		case 5:
			var frase;
			frase = valor.replace(/[^0-9 ()-]/gi,"");
			var campos = document.getElementsByName(campo);
			frase = frase.replace(/^\s+|\s+$/g,"");
			if (frase.length == 10){
				frase = '(' + frase.substr(0,2) + ') ' + frase.substr(2,4) +  '-' + frase.substr(6,4)	
			}
			if (frase.length == 14){
				strTel = '()-'
				x = 0
				for (i=0; i<14; i++){
					if(frase.charAt(i)=='(' || frase.charAt(i)==')' || frase.charAt(i)=='-'){	
					x = x+1
					}
				}
				if (x != 3){
					frase = '(' + frase.substr(0,2) + ') ' + frase.substr(2,4) +  '-' + frase.substr(6,4)
				}
			}
			campos[0].value = frase;
		break;
		
		// 6 - Retira tudo que não for letra
		case 6:
			var frase;
			frase = valor.replace(/[^\sa-z]/gi,"");
			var campos = document.getElementsByName(campo);
			frase = frase.replace(/^\s+|\s+$/g,"");
			campos[0].value = frase;
		break;
		
		// 7 - Retira tudo que não for número.
		case 7:
			var frase;
			var campos = document.getElementsByName(campo);
			frase = frase.replace(/^\s+|\s+$/g,"");
			campos[0].value = frase;
		break;
	}	
}
function mascaras(caso, campo, evt) {
	
	if (window.event){
		var tecla = evt.keyCode;
	} 
	else{
		tecla = evt.which;
	}	
	
	var s = new String(campo.value);
	// Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
	s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
	tam = s.length + 1;
	if ( tecla != 9 && tecla != 8 ){
		switch (caso){
			case 'RG' :
				if (tam > 2 && tam < 6)
					campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
				if (tam >= 6 && tam < 9)
					campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
				if (tam >= 9 && tam < 12)
					campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '-' + s.substr(8,tam-8);
			break;			
 
			case 'DATA' :
				if (tam > 2 && tam < 4)
					campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
				if (tam > 4 && tam < 11)
					campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
			break;
			
			case 'HORA' :
				if (tam > 2 && tam < 4)
					campo.value = s.substr(0,2) + ':' + s.substr(2, tam);
			break;
			
			case 'TEL' :
				if (tam > 2 && tam < 4)
					campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
				if (tam >= 7 && tam < 11)
					campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
			break;
			
		}
	}
}
//Função que valida uma data...............................................................................................
function validaData(data, campoData){
	var bissexto = 0;
	var tam = data.length;
	var dia = data.substr(0,2)
	var mes = data.substr(3,2)
	var ano = data.substr(6,4)
	
	if(dia > 31 || dia == 0){
		alert("Dia inválido!");
		document.getElementById(campoData).value = "";
		document.getElementById(campoData).focus();
		return false;
	}
	
	if ((ano >= 1900)&&(ano <= 2100)){
		switch (mes){
			case '01':
			case '03':
			case '05':
			case '07':
			case '08':
			case '10':
			case '12':
				if  (dia > 31){
					alert("Dia inválido!");
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false;
				}
			break
					
			case '04':        
			case '06':
			case '09':
			case '11':
				if  (dia > 30){
					alert("Dia inválido!")
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false;
				}
			break
			case '02':
			bissexto = 0
				/* Validando ano Bissexto / fevereiro / dia */ 
				if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)){ 
					bissexto = 1; 
				} 
				if ((bissexto == 1) && (dia > 29)){ 
					alert("Dia inválido");
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false;
				}
				if ((bissexto == 0) && (dia > 28)){ 
					alert("Dia inválido!");
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false; 
				}            
			break
			default:
				alert("Mês inválido!");
				document.getElementById(campoData).value = "";
				document.getElementById(campoData).focus();
				return false;
		}
	}else{
		alert("Ano inválido");
		document.getElementById(campoData).value = "";
		document.getElementById(campoData).focus();
		return false;
	}
	return true;
}

function maxLength(textAreaField, limit) {
	var ta = document.getElementById(textAreaField);
	
	if (ta.value.length >= limit) {
		ta.value = ta.value.substring(0, limit-1);
	}
}

//Função que valida uma data...............................................................................................
function validaData(data, campoData){
	var bissexto = 0;
	var tam = data.length;
	var dia = data.substr(0,2)
	var mes = data.substr(3,2)
	var ano = data.substr(6,4)
	
	if(dia > 31 || dia == 0){
		alert("Dia inválido!");
		document.getElementById(campoData).value = "";
		document.getElementById(campoData).focus();
		return false;
	}
	
	if ((ano >= 1900)&&(ano <= 2100)){
		switch (mes){
			case '01':
			case '03':
			case '05':
			case '07':
			case '08':
			case '10':
			case '12':
				if  (dia > 31){
					alert("Dia inválido!");
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false;
				}
			break
					
			case '04':        
			case '06':
			case '09':
			case '11':
				if  (dia > 30){
					alert("Dia inválido!")
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false;
				}
			break
			case '02':
			bissexto = 0
				/* Validando ano Bissexto / fevereiro / dia */ 
				if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)){ 
					bissexto = 1; 
				} 
				if ((bissexto == 1) && (dia > 29)){ 
					alert("Dia inválido");
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false;
				}
				if ((bissexto == 0) && (dia > 28)){ 
					alert("Dia inválido!");
					document.getElementById(campoData).value = "";
					document.getElementById(campoData).focus();
					return false; 
				}            
			break
			default:
				alert("Mês inválido!");
				document.getElementById(campoData).value = "";
				document.getElementById(campoData).focus();
				return false;
		}
	}else{
		alert("Ano inválido");
		document.getElementById(campoData).value = "";
		document.getElementById(campoData).focus();
		return false;
	}
	return true;
}

function checkMail(mail){
	var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
	if(typeof(mail) == "string"){
		if(er.test(mail)){ return true; }
	}else if(typeof(mail) == "object"){
		if(er.test(mail.value)){
			return true;
		}
	}else{
		return false;
	}
}

function abre_popup(pagina, nome, w, h, scroll){
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+', width='+w+', top='+TopPosition+', left='+LeftPosition+', scrollbars='+scroll+', resizable=0'
	win = window.open(pagina, nome, settings);
}