﻿
//<!--
//TRANCA BOTÃO DIREITO DO MOUSE
var mensagem = "";
function clickIE() { if (document.all) { (mensagem); return false; } }
function clickNS(e) {
    if
(document.layers || (document.getElementById && !document.all)) {
        if (e.which == 2 || e.which == 3) { (mensagem); return false; }
    }
}
if (document.layers)
{ document.captureEvents(Event.MOUSEDOWN); document.onmousedown = clickNS; }
else { document.onmouseup = clickNS; document.oncontextmenu = clickIE; }
document.oncontextmenu = new Function("return false")

//AUMENTA E DIMINUI A LETRA DO TEXTO   
var tgs = new Array('div');
var szs = new Array('small', 'medium', 'large');
var startSz = 2;

function ts(trgt, inc) {
    if (!document.getElementById) return
    var d = document, cEl = null, sz = startSz, i, j, cTags;
    sz += inc;
    if (sz < 0) sz = 0;
    if (sz > 2) sz = 2;
    startSz = sz;
    if (!(cEl = d.getElementById(trgt))) cEl = d.getElementsByTagName(trgt)[0];

    cEl.style.fontSize = szs[sz];

    for (i = 0; i < tgs.length; i++) {
        cTags = cEl.getElementsByTagName(tgs[i]);
        for (j = 0; j < cTags.length; j++) cTags[j].style.fontSize = szs[sz];
    }
}
//---------------------------------
//--> 

// browser
// como se fosse uma classe
// @return o objeto
function browser() {
    this.ver = navigator.appVersion;
    this.agent = navigator.userAgent;
    this.dom = document.getElementById ? 1 : 0;
    this.ie5 = (this.ver.indexOf("MSIE 5") > -1 && this.dom) ? 1 : 0;
    this.ie6 = (this.ver.indexOf("MSIE 6") > -1 && this.dom) ? 1 : 0;
    this.ie7 = (this.ver.indexOf("MSIE 7") > -1 && this.dom) ? 1 : 0;
    this.ie4 = (document.all && !this.dom) ? 1 : 0;
    this.ie = this.ie4 || this.ie5 || this.ie6 || this.ie7;
    this.mac = this.agent.indexOf("Mac") > -1;
    this.opera = this.agent.indexOf("Opera") > -1;
    this.opera5 = this.agent.indexOf("Opera 5") > -1;
    this.ns6 = (this.dom && parseInt(this.ver) >= 5) ? 1 : 0;
    this.ns4 = (document.layers && !this.dom) ? 1 : 0;
    this.ne = this.ns6 || this.ns4;
    return this;
}

///////////////////////////////////////////////////////////////////////////////////

// isIE
// cria o objeto browser e verifica se é IE
// @return boolean
function isIE() {
    var browser_ = new browser();
    return browser_.ie;
}

///////////////////////////////////////////////////////////////////////////////////

// isNE
// cria o objeto browser e verifica se é NE
// @return boolean
function isNE() {
    var browser_ = new browser();
    return browser_.ne;
}

///////////////////////////////////////////////////////////////////////////////////

function isKey(k, e) {
    if (window.event) key = event.keyCode;
    else key = e.which;

    return (key == k);
}

///////////////////////////////////////////////////////////////////////////////////

