function Teste() {
    alert('Teste2');
}

function mostra_menu_vertical(parent_menu, menu_ref, menu_id) {
    var menu = document.getElementById(menu_id);
    var posX;
    var posY;
    if (menu) {
        menu.style.visibility = "visible";
        if (parent_menu) {
            parent_menu.style.visibility = "visible";
            esconde_DropDownLists(parent_menu);
        }
        if (menu_ref) {

            posX = PosX(menu_ref);
            posY = PosY(menu_ref);
            menu.style.top = posY + menu_ref.offsetHeight;
            if ((posX + menu.offsetWidth) > document.body.offsetWidth) {
                menu.style.left = document.body.offsetWidth - menu.offsetWidth - 20;
            } else {
                menu.style.left = posX;
            }
        }
        esconde_DropDownLists(menu);
    }
}

function mostra_menu_horizontal(parent_menu, menu_id) {
    var menu = document.getElementById(menu_id);
    var posX;
    var posY;
    if (menu) {
        menu.style.visibility = "visible";
        menu.style.zIndex = 1;
        if (parent_menu) {
            posX = PosX(parent_menu);
            posY = PosY(parent_menu);
            menu.style.top = posY + 3;
            if ((posX + parent_menu.offsetWidth + menu.offsetWidth) > document.body.offsetWidth) {
                menu.style.left = posX - menu.offsetWidth + 10;
            }
            else {
                menu.style.left = posX + parent_menu.offsetWidth + 9;
            }
        }
        esconde_DropDownLists(menu);
    }
}

function esconde_menu(menu_id) {
    var menu = document.getElementById(menu_id);
    if (menu) {
        mostra_DropDownLists(menu);
        menu.style.visibility = "hidden";
    }
}

function esconde_menus() {
    var divs = document.getElementsByTagName('div');
    var id;
    for (var i = 0; i < divs.length; i++) {
        id = divs.item(i).id;
        if (id.split('_').length > 0) {
            if (id.split('_')[0] == 'menu') {
                esconde_menu(id);
            }
        }
    }
    mostra_DropDownLists();
}

function esconde_DropDownLists(menu) {
    if (window.navigator.appName.toLowerCase().indexOf("netscape") == -1) {
        var selects = document.forms[0].getElementsByTagName('select');
        for (var i = 0; i < selects.length; i++) {
            if (PosY(selects.item(i)) < (menu.offsetTop + menu.offsetHeight)) {
                selects.item(i).style.visibility = "hidden";
            }
        }
    }
}

function mostra_DropDownLists() {
    if (window.navigator.appName.toLowerCase().indexOf("netscape") == -1) {
        var selects = document.forms[0].getElementsByTagName('select');
        for (var i = 0; i < selects.length; i++) {
            if (selects.item(i).style.visibility == "hidden") {
                selects.item(i).style.visibility = "visible";
            }
        }
    }
}

function scrollMeTo(id) {
    var el = document.getElementById(id);
    var top = PosY(el);
    window.scrollBy(0, top);
}

function PosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function PosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}


function organiza_scroll_grid(grid_id) {
    var colH;
    var colF;
    var tamcolH;
    var tamcolF;
    var table = document.getElementById(grid_id);
    var msg;
    if (table) {

        for (i = 0; i < table.rows.item(0).cells.length - 1; i++) {
            colF = table.rows.item(0).cells.item(i);
            colH = document.getElementById(grid_id + '_table_header').rows.item(0).cells.item(i);
            tamcolH = parseInt(colH.offsetWidth);
            tamcolF = parseInt(colF.offsetWidth);
            if (tamcolH < tamcolF) {
                colF.setAttribute("width", colF.offsetWidth + 2);
                colH.setAttribute("width", colF.offsetWidth - 4);
            } else {
                colH.setAttribute("width", colH.offsetWidth + 3);
                colF.setAttribute("width", colH.offsetWidth - 1);
            }
        }
    }
}

// **********************************
// * Funcões para AutoFormatação
// **********************************

// Chamada: onkeypress="FormataValor(this)"
//12.345,67

function ExibeCalendario(textBox) {
    var edit = document.getElementById(textBox);
    if (edit) {
        var data = converteDataCalendario(edit.value);
        if (data != null)
            data = abreDialogoModal('AgendaCalendario.aspx?data=' + edit.value, 196, 256);
        else
            data = abreDialogoModal('AgendaCalendario.aspx', 196, 256);
        if (data)
            edit.value = data;
    }
    return false
}

function converteDataCalendario(op) {
    var day, month, year;
    var yearLastExp = new RegExp('^\\s*(\\d{1,2})([-./])(\\d{1,2})\\2(\\d{4})\\s*$');
    m = op.match(yearLastExp);
    if (m == null)
        return null;
    day = m[1];
    month = m[3];
    year = m[4];
    month -= 1;
    var date = new Date(year, month, day);
    return (typeof (date) == 'object' && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date.valueOf() : null;
}

function abreDialogoModal(url, largura, altura) {
    return window.showModalDialog(
		'../JanelaModal.aspx?url=' + encodeURIComponent(url),
		'',
		'dialogHeight: ' + altura + 'px;' +
		'dialogWidth: ' + largura + 'px;' +
		'center: yes;' +
		'help: no;' +
		'status: no;');
}

function retornaDialogoModal(value) {
    window.top.returnValue = value;
    window.top.close();
    return false;
}


function FormataValor(obj) {

    vr = obj.value;
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace(",", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    tam = vr.length;

    if (tam < obj.value.length && event.keyCode != 8) { tam = vr.length + 1; }

    if (event.keyCode == 8) { tam--; }

    if (event.keyCode == 8 || event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {
        if (tam <= 2) {
            obj.value = vr;
        }
        if ((tam > 2) && (tam <= 5)) {
            obj.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 6) && (tam <= 8)) {
            obj.value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 9) && (tam <= 11)) {
            obj.value = vr.substr(0, tam - 8) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 12) && (tam <= 14)) {
            obj.value = vr.substr(0, tam - 11) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 15) && (tam <= 17)) {
            obj.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
        }
    }
}


