function show(id) {
	document.getElementById(id).style.visibility = "visible";
}
function hide(id) {
	document.getElementById(id).style.visibility = "hidden";
}

function ValidaInfo(valor,tipo)
{
	
	tipo = tipo.toUpperCase();
	nvalor = parseInt(valor);
	
	// DIA
	if ( tipo == 'DD' )
	{
		if (nvalor > 31)
			return false;
	}
	// MES
	else if ( tipo == 'MM' )
	{
		if (nvalor > 12)
			return false;
	}
	// HH
	else if ( tipo == 'HH' )
	{
		if (nvalor > 23)
			return false;
	}
	// MINUTO
	else if ( tipo == 'MI' )
	{
		if (nvalor > 59)
			return false;
	}
	return true;
}

function MascInteiro()
{
	//alert(event.keyCode);
	if ( (event.keyCode < '48' || event.keyCode > '57') &&
		  (event.keyCode != '8')  &&
		  (event.keyCode != '13') )
		event.returnValue=false;
	return;
}

function MascNum()
{
    var conteudo;
	conteudo = event.srcElement.value;
	
	// Procura se o usuario já digitou uma virgula, 
	// caso positivo entao rejeita.
//	alert(conteudo);
	if ( (event.keyCode == '44' && conteudo.indexOf(",") > 0 ) || 
		 (event.keyCode == '44' && conteudo == ",") )
		event.returnValue=false;
	    
	if ( (event.keyCode < '48' || event.keyCode > '57') &&
	     (event.keyCode != '44') &&
		  (event.keyCode != '8')  &&
		  (event.keyCode != '13') )
		event.returnValue=false;

//alert(event.keyCode );
	if ( event.keyCode == '44' && conteudo.length == 0 )
	{
		event.srcElement.value = "0";
	}
	    
	return;
}


// Somente caracteres (maiusculos e minusculos), 
// qualquer outro caracter é rejeitado.
// Evento a ser utilizado: onKeyPress
// sTipoCaixa - U(pper) / L(ower) / N(ormal) - Indica se a máscara deve ficar em Caixa Alta ou Baixa.
// 
function MascAlfa(sTipoCaixa)
{
	// keycode que serão aceitos qdo o usuário digitar:
	//  8 - Backspace
	// 32 - Space
    // 40 - Parenteses Esquerdo (
    // 41 - Parenteses Direito )
    // 44 - Virgula (,)
    // 45 - Subtracao (-)
    // 46 - Ponto (.)
	// 47 - Barra (/)
	// 58 - Dois Pontos (:)
	// 64 - Arroba (@)
    // demais numeração acima de 192, caracteres com acentuação
    //
    var tecla, novo_valor;
	
	//alert (event.keyCode);
	
	sTipoCaixa = sTipoCaixa.toUpperCase();

	if ( (event.keyCode < '65' || event.keyCode > '90') &&
	     (event.keyCode < '97' || event.keyCode > '122') &&
	     (event.keyCode < '192' || event.keyCode > '196') &&
	     (event.keyCode < '199' || event.keyCode > '207') &&
	     (event.keyCode < '210' || event.keyCode > '214') &&
	     (event.keyCode < '217' || event.keyCode > '220') &&
	     (event.keyCode < '224' || event.keyCode > '228') &&
	     (event.keyCode < '231' || event.keyCode > '239') &&
	     (event.keyCode < '242' || event.keyCode > '246') &&
	     (event.keyCode < '249' || event.keyCode > '252') &&
	     (event.keyCode != '8')  &&
	     (event.keyCode != '13')  &&
	     (event.keyCode != '32') && 
	     (event.keyCode != '40') &&
	     (event.keyCode != '41') &&
	     (event.keyCode != '44') &&
	     (event.keyCode != '45') &&
	     (event.keyCode != '46') &&
	     (event.keyCode != '47') &&
	     (event.keyCode != '58') &&
	     (event.keyCode != '64') )
	{
		event.returnValue=false;
		return;
	}
	
	if ( (event.keyCode != '8')  &&
	     (event.keyCode != '13')  &&
	     (event.keyCode != '32') && 
	     (event.keyCode != '40') &&
	     (event.keyCode != '41') &&
	     (event.keyCode != '44') &&
	     (event.keyCode != '45') &&
	     (event.keyCode != '46') &&
	     (event.keyCode != '47') &&
	     (event.keyCode != '58') &&
	     (event.keyCode != '64') ) 
	{
		// Caixa Baixa
		if ( (sTipoCaixa == "L") &&
		     (event.keyCode < '224' || event.keyCode > '228') &&
		     (event.keyCode < '231' || event.keyCode > '239') &&
		     (event.keyCode < '242' || event.keyCode > '246') &&
		     (event.keyCode < '249' || event.keyCode > '252') &&
		     (event.keyCode < '97' || event.keyCode > '122') )
			event.keyCode = event.keyCode + 32;
	

		// Caixa Alta
		if ( (sTipoCaixa == "U") &&
		     (event.keyCode < '65' || event.keyCode > '90') )
			event.keyCode = event.keyCode - 32;
	}
	
	//alert (event.keyCode);

	return;
}