function isChar(e) {
    if (window.event) key = event.keyCode;
    else key = e.which;

    var retval =
        (key >= 48 && key <= 90) ||
        (key >= 96 && key <= 111) ||
        (key >= 188 && key <= 222);

    return retval;
}
///////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//      Mascara para dados de identificação númericos como cpf, cnpj, telefone
//      onkeypress="return mascaraID(this,event,'[cpf/cnpj/fone/cep]')"
function mascaraID(campo, evento, mascara) {
    var i, nCount, valorCampo, tamanhoValorCampo, tamanhoMascara, statMascara, sCod, key, strCheck;

    if (isControlKey(retornaKey(evento)))
        return true;
    if (!soNumero(evento))
        return false;

    if (getSelected(campo).length > 0) {
        campo.value = campo.value.replace(getSelected(campo), '');
    }

    key = retornaKey(evento);

    strCheck = "-./ ()";
    mascara = mascara.toLowerCase();
    valorCampo = campo.value.toString();
    //doug
    switch (mascara) {
        case "cpf":
            mascara = "999.999.999-99";
            break;
        case "cnpj":
            mascara = "99.999.999/9999-99";
            break;
        case "fone":
            mascara = "99999999";
            break;
        case "cep":
            mascara = "99.999-999";
            break;
        case "diames":
            mascara = "99/99";
            break;
        case "competencia":
            return competencia(campo, evento, null);
        case "competenciacdl":
            return competencia(campo, evento, 'cdl');
        default:
            return false;
    }

    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    for (i = 0; i < valorCampo.length; i++) {
        if (strCheck.search(valorCampo[i]) >= 0) {
            valorCampo = valorCampo.replace(valorCampo[i], "");
        }
    }
    tamanhoValorCampo = valorCampo.length;
    tamanhoMascara = mascara.length;

    i = 0;
    nCount = 0;
    sCod = "";
    tamanhoMascara = tamanhoValorCampo;

    while (i <= tamanhoMascara) {
        statMascara = ((mascara.charAt(i) == "-") || (mascara.charAt(i) == ".") || (mascara.charAt(i) == "/"));
        statMascara = statMascara || ((mascara.charAt(i) == "(") || (mascara.charAt(i) == ")") || (mascara.charAt(i) == " "));

        if (statMascara) {
            sCod += mascara.charAt(i);
            tamanhoMascara++;
        }
        else {
            sCod += valorCampo.charAt(nCount);
            nCount++;
        }
        i++;
    }
    //doug
    if (campo.value.length >= mascara.length && (!isControlKey(key)))
        return false;

    campo.value = sCod;

    if (key != 8) { // backspace
        if (mascara.charAt(i - 1) == "9") { // apenas números...
            return ((key > 47) && (key < 58));
        } // números de 0 a 9
        else { // qualquer caracter...
            return true;
        }
    }
    else {
        return true;
    }
}
//////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////
//      Mascara para dados de identificação númericos como cpf, cnpj, telefone
//      return formataCPFouCNPJ(document.aspnetForm, 'ctl00_cph_tbCPFouCNPJ', '999.999.999-99', event)"
function formataCPFouCNPJ(objForm, strField, evtKeyPress) {

    var i, nCount, sValue, fldLen, mskLen, bolMask, sCod, nTecla, sMask;

    if (document.all)  // Internet Explorer
        nTecla = evtKeyPress.keyCode;
    else               // Nestcape,Firefox,Chrome,......
        nTecla = evtKeyPress.which;

    sValue = objForm[strField].value;

    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    sValue = sValue.toString().replace("-", "");
    sValue = sValue.toString().replace("-", "");
    sValue = sValue.toString().replace(".", "");
    sValue = sValue.toString().replace(".", "");
    sValue = sValue.toString().replace("/", "");
    sValue = sValue.toString().replace("/", "");
    sValue = sValue.toString().replace("(", "");
    sValue = sValue.toString().replace("(", "");
    sValue = sValue.toString().replace(")", "");
    sValue = sValue.toString().replace(")", "");
    sValue = sValue.toString().replace(" ", "");
    sValue = sValue.toString().replace(" ", "");
    fldLen = sValue.length;

    if (fldLen <= 11)  //CPF
        sMask = '999.999.999-99';
    else  //CNPJ
        sMask = '99.999.999/9999-99';


    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    mskLen = fldLen;

    while (i <= mskLen) {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) {
            sCod += sMask.charAt(i);
            mskLen++;
        }
        else {
            sCod += sValue.charAt(nCount);
            nCount++;
        }
        i++;
    }

    objForm[strField].value = sCod;

    if (objForm[strField].value.length != 14 && objForm[strField].value.length != 18)
        objForm[strField].style.color = 'red';
    else
        objForm[strField].style.color = 'black';

    if (nTecla != 8) { // backspace
        if (sMask.charAt(i - 1) == "9") { // apenas números...
            return ((nTecla > 47) && (nTecla < 58));
        } // números de 0 a 9
        else { // qualquer caracter...
            return true;
        }
    }
    else {
        return true;
    }

}
//////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////
//      Mascara padrao para campo numericos
//      onfocus="return retiraMascara(this)"
function retiraMascara(campo) {

    var i;
    var strCheck = "-./ ()";
    var valorCampo = campo.value.toString();

    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    for (i = 0; i < valorCampo.length; i++) {
        if (strCheck.search(valorCampo[i]) >= 0) {
            valorCampo = valorCampo.replace(valorCampo[i], "");
        }
    }
    return campo;
}
//////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////
//      Mascara padrao para campo numericos
//      onkeypress="return mascaraNumero(this, event, '[moeda/milhar/null]')"