// Chamada: onkeypress="FormataData(this)"
//12/34/5678
function FormataData(obj) {

    vr = obj.value;
    vr = vr.replace(".", "");
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    tam = vr.length + 1;

    if (event.keyCode != 9 && event.keyCode != 8) {
        if (tam > 2 && tam < 5)
            obj.value = vr.substr(0, tam - 2) + '/' + vr.substr(tam - 2, tam);
        if (tam >= 5 && tam <= 10)
            obj.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4);
    }
}

// Chamada: onkeypress="FormataMesAno(this)"
//12/34
function FormataMesAno(obj) {
    vr = obj.value;
    vr = vr.replace(".", "");
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    tam = vr.length + 1;

    if (event.keyCode != 9 && event.keyCode != 8) {
        if (tam > 2 && tam < 7)
            obj.value = vr.substr(0, 2) + '/' + vr.substr(2, tam);
    }
}



// Chamada: onkeypress="FormataCpf(this)"
//123.456.789-01 
function FormataCpf(obj) {

    vr = obj.value;
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace(",", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    tam = vr.length;

    if (tam < obj.value.length && event.keyCode != 8) { tam = vr.length + 1; }

    if (event.keyCode == 8) { tam--; ; }

    if (event.keyCode == 8 || event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {
        if (tam <= 2) {
            obj.value = vr;
        }
        if ((tam > 2) && (tam <= 5)) {
            obj.value = vr.substr(0, tam - 2) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 6) && (tam <= 8)) {
            obj.value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 9) && (tam <= 11)) {
            obj.value = vr.substr(0, tam - 8) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 12) && (tam <= 14)) {
            obj.value = vr.substr(0, tam - 11) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 15) && (tam <= 17)) {
            obj.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam);
        }
    }
}

// Chamada: onkeypress="FormataCnpj(this)"
//12.345.678/9012-34
function FormataCnpj(obj) {

    vr = obj.value;
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace(",", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    tam = vr.length;

    if (tam < obj.value.length && event.keyCode != 8) { tam = vr.length + 1; }

    if (event.keyCode == 8) { tam--; }

    if (event.keyCode == 8 || event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {
        if (tam <= 2) {
            obj.value = vr;
        }
        if ((tam > 2) && (tam <= 6)) {
            obj.value = vr.substr(0, tam - 2) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 7) && (tam <= 9)) {
            obj.value = vr.substr(0, tam - 6) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 10) && (tam <= 12)) {
            obj.value = vr.substr(0, tam - 9) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 13) && (tam <= 14)) {
            obj.value = vr.substr(0, tam - 12) + '.' + vr.substr(tam - 12, 3) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam);
        }
        if ((tam >= 15) && (tam <= 17)) {
            obj.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam);
        }
    }
}

