﻿/* #33/O/fin83
function GetHdnPosScroll(nomeObj, tipo)
{
    return document.getElementById(nomeObj + "_hdnPosScroll" + tipo);
}
function KeepPosScroll(objDiv, nomeObj, tipo)
{
    GetHdnPosScroll(nomeObj, tipo).value = objDiv.scrollTop;
}
function SetPosScroll(idDiv, nomeObj, tipo)
{
    var objDiv = document.getElementById(idDiv);
    objDiv.scrollTop = GetHdnPosScroll(nomeObj, tipo).value;
}
*/
function KeepPosScroll(objDiv, nomeObj)
{
    document.getElementById(nomeObj).value = objDiv.scrollTop;
}
function SetPosScroll(idDiv, nomeObj)
{
    var objDiv = document.getElementById(idDiv);
    objDiv.scrollTop = document.getElementById(nomeObj).value;
}

//#39/P
function GetMsgErroMlc(codEnOrigemItemMlc)
{
    var retorno = 'Você não tem acesso a área ';
    switch (codEnOrigemItemMlc)
    {
        case 1:
            retorno += 'Funcionários ';
            break;
        case 2:
            retorno += 'Bens a depreciar ';
            break;
        case 3:
            retorno += 'Despesas ';
            break;
        case 5:
            retorno += 'Custo/Hora ';
            break
        case 7:
            retorno += 'Relatórios e Gráficos ';
            break;
        default:
            alert('Erro');
    }
    if (retorno != '')
    {
        retorno += 'do sistema.';
    }
    return retorno
}

//#39/P
function RemoveMaskCampo(texto)
{
    var textoSemMask = '';
    textoSemMask = texto.replace('.', '');
    textoSemMask = textoSemMask.replace('-', '');
    textoSemMask = textoSemMask.replace('/', '');
    textoSemMask = textoSemMask.replace('(', '');
    textoSemMask = textoSemMask.replace(')', '');
    textoSemMask = textoSemMask.replace(',', '');
    if (textoSemMask == '')
    {
        textoSemMask = 0;
    }
    return textoSemMask
}

function TrocaImgCompoBotao(evt,texto,imgIni,imgBg,imgFim)
{
    var dir = '';
    var retornaDir = 3;
    if(location.href.indexOf("http://localhost") < 0)
    {
        retornaDir = 2;
    }
    var qtdDir = window.document.location.pathname.split("/").length - retornaDir;
    if(qtdDir > 0)
    {   
        for(var a=0;a<qtdDir;a++)
        {
            dir = dir + '../';
        }
    }
    var dir = dir + "componentes/img_compoBotao/";
    var texto = document.getElementById(texto);
    var imgIni = document.getElementById(imgIni);
    var imgBg = document.getElementById(imgBg);
    var imgFim = document.getElementById(imgFim);
    if(evt == 'over'){
        imgIni.src = dir + "compoBotao_esq2.gif";
        imgBg.style.backgroundImage = "url('" + dir + "bgCompoBotaoPadrao2.png')";
        imgFim.src = dir + "compoBotao_dir2.gif";
    }else{
        imgIni.src = dir + "compoBotao_esq.gif";
        imgBg.style.backgroundImage = "url('" + dir + "bgCompoBotaoPadrao.png')";
        imgFim.src = dir + "compoBotao_dir.gif";
    }
}

function RotinaFecharModalComissoes()
{
    var hdnFlagComissaoModalAberto = document.getElementById("ctl00_ContentPlaceHolder1_hdnFlagComissaoModalAberto");
    hdnFlagComissaoModalAberto.value = "false";
}    

function CheckIgnorarKeyCode(keyCode) 
{
    var listaIgnorar = new Array(8, 9,13, 16, 17, 20, 27, 35,36,37, 38, 39, 40,46, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 144, 145);
    var flagIgnorar = false;
    for (var a = 0; a < listaIgnorar.length; a++) 
    {
        if (keyCode == listaIgnorar[a]) 
        {
            flagIgnorar = true;
            break;
        }
    }
    return flagIgnorar;
}

function BlockEnter(e) 
{
    try 
    {
        
        var elemento = this.event.srcElement;
        if (this.event.keyCode == 13) 
        {
            if (!elemento.type) 
            {
                return false;
            }
            else 
            {
                if (elemento.type != "textarea") 
                {
                    return false;
                }
            }
        } 
    }
    catch (ex) 
    {
        srcEl = e.srcElement ? e.srcElement : e.target;
        if (e.keyCode == 13) 
        {
            if (!srcEl.type) 
            {
                return false;
            }
            else 
            {
                if (srcEl.type != "textarea") 
                {
                    return false;
                }
            }
        }
    }

}

//#40/C
function FechaJanelaByEsc(e) 
{
    try 
    {
        var elemento = this.event.srcElement;
        if (this.event.keyCode == 27) 
        {
            window.close();
        } 
    }
    catch (ex) 
    {
        srcEl = e.srcElement ? e.srcElement : e.target;
        if (e.keyCode == 27) 
        {
            window.close();
        }
    }
}

function Trim(valor) 
{
    if (valor.length < 1) 
    {
        return "";
    }
    valor = RTrim(valor);
    valor = LTrim(valor);
    return valor;
}

function RTrim(valor) 
{
    var w_space = String.fromCharCode(32);
    var v_length = valor.length;
    var strTemp = "";
    if (v_length < 0) 
    {
        return "";
    }
    var iTemp = v_length - 1;
    while (iTemp > -1) 
    {
        if (valor.charAt(iTemp) == w_space) 
        {
        }
        else 
        {
            strTemp = valor.substring(0, iTemp + 1);
            break;
        }
        iTemp = iTemp - 1;
    }
    return strTemp;
}

function LTrim(valor) 
{
    var w_space = String.fromCharCode(32);
    if (v_length < 1) 
    {
        return "";
    }
    var v_length = valor.length;
    var strTemp = "";
    var iTemp = 0;
    while (iTemp < v_length) 
    {
        if (valor.charAt(iTemp) == w_space) 
        {
        }
        else 
        {
            strTemp = valor.substring(iTemp, v_length);
            break;
        }
        iTemp = iTemp + 1;
    }
    return strTemp;
}

function LCase(valor) 
{
    return valor.toString().toLowerCase();
}

function UCase(valor) 
{
    return valor.toString().toUpperCase();
}

function Len(Expression) 
{
    return Expression.toString().length;
}

function Left(varStr, varLength) 
{
    if (varLength < 0) 
    {
        return "";
    }
    return varStr.substring(0, varLength);
}

function Right(varStr, varLength) 
{
    if (varLength < 0) 
    {
        return "";
    }
    return varStr.substring(Len(varStr) - varLength, Len(varStr));
}

function Mid(varStr, varStart, varLength) 
{
    if ((varLength < 1) || (varStr < 0)) 
    {
        return "";
    }
    return varStr.substring(varStart, varStart + varLength);
}

function InStr(Start, String1, String2, Compare) 
{
    if (Start < 1) 
    {
        alert("Invalid Start argument\n\nInStr function"); return "";
    }
    if (Start > Len(String1)) return 0;
    if (Len(String2) == 0) return Start;
    if (Compare == 1) 
    {
        String1 = LCase(String1);
        String2 = LCase(String2);
    }
    if (Start > 1) 
    {
        var index = Right(String1, Len(String1) - Start + 1).indexOf(String2)
        if (index == -1) 
        {
            return 0;
        }
        else 
        {
            return index + Start;
        }
    }
    else 
    {
        return String1.indexOf(String2) + 1
    }
}

function InStrRev(StringCheck, StringMatch, Start, Compare) 
{
    if (Start == 0 || Start < -1) 
    {
        alert("Invalid Start argument\n\nInStrRev function"); return "";
    }
    if (Len(StringMatch) == 0) return Start;
    if (Compare == 1) 
    {
        StringCheck = LCase(StringCheck);
        StringMatch = LCase(StringMatch);
    }
    if (Start > 1) 
    {
        return Left(StringCheck, Start).lastIndexOf(StringMatch) + 1;
    }
    else 
    {
        return StringCheck.lastIndexOf(StringMatch) + 1;
    }
}

function FocoMouseBreadCrumpAnterior(idLinkVoltarPara, idLinkTitulo, estilo, tipoVisibilidadeVoltarPara) 
{
    var linkVoltarPara = document.getElementById(idLinkVoltarPara);
    var linkTitulo = document.getElementById(idLinkTitulo);
    if (linkVoltarPara) 
    {
        linkVoltarPara.className = estilo;
        linkVoltarPara.style.visibility = tipoVisibilidadeVoltarPara;
        linkTitulo.className = estilo;
    }
}

function AplicarFocoGrid(vsgCalculos, linha, hdnFoco, flagZebrado) 
{
    var objFoco = document.getElementById(hdnFoco);
    if (objFoco) 
    {
        if (parseInt(objFoco.value, 10) == parseInt(linha, 10)) 
        {
            __doPostBack('__Page', 'RotinaAlterarByFoco');
        }
        else 
        {
            objFoco.value = linha;
        }
    }
    var tabela = document.getElementById(vsgCalculos);
    if (tabela) 
    {
        for (var a = 1; a < tabela.rows.length; a++) 
        {
            var classeCss = "linha1";
            if (flagZebrado) 
            {
                if ((a % 2) == 0) 
                {
                    classeCss = "linha2";
                }
            }
            tabela.rows[a].className = classeCss;
        }
        if(tabela.rows[linha + 1])
        { 
            tabela.rows[linha + 1].className = 'linhaSelecionada';
        }        
    }
}

function FocoMouseOver(linha, flagStrikeOut) 
{
    var complemento = "";
    if (flagStrikeOut === undefined) 
    {
        flagStrikeOut = false;
    }
    if (flagStrikeOut) 
    {
        complemento = " line-through";
    }
    linha.style.textDecoration = 'underline' + complemento;
    linha.style.cursor = "pointer";
}

function FocoMouseOut(linha, flagStrikeOut) 
{
    var complemento = "none";
    if (flagStrikeOut === undefined) 
    {
        complemento = "none";
    }
    if (flagStrikeOut) 
    {
        complemento = "line-through";
    }
    linha.style.textDecoration = complemento;
}

function ResizeDivAreaUtil() 
{
    var divAreaUtil = document.getElementById("divAreaUtil");
    if (divAreaUtil) 
    {
        var windowHeight;
        if (document.body.parentNode.clientHeight) 
        {
            windowHeight = document.body.parentNode.clientHeight;
        }
        else 
        {
            windowHeight = window.innerHeight;
        }
        var novoHeight = windowHeight - 250;
        if (novoHeight > 0) 
        {
            divAreaUtil.style.minHeight = novoHeight + 'px';
        }
    }
}

function GetTime() 
{
    var varData = new Date();
    return varData.getTime();
}

function GetTextoAguardando() 
{
    return "<table WIDTH='100%' HEIGHT='100%' BGCOLOR='#FFFFFA'><tr><td ALIGN='center' VALIGN='MIDDLE' CLASS='text_form'>"+ GetMensagem(184) +"</td></tr></table>";
}

