   documentall = document.all;
/*
* função para formatação de valores monetários retirada de
* http://jonasgalvez.com/br/blog/2003-08/egocentrismo
*/

function formatamoney(c) {
    var t = this; if(c == undefined) c = 2;		
    var p, d = (t=t.split("."))[1].substr(0, c);
    for(p = (t=t[0]).length; (p-=3) >= 1;) {
	        t = t.substr(0,p) + "." + t.substr(p);
    }
    return t+","+d+Array(c+1-d.length).join(0);
}

String.prototype.formatCurrency=formatamoney

function demaskvalue(valor, currency, numDecimal){
	/*
	* Se currency é false, retorna o valor sem apenas com os números. Se é true, os dois últimos caracteres são considerados as 
	* casas decimais
	*/
	var val2 = '';
	var strCheck = '0123456789';
	var len = valor.length;

	if (len == 0){
		return len.toFixed(numDecimal);
	}

	if (currency == true){	
		/* Elimina os zeros à esquerda 
		* a variável  <i> passa a ser a localização do primeiro caractere após os zeros e 
		* val2 contém os caracteres (descontando os zeros à esquerda)
		*/
		
		for(var i = 0; i < len; i++)
			if ((valor.charAt(i) != '0') && (valor.charAt(i) != ',')) break;
		
		for(; i < len; i++){
			if (strCheck.indexOf(valor.charAt(i))!=-1) val2+= valor.charAt(i);
		}
	
		var Zeros = "";
		for ( var x = numDecimal; x > val2.length ; x--){
			Zeros += "0";
		}
		if (val2.length <= numDecimal) return "0." + Zeros + val2;
		
		var parte1 = val2.substring(0,val2.length-numDecimal);
		var parte2 = val2.substring(val2.length-numDecimal);
		var returnvalue = parte1 + "." + parte2;
		return returnvalue;
		
	} else {
		/* currency é false: retornamos os valores COM os zeros à esquerda, 
		* sem considerar os últimos 2 algarismos como casas decimais 
		*/
		val3 ="";
		for(var k=0; k < len; k++){
			if (strCheck.indexOf(valor.charAt(k))!=-1) val3+= valor.charAt(k);
		}			
		return val3;
	}
}

function reais(obj,event,numDecimal){

	var whichCode = (window.Event) ? event.which : event.keyCode;
	/*
	Executa a formatação após o backspace nos navegadores !document.all
	*/
	if (whichCode == 8 && !documentall) {	
	/*
	Previne a ação padrão nos navegadores
	*/
		if (event.preventDefault){ //standart browsers
			event.preventDefault();
		}else{ // internet explorer
			event.returnValue = false;
		}
		var valor = obj.value;
		var x = valor.substring(0,valor.length-1);
		obj.value= demaskvalue(x,true,numDecimal).formatCurrency(numDecimal);
		return false;
	}
	/*
	Executa o Formata Reais e faz o format currency novamente após o backspace
	*/
	FormataReais(obj,'.',',',event,numDecimal);
} // end reais


function backspace(obj,event,numDecimal){
	/*
	Essa função basicamente altera o  backspace nos input com máscara reais para os navegadores IE e opera.
	O IE não detecta o keycode 8 no evento keypress, por isso, tratamos no keydown.
	Como o opera suporta o infame document.all, tratamos dele na mesma parte do código.
	*/

	var whichCode = (window.Event) ? event.which : event.keyCode;
	if (whichCode == 8 && documentall) {	
		var valor = obj.value;
		var x = valor.substring(0,valor.length-1);
		var y = demaskvalue(x,true,numDecimal).formatCurrency(numDecimal);
		obj.value =""; //necessário para o opera
		obj.value += y;
		
		if (event.preventDefault){ //standart browsers
			event.preventDefault();
		}else{ // internet explorer
			event.returnValue = false;
		}
		
		return false;
	
	}// end if		
}// end backspace

function mostraItem(object)
{
    if (document.getElementById && document.getElementById(object) != null)
         node = document.getElementById(object).style.visibility='visible';
    else if (document.all)
        document.all[object].style.visibility = 'visible';

}

function mostraCapa(object)
{
    if (document.getElementById && document.getElementById(object) != null)
         document.getElementById(object).style.display='block';
    else if (document.layers && document.layers[object] != null)
        document.layers[object].display = 'block';
    else if (document.all)
        document.all[object].style.display = 'block';
}

function ocultaItem(object)
{
    if (document.getElementById && document.getElementById(object) != null)
         node = document.getElementById(object).style.visibility='hidden';
    else if (document.all)
        document.all[object].style.visibility = 'hidden';

}

function ocultaCapa(object)
{
    if (document.getElementById && document.getElementById(object) != null)
         document.getElementById(object).style.display='none';
    else if (document.layers && document.layers[object] != null)
        document.layers[object].display = 'none';
    else if (document.all)
         document.all[object].style.display = 'none';
}