// Chamada: onkeypress="FormataTelefone(this)"
//1234-5678
function FormataTelefone(obj) {

    vr = obj.value;
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace(",", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    tam = vr.length;

    if (tam < obj.value.length && event.keyCode != 8) { tam = vr.length + 1; }

    if (event.keyCode == 8) { tam--; }

    if (event.keyCode == 8 || event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {
        if (tam <= 2) {
            obj.value = vr;
        }
        if ((tam > 4)) {
            obj.value = vr.substr(0, tam - 4) + '-' + vr.substr(tam - 4, tam);
        }
    }
}

// Chamada: onkeypress="FormataCep(this)"
//1234-5678
function FormataCep(obj) {

    vr = obj.value;
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace(",", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    tam = vr.length;

    if (tam < obj.value.length && event.keyCode != 8) { tam = vr.length + 1; }

    if (event.keyCode == 8) { tam--; }

    if (event.keyCode == 8 || event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {
        if (tam <= 2) {
            obj.value = vr;
        }
        if ((tam > 5)) {
            obj.value = vr.substr(0, tam - 3) + '-' + vr.substr(tam - 3, tam);
        }
    }
}

// Chamada: onkeypress="FormataDado(this)"
//1234-5
function FormataDado(obj) {


    vr = obj.value;
    vr = vr.replace("-", "");
    vr = vr.replace(".", "");
    vr = vr.replace("/", "");
    tam = vr.length;

    if (tam < obj.value.length && event.keyCode != 8) { tam = vr.length + 1; }

    if (event.keyCode == 8) { tam--; }

    if (event.keyCode == 8 || event.keyCode == 88 || event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {
        if (tam <= 2) {
            obj.value = vr;
        }
        if (tam > 1 && tam <= obj.value.length) {
            obj.value = vr.substr(0, tam - 1) + '-' + vr.substr(tam - 1, tam);
        }
    }

}

// Chamada: onkeypress="FormataPercentual(this)"
//12,34
function FormataPercentual(obj) {

    vr = obj.value;
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace(",", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    tam = vr.length;

    if (tam < obj.value.length && event.keyCode != 8) { tam = vr.length + 1; }

    if (event.keyCode == 8) { tam--; }

    if (event.keyCode == 8 || event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {
        if (tam <= 3) {
            obj.value = vr;
        }
        if ((tam > 3) && (tam <= 6)) {
            obj.value = vr.substr(0, tam - 3) + ',' + vr.substr(tam - 3, tam);
        }
    }

}

function formatar_moeda(campo, separador_milhar, separador_decimal, tecla) {
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? tecla.which : tecla.keyCode;

    if (whichCode == 13) return true; // Tecla Enter
    if (whichCode == 8) return true; // Tecla Delete
    key = String.fromCharCode(whichCode); // Pegando o valor digitado
    if (strCheck.indexOf(key) == -1) return false; // Valor inválido (não inteiro)
    len = campo.value.length;
    for (i = 0; i < len; i++)
        if ((campo.value.charAt(i) != '0') && (campo.value.charAt(i) != separador_decimal)) break;
    aux = '';
    for (; i < len; i++)
        if (strCheck.indexOf(campo.value.charAt(i)) != -1) aux += campo.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) campo.value = '';
    if (len == 1) campo.value = '0' + separador_decimal + '0' + aux;
    if (len == 2) campo.value = '0' + separador_decimal + aux;

    if (len > 2) {
        aux2 = '';

        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += separador_milhar;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }

        campo.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
            campo.value += aux2.charAt(i);
        campo.value += separador_decimal + aux.substr(len - 2, len);
    }

    return false;
}


function numeros() {

    if (document.all) // Internet Explorer   
        var tecla = event.keyCode;
    else if (document.layers) // Nestcape   
        var tecla = e.which;

    if ((tecla > 47 && tecla < 58)) // numeros de 0 a 9   
        return true;
    else {
        if (tecla != 8) // backspace   
        //event.keyCode = 0;   
            return false;
        else
            return true;
    }
}



/***************************************************************/
/* TESTAR SE CPF/CNPJ SÃO VÁLIDOS
/**************************************************************/

// Chamada: onsubmit="validar(cic)"
function validar(objCIC) {

    objCIC.value = DeixarApenasNumeros(objCIC.value);

    if (IsValidCIC(objCIC.value)) {

        alert('VÁLIDO');

    }
    else {

        Selecionar(objCIC);

    }


}

/***************************************************************/
/* Validação CPF/CNPJ
/* (Cartão de Identificação do Contribuinte - CIC)
/* (Cadastro Geral de Contribuintes - CGC) 
/**************************************************************/
function IsValidCIC(numCIC) {
    var numDois = numCIC.substring(numCIC.length - 2, numCIC.length);
    var novoCIC = numCIC.substring(0, numCIC.length - 2);
    switch (numCIC.length) {
        case 11:
            numLim = 11;
            break;
        case 14:
            numLim = 9;
            break;
        default: return false;
    }
    var numSoma = 0;
    var Fator = 1;
    for (var i = novoCIC.length - 1; i >= 0; i--) {
        Fator = Fator + 1;
        if (Fator > numLim) {
            Fator = 2;
        }
        numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i + 1)));
    }
    numSoma = numSoma / 11;
    var numResto = Math.round(11 * (numSoma - Math.floor(numSoma)));
    if (numResto > 1) {
        numResto = 11 - numResto;
    }
    else {
        numResto = 0;
    }
    //-- Primeiro dígito calculado.  Fará parte do novo cálculo.

    var numDigito = String(numResto);
    novoCIC = novoCIC.concat(numResto);
    //--
    numSoma = 0;
    Fator = 1;
    for (var i = novoCIC.length - 1; i >= 0; i--) {
        Fator = Fator + 1;
        if (Fator > numLim) {
            Fator = 2;
        }
        numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i + 1)));
    }
    numSoma = numSoma / 11;
    numResto = numResto = Math.round(11 * (numSoma - Math.floor(numSoma)));
    if (numResto > 1) {
        numResto = 11 - numResto;
    }
    else {
        numResto = 0;
    }
    //-- Segundo dígito calculado.
    numDigito = numDigito.concat(numResto);
    if (numDigito == numDois) {
        return true;
    }
    else {
        return false;
    }
}


/***************************************************************/
/* Retira letras e caracteres especiais deixando apenas letras 
/**************************************************************/
function DeixarApenasNumeros(strParm) {

    strParm = String(strParm);
    var chrPrt = "0";
    var strRet = "";
    var j = 0;
    for (var i = 0; i < strParm.length; i++) {
        chrPrt = strParm.substring(i, i + 1);
        if (chrPrt.match(/\d/)) {
            if (j == 0) {
                strRet = chrPrt;
                j = 1;
            }
            else {
                strRet = strRet.concat(chrPrt);
            }
        }
    }

    return strRet;

}


/***************************************************************/
/* Selecionar o objeto e emitir uma mensagem de alerta
/**************************************************************/
function Selecionar(objSelect) {

    objSelect.select();
    alert("Valor " + objSelect.value + " está incorreto");
    objSelect.focus();

}


/*********************************************************************************/
/* Funções de Máscara para CPF, CNPJ e CEP
/********************************************************************************/


// Chamada: onblur="MascararCPF(this)"
function MascararCPF(numCPF) {

    var ER_CPF = /^\d{3}\.\d{3}\.\d{3}-\d{2}$/;

    if (numCPF.value.length == 11) {
        numCPF.value = numCPF.value.substring(0, 3) + "." + numCPF.value.substring(3, 6) + "." + numCPF.value.substring(6, 9) + "-" + numCPF.value.substring(9, 11);
    }

    if (!numCPF.value.match(ER_CPF)) {
        numCPF.value = DeixarApenasNumeros(numCPF.value);
    }


}

// Chamada: onblur="MascararCNPJ(this)"
function MascararCNPJ(numCNPJ) {

    var ER_CNPJ = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/;

    if (numCNPJ.value.length == 14) {
        numCNPJ.value = numCNPJ.value.substring(0, 2) + "." + numCNPJ.value.substring(2, 5) + "." + numCNPJ.value.substring(5, 8) + "/" + numCNPJ.value.substring(8, 12) + "-" + numCNPJ.value.substring(12, 14);
    }

    if (!numCNPJ.value.match(ER_CNPJ)) {
        numCNPJ.value = DeixarApenasNumeros(numCNPJ.value);
    }


}


// Chamada: onblur="MascararCEP(this)"
function MascararCEP(numCEP) {

    var ER_CEP = /^\d{5}-\d{3}$/;

    if (numCEP.value.length == 8) {
        numCEP.value = numCEP.value.substring(0, 5) + "-" + numCEP.value.substring(5, 8);
    }

    if (!numCEP.value.match(ER_CEP)) {
        numCEP.value = DeixarApenasNumeros(numCEP.value);
    }

}


/*********************************************************************************/
/* Fazer campo aceitar somente números
/********************************************************************************/

