function ExibeObjeto(Objeto)
{
		var ArrayObjetos = Objeto.split(",");
		
		for(x=0;x<ArrayObjetos.length;x++)
		{
		    if(document.getElementById(ArrayObjetos[x]))
		    {
		        document.getElementById(ArrayObjetos[x]).style.display = "block";
		    }
		}
		
}
function EscondeObjeto(Objeto)
{
		var ArrayObjetos = Objeto.split(",");
		
		for(x=0;x<ArrayObjetos.length;x++)
		{
		    if(document.getElementById(ArrayObjetos[x]))
		    {
		        document.getElementById(ArrayObjetos[x]).style.display = "none";
		    }
		}
}
function RolaPagina(tipo_objeto, objeto) {
	var allParas = document.getElementsByTagName(tipo_objeto);

	var num = allParas.length;

	//Itera sobre todas as tags encontradas
	for (i = 0; i < allParas.length; i++) {

		var font = allParas.item(i);

		//rola o texto ate a o objeto informado
		if (font.innerHTML.indexOf(objeto) != -1) {
		    font.scrollIntoView();
		    alert(font.innerHTML.indexOf(objeto));
		}
	}
}
function ValidaEmail(valor) {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (filter.test(valor))
        valido = true;
    else {
        valido = false;
    }
    return valido;
}
function Mascara(_RefObjeto, _Modelo) {

    var valorAtual = _RefObjeto.value;
    var valorNumerico = '';
    var nIndexModelo = 0;
    var nIndexString = 0;
    var valorFinal = '';
    var adicionarValor = true;


    // limpa a string valor atual para verificar
    // se todos os caracteres são números
    for (i = 0; i < _Modelo.length; i++) {
        if (_Modelo.substr(i, 1) != '#') {
            valorAtual = valorAtual.replace(_Modelo.substr(i, 1), '');
        } 
    }

    // verifica se todos os caracteres são números
    for (i = 0; i < valorAtual.length; i++) {
        if (!isNaN(parseFloat(valorAtual.substr(i, 1)))) {
            valorNumerico = valorNumerico + valorAtual.substr(i, 1);
        } 
    }

    // aplica a máscara ao campo informado usando
    // o modelo de máscara informado no script
    for (i = 0; i < _Modelo.length; i++) {

        if (_Modelo.substr(i, 1) == '#') {
            if (valorNumerico.substr(nIndexModelo, 1) != '') {
                valorFinal = valorFinal + valorNumerico.substr(nIndexModelo, 1);
                nIndexModelo++; nIndexString++;
            }
            else {
                adicionarValor = false;
            } 
        }

        else {
            if (adicionarValor && valorNumerico.substr(nIndexModelo, 1) != '') {
                valorFinal = valorFinal + _Modelo.substr(nIndexString, 1)
                nIndexString++;
            } 
        }
    }

    _RefObjeto.value = valorFinal

}
function ValidaNumero(valor) {
    chars = "0123456789,.";
    e = String.fromCharCode(window.event.keyCode);
    if (e == "") {
        if (valor.indexOf(e) == -1) {
            return;
        }
        window.event.keyCode = 0;
    }
    if (chars.indexOf(e) == -1) {
        window.event.keyCode = 0;
    }
}
function Verifica_CPF(str_CPF) {

    var CPF = str_CPF;

    CPF = CPF.replace(/[/]+/g, '');
    CPF = CPF.replace(/[.]+/g, '');
    CPF = CPF.replace(/[-]+/g, '');

    // Verifica se o campo é nulo
    if (CPF == '') {
        //alert('Este campo é de preenchimento obrigatório!');
        return false;
    }

    // Aqui começa a checagem do CPF
    var POSICAO, I, SOMA, DV, DV_INFORMADO;
    var DIGITO = new Array(10);
    DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

    // Desemembra o número do CPF na array DIGITO
    for (I = 0; I <= 8; I++) {
        DIGITO[I] = CPF.substr(I, 1);
    }

    // Calcula o valor do 10º dígito da verificação
    POSICAO = 10;
    SOMA = 0;
    for (I = 0; I <= 8; I++) {
        SOMA = SOMA + DIGITO[I] * POSICAO;
        POSICAO = POSICAO - 1;
    }
    DIGITO[9] = SOMA % 11;
    if (DIGITO[9] < 2) {
        DIGITO[9] = 0;
    }
    else {
        DIGITO[9] = 11 - DIGITO[9];
    }

    // Calcula o valor do 11º dígito da verificação
    POSICAO = 11;
    SOMA = 0;
    for (I = 0; I <= 9; I++) {
        SOMA = SOMA + DIGITO[I] * POSICAO;
        POSICAO = POSICAO - 1;
    }
    DIGITO[10] = SOMA % 11;
    if (DIGITO[10] < 2) {
        DIGITO[10] = 0;
    }
    else {
        DIGITO[10] = 11 - DIGITO[10];
    }

    // Verifica se os valores dos dígitos verificadores conferem
    DV = DIGITO[9] * 10 + DIGITO[10];
    if (DV != DV_INFORMADO) 
    {
        return false;
    }
    else 
    {

        if (
         CPF == "00000000000" ||
         CPF == "11111111111" ||
         CPF == "22222222222" ||
         CPF == "33333333333" ||
         CPF == "44444444444" ||
         CPF == "55555555555" ||
         CPF == "66666666666" ||
         CPF == "77777777777" ||
         CPF == "88888888888" ||
         CPF == "9999999999"
        ) 
        {
            return false;
        }
        else if ((CPF.length != 11)) {
            return false;
        }
        else 
        {
            return true;
        }
       
       
    }
}
function Verifica_CNPJ(cnpj)
{

    var cnpj_tratado = cnpj;

    cnpj_tratado = cnpj_tratado.replace(/[/]+/g, '');
    cnpj_tratado = cnpj_tratado.replace(/[.]+/g, '');
    cnpj_tratado = cnpj_tratado.replace(/[-]+/g, '');
    
    cnpj = cnpj_tratado

var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
digitos_iguais = 1;
if (cnpj.length < 14 && cnpj.length < 15)
    return false;
for (i = 0; i < cnpj.length - 1; i++)
    if (cnpj.charAt(i) != cnpj.charAt(i + 1))
          {
          digitos_iguais = 0;
          break;
          }
if (!digitos_iguais)
    {
    tamanho = cnpj.length - 2
    numeros = cnpj.substring(0,tamanho);
    digitos = cnpj.substring(tamanho);
    soma = 0;
    pos = tamanho - 7;
    for (i = tamanho; i >= 1; i--)
          {
          soma += numeros.charAt(tamanho - i) * pos--;
          if (pos < 2)
                pos = 9;
          }
    resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
    if (resultado != digitos.charAt(0))
          return false;
    tamanho = tamanho + 1;
    numeros = cnpj.substring(0,tamanho);
    soma = 0;
    pos = tamanho - 7;
    for (i = tamanho; i >= 1; i--)
          {
          soma += numeros.charAt(tamanho - i) * pos--;
          if (pos < 2)
                pos = 9;
          }
    resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
    if (resultado != digitos.charAt(1))
          return false;
    return true;
    }
else
    return false;
} 
function check_date(DATA) 
{
        var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
        var msgErro = 'Formato inválido de data.';
        var vdt = new Date();
        var vdia = vdt.getDay();
        var vmes = vdt.getMonth();
        var vano = vdt.getFullYear();
        
        if ((DATA.match(expReg)) && (DATA!=''))
        {
            var dia = DATA.substring(0,2);
            var mes = DATA.substring(3,5);
            var ano = DATA.substring(6,10);
            if((mes==04 && dia > 30) || (mes==06 && dia > 30) || (mes==09 && dia > 30) || (mes==11 && dia > 30))
            {
                //alert("Dia incorreto !!! O mês especificado contém no máximo 30 dias.");
                return false;
            } 
            else
            { //1
                if(ano%4!=0 && mes==2 && dia>28)
                {
                    //alert("Data incorreta!! O mês especificado contém no máximo 28 dias.");
                    return false;
                } 
                else
                { //2
                    if(ano%4==0 && mes==2 && dia>29)
                    {
                        //alert("Data incorreta!! O mês especificado contém no máximo 29 dias.");
                        return false;
                    } 
                    else
                    { //3
                        //if (ano > vano) 
                        //{
                            //alert("Data incorreta!! Ano informado maior que ano atual.");
                            //return false;
                        //}
                        //else
                        //{ //4
                            //alert ("Data correta!");
                            return true;
                        //} //4-else
                    } //3-else
                }//2-else
            }//1-else 
        }
        else 
        { //5
            //alert(msgErro);
            return false;
        } //5-else
}

