// JavaScript Document

//-----> PADRONIZAÇÃO DO JAVASCRIPT

//-----> Funcional em: IE e Firefox

//-----> Autor:David Augustynczyk / 2006

//

//-----> LEGENDA DAS FUNÇÕES:

//

// v_... = validação ...

// m_... = máscara ...







//-----> somente números:

function v_NR(tecla)
{
	if(typeof(tecla) == 'undefined')
	var tecla = window.event;
	var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);
	
	
	
	// permite números, 8=backspace, 46=del e 9=tab
	if ( (codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105) || codigo == 8 || codigo == 46 || codigo == 9 )
	{
	return true;
	}
	else
	{
	//alert("Apenas números são permitidos !"); 
	return false; 
	} 
}







//-----> máscara cnpj:

function m_CNPJ(campo,tammax) {



var vr = campo.value;

vr = vr.replace( "-", "" );

vr = vr.replace( "/", "" );

vr = vr.replace( ".", "" );

vr = vr.replace( ".", "" );

var tam = vr.length;



if (tam < tammax) { tam = vr.length + 1 ; }



tam = tam - 1;

if ( (tam > 2) && (tam <= 5) ) {

vr = vr.substr( 0, tam - 1 ) + '-' + vr.substr( tam - 1, tam ) ; }

if ( (tam >= 6) && (tam <= 8) ) {

vr = vr.substr( 0, tam - 5 ) + '/' + vr.substr( tam - 5, 4 ) + '-' + vr.substr( tam - 1, tam ) ; }

if ( (tam >= 9) && (tam <= 11) ) {

vr = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '/' + vr.substr( tam - 5, 4 ) + '-' + vr.substr( tam - 1, tam ) ; }

if ( (tam >= 12) && (tam < 14) ) {

vr = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '/' + vr.substr( tam - 5, 4 ) + '-' + vr.substr( tam - 1, tam ) ; }



campo.value = vr; 

}







//-----> máscara cpf: 

function m_CPF(campo,tammax) {



var vr = campo.value;

vr = vr.replace( "-", "" );

vr = vr.replace( ".", "" );

vr = vr.replace( ".", "" );

var tam = vr.length;



if (tam < tammax) { tam = vr.length + 1; }



tam = tam - 1;

if ( (tam > 2) && (tam <= 11) ) {

vr = vr.substr( 0, tam - 1 ) + '-' + vr.substr( tam - 1, tam ); }

if ( (tam == 10) ) {

vr = vr.substr( 0, tam - 7 ) + '.' + vr.substr( tam - 7, 3 ) + '.' + vr.substr( tam - 4, tam ); }



campo.value = vr;

}







//-----> máscara cep:

function m_CEP(campo,tammax)
{
	var vr = campo.value;
	
	//vr = vr.replace( "-", "" );
	//vr = vr.replace( ".", "" );
	var tam = vr.length;
	/*
	if (tam < tammax)
	{
		tam = vr.length + 1;
	}
	tam = tam - 1;
	//38400.468
	
	if ( (tam > 2) && (tam <= 8) )
	{
		vr = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam );
	}
	if ( (tam == 7) )
	{
		//38400.468
		vr = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, tam );
	}
	*/
	if ( (tam == 7) )
	{
		//38.400-468
		//38400468
		vr = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '-' + vr.substr(5,3);
	}
	
campo.value = vr;
}







//-----> máscara data:

function m_DATA(campo,tammax,tecla) {



if(typeof(tecla) == 'undefined')

var tecla = window.event;

var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);



var vr = campo.value;

vr = vr.replace( "/", "" );

vr = vr.replace( "/", "" );

var tam = vr.length;



if (tam < tammax) { tam = vr.length + 1; }

if (codigo == 8) { tam = tam - 1; }



tam = tam - 1;

if ( (tam >= 2) && (tam < 3) ) {

vr = vr.substr( 0, tam - 0 ) + '/' + vr.substr( tam - 0, 2 ); }

if ( (tam >= 3) && (tam < 4) ) {

vr = vr.substr( 0, tam - 1 ) + '/' + vr.substr( tam - 1, 2 ); }