function LibCreateRequestObject() 
{
    var request_o;
    if (navigator.appName == "Microsoft Internet Explorer") 
    {
        request_o = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else 
    {
        request_o = new XMLHttpRequest();
    }
    return request_o;
}

function SelecionarItem(obj, nomeObj) 
{
    var celulas = document.getElementsByTagName("td");
    for (var a = 0; a < celulas.length; a++) 
    {
        if (celulas[a].id.indexOf(nomeObj) >= 0) 
        {
            celulas[a].style.backgroundColor = '#ffffff';
        }
    }
    //#38/C/120MX
    //obj.style.backgroundColor = '#e8e8e8';
    if(obj)
    {
        obj.style.backgroundColor = '#e8e8e8';
    }
}

function SelecionarLinha(objTabela, linha) 
{
    if (objTabela) 
    {
        var corSelecao = '#F5F5F5'; //'#FAE3C3';
        for (var a = 1; a < objTabela.rows.length; a++) 
        {
            objTabela.rows[a].style.backgroundColor = '#ffffff';
        }
        if (objTabela.rows[linha]) 
        {
            objTabela.rows[linha].style.backgroundColor = corSelecao;
        }
    }
}

function ValidarCampoVazio(valor, lblControle) 
{
    var flagValido = true;
    if (valor == "") 
    {
        flagValido = false;
    }
    document.getElementById(lblControle).style.color = GetCorValidacao(flagValido);
    return flagValido;
}

function ValidarNumeroMaiorZero(valor, lblControle) 
{
    var flagValido = true;
    if (valor == "") 
    {
        flagValido = false;
    }
    else 
    {
        if (isNaN(valor)) 
        {
            flagValido = false;
        }
        else 
        {
            //if (parseInt(valor, 10) <= 0) {
            if (parseFloat(valor) <= 0)
            {
                flagValido = false;
            }
        }
    }
    document.getElementById(lblControle).style.color = GetCorValidacao(flagValido);
    return flagValido;
}

function ValidarNumero(valor, lblControle) 
{
    var flagValido = true;
    if (valor == "") 
    {
        flagValido = false;
    }
    else 
    {
        if (isNaN(valor)) 
        {
            flagValido = false;
        }
    }
    document.getElementById(lblControle).style.color = GetCorValidacao(flagValido);
    return flagValido;
}

function ValidarCombobox(valor, lblControle) 
{
    if (!document.getElementById(lblControle)) 
    {
        lblControle = "ctl00_ContentPlaceHolder1_" + lblControle;
    }
    var flagValido = (valor > 0);
    document.getElementById(lblControle).style.color = GetCorValidacao(flagValido);
    return flagValido;
}

function GetCorValidacao(flagValido) 
{
    var cor = "#5a5a5a";
    if (!flagValido) 
    {
        cor = "#FF0000";
    }
    return cor;
}

function ValidarCaixaTexto(valor, lblControle, flagNumero, flagNumeroMaiorZero) 
{
    if (!document.getElementById(lblControle)) 
    {
        lblControle = "ctl00_ContentPlaceHolder1_" + lblControle;
    }
    if (flagNumero) 
    {
        if (flagNumeroMaiorZero) 
        {
            return ValidarNumeroMaiorZero(valor, lblControle);
        }
        else 
        {
            return ValidarNumero(valor, lblControle);
        }
    }
    else 
    {
        return ValidarCampoVazio(valor, lblControle);
    }
}

function LimparCorLinhas(objTabela) 
{
    for (var a = 1; a < objTabela.rows.length; a++) 
    {
        objTabela.rows[a].style.backgroundColor = '#ffffff';
    }
}

function TratarCampoNumericoVazio(nomeObj) 
{
    var valorCampo = 0;
    var txtCampo = document.getElementById(nomeObj);
    if (txtCampo) 
    {
        if (IsNumeric(txtCampo.value)) 
        {
            valorCampo = parseInt(txtCampo.value, 10);
        }
        txtCampo.value = valorCampo;
    }
}

function SetMarcarFoco(idControleFoco, idControleHidden) 
{
    document.getElementById(idControleHidden).value = idControleFoco;
}

function ClearOptions(cbo) 
{
    cbo.innerHTML = "";
    return cbo;
}

function AddOptions(cbo, text, value) 
{
    var newOption = new Option(text, value);
    var optsLen = cbo.options.length;
    cbo.options[optsLen] = newOption;
}

function IsNumeric(sText) 
{
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;
    for (a = 0; a < sText.length && IsNumber == true; a++) 
    {
        Char = sText.charAt(a);
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }
    if (sText.length == 0) 
    {
        IsNumber = false;
    }
    return IsNumber;
}

function LibSetNumTxt(valor, casasDecimais) 
{
//#35/L/fat230
////    if ((valor.indexOf(",") >= 0) && (valor.indexOf(".") >= 0))
////    {
////        valor = LibDesformatarValor(valor);
////    }

//    var coef = Math.pow(10, casasDecimais);
//    valor = valor + "";
//    if ((valor.indexOf(",") >= 0) ||(valor.indexOf(".") >= 0))
//    {
//        valor = LibDesformatarValor(valor);
//    }
//    valor = (Math.round(valor * coef) / coef);
    if ('' + casasDecimais == "-1") 
    {
        return "0,00";
    }
    var coef = Math.pow(10, casasDecimais);
    valor = valor + "";
    var flagNumNegativo = (valor.indexOf("-") == 0)
    valor = valor.replace("-", "");
    var flagNumeroMenorQueUm = (valor.indexOf("0") == 0)
    if (((valor.indexOf(",") >= 0) || (valor.indexOf(".") >= 0)) && !flagNumeroMenorQueUm)
    {
        valor = LibDesformatarValor(valor);
    }
    if (!flagNumeroMenorQueUm)
    {
        valor = valor + "";
    }
    valor = (Math.round(valor.replace(",", ".") * coef) / coef);
    
    var a;
    var valorTmp = valor + "";
    //casas decimais
    if (valorTmp.indexOf(".") >= 0) 
    {
        valorTmp = valorTmp.replace(".", ",");
    }
    else 
    {
        valorTmp = valorTmp + ",00";
    }
    var numeroSplit = valorTmp.split(",");
    for (a = 1; a <= casasDecimais; a++) 
    {
        numeroSplit[1] = numeroSplit[1] + "0";
    }
    numeroSplit[1] = numeroSplit[1].substring(0, casasDecimais);

    //parte inteira
    var conteudo = "";
    var contador = 0;
    for (a = numeroSplit[0].length; a != 0; a--) 
    {
        contador++;
        if (contador == 4) 
        {
            contador = 1;
            conteudo = "." + conteudo;
        }
        conteudo = numeroSplit[0].substring(a - 1, a) + conteudo;
    }
    if (conteudo == "") 
    {
        conteudo = "0";
    }
    if (!IsNumeric(conteudo)) 
    {
        conteudo = "0";
    }
    //valorTmp = conteudo + "," + numeroSplit[1];
    if (numeroSplit[1] != "") 
    {
        valorTmp = conteudo + "," + numeroSplit[1];
    }
    else 
    {
        valorTmp = conteudo;
    }
    if (flagNumNegativo)
    {
        valorTmp = "-" + valorTmp;
    }
    return valorTmp;
}

//#37/L
//function LibDesformatarValor(numero) 
//{
//    numero = numero + "";
//    for (var a = 1; a <= 5; a++) 
//    {
//        numero = numero.replace(".", "");
//        numero = numero.replace(" ", "");
//        numero = numero.replace("R$", "");
//    }
//    numero = numero.replace(",", ".");
//    if (numero == "")
//    {
//        numero = 0;
//    }
//    return parseFloat(numero);
//}
function LibDesformatarValor(numero) 
{
    var cont = 0;
    numero = numero + "";
    //identificando quantos digitos até o ponto.
    for (var a = numero.length - 1; a >= 1; a--) 
    {
       if (numero.substring(a,(a+1)) != ",")
       {
            if (numero.substring(a,(a+1)) != ".")
            {
                cont += 1;
            } 
            else
            {
                break;
            }
       } 
       else
       {
            cont = 0;
            break;
       }
    }
    //se existir um ponto e a qutde de digitos após ele for diferente de 3, significa que o ponto foi digitado incorretamente e deverá ser substituído por vírgula.
    if (cont > 0 && cont != 3)
    {
        numero = numero.replace(".", ",");
    }
    //retirando todas as ocorrencias encontradas na string com os textos abaixo ('.',' ','R$')
    numero = numero.replace(/\./gi, "");
    numero = numero.replace(/ /gi, "");
    numero = numero.replace(/R$/gi, "");

    numero = numero.replace(",", ".");
    if (numero == "")
    {
        numero = 0;
    }
    return parseFloat(numero);
}


function FormatarCaixaTexto(txt, casasDecimais) 
{
    txt.value = LibSetNumTxt(LibDesformatarValor(txt.value), casasDecimais);
}

function LibConsistirEmail(varEmail) 
{
    var a, posPonto, posArroba, contChar, varEmailSplit, b;
    varEmail.replace(",", ";");
    varEmailSplit = varEmail.split(";");
    for (a = 0; a < varEmailSplit.length; a++) 
    {
        posPonto = 0;
        posArroba = 0;
        if (varEmailSplit[a] == "") 
        {
            if (a > 0) 
            {
                return true;
            }
        }
        if (Left(varEmailSplit[a], 1) == "@") 
        {
            return false;
        }
        if (Right(varEmailSplit[a], 1) == "@" || Right(varEmailSplit[a], 1) == ".") 
        {
            return false;
        }
        for (b = 1; b < varEmailSplit[a].length; b++) 
        {
            if (Mid(varEmailSplit[a], b, 1) == "@") 
            {
                posArroba = b;
            }
        }
        for (b = posArroba + 1; b < varEmailSplit[a].length; b++) 
        {
            if (Mid(varEmailSplit[a], b, 1) == ".") 
            {
                posPonto = b;
            }
        }
        if (posPonto == 0 || posArroba == 0) 
        {
            return false;
        }
        if (posPonto == (posArroba + 1)) 
        {
            return false;
        }
        if (posPonto == varEmailSplit.length) 
        {
            return false;
        }
        contChar = 0;
        for (b = 0; b < varEmailSplit[a].length; b++) 
        {
            if (Mid(varEmailSplit[a], b, 1) == ".") 
            {
                break;
            }
            contChar++;
        }
        if (contChar < 1) 
        {
            return false;
        }
    }
    return true;
}

//#39/L
//function LibConsisteNum(codigo, event) 
//{
//    var flag = false;
//    if (((codigo >= 48) && (codigo <= 58)) || ((codigo >= 96) && (codigo <= 105)) ) 
//    
//    {
//        flag = true;
//    }
//    else if ((codigo == 8) || (codigo == 9) || (codigo == 16) || (codigo == 17) || (codigo == 18) || (codigo == 37) || (codigo == 38) || (codigo == 39) || (codigo == 40) || (codigo == 46) || (codigo == 35) || (codigo == 36) || (codigo == 110) || (codigo == 188 ) || (codigo == 190) || (codigo == 194) ) 
//    {
//        flag = true;
//    }
//    else 
//    {
//        return false;
//    }
//    if (event.ctrlKey) 
//    {

//    	if (event.ctrlKey && codigo == 86) 
//        {
//            flag = true;
//        }
//    }
//    return flag;
//}
function LibConsisteNum(codigo, event, flagPermitirNumerosNegativos) 
{
/* LIsta de Códigos (Manter Atualizada)
8 - backspace
9 - tab
16 - shift
17 - ctrl
18 - alt
35 - end
36 - home
37 - left arrow
38 - up arrow
39 - right arrow
40 - down arrow
46 - delete
48 a 57 - numéricos (0 - 9) - teclado Alfanumérico
86 - Letra 'V' (utilizado para o caso do ctrl + v)
96 a 105 - numéricos(0 - 9) - teclado numérico
109 - subtract ('-')
110 - decimal point ('.')
188 - comma (',')
190 - period ('.') - ponto do teclado Alfanumérico
194 - period ('.') - ponto do teclado numérico

OBS: fonte: http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/javascript-char-codes-key-codes.aspx
*/
    var flag = false;
    if (((codigo >= 48) && (codigo <= 57)) || ((codigo >= 96) && (codigo <= 105)) ) 
    {
        flag = true;
    }
    else 
    {
        var listaCodPermitidos = '8|9|16|17|18|35|36|37|38|39|40|46|110|188|190|194';
        if (flagPermitirNumerosNegativos == undefined)
        {
            flagPermitirNumerosNegativos = false;
        }
        if (flagPermitirNumerosNegativos)
        {
            listaCodPermitidos += '|109';
        }
        var arrListaPermicao = listaCodPermitidos.split('|');
        for (a = 0; a < arrListaPermicao.length; a++)
        {
            if (codigo == arrListaPermicao[a])
            {
                flag = true;
                break;
            }
        } 
    }
    if (!flag)
    {
        if (event.ctrlKey) 
        {

    	    if (event.ctrlKey && codigo == 86) 
            {
                flag = true;
            }
        }
    }
    return flag;
}

function LibConsisteSomenteNum(codigo, event) 
{
    var flag = false;
    if ((codigo >= 48) && (codigo <= 57)) 
    {
        flag = true;
    }
    else if ((codigo == 8) || (codigo == 9) || (codigo == 16) || (codigo == 17) || (codigo == 18)) 
    {
        flag = true;
    }
    else 
    {
        return false;
    }
    if (event.ctrlKey) 
    {
        if (event.ctrlKey && codigo == 86) 
        {
            flag = true;
        }
    }
    return flag;
}

//#35/C/5147
//function FormatarCnpjCpf(txtCnpjCpf) 
function FormatarCnpjCpf(txtCnpjCpf,flagAlertErro)

{
    if (txtCnpjCpf.value != "") 
    {
        var numero = "";
        //se cpf
        if (IsCpf(txtCnpjCpf.value)) 
        {
            numero = FormatCpfCnpj(txtCnpjCpf.value, true, false);
        }
        //se cnpj
        if (IsCnpj(txtCnpjCpf.value)) 
        {
            numero = FormatCpfCnpj(txtCnpjCpf.value, true, true);
        }
        if (numero == "") 
        {
            //alert("Número de CNPJ ou CPF é inválido");
            //txtCnpjCpf.focus();
            //txtCnpjCpf.select();
        
            //#36/P
            ////#35/C/5147
            //if(flagAlertErro.toLowerCase() == 'true')
            if(flagAlertErro.toString().toLowerCase() == 'true')
            {
                alert(GetMensagem(148));
                txtCnpjCpf.focus();
                txtCnpjCpf.select();
            }
        }
        else
        {
            txtCnpjCpf.value = numero;
        }
        
    }
}

function CarregarImagem(pathImg) 
{
    if (document.images) 
    {
        if (!document.matriz) 
        {
            document.matriz = new Array();
        }
        var j = document.matriz.length;
        document.matriz[j] = new Image;
        document.matriz[j++].src = pathImg;
    }
}

function FocoPosterior(evento, idObjAtual, numCaracAtual, idObjPosterior) 
{
    var objAtual = document.getElementById(idObjAtual);
    var objPosterior = document.getElementById(idObjPosterior);
    if (objAtual) 
    {
        if (objPosterior) 
        {
            var letters = objAtual.value.length + 1;
            if ((evento.keyCode != 9) && (evento.keyCode != 16)) 
            {
                if (letters <= numCaracAtual) 
                {
                    objAtual.focus();
                }
                else 
                {
                    if (objPosterior.style.display != "none") 
                    {
                        if (objPosterior.parentElement.style.display != "none") 
                        {
                            objPosterior.focus();
                            objPosterior.select();
                        }
                    }
                }
            }
        }
    }
}

function IsDate(Expression) 
{
    //#31/O (dava erro se data = 25/07/2011)
    //var test = new Date(Date.parse(Expression));
    //if((isNaN(test.getFullYear())))
    //{
    //    return false;   
    //}
    
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = Expression.match(datePat); // is the format ok?
    if (matchArray == null)
    {
        return false;
    }
    day = matchArray[1];
    month = matchArray[3]; // p@rse date into variables
    year = matchArray[5];
    if (month < 1 || month > 12)
    {
        return false;
    }
    if (day < 1 || day > 31)
    {
        return false;
    }
    if ((month==4 || month==6 || month==9 || month==11) && day==31)
    {
        return false;
    }
    if (month == 2)
    { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap))
        {
            return false;
        }
    }
    return true; // date is valid
        
}