function mascaraNumero(campo, evento, tipoMascara) {

    if (retornaKey(evento) == 32)//barra de espaço
        return false;

    if (isControlKey(retornaKey(evento)))
        return true;

    if (getSelected(campo).length > 0) {
        campo.value = campo.value.replace(getSelected(campo), '');
    }

    tipoMascara = tipoMascara.toLowerCase();

    if (tipoMascara == "moeda") {
        return MascaraMoeda(campo, ".", ",", evento);
    }
    else if (tipoMascara == "moeda+") {//moeda positivo
        return MascaraMoeda(campo, "+.", ",", evento);
    }
    else if (tipoMascara == "milhar") {
        return mascaraMilhar(campo, evento);
    }
    else if (tipoMascara == ".") {

        return (soNumero(evento) || retornaChar(evento) == ".");
    }
    else
        return soNumero(evento);

}

//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Padrão Moeda
//      onkeypress="return MascaraMoeda(campo,'.',',',evento)"

function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e) {
    var neg = false; //DMF: desabilita valores negativos para validação 'onkeypress'
    var key = "";
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = "0123456789";
    var aux = aux2 = "";
    var whichCode = (window.Event) ? e.which : e.keyCode;


    if (SeparadorMilesimo == "+.") {
        if (retornaChar(e) == "-")
            return false;
        SeparadorMilesimo = ".";
    }
    if ((retornaChar(e) == "-" && getPosition(objTextBox) == 0) || isControlKey(retornaKey(e)))
        return true;
    if (!isControlKey(retornaKey(e)) && !soNumero(e))
        return false;
    if (objTextBox.value.indexOf("-") > -1) {
        neg = true;
        objTextBox.value = objTextBox.value.replace("-", '');
    }
    //---------------------------------------------//    

    if (whichCode == 0 || whichCode == 8) return true; //8=BACKSPACE, 0=TAB ENTRE OUTRAS TECLAS DE CONTROLE
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;

    for (i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for (; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i)) != -1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0' + SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0' + SeparadorDecimal + aux;

    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--) {
            //- Se o valor do campo + o valor digitado somar mais que o maxlength //
            if ((objTextBox.value + aux2.charAt(i)).length >= objTextBox.maxLength)
                return false;
            //---------------------------------------------------------------------------------//
            objTextBox.value += aux2.charAt(i);
        }
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    //Se o numero original for negativo insere sinal de negativo no inicio
    // teste de separadormilesimo é gambiarra pra nao permitir multa/juros negativo
    if (neg && SeparadorMilesimo == '.') objTextBox.value = insereCaracter(objTextBox.value, 0, "-");
    //------------------------------------------------------

    // No Ie posiciona o cursor no final do campo
    if (document.all) {//IE
        if (objTextBox.createTextRange) {
            var r = (objTextBox.createTextRange());
            r.moveStart('character', (objTextBox.value.length));
            r.collapse();
            r.select();
        }
    }
    //------------------------------------------------------

    return false;
}
//
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Mascara para Milhar(numeros inteiros)
//      onkeypress="return mascaraMilhar(this, event)"

function mascaraMilhar(campo, evento) {

    var antes;
    var depois;
    var j;
    var i = 0;
    var key;
    var string;
    var position = getPosition(campo); //posição do cursor

    key = retornaKey(evento);

    if ((key < 48 || key > 58) && key != 8)//digitação nao numerica
        return false;

    key = String.fromCharCode(key); // caracter digitado

    if (key == 0 && position == 0)//nao deixa inserir zero no inicio
        return false;

    string = campo.value; //valor do campo texto
    string = insereCaracter(string, position, key); // adiciona o numero digitado na posição desejada

    do {

        string = string.replace(".", ""); // remove todos os pontos da string do campo texto

    } while (string.indexOf(".") >= 0);

    campo.value = formataMilhar(string);

    return false;
}
//
//
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//      retorna uma string com pontos de milhar
//      var string = formataMilhar(string);