// chamada: onkeypress="VerificaDigitos(this.value)"
function VerificaDigitos() {

    if (event.keyCode < 48 || event.keyCode > 57) {
        event.keyCode = null;
    }
}


// **********************************
// * Funcões de Formatação de Horas *
// **********************************

// Chamada: onkeypress="doVerifyHour(this.value)"
function doVerifyHour(key) {

    if ((event.keyCode < 48 || event.keyCode > 58) && event.keyCode != 27) event.keyCode = null;
}

//  chamada:  onchange="doFormatHour(this)"
function doFormatHour(myObject) {

    var valueObj = myObject.value;
    if (myObject.value.length == 6) {
        myObject.value = valueObj.substring(0, 2) + ":" + valueObj.substring(2, 4) + ":" + valueObj.substring(4, 6);
    }
}


//  chamada:  onblur="if (!isHour(this.value)) this.focus()"
function isHour(myDate) {

    if (myDate == "") return true;

    if (myDate.length == 8) {
        if (myDate.substring(2, 3) == ":" && myDate.substring(5, 6) == ":") {
            var hour = myDate.substring(0, 2);
            var minute = myDate.substring(3, 5);
            var seconde = myDate.substring(6, 8);

            if (hour <= 24 && minute <= 60 && seconde <= 60) {
                return true;
            }

            else {
                if (hour > 24) {
                    alert("Número de Horas Invállidas");
                    return false;
                }
                if (minute > 60) {
                    alert("Número de Minutos Inválidos");
                    return false;
                }
                if (seconde > 60) {
                    alert("Número de Segundos Inválidos")
                    return false;
                }
            }
        }
    }
    else
        alert("formato de Horas Inválido  HH:MM:SS");
}



/*************************************************************
Funções de Formatacão de Data 
chamada:  onkeypress= 'doVerifyDateBarra(this.value)' onchange= 'doFormatDateBarra(this)' onblur= 'if (!isDateBarra(this.value)) this.focus()'
**************************************************************/

//  chamada:  onkeypress= 'doVerifyDate(this.value)'
function doVerifyDateBarra(key) {

    if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 27 && event.keyCode != 47) event.keyCode = null;
}


//  chamada:  onchange= 'doFormatDate(this)'
function doFormatDateBarra(myObject) {

    var valueObj = myObject.value;
    if (myObject.value.length == 8) {
        myObject.value = valueObj.substring(0, 2) + "/" + valueObj.substring(2, 4) + "/" + valueObj.substring(4, 8);
    }
}

//BUG do Milênio
function y2k(number) {
    return (number < 1000) ? number + 1900 : number;
}

//  chamada:  onblur= 'if (!isDate(this.value)) this.focus()'
function isDateBarra(myDate) {

    if (myDate == "") return true;

    if (myDate.length == 10) {
        if (myDate.substring(2, 3) == "/" && myDate.substring(5, 6) == "/") {
            var date = myDate.substring(0, 2);
            var month = myDate.substring(3, 5);
            var year = myDate.substring(6, 10);

            var test = new Date(year, month - 1, date);

            if (year == y2k(test.getYear()) && (month - 1 == test.getMonth()) && (date == test.getDate())) {
                return true;
            }
            else {
                alert('Data inválida');
                return false;
            }
        }
        else {
            alert('Data inválida');
            return false;
        }
    }
    else {
        alert('Formato inválido dd/mm/yyyy');
        return false;
    }
}

/**************************************************/
/* FORMATAÇÃO DE VALORES MONETÁRIOS
/*************************************************/

//  chamada:  onchange= 'doFormatNumber(this)'
function doFormatNumber(myObject, decimalNum) {

    var num = myObject.value

    if (isNaN(parseInt(num))) return "NaN";

    var tmpNum = num;
    var tmpNumStr = new String(tmpNum);

    tmpNum *= Math.pow(10, decimalNum);
    tmpNum = Math.round(Math.abs(tmpNum));
    var tmpNumStr = new String(tmpNum);
    tmpNumStr = Left(tmpNumStr, tmpNumStr.length - decimalNum) + "," + Right(tmpNumStr, decimalNum);

    myObject.value = tmpNumStr;

}


/**************************************************/
/* FUNÇÃO PARA IMPRESSÃO
/*************************************************/

function printIt() {

    document.forms(0).all("btnImprimir").style.display = "none";

    window.print();

    document.forms(0).all("btnImprimir").style.display = "";


}