function FocoObjeto(objeto)
{
    if(event.which || event.keyCode)
    {
        if ((event.which == 13) || (event.keyCode == 13)) 
        {
            document.getElementById(objeto).click();
            return false;
        }
    } 
    else 
    {
        return true
    };
}

function SetaFocoObjeto(objeto)
{
   document.getElementById(objeto).focus();
}

function Desabilita_tecla(tecla)
{
    if(event.which || event.keyCode)
    {
        if ((event.which == tecla) || (event.keyCode == tecla)) 
        {
            alert(tecla);
            return false;
        }
    } 
    else 
    {
        return true
    };
}

function Substituir(str, de, para){
    var pos = str.indexOf(de);
    while (pos > -1){
		str = str.replace(de, para);
		pos = str.indexOf(de);
	}
    return (str);
}
function Valida_Data_Campo(campo, data) {

    var vString = data.length;
    //alert(vString)
    if (parseInt(vString) == 10 && check_date(data) == false) {
        alert("Data inválida!");
        campo.value = "";
        campo.focus();
    }
}
//function Formata_Moeda(vElement)
//{  
//		var vAplicaMascara = vElement.value;
//		vAplicaMascara = vAplicaMascara.replace(/\D/g,"")  //permite digitar apenas números
//		vAplicaMascara = vAplicaMascara.replace(/[0-9]{18}/,"inválido")   //limita pra máximo 999.999.999,99
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{15})$/,"$1.$2")  //coloca ponto antes dos últimos 15 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{11})$/,"$1.$2")  //coloca ponto antes dos últimos 11 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{8})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{5})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{1,2})$/,"$1,$2")    //coloca virgula antes dos últimos 2 digitos
//		vElement.value = vAplicaMascara;
//}
function Formata_Moeda(campo, casas_depois_virgula)
{  
		
		var vValor = campo.value;
		
		vValor = vValor.replace(/\D/g,"")  //permite digitar apenas números

		vValor = Substituir(vValor,".","");
		vValor = Substituir(vValor,",","");
		
		var vValor1 = "";
		var vValor2 = "";
		var vConta = 0;
		var vVirgula = 0;
		
		for (var x = (vValor.length-1); x >= 0; x--)
		{
		    vConta++;

			if (vVirgula == 0 && (vConta == (parseInt(casas_depois_virgula)+1)))
			{
				vValor1 += "," + vValor.substring(x, x+1);
				vVirgula = 1;
				vConta = 0;
			}
			else
			{
				if (vVirgula == 1 && vConta == 3)
				{
					vConta = 0;
					vValor1 += "." + vValor.substring(x, x+1);
				}
				else
				{
					vValor1 += vValor.substring(x, x+1);
				}
			}
		}
		
		for (var x = (vValor1.length-1); x >= 0; x--)
		{
			vValor2 += vValor1.substring(x, x+1);
		}
        
        campo.value = vValor2;
}