if (tam == 4) {

vr = vr.substr( 0, tam - 2 ) + '/' + vr.substr( tam - 2, 2 ) + '/' + vr.substr( tam - 0, 5 ); }

if (tam == 5) {

vr = vr.substr( 0, tam - 3 ) + '/' + vr.substr( tam - 3, 2 ) + '/' + vr.substr( tam - 1, 6 ); }

if (tam == 6) {

vr = vr.substr( 0, tam - 4 ) + '/' + vr.substr( tam - 4, 2 ) + '/' + vr.substr( tam - 2, 7 ); }

if (tam == 7) {

vr = vr.substr( 0, tam - 5 ) + '/' + vr.substr( tam - 5, 2 ) + '/' + vr.substr( tam - 3, 8 ); }



campo.value = vr;

}







//-----> máscara hora:

function m_HORA(campo,tammax,tecla) {



if(typeof(tecla) == 'undefined')

var tecla = window.event;

var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);



var vr = campo.value;

vr = vr.replace( ":", "" );

vr = vr.replace( ":", "" );

var tam = vr.length;



if (tam < tammax) { tam = vr.length + 1; }

if (codigo == 8) { tam = tam - 1; }



tam = tam - 1;

if ( (tam >= 2) && (tam < 3) ) {

vr = vr.substr( 0, tam - 0 ) + ':' + vr.substr( tam - 0, 2 ); }

if ( (tam >= 3) && (tam < 4) ) {

vr = vr.substr( 0, tam - 1 ) + ':' + vr.substr( tam - 1, 2 ); }

if (tam == 4)
{
	vr = vr.substr( 0, tam - 2 ) + ':' + vr.substr( tam - 2, 2 ) + ':' + vr.substr( tam - 0, 5 );
}

if (tam == 5)
{
	vr = vr.substr( 0, tam - 3 ) + ':' + vr.substr( tam - 3, 2 ) + ':' + vr.substr( tam - 1, 6 );
}



campo.value = vr;

}


function mascTele(campo)
{
	var total = campo.value.length;
	if(total==7)
	{
		var m1 = campo.value.substr(0,4);
		var m2 = campo.value.substr(4,4);
		var mfinal = m1+"-"+m2;
		campo.value = mfinal;
	}

}

function mascHora(campo,event)
{
	var total = campo.value.length;
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

	if(keyCode!=8)
	{
		if(total==2)
		{
			var value = campo.value;
			campo.value = value+":";
		}
	}//fim if(keyCode!=8)

}


//Mascara de data
function mascaraData(data,event)
{
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

	if(keyCode!=8)
	{
		var tel = data.value;
		//20
		if(tel.length==2)
		{
			var fone = tel+"/";
			data.value=fone;
		}
		//20/01
		if(tel.length==5)
		{
			var fone = tel+"/";
			data.value=fone;
		}
	}
}

function focuData(data)
{
	document.getElementById(data).focus();	
}

//Valida data
function validaData(digData) 
{
    var bissexto = 0;
    var data = digData.value; 
    var tam = data.length;
    if (tam == 10) 
    {
        var dia = data.substr(0,2)
        var mes = data.substr(3,2)
        var ano = data.substr(6,4)
        if ((ano > 1900)||(ano < 2100))
        {
            switch (mes) 
            {
                case '01':
                case '03':
                case '05':
                case '07':
                case '08':
                case '10':
                case '12':
                    if  (dia <= 31) 
                    {
                        return true;
                    }
                    break
                
                case '04':        
                case '06':
                case '09':
                case '11':
                    if  (dia <= 30)
                    {
                        return true;
                    }
                    break
                case '02':
                    /* Validando ano Bissexto / fevereiro / dia */
                    if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0))
                    {
                        bissexto = 1;
                    }
                    if ((bissexto == 1) && (dia <= 29))
                    {
                        return true;
                    }
                    if ((bissexto != 1) && (dia <= 28))
                    {
                        return true;
                    }
                    break
            }
        }
    }
	if(data!="")
	{
		alert("A Data "+data+" é inválida!");
		digData.value = "";
		var d = digData.name;
		setTimeout("focuData('"+d+"')",200);
		return false;
	}
}