// Somente numeros e caracteres (maiusculos e minusculos), 
// qualquer outro caracter é rejeitado.
// Evento a ser utilizado: onKeyPress
// sTipoCaixa - U(pper) / L(ower) / N(ormal) - Indica se a máscara deve ficar em Caixa Alta ou Baixa.
// 
function MascAlfaNum(sTipoCaixa)
{
	// keycode que serão aceitos qdo o usuário digitar:
	//  8 - Backspace
	// 32 - Space
    // 40 - Parenteses Esquerdo (
    // 41 - Parenteses Direito )
    // 44 - Virgula (,)
    // 45 - Subtracao (-)
    // 46 - Ponto (.)
	// 47 - Barra (/)
	// 58 - Dois Pontos (:)
	// 64 - Arroba (@)
    var tecla, novo_valor;
	
	//alert (event.keyCode);

	sTipoCaixa = sTipoCaixa.toUpperCase();
	
	if ( (event.keyCode < '48' || event.keyCode > '57')  &&
	     (event.keyCode < '65' || event.keyCode > '90')  &&
	     (event.keyCode < '97' || event.keyCode > '122') &&
	     (event.keyCode < '192' || event.keyCode > '196') &&
	     (event.keyCode < '199' || event.keyCode > '207') &&
	     (event.keyCode < '210' || event.keyCode > '214') &&
	     (event.keyCode < '217' || event.keyCode > '220') &&
	     (event.keyCode < '224' || event.keyCode > '228') &&
	     (event.keyCode < '231' || event.keyCode > '239') &&
	     (event.keyCode < '242' || event.keyCode > '246') &&
	     (event.keyCode < '249' || event.keyCode > '252') &&
	     (event.keyCode != '8')  &&
	     (event.keyCode != '13')  &&
	     (event.keyCode != '32') && 
	     (event.keyCode != '40') &&
	     (event.keyCode != '41') &&
	     (event.keyCode != '44') &&
	     (event.keyCode != '45') &&
	     (event.keyCode != '46') &&
	     (event.keyCode != '47') &&
	     (event.keyCode != '58') &&
	     (event.keyCode != '64') ) 
	{
		event.returnValue=false;
		return;
	}

	if ( (event.keyCode < '48' || event.keyCode > '57')  &&
	     (event.keyCode != '8')  &&
	     (event.keyCode != '13')  &&
	     (event.keyCode != '32') && 
	     (event.keyCode != '40') &&
	     (event.keyCode != '41') &&
	     (event.keyCode != '44') &&
	     (event.keyCode != '45') &&
	     (event.keyCode != '46') &&
	     (event.keyCode != '47') &&
	     (event.keyCode != '58') &&
	     (event.keyCode != '64') ) 
	{
		// Caixa Baixa
		if ( (sTipoCaixa == "L") &&
		     (event.keyCode < '224' || event.keyCode > '228') &&
		     (event.keyCode < '231' || event.keyCode > '239') &&
		     (event.keyCode < '242' || event.keyCode > '246') &&
		     (event.keyCode < '249' || event.keyCode > '252') &&
		     (event.keyCode < '97' || event.keyCode > '122') )
			event.keyCode = event.keyCode + 32;
	

		// Caixa Alta
		if ( (sTipoCaixa == "U") &&
		     (event.keyCode < '65' || event.keyCode > '90') )
			event.keyCode = event.keyCode - 32;
	}

	//alert (event.keyCode);

	
	return;
}