//function Str_Formata_Moeda(valor)
//{  
//		var vAplicaMascara = valor;
//		vAplicaMascara = vAplicaMascara.replace(/\D/g,"")  //permite digitar apenas números
//		vAplicaMascara = vAplicaMascara.replace(/[0-9]{18}/,"inválido")   //limita pra máximo 999.999.999,99
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{15})$/,"$1.$2")  //coloca ponto antes dos últimos 15 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{11})$/,"$1.$2")  //coloca ponto antes dos últimos 11 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{8})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{5})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos
//		vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{1,2})$/,"$1,$2")    //coloca virgula antes dos últimos 2 digitos
//		return vAplicaMascara;
//}
function Str_Formata_Moeda(vValor, casas_depois_virgula)
{  
		
		vValor = vValor.replace(/\D/g,"")  //permite digitar apenas números
		
		
		vValor = Substituir(vValor,".","");
		vValor = Substituir(vValor,",","");
		
		var vValor1 = "";
		var vValor2 = "";
		var vConta = 0;
		var vVirgula = 0;
		
//		if(vValor.length == 1 || vValor.length == 2)
//		{
//		   vValor = vValor + "00";
//		}
//		else if(vValor.length == 2)
//		{
//		   vValor = vValor + "0";
//		}

		for (var x = (vValor.length-1); x >= 0; x--)
		{
		    vConta++;

			if (vVirgula == 0 && (vConta == (parseInt(casas_depois_virgula)+1)))
			{
				vValor1 += "," + vValor.substring(x, x+1);
				vVirgula = 1;
				vConta = 0;
			}
			else
			{
				if (vVirgula == 1 && vConta == 3)
				{
					vConta = 0;
					vValor1 += "." + vValor.substring(x, x+1);
				}
				else
				{
					vValor1 += vValor.substring(x, x+1);
				}
			}
		}
		
		for (var x = (vValor1.length-1); x >= 0; x--)
		{
			vValor2 += vValor1.substring(x, x+1);
		}
        
        return vValor2;
}
function ValidaFCKeditor(campo) {
    var oEditor = FCKeditorAPI.GetInstance(campo);
    descricao = oEditor.GetXHTML();
    descricao.replace(/<[^>]*>/g, ""); //remove tags html
    
    if(descricao == "")
    {
        return false;
    }
    else
    {
        return true;
    }
}
function Conta_Caracteres(campo_contar, limite, campo_retorno)
{
    
    if(document.getElementById(campo_contar).value.length > limite)
    {
        alert("Limite de " + limite + " carecteres");
        document.getElementById(campo_contar).value = document.getElementById(campo_contar).value.substring(0,limite);
        if(document.getElementById(campo_retorno))
        {
            document.getElementById(campo_retorno).value = (limite - document.getElementById(campo_contar).value.length);
        }
    }
    else
    {
        if(document.getElementById(campo_retorno))
        {
            document.getElementById(campo_retorno).value = (limite - document.getElementById(campo_contar).value.length);
        }
    }
}
function Valida_Arquivo(campo, extensoes) { 
   
   var vArquivo = document.getElementById(campo).value;
   var vRetorno = false;
   
   if(vArquivo != "")
   {
        var extensao = (vArquivo.substring(vArquivo.lastIndexOf("."))).toLowerCase();
        var vArray_extensoes = extensoes.split(',');
        var vPermitir = 0;
        
        for (var i = 0; i < vArray_extensoes.length; i++) 
        { 
             if (vArray_extensoes[i] == extensao) 
             { 
                 vRetorno = true; 
             } 
        } 
   }
   
   return vRetorno;
   
}
//verifica se uma data é maior que a outra 
function Compara_Data(valor1,valor2)
{
    
    var data1 = valor1.split( " " )[0].toString()
    var hora1 = valor1.split( " " )[1].toString()
    var data2 = valor2.split( " " )[0].toString()
    var hora2 = valor2.split( " " )[1].toString()
    
    //inverte a data e hora para poder ver se uma data é maior que a outra
    var monta_data1 = data1.split( "/" )[2].toString() + data1.split( "/" )[1].toString() + data1.split( "/" )[0].toString() + hora1.split( ":" )[0].toString() + hora1.split( ":" )[1].toString() + hora1.split( ":" )[2].toString();
    var monta_data2 = data2.split( "/" )[2].toString() + data2.split( "/" )[1].toString() + data2.split( "/" )[0].toString() + hora2.split( ":" )[0].toString() + hora2.split( ":" )[1].toString() + hora2.split( ":" )[2].toString();
    
    if ( monta_data1 > monta_data2 )
    {
      //alert( "maior" );
      return false;
    }
    else
    {
      //alert( "não é maior" );
      return true;
    }
}
function Bloqueia_Tecla(numero_tecla) //o enter é numero 116
{
	var tecla=window.event.keyCode;
	if (tecla == numero_tecla) {
		event.keyCode = 0;
		event.returnValue = false;
	}
}