function FormatarData(varData, textoDefault) 
{
    varData.value = DesformataData(varData.value);
    var listaData;
    var dia = '00';
    var mes = '00';
    var ano = '2';
    var camposNumericos = "";
    for (var a = 0; a < varData.value.length; a++) 
    {
        var campo = varData.value.substring(a, a + 1);
        if ((campo == "1") || (campo == "2") || (campo == "3") || (campo == "4") || (campo == "5") || (campo == "6") || (campo == "7") || (campo == "8") || (campo == "9") || (campo == "0") || (campo == "/")) 
        {
            camposNumericos = camposNumericos + campo;
        }
    }
    if (camposNumericos.indexOf("/") <= 0 || camposNumericos.indexOf("-") <= 0) 
    {
        if (IsNumeric(camposNumericos)) 
        {
            if (camposNumericos.length == 6) 
            {
                camposNumericos = Left(camposNumericos, 2) + "/" + Mid(camposNumericos, 2, 2) + "/" + Right(camposNumericos, 2);
            }
            else 
            {
                if (camposNumericos.length == 8) 
                {
                    camposNumericos = Left(camposNumericos, 2) + "/" + Mid(camposNumericos, 2, 2) + "/" + Right(camposNumericos, 4);
                }
            }
        }
    }

    listaData = camposNumericos.split("/");
    if ((listaData.length == 0) || (listaData.length == 1)) 
    {
        varData.value = textoDefault;
        return false;
    }
    if (listaData.length == 2) 
    {
        var dataAtual = new Date();
        dia = dia + listaData[0];
        dia = dia.substring(dia.length - 2, dia.length);
        mes = mes + listaData[1];
        mes = mes.substring(mes.length - 2, mes.length);
        ano = dataAtual.getFullYear();
    }
    if (listaData.length == 3) 
    {
        dia = dia + listaData[0];
        dia = dia.substring(dia.length - 2, dia.length);
        mes = mes + listaData[1];
        mes = mes.substring(mes.length - 2, mes.length);
        if (listaData[2].length == 1) 
        {
            ano = "200" + listaData[2];
        }
        if (listaData[2].length == 2) 
        {
            ano = "20" + listaData[2];
        }
        if (listaData[2].length == 3) 
        {
            ano = "2" + listaData[2];
        }
        if (listaData[2].length == 4) 
        {
            ano = listaData[2];
        }
    }
    if ((parseInt(mes) == 1) || (parseInt(mes) == 3) || (parseInt(mes) == 5) || (parseInt(mes) == 7) || (parseInt(mes) == 8) || (parseInt(mes) == 10) || (parseInt(mes) == 12)) 
    {
        if (parseInt(dia) > 31) 
        {
            varData.value = textoDefault;
            return false;
        }
    }
    if ((parseInt(mes) == 4) || (parseInt(mes) == 6) || (parseInt(mes) == 9) || (parseInt(mes) == 11)) 
    {
        if (parseInt(dia) > 30) 
        {
            varData.value = textoDefault;
            return false;
        }
    }
    if (parseInt(mes) == 2) 
    {
        var divisao = parseInt(ano) / 4;
        if ((parseInt(dia) > 28) && (divisao != Math.round(divisao))) 
        {
            varData.value = textoDefault;
            return false;
        }
    }
    if ((parseInt(ano) < 1900) || (parseInt(ano) > 2100)) 
    {
        varData.value = textoDefault;
        return false;
    }
    if ((mes != '01') && (mes != '02') && (mes != '03') & (mes != '04') & (mes != '05') & (mes != '06') & (mes != '07') & (mes != '08') & (mes != '09')) 
    {
        if ((parseInt(mes) > 12 || parseInt(mes) == 0)) 
        {
            varData.value = textoDefault;
            return false;
        }
    }
    if ((parseInt(dia, 10) < 1) || (parseInt(dia, 10) > 31)) 
    {
        varData.value = textoDefault;
        return false;
    }
    varData.value = FormataData(dia + '/' + mes + '/' + ano, 4);
}

function RotinaCollapsePanel() 
{
    if ($find("ctl00_ContentPlaceHolder1_CompoAcabamentos1_CollapsiblePanelExtender1")) 
    {
        $find("ctl00_ContentPlaceHolder1_CompoAcabamentos1_CollapsiblePanelExtender1")._doClose();
    }
}

function DoFocus(idObj) 
{
    try 
    {
        document.getElementById(idObj).focus();
        document.getElementById(idObj).select();
    }
    catch (ex) 
    {
        //alert(ex);
    }
}

function CheckSenhaForte(senhaT) 
{
    var mensErro = "";
    var senha = senhaT.toLowerCase();
    var contSequencia = 0, contRepeticoes = 0, contNaoNumeros = 0, contNumeros = 0;
    if (senha.length < 6 || senha.length > 10) 
    {
        mensErro = GetMensagem(185);
    }
    else 
    {
        for (var a = 0; a < senha.length; a++) 
        {
            if (a > 0) 
            {
                if (senha.charCodeAt(a) == (senha.charCodeAt(a - 1) + 1)) 
                {
                    contSequencia++;
                }
                else 
                {
                    if (contSequencia == 1) 
                    {
                        contSequencia = 0;
                    }
                }
                if (Mid(senha, a, 1) == Mid(senha, a - 1, 1)) 
                {
                    contRepeticoes++;
                }
                else 
                {
                    if (contRepeticoes == 1) 
                    {
                        contRepeticoes = 0;
                    }
                }
            }
            if (IsNumeric(Mid(senha, a, 1))) 
            {
                contNumeros++;
            }
            else 
            {
                contNaoNumeros++;
            }
        }
        if (contSequencia > 1) 
        {
            mensErro = GetMensagem(186);
        }
        else 
        {
            if (contRepeticoes > 1) 
            {
                mensErro = GetMensagem(187);
            }
            else 
            {
                if (contNumeros == 0 || contNaoNumeros == 0) 
                {
                    mensErro = GetMensagem(188);
                }
                else 
                {
                    mensErro = "";
                }
            }
        }
    }
    return mensErro;
}

function SetMaskTelefone(texto) 
{
    var textoMask = "";
    if (texto != "") 
    {
        if (IsNumeric(texto)) {
            switch (texto.length) {
                case 6:
                    textoMask = texto.substring(0, 2) + "-" + texto.substring(2, 6);
                    break;
                case 7:
                    textoMask = texto.substring(0, 3) + "-" + texto.substring(3, 7);
                    break;
                case 8:
                    textoMask = texto.substring(0, 4) + "-" + texto.substring(4, 8);
                    break;
                case 9:
                    textoMask = texto.substring(0, 2) + " " + texto.substring(2, 5) + "-" + texto.substring(5, 9);
                    break;                
                case 10:
                    textoMask = texto.substring(0, 2) + " " + texto.substring(2, 6) + "-" + texto.substring(6, 10);
                    break;
                default:
                    textoMask = texto;                    
            }
        }
        else 
        {
            textoMask = texto;        
        }

    }
    if (textoMask == "0") 
    {
        textoMask = "";
    }
    return textoMask;

}

function GetInnerText(objInnerText) 
{
    var conteudo = "";
    if (objInnerText) 
    {
        if (document.all) 
        {
            conteudo = objInnerText.innerText;
        }
        else 
        {
            conteudo = objInnerText.textContent;
        }
    }
    return conteudo;
}

function SetInnerText(objInnerText, conteudo) 
{
    if (objInnerText) 
    {
        if (document.all) 
        {
            objInnerText.innerText = conteudo;
        }
        else 
        {
            objInnerText.textContent = conteudo;
        }
    }
}

function PesquisaString(strPesquisar, strPesquisado) 
{
    var retorno = true;
    var flagAspasAbertas = false, caracterNeutro = "|";
    for (var a = 0; a <= 4; a++) 
    {
        if (strPesquisar.indexOf(caracterNeutro) >= 0) 
        {
            break;
        }
        switch (a) 
        {
            case 0: caracterNeutro = "_"; break;
            case 1: caracterNeutro = "`"; break;
            case 2: caracterNeutro = "@"; break;
            case 3: caracterNeutro = "#"; break;
            case 4: caracterNeutro = String.fromCharCode(1); break;
        }
    }
    for (var a = 0; a < strPesquisar.length; a++) 
    {
        if (Mid(strPesquisar, a, 1) == String.fromCharCode(34)) 
        {
            strPesquisar = ReplaceAtPos(strPesquisar, a, " ");
            flagAspasAbertas = !flagAspasAbertas;
        }
        else 
        {
            if (flagAspasAbertas) 
            {
                if (Mid(strPesquisar, a, 1) == " ") 
                {
                    strPesquisar = ReplaceAtPos(strPesquisar, a, caracterNeutro);
                }
            }
        }
    }
    var lista = strPesquisar.split(" ");
    for (var a = 0; a < lista.length; a++) 
    {
        lista[a] = lista[a].replace(caracterNeutro, " ");
    }
    for (var a = 0; a < lista.length; a++) 
    {
        var flag = true;
        if (strPesquisado != "") 
        {
            var texto1 = strPesquisado.toLowerCase();
            var texto2 = lista[a].toLowerCase();
            flag = (texto1.indexOf(texto2) < 0);
        }
        if (flag) 
        {
            retorno = false;
            break;
        }
    }
    return retorno;
}

function ReplaceAtPos(texto, posicao, novoChar) 
{
    var retorno = "";
    for (var a = 0; a < posicao; a++) 
    {
        retorno += Mid(texto, a, 1);
    }
    retorno += novoChar;
    retorno += Mid(texto, posicao + 1, (texto.length - posicao - 1));
    return retorno;
}

function FiltrarTextoGrid(textoPesquisa, nomeTabela, colunaPesquisa, linhaIni) 
{
    if (linhaIni == undefined) 
    {
        linhaIni = 0;
    }
    var tabela = document.getElementById(nomeTabela);
    if (tabela) 
    {
        for (var a = linhaIni; a < tabela.rows.length; a++) 
        {
            var textoGrid = "";
            if (colunaPesquisa == -1) 
            {
                textoGrid = GetInnerText(tabela.rows[a]).toUpperCase();
            }
            else 
            {
                textoGrid = GetInnerText(tabela.rows[a].cells[colunaPesquisa]).toUpperCase();
            }
            var flag = PesquisaString(textoPesquisa, textoGrid);
            var estilo = "";
            if (!flag) 
            {
                estilo = "none";
            }
            for(var coluna = 0;coluna < tabela.rows[a].cells.length;coluna++)
            {
                tabela.rows[a].cells[coluna].style.display = estilo;
            }            
            tabela.rows[a].style.display = estilo;
        }
    }
}

function AbrirPopUpMaximizado(janela, id, complemento) 
{
    if (!complemento) 
    {
        complemento = "";
    }
    if (complemento != "") 
    {
        complemento = "," + complemento;
    }
    var varWidth = screen.availWidth - 5;
    var varHeight = screen.availHeight - 30;
    window.open(janela, id, 'left=0,top=0,width=' + varWidth + ',height=' + varHeight + ',scrollbars=yes,resisable=yes' + complemento);
}

function LibCheckUsuarioMesmoNome(nome, codAtual, senha) 
{
    var flagOk = true;
    var queryStrTabela = "";
    if (nome != "") 
    {
        var httpConsistencia = LibCreateRequestObject();
        var localizacao = location.href;
        var complementoEndAjax = "";
        if (localizacao.toLowerCase().indexOf("orcamento") < 0) 
        {
            complementoEndAjax = "orcamento/";
        }
        httpConsistencia.open('get', complementoEndAjax + 'ajax01.ashx?action=CheckUsuarioMesmoNome&nome=' + nome + '&codAtual=' + codAtual + '&senha=' + senha, false);
        httpConsistencia.onreadystatechange = function HandleConsistencia() 
        {
            if (httpConsistencia.readyState == 4) 
            {
                flagOk = (httpConsistencia.responseText.toUpperCase() == "TRUE");
            }
        };
        httpConsistencia.send(null);
    }
    return flagOk;
}

function LibCheckEmailUsuarioCadastrado(codAtual, email) 
{
    var flagOk = true;
    var queryStrTabela = "";
    var httpConsistencia = LibCreateRequestObject();
    var localizacao = location.href;
    //#35/C/4828
//    var complementoEndAjax = "";
//    if (localizacao.toLowerCase().indexOf("orcamento") < 0) 
//    {
//        complementoEndAjax = "orcamento/";
//    }
//    httpConsistencia.open('get', complementoEndAjax + 'ajax01.ashx?action=CheckUsuarioMesmaSenha&codAtual=' + codAtual + "&email=" + email, false);
    httpConsistencia.open('get', GetDiretorioRaiz() + 'cadastro/ajax01.ashx?action=CheckUsuarioMesmaSenha&codAtual=' + codAtual + "&email=" + email, false);

    if (document.all)
	{
		httpConsistencia.onreadystatechange = function HandleConsistencia() 
		{
			if (httpConsistencia.readyState == 4) 
			{
				flagOk = (httpConsistencia.responseText.toUpperCase() == "TRUE");
			}
		};
    }
    httpConsistencia.send(null);
    if (!document.all)
	{
		flagOk = (httpConsistencia.responseText.toUpperCase() == "TRUE");	
	}
    return flagOk;
}

function GetPosLeftAbsoluto(obj) 
{
    var retorno = 0;
    while (obj) 
    {
        retorno += obj.offsetLeft;
        obj = obj.offsetParent;
    }
    return retorno;
}