function formataMilhar(string) {

    var j = string.length - 1;
    var antes;
    var depois;
    var i = 0;

    for (; j > 0; j--) {
        i++;

        if (i % 3 == 0) {
            antes = string.substring(0, j);
            depois = string.substring(j);

            if (antes.length != 0)
                string = antes + "." + depois;
        }
    }

    return string;
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//      retorna string de numeros formatada para moeda [formatação apos calculo com float(decimal com '.')]
//      floatToMoeda(nFloat)

function floatToMoeda(nFloat) {

    var antes = '';
    var depois = '';
    nFloat = nFloat.toString();

    if (nFloat.indexOf('.') > -1) {
        nFloat = replaceChar('.', ',', nFloat);

        antes = nFloat.substring(0, nFloat.lastIndexOf(","));
        depois = nFloat.substring(nFloat.lastIndexOf(","));
        antes = formataMilhar(antes);

        if (depois.length == 2)
            depois += "0"; // adiciona um zero ao final [1,10 ao invés de 1,1]
    }
    else {
        antes = formataMilhar(nFloat);
        depois = ",00";
    }
    return nFloat = antes + depois;
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      SOMENTE NUMEROS
//      onkeypress="return soNumero(event)"

function soNumero(evento) {

    var strCheck = "0123456789";
    var ch = retornaChar(evento);

    if (strCheck.indexOf(ch) > -1)
        return true;
    return false;
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Mascara competencia
//      onkeypress="return competencia(campo, evento, [null/'cdl'])"
function competencia(campo, evento, tipo) {

    var key = retornaKey(evento);
    var anoMax = new Date();
    var anoMin = new Date();
    var ch = String.fromCharCode(retornaKey(evento));
    var sValor = campo.value + ch;
    var nValor = parseInt(sValor.replace("/", ''), 10);
    var mes = "12";
    var caracter = "/";
    var len = sValor.length;

    if (len < 3) {// se for mes

        if (len == 2 && (parseInt(sValor.substring(0, 1), 10) == 0 && parseInt(ch, 10) == 0)) {//mes 00
            return false;
        }

        if ((nValor > parseInt(mes.substring(0, len), 10)) && len <= 1)
            return false;
        else if (nValor > parseInt(mes, 10))
            return false;

        if (len == 2) {
            campo.value = sValor + caracter;
            return false;
        }
    }
    else {// ano

        if (campo.value.length == 2) {
            campo.value += caracter + ch;
            return false;
        }

        anoMax = anoMax.getFullYear().toString();

        // ano atual + 1: limite pra ano digitado (ano atual + 1) > para competencia CDL
        anoMax = (parseInt(anoMax, 10) + 1).toString(); //ano maximo [atual + 1]

        if (tipo == "cdl") {
            anoMin = "1980"; //ano miminimo pra competencia
        }
        else if (tipo == "validade") {//DMF: 20090804
            anoMin = anoMin.getFullYear().toString(); //ano miminimo pra validade
        }

        sValor = sValor.substring(sValor.indexOf("/") + 1); // String ano

        if (sValor.substring(0, 1) == '0')//ano 0
            return false;

        nValor = parseInt(sValor, 10);
        anoMax = parseInt(anoMax.substring(0, sValor.length), 10);
        anoMin = parseInt(anoMin.substring(0, sValor.length), 10);

        if ((nValor > anoMax) || (nValor < anoMin))//numero maior ou menor que o ano permitido
            return false;
    }
}
//////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////        
//      Mascara para Letras
//      onkeypress="return soLetra(event)"

function soLetra(evento) {

    var key = retornaKey(evento);
    if (isControlKey(key))
        return true;

    // letras maiúsculas, minúsculas e Ç/ç
    if ((isBetween(key, 65, 90) || isBetween(key, 97, 122)) || (key == 231 || key == 199))
        return true;

    return false;
}

//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Verificar s eo numero está entre dois limites
//      isBetween(5, 0, 9)
//      retorno: bool

function isBetween(numero, inicio, fim) {
    if (numero >= inicio && numero <= fim)
        return true;
    return false;
}
//////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////        
//      Retorna codigo da tecla pressionada
//      var key = retornaKey(evento);

function retornaKey(evento) {

    if (document.all) { // Internet Explorer
        key = evento.keyCode;
    }
    else { // Firefox, Nestcape
        key = evento.which;
    }

    return key;
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Retorna caracter da tecla pressionada
//      var key = retornaChar(evento);

function retornaChar(evento) {
    return String.fromCharCode(retornaKey(evento));
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Retorna seleção
//      var txt = getSelected(campo);
function getSelected(campo) {
    var txt = '';

    if (document.selection) {
        txt = document.selection.createRange().text;
    }
    else if (typeof (campo.selectionStart) != "undefined") {
        txt = campo.value.substring(campo.selectionStart, campo.selectionEnd);
    }
    else return;

    return txt;
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Retorna string com o caracter na posição desejada
//      insereCaracter(string, posição, caracter)

function insereCaracter(string, indice, caracter) {

    var antes;
    var depois;

    antes = string.substring(0, indice);
    depois = string.substring(indice);
    string = antes + caracter + depois;

    return string;
}
//
//
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Retorna string com o caracter na posição desejada removido
//      removeCaracter(string, posição)

function removeCaracter(string, indice) {

    var antes;
    var depois;

    antes = string.substring(0, indice);
    depois = string.substring(indice + 1);
    string = antes + depois;
    return string;
}
//
//
//////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////
//      coloca em caixa alta o que for digitado
//      onkeyup="return toUp(this)"

function toUp(campo) {

    if (window.event) {
        //Permite andar pelo campo no IE
        if (isControlKey(retornaKey(window.event))) {
            return false;
        }
    }

    var texto = campo.value.toUpperCase();
    var ch = texto.substring(texto.length--);

    texto = insereCaracter(texto, getPosition(campo), ch);
    campo.value = texto;
    return false;
}

//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//      VERIFICA SE A TECLA DIGITADA É DE CONTROLE (BACKSPACE, ESPAÇO, TAB, CTRL, ETC)
//      Retorno: Boolean

function isControlKey(key) {
    if (key < 40)
        return true;
    return false;
}
//////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////
//      Retorna Posição do cursor
//      getPosition(campo)

function getPosition(campo) {
    var CaretPos = 0;
    // IE Support
    if (document.selection) {

        campo.focus();
        var Sel = document.selection.createRange();
        var SelLength = document.selection.createRange().text.length;
        Sel.moveStart('character', -campo.value.length);
        CaretPos = Sel.text.length - SelLength;
    }
    // Firefox support
    else if (campo.selectionStart || campo.selectionStart == '0')
        CaretPos = campo.selectionStart;

    return (CaretPos);

}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Seleciona o conteudo do campo
//      onclick = "select(this)"

function select(campo) {
    campo.focus();
    campo.select();
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Respeita o maxLenght para TextBox:multiline
//      onkeydown="return maxChar(this,event,numero_maximo)"
function maxChar(campo, evento, maximo) {
    var key = retornaKey(evento);

    if (key == 0 || key == 8 || key == 9 || (key >= 37 && key <= 40)) {
        return true;
    }
    if (campo.value.length >= maximo) {
        return false;
    }
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Troca um caracter por outro em uma string : o replace() do javascript só faz a primeira ocorrencia.
//      string = replace([caracter], [novo_caracter], string)
//      retorno: string
function replaceChar(ch, nch, texto) {
    //ch: caracter a ser alterado
    //nch: novo caracter
    texto = texto.toString();
    while (texto.indexOf(ch) > -1) {

        texto = texto.replace(ch, nch);
    }
    return texto;
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////        
//      Retorna um numero formatado para calculo com float
//      var numero = formataFloat(numero);
//      retorno: float
function formataFloat(numero) {

    numero = replaceChar('.', '', numero);
    numero = replaceChar(',', '.', numero);

    return parseFloat(numero);
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//  Calcula o ValorTotal = valorUnitário * quantidade
function Calcular(pValorUnitario, pQuantidade, pTotal) {
    var valorUnitario = pValorUnitario.value;
    valorUnitario = valorUnitario.replace('.', '');
    valorUnitario = valorUnitario.replace(',', '.');

    var quantidade = pQuantidade.value;
    var resultado = valorUnitario * quantidade;

    resultado = parseFloat(resultado);

    Conversao(resultado, pTotal);

}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//  Calcula o Desconto = valor total - desconto
function CalcularDesconto(pDesconto, pTotal) {

    if (pDesconto.value != "") {

        var desconto = pDesconto.value;
        desconto = desconto.replace('.', '').replace('.', '');
        desconto = desconto.replace(',', '.').replace(',', '.');

        var valorTotalDOC = pTotal.innerHTML;
        valorTotalDOC = valorTotalDOC.replace('.', '').replace('.', '');
        valorTotalDOC = valorTotalDOC.replace(',', '.').replace(',', '.');

        var resultado = parseFloat(valorTotalDOC) - parseFloat(desconto);

        resultado = parseFloat(resultado);

        Conversao(resultado, pTotal);
    }
    else
        return;

}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//  Calcula líquido = totalDOCBruto - desconto - descontoBaixa + acrescimo
//  Calcula juros = Liquido * jurosDia * diasAtraso
function CalcularJuros(pTotalBruto, pDesconto, pDescontoBaixa, pAcrescimo, pJurosDia, pDiasAtraso, pJuros) {

    var totalDOCBruto = pTotalBruto.innerHTML;
    totalDOCBruto = totalDOCBruto.replace('.', '').replace('.', '');
    totalDOCBruto = totalDOCBruto.replace(',', '.');

    var desconto = pDesconto.innerHTML;
    desconto = desconto.replace('.', '').replace('.', '');
    desconto = desconto.replace(',', '.');
    if (desconto == "")
        desconto = 0.00;

    var descontoBaixa = pDescontoBaixa.value;
    descontoBaixa = descontoBaixa.replace('.', '').replace('.', '');
    descontoBaixa = descontoBaixa.replace(',', '.');
    if (descontoBaixa == "")
        descontoBaixa = 0.00;

    var acrescimo = pAcrescimo.value;
    acrescimo = acrescimo.replace('.', '').replace('.', '');
    acrescimo = acrescimo.replace(',', '.');
    if (acrescimo == "")
        acrescimo = 0.00;

    var jurosDia = pJurosDia.value;
    jurosDia = jurosDia.replace('.', '').replace('.', '');
    jurosDia = jurosDia.replace(',', '.');

    var diasAtraso = pDiasAtraso.value;

    //TOTAL DOC LÍQUIDO---------------------------------------------------------------------------------------------------------
    var resultadoLiquido = parseFloat(totalDOCBruto) - parseFloat(desconto) - parseFloat(descontoBaixa) + parseFloat(acrescimo);

    //TOTAL DE JUROS------------------------------------------------------------------------------------------------------------
    var resultado = resultadoLiquido * jurosDia * diasAtraso;
    resultado = parseFloat(resultado);

    Conversao(resultado, pJuros);

}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//  Calcula líquido = totalDOCBruto - desconto - descontoBaixa + acrescimo
//  Calcula juros = Liquido + juros + multa
function CalcularTotalPagar(pTotalBruto, pDesconto, pDescontoBaixa, pAcrescimo, pJuros, pMulta, pTotal) {

    var totalDOCBruto = pTotalBruto.innerHTML;
    totalDOCBruto = totalDOCBruto.replace('.', '').replace('.', '');
    totalDOCBruto = totalDOCBruto.replace(',', '.');
    if (totalDOCBruto == "")
        totalDOCBruto = 0.00;

    var desconto = pDesconto.innerHTML;
    desconto = desconto.replace('.', '').replace('.', '');
    desconto = desconto.replace(',', '.');
    if (desconto == "")
        desconto = 0.00;

    var descontoBaixa = pDescontoBaixa.value;
    descontoBaixa = descontoBaixa.replace('.', '').replace('.', '');
    descontoBaixa = descontoBaixa.replace(',', '.');
    if (descontoBaixa == "")
        descontoBaixa = 0.00;

    var acrescimo = pAcrescimo.value;
    acrescimo = acrescimo.replace('.', '').replace('.', '');
    acrescimo = acrescimo.replace(',', '.');
    if (acrescimo == "")
        acrescimo = 0.00;

    var juros = pJuros.innerHTML;
    juros = juros.replace('.', '').replace('.', '').replace('.', '').replace('.', '').replace('.', '').replace('.', '').replace('.', '');
    juros = juros.replace(',', '.');
    if (juros == "")
        juros = 0.00;

    var multa = pMulta.value;
    multa = multa.replace('.', '');
    multa = multa.replace(',', '.');
    if (multa == "")
        multa = 0.00;

    //TOTAL DOC LÍQUIDO---------------------------------------------------------------------------------------------------------
    var resultadoLiquido = parseFloat(totalDOCBruto) - parseFloat(desconto) - parseFloat(descontoBaixa) + parseFloat(acrescimo);

    //TOTAL A PAGAR------------------------------------------------------------------------------------------------------------
    var resultado = parseFloat(resultadoLiquido) + parseFloat(juros) + parseFloat(multa);
    resultado = parseFloat(resultado);

    Conversao(resultado, pTotal);

}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//  transforma número padrão americano para português nos cálculos
function Conversao(pResultado, pFinal) {
    x = 0;
    if (pResultado < 0) {
        pResultado = Math.abs(pResultado);
        x = 1;
    }
    if (isNaN(pResultado)) pResultado = "0";
    cents = Math.floor((pResultado * 100 + 0.5) % 100);

    pResultado = Math.floor((pResultado * 100 + 0.5) / 100).toString();

    if (cents < 10) cents = "0" + cents;
    for (var i = 0; i < Math.floor((pResultado.length - (1 + i)) / 3); i++)
        pResultado = pResultado.substring(0, pResultado.length - (4 * i + 3)) + '.'
               + pResultado.substring(pResultado.length - (4 * i + 3));
    ret = pResultado + ',' + cents;
    if (x == 1) ret = ' - ' + ret; //return ret;

    pFinal.innerHTML = ret;

}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//  processamento do faturamento (parcial,fechamento,reabertura) OnClientClick="Processar('ctl00_cph_lbMensagem',this);"
function Processar(pMensagem, pBotao) {
    $get(pMensagem).style.display = 'none';
    $get(pBotao.id).disabled = true;
    __doPostBack(pBotao.name, '');
}
//////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
//  Impressão de relatórios para o módulo de faturamento capturando o 'logo' da cdl, a competência e
//  e o título da master page; 
//  OnClientClick="Imprime('[nome do div,painel, enfim container]');"
function Imprime(pContainer) {
    var formImpressao = $get(pContainer);
    var janela = window.open('', '', 'left=50,top=50,width=0,height=0,toolbar=0,scrollbars=1,status=0');

    var titulo = document.getElementById('ctl00_lbTitulo');

    var competencia = 'Competência: ';
    var competenciaTexto;
    var indiceDropDown;

    var imgLogo = document.getElementById('ctl00_logo');

    if (document.aspnetForm.ctl00$ddlCompetencia) {
        indiceDropDown = document.aspnetForm.ctl00$ddlCompetencia.selectedIndex;
        competenciaTexto = document.aspnetForm.ctl00$ddlCompetencia.options[indiceDropDown].text;
    }
    else {
        competencia = '';
        competenciaTexto = '';
    }

    janela.document.writeln('<head>');
    janela.document.writeln('<title>' + titulo.innerHTML + '</title>');
    janela.document.writeln('<link type="text/css" rel="Stylesheet" media="screen" href="../App_Themes/Print/print.css" />');
    janela.document.writeln('<link type="text/css" rel="Stylesheet" media="print" href="../App_Themes/Print/print.css" />');
    janela.document.writeln('</head>');

    janela.document.writeln('<body>');
    janela.document.writeln('<form>');
    janela.document.writeln('<input type="button" id="botao" value="Imprimir" onClick="window.print();">');
    janela.document.writeln('</br>');
    janela.document.writeln('</br>');
    janela.document.writeln('<table>');
    janela.document.writeln('<tr>');
    janela.document.writeln('<td> <img src=' + imgLogo.src + '> </td>');
    janela.document.writeln('<td>');
    janela.document.writeln('<h3>' + titulo.innerHTML + '</h3>');
    janela.document.writeln('<h4>' + competencia + competenciaTexto + '</h4>');
    janela.document.writeln('</td>');
    janela.document.writeln('</tr>');
    janela.document.writeln('</table>');
    janela.document.writeln('</br>');
    janela.document.writeln('</br>');
    janela.document.write(formImpressao.innerHTML);
    janela.document.writeln('</form>');
    janela.document.writeln('</body>');

    janela.document.close();
    janela.focus();

}

//////////////////////////////////////////////////////////////////////////////////////////////

function itemOver(div) {
    div.className = 'post-itemOver';
}

function itemOut(div) {
    div.className = '';
} 