<!--

// array que irá guardar os ids dos campos que precisam de edição
var cadastroEditIDs = new Array();

//////////////////////////////// funções do menu 'Cadastro' ////////////////////////////////
function changeMenuCadastro(id) {

    var menuItens = new Array();
    var menuArq = new Array();
    menuItens["SET"] = "Setores";
    menuArq["SET"] = "setores/setores.block.php";
    menuItens["GLE"] = "Glebas";
    menuArq["GLE"] = "glebas/glebas.block.php";
    menuItens["FUN"] = "Mão de Obra Contratada";
    menuArq["FUN"] = "funcionarios/funcionarios.block.php";
    menuItens["INS"] = "Insumos";
    menuArq["INS"] = "insumos/insumos.block.php";
    menuItens["MAU"] = "Máquinas Automotoras";
    menuArq["MAU"] = "maq_automotoras/maq_automotoras.block.php";
    menuItens["MIM"] = "Máquinas/Implementos";
    menuArq["MIM"] = "maq_implementos/maq_implementos.block.php";
    menuItens["BEN"] = "Benfeitorias";
    menuArq["BEN"] = "benfeitorias/benfeitorias.block.php";
    menuItens["VEI"] = "Veículos";
    menuArq["VEI"] = "veiculos/veiculos.block.php";
    menuItens["OPE"] = "Operação/Serviço";
    menuArq["OPE"] = "operacao_servico/operacao_servico.block.php";
    menuItens["PRO"] = "Produção";
    menuArq["PRO"] = "producao/producao.block.php";

    for (i in menuItens) {
        if (id == i) {
        
            document.getElementById(i+"_MENU_CADASTRO").className = "selected";

            xmlHttpMAINCadastro = GetXmlHttpObject();
            if (xmlHttpMAINCadastro == null) { alert("Your browser does not support AJAX!"); return; }
            showLOADING();
            submitXMLHttp(xmlHttpMAINCadastro, "POST", menuArq[i], "",
            function() {
                if (xmlHttpMAINCadastro.readyState==4 || xmlHttpMAINCadastro.readyState=="complete") {
                    hideLOADING();
                    document.getElementById("MAIN_CONTENT").innerHTML = xmlHttpMAINCadastro.responseText;
                    execScript(xmlHttpMAINCadastro.responseText);
                    
                    // reseta os ids editáveis
                    cadastroEditIDs = [];
                }
            } );

        }
        else {
            document.getElementById(i+"_MENU_CADASTRO").className = "";
        }
    }

}