/*

///////////////////////////////////////////////////////////////////////////////////////

:: exportando dados para o Excel ::

///////////////////////////////////////////////////////////////////////////////////////

<%
// Função que analisa se o relatório será exportado para o Excel

// A variavel "exportar" indica se será ou não exportado (true/false) 
boolean exportar = EXPORTAR.getTextValue().equals("SIM");

if ( exportar ) {

String fileName;

try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
fileName = "RELATORIO_xxx "
+ formatter.format(new Date())
+ ".xls";
} catch(Exception e) {
fileName = "teste.xls";
}
response.setContentType("text/xls");
response.addHeader("Content-Disposition", "attachment; filename=" + fileName);
}

%>


///////////////////////////////////////////////////////////////////////////////////////

configurando o regedit com vbscript

///////////////////////////////////////////////////////////////////////////////////////

<SCRIPT LANGUAGE="vbscript">
<!--
'*********************************************************
'Arquivo responsável por fazer as configurações de header,
'footer e margens para a impressão no Internet Explorer.
'*********************************************************

Dim obj
Dim strPath

Dim header, footer, margin_bottom, margin_top, margin_left, margin_right, orientation

set obj = CreateObject("WScript.Shell")

'Local onde as configurações de página do internet Exlorer estão no Registry
strPath = "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup\"


'Tratamento de erros do script.
On Error Resume Next 

header = obj.RegRead(strPath & "header")
footer = obj.RegRead(strPath & "footer")
margin_bottom = obj.RegRead(strPath & "margin_bottom")
margin_top = obj.RegRead(strPath & "margin_top")
margin_left = obj.RegRead(strPath & "margin_left")
orientation = obj.RegRead(strPath & "orientation")


Sub imprimeLogo()

obj.RegWrite strPath & "header", "", "REG_SZ"
obj.RegWrite strPath & "footer", "", "REG_SZ"
obj.RegWrite strPath & "margin_bottom", "0.50000", "REG_SZ"
obj.RegWrite strPath & "margin_top", "0.50000", "REG_SZ"
obj.RegWrite strPath & "margin_left", "0.50000", "REG_SZ"
obj.RegWrite strPath & "margin_right", "0.50000", "REG_SZ"
obj.RegWrite strPath & "orientation", "1", "REG_SZ"

document.forms(0).all("BTN-IMPRIMIR").style.display = "none"
document.forms(0).all("BTN-VOLTAR").style.display = "none"

self.print()

document.forms(0).all("BTN-IMPRIMIR").style.display = ""
document.forms(0).all("BTN-VOLTAR").style.display = ""

End Sub


Sub Restaurar()

'Tratamento de erros do script.
On Error Resume Next 
 
obj.RegWrite strPath & "header", header, "REG_SZ"
obj.RegWrite strPath & "footer", footer, "REG_SZ"
obj.RegWrite strPath & "margin_bottom", margin_bottom, "REG_SZ"
obj.RegWrite strPath & "margin_top", margin_top, "REG_SZ"
obj.RegWrite strPath & "margin_left", margin_left, "REG_SZ"
obj.RegWrite strPath & "margin_right", margin_right, "REG_SZ"
obj.RegWrite strPath & "orientation", orientation, "REG_SZ"

End Sub


-->
</SCRIPT>

*/

/*
* <body onload="autoScroll();" onscroll="setScrollPosition();">
* ..
* <form ..>
* <asp:TextBox id="ScrollPosition" style="DISPLAY: none" runat="server">0</asp:TextBox>
*
* Se for necessário resetar o scroll (ex.: ao clicar no botão Gravar)
* ScrollPosition.Text = "0";
*/
function autoScroll() {
    if (document.forms[0].ScrollPosition) {
        window.scrollTo(0, document.forms[0].ScrollPosition.value);
    }
}
function setScrollPosition() {
    if (document.forms[0].ScrollPosition)
        document.forms[0].ScrollPosition.value = document.body.scrollTop;
}



/*
* Troca o foco automaticamente, em campos de tamanho limitado
* utilização: <input onKeyUp="autoTab(this, 3, event);" maxlength="3">
*/
var isNN = (navigator.appName.indexOf("Netscape") != -1);
function autoTab(input, len, e) {
    var keyCode = (isNN) ? e.which : e.keyCode;
    var filter = (isNN) ? [0, 8, 9] : [0, 8, 9, 16, 17, 18, 37, 38, 39, 40, 46, 20, 27, 35, 36, 144];
    if (input.value.length >= len && !containsElement(filter, keyCode)) {
        input.value = input.value.slice(0, len);
        input.form[(getIndex(input) + 1) % input.form.length].focus();
    }
    function containsElement(arr, ele) {
        var found = false, index = 0;
        while (!found && index < arr.length)
            if (arr[index] == ele)
                found = true;
            else
                index++;
        return found;
    }
    function getIndex(input) {
        var index = -1, i = 0, found = false;
        while (i < input.form.length && index == -1)
            if (input.form[i] == input) index = i;
            else i++;
        return index;
    }
    return true;
}



/*
* Coloca o foco no primeiro campo do primeiro form da página
* Utilização: <body onload="placeFocus()">
*/
function placeFocus() {
    if (document.body.scrollTop != 0)
        return;
    if (document.forms.length > 0) {
        var field = document.forms[0];
        for (i = 0; i < field.length; i++) {
            var element = field.elements[i];
            if ((element.type == "text") && !element.disabled && element.style.display != 'none') {
                element.focus();
                break;
            }
        }
    }
}




/*
* Desabilita o botão após ele ser clicado pela primeira vez (se o form estiver válido).
* Assim, é gerado apenas um postback.
*/
var clicked = 0;
function desabilitarBotao(botao) {
    if (clicked == 0 && (typeof (Page_ClientValidate) != 'function' || Page_ClientValidate())) {
        clicked = 1;
        return true;
    }
    else {
        return false;
    }
}


/*
Valida datas que precisam ser menores que a data atual
*/
function EhDataValida(source, arguments) {
    var dtEntrada = arguments.Value;

    // Se a Data não vier com 10 dígitos, erro
    if (dtEntrada.length != 10) {
        //alert('Erro0');
        arguments.IsValid = false;
        return;
    }

    var Dia = dtEntrada.substring(0, 2);
    var Mes = dtEntrada.substring(3, 5);
    var Ano = dtEntrada.substring(6, 10);
    var barra1 = dtEntrada.substring(2, 3);
    var barra2 = dtEntrada.substring(5, 6);

    // Dia, Mês ou Ano não é numérico 
    //   if ((isNaN(parseInt(Dia))) || isNaN(parseInt(Mes)) || isNaN(parseInt(Ano)) )) 
    //   {
    //       //alert('Erro1');
    //       arguments.IsValid=false; 
    //       return;
    //   }

    // Não tem barras / como separador.
    if (barra1 != '/' || barra2 != '/') {
        //alert('Erro2');
        arguments.IsValid = false;
        return;
    }

    // Dia Inválido
    if (Dia < 1 || Dia > 31) {
        //alert('Erro3');
        arguments.IsValid = false;
        return;
    }

    // Mês Inválido
    if (Mes < 1 || Mes > 12) {
        //alert('Erro4');
        arguments.IsValid = false;
        return;
    }

    // Ano Inválido
    if (Ano < 1900) {
        //alert('Erro5');
        arguments.IsValid = false;
        return;
    }

    var Hoje = new Date();
    var dHoje = Hoje.getDate().toString();
    var mHoje = Hoje.getMonth().toString();
    var yHoje = Hoje.getFullYear().toString();
    mHoje = parseInt(mHoje) + 1;
    mHoje = mHoje.toString();
    if (dHoje.length == 1) dHoje = '0' + dHoje;
    if (mHoje.length == 1) mHoje = '0' + mHoje;

    // Data maior ou igual a Data de Hoje. 
    if (Ano == yHoje) {
        if (Mes > mHoje) {
            arguments.IsValid = false;
            return;
        }
        else if (Mes == mHoje) {
            if (Dia >= dHoje) {
                arguments.IsValid = false;
                return;
            }
        }
    }

    // Data incompatível com ano bissexto ou maior que hoje    
    if ((Ano > Date().substring(20, 24)) || (Mes == 2 && Dia > 28 && (Ano % 4 != 0)) || (Mes == 2 && Dia > 29 && (Ano % 4 == 0)) || (Dia > 30 && (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11))) {
        //alert('Erro6');
        arguments.IsValid = false;
        return;
    }

    arguments.IsValid = true;
    //alert("Terminou");
    return;
}

/*
Valida datas 
*/
function EhDataValida2(source, arguments) {
    var dtEntrada = arguments.Value;

    // Se a Data não vier com 10 dígitos, erro
    if (dtEntrada.length != 10) {
        arguments.IsValid = false;
        return;
    }

    var Dia = dtEntrada.substring(0, 2);
    var Mes = dtEntrada.substring(3, 5);
    var Ano = dtEntrada.substring(6, 10);
    var barra1 = dtEntrada.substring(2, 3);
    var barra2 = dtEntrada.substring(5, 6);

    // Não tem barras / como separador.
    if (barra1 != '/' || barra2 != '/') {
        arguments.IsValid = false;
        return;
    }

    // Dia Inválido
    if (Dia < 1 || Dia > 31) {
        arguments.IsValid = false;
        return;
    }

    // Mês Inválido
    if (Mes < 1 || Mes > 12) {
        arguments.IsValid = false;
        return;
    }

    // Ano Inválido
    if ((Ano < 1900) || (Ano > 2079)) {
        arguments.IsValid = false;
        return;
    }

    var Hoje = new Date();
    var dHoje = Hoje.getDate().toString();
    var mHoje = Hoje.getMonth().toString();
    var yHoje = Hoje.getFullYear().toString();
    mHoje = parseInt(mHoje) + 1;
    mHoje = mHoje.toString();
    if (dHoje.length == 1) dHoje = '0' + dHoje;
    if (mHoje.length == 1) mHoje = '0' + mHoje;

    // Se o ano for maior ou igual a 100 anos a mais que o ano atual. 
    if (parseInt(Ano) >= (parseInt(yHoje) + 100)) {
        arguments.IsValid = false;
        return;
    }

    // Data incompatível com ano bissexto ou maior que hoje    
    if ((Mes == 2 && Dia > 28 && (Ano % 4 != 0)) || (Mes == 2 && Dia > 29 && (Ano % 4 == 0)) || (Dia > 30 && (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11))) {
        arguments.IsValid = false;
        return;
    }

    arguments.IsValid = true;
    return;
}

function IsValidDateStr(dtEntrada) {

    // Se a Data não vier com 10 dígitos, erro
    if (dtEntrada.length != 10) {
        return false;
    }

    var Dia = dtEntrada.substring(0, 2);
    var Mes = dtEntrada.substring(3, 5);
    var Ano = dtEntrada.substring(6, 10);
    var barra1 = dtEntrada.substring(2, 3);
    var barra2 = dtEntrada.substring(5, 6);

    // Não tem barras / como separador.
    if (barra1 != '/' || barra2 != '/') {
        return false;
    }

    // Dia Inválido
    if (Dia < 1 || Dia > 31) {
        return false;
    }

    // Mês Inválido
    if (Mes < 1 || Mes > 12) {
        return false;
    }

    // Ano Inválido
    if (Ano < 1900) {
        return false;
    }

    var Hoje = new Date();
    var dHoje = Hoje.getDate().toString();
    var mHoje = Hoje.getMonth().toString();
    var yHoje = Hoje.getFullYear().toString();
    mHoje = parseInt(mHoje) + 1;
    mHoje = mHoje.toString();
    if (dHoje.length == 1) dHoje = '0' + dHoje;
    if (mHoje.length == 1) mHoje = '0' + mHoje;

    // Se o ano for maior ou igual a 100 anos a mais que o ano atual. 
    if (parseInt(Ano) >= (parseInt(yHoje) + 100)) {
        return false;
    }

    // Data incompatível com ano bissexto ou maior que hoje    
    if ((Mes == 2 && Dia > 28 && (Ano % 4 != 0)) || (Mes == 2 && Dia > 29 && (Ano % 4 == 0)) || (Dia > 30 && (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11))) {
        return false;
    }

    return true;
}

//true se d1Str <= d2Str
function IsDateGreaterOrEqual(d1Str, d2Str) {
    var d1 = strToDate(d1Str);
    var d2 = strToDate(d2Str);
    return d2 - d1 >= 0;
}
function strToDate(str) {
    barra1 = str.indexOf('/');
    barra2 = str.lastIndexOf('/');
    if (barra2 <= barra1 || barra1 < 0)
        return null;

    d = str.substring(0, barra1);
    m = str.substring(barra1 + 1, barra2);
    y = str.substring(barra2 + 1, str.length);
    if (!isNumeric(d) || !isNumeric(m) || !isNumeric(y)) {
        return null;
    }
    return new Date(m + '/' + d + '/' + y);
}
//Retorna um bool indicando se a string representa um número
function isNumeric(str) {
    return (str >= "0") && (str <= "9999999999999999");
}

/*
Valida datas que precisam ser maiores que a data atual
*/
function EhDataValida3(source, arguments) {
    var dtEntrada = arguments.Value;

    // Se a Data não vier com 10 dígitos, erro
    if (dtEntrada.length != 10) {
        arguments.IsValid = false;
        return;
    }

    var Dia = dtEntrada.substring(0, 2);
    var Mes = dtEntrada.substring(3, 5);
    var Ano = dtEntrada.substring(6, 10);
    var barra1 = dtEntrada.substring(2, 3);
    var barra2 = dtEntrada.substring(5, 6);

    // Não tem barras / como separador.
    if (barra1 != '/' || barra2 != '/') {
        arguments.IsValid = false;
        return;
    }

    // Dia Inválido
    if (Dia < 1 || Dia > 31) {
        arguments.IsValid = false;
        return;
    }

    // Mês Inválido
    if (Mes < 1 || Mes > 12) {
        arguments.IsValid = false;
        return;
    }

    // Ano Inválido
    if ((Ano < 1900) || (Ano > 2050)) {
        arguments.IsValid = false;
        return;
    }

    var Hoje = new Date();
    var dHoje = Hoje.getDate().toString();
    var mHoje = Hoje.getMonth().toString();
    var yHoje = Hoje.getFullYear().toString();
    mHoje = parseInt(mHoje) + 1;
    mHoje = mHoje.toString();
    if (mHoje.length == 1) mHoje = '0' + mHoje;

    // Data menor que a Data de Hoje. 
    if (parseInt(Ano) == parseInt(yHoje)) {
        if (Mes < mHoje) {
            arguments.IsValid = false;
            return;
        }
        else if (Mes == mHoje) {
            if (Dia < dHoje) {
                arguments.IsValid = false;
                return;
            }
        }
    }
    // Data incompatível com ano bissexto ou menor que hoje    
    if ((Ano < Date().substring(20, 24)) || (Mes == 2 && Dia > 28 && (Ano % 4 != 0)) || (Mes == 2 && Dia > 29 && (Ano % 4 == 0)) || (Dia > 30 && (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11))) {
        arguments.IsValid = false;
        return;
    }

    arguments.IsValid = true;
    return;
}


function FormataData(dtEntrada) {
    // Se a Data for vazia, retorna true
    if (dtEntrada.length == 0)
        return;

    var dtEntrada = arguments.Value;

    var Dia = dtEntrada.GetDate().toString();
    var Mes = dtEntrada.GetMonth().toString();
    var Ano = dtEntrada.GetFullYear().toString();

    if (Dia.length == 1) Dia = '0' + Dia;
    if (Mes.length == 1) Mes = '0' + Mes;
    if (Ano.lenght == 2) Ano = '20' + Ano;

    var dtSaida = Dia + '/' + Mes + '/' + Ano

    return dtSaida;
}





//Funcao para validacao de Cnpj
function ValidaCnpj(source, arguments) {
    var cnpj = arguments.Value;
    var i, j, soma, cnpjaux;
    var dig1, dig2;
    var len = cnpj.length;

    //Valida argumento
    if ((len != 14) || (isNaN(cnpj))) {
        arguments.IsValid = false;
        return;
    }

    for (var i = 0; i < 12; i++) {
        j = cnpj.substring(i, i + 1);
        eval("cnpj" + (i + 1) + "=" + j);
    }

    soma = (cnpj1 * 5) + (cnpj2 * 4) + (cnpj3 * 3) + (cnpj4 * 2) + (cnpj5 * 9) + (cnpj6 * 8) +
           (cnpj7 * 7) + (cnpj8 * 6) + (cnpj9 * 5) + (cnpj10 * 4) + (cnpj11 * 3) + (cnpj12 * 2);

    dig1 = soma - (Math.floor(soma / 11) * 11);

    if ((dig1 == 0) || (dig1 == 1))
        dig1 = 0;
    else
        dig1 = 11 - dig1;

    soma = (cnpj1 * 6) + (cnpj2 * 5) + (cnpj3 * 4) + (cnpj4 * 3) + (cnpj5 * 2) + (cnpj6 * 9) +
           (cnpj7 * 8) + (cnpj8 * 7) + (cnpj9 * 6) + (cnpj10 * 5) + (cnpj11 * 4) + (cnpj12 * 3) +
           (dig1 * 2);
    dig2 = soma - (Math.floor(soma / 11) * 11);

    if ((dig2 == 0) || (dig2 == 1))
        dig2 = 0;
    else
        dig2 = 11 - dig2;

    if ((dig1 + "" + dig2) == cnpj.substring(len, len - 2)) {
        arguments.IsValid = true;
    }
    else
        arguments.IsValid = false;

    return;
}


//Funcao JavaScript para validacao de CPF
function ValidaCpf(source, arguments) {
    var CPF = arguments.Value;
    var soma, cpfaux, i, j;
    var len = CPF.length;
    var dig1, dig2;

    //Valida argumento
    if ((len != 11) || (isNaN(CPF))) {
        arguments.IsValid = false;
        return;
    }

    soma = 0;
    for (i = 0, j = 10; i <= (len - 3); i += 1, j -= 1) {
        soma = soma + CPF.substring(i, i + 1) * j;
    }
    dig1 = 11 - (soma % 11);
    if ((dig1 == 10) || (dig1 == 11)) {
        dig1 = 0;
    }

    cpfaux = CPF + dig1;
    soma = 0;
    for (i = 0, j = 11; i <= (len - 2); i += 1, j -= 1) {
        soma = soma + cpfaux.substring(i, i + 1) * j;
    }
    dig2 = 11 - (soma % 11);
    if ((dig2 == 10) || (dig2 == 11)) {
        dig2 = 0;
    }

    if ((dig1 + "" + dig2) == CPF.substring(len, len - 2)) {
        arguments.IsValid = true;
        return;
    }

    arguments.IsValid = false;
}



//Fecha a janela atual, e dá um postback na janela que abriu esta.
function closePopup() {
    if (window.opener.document.forms[0].NewItem) {
        window.opener.document.forms[0].NewItem.value = document.forms[0].NewItem.value;
        window.opener.document.forms[0].submit();
    }
    window.close();
}

//Abre o popup de Contato
function openContato(novo) {
    if (novo)
        window.open("Contato.aspx?Novo=true", "popupContato", "resizable=1,width=800,height=400,location=0,toolbar=0,menubar=0,scrollbars=1");
    else
        window.open("Contato.aspx", "popupContato", "resizable=1,width=800,height=400,location=0,toolbar=0,menubar=0,scrollbars=1");
}

//Abre o popup de Topico
function openTopico() {
    window.open("Topico.aspx?Novo=true&Indice=-1", "popupTopico", "resizable=1,width=750,height=250,location=0,toolbar=0,menubar=0,scrollbars=1");
}

//Abre uma janela com o url, nome, width, e height especificados.
//A janela é posicionada no centro da tela.
function openPopupWindow(url, nomeJanela, width, height) {
    centerX = (screen.width - width) / 2;
    centerY = (screen.height - height) / 2;
    var x;
    x = window.open(url, nomeJanela, "resizable=1,width=" + width + ",height=" + height + ",top=" + centerY + ",left=" + centerX + ",location=0,toolbar=0,menubar=0,scrollbars=1");
    if (x) { x.focus(); }
}

var lastClienteIDField;
var lastClienteNomeField;
function showBuscaCliente(IDField, NomeField) {
    /*if((!document.getElementByID(IDField)) || (!document.getElementByID(NomeField)))
    return;*/
    var width = 600;
    var height = 400;
    lastClienteIDField = IDField;
    lastClienteNomeField = NomeField;
    centerX = (screen.width - width) / 2;
    centerY = (screen.height - height) / 2;
    window.open("ClientesConsulta.aspx", "Clientes", "resizable=1,width=" + width + ",height=" + height + ",top=" + centerY + ",left=" + centerX + ",location=0,toolbar=0,menubar=0,scrollbars=1");
}

var lastFornecedorIDField;
var lastFornecedorNomeField;
function showBuscaFornecedor(IDField, NomeField) {
    /*if((!document.getElementByID(IDField)) || (!document.getElementByID(NomeField)))
    return;*/
    var width = 600;
    var height = 400;
    lastClienteIDField = IDField;
    lastClienteNomeField = NomeField;
    centerX = (screen.width - width) / 2;
    centerY = (screen.height - height) / 2;
    window.open("FornecedoresConsulta.aspx", "Fornecedores", "resizable=1,width=" + width + ",height=" + height + ",top=" + centerY + ",left=" + centerX + ",location=0,toolbar=0,menubar=0,scrollbars=1");
}

function limparCamposCliente(f1, f2) {
    document.getElementById(f1).value = '0';
    document.getElementById(f2).value = '';
}



function ConverteData(dtEntrada) {
    // Se a Data for vazia, retorna true
    if (dtEntrada.length == 0)
        return;

    var dtEntrada = arguments.Value;

    var Dia = dtEntrada.GetDate().toString();
    var Mes = dtEntrada.GetMonth().toString();
    var Ano = dtEntrada.GetFullYear().toString();

    if (Dia.length == 1) Dia = '0' + Dia;
    if (Mes.length == 1) Mes = '0' + Mes;
    //if (Ano.lenght == 2 ) Ano = '20' + Ano;

    var dtSaida = Ano + Mes + Dia

    return dtSaida;
}

function ApagaItem(box) {
    // Apaga os itens selecionados de um listbox
    // e o organiza.
    for (var i = 0; i < box.options.length; i++) {
        if (box.options[i].selected && box.options[i] != "") {
            box.options[i].value = "";
            box.options[i].text = "";
        }
    }
    OrganizaBox(box);
}

function limitaCaracter(campo, maxlimit, lbl) {
    field = document.getElementById(campo);
    if (field.value.length > maxlimit) // se maior que o limite, trim!
        field.value = field.value.substring(0, maxlimit);
    // Se foi definido um campo para exibir os caracs. restantes
    if (lbl != '')
        document.getElementById(lbl).innerHTML = maxlimit - field.value.length + ' caracteres restantes';
}

function OrganizaBox(box) {
    // Organiza um listbox depois da deleção de um item
    for (var i = 0; i < box.options.length; i++) {
        if (box.options[i].value == "") {
            for (var j = i; j < box.options.length - 1; j++) {
                box.options[j].value = box.options[j + 1].value;
                box.options[j].text = box.options[j + 1].text;
            }
            var ln = i;
            break;
        }
    }
    if (ln < box.options.length) {
        box.options.length -= 1;
        OrganizaBox(box);
    }
}

function SelecionaTodos(box) {
    // Seleciona todos os itens de um listbox
    if (box == null)
        return;
    for (var i = 0; i < box.options.length; i++) {
        box.options[i].selected = true;
    }
}

function ValidaCaracterProibido(carac, frase) {
    // Se houver o caracter proibido, retorna false
    return frase.indexOf(carac) < 0;
}

function theForm() {
    var theform;
    if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
        theform = document.Form1;
    }
    else {
        theform = document.forms["Form1"];
    }
    return theform;
}

function replicar(carac, vezes) {
    retorno = new String(carac);
    for (i = 1; i < vezes; i++) {
        retorno += carac;
    }
    return retorno;
}

function arredonda(valor, casasdecimais) {
    vr = new String(valor);
    if (vr.indexOf(".") < 0) {
        return valor + "," + replicar("0", 2);
    }
    else {
        vr = vr.replace(".", ",");
        return vr.substr(0, vr.indexOf(",")) + vr.substr(vr.indexOf(","), 3);
    }
}

/*
Abre, maximiza e dá foco no popup
*/
function maximize(mypage) {
    var w = this.screen.availWidth;
    var h = this.screen.availHeight;
    myPopUp = window.open(
		mypage,
		'Ambulatorio',
		'top=0,' +
		'left=0,' +
		'menubar=0,' +
		'resizable=1,' +
		'scrollbars=1,' +
		'status=1,' +
		'titlebar=0,' +
		'toolbar=0',
		true);
    myPopUp.resizeTo(w, h);
}