function FormataReais(fld, milSep, decSep, e,numDecimal) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;

	//if (whichCode == 8 ) return true; //backspace - estamos tratando disso em outra função no keydown
	if (whichCode == 0 ) return true;
	if (whichCode == 9 ) return true; //tecla tab
	if (whichCode == 13) return true; //tecla enter
	if (whichCode == 16) return true; //shift internet explorer
	if (whichCode == 17) return true; //control no internet explorer
	if (whichCode == 27 ) return true; //tecla esc
	if (whichCode == 34 ) return true; //tecla end
	if (whichCode == 35 ) return true;//tecla end
	if (whichCode == 36 ) return true; //tecla home

	/*
	O trecho abaixo previne a ação padrão nos navegadores. Não estamos inserindo o caractere normalmente, mas via script
	*/

	if (e.preventDefault){ //standart browsers
		e.preventDefault()
	}else{ // internet explorer
		e.returnValue = false
	}

	var key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) return false;  // Chave inválida

	/*
	Concatenamos ao value o keycode de key, se esse for um número
	*/
	fld.value += key;

	var len = fld.value.length;
	var bodeaux = demaskvalue(fld.value,true,numDecimal).formatCurrency(numDecimal);
	fld.value=bodeaux;

	/*
	Essa parte da função tão somente move o cursor para o final no opera. Atualmente não existe como movê-lo no konqueror.
	*/
	if (fld.createTextRange) {
		var range = fld.createTextRange();
		range.collapse(false);
		range.select();
	} else if (fld.setSelectionRange) {
		fld.focus();
		var length = fld.value.length;
		fld.setSelectionRange(length, length);
	}
	
	return false;
}

    function checaData(obj){
        var caracteresAceitos = new RegExp("[0-9/]"); 
        var caracteresNaoAceitos = new RegExp("[\"!@#$%&*{}^~?`?><()=+;?,.\\|]"); 
        checaCaracteres(obj, caracteresAceitos, caracteresNaoAceitos);
    }
    
    function checaNumero(obj){
        var caracteresAceitos = new RegExp("[0-9/]"); 
        var caracteresNaoAceitos = new RegExp("[\"/!@#$%&*{}^~?`?><()=+;?,.\\|]"); 
        checaCaracteres(obj, caracteresAceitos, caracteresNaoAceitos);
    }

    function activaCaps()
    {
        if (capsSenha == 1)
            capsSenha = 0;
        else
            capsSenha = 1;
        caps('teste');
    }
    
    function addLetterPwd(str)
    {
        var saida;
        if( str >= "0" && str <= "9" )
        {
            saida = str;
        }
        else
        {
            if (capsSenha == 1)
                saida = str.toUpperCase();
            else
                saida = str;
        }
        
        if (document.getElementById(getNetuiTagName(objSenha,this)) != null)
        {
            if (document.getElementById(getNetuiTagName(objSenha,this)).value.length < document.getElementById(getNetuiTagName(objSenha,this)).getAttribute('maxlength'))
                document.getElementById(getNetuiTagName(objSenha,this)).value = document.getElementById(getNetuiTagName(objSenha,this)).value + saida;
        }
        else
        {
            if (document.getElementById(objSenha).value.length < document.getElementById(objSenha).getAttribute('maxlength'))
                document.getElementById(objSenha).value = document.getElementById(objSenha).value + saida;
        }
    }

	function caps(nome) {
        var objeto = document.getElementById(nome);
		
		if(objeto.style.textTransform=='uppercase')
		{
			objeto.style.textTransform = 'lowercase';
		}
		else
		{
			objeto.style.textTransform = 'uppercase';
		}
	}

    function deleteLetterPwd()
    {
        var aux;
        if (document.getElementById(getNetuiTagName(objSenha,this)) != null)
        {
            aux = document.getElementById(getNetuiTagName(objSenha,this)).value;
            document.getElementById(getNetuiTagName(objSenha,this)).value = aux.substring(0,(aux.length - 1));
        }
        else
        {
            aux = document.getElementById(objSenha).value;
            document.getElementById(objSenha).value = aux.substring(0,(aux.length - 1));
        }
    }

	 function isNumero (obj) {
		var lChar = "";

		for( i = 0; i < obj.length; i++ )
		{
			lChar = obj.charAt( i );
			if( lChar >= "0" && lChar <= "9" ){
				continue;
			} else {
				return false;
			}
		}
		return true;
	}

    function checaString(obj){
        var caracteresNAc = "0123456789*/-+.,@!#$%&()=}{][?\|;:><'"; 
        isString(obj, caracteresNAc);
    }   

    function isString (obj, nvalidos) {
	
        // retira caracteres invalidos da string
        var result = "";
        var aux;
        valor = obj.value;
            
        for (var i=0; i < valor.length; i++) {
            aux = nvalidos.indexOf(valor.substring(i, i+1));
            if (aux < 0){
                result += valor.substring(i, i+1);
            }
        }
    
        obj.value = result;
    }

	function validaString(obj){
		if(obj.match(/^(a-z|A-Z|)*[^#$%^&*()'0-9]*$/)){
			return true;
		} else {
		   return false;
		}
	}
    
    function checaTelefone(obj){
        var caracteresAceitos = new RegExp("[-0-9/]"); 
        var caracteresNaoAceitos = new RegExp("[\"/!@#$%&*{}^~?`?><()=+;?,.\\|]"); 
        checaCaracteres(obj, caracteresAceitos, caracteresNaoAceitos);
    }
    
    function checaDecimal(obj){
        var caracteresAceitos = new RegExp("[,0-9/]"); 
        var caracteresNaoAceitos = new RegExp("[\"/!@#$%&*{}^~?`?><()=+;?.\\|]"); 
        checaCaracteres(obj, caracteresAceitos, caracteresNaoAceitos);
    }
    
	function validaValor(obj){
		if(obj.match(/^[0-9|,]+$/)){
			return true;
		} else {
		   return false;
		}
	}

    // Troca cor da label
    function trocaCor(obj, inErro) {
        if(inErro == "0") {
            obj.style.color = '#FF0000'; // vermelho
        } else {
            obj.style.color = '#000000'; // preto
        }
    }

    // Troca cor da label
    function trocaCorAzul(obj, inErro) {
        if(inErro == "0") {
            obj.style.color = '#FF0000'; // vermelho
        } else {
            obj.style.color = '#5576AD'; // azul
        }
    }
	
    // não permite digitação dos caracteres não aceitos.
    function checaCaracteres(obj, caracteresAceitos, caracteresNaoAceitos){

        valor = obj.value;
        for(i=0;i<valor.length;i++){
            if(!caracteresAceitos.test(valor.charAt(i))){
                valor = valor.substring(0,i) + valor.substring(i+1,valor.length);
                i = -1;
            }
            if(caracteresNaoAceitos.test(valor.charAt(i))){
                valor = valor.substring(0,i) + valor.substring(i+1,valor.length);
                i = -1;
            }
        }
        obj.value = valor;
    }
    
    // Valida data no formato mm/aa
    function validaDataMMAA (dataValidar) {
        var dataAux;
        try {
            if(dataValidar) {
                dataAux = dataValidar.split("/");

                //valida se ? numerico
                if( isNaN(dataAux[0]) && isNaN(dataAux[1])) {
                    return false;
                }

                //valida se tem 4 caracteres
                if( dataValidar.length != 5 ) {
                    return false;
                }

                mes = dataAux[0];
                ano = dataAux[1];
                   
                if((mes<1 || mes>12) || (ano<00)) {
                    return false;
                }
                return true;
            }
        } catch(ex) {
            alert('Erro na execução da função javascript validaDataMMAA(dataValidar)!' + ex);
        }
        return false;
    }
    
    
    // Valida data no formato dd/mm/aaaa
    function validaDataDDMMAAAA(dataValidar) {
        var dataAux;
        try {
            if(dataValidar) {
                dataAux = dataValidar.split("/");
        
                //valida se ? numerico
                if( isNaN(dataAux[0]) && isNaN(dataAux[1]) &&
                    isNaN(dataAux[2]) ) {
                    return false;
                }
        
                //valido que deve ter 8 caracteres
                if( dataValidar.length != 10 ) {
                    return false;
                }
        
                dia = dataAux[0];
                mes = dataAux[1];
                ano = dataAux[2];
        
                if((dia < 1 || dia > 31) || (mes < 1 || mes > 12) || (ano < 1000)) {
                    return false;
                }
                if(mes == 2 && dia > 29) {
                    return false;
                }
                if((mes == 4 || mes == 6 || mes == 9 || mes == 11) && dia > 30) {
                    return false;
                }
                return true;
            }
        } catch(ex) {
            alert('Erro na execução da função javascript validaDataDDMMAAAA(dataValidar)!' + ex);
        }
        return false;
    }
    
    // Valida data no formato mm/aaaa
    function validaDataMMAAAA(dataValidar) {
        var dataAux;
        try {
            if(dataValidar) {
                dataAux = dataValidar.split("/");
        
                //valida se ? numerico
                if( isNaN(dataAux[0]) && isNaN(dataAux[1]) ) {
                    return false;
                }
        
                //valido que deve ter 6 caracteres
                if( dataValidar.length != 7 ) {
                    return false;
                }
        
                mes = dataAux[0];
                ano = dataAux[1];
        
                if((mes < 1 || mes > 12) || (ano < 1000)) {
                    return false;
                }
                return true;
            }
        } catch(ex) {
            alert('Erro na execução da função javascript validaDataDDMMAAAA(dataValidar)!' + ex);
        }
        return false;
    }
    
    // Valida data no formato xx-xxxxxxxx
    function validaTelefone(telValidar) {
        var telAux;
        try {
            if(telValidar) {
                telAux = telValidar.value.split("-");
        
                //valida se ? numerico
                if( isNaN(telAux[0]) && isNaN(telAux[1]) ) {
                    return false;
                }
        
                //valido que deve ter 10 caracteres
                if( telValidar.value.length != 11 ) {
                    return false;
                }
        
                ddd = telAux[0];
                tel = telAux[1];
        
                if(ddd.length !=2) {
                    return false;
                }
                if(tel.length !=8) {
                    return false;
                }
                return true;
            }
        } catch(ex) {
            //alert('Erro na execução da função javascript validaTelefone(telValidar)!' + ex);
        }
        return false;
    }  
    
    // Valida cep no formato xxxxx-xxx
    function validaCep(cepValidar) {
        var cepAux;
        try {
            if(cepValidar) {
                cepAux = cepValidar.value.split("-");
        
                //valida se ? numerico
                if( isNaN(cepAux[0]) && isNaN(cepAux[1]) ) {
                    return false;
                }
        
                //valido que deve ter 8 caracteres
                if( cepValidar.value.length != 9 ) {
                    return false;
                }
        
                cep1 = cepAux[0];
                cep2 = cepAux[1];
        
                if(cep1.length !=5) {
                    return false;
                }
                if(cep2.length !=3) {
                    return false;
                }
                return true;
            }
        } catch(ex) {
            //alert('Erro na execução da função javascript validaCep(cepValidar)!' + ex);
        }
        return false;
    }        
    
    // Compara se a primeira data é menor que a segunda
    function comparaDatasDDMMAAAA(dhInicio, dhFim) {
        var dataAuxInicio;
		var dataAuxFim;
		
		dataAuxInicio = dhInicio.split("/");
		dataAuxFim = dhFim.split("/");
		
		diaInicio = dataAuxInicio[0];
		mesInicio = dataAuxInicio[1];
		anoInicio = dataAuxInicio[2];		
		
		diaFim = dataAuxFim[0];
		mesFim = dataAuxFim[1];
		anoFim = dataAuxFim[2];		
				
		if(anoInicio > anoFim)
			return false;
		else if (anoInicio == anoFim && mesInicio > mesFim)
				return false;
		else if (anoInicio == anoFim && mesInicio == mesFim && diaInicio > diaFim)
				return false;
		else
			return true;
    }
    
    //------------------------------------------------------------------------
    // esta função retorna : 
    // se fim > inicio retorna 1
    // se fim = inicio retorna 0
    // se fim < inicio retorna -1
    //------------------------------------------------------------------------
    function compareDate(dtInicio, dtFim) {
        varDtInicio = dtInicio.substr( 6, 4 ) + dtInicio.substr( 3, 2 ) + dtInicio.substr( 0, 2 );
        varDtFim    = dtFim.substr   ( 6, 4 ) + dtFim.substr( 3, 2 ) + dtFim.substr( 0, 2 );
        varReturn = 0;
        if( varDtFim > varDtInicio ) {
            return 1;
        } else if ( varDtFim == varDtInicio ) {
            return 0;
        } else {
            return -1;
        }
    }
    
    function compareDateMMAAAA(dtInicio, dtFim) {
        varDtInicio = dtInicio.substr( 3, 4 ) + dtInicio.substr( 0, 2 ) ;
        varDtFim    = dtFim.substr   ( 3, 4 ) + dtFim.substr( 0, 2 ) ;
        varReturn = 0;
        if( varDtFim > varDtInicio ) {
            return 1;
        } else if ( varDtFim == varDtInicio ) {
            return 0;
        } else {
            return -1;
        }
    }
    
    function checaReal(obj){
        
        if(obj.value != null && obj.value != ""){
            decimal = new RegExp("[\,]");
            valor = obj.value;
            
            if(!decimal.test(valor)){
                obj.value = valor + ",00";
            } else {
                valorSplit = obj.value.split(",");
                if(valorSplit[1].length == 0){
                    obj.value = valor + "00";
                } else if(valorSplit[1].length == 1){
                    obj.value = valor + "0";
                }
            }
        }
    }
    
    // Valida e-mail
    function validaEmail(aValor){
    
/*    
        var valor = trim(aValor);
        
        var arroba = new RegExp("[@]");
        var ponto = new RegExp("[\.]");

        if((!(arroba.test(valor)) || !(ponto.test(valor))) || valor.length < 5){
            return false;
        } else if ((valor.charAt(0) == "@") || (valor.charAt(0) == ".") || (valor.charAt(valor.length - 1) == ".") || (valor.charAt(valor.length - 1) == "@")){
            return false;
        } else if (ponto.test(valor.charAt(valor.indexOf('@') - 1)) || ponto.test(valor.charAt(valor.indexOf('@') + 1))){
            return false;
        }else if (arroba.test(valor.charAt(valor.indexOf('@') - 1)) || arroba.test(valor.charAt(valor.indexOf('@') + 1))){
            return false;
        }else if (ponto.test(valor.charAt(valor.indexOf('.') - 1)) || ponto.test(valor.charAt(valor.indexOf('.') + 1))){
            return false;
        }else if (arroba.test(valor.charAt(valor.indexOf('.') - 1)) || arroba.test(valor.charAt(valor.indexOf('.') + 1))){
            return false;
        }else{
            return true;
        }
*/
        var reTipo = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
        return reTipo.test(aValor);        
    }
    
    function leftTrim(sString) 
    {
        while (sString.substring(0,1) == ' ')
        {
            sString = sString.substring(1, sString.length);
        }
        return sString;
    }
    
    function rightTrim(sString) 
    {
        while (sString.substring(sString.length-1, sString.length) == ' ')
        {
            sString = sString.substring(0,sString.length-1);
        }
        return sString;
    }

    function trim(sString) 
    {
        while (sString.substring(0,1) == ' ')
        {
            sString = sString.substring(1, sString.length);
        }
        while (sString.substring(sString.length-1, sString.length) == ' ')
        {
            sString = sString.substring(0,sString.length-1);
        }
        return sString;
    }
    
	function doubleValue( evento, objeto ) {
        var tecla = 0;
        if ( document.all ) {
            tecla = evento.keyCode;
        } else if ( document.layers ) {
            tecla = evento.which;
        }
	
        if ( tecla == 0 ) {
            return true;
        }
	
        if ( tecla > 47 && tecla < 58 || tecla == 8 ) {
            return true;
        } else {
            if ( tecla == 44 ) {
                if ( document.all ) {
                    evento.keyCode = 46;
                } else if( document.layers ) {
                    evento.which = 46;
                }
                tecla = 46;
            }
            var valor = objeto.value;
            var indx = valor.indexOf( "." );
            if ( tecla == 46 && indx == -1 ) {
                return true;
            }
        }
    
        evento.returnValue = false;
        return false;
    }	
    
    function formataMoeda( argValor ) {
    
        replaceObjectString( argValor, ',', '' );
        replaceObjectString( argValor, '..', '.' );

        if ( argValor.value.indexOf( "." ) == -1 ) { //o usuario nao digitou casas decimais
            argValor.value = argValor.value + ".00";
        } else { // quando o valor tem casas decimais
            if ( argValor.value.indexOf( "." ) == 0 ) { 
                argValor.value = "0" + argValor.value;
            }
            varPos1 = argValor.value.indexOf( "." );
            varDecimais = argValor.value.substr( varPos1 ).length;
            if ( varDecimais == 1 ) { // somente a virgua
                argValor.value = argValor.value + "00";
            } else if ( varDecimais == 2 ) {
                argValor.value = argValor.value + "0";
            } else if ( varDecimais > 3 ) {
                argValor.value = argValor.value.substr( 0, varPos1 + 3 );
            }
        }
    }
    
    function separaMilhar( argObj ) {
        varTam = argObj.value.length;
        if ( varTam > 6 ) {
            var cont = 0;
            var retorno = "";
            for ( var i = argObj.value.length; i > -1; i-- ) {
                cont = cont + 1;
                if ( argObj.value.substr( i, 1 ) == "," ) {
                    cont = 0;
                } else if ( cont == 4 ) {
                    cont = 1;
                    retorno = '.' + retorno;
                }
                retorno = argObj.value.substr( i, 1 ) + retorno;
            }
            argObj.value = retorno;
        }
    }
    
    function replaceObjectString( objeto, antigo, novo ) {
    
        objeto.value = replaceString( objeto.value, antigo, novo );
    
    }
    
    function replaceString( texto, antigo, novo ) {
    
        for ( var i = 0; texto.indexOf( antigo ) > -1; i++ ) {
            texto = texto.replace( antigo, novo );
        }
        
        return texto;
        
    }
    
//------------------------------------------------------------------------
// Faz uma verificação no objeto que contém um value e retira todos os
// caracteres não permitidos e depois trunca pelo tamanho.
// Os caracteres permitidos são os numéricos.
// Parâmetros:
// pElement - Objeto que possua atributo value
// pMaxLength - Número máximo de caracteres permitidos no value do objeto
// Exemplo:
// <input name="teste" type="text" onkeyup="CheckNumeric( this, 5 );">
//------------------------------------------------------------------------
function CheckNumeric( pElement, pMaxLength )
{
	var lValue = pElement.value;
	var lChange = false;
	var lChar = "";

	for( i = 0; i < lValue.length; i++ )
	{
		lChar = lValue.charAt( i );
		if( lChar >= "0" && lChar <= "9" ) continue;
		lValue = RetirarCaracter( lValue, i );
		lChange = true;
		i--;
	}

	if( lValue.length > pMaxLength )
	{
		lValue = lValue.substr( 0, pMaxLength );
		lChange = true;
	}

	if( lChange )	pElement.value = lValue;

}

//------------------------------------------------------------------------
// Faz uma verificação no objeto que contém um value e retira todos os
// caracteres não permitidos e depois trunca pelo tamanho.
// Os caracteres permitidos são os numéricos e vírgula.
// Parâmetros:
// pElement - Objeto que possua atributo value
// pMaxLength - Número máximo de caracteres permitidos no value do objeto
// pDecimal = Número de casas decimais após a vírgula.
// Exemplo:
// <input name="teste" type="text" onkeyup="CheckFloat( this, 5, 2 );">
//------------------------------------------------------------------------
function CheckFloat( pElement, pMaxLength, pDecimal )
{
	var lValue = pElement.value;
	var lChange = false;
	var lHasDecimalPoint = false;
	var lDecimalCount = 0;
	var lIntegerCount = 0;
	var lChar = "";
	var lIntegerMax = pMaxLength;
	var lDecimalMax = pMaxLength;

	if( pDecimal != null )
	{
		lIntegerMax = pMaxLength - pDecimal;
		lIntegerMax--;
		lDecimalMax = pDecimal;
	}

	for( i = 0; i < lValue.length; i++ )
	{
		lChar = lValue.charAt( i );
		if( lChar >= "0" && lChar <= "9" )
		{
			if( lHasDecimalPoint )
			{
				lDecimalCount++;
				if( lDecimalCount <= lDecimalMax )
					continue;
			}
			else
			{
				lIntegerCount++;
				if( lIntegerCount <= lIntegerMax )
					continue;
			}
		}
		if( lChar == "," && !lHasDecimalPoint )
		{
			lHasDecimalPoint = true;
			continue;
		}
		lValue = RetirarCaracter( lValue, i );
		lChange = true;
		i--;
	}

	if( lValue.length > pMaxLength )
	{
		lValue = lValue.substr( 0, pMaxLength );
		lChange = true;
	}

	if( lChange )	pElement.value = lValue;

}

//------------------------------------------------------------------------
// Retira um caracter de uma string, indicado pelo número.
// Retorna a string sem o caracter.
// Parâmetros:
// pValue - String
// pIndex - Número do caracter a ser retirado
//------------------------------------------------------------------------
function RetirarCaracter( pValue, pIndex )
{
	var lLength = pValue.length;

	var lPart1Start = 0;
	var lPart1End = pIndex;
	var lPart2Start = pIndex + 1;
	var lPart2End = lLength;
	var lValue = "";

	if( ( lPart1End - lPart1Start ) > 0 )
	{
		lValue = pValue.substr( lPart1Start, lPart1End );
	}
	if( ( lPart2End - lPart2Start ) > 0 )
	{
		lValue += pValue.substr( lPart2Start, lPart2End );
	}

	return lValue;
}
    
//------------------------------------------------------------------------
// Controla um input do tipo data.
// Aceita os numeros da esquerda para a direita.
// Deve ser inserido no evento onkeydown do input do tipo text.
// Parametros:
// pObject - objeto tipo input
// Exemplo:
// <input name="teste" onkeydown="InputData( this );">
//------------------------------------------------------------------------
function InputData( pObject )
{
	var lValue;
	
	lValue = InputNumericoTirarMascara( pObject.value );	
	lValue = InputNumericoTratarKey( lValue, 8 );
	lValue = FormatarData( lValue );
	pObject.value = lValue;
}

// Retorna uma string sem a mascara de edicao. 
// Parametros:
// pValue - String com dados numéricos com mascara
function InputNumericoTirarMascara( pValue )
{
	var lValue = "";
	var lChar;
	var lInd = 0;
	var lFim = pValue.length;
	
	for( lInd = 0; lInd < lFim; lInd++ )
	{
		lChar = pValue.substring( lInd, lInd + 1 );
		if( ( lChar >= "0" && lChar <= "9" ) || lChar == "-" )
		{
			lValue += lChar;
		}
	}
	
	return lValue;
}

// Tratar as teclas no caso do input numerico
function InputNumericoTratarKey( pValue, pTamanho )
{
	event.returnValue = false;	

	if( event.keyCode == 9 )	// tab
	{
		event.returnValue = true;
		return pValue;
	}
	
	if( event.keyCode == 46 )	// del
		return "";
	
	if( event.keyCode == 8 )	// back space
	{
		if( pValue.length == 1 )	return "";
		return pValue.substring( 0, pValue.length - 1 );
	}

	if( pValue.length >= pTamanho )
		return pValue;
	
	if( ( event.keyCode >= 48 && event.keyCode <= 57 ) ||
		( event.keyCode >= 96 && event.keyCode <= 105 ) )	// teclas numéricas
	{
		return( pValue + GetNumericoKeyChar( event.keyCode ) );
	}

	return pValue;
}

// Retorna uma string formata com formato data. 
// O pValue nao deve ter mascara
function FormatarData( pValue )
{
	var lFim = pValue.length;
	var lFormatedValue = "";
	
	for( lInd = 0; lInd < lFim; lInd++ )
	{
		if( lInd == 2 || lInd == 4 )	lFormatedValue += "/";
		lFormatedValue += pValue.substring( lInd, lInd + 1 );
	}
	return lFormatedValue;
}

function GetNumericoKeyChar( pKeyCode )
{
	for( lInd = 0; lInd < oKeyCode.length; lInd++ )
	{
		if( oKeyCode[lInd] == pKeyCode || 
		    oKeyCode[lInd] == ( pKeyCode - 48 ) )
		{
			return oKey[lInd];		// concatena caracter
		}
	}
	return "9";
}

// as teclas numericas iniciam com o zero em 48 ou 96
var oKeyCode = new Array( 48,  49,  50,  51,  52,  53,  54,  55,  56,  57 );
var oKey     = new Array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );

//--------------> INICIO FORMATAR DATA

//faz a formatação quando existe 1 campo de data qqr onKeyPress(document.form_name.date_field_name)
function checkInputDate( keypress, ObjectName )
{
	FieldName = eval(ObjectName);
	chars = '01234567890';
	separators = 2;
	separatorChar = '/';
	TotalParts = 3;
	DayPart = 2;
	MonthPart = 2;
	YearPart = 4;
	oldValue = FieldName.value;
	var tecla = '';
	var varSelection = "";
	if (document.selection) // Internet Explorer
		{
			tecla = keypress.keyCode;
			varSelection = document.selection.createRange().text;
		}
	else if(window.getSelection || document.getSelection) // Nestcape
		{
			tecla = keypress.which;	
			varSelection = document.getSelection();
			
		}

    if (tecla!=0 && tecla!=8 && tecla!=9) {
        key = String.fromCharCode(tecla);	
        if ( ( ( chars.search( key ) != -1 ) && ( FieldName.value.length < ( DayPart + MonthPart + YearPart + separators ) ) ) || ( varSelection != "" ) )
            {
                if ( oldValue != '' )
                    {
                        if ( FieldName.value.length == DayPart )
                            {
                                FieldName.value = oldValue + separatorChar;
                            }
                        else if ( FieldName.value.length == (DayPart + MonthPart + (separators / 2)))
                            {
                                FieldName.value = oldValue + separatorChar;
                            }
                    }
            }
        else
            {
                //Se nao for tab nem backspace nao aceita caracter
                return false;
            }
    }


}

//--------------> FIM FORMATAR DATA 



function OnlyNumber( e ) {
    var unicode=e.charCode? e.charCode : e.keyCode;
    if (unicode!=8 && unicode!=9){ //if the key isn't the backspace key and tab key
        if (unicode<48||unicode>57) //if not a number
            return false //disable key press
    }
}

// funcao utilizada para validar cpf
function check_cpf (numcpf)	{
    numcpf = formatCod(numcpf,11);
    
    if ( numcpf == '01234567890' ) return false;
    if ( numcpf == '00000000000' ) return false;
    if ( numcpf == '11111111111' ) return false;
    if ( numcpf == '22222222222' ) return false;
    if ( numcpf == '33333333333' ) return false;
    if ( numcpf == '44444444444' ) return false;
    if ( numcpf == '55555555555' ) return false;
    if ( numcpf == '66666666666' ) return false;
    if ( numcpf == '77777777777' ) return false;
    if ( numcpf == '88888888888' ) return false;
    if ( numcpf == '99999999999' ) return false;
    
    x = 0;
    soma = 0;
    dig1 = 0;
    dig2 = 0;
    texto = "";
    numcpf1="";
    len = numcpf.length; x = len -1;
    
    // var numcpf = "12345678909";
    for (var i=0; i <= len - 3; i++) {
        y = numcpf.substring(i,i+1);
        soma = soma + ( y * x);
        x = x - 1;
        texto = texto + y;
    }
    dig1 = 11 - (soma % 11);
    if (dig1 == 10) {
        dig1=0 ;
    }
    if (dig1 == 11) {
        dig1=0 ;
    }
    numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
    x = 11; soma=0;
    
    for (var i=0; i <= len - 2; i++) {
        soma = soma + (numcpf1.substring(i,i+1) * x);
        x = x - 1;
    }
    
    dig2= 11 - (soma % 11);
    
    if (dig2 == 10) {
        dig2=0;
    }
    
    if (dig2 == 11)  {
        dig2=0;
    }
    
    if ( ( dig1 + "" + dig2 ) == numcpf.substring( len, len - 2 ) )  {
        return true;
    }
    return false;
}

function formatCod(texto, tamanho) {
	for (i = texto.length; i < tamanho; i++) {
		texto = "0"+texto;
	}
	return texto;
}


// funcao utilizada para validacao de cnpj
function checkCNPJ(argCNPJ)	{
    argCNPJ = formatCod( argCNPJ, 14 );
    
    if ( argCNPJ == '11111111111111' ) return false;
    
    var i;
    var s = argCNPJ;
    var c = s.substr(0,12);
    var dv = s.substr(12,2);
    var d1 = 0;
    for ( i = 0; i < 12; i++ ) {
        d1 += c.charAt(11-i)*(2+(i % 8));
    }
    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1) {
        return false;
    }
    d1 *= 2;
    for (i = 0; i < 12; i++) {
        d1 += c.charAt(11-i)*(2+((i+1) % 8));
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1){
        return false;
    }
    return true;
}

/*** 
* Descrição.: formata um campo do formulário de 
* acordo com a máscara informada... 
* Parâmetros: - objForm (o Objeto Form) 
* - strField (string contendo o nome do textbox) 
* - sMask (mascara que define o  formato que o dado será apresentado,  usando o algarismo "9" para 
* definir números e o símbolo "!" para  qualquer caracter... 
* - evtKeyPress (evento) 
* Uso.......: <input type="textbox" 
* name="xxx"..... 
* onkeypress="return txtBoxFormat(this, '99999-999', event);"> 
* Observação: As máscaras podem ser representadas como os exemplos abaixo: 
* CEP -> 99.999-999 
* CPF -> 999.999.999-99 
* CNPJ -> 99.999.999/9999-99 
* Data -> 99/99/9999 
* Tel Resid -> (99) 999-9999 
* Tel Cel -> (99) 9999-9999 
* Processo -> 99.999999999/999-99 
* C/C -> 999999-! 
* E por aí vai... 
***/

function txtBoxFormat(obj, sMask, evtKeyPress) {
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      if(document.all) { // Internet Explorer
        nTecla = evtKeyPress.keyCode; }
      else if(document.layers) { // Nestcape
        nTecla = evtKeyPress.which;
      }

      sValue = obj.value;

      // Limpa todos os caracteres de formatação que
      // já estiverem no campo.
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "../index.html", "" );
      sValue = sValue.toString().replace( "../index.html", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      while (i <= mskLen) {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "../index.html"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) {
          sCod += sMask.charAt(i);
          mskLen++; }
        else {
          sCod += sValue.charAt(nCount);
          nCount++;
        }

        i++;
      }

      obj.value = sCod;

      if (nTecla != 8) { // backspace
        if (sMask.charAt(i-1) == "9") { // apenas números...
          return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
        else { // qualquer caracter...
          return true;
        } }
      else {
        return true;
      }
    }
//Fim da Função Máscaras Gerais

function validaDataNasc(valorData, idade){

    day = "";
    mmonth = "";
    ano = "";
    c = 1;
    char = "";
    for (s = 0; s < parseInt(valorData.length); s++) 
    {
        char = valorData.substr(s,1);
        if (char == "../index.html") 
        {
            c++;
            s++;
            char = valorData.substr(s,1);
        }
        if (c==1) day += char;
        if (c==2) mmonth += char;
        if (c==3) ano += char;
    }

    entered = new Date();
    entered.setFullYear(parseInt(ano) + idade, mmonth-1, day);
	dataAtual = new Date();

    if (entered > dataAtual) {
        return false;
    } else {
        return true;
    }
}



//--------------> FORMATAR TELEFONE

//faz a formatação quando existe 1 campo de data qqr onKeyPress(document.form_name.date_field_name)
function checkInputTel( keypress, ObjectName )
{
	FieldName = eval(ObjectName);
	chars = '01234567890';
	separators = 1;
	separatorChar = '-';
	TotalParts = 2;
	DDDPart = 2;
	TelPart = 8;
	oldValue = FieldName.value;
	var tecla = '';
	var varSelection = "";
	if (document.all) // Internet Explorer
		{
			tecla = keypress.keyCode;
			varSelection = document.selection.createRange().text;
		}
	else if(document.layers) // Nestcape
		{
			tecla = keypress.which;	
			varSelection = document.getSelection();
			
		}
	key = String.fromCharCode(tecla);	
	if ( ( ( chars.search( key ) != -1 ) && ( FieldName.value.length < ( DDDPart + TelPart + separators ) ) ) || ( varSelection != "" ) )
		{
			if ( oldValue != '' )
				{
					if ( FieldName.value.length == DDDPart )
						{
							FieldName.value = oldValue + separatorChar;
						}
				}
		}
	else
		{
			event.returnValue = false;
		}

}

	function FormataValor(campo,tammax){

		var valorAuxiliar = "";
		digitosValidos = "0123456789" ;
		
		valor = campo.value;
        
        //Força formatação com "," no caso de centavos
        for(i=0; valor.replace(",","").length<3; i++){
            valor = "0" + valor;
        }
			
		//retira digitos não numericos
 		for (i=0;i<valor.length;i++){
 			if(digitosValidos.indexOf(valor.charAt(i))>=0) {
 				valorAuxiliar += valor.charAt(i);
 			}
 		}

		//verifica tamanho (tamanho máximo vindo do método)
		if(tammax > 0 && tammax < valorAuxiliar.length)
			valorAuxiliar = valorAuxiliar.substring(0,tammax);

		//retira zeros desnecessários ao início do número
		while (valorAuxiliar.length > 3 && valorAuxiliar.charAt(0) == "0")
			valorAuxiliar = valorAuxiliar.substring(1);

		valor = valorAuxiliar;
		digitosNumericos = valor.length;

		//insere pontos decimais
		for(i = 1;i<=(digitosNumericos/3);i++)
			valor = valor.substring(0,digitosNumericos + 1 - 3*i) +
				(i==1?',':'.') +
				valor.substring(digitosNumericos + 1 - 3*i);
					
		campo.value = valor;
	}


    //Assume q valor a ser convertido estará no formato
    //xxx.xxx.xxx,yy
    function convertToFloat(field) {
        //retira separadores de milhar
        var aux = field.replace(".", "");
        //como nao existe replace all eh necessario fazer o loop
        while (aux.indexOf(".")>0) {
            aux = aux.replace(".", "");
        }
        aux = aux.replace(",",".");
        return parseFloat(aux);
    }
//--------------> FIM FORMATAR TELEFONE 

function validaPeenchimento(campo, msg){
	if ( trim(campo.value) == '')
	{
		campo.focus();
		alert(msg);
		return false;
	}
	return true;
}

function validaNumeroPositivo(campo, msg){
	if ( eval(campo.value) <= 0)
	{
		campo.focus();
		alert(msg);
		return false;
	}
	return true;
}

function validaData(campo, msg){

    if (checaPeenchimento(campo)){
        if (!validaDataDDMMAAAA(campo.value)){
            campo.focus();
            alert(msg);
            return false;
        }    
    }

    return true;

}

function dataFinalMaior(dataInicio, dataFinal, msg){

    dataInicio = dataInicio.substring(6,10) + dataInicio.substring(3,5) + dataInicio.substring(0,2);
    dataFinal = dataFinal.substring(6,10) + dataFinal.substring(3,5) + dataFinal.substring(0,2);

    if (dataFinal < dataInicio){
        alert(msg);
        return false;
    }
    
    return true;
}

function tamanhoCampo(campo, tamanho, mensagem){
    if (campo.value.length != tamanho){
        campo.focus();
        alert(mensagem);
        return false;
    }
    
    return true;
}

function dataMaiorQueXMeses(data, meses, mensagem){
    var sData = dataToYYYYMMDD(data.value);
    var sData3MesesMenos = getDateYYYYMMDD(-3);

	if (sData < sData3MesesMenos){
		data.focus();
		alert(mensagem);
		return false;
	}

	return true;
}

function dataMenorIgualDataAtual(data, mensagem){
	var sData = dataToYYYYMMDD(data.value);
	var sDataAtual = getDateYYYYMMDD();

	if(sData>sDataAtual){
		data.focus();
		alert(mensagem);
		return false;
	}

	return true;
}


function dataToYYYYMMDD(data){

    return data.substring(6,10) + data.substring(3,5) + data.substring(0,2);

}



function getDateYYYYMMDD(adicionaMes){
	var date = new Date();

	var dia = date.getDate() + "";
	var mes = (date.getMonth() + 1) + "";
	var ano = date.getFullYear() + "";


	if ((adicionaMes != null)){
		mes = eval(mes) + adicionaMes;

		//Verifica no caso de mês negativo
		while(mes < 1){
			mes = eval(mes) + 12;
			ano = eval(ano) - 1;
		}

		//Verifica no caso de mês acima de 12
		while(mes > 12){
			mes = eval(mes) - 12;
			ano = eval(ano) + 1;
		}


	}

	dia = dia + "";
	mes = mes + "";
	ano = ano + "";

	while (dia.length < 2)
		dia = "0" + dia;

	while (mes.length < 2)
		mes = "0" + mes;

	return ano + "" + mes + "" + dia;
}

function checaPeenchimento(campo){
	if ( trim(campo.value) == '')
	{
		return false;
	}
	return true;
}