function GetPosTopAbsoluto(obj) 
{
    var retorno = 0;
    while (obj) 
    {
        retorno += obj.offsetTop;
        obj = obj.offsetParent;
    }
    return retorno;
}

function LibPermitirDigitarSomenteNumero(codigo, elemento, event) 
{
    if(event.which)
    {
        codigo =  parseInt(event.which);
    }
    var flag = false;
    if ((codigo >= 48) && (codigo <= 57)) 
    {
        flag = true;
    }
    else 
    {
        flag = false;
    }
    if (event.ctrlKey && codigo == 86)         
    {
        flag = true;
    }
    if (codigo == 86 || codigo == 0 || codigo == 8 || codigo == 37 || codigo == 39 || codigo == 9 || codigo == 35 || codigo == 36 || codigo == 46 || codigo == 45) 
    {
        flag = true;
    }
    return flag;
}

function LibFormatarCep(strCep) 
{
    if (strCep != "") 
    {
        while (strCep.indexOf("-") >= 0) //Remove todos os caracteres permitos e o que sobre da string for numerico continua
        {
            strCep = strCep.replace("-", "");
        }
        if (!IsNumeric(strCep)) 
        {
            strCep = "";
        }
        var cep = "00000000";
        strCep = cep + strCep;
        strCep = Right(strCep, 8)
        if (cep == strCep) 
        {
            strCep = "";
        }
        else 
        {
            strCep = Left(strCep, 5) + "-" + Right(strCep, 3)
        }
    }
    return strCep;
}

function ExibeColunaMarcadaCompoOrganizeFiltro(idComponente, qtdChk) 
{
    for (a = 0; a < qtdChk; a++) 
    {
        if (document.getElementById(idComponente + "_chkModulo|" + a)) 
        {
            var objChk = document.getElementById(idComponente + "_chkModulo|" + a);
            var exibir = "";
            if (!objChk.checked) 
            {
                exibir = "none";
            }
            document.getElementById(idComponente + "_panel|" + a).style.display = exibir;
        }
    }
}

function LibCheckCaracterTelefone(codigo, elemento, event) 
{
    var flag = false;
    if (((codigo >= 48) && (codigo <= 58)) || (codigo == 40 && elemento.value.indexOf("(") == -1) || (codigo == 41 && elemento.value.indexOf(")") == -1) || (codigo == 45 && elemento.value.indexOf("-") == -1)) 
    {
        flag = true;
    }
    else 
    {
        flag = false;
    }
    if (event.ctrlKey && codigo == 86) 
    {
        flag = true;
    }
    return flag;
}

function LibEncodeCharEspecial(texto) 
{
    var retorno = texto;
    retorno = retorno.replace("À", "&Agrave;");
    retorno = retorno.replace("Á", "&Aacute;");
    retorno = retorno.replace("Â", "&Acirc;");
    retorno = retorno.replace("Ã", "&Atilde;");
    retorno = retorno.replace("Ä", "&Auml;");
    retorno = retorno.replace("Ç", "&Ccedil;");
    retorno = retorno.replace("È", "&Egrave;");
    retorno = retorno.replace("É", "&Eacute;");
    retorno = retorno.replace("Ê", "&Ecirc;");
    retorno = retorno.replace("Ë", "&Euml;");
    retorno = retorno.replace("Ì", "&Igrave;");
    retorno = retorno.replace("Í", "&Iacute;");
    retorno = retorno.replace("Î", "&Icirc;");
    retorno = retorno.replace("Ï", "&Iuml;");
    retorno = retorno.replace("Ñ", "&Ntilde;");
    retorno = retorno.replace("Ò", "&Ograve;");
    retorno = retorno.replace("Ó", "&Oacute;");
    retorno = retorno.replace("Ô", "&Ocirc;");
    retorno = retorno.replace("Õ", "&Otilde;");
    retorno = retorno.replace("Ö", "&Ouml;");
    retorno = retorno.replace("Ù", "&Ugrave;");
    retorno = retorno.replace("Ú", "&Uacute;");
    retorno = retorno.replace("Û", "&Ucirc;");
    retorno = retorno.replace("Ü", "&Uuml;");
    retorno = retorno.replace("à", "&agrave;");
    retorno = retorno.replace("á", "&aacute;");
    retorno = retorno.replace("â", "&acirc;");
    retorno = retorno.replace("ã", "&atilde;");
    retorno = retorno.replace("ä", "&auml;");
    retorno = retorno.replace("ç", "&ccedil;");
    retorno = retorno.replace("è", "&egrave;");
    retorno = retorno.replace("é", "&eacute;");
    retorno = retorno.replace("ê", "&ecirc;");
    retorno = retorno.replace("ë", "&euml;");
    retorno = retorno.replace("ì", "&igrave;");
    retorno = retorno.replace("í", "&iacute;");
    retorno = retorno.replace("î", "&icirc;");
    retorno = retorno.replace("ï", "&iuml;");
    retorno = retorno.replace("ñ", "&ntilde;");
    retorno = retorno.replace("ò", "&ograve;");
    retorno = retorno.replace("ó", "&oacute;");
    retorno = retorno.replace("ô", "&ocirc;");
    retorno = retorno.replace("õ", "&otilde;");
    retorno = retorno.replace("ö", "&ouml;");
    retorno = retorno.replace("ù", "&ugrave;");
    retorno = retorno.replace("ú", "&uacute;");
    retorno = retorno.replace("û", "&ucirc;");
    retorno = retorno.replace("ü", "&uuml;");
    retorno = retorno.replace("<", "&lt;");
    retorno = retorno.replace(">", "&gt;");
    return retorno;
}

function LibDecodeCharEspecial(texto) 
{
    var retorno = texto;
    retorno = retorno.replace("&Agrave;", "À");
    retorno = retorno.replace("&Aacute;", "Á");
    retorno = retorno.replace("&Acirc;", "Â");
    retorno = retorno.replace("&Atilde;", "Ã");
    retorno = retorno.replace("&Auml;", "Ä");
    retorno = retorno.replace("&Ccedil;", "Ç");
    retorno = retorno.replace("&Egrave;", "È");
    retorno = retorno.replace("&Eacute;", "É");
    retorno = retorno.replace("&Ecirc;", "Ê");
    retorno = retorno.replace("&Euml;", "Ë");
    retorno = retorno.replace("&Igrave;", "Ì");
    retorno = retorno.replace("&Iacute;", "Í");
    retorno = retorno.replace("&Icirc;", "Î");
    retorno = retorno.replace("&Iuml;", "Ï");
    retorno = retorno.replace("&Ntilde;", "Ñ");
    retorno = retorno.replace("&Ograve;", "Ò");
    retorno = retorno.replace("&Oacute;", "Ó");
    retorno = retorno.replace("&Ocirc;", "Ô");
    retorno = retorno.replace("&Otilde;", "Õ");
    retorno = retorno.replace("&Ouml;", "Ö");
    retorno = retorno.replace("&Ugrave;", "Ù");
    retorno = retorno.replace("&Uacute;", "Ú");
    retorno = retorno.replace("&Ucirc;", "Û");
    retorno = retorno.replace("&Uuml;", "Ü");
    retorno = retorno.replace("&agrave;", "à");
    retorno = retorno.replace("&aacute;", "á");
    retorno = retorno.replace("&acirc;", "â");
    retorno = retorno.replace("&atilde;", "ã");
    retorno = retorno.replace("&auml;", "ä");
    retorno = retorno.replace("&ccedil;", "ç");
    retorno = retorno.replace("&egrave;", "è");
    retorno = retorno.replace("&eacute;", "é");
    retorno = retorno.replace("&ecirc;", "ê");
    retorno = retorno.replace("&euml;", "ë");
    retorno = retorno.replace("&igrave;", "ì");
    retorno = retorno.replace("&iacute;", "í");
    retorno = retorno.replace("&icirc;", "î");
    retorno = retorno.replace("&iuml;", "ï");
    retorno = retorno.replace("&ntilde;", "ñ");
    retorno = retorno.replace("&ograve;", "ò");
    retorno = retorno.replace("&oacute;", "ó");
    retorno = retorno.replace("&ocirc;", "ô");
    retorno = retorno.replace("&otilde;", "õ");
    retorno = retorno.replace("&ouml;", "ö");
    retorno = retorno.replace("&ugrave;", "ù");
    retorno = retorno.replace("&uacute;", "ú");
    retorno = retorno.replace("&ucirc;", "û");
    retorno = retorno.replace("&uuml;", "ü");
    retorno = retorno.replace("&lt;", "<");
    retorno = retorno.replace("&gt;", ">");
    return retorno;
}

function HabilitaSalvar(btnSalvar, btnSalvar2)
{
    var objSalvar = document.getElementById(btnSalvar);
    if (objSalvar)
    {
        var img = objSalvar.src.replace("_disabled", "");
        objSalvar.src = img;
        objSalvar.onmouseout = function(){ objSalvar.src = img;};
        objSalvar.onmouseover = function(){ objSalvar.src = img.replace(".png", "2.png");};
        objSalvar.disabled = false;
        if (btnSalvar2 != "")
        {
            var objSalvar2 = document.getElementById(btnSalvar2);
            var img2 = objSalvar2.src.replace("_disabled", "");
            objSalvar2.src = img2;
            objSalvar2.onmouseout = function(){ objSalvar2.src = img2;};
            objSalvar2.onmouseover = function(){ objSalvar2.src = img2.replace(".png", "2.png");};
            objSalvar2.disabled = false;
        }
    }
}
function AbriPopUp(pathArquivo,nomeJanela,parametros) 
{
    try
    {
        var flagPopUpBloqueado = false;
        var detect = navigator.userAgent.toLowerCase();
        if (detect.indexOf("msie") >= 0 && pathArquivo == "about:blank") 
		{
		    pathArquivo = "";
		}
		if (pathArquivo != "") 
		{
			if (nomeJanela == undefined) 
			{
				nomeJanela = "myWindow";
			}
			if (parametros == undefined) 
			{
				parametros = "";
			}
			var janela = window.open(pathArquivo, nomeJanela, parametros);
			if (!janela) 
			{
				flagPopUpBloqueado = true;
			}			
			if(flagPopUpBloqueado)
			{
			    alert(GetMensagem(189)); 
			}
		}
	}
	catch(ex)
	{
	    return false;
	}
	return flagPopUpBloqueado;
}

function FechaPopUp(nomeJanela)
{
    try
    {
        var janela = window.open('about:blank', nomeJanela);
	    if (janela) 
	    {
		    janela.close();
	    }	
	}
	catch(ex)
	{}
}

function CheckExecuteCustomValidator(oSrc,idElemento) 
{
    var detect = navigator.userAgent.toLowerCase();
    if (detect.indexOf("safari") >= 0 )
    {
        return CheckExecuteCustomValidatorBySafari(oSrc,idElemento);//CR,SA
    }
    else 
    {
        return CheckExecuteCustomValidatorByIE(oSrc,idElemento);//IE,FF
    }   
}

function CheckExecuteCustomValidatorByIE(oSrc,idElemento) 
{
    //alert('entrou na function do IE/FF');
    var retorno = false;
    var nomeElemento = oSrc.ownerDocument.activeElement.id.toLowerCase();
    if(nomeElemento != "")
    {
        //#29/C
//        if (nomeElemento.indexOf(idElemento.toLowerCase()) >= 0) retorno = true;
//        else{
//            if (nomeElemento.indexOf("menu") >= 0) retorno = false;
//            if (nomeElemento.indexOf("implementacoes") >= 0) retorno = false;
//            if (nomeElemento.indexOf("breadcrump") >= 0) retorno = false;
//        }
        if (nomeElemento.indexOf(idElemento.toLowerCase()) >= 0) 
        {
            retorno = true;
        }
        
    }
    return retorno;
}

function CheckExecuteCustomValidatorBySafari(oSrc,idElemento) 
{
    var retorno = true;
    try
    {
        var nomeElemento = event.srcElement.id.toLowerCase();
        //alert('entrei no try e resgatei o nome do elemento = ' + nomeElemento);
    }
    catch(e)
    {
        var nomeElemento = oSrc.ownerDocument.activeElement.id.toLowerCase();
        retorno = true;
        //alert('entrei no catch e resgatei o nome do elemento = ' + nomeElemento);
    }
    //alert('nome do elemento = ' + nomeElemento + 'idElemento = ' +  idElemento);
    if(nomeElemento != "")
    {
        if (nomeElemento.indexOf(idElemento.toLowerCase()) >= 0) 
        {
            retorno = true;
        }
        else
        {
            retorno = false;
        }
    }    
//    //#30/O/fin88
//    else
//    {
//        retorno = false;
//        alert("2");
//    }

    return retorno;   
}

function OcultaExibeBtnIncluirObjCollapsible(idPanel, idBtn) 
{
    var displayBtnVisivel = "none";
    var flagPanelRetraido = CheckStateCollapsiblePanel(idPanel)
    if (flagPanelRetraido) 
    {
        $find(idPanel)._doClose();
        displayBtnVisivel = "";
    }
    else 
    { 
        $find(idPanel)._doOpen();
    }  
    if (document.getElementById(idBtn))
    {
        document.getElementById(idBtn).style.display = displayBtnVisivel;
    }
}


//Retorna true caso o painel esteja retraido
function CheckStateCollapsiblePanel(idPanel) 
{
    var flag = false;
    if (document.getElementById(idPanel + "_ClientState")) 
    {
        flag = (document.getElementById(idPanel + "_ClientState").value.toLowerCase() == "true");
    }
    return flag;
}