// Tipo 'hh:mi', 'hh:mi:ss'
// Ex: onKeypress = "javascript:MascHora('hh:mi');"
//
function MascHora(tipo)
{
	var valor, novo_valor, minuto;
	
	valor = event.srcElement.value;
	
	tipo = tipo.toUpperCase();
	
	// Numerico
	if ( (event.keyCode < '48' || event.keyCode > '57') &&
	     (event.keyCode != '8')  &&
	     (event.keyCode != '13'))
	{
		event.returnValue=false;
	}
	else
	{
		novo_valor = event.srcElement.value + String.fromCharCode(event.keyCode);
		// HORA
		if ( (valor.length + 1) == 2 )
		{
			if ( ValidaInfo(novo_valor,'HH') )
				event.srcElement.value = novo_valor + ':';
			event.returnValue=false;

		}	
		
		// MINUTO
		if ( ( (valor.length + 1) == 5 ) ) 
		{
			minuto = novo_valor.substr(3,2);
							
			if ( ValidaInfo(minuto,'MI') )

				if ( tipo == 'HH:MI:SS' ) 
				{
					event.srcElement.value = novo_valor + ':';
				}
				else
				{
					event.srcElement.value = novo_valor;
				}
				
			event.returnValue=false;
		}

		// SEGUNDO
		if ( ( (valor.length + 1) == 8 ) ) 
		{
			segundo = novo_valor.substr(5,2);
							
			if ( ValidaInfo(minuto,'SS') )
			{
			}
			event.returnValue=false;
		}

	}	// if ( (event.keyCode < '48' || event.keyCode > '57') ...
}

function MascCPF()
{
var valor, novo_valor;
valor = event.srcElement.value;

if ((event.keyCode < '48' || event.keyCode > '57') && (event.keyCode != '8')  && (event.keyCode != '13'))
{
    event.returnValue=false;
}
else {
novo_valor = event.srcElement.value + String.fromCharCode(event.keyCode);
	    if ((valor.length+1) > 14)
	    {
	        event.returnValue=false;
	    }
        else {
            if ( (valor.length + 1) == 11 )
		    {
			    event.srcElement.value = novo_valor + '-';
			    event.returnValue=false;
		    }
		    else {
		        if ( ((valor.length+2) % 4) == 0)
		        {
			        event.srcElement.value = novo_valor + '.';
			        event.returnValue=false;
    		    }
    		}
       }

} // fim do if event.keyCode
}

function MascCEP()
{
var valor, novo_valor;
valor = event.srcElement.value;

if ((event.keyCode < '48' || event.keyCode > '57') && (event.keyCode != '8')  && (event.keyCode != '13'))
{
    event.returnValue=false;
}
else {
novo_valor = event.srcElement.value + String.fromCharCode(event.keyCode);
	    if ((valor.length+1) > 10)
	    {
	        event.returnValue=false;
	    }
        else {
            if ( (valor.length + 1) == 2 )
		    {
			    event.srcElement.value = novo_valor + '.';
			    event.returnValue=false;
		    }
            if ( (valor.length + 1) == 6 )
		    {
			    event.srcElement.value = novo_valor + '-';
			    event.returnValue=false;
		    }
       }

} // fim do if event.keyCode
}