function checkInputDateMMAAAA( keypress, ObjectName )
{
        FieldName = eval(ObjectName);
        chars = '01234567890';
        separators = 1;
        separatorChar = '../index.html';
        MonthPart = 2;
        YearPart = 4;
        oldValue = FieldName.value;
        var tecla = '';
        var varSelection = "";
        if (document.all) // Internet Explorer
                {
                        tecla = keypress.keyCode;
                        varSelection = document.selection.createRange().text;
                }
        else if(document.layers) // Nestcape
                {
                        tecla = keypress.which;        
                        varSelection = document.getSelection();
                        
                }
        key = String.fromCharCode(tecla);        
        if ( ( ( chars.search( key ) != -1 ) && ( FieldName.value.length < ( MonthPart +
YearPart + separators ) ) ) || ( varSelection != "" ) )
                {
                        if ( oldValue != '' )
                                {
                        if ( FieldName.value.length == (MonthPart))
                                                {
                                                        FieldName.value = oldValue + separatorChar;
                                                }
                                }
                }
        else
                {
                        event.returnValue = false;
                }
}

function clearField(ObjectName)
{
    FieldName = eval(ObjectName);
    FieldName.value = "";
}

// Valida horário no formato hh:mm
function validaHorarioHHMM(horaValidar) {
    var dataAux;
    try {
        if(horaValidar) {
            horaAux = horaValidar.split(":");
    
            //valida se ? numerico
            if( isNaN(horaAux[0]) && isNaN(horaAux[1])) {
                return false;
            }
    
            //valido que deve ter 5 caracteres
            if( horaValidar.length != 5 ) {
                return false;
            }
    
            hora = horaAux[0];
            minuto = horaAux[1];
    
            if(hora < 0 || hora > 23 || minuto < 0 || minuto > 59)
            {
                return false;
            }
            return true;
        }
    } catch(ex) {
        alert('Erro na execução da função javascript validaHorarioHHMM(horaValidar)!' + ex);
    }
    return false;
}