function SetMaxLength(keyCode, obj, tamanho)
{
	if (obj.value.length == tamanho)
	{
		if (!(keyCode == 8 || keyCode == 37 || keyCode == 39 || keyCode == 46 || keyCode == 9 || keyCode == 36 || keyCode == 35 || keyCode == 20))
		{
			return false;
		}
	}
	return true;
}

function OcultaExibeControleOnCollapse(idPanel, idControl, flagExibirControleAoRetrair) 
{
    var displayBtnVisivel
    var flagPanelRetraido = CheckStateCollapsiblePanel(idPanel)
    if (flagPanelRetraido) 
    {
        if (flagExibirControleAoRetrair)
        {
            displayBtnVisivel = "none";
        }
        else
        {
            displayBtnVisivel = "";
        }
    }
    else 
    { 
       if (flagExibirControleAoRetrair)
        {
            displayBtnVisivel = "";
        }
        else
        {
            displayBtnVisivel = "none";
        }
    }  
    if (document.getElementById(idControl))
    {
        document.getElementById(idControl).style.display = displayBtnVisivel;
    }
}

function GetEnderecoByCep(cep,idLogradouro, idBairro, idUf, idMunicipio) 
{
    if(cep != "")
    {
		var httpBuscaCep = LibCreateRequestObject();
		httpBuscaCep.open('get',GetDiretorioRaiz()+ 'orcamento/ajax01.ashx?action=LoadEnderecoByCep&cep=' + cep);
		httpBuscaCep.onreadystatechange = function HandleBuscaCep() 
		{
			if (httpBuscaCep.readyState == 4) 
			{
				var retorno = httpBuscaCep.responseText;
				//#38/C
//				if (retorno != "") 
//				{
//					var objLogradouro = document.getElementById(idLogradouro);
//					var objBairro = document.getElementById(idBairro);
//					var cboUf = document.getElementById(idUf);
//					var cboMunicipio = document.getElementById(idMunicipio);
//					var cidade = "";
//					var listaRetorno = retorno.split("|");
//					var nomeUf="";
//					for (var a = 0; a <=listaRetorno.length-1; a++) 
//					{
//						var resultado = listaRetorno[a].split("=");
//						switch (resultado[0]) 
//						{
//							case "Bairro":
//								if (objBairro) 
//								{
//									objBairro.value = resultado[1];
//								}
//								break;
//							case "Logradouro":
//								if (objLogradouro) 
//								{
//									objLogradouro.value = resultado[1];
//								}
//								break;
//							case "CodUfIbge":
//								if(cboUf)
//								{
//									for (var b = 0; a <=cboUf.length-1; b++) 
//									{
//										if(cboUf[b])
//										{
//										    if(resultado[1] == "" && nomeUf != "")
//										    {
//										        if(cboUf[b].text == nomeUf)
//										        {
//											        cboUf.options[b].selected = true;
//											        break;										        
//										        }
//										    }
//										    else
//										    {
//										        if(parseInt(cboUf[b].value) == parseInt(resultado[1]))
//										        {
//											        cboUf.options[b].selected = true;
//											        nomeUf = cboUf[b].text;
//											        break;
//										        }
//										    }
//										}
//										else
//										{
//										    break;
//										}
//									}
//								}
//								break;
//							case "UF":
//									nomeUf = resultado[1];
//								break;									
//							case "Cidade":
//									cidade = resultado[1];
//								break;
//						}
//					}
//					if(cboMunicipio)
//					{
//						GetListaMunicipio(cboMunicipio,nomeUf);
//						for (var a = 0; a <=cboMunicipio.length-1; a++) 
//						{
//							if(cboMunicipio[a].text.toUpperCase() == cidade.toUpperCase())
//							{
//								cboMunicipio.options[a].selected = true;
//								break;
//							}
//						}
//					}
//				}
                LoadEnderecoByRetornoAjax(cep,idLogradouro, idBairro, idUf, idMunicipio, retorno);
			}
		};
	    httpBuscaCep.send(null);
	}
}

function LoadEnderecoByRetornoAjax(cep,idLogradouro, idBairro, idUf, idMunicipio, retorno) 
{
    if (retorno != "") 
	{
		var objLogradouro = document.getElementById(idLogradouro);
		var objBairro = document.getElementById(idBairro);
		var cboUf = document.getElementById(idUf);
		var cboMunicipio = document.getElementById(idMunicipio);
		var cidade = "";
		var listaRetorno = retorno.split("|");
		var nomeUf="";
		for (var a = 0; a <=listaRetorno.length-1; a++) 
		{
			var resultado = listaRetorno[a].split("=");
			switch (resultado[0]) 
			{
				case "Bairro":
					if (objBairro) 
					{
						objBairro.value = resultado[1];
					}
					break;
				case "Logradouro":
					if (objLogradouro) 
					{
						objLogradouro.value = resultado[1];
					}
					break;
				case "CodUfIbge":
					if(cboUf)
					{
						for (var b = 0; a <=cboUf.length-1; b++) 
						{
							if(cboUf[b])
							{
							    if(resultado[1] == "" && nomeUf != "")
							    {
							        if(cboUf[b].text == nomeUf)
							        {
								        cboUf.options[b].selected = true;
								        break;										        
							        }
							    }
							    else
							    {
							        if(parseInt(cboUf[b].value) == parseInt(resultado[1]))
							        {
								        cboUf.options[b].selected = true;
								        nomeUf = cboUf[b].text;
								        break;
							        }
							    }
							}
							else
							{
							    break;
							}
						}
					}
					break;
				case "UF":
						nomeUf = resultado[1];
					break;									
				case "Cidade":
						cidade = resultado[1];
					break;
			}
		}
		if(cboMunicipio)
		{
			GetListaMunicipio(cboMunicipio,nomeUf);
			for (var a = 0; a <=cboMunicipio.length-1; a++) 
			{
				if(cboMunicipio[a].text.toUpperCase() == cidade.toUpperCase())
				{
					cboMunicipio.options[a].selected = true;
					break;
				}
			}
		}
	}
}

function GetListaMunicipio(combo,nomeUf)
{
	var httpBuscaMunicipio = LibCreateRequestObject();
	httpBuscaMunicipio.open('get',GetDiretorioRaiz() + 'orcamento/ajax01.ashx?action=GetListaMunicipioByUF&nomeUf=' + nomeUf,false);
	if (document.all)
    {
		httpBuscaMunicipio.onreadystatechange = function HandleBuscaMunicipio() 
		{
			if (httpBuscaMunicipio.readyState == 4) 
			{
				ManipulaComboMunicipio(httpBuscaMunicipio.responseText.split("|"),combo);
			}
		};
	}
	httpBuscaMunicipio.send(null);			
	if (!document.all)
	{
		ManipulaComboMunicipio(httpBuscaMunicipio.responseText.split("|"),combo);	
	}
}

function GetMunicipioByUf(cboUf,idMunicipio)
{
	if(cboUf)
	{
		var cboMunicipio = document.getElementById(idMunicipio);
		var nomeUf = cboUf[cboUf.options.selectedIndex].text;
		GetListaMunicipio(cboMunicipio,nomeUf);	
	}
}

function ManipulaComboMunicipio(listaRetorno,combo)
{	
	RemoveOptionsCombo(combo);
	for(var a=0;a<= listaRetorno.length-1; a++) 
	{
		var municipios = listaRetorno[a].split("=");
		//38/C
		if(municipios[1] == undefined)
		{
		    municipios[1] = ""
		}
		
		AddOptionCombo(combo,municipios[0],municipios[1]);
	}	
}

function RemoveOptionsCombo(combo)
{
	var a = 0;
	for(a=combo.options.length-1;a>=0;a--)
	{
		combo.remove(a);
	}
}

function AddOptionCombo(combo,valor,texto)
{
	var optn = document.createElement("OPTION");
	optn.text = texto;
	optn.value = valor;
	combo.options.add(optn);
}

function GeraCpfCnpjAutomatico(campo, tipo, pontuacao)
{
	var retorno = '';
	if(!tipo) tipo = 'cnpj';
	if(!pontuacao) pontuacao = false;
	if(tipo == 'cpf')
	{
		var n = 9;
        var n1 = randomiza(n);
        var n2 = randomiza(n);
        var n3 = randomiza(n);
        var n4 = randomiza(n);
        var n5 = randomiza(n);
        var n6 = randomiza(n);
        var n7 = randomiza(n);
        var n8 = randomiza(n);
        var n9 = randomiza(n);
        var d1 = n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
        d1 = 11 - ( mod(d1,11) );
        if (d1>=10)
        {
            d1 = 0;
        }
        var d2 = d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
        d2 = 11 - ( mod(d2,11) );
        if (d2>=10)
        {
            d2 = 0;
        }
        if (pontuacao) 
        {
            retorno = ''+n1+n2+n3+'.'+n4+n5+n6+'.'+n7+n8+n9+'-'+d1+d2;
        }
        else
        {
            retorno = ''+n1+n2+n3+n4+n5+n6+n7+n8+n9+d1+d2;
        }
	}
	else
	{
		var n = 9;
		var n1 = randomiza(n);
		var n2 = randomiza(n);
		var n3 = randomiza(n);
		var n4 = randomiza(n);
		var n5 = randomiza(n);
		var n6 = randomiza(n);
		var n7 = randomiza(n);
		var n8 = randomiza(n);
		var n9 = 0; //randomiza(n);
		var n10 = 0; //randomiza(n);
		var n11 = 0; //randomiza(n);
		var n12 = 1; //randomiza(n);
		var d1 = n12*2+n11*3+n10*4+n9*5+n8*6+n7*7+n6*8+n5*9+n4*2+n3*3+n2*4+n1*5;
		d1 = 11 - ( mod(d1,11) );
		if (d1>=10) 
		{
			d1 = 0;
		}
		var d2 = d1*2+n12*3+n11*4+n10*5+n9*6+n8*7+n7*8+n6*9+n5*2+n4*3+n3*4+n2*5+n1*6;
		d2 = 11 - ( mod(d2,11) );
		if (d2>=10) 
		{
			d2 = 0;
		}
		if (pontuacao) 
		{
			retorno = ''+n1+n2+'.'+n3+n4+n5+'.'+n6+n7+n8+'/'+n9+n10+n11+n12+'-'+d1+d2;
		}
		else
		{
			retorno = ''+n1+n2+n3+n4+n5+n6+n7+n8+n9+n10+n11+n12+d1+d2;
		}
	}
	
	if(campo)
	{
		document.getElementById(campo).value = retorno;
	}
}

function randomiza(n) 
{
    var ranNum = Math.round(Math.random()*n);
    return ranNum;
}

function mod(dividendo,divisor) 
{
    return Math.round(dividendo - (Math.floor(dividendo/divisor)*divisor));
}

function EnterTxtExecutaBotao(evento, idBotao)
{
    if (evento.keyCode == 13)
    {
        var botao = document.getElementById(idBotao);
        if(botao)
        {
            botao.click();
        }
        return false; 
    }       
}

function GetDataHoje()
{
    var now = new Date();
    var dia = '0' + now.getDate();
    var mes = '0' + (now.getMonth() +1);
    var ano = now.getFullYear();
	var varData = dia.substring(dia.length -2, dia.length) + '/';
    varData += mes.substring(mes.length -2, mes.length) + '/';
    varData += ano;
    return varData;
}

function DateDiff(dataIni,dataFim)
{
    dataIni = dataIni.split("/");
    dataFim = dataFim.split("/");
    var dataIniInteger = new Date(dataIni[1]+"/"+dataIni[0]+"/"+dataIni[2]);
    var dataFimInteger = new Date(dataFim[1]+"/"+dataFim[0]+"/"+dataFim[2]);
    var diferenca = Math.round((dataFimInteger-dataIniInteger)/86400000);
    return diferenca;
}

function EnabledCompoBotao(idCompoBotao,flagHabilitado)
{
    var detect = navigator.userAgent.toLowerCase();
    if(document.getElementById(idCompoBotao+'_compoBotao'))
    {   
        var dir = GetDiretorioRaiz() + "componentes/img_compoBotao/";
        var imgIni = document.getElementById(idCompoBotao+'_imgIni');
        var imgBg = document.getElementById(idCompoBotao+'_imgBg');
        var imgFim = document.getElementById(idCompoBotao+'_imgFim');
        var texto = document.getElementById(idCompoBotao+'_Link1');
        if(flagHabilitado.toString().toLowerCase() == 'false')
        {
            imgIni.src = dir + "compoBotao_esqDisabled.gif";
            imgBg.style.backgroundImage = "url('" + dir + "bgCompoBotaoPadraoDisabled.png')";
            imgFim.src = dir + "compoBotao_dirDisabled.gif";
            imgBg.disabled  = true;
            texto.disabled = true;
            imgBg.onmouseout = '';
            imgBg.onmouseover = '';
            if (detect.indexOf("safari") >= 0 || detect.indexOf("firefox") >= 0 )
            {
                //#31/D/4837
                if (texto.onclick == null)
                {
                    texto.onclick = function OnClientClick()
                                    {
                                        return true;
                                    };                                   
                }
            
                texto.onclickold = texto.onclick;
                texto.onclick =     function Handle()
                                    {
                                        return false;
                                    };
            }
            else
            {
                //#30/O
                //texto.onclick = 'return false;var '+ idCompoBotao +';' + texto.getAttribute("onClick");
                var eventoOnClick = GetStrEvento(texto, "onclick");
                texto.setAttribute("onClick", 'return false;' + eventoOnClick);
                
            }
            texto.style.cursor = 'default';
        }else{
            imgIni.src = dir + "compoBotao_esq.gif";
            imgBg.style.backgroundImage = "url('" + dir + "bgCompoBotaoPadrao.png')";
            imgFim.src = dir + "compoBotao_dir.gif";
            imgBg.disabled  = false;
            texto.disabled = false;
            imgBg.onmouseout  = function() { TrocaImgCompoBotao('out',  idCompoBotao +"_Link1", idCompoBotao +"_imgIni", idCompoBotao +"_imgBg", idCompoBotao +"_imgFim"); }
            imgBg.onmouseover = function() { TrocaImgCompoBotao('over', idCompoBotao +"_Link1", idCompoBotao +"_imgIni", idCompoBotao +"_imgBg", idCompoBotao +"_imgFim"); }
            try
            {
                if(texto.onclick)
                {
                    if (detect.indexOf("safari") >= 0 || detect.indexOf("firefox") >= 0 )
                    {
                        if (texto.onclickold)
                        {
                            texto.onclick = texto.onclickold;
                        }
                    }
                    else
                    {
                        //#30/O
                        //texto.setAttribute("onClick", texto.getAttribute("onClick").replace('return false;var '+ idCompoBotao +';','') );
                        var eventoOnClick = GetStrEvento(texto, "onclick");
                        texto.setAttribute("onClick", eventoOnClick.replace('return false;', ''));
                        
                    }
                }
            }catch(ex){alert(ex);}
            texto.style.cursor = 'pointer';
        }
    }
}

//#30/O
function GetStrEvento(objeto, evento)
{
    var retorno = "";
    for (var a=0; a<objeto.attributes.length; a++)
	{
		if (objeto.attributes[a].nodeName.toLowerCase() == evento.toLowerCase())
		{
            retorno = objeto.attributes[a].nodeValue;
		    break;
		}
	}
	return retorno;
}

function VisibledCompoBotaoEdicao(idCompoBotaoEdicao,flagHabilitado)
{
    var botao = document.getElementById(idCompoBotaoEdicao+'_compoBotaoEdicao');
    if(!botao)
    {
        botao = document.getElementById(idCompoBotaoEdicao+'_compoBotao');
    }
    if(botao)
    {   
        if(flagHabilitado.toString().toLowerCase() == 'false')
        {
            botao.style.display='none';
        }else{
            botao.style.display='';
        }
    }
}

function GetDiretorioRaiz()
{
    var dir = '';
    var retornaDir = 3;
    if(location.href.indexOf("http://localhost") < 0)
    {
        retornaDir = 2;
    }
    var qtdDir = window.document.location.pathname.split("/").length - retornaDir;
    if(qtdDir > 0)
    {   
        for(var a=0;a<qtdDir;a++)
        {
            dir = dir + '../';
        }
    }
    return dir;
}

function GetMensagem(codMensagem)
{
	var http = LibCreateRequestObject();
    http.open('get', GetDiretorioRaiz() + 'generico/ajax01.ashx?action=TraduzirMensagem&codMensagem=' + codMensagem, false);
    var retorno = "";
    if (document.all)
    {
        http.onreadystatechange =   function HandleMensagem() 
                                    {
	                                    if (http.readyState == 4)
	                                    {
	                                        retorno = http.responseText;
	                                    }
                                    };
    }
    http.send(null);			
    if (!document.all)
    {
        retorno = http.responseText;
    }
    while(retorno.indexOf("\\n") >= 0 )
    {
        retorno = retorno.replace("\\n", String.fromCharCode(13)+String.fromCharCode(10));
    }
    return retorno;
}

function GetCulture()
{
	var http = LibCreateRequestObject();
    http.open('get', GetDiretorioRaiz() + 'generico/ajax01.ashx?action=GetCulture', false);
    var retorno = "pt-BR";
    if (document.all)
    {
        http.onreadystatechange =   function HandleMensagem() 
                                    {
	                                    if (http.readyState == 4)
	                                    {
	                                        retorno = http.responseText;
	                                    }
                                    };
    }
    http.send(null);			
    if (!document.all)
    {
        retorno = http.responseText;
    }
    return retorno;
}

function GetReplaceMensagem(mensagem, indice, textoReplace)
{
    mensagem = mensagem.replace("%" + indice, " " + textoReplace);
    mensagem = mensagem.replace("% " + indice, " " + textoReplace);
    return mensagem;
}

function SetIdxCboApenasUmItem(idCombo)
{
    if(idCombo != "")
    {
        var combo = document.getElementById(idCombo);
        if(combo)
        {
            if(combo.length == 2)
            {
                combo.options[1].selected = true;            
            }
        }
    }
}

function ExibeTitleToolTip(objeto, event, novoWidth) 
{
    var novoDiv = document.createElement('div');
    novoDiv.setAttribute('id', 'tooltip2');
    if (novoWidth == undefined)
    {
        novoWidth = 300;
    }
    novoDiv.style.width = novoWidth;    
    document.body.appendChild(novoDiv);
    var obj = document.getElementById(objeto);
    if (obj) 
    {
        novoDiv.innerHTML = obj.innerHTML;
        novoDiv.style.display = 'block';
    }    
    novoDiv.style.position = 'absolute';
    novoDiv.style.zIndex = '1000000';    
    var divX = novoDiv.clientWidth;
    var divY = novoDiv.clientHeight;
    var w = (divX + divY) * 0.45;
    var minW = 150;
    if(w < minW)
    {
        novoDiv.style.width = minW;
    }
    else
    {
        novoDiv.style.width = (divX + divY) * 0.45;
    }
    divX = novoDiv.clientWidth;
    divY = novoDiv.clientHeight;
    var screenX = window.document.documentElement.offsetWidth;
    var screenY = window.document.documentElement.offsetHeight;
    if(window.navigator.appName == 'Netscape')
    {
        var evtX = event.clientX;
        var evtY = event.clientY;
    }
    else
    {
        var evtX = event.x;
        var evtY = event.y;
    }
    if( (evtX + divX) < screenX )
    {
        novoDiv.style.left = evtX + 5 + 'px';
    }
    else
    {
        novoDiv.style.left = (evtX - divX) + 5 + 'px';
    }
    if( (evtY + divY) < screenY )
    {
        novoDiv.style.top = evtY + 5 + 'px';
    }
    else
    {
        novoDiv.style.top = (evtY - divY) + 5 + 'px';
    }
}
function OcultaTitleToolTip(objeto) 
{
    var tip = document.getElementById('tooltip2');
    if(tip)
    {
       var pai = document.getElementById('tooltip2').parentNode;
       pai.removeChild(tip);
    }
}

function CheckCertificadoHttps()
{
    var httpPagina = LibCreateRequestObject();
    var localizacao = location.href;
    httpPagina.open('get', '../orcamento/ajax01.ashx?action=CheckCertificadoHttps&location=' + localizacao , false);
    if (document.all)
	{
		httpPagina.onreadystatechange = function HandleCertificadoHttps() 
		{
			if (httpPagina.readyState == 4) 
			{
				localizacao = httpPagina.responseText;
			}
		};
    }
    httpPagina.send(null);
    if (!document.all)
	{
		localizacao = httpPagina.responseText;	
	}
    while(localizacao.indexOf(String.fromCharCode(10)) >= 0 || localizacao.indexOf(String.fromCharCode(13)) >=0  )
    {
        localizacao = localizacao.replace(String.fromCharCode(13), "");
        localizacao = localizacao.replace(String.fromCharCode(10), "");
    }
    if (localizacao != "")
    {
        var retorno = localizacao.split("|");
        if(retorno[0].toLowerCase() == "true")
        {
            location.href = retorno[1];
        }
    }   
}

function ExibirOcultarObjeto(idObj,flagOcultar) 
{
    var obj = document.getElementById(idObj);
    var display = "";    
    if (obj) 
    {
        if (flagOcultar) 
        {
            display = "none";
        }
        obj.style.display = display;            
    }
}

function SetVisibilitityObjeto(idObj,flagOcultar) 
{
    var obj = document.getElementById(idObj);
    var display = "";    
    if (obj) 
    {
        if (flagOcultar) 
        {
            display = "hidden";
        }
        obj.style.visibility = display;            
    }
}

function OcultaMenu()
{
    if (document.getElementById('ctl00_lnkMenu')) { document.getElementById('ctl00_lnkMenu').style.display = 'none'; }
    if (document.getElementById('ctl00_lnkAgenda')) { document.getElementById('ctl00_lnkAgenda').style.display = 'none'; }
    if (document.getElementById('ctl00_compoMenuVideos1_lnkVideos')) { document.getElementById('ctl00_compoMenuVideos1_lnkVideos').style.display = 'none'; }
    if (document.getElementById('ctl00_lnkSuporte')) { document.getElementById('ctl00_lnkSuporte').style.display = 'none'; }
    if (document.getElementById('ctl00_ContentPlaceHolder2_LinkButton1')) { document.getElementById('ctl00_ContentPlaceHolder2_LinkButton1').style.display = 'none'; }
    if (document.getElementById('ctl00_lnkSair')) { document.getElementById('ctl00_lnkSair').style.display = 'none'; }
    if (document.getElementById('ctl00_lnkImplementacoes')) { document.getElementById('ctl00_lnkImplementacoes').style.display = 'none'; }
    if (document.getElementById('ctl00_imgNew')) { document.getElementById('ctl00_imgNew').style.display = 'none'; }
}

function ExecutaClickLinkByHref(idObj)
{
    var obj = document.getElementById(idObj);
    if(obj)
    {
        var novoBotao = document.createElement('input');
        novoBotao.setAttribute("type","button");
        novoBotao.setAttribute("id","btnExecutarClickLinkByCrhome_tmp_" + idObj);
        novoBotao.setAttribute("onClick",obj.href.replace("javascript:",""));
        novoBotao.style.display = "none";
        document.body.appendChild(novoBotao);
        novoBotao.click();
        document.body.removeChild(novoBotao);
    }
}

function ExecClickCompoBotao(idBotao)
{
    var botao = document.getElementById(idBotao);
    if(botao)
    {
        ExecutaClickLinkByHref(idBotao);
    }
}

function FormataData(data, digitosAno)
{
	var http = LibCreateRequestObject();
    http.open('get', GetDiretorioRaiz() + 'generico/ajax01.ashx?action=FormataData&data=' + data +'&digitosAno=' + digitosAno, false);
    var retorno = "";
    if (document.all)
    {
        http.onreadystatechange =   function HandleMensagem() 
                                    {
	                                    if (http.readyState == 4)
	                                    {
	                                        retorno = http.responseText;
	                                    }
                                    };
    }
    http.send(null);			
    if (!document.all)
    {
        retorno = http.responseText;
    }
    return retorno;
}

function DesformataData(data)
{
	var http = LibCreateRequestObject();
    http.open('get', GetDiretorioRaiz() + 'generico/ajax01.ashx?action=DesformataData&data=' + data, false);
    var retorno = "";
    if (document.all)
    {
        http.onreadystatechange =   function HandleMensagem() 
                                    {
	                                    if (http.readyState == 4)
	                                    {
	                                        retorno = http.responseText;
	                                    }
                                    };
    }
    http.send(null);			
    if (!document.all)
    {
        retorno = http.responseText;
    }
    return retorno;
}

function FormataNumero(numero, formato, casasDecimais)
{
	var http = LibCreateRequestObject();
    http.open('get', GetDiretorioRaiz() + 'generico/ajax01.ashx?action=FormataNumero&numero=' + numero +'&formato=' + formato +'&casasDecimais=' + casasDecimais, false);
    var retorno = "";
    if (document.all)
    {
        http.onreadystatechange =   function HandleMensagem() 
                                    {
	                                    if (http.readyState == 4)
	                                    {
	                                        retorno = http.responseText;
	                                    }
                                    };
    }
    http.send(null);			
    if (!document.all)
    {
        retorno = http.responseText;
    }
    return retorno;
}

//#36/O
function GetSeparadorDecimal()
{
    var hdnDecimalSeparator = document.getElementById("ctl00_ContentPlaceHolder1_hdnDecimalSeparator");
    var retorno = ",";
    if (hdnDecimalSeparator)
    {
        retorno = hdnDecimalSeparator.value;
    }
    return retorno;
}

//#36/O
function GetSeparadorMilhar()
{
    var hdnGroupSeparator = document.getElementById("ctl00_ContentPlaceHolder1_hdnGroupSeparator");
    var retorno = ".";
    if (hdnGroupSeparator)
    {
        retorno = hdnGroupSeparator.value;
    }
    return retorno;
}

//#36/O
function FormataNumero2(numero, casasDecimais)
{
    var decimalSeparator = GetSeparadorDecimal();
    var groupSeparator = GetSeparadorMilhar();
    var coef = Math.pow(10, casasDecimais);
    var numeroReal = Math.round(numero * coef) / coef;
    numeroReal = numeroReal + "";   //converte em string
    numeroReal = numeroReal.replace(".", decimalSeparator);
    var retorno = "";
    var flagIniciarFormatMilhar = false;
    var cont = 0;
    for (var a=numeroReal.length-1; a>=0; a--)
    {
        var separador = "";
        if (flagIniciarFormatMilhar)
        {
            cont++;
        }
        if (cont == 3)
        {
            separador = groupSeparator;
            cont = 0;
        }
        if (numeroReal.charAt(a) == decimalSeparator)
        {
            flagIniciarFormatMilhar = true;
        }
        retorno = separador + numeroReal.charAt(a) + retorno;
    }
    if (retorno.charAt(0) == groupSeparator)
    {
        retorno = retorno.replace(groupSeparator, "");  //remove a primeira ocorrência
    }
    return retorno;
}

function DesFormataNumero2(numero)
{
    var decimalSeparator = GetSeparadorDecimal();
    var groupSeparator = GetSeparadorMilhar();
    while (numero.indexOf(groupSeparator) >= 0)
    {
        numero = numero.replace(groupSeparator, "");
    }
    numero = numero.replace(decimalSeparator, ".");
    return numero;
}

function DesFormataNumero(numero)
{
	var http = LibCreateRequestObject();
    http.open('get', GetDiretorioRaiz() + 'generico/ajax01.ashx?action=DesFormataNumero&numero=' + numero, false);
    var retorno = "";
    if (document.all)
    {
        http.onreadystatechange =   function HandleMensagem() 
                                    {
	                                    if (http.readyState == 4)
	                                    {
	                                        retorno = http.responseText;
	                                    }
                                    };
    }
    http.send(null);			
    if (!document.all)
    {
        retorno = http.responseText;
    }
    return retorno.replace(",",".");
}

function TrocaImgCompoBotaoEdicao(evt,texto,imgIni,imgBg,imgFim,imgName)
{
    var dir = '';
    var retornaDir = 3;
    if(location.href.indexOf("http://localhost") < 0)
    {
        retornaDir = 2;
    }
    var qtdDir = window.document.location.pathname.split("/").length - retornaDir;
    if(qtdDir > 0)
    {   
        for(var a=0;a<qtdDir;a++)
        {
            dir = dir + '../';
        }
    }
    var dir = dir + "componentes/img_compoBotaoEdicao/";
    var texto = document.getElementById(texto);
    var imgIni = document.getElementById(imgIni);
    var imgBg = document.getElementById(imgBg);
    var imgFim = document.getElementById(imgFim);
    if(evt == 'over'){
        texto.className = "compoBotaoEdicaoTexto2";
        imgIni.src = dir + imgName + "2.png";
        imgBg.style.backgroundImage = "url('" + dir + "btn_bg2.png')";
        imgFim.src = dir + "btn_fim2.png";
    }else{
        texto.className = "compoBotaoEdicaoTexto";
        imgIni.src = dir + imgName + ".png";
        imgBg.style.backgroundImage = "url('" + dir + "btn_bg.png')";
        imgFim.src = dir + "btn_fim.png";
    }
}

function EnableDisabledObjeto(idObjeto,flagDisabled)
{
    var obj = document.getElementById(idObjeto+ '_compoBotao') ;
    if (obj)
    {
        obj.disabled = flagDisabled;
    }
}

function ExibirOcultarBotaoEdicao(clientIdBotao, flagExibir)
{
    var display = "inline";
    if(!flagExibir)
    {
        display = "none";
    }
    if (document.getElementById(clientIdBotao))
    {
        document.getElementById(clientIdBotao).style.display = display;
    }
}

function MsgErroClickBotaoEdicao(clientIdBotao, mensagem)
{
    ExibirOcultarBotaoEdicao(clientIdBotao, true);
    if (document.getElementById(clientIdBotao))
    {
        var obj = document.getElementById(clientIdBotao).children[1].children[0].children[0];
        obj.onclick =   function HandleMsgErroClickBotao() 
                        { 
                            alert(mensagem); 
                            return false; 
                        };
    }
}

function TratarClickBotaoEdicaoConfirmacao(clientIdBotao, mensagem)
{
    ExibirOcultarBotaoEdicao(clientIdBotao, true);
    if (document.getElementById(clientIdBotao))
    {
        var obj = document.getElementById(clientIdBotao).children[1].children[0].children[0];
        obj.onclick =   function HandleTratarClickBotaoConfirmacao()
                        {
                            return confirm(mensagem);
                        };
    }
}

function TratarClickBotaoEdicaoReturnTrue(clientIdBotao)
{
    ExibirOcultarBotaoEdicao(clientIdBotao, true);
    if (document.getElementById(clientIdBotao))
    {
        var obj = document.getElementById(clientIdBotao).children[1].children[0].children[0];
        obj.onclick =   function HandleTratarClickBotaoReturnTrue()
                        {
                            return true;
                        };
    }
}

function VerMapaByGoogle(idRua,idNumero,idBairro,idCidade,idUf,idCep)
{
    var sizeW = 400;
    var sizeY = 400;
    var rua = '';
    var numero = '';
    var bairro = '';
    var cidade = '';
    var uf = '';
    var cep = '';
    if(document.getElementById(idRua)) rua = document.getElementById(idRua).value;
    if(document.getElementById(idNumero)) numero = document.getElementById(idNumero).value;
    if(document.getElementById(idBairro)) bairro = document.getElementById(idBairro).value;
    if(document.getElementById(idCidade)) 
    {
        if(document.getElementById(idCidade).selectedIndex)
        {
            cidade = document.getElementById(idCidade).options[document.getElementById(idCidade).selectedIndex].text;
        }
    }
    if(document.getElementById(idUf)) 
    {
        if(document.getElementById(idUf).selectedIndex)
        {
            uf = document.getElementById(idUf).options[document.getElementById(idUf).selectedIndex].text;
        }
    }
    if(document.getElementById(idCep)) cep = document.getElementById(idCep).value;
    if(rua != '' || cep != '')
    {
        var link = 'http://maps.google.com.br/maps?f=q&source=s_q';
        link = link + '&hl=pt-BR' + '&q=';
        var endereco = '';
        if(rua != '') endereco += TrataParametroMapaGoogle(endereco, rua);
        if(numero != '') endereco = endereco + TrataParametroMapaGoogle(endereco, numero);
        //if(bairro != '') endereco = endereco + TrataParametroMapaGoogle(endereco, bairro);
        if(cidade != '') endereco = endereco + TrataParametroMapaGoogle(endereco, cidade);
        if(uf != '') endereco = endereco + TrataParametroMapaGoogle(endereco, uf);
        if(cep != '') endereco = endereco + TrataParametroMapaGoogle(endereco, cep);
        AbriPopUp(link + endereco,'mapaGoogle');
    }
    else
    {
        alert(GetMensagem(121));
    }
    return false;
}

function TrataParametroMapaGoogle(endereco, parametro)
{
    var qtd = parametro.split(" ").length
    for(var a=0; a < qtd;a++)
    {
        parametro = parametro.replace(' ','+');
    }
    if(endereco != '')
    {
        parametro = ',' + parametro;
    }
    return parametro;
}

function CalculaValorPercentual(idTxt, idTxtBase, idTxtValor, flagPercentual)
{
    var objTxt = document.getElementById(idTxt);
    var base = document.getElementById(idTxtBase).value;
    var valor = document.getElementById(idTxtValor).value;
    base = LibDesformatarValor(base);
    valor = LibDesformatarValor(valor);
    var valorCalculado = 0
    if (flagPercentual)
    {
        valorCalculado = base * valor / 100;    
    }
    else
    {
        valorCalculado = 100 * valor / base;
    }
    objTxt.value = FormataNumero(valorCalculado,'',2); 
}

function SetNumZeroEsquerda(numero,tamanho)
{
    numero = ''+ numero;
    retorno = numero;
    if(numero.length < tamanho)
    {
        retorno = '';
        for(var a=0;a<(tamanho - numero.length);a++)
        {
            retorno += '0';
        }
        retorno += '' + numero;
    }
    return retorno;
}

function MarcaAlteracao(hdnExisteAlteracao,flagAlteracao,arrayIdCompoBotoes)
{
    var objHdnExisteAlteracao = document.getElementById(hdnExisteAlteracao);
    if(objHdnExisteAlteracao)
    {
        objHdnExisteAlteracao.value = '' + flagAlteracao;
    }
    var btns = arrayIdCompoBotoes.split("|");
    for(var a=0;a<btns.length;a++)
    {
        EnabledCompoBotao(btns[a],flagAlteracao);
    }
}

function OrdenarItensCbo(idCbo,indexInicial) 
{
    if(typeof(indexInicial) == 'undefined')
    {
        indexInicial = 0;
    }
    if(indexInicial < 0)
    {
        indexInicial = 0;
    }
    var cbo = document.getElementById(idCbo);
    if(cbo)
    {
        var valorSel = cbo.value;
        if(indexInicial < cbo.options.length - 1)
        {
            var indiceSel = -1;
            var arrTexts = new Array();
            var arrValues = new Array();
            for(var a=0; a<(cbo.options.length - indexInicial); a++) 
            {
                arrTexts[a] = cbo.options[a + indexInicial].text;
            }
            arrTexts.sort();
            for(var a=0; a<arrTexts.length; a++)
            {
                for(var b=0; b<cbo.options.length; b++)  
                {
                    if(arrTexts[a] == cbo.options[b].text)
                    {
                        arrValues[a] = cbo.options[b].value; 
                        break;
                    }
                }
            }
            for(var a=0; a<(cbo.options.length); a++)
            {
                if(a>=indexInicial)
                {
                    cbo.options[a].text = arrTexts[a - indexInicial];
                    cbo.options[a].value = arrValues[a - indexInicial];
                }
                if(cbo.options[a].value == valorSel)
                {
                    cbo.options[a].selected = true;
                }
            }
        }
    }
}

//#27/L
 function LibGetNomeMesDadoNumero(mes,nome)
 {
    nome = '' + nome.toUpperCase(); 
    var retorno;
    if (mes > 0)
    {
        switch (mes)
        {
            case 1: { retorno = "Janeiro"; break }
            case 2: { retorno = "Fevereiro"; break }
            case 3: { retorno = "Março"; break }
            case 4: { retorno = "Abril"; break }
            case 5: { retorno = "Maio"; break }
            case 6: { retorno = "Junho"; break }
            case 7: { retorno = "Julho"; break }
            case 8: { retorno = "Agosto"; break }
            case 9: { retorno = "Setembro"; break }
            case 10: { retorno = "Outubro"; break }
            case 11: { retorno = "Novembro"; break }
            case 12: { retorno = "Dezembro"; break }
        }
    }
    else
    {
        switch (nome)
        {
            case "JANEIRO": { retorno = 1; break }
            case "FEVEREIRO": { retorno = 2; break }
            case "MARÇO": { retorno = 3; break }
            case "ABRIL": { retorno = 4; break }
            case "MAIO": { retorno = 5; break }
            case "JUNHO": { retorno = 6; break }
            case "JULHO": { retorno = 7; break }
            case "AGOSTO": { retorno = 8; break }
            case "SETEMBRO": { retorno = 9; break }
            case "OUTUBRO": { retorno = 10; break }
            case "NOVEMBRO": { retorno = 11; break }
            case "DEZEMBRO": { retorno = 12; break }
        }
    }
    return retorno;
 }
 
//#29/C/
function CheckAlteracaoPendenteByHdn(idHdn)
{
    var retorno = false;
    var hdn = document.getElementById(idHdn);
    if(hdn)
    {
        if(hdn.value == 'true')
        {
            retorno = confirm(GetMensagem(125));
        }
    }
    return retorno;
}

//#32/D/4616
function SetFocus(idObj) 
{
    var obj = document.getElementById(idObj);
    if (obj)
    {
        try
        {obj.focus()}
        catch(ex) {}    
    }
}

//#34/L
function GetIdxColunaDadoNome(tabela, nomeColuna)
{
    var retorno = -1
    for (var a=0; a<tabela.rows[0].cells.length; a++)
    {
        //#35/L/fin291
        //var conteudoColuna = tabela.rows[0].cells[a].innerText.toUpperCase();
        var conteudoColuna = Trim(tabela.rows[0].cells[a].innerText.toUpperCase().replace("\n", ""));
        
        if(conteudoColuna == nomeColuna.toUpperCase())
        {
            retorno = a;
            break;
        }
    }
    return retorno;
}

//#37/C
function RetiraAcentos(texto) {
   var acentos = "áàãââÁÀÃÂéêÉÊíÍóõôÓÔÕúüÚÜçÇ";
   var traducao ="aaaaaAAAAeeEEiIoooOOOuuUUcC";
   var posic, carac;
   var retorno = "";
   for (var a=0;a<texto.length;a++)
   {
       carac = texto.charAt(a);
       posic  = acentos.indexOf(carac);
       if(posic > -1)
       {
	      retorno += traducao.charAt(posic);
	   }
       else
       {
          retorno += texto.charAt(a);
       }
    }
    return retorno;
}

//#37/C
function RgbConvert(str){
    if (str.indexOf("#") >= 0 || str == "")
    {
	    return str;
    }
    else
    {
	    str = str.replace(/rgb\(|\)/g, "").split(",");
	    str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
	    str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
	    str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
	    str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
	    str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
	    str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
	    return str.join("");
    }
}


/***************************************************************************************************************************/
// CODIGO PARA compoCalcAutoComplete
/***************************************************************************************************************************/
    function CompoCalcComplete_BlockEnter(e) 
    {
        try 
        {
            if (this.event.keyCode == 13)
            {
                this.event.keyCode = 9;
            }
        }catch(ex)
        {
            srcEl = e.srcElement ? e.srcElement : e.target;
            if (e.keyCode == 13)
            {
                e.keyCode = 9;
            }
        }
    }

    function CompoCalcComplete_PostBack(idUpdatePanel,idTxt)
    {
        //#41/C/5558
        CompoCalcComplete_ModalPosPostBack(idTxt)
        
        setTimeout('__doPostBack(\''+ idUpdatePanel +'\',\''+ idTxt +'\')', 0);
        setTimeout("$('#"+ idTxt +"').focus();",1000);
    }

    function CompoCalcComplete_SetIdxByKey(idObj,key,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado)
    {
        var idx = parseInt($('#'+idHdnIdxPesquisa).val());
        if($('#'+ idObj +'_table')[0] != undefined)
        {
            var qtdLinhas = parseInt($('#'+ idObj +'_table')[0].rows.length);
            if(key == 40)
            {
                if(idx == (qtdLinhas -1)) 
                {
                    idx = -1;
                }
                else 
                {
                    idx = idx + 1;
                }
            }
            else
            {
                if(idx == -1)
                {
                    idx = (qtdLinhas-1);
                }
                else
                {
                    idx = idx - 1;
                }
            }
            CompoCalcComplete_SetEstiloByIdx(idObj,idx,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
        }
    }
    
    function CompoCalcComplete_SetEstiloByIdx(idObj,idx,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado)
    {
        if($('#'+ idObj +'_table')[0] != undefined)
        {
            var qtdLinhas = parseInt($('#'+ idObj +'_table')[0].rows.length);
            for(a=0;a < qtdLinhas;a++)
            {
                if(a == idx)
                {
                    $('#'+ idObj +'_table td:eq('+ a +')').css('backgroundColor', bgColorSelecao);
                }
                else
                {
                    $('#'+ idObj +'_table td:eq('+ a +')').css('backgroundColor', '');
                }
            }
            $('#'+idHdnIdxPesquisa).val(idx);
            if(idx == -1)
            {
                $('#'+idObj).val($('#'+idHdnTextoPesquisa).val());
            }
            else
            {
                $('#'+idObj).val($('#'+ idObj +'_table td:eq('+ idx +')').text());
            }
            CompoCalcComplete_SetCodigoByIdx(idx,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
        }
    }
    
    function CompoCalcComplete_SetCodigoByIdx(idx,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado)
    {
        var hdnCodigo = $('#'+idHdnCodigo);
        var listaCodigo = $('#'+idHdnListaCodigo).val().split('|');
        if(idx == -1)
        {
            hdnCodigo.val('0');
        }
        else
        {
            hdnCodigo.val(listaCodigo[idx]);
        }
    }
    
    function CompoCalcComplete_Seleciona(code,idCompo,idObj,flagAutoSelecionaQdoUnicoItem,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado,idUpdatePanel)
    {
        if(flagAutoSelecionaQdoUnicoItem == undefined) 
        {
            flagAutoSelecionaQdoUnicoItem = false;
        }
        if(code == 9 || code == 13)
        {
            if(flagAutoSelecionaQdoUnicoItem && (CompoCalcComplete_GetQtdItensLista(idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado) == 1) )
            {
                CompoCalcComplete_SetEstiloByIdx(idObj,0,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
            }
            CompoCalcComplete_FinalizaSelecao(idCompo,idObj,'',flagAutoSelecionaQdoUnicoItem,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado,idUpdatePanel)
        }
    }
    
    function CompoCalcComplete_FinalizaSelecao(idCompo,idObj,msgNaoSelecionado,flagAutoSelecionaQdoUnicoItem,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado,idUpdatePanel)
    {
        if(msgNaoSelecionado ==  undefined) 
        {
            msgNaoSelecionado = '';
        }
        if(flagAutoSelecionaQdoUnicoItem == undefined) 
        {
            flagAutoSelecionaQdoUnicoItem = false;
        }
        if($('#'+ idObj +'_table')[0] != undefined)
        {
            var obj = $('#'+ idObj);
            var idx = parseInt($('#'+idHdnIdxPesquisa).val());
            if(idx == -1)
            {
                if(flagAutoSelecionaQdoUnicoItem && (CompoCalcComplete_GetQtdItensLista(idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado) == 1) )
                {
                    idx = 0;
                    CompoCalcComplete_SetEstiloByIdx(idObj,idx,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
                    CompoCalcComplete_FinalizaSelecao(idCompo,idObj,'','','','',idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado,idUpdatePanel);
                }
                else
                {
                    obj.val($('#'+idHdnTextoPesquisa).val());
                }
            }
            else
            {
                obj.val($('#'+ idObj +'_table td:eq('+ idx +')').text());
            }
            CompoCalcComplete_ClosePesquisa(idObj);
        }
        if(msgNaoSelecionado != '')
        {
            if(! parseInt($('#'+idHdnCodigo).val()) > 0)
            {
                alert(msgNaoSelecionado);
            }
        }
        if ((idCompo != '') && ($('#'+idHdnFlagAlterado).val() == 'true')) 
        {
            CompoCalcComplete_PostBack(idUpdatePanel, idObj);
        }
        $('#'+idHdnFlagAlterado).val('false');
        return false;
    }
    
    function CompoCalcComplete_Pesquisa(code,idObj,url,action,flagPesquisaQualquerParte,minimumPrefixLength,bgColorTextoPesquisado,color,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado)
    {
        try{
            var obj = $("#"+idObj);
            if(flagPesquisaQualquerParte == undefined) 
            {
                flagPesquisaQualquerParte = 'false';
            }
            if(minimumPrefixLength == undefined) 
            {
                minimumPrefixLength = 1;
            }
            switch(code)
            {
                case 38:
                case 40:
                    CompoCalcComplete_SetIdxByKey(idObj,code,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
                break;
                case 27:
                    obj.val($('#'+idHdnTextoPesquisa).val());
                    CompoCalcComplete_ClosePesquisa(idObj);
                break;
                case 13:
                    return false;
                break;
                default:
                    $('#'+idHdnFlagAlterado).val('true');
                    $('#'+idHdnIdxPesquisa).val('-1');
                    $('#'+idHdnTextoPesquisa).val(obj.val());
                    if( (obj.val().trim != "") && (obj.val().trim().length >= minimumPrefixLength) )
                    {
                        $.ajax({
                            url: url +'?action='+ action +'&flagPesquisaQualquerParte='+ flagPesquisaQualquerParte +'&texto='+ RetiraAcentos(obj.val().trim())
                            ,async: false
                            ,type: 'GET'
                            ,success: function(retorno){
                                        CompoCalcComplete_LoadResultComplete(idObj,retorno,flagPesquisaQualquerParte,bgColorTextoPesquisado,color,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
                                      }
                            ,error: function (xhr, ajaxOptions, thrownError){
                                        alert(thrownError);
                                    }  
                        })    
                    }
                    else
                    {
                        CompoCalcComplete_LoadResultComplete(idObj,"",'','','','','',idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
                    }
                break;
            }
        }catch(e){alert(e);}
        return false;
    }
    
    //#41/C/5558
    function CompoCalcComplete_ModalPosPostBack(idObj)
    {
        var idDiv = idObj + '_aguarde';
        var div = document.createElement('div');
        div.setAttribute('id', idDiv);
        div.innerHTML = '&nbsp;';
        document.body.appendChild(div);
        $("#" + idDiv)
        .css({
            top: '0px'
            ,left: '0px'
            ,width: $(document).width() + 'px'
            ,height: $(document).height() + 'px'
            ,position: 'absolute'
            ,zIndex: '1000001'
            ,display: ''
            ,background: '#707070'
            ,filter: 'alpha(opacity=50)'
        });
        setTimeout(function(){
                        $('#'+idObj+'_aguarde').remove();
                    },500);        
    }
    
    function CompoCalcComplete_LoadResultComplete(idObj,resultado,flagPesquisaQualquerParte,bgColorTextoPesquisado,color,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado)
    {
        var txt = $("#"+idObj);
        var idDiv = idObj + '_resultado';
        CompoCalcComplete_ClosePesquisa(idObj);
        if(resultado == ""){
            $('#'+idHdnIdxPesquisa).val('-1');
            $('#'+idHdnTextoPesquisa).val('');
            $('#'+idHdnListaCodigo).val('');
            $('#'+idHdnCodigo).val('0');
        }else{
            var div = document.createElement('div');
            div.setAttribute('id', idDiv);
            document.body.appendChild(div);
            retorno = CompoCalcComplete_TrataTextoPesquisado(idObj,txt.val(),resultado,flagPesquisaQualquerParte,bgColorTextoPesquisado,color,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
            div.innerHTML = retorno;
            var p = txt.offset();
            var padding = 8;
            if(txt.css('padding') != '')
            {
                padding = parseInt(txt.css('padding').replace('px',''));
            }
            $("#" + idDiv)
                .css({
                    top: p.top + txt.height() + 1
                    ,left: p.left
                    ,minWidth: txt.width()  + (padding * 2) + 'px'
                    ,position: 'absolute'
                    ,zIndex: '1000000'
                    ,display: ''
                    ,border: '1px solid #cccccc'
                    ,marginTop: '5px'
                    ,padding: '0px'
                    ,backgroundColor: bgColor
                    ,fontFamily: 'Verdana, Arial, Helvetica, sans-serif'
                    ,fontColor: '#cccccc'
	                ,fontSize: '11px'
                })
            ;
            $('#'+ idObj +'_table td')
                .hover(
                    function()
                    {
                        $(this).css('backgroundColor', bgColorSelecao);
                        CompoCalcComplete_SetEstiloByIdx(idObj,CompoCalcComplete_GetIdxByFoco(idObj,bgColorSelecao),bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
                    }
                    ,function()
                    {
                        $(this).css('backgroundColor', bgColor);
                        CompoCalcComplete_SetEstiloByIdx(idObj,CompoCalcComplete_GetIdxByFoco(idObj,bgColorSelecao),bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado);
                    }
                )
            ;
        }
    }
    
    function CompoCalcComplete_GetIdxByFoco(idObj,bgColorSelecao)
    {
        var retorno = -1;
        var qtdLinhas = parseInt($('#'+ idObj +'_table')[0].rows.length);
        for(a=0;a<qtdLinhas;a++)
        {
            var bg = $('#'+ idObj +'_table td:eq('+ a +')').css('backgroundColor');
            if(bg != undefined){
                if(bg.indexOf('rgb') >= 0) 
                {
                    bg = '#' + RgbConvert(bg);
                }
                if(bg.toLowerCase() == bgColorSelecao.toLowerCase())
                {
                   retorno = a;
                   break;
                }
            }
        }
        return retorno;
    }
    
    function CompoCalcComplete_ClosePesquisa(idObj)
    {
        $('#'+idObj+'_resultado').remove();
    }
    
    function CompoCalcComplete_TrataTextoPesquisado(idObj,texto,resultado,flagPesquisaQualquerParte,bgColorTextoPesquisado,color,bgColor,bgColorSelecao,idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado)
    {
        var retorno = '';
        if(bgColorTextoPesquisado == undefined) 
        {
            bgColorTextoPesquisado = 'yellow';
        }
        if(color == undefined) 
        {
            color = 'black';
        }
        if(bgColor == undefined) 
        {
            bgColor = 'white';
        }
        var lista = '';
        try{
            lista = resultado.split('|');
        }catch(ex){}
        var hdnListaCodigo = $('#'+idHdnListaCodigo);
        hdnListaCodigo.val('');
        for(a=0;a<lista.length;a++)
        {
            var item = lista[a].split('^');
            var codigo = item[0];
            var nome = item[1];
            if(hdnListaCodigo.val() != '')
            {
                hdnListaCodigo.val(hdnListaCodigo.val() + '|')
            }
            hdnListaCodigo.val(hdnListaCodigo.val() + codigo);
            var lenTexto = texto.trim().length;
            var posTexto = RetiraAcentos(nome).toLowerCase().indexOf(RetiraAcentos(texto).trim().toLowerCase());
            if(flagPesquisaQualquerParte.toLowerCase() == 'true')
            {
                lista[a] = nome.substring(0,posTexto) +'<font style="background-color:'+ bgColorTextoPesquisado +';">'+ nome.substring(posTexto,posTexto+lenTexto) +'</font>'+ nome.substring((posTexto + lenTexto),nome.length);
            }
            else
            {
                lista[a] = nome.substring(0,lenTexto) +'<b>'+ nome.substring(lenTexto,nome.length) +'</b>';
            }
            retorno = retorno + '<tr id="'+ a +'_'+ idObj +'_table"><td>'+ lista[a] + '</td></tr>';
        }
        retorno = '<table id="'+ idObj +'_table" style="color:'+ color +';" width="100%" border="0px" margin="0px" cellspacing="0px" cellpadding="3px" >'+ retorno;
        return retorno + '</table>';
    }
    
    function CompoCalcComplete_GetQtdItensLista(idHdnIdxPesquisa,idHdnTextoPesquisa,idHdnListaCodigo,idHdnCodigo,idHdnFlagAlterado)
    {
        return $('#'+idHdnListaCodigo).val().split('|').length;
    }
    
    //#40/L
    function LibGetQtdeCasasDec(numero, separadorDecimal)
    {
        var contQtdeCasasDecimais = 0;
        var flagExisteSeparador = false;
        numero = numero + '';
        //varrendo o número do final para o inicio...
        for (var a = numero.length - 1; a >= 1; a--) 
        {
            //caso o caracter não seja o seperador decimal, assume como decimal.
            if (numero.substring(a,(a+1)) != separadorDecimal)
            {
                contQtdeCasasDecimais += 1;
            }
            else
            {
                flagExisteSeparador = true;
                break;
            } 
        }
        //Verificando se existe do que 1 separador decimal no número.
        if (flagExisteSeparador)
        {
            //varrendo o número a partir do primeiro separador encontrado.
            for (var a = numero.length - (contQtdeCasasDecimais + 2); a >= 1; a--) 
            {
                if (numero.substring(a,(a+1)) == separadorDecimal)
                {
                    contQtdeCasasDecimais = -1; //erro - número inválido
                    break;
                }
            }
        }
        return contQtdeCasasDecimais
    }
       
/***************************************************************************************************************************/    

//#41/C/135MX
function LoadIdiomaToPaginaManutencao(enIdioma)
{
    if(IsNumeric(enIdioma))
    {
        for(a=0;a<5;a++)
        {
            try{
                if(a != enIdioma)
                {
                    $('#enIdioma_'+a).css('display','none');
                }
            }catch(e){}
        }
        try{
            
            if($('#enIdioma_'+enIdioma).length > 0)
            {
                $('#enIdioma_'+enIdioma).fadeIn('slow');
            }
            else
            {
                $('#enIdioma_0').fadeIn('slow');
            }
        }catch(e){}
    }
}