// função que faz uma pesquisa dinâmica e atualiza o bloco de listagem a cada caracter digitado
// -- key : chave que será procurada
// -- resultBlockName : nome do bloco onde o resultado será atualizado
// -- resultBlockID: id do div desse bloco
// -- resultType: tipo do retorno
// -- resultIDSelected: id de controle para seleção das linhas do resultado
function search(key, resultBlockName, resultBlockID, resultType, resultIDSelected) {

    // submentendo a busca via Ajax
    xmlHttpSearch = GetXmlHttpObject();
    if (xmlHttpSearch == null) { alert("Your browser does not support AJAX!"); return; }
    submitXMLHttp(xmlHttpSearch, "POST", "includes/search.php", "key="+key+"&resultBlockName="+resultBlockName+"&resultType="+resultType+"&resultIDSelected="+resultIDSelected,
    function() {
        if (xmlHttpSearch.readyState==4 || xmlHttpSearch.readyState=="complete") {

            // atualizando o bloco de resultado
            document.getElementById(resultBlockID).innerHTML = xmlHttpSearch.responseText;

            execScript(xmlHttpSearch.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );
    
}


//////////////////////////////// funções do submenu 'Setores' ////////////////////////////////
function addSetor() {

    // campos do bloco 'Adicionar'
    nome = document.getElementById("Nome_setor").value;
    /*rateio = document.getElementById("Percentual no rateio dos gastos gerais_setor").value;
    
    // validando campos
    error = "";
    if (nome == "") error += "\n - Campo 'Nome' em branco.";
    if (rateio == "") error += "\n - Campo 'Percentual no rateio dos gastos gerais' em branco.";
    if (rateio != "" && isNaN(rateio)) error += "\n - Valor inválido  para o campo 'Percentual no rateio dos gastos gerais': '"+rateio+"'";//isNumeric(false)
    if (rateio != "" && convertNumberTo(rateio,'.') > 100 ) error += "\n - Valor inválido CONVERTE para o campo 'Percentual no rateio dos gastos gerais': '"+rateio+"'";
    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }*/
    
    // submentendo campos via Ajax
    xmlHttpAddSetor = GetXmlHttpObject();
    if (xmlHttpAddSetor == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpAddSetor, "POST", "setores/setores.dao.php", "action=add&nome="+nome,
    function() {
        if (xmlHttpAddSetor.readyState==4 || xmlHttpAddSetor.readyState=="complete") {
            hideLOADING();
            
            // resetando o formulario de insercao
            document.getElementById("Nome_setor").value = "";
            document.getElementById("Nome_setor").focus();
            
            // atualizando o bloco de listagem
            document.getElementById("LIST_SETORES_DIV").innerHTML = xmlHttpAddSetor.responseText;
            
            execScript(xmlHttpAddSetor.responseText);
            
            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

// função que edita um setor
// - setoresIDs : array que guarda os IDs de todos os setores que aparecem na listagem
// - rateioOutrosIDs : soma dos rateios dos setores que não estão aparecendo na listagem
function editSetor(setoresIDs, rateioOutrosIDs) {

    params = "action=edit";
    error = "";

    // percorrendo os ids que precisam ser editados
    for (var i in cadastroEditIDs) {

        nome = document.getElementById(cadastroEditIDs[i]+"_Nome_setor_value").value;
        rateio = document.getElementById(cadastroEditIDs[i]+"_Percentual no rateio dos gastos gerais_setor_value").value.replace(",",".");

        // validando campos
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (rateio == "") error += "\n - Campo 'Percentual no rateio dos gastos gerais' em branco.";
        if (rateio != "" && isNaN(rateio)) error += "\n - Valor inválido para o campo 'Percentual no rateio dos gastos gerais': '"+rateio+"'";//isNumeric(false)
        if (rateio != "" && Number(rateio.replace(",","."))/*convertNumberTo(rateio,'.')*/ > 100 ) error += "\n - Valor inválido para o campo 'Percentual no rateio dos gastos gerais': '"+rateio+"'";

        params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome+"&rateio[]="+rateio;
        
    }
    
    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }
    
    // variável que guarda a percentagem dos setores que no final deve somar exatamente 100%
    percent = 0;
    
    // verificando todos os campos de porcentagem que aparecem na listagem
    for (var i in setoresIDs){
        percent = percent + (/*convertNumberTo*/Number(document.getElementById(setoresIDs[i]+"_Percentual no rateio dos gastos gerais_setor_value").value.replace(",","."))*1);
		
	}
    // somando a porcetagem dos setores que não aparecem na listagem
    percent = percent + (rateioOutrosIDs*1);
    
    // se for diferente de 100% retorna o erro
    if (percent != 100) {
        alert("ERROS ENCONTRADOS!!\n O percentual total do rateio de gastos deve somar exatamente 100%.\n\n Soma Atual = "+percent+" %");
        return;
    }
    
    xmlHttpEditSetor = GetXmlHttpObject();
    if (xmlHttpEditSetor == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpEditSetor, "POST", "setores/setores.dao.php", params,
    function() {
        if (xmlHttpEditSetor.readyState==4 || xmlHttpEditSetor.readyState=="complete") {
            hideLOADING();
            
            document.getElementById("Nome_setor").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_SETORES_DIV").innerHTML = xmlHttpEditSetor.responseText;

            execScript(xmlHttpEditSetor.responseText);
            
            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

function deleteSetor(action, id, nome) {

    var a = confirm("Deletando o setor '"+nome+"', você irá deletar todos os dados associados a ele, incluindo glebas, máquinas/implementos, benfeitorias, veículos e todo o histórico de custos e ordens de serviço associados a ele. Deseja continuar?");

    if (!a) return;

    xmlHttpDelSetor = GetXmlHttpObject();
    if (xmlHttpDelSetor == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpDelSetor, "POST", "setores/setores.dao.php", "action=delete&id="+id,
    function() {
        if (xmlHttpDelSetor.readyState==4 || xmlHttpDelSetor.readyState=="complete") {
            hideLOADING();
            
            document.getElementById("Nome_setor").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_SETORES_DIV").innerHTML = xmlHttpDelSetor.responseText;

            execScript(xmlHttpDelSetor.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

//////////////////////////////// funções do submenu 'Glebas' ////////////////////////////////

// função de manipulação de Glebas
// -- action: add, edit ou delete
// -- idDel: id a ser deletado
// -- nomeDel: nome que será exibido na confirmação da deleção
// -- resultType: tipo do retorno, após a operação
// -- resultIDSelected: id de controle para seleção das linhas do resultado, após a operação
function beanGleba(action, idDel, nomeDel, resultType, resultIDSelected) {

    // -- caso adicionar
    if (action == 'add') {
    
        // campos do bloco 'Adicionar'
        nome = document.getElementById("Nome_gleba").value;
        setor = document.getElementById("Setor_gleba").value;
        area = document.getElementById("Área (Ha)_gleba").value.replace(",",".");

        // validando campos
        error = "";
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
        if (area == "") error += "\n - Campo 'Área (Ha)' em branco.";
        if (area != "" && isNaN(area)) error += "\n - Valor inválido para o campo 'Área (Ha)': '"+area+"'";//isNumeric(false)
        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
        
        params = "action=add&nome="+nome+"&setor="+setor+"&area="+area;
    
    }

    // -- caso editar
    else if (action == 'edit') {
    
        params = "action=edit";
        error = "";

        // percorrendo os ids que precisam ser editados
        for (var i in cadastroEditIDs) {

            nome = document.getElementById(cadastroEditIDs[i]+"_Nome_gleba_value").value;
            setor = document.getElementById(cadastroEditIDs[i]+"_Setor_gleba_value").value;
            area = document.getElementById(cadastroEditIDs[i]+"_Área (Ha)_gleba_value").value;

            // validando campos
            if (nome == "") error += "\n - Campo 'Nome' em branco.";
            if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
            if (area == "") error += "\n - Campo 'Área (Ha)' em branco.";
            if (area != "" && isNaN(area.replace(",","."))) error += "\n - Valor inválido para o campo 'Área (Ha)': '"+area+"'";//isNumeric(false)

            params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome+"&setor[]="+setor+"&area[]="+area;

        }

        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
    
    }
    
    // -- caso deletar
    else if (action == 'delete') {
    
        var a = confirm("Deletando a gleba '"+nomeDel+"', você irá deletar todos os dados associados a ela, incluindo suas produções e todo o histórico de custos e ordens de serviço associados a ela. Deseja continuar?");

        if (!a) return;
        
        params = "action=delete&id="+idDel;
    
    }
    
    params += "&resultType="+resultType+"&resultIDSelected="+resultIDSelected;
    
    // submentendo campos via Ajax
    xmlHttpGleba = GetXmlHttpObject();
    if (xmlHttpGleba == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpGleba, "POST", "glebas/glebas.dao.php", params,
    function() {
        if (xmlHttpGleba.readyState==4 || xmlHttpGleba.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_gleba").value = "";
            document.getElementById("Setor_gleba").selectedIndex = 0;
            document.getElementById("Área (Ha)_gleba").value = "";
            document.getElementById("Nome_gleba").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_GLEBAS_DIV").innerHTML = xmlHttpGleba.responseText;

            execScript(xmlHttpGleba.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

//////////////////////////////// funções do submenu 'Funcionarios' ////////////////////////////////

// função de manipulação de Funcionários
// -- action: add, edit ou delete
// -- idDel: id a ser deletado
// -- nomeDel: nome que será exibido na confirmação da deleção
// -- resultType: tipo do retorno, após a operação
// -- resultIDSelected: id de controle para seleção das linhas do resultado, após a operação
function beanFuncionario(action, idDel, nomeDel, resultType, resultIDSelected) {

    // -- caso adicionar
    if (action == 'add') {

        // campos do bloco 'Adicionar'
        nome = document.getElementById("Nome_funcionario").value;

        // validando campos
        error = "";
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
    
        params = "action=add&nome="+nome;
    }
    
    // -- caso editar
    else if (action == 'edit') {
    
        params = "action=edit";
        error = "";

        // percorrendo os ids que precisam ser editados
        for (var i in cadastroEditIDs) {

            nome = document.getElementById(cadastroEditIDs[i]+"_Nome_funcionario_value").value;

            // validando campos
            if (nome == "") error += "\n - Campo 'Nome' em branco.";

            params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome;

        }

        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
    
    }
    
    // -- caso deletar
    else if (action == 'delete') {
    
        var a = confirm("Deletando o funcionário '"+nomeDel+"', você irá deletar todos os dados associados a ele, incluindo todo o histórico de custos e ordens de serviço associados a ele. Deseja continuar?");

        if (!a) return;
        
        params = "action=delete&id="+idDel;

    }
    
    params += "&resultType="+resultType+"&resultIDSelected="+resultIDSelected;

    // submentendo campos via Ajax
    xmlHttpFuncionario = GetXmlHttpObject();
    if (xmlHttpFuncionario == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpFuncionario, "POST", "funcionarios/funcionarios.dao.php", params,
    function() {
        if (xmlHttpFuncionario.readyState==4 || xmlHttpFuncionario.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_funcionario").value = "";
            document.getElementById("Nome_funcionario").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_FUNCIONARIOS_DIV").innerHTML = xmlHttpFuncionario.responseText;

            execScript(xmlHttpFuncionario.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

//////////////////////////////// funções do submenu 'Insumos' ////////////////////////////////

// função de manipulação de Insumos
// -- action: add, edit ou delete
// -- idDel: id a ser deletado
// -- nomeDel: nome que será exibido na confirmação da deleção
// -- resultType: tipo do retorno, após a operação
// -- resultIDSelected: id de controle para seleção das linhas do resultado, após a operação
function beanInsumo(action, idDel, nomeDel, resultType, resultIDSelected) {

    // -- caso adicionar
    if (action == 'add') {

        // campos do bloco 'Adicionar'
        nome = document.getElementById("Nome_insumo").value;
        preco = document.getElementById("Valor Médio Unitário por Safra_insumo").value;
        unidade = document.getElementById("Unidade_insumo").value;
	categoria = document.getElementById("Categoria_insumo").value;
        // validando campos
        error = "";
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (preco == "") error += "\n - Campo 'Valor Médio Unitário por Safra' em branco.";
        if (preco != "" && isNaN(preco.replace(",","."))) error += "\n - Valor inválido para o campo 'Preço': '"+preco+"'";//isNumeric(false)
        if (unidade == "-1") error += "\n - Campo 'Unidade' em branco.";
        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
	if(categoria == "-1" || categoria == "0")
            params = "action=add&nome="+nome+"&preco="+preco+"&unidade="+unidade+"&categoria=0";
        else
            params = "action=add&nome="+nome+"&preco="+preco+"&unidade="+unidade+"&categoria="+categoria;
        //params = "action=add&nome="+nome+"&preco="+preco+"&unidade="+unidade;    
    }
    
    // -- caso editar
    else if (action == 'edit') {
    
        params = "action=edit";
        error = "";

        // percorrendo os ids que precisam ser editados
        for (var i in cadastroEditIDs) {

            nome = document.getElementById(cadastroEditIDs[i]+"_Nome_insumo_value").value;
            preco = document.getElementById(cadastroEditIDs[i]+"_Valor Médio Unitário por Safra_insumo_value").value;
            unidade = document.getElementById(cadastroEditIDs[i]+"_Unidade_insumo_value").value;
	    categoria = document.getElementById(cadastroEditIDs[i]+"_Categoria_insumo_value").value;

            // validando campos
            if (nome == "") error += "\n - Campo 'Nome' em branco.";
            if (preco == "") error += "\n - Campo 'Valor Médio Unitário por Safra' em branco.";
            if (preco != "" && isNaN(preco.replace(",","."))) error += "\n - Valor inválido para o campo 'Preço': '"+preco+"'";//isNumeric(false)
            if (unidade == "-1") error += "\n - Campo 'Unidade' em branco.";

            params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome+"&preco[]="+preco+"&unidade[]="+unidade+"&categoria[]="+categoria;

        }

        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
    
    }
    
    // -- caso delete
    else if (action == 'delete') {

        var a = confirm("Deletando o insumo '"+nomeDel+"', você irá deletar todos os dados associados a ele, incluindo todo o histórico de custos e ordens de serviço associados a ele. Deseja continuar?");

        if (!a) return;
        
        params = "action=delete&id="+idDel;

    }
    
    params += "&resultType="+resultType+"&resultIDSelected="+resultIDSelected;

    // submentendo campos via Ajax
    xmlHttpInsumo = GetXmlHttpObject();
    if (xmlHttpInsumo == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpInsumo, "POST", "insumos/insumos.dao.php", params,
    function() {
        if (xmlHttpInsumo.readyState==4 || xmlHttpInsumo.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_insumo").value = "";
            document.getElementById("Valor Médio Unitário por Safra_insumo").value = "";
            document.getElementById("Unidade_insumo").selectedIndex = 0;
            document.getElementById("Nome_insumo").focus();
	    document.getElementById("Categoria_insumo").selectedIndex = 0;
            // atualizando o bloco de listagem
            document.getElementById("LIST_INSUMOS_DIV").innerHTML = xmlHttpInsumo.responseText;

            execScript(xmlHttpInsumo.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}


//////////////////////////////// funções do submenu 'MaqAutomotoras' ////////////////////////////////

// função de manipulação de Máquinas Automotoras
// -- action: add, edit ou delete
// -- idDel: id a ser deletado
// -- nomeDel: nome que será exibido na confirmação da deleção
// -- resultType: tipo do retorno, após a operação
// -- resultIDSelected: id de controle para seleção das linhas do resultado, após a operação
function beanMaqAutomotora(action, idDel, nomeDel, resultType, resultIDSelected) {

    // -- caso adicionar
    if (action == 'add') {

        // campos do bloco 'Adicionar'
        nome = document.getElementById("Nome_maq_automotora").value;
        valor_inicial = document.getElementById("Valor Atual_maq_automotora").value;
        vida_util = document.getElementById("Vida Útil (anos)_maq_automotora").value;
        valor_residual = document.getElementById("Valor Residual_maq_automotora").value;

        // validando campos
        error = "";
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
        if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
        if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
        if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
        if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
        if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)


        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
    
        params = "action=add&nome="+nome+"&valor_inicial="+valor_inicial+"&vida_util="+vida_util+"&valor_residual="+valor_residual;
    }
    
    // -- caso editar
    else if (action == 'edit') {
    
        params = "action=edit";
        error = "";

        // percorrendo os ids que precisam ser editados
        for (var i in cadastroEditIDs) {

            // campos do bloco 'Adicionar'
            nome = document.getElementById(cadastroEditIDs[i]+"_Nome_maq_automotora_value").value;
            valor_inicial = document.getElementById(cadastroEditIDs[i]+"_Valor Atual_maq_automotora_value").value;
            vida_util = document.getElementById(cadastroEditIDs[i]+"_Vida Útil (anos)_maq_automotora_value").value;
            valor_residual = document.getElementById(cadastroEditIDs[i]+"_Valor Residual_maq_automotora_value").value;

            // validando campos
            if (nome == "") error += "\n - Campo 'Nome' em branco.";
            if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
            if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
            if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
            if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
            if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
            if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)

            params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome+"&valor_inicial[]="+valor_inicial+"&vida_util[]="+vida_util+"&valor_residual[]="+valor_residual;

        }

        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
    
    }
    
    // -- caso deletar
    else if (action == 'delete') {
    
        var a = confirm("Deletando a Máquina Automotora '"+nomeDel+"', você irá deletar todos os dados associados a ela, incluindo todo o histórico de custos e ordens de serviço associados a ela. Deseja continuar?");

        if (!a) return;
        
        params = "action=delete&id="+idDel;

    }
    
    params += "&resultType="+resultType+"&resultIDSelected="+resultIDSelected;

    // submentendo campos via Ajax
    xmlHttpMaqAutomotora = GetXmlHttpObject();
    if (xmlHttpMaqAutomotora == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpMaqAutomotora, "POST", "maq_automotoras/maq_automotoras.dao.php", params,
    function() {
        if (xmlHttpMaqAutomotora.readyState==4 || xmlHttpMaqAutomotora.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_maq_automotora").value = "";
            document.getElementById("Valor Atual_maq_automotora").value = "";
            document.getElementById("Vida Útil (anos)_maq_automotora").value = "";
            document.getElementById("Valor Residual_maq_automotora").value = "";
            document.getElementById("Nome_maq_automotora").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_MAQ_AUTOMOTORAS_DIV").innerHTML = xmlHttpMaqAutomotora.responseText;

            execScript(xmlHttpMaqAutomotora.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

//////////////////////////////// funções do submenu 'MaqImplementos' ////////////////////////////////
function addMaqImplemento() {

    // campos do bloco 'Adicionar'
    nome = document.getElementById("Nome_maq_implemento").value;
    setor = document.getElementById("Setor_maq_implemento").value;
    valor_inicial = document.getElementById("Valor Atual_maq_implemento").value;
    vida_util = document.getElementById("Vida Útil (anos)_maq_implemento").value;
    valor_residual = document.getElementById("Valor Residual_maq_implemento").value;

    // validando campos
    error = "";
    if (nome == "") error += "\n - Campo 'Nome' em branco.";
    if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
    if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
    if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
    if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
    if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
    if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
    if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)


    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    // submentendo campos via Ajax
    xmlHttpAddMaqImplemento = GetXmlHttpObject();
    if (xmlHttpAddMaqImplemento == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpAddMaqImplemento, "POST", "maq_implementos/maq_implementos.dao.php", "action=add&nome="+nome+"&setor="+setor+"&valor_inicial="+valor_inicial+"&vida_util="+vida_util+"&valor_residual="+valor_residual,
    function() {
        if (xmlHttpAddMaqImplemento.readyState==4 || xmlHttpAddMaqImplemento.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_maq_implemento").value = "";
            document.getElementById("Setor_maq_implemento").selectedIndex = 0;
            document.getElementById("Valor Atual_maq_implemento").value = "";
            document.getElementById("Vida Útil (anos)_maq_implemento").value = "";
            document.getElementById("Valor Residual_maq_implemento").value = "";
            document.getElementById("Nome_maq_implemento").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_MAQ_IMPLEMENTOS_DIV").innerHTML = xmlHttpAddMaqImplemento.responseText;

            execScript(xmlHttpAddMaqImplemento.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

function editMaqImplemento() {

    params = "action=edit";
    error = "";

    // percorrendo os ids que precisam ser editados
    for (var i in cadastroEditIDs) {

        // campos do bloco 'Adicionar'
        nome = document.getElementById(cadastroEditIDs[i]+"_Nome_maq_implemento_value").value;
        setor = document.getElementById(cadastroEditIDs[i]+"_Setor_maq_implemento_value").value;
        valor_inicial = document.getElementById(cadastroEditIDs[i]+"_Valor Atual_maq_implemento_value").value;
        vida_util = document.getElementById(cadastroEditIDs[i]+"_Vida Útil (anos)_maq_implemento_value").value;
        valor_residual = document.getElementById(cadastroEditIDs[i]+"_Valor Residual_maq_implemento_value").value;

        // validando campos
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
        if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
        if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
        if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
        if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
        if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
        if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)

        params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome+"&setor[]="+setor+"&valor_inicial[]="+valor_inicial+"&vida_util[]="+vida_util+"&valor_residual[]="+valor_residual;

    }

    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    xmlHttpEditMaqImplemento = GetXmlHttpObject();
    if (xmlHttpEditMaqImplemento == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpEditMaqImplemento, "POST", "maq_implementos/maq_implementos.dao.php", params,
    function() {
        if (xmlHttpEditMaqImplemento.readyState==4 || xmlHttpEditMaqImplemento.readyState=="complete") {
            hideLOADING();

            document.getElementById("Nome_maq_implemento").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_MAQ_IMPLEMENTOS_DIV").innerHTML = xmlHttpEditMaqImplemento.responseText;

            execScript(xmlHttpEditMaqImplemento.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

function deleteMaqImplemento(action, id, nome) {

    var a = confirm("Deletando a Máquina/Implemento '"+nome+"', você irá deletar todos os dados associados a ela, incluindo todo o histórico de custos e ordens de serviço associados a ela. Deseja continuar?");

    if (!a) return;

    xmlHttpDelMaqImplemento = GetXmlHttpObject();
    if (xmlHttpDelMaqImplemento == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpDelMaqImplemento, "POST", "maq_implementos/maq_implementos.dao.php", "action=delete&id="+id,
    function() {
        if (xmlHttpDelMaqImplemento.readyState==4 || xmlHttpDelMaqImplemento.readyState=="complete") {
            hideLOADING();

            document.getElementById("Nome_maq_implemento").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_MAQ_IMPLEMENTOS_DIV").innerHTML = xmlHttpDelMaqImplemento.responseText;

            execScript(xmlHttpDelMaqImplemento.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

//////////////////////////////// funções do submenu 'Benfeitorias' ////////////////////////////////
function addBenfeitoria() {

    // campos do bloco 'Adicionar'
    nome = document.getElementById("Nome_benfeitoria").value;
    setor = document.getElementById("Setor_benfeitoria").value;
    valor_inicial = document.getElementById("Valor Atual_benfeitoria").value;
    vida_util = document.getElementById("Vida Útil (anos)_benfeitoria").value;
    valor_residual = document.getElementById("Valor Residual_benfeitoria").value;

    // validando campos
    error = "";
    if (nome == "") error += "\n - Campo 'Nome' em branco.";
    if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
    if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
    if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
    if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
    if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
    if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
    if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)


    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    // submentendo campos via Ajax
    xmlHttpAddBenfeitoria = GetXmlHttpObject();
    if (xmlHttpAddBenfeitoria == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpAddBenfeitoria, "POST", "benfeitorias/benfeitorias.dao.php", "action=add&nome="+nome+"&setor="+setor+"&valor_inicial="+valor_inicial+"&vida_util="+vida_util+"&valor_residual="+valor_residual,
    function() {
        if (xmlHttpAddBenfeitoria.readyState==4 || xmlHttpAddBenfeitoria.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_benfeitoria").value = "";
            document.getElementById("Setor_benfeitoria").selectedIndex = 0;
            document.getElementById("Valor Atual_benfeitoria").value = "";
            document.getElementById("Vida Útil (anos)_benfeitoria").value = "";
            document.getElementById("Valor Residual_benfeitoria").value = "";
            document.getElementById("Nome_benfeitoria").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_BENFEITORIAS_DIV").innerHTML = xmlHttpAddBenfeitoria.responseText;

            execScript(xmlHttpAddBenfeitoria.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

function editBenfeitoria() {

    params = "action=edit";
    error = "";

    // percorrendo os ids que precisam ser editados
    for (var i in cadastroEditIDs) {

        // campos do bloco 'Adicionar'
        nome = document.getElementById(cadastroEditIDs[i]+"_Nome_benfeitoria_value").value;
        setor = document.getElementById(cadastroEditIDs[i]+"_Setor_benfeitoria_value").value;
        valor_inicial = document.getElementById(cadastroEditIDs[i]+"_Valor Atual_benfeitoria_value").value;
        vida_util = document.getElementById(cadastroEditIDs[i]+"_Vida Útil (anos)_benfeitoria_value").value;
        valor_residual = document.getElementById(cadastroEditIDs[i]+"_Valor Residual_benfeitoria_value").value;

        // validando campos
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
        if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
        if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
        if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
        if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
        if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
        if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)

        params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome+"&setor[]="+setor+"&valor_inicial[]="+valor_inicial+"&vida_util[]="+vida_util+"&valor_residual[]="+valor_residual;

    }

    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    xmlHttpEditBenfeitoria = GetXmlHttpObject();
    if (xmlHttpEditBenfeitoria == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpEditBenfeitoria, "POST", "benfeitorias/benfeitorias.dao.php", params,
    function() {
        if (xmlHttpEditBenfeitoria.readyState==4 || xmlHttpEditBenfeitoria.readyState=="complete") {
            hideLOADING();

            document.getElementById("Nome_benfeitoria").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_BENFEITORIAS_DIV").innerHTML = xmlHttpEditBenfeitoria.responseText;

            execScript(xmlHttpEditBenfeitoria.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

function deleteBenfeitoria(action, id, nome) {

    var a = confirm("Deletando a Benfeitoria '"+nome+"', você irá deletar todos os dados associados a ela, incluindo todo o histórico de custos e ordens de serviço associados a ela. Deseja continuar?");

    if (!a) return;

    xmlHttpDelBenfeitoria = GetXmlHttpObject();
    if (xmlHttpDelBenfeitoria == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpDelBenfeitoria, "POST", "benfeitorias/benfeitorias.dao.php", "action=delete&id="+id,
    function() {
        if (xmlHttpDelBenfeitoria.readyState==4 || xmlHttpDelBenfeitoria.readyState=="complete") {
            hideLOADING();

            document.getElementById("Nome_benfeitoria").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_BENFEITORIAS_DIV").innerHTML = xmlHttpDelBenfeitoria.responseText;

            execScript(xmlHttpDelBenfeitoria.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

//////////////////////////////// funções do submenu 'Veiculos' ////////////////////////////////
function addVeiculo() {

    // campos do bloco 'Adicionar'
    nome = document.getElementById("Nome_veiculo").value;
    setor = document.getElementById("Setor_veiculo").value;
    valor_inicial = document.getElementById("Valor Atual_veiculo").value;
    vida_util = document.getElementById("Vida Útil (anos)_veiculo").value;
    valor_residual = document.getElementById("Valor Residual_veiculo").value;

    // validando campos
    error = "";
    if (nome == "") error += "\n - Campo 'Nome' em branco.";
    if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
    if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
    if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
    if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
    if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
    if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
    if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)


    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    // submentendo campos via Ajax
    xmlHttpAddVeiculo = GetXmlHttpObject();
    if (xmlHttpAddVeiculo == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpAddVeiculo, "POST", "veiculos/veiculos.dao.php", "action=add&nome="+nome+"&setor="+setor+"&valor_inicial="+valor_inicial+"&vida_util="+vida_util+"&valor_residual="+valor_residual,
    function() {
        if (xmlHttpAddVeiculo.readyState==4 || xmlHttpAddVeiculo.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_veiculo").value = "";
            document.getElementById("Setor_veiculo").selectedIndex = 0;
            document.getElementById("Valor Atual_veiculo").value = "";
            document.getElementById("Vida Útil (anos)_veiculo").value = "";
            document.getElementById("Valor Residual_veiculo").value = "";
            document.getElementById("Nome_veiculo").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_VEICULOS_DIV").innerHTML = xmlHttpAddVeiculo.responseText;

            execScript(xmlHttpAddVeiculo.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

function editVeiculo() {

    params = "action=edit";
    error = "";

    // percorrendo os ids que precisam ser editados
    for (var i in cadastroEditIDs) {

        // campos do bloco 'Adicionar'
        nome = document.getElementById(cadastroEditIDs[i]+"_Nome_veiculo_value").value;
        setor = document.getElementById(cadastroEditIDs[i]+"_Setor_veiculo_value").value;
        valor_inicial = document.getElementById(cadastroEditIDs[i]+"_Valor Atual_veiculo_value").value;
        vida_util = document.getElementById(cadastroEditIDs[i]+"_Vida Útil (anos)_veiculo_value").value;
        valor_residual = document.getElementById(cadastroEditIDs[i]+"_Valor Residual_veiculo_value").value;

        // validando campos
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
        if (valor_inicial == "") error += "\n - Campo 'Valor Atual' em branco.";
        if (valor_inicial != "" && isNaN(valor_inicial.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Atual': '"+valor_inicial+"'";//isNumeric(false)
        if (vida_util == "") error += "\n - Campo 'Vida Útil (anos)' em branco.";
        if (vida_util != "" && isNaN(vida_util)) error += "\n - Valor inválido para o campo 'Vida Útil (anos)': '"+vida_util+"'";//isNumeric(true)
        if (valor_residual == "") error += "\n - Campo 'Valor Residual' em branco.";
        if (valor_residual != "" && isNaN(valor_residual.replace(",","."))) error += "\n - Valor inválido para o campo 'Valor Residual': '"+valor_residual+"'";//isNumeric(false)

        params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome+"&setor[]="+setor+"&valor_inicial[]="+valor_inicial+"&vida_util[]="+vida_util+"&valor_residual[]="+valor_residual;

    }

    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    xmlHttpEditVeiculo = GetXmlHttpObject();
    if (xmlHttpEditVeiculo == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpEditVeiculo, "POST", "veiculos/veiculos.dao.php", params,
    function() {
        if (xmlHttpEditVeiculo.readyState==4 || xmlHttpEditVeiculo.readyState=="complete") {
            hideLOADING();

            document.getElementById("Nome_veiculo").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_VEICULOS_DIV").innerHTML = xmlHttpEditVeiculo.responseText;

            execScript(xmlHttpEditVeiculo.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

function deleteVeiculo(action, id, nome) {

    var a = confirm("Deletando o Veículo '"+nome+"', você irá deletar todos os dados associados a ele, incluindo todo o histórico de custos e ordens de serviço associados a ele. Deseja continuar?");

    if (!a) return;

    xmlHttpDelVeiculo = GetXmlHttpObject();
    if (xmlHttpDelVeiculo == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpDelVeiculo, "POST", "veiculos/veiculos.dao.php", "action=delete&id="+id,
    function() {
        if (xmlHttpDelVeiculo.readyState==4 || xmlHttpDelVeiculo.readyState=="complete") {
            hideLOADING();

            document.getElementById("Nome_veiculo").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_VEICULOS_DIV").innerHTML = xmlHttpDelVeiculo.responseText;

            execScript(xmlHttpDelVeiculo.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

//////////////////////////////// funções do submenu 'Operação/Serviço' ////////////////////////////////

// função de manipulação de Operações/Serviços
// -- action: add, edit ou delete
// -- idDel: id a ser deletado
// -- nomeDel: nome que será exibido na confirmação da deleção
// -- resultType: tipo do retorno, após a operação
// -- resultIDSelected: id de controle para seleção das linhas do resultado, após a operação
function beanOperacaoServico(action, idDel, nomeDel, resultType, resultIDSelected) {

    // -- caso adicionar
    if (action == 'add') {

        // campos do bloco 'Adicionar'
        nome = document.getElementById("Nome_operacao_servico").value;

        // validando campos
        error = "";
        if (nome == "") error += "\n - Campo 'Nome' em branco.";
        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
        
        params = "action=add&nome="+nome;
    
    }
    
    // -- caso editar
    else if (action == 'edit') {
    
        params = "action=edit";
        error = "";

        // percorrendo os ids que precisam ser editados
        for (var i in cadastroEditIDs) {

            nome = document.getElementById(cadastroEditIDs[i]+"_Nome_operacao_servico_value").value;

            // validando campos
            if (nome == "") error += "\n - Campo 'Nome' em branco.";

            params += "&id[]="+cadastroEditIDs[i]+"&nome[]="+nome;

        }

        if (error != "") {
            alert("ERROS ENCONTRADOS!!"+error);
            return;
        }
    
    }
    
    // -- caso deletar
    else if (action == 'delete') {
    
        var a = confirm("Deletando a Operação/Serviço '"+nomeDel+"', você irá deletar todos os dados associados a ele, incluindo todo o histórico de custos e ordens de serviço associados a ele. Deseja continuar?");

        if (!a) return;
        
        params = "action=delete&id="+idDel;

    }
    
    params += "&resultType="+resultType+"&resultIDSelected="+resultIDSelected;

    // submentendo campos via Ajax
    xmlHttpOperacaoServico = GetXmlHttpObject();
    if (xmlHttpOperacaoServico == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpOperacaoServico, "POST", "operacao_servico/operacao_servico.dao.php", params,
    function() {
        if (xmlHttpOperacaoServico.readyState==4 || xmlHttpOperacaoServico.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Nome_operacao_servico").value = "";
            document.getElementById("Nome_operacao_servico").focus();

            // atualizando o bloco de listagem
            document.getElementById("LIST_OPERACAO_SERVICO_DIV").innerHTML = xmlHttpOperacaoServico.responseText;

            execScript(xmlHttpOperacaoServico.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

//////////////////////////////// funções do submenu 'Produção' ////////////////////////////////
function addProducao() {

    // campos do bloco 'Adicionar'
    setor = document.getElementById("Setor_producao").value;
    gleba = document.getElementById("Gleba_producao").value;
    unidade = document.getElementById("Unidade_producao").value;
    quantidade = document.getElementById("Quantidade Produzida_producao").value;
    preco = document.getElementById("Preço Médio de Venda_producao").value;

    // validando campos
    error = "";
    //if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
    if (gleba == "-1") error += "\n - Campo 'Gleba' em branco.";
    if (unidade == "-1") error += "\n - Campo 'Unidade' em branco.";
    if (quantidade == "") error += "\n - Campo 'Quantidade Produzida' em branco.";
    if (quantidade != "" && isNaN(quantidade.replace(",","."))) error += "\n - Valor inválido para o campo 'Quantidade Produzida': '"+quantidade+"'";//isNumeric(false)
    if (preco == "") error += "\n - Campo 'Preço Médio de Venda' em branco.";
    if (preco != "" && isNaN(preco.replace(",","."))) error += "\n - Valor inválido para o campo 'Preço Médio de Venda': '"+preco+"'";//isNumeric(false)
    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    // submentendo campos via Ajax
    xmlHttpAddProducao = GetXmlHttpObject();
    if (xmlHttpAddProducao == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpAddProducao, "POST", "producao/producao.dao.php", "action=add&setor="+setor+"&gleba="+gleba+"&unidade="+unidade+"&quantidade="+quantidade+"&preco="+preco,
    function() {
        if (xmlHttpAddProducao.readyState==4 || xmlHttpAddProducao.readyState=="complete") {
            hideLOADING();

            // resetando o formulario de insercao
            document.getElementById("Setor_producao").selectedIndex = 0;
            document.getElementById("Gleba_producao").selectedIndex = 0;
            document.getElementById("Unidade_producao").selectedIndex = 0;
            document.getElementById("Quantidade Produzida_producao").value = "";
            document.getElementById("Preço Médio de Venda_producao").value = "";

            // atualizando o bloco de listagem
            document.getElementById("LIST_PRODUCAO_DIV").innerHTML = xmlHttpAddProducao.responseText;

            execScript(xmlHttpAddProducao.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );

}

function editProducao() {

    params = "action=edit";
    error = "";

    // percorrendo os ids que precisam ser editados
    for (var i in cadastroEditIDs) {

        setor = document.getElementById(cadastroEditIDs[i]+"_Setor_producao_value").value;
        gleba = document.getElementById(cadastroEditIDs[i]+"_Gleba_producao_value").value;
        unidade = document.getElementById(cadastroEditIDs[i]+"_Unidade_producao_value").value;
        quantidade = document.getElementById(cadastroEditIDs[i]+"_Quantidade Produzida_producao_value").value;
        preco = document.getElementById(cadastroEditIDs[i]+"_Preço Médio de Venda_producao_value").value;

        // validando campos
        //if (setor == "-1") error += "\n - Campo 'Setor' em branco.";
        if (gleba == "-1") error += "\n - Campo 'Gleba' em branco.";
        if (unidade == "-1") error += "\n - Campo 'Unidade' em branco.";
        if (quantidade == "") error += "\n - Campo 'Quantidade Produzida' em branco.";
        if (quantidade != "" && isNaN(quantidade.replace(",","."))) error += "\n - Valor inválido para o campo 'Quantidade': '"+quantidade+"'";//isNumeric(false)
        if (preco == "") error += "\n - Campo 'Preço Médio de Venda' em branco.";
        if (preco != "" && isNaN(preco.replace(",","."))) error += "\n - Valor inválido para o campo 'Preço Médio de Venda': '"+preco+"'";//isNumeric(false)

        params += "&id[]="+cadastroEditIDs[i]+"&setor[]="+setor+"&gleba[]="+gleba+"&unidade[]="+unidade+"&quantidade[]="+quantidade+"&preco[]="+preco;

    }

    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    xmlHttpEditProducao = GetXmlHttpObject();
    if (xmlHttpEditProducao == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpEditProducao, "POST", "producao/producao.dao.php", params,
    function() {
        if (xmlHttpEditProducao.readyState==4 || xmlHttpEditProducao.readyState=="complete") {
            hideLOADING();

            // atualizando o bloco de listagem
            document.getElementById("LIST_PRODUCAO_DIV").innerHTML = xmlHttpEditProducao.responseText;

            execScript(xmlHttpEditProducao.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

function deleteProducao(action, id, nome) {

    var a = confirm("Deletando a Produção '"+nome+"', você irá deletar todos os dados associados a ela, incluindo todo o histórico de custos e ordens de serviço associados a ela. Deseja continuar?");

    if (!a) return;

    xmlHttpDelProducao = GetXmlHttpObject();
    if (xmlHttpDelProducao == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpDelProducao, "POST", "producao/producao.dao.php", "action=delete&id="+id,
    function() {
        if (xmlHttpDelProducao.readyState==4 || xmlHttpDelProducao.readyState=="complete") {
            hideLOADING();

            // atualizando o bloco de listagem
            document.getElementById("LIST_PRODUCAO_DIV").innerHTML = xmlHttpDelProducao.responseText;

            execScript(xmlHttpDelProducao.responseText);

            // reseta os ids editáveis
            cadastroEditIDs = [];
        }
    } );


}

//////////////////////////////// funções do cadastro de Usuário ////////////////////////////////
function addUsuario() {

    // campos do bloco 'Adicionar'
    login = document.getElementById("usu_login").value;
    senha = document.getElementById("usu_senha").value;
    confirmar_senha = document.getElementById("usu_confirmar_senha").value;
    nome = document.getElementById("usu_nome").value;
    endereco = document.getElementById("usu_endereco").value;
    email = document.getElementById("usu_email").value;
    confirmar_email = document.getElementById("usu_confirmar_email").value;
    telefone = document.getElementById("usu_telefone").value;
   cidade = document.getElementById("cidade").value;
    estado = document.getElementById("estado").value;
    outras = document.getElementById("usu_outras").value;
    //cpf = document.getElementById("usu_cpf").value;

    // validando campos
    error = "";
    if (login == "") error += "\n - Campo 'Login' em branco.";
    if (senha == "") error += "\n - Campo 'Senha' em branco.";
    if (nome == "") error += "\n - Campo 'Nome' em branco.";
    if (email == "") error += "\n - Campo 'Email' em branco.";
    if (cidade == "") error += "\n - Campo 'Cidade' em branco.";
    if (estado == "") error += "\n - Campo 'UF' em branco.";
    if (outras == "") error += "\n - Campo 'Outras Atividades' em branco.";
    //if (cpf == "") error += "\n - Campo 'CPF' em branco.";
    //if (cpf != "" && isNaN(cpf, true)) error += "\n - Valor inválido para o campo 'CPF'.";
    if (senha != confirmar_senha) error += "\n - Senhas incompatíveis!!";
    if (email != confirmar_email) error += "\n - Emails incompatíveis!!";
    if (error != "") {
        alert("ERROS ENCONTRADOS!!"+error);
        return;
    }

    // submentendo campos via Ajax
    xmlHttpAddUsuario = GetXmlHttpObject();
    if (xmlHttpAddUsuario == null) { alert("Your browser does not support AJAX!"); return; }
    showLOADING();
    submitXMLHttp(xmlHttpAddUsuario, "POST", "usuario.dao.php", "action=add&login="+login+"&senha="+senha+"&nome="+nome+"&endereco="+endereco+"&email="+email+"&telefone="+telefone+"&cidade="+cidade+"&estado="+estado+"&outras="+outras,
    function() {
        if (xmlHttpAddUsuario.readyState==4 || xmlHttpAddUsuario.readyState=="complete") {
            hideLOADING();
            //execScript(xmlHttpAddUsuario.responseText);
            
            response = xmlHttpAddUsuario.responseText;
            
            execScript(xmlHttpAddUsuario.responseText);

        }
    } );

}

//-->