//--------------> INICIO FORMATAR HORARIO

//faz a formatação quando existe 1 campo de horario qqr onKeyPress(document.form_name.date_field_name)
function checkInputHour( keypress, ObjectName )
{
	FieldName = eval(ObjectName);
	chars = '01234567890';
	separators = 1;
	separatorChar = ':';
	TotalParts = 2;
	HourPart = 2;
	MinutePart = 2;
	oldValue = FieldName.value;
	var tecla = '';
	var varSelection = "";
	if (document.selection) // Internet Explorer
		{
			tecla = keypress.keyCode;
			varSelection = document.selection.createRange().text;
		}
	else if(window.getSelection || document.getSelection) // Nestcape
		{
			tecla = keypress.which;	
			varSelection = document.getSelection();
			
		}

    if (tecla!=0 && tecla!=8 && tecla!=9) {
        key = String.fromCharCode(tecla);	
        if ( ( ( chars.search( key ) != -1 ) && ( FieldName.value.length < ( HourPart + MinutePart + separators ) ) ) || ( varSelection != "" ) )
            {
                if ( oldValue != '' )
                    {
                        if ( FieldName.value.length == HourPart )
                        {
                            FieldName.value = oldValue + separatorChar;
                        }
                    }
            }
        else
            {
                //Se nao for tab nem backspace nao aceita caracter
                return false;
            }
    }


}

//--------------> FIM FORMATAR HORARIO 




/*Implementação de rotina para validar data, corrigir depois*/


function ltrim(stexto)
{
	if (stexto.length > 0 )
	{
		sretorno = "";
		bconteudo = false;
		bsai = false;
		for (i=0;i<stexto.length;i++)
		{
			if ((stexto.substr(i,1) == " ") && (bconteudo == false))
			{
				
			}
			else
			{
				sretorno = sretorno + stexto.substr(i,1);
				bconteudo = true;
			}
		}
		return sretorno;
	}
	else
	{
		return stexto;
	}
}




function validate_date(obj,smsg)
{

    
    sdata = obj.value;
	day2 = sdata.substr(0,2);
	month2 = sdata.substr(3,2);
	year2 = sdata.substr(6,4);
	
	if ((sdata.substr(2,1) != "../index.html") || (sdata.substr(5,1) != "../index.html"))
	{
		day2 = "";
		month2 = "";
		year2 = "";
	}
	
	var DayArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var MonthArray = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
	var inpDate = day2 + month2 + year2;
	var filter=/^[0-9]{2}[0-9]{2}[0-9]{4}$/;
	
	//Check ddmmyyyy date supplied
	if (! filter.test(inpDate))
	  {
	  alert(smsg);  
	  obj.focus();
	  return false;
	  }
	/* Check Valid Month */
	filter=/01|02|03|04|05|06|07|08|09|10|11|12/;
	if (! filter.test(month2))
	  {
	  alert(smsg);
	  obj.focus();
	  return false;
	  }
	/* Check For Leap Year */
	var N = Number(year2);
	if ( ( N%4==0 && N%100 !=0 ) || ( N%400==0 ) )
	  	{
	   DayArray[1]=29;
	  	}
	/* Check for valid days for month */
	for(var ctr=0; ctr<=11; ctr++)
	  	{
	   if (MonthArray[ctr]==month2)
	   	{
	      if (day2<= DayArray[ctr] && day2 >0 )
	        {
	        inpDate = day2 + '/' + month2 + '/' + year2;
	        return true;
	        }
	      else
	        {
			alert(smsg);
			obj.focus();
	        return false;
	        }
	   	}
	   }
}


function compara_data(pdataini, pdatafin){

	pdataini = pdataini.substr(6,4) + pdataini.substr(3,2) + pdataini.substr(0,2);
	pdatafin = pdatafin.substr(6,4) + pdatafin.substr(3,2) + pdatafin.substr(0,2);
	
	if (pdataini > pdatafin){
	   return false;
	}
	return true;
}



