/* * This file is part of NOALYSS. * * NOALYSS is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * NOALYSS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NOALYSS; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* $Revision$ */ // Copyright Author Dany De Bontridder danydb@aevalys.eu /*!\file * \brief javascript script for the ledger in accountancy, * compute the sum, add a row at the table.. * */ var layer = 1; /** * @brief update the list of available predefined operation when we change the ledger. */ function update_predef(p_type, p_direct, p_ac) { var jrn = g("p_jrn").value; var dossier = g("gDossier").value; var querystring = 'gDossier=' + dossier + '&l=' + jrn + '&t=' + p_type + '&d=' + p_direct + "&op=up_predef&ac=" + p_ac; g("p_jrn_predef").value = jrn; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: querystring, onFailure: error_get_predef, onSuccess: function (req) { try { $('info_div').innerHTML = "ok"; var answer = req.responseXML; var a = answer.getElementsByTagName('code'); var html = answer.getElementsByTagName('value'); if (a.length == 0) { var rec = req.responseText; alert_box('erreur :' + rec); } var code_html = getNodeText(html[0]); code_html = unescape_xml(code_html); // document.getElementsByName(name_ctl)[0].value = code_html; $('modele_op_div').innerHTML = code_html; } catch (e) { $('info_div').innerHTML = e.getMessage; } } } ); } /** * @brief update the list of payment method when we change the ledger. */ function update_pay_method() { waiting_box(); var jrn = g("p_jrn").value; var dossier = g("gDossier").value; var querystring = 'gDossier=' + dossier + '&l=' + jrn + "&op=up_pay_method"; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: querystring, onFailure: error_get_predef, onSuccess: function (req) { remove_waiting_box(); var answer = req.responseText; $('payment').innerHTML = answer; } } ); } /** *@brief update ctl id =jrn_name with the value of p_jrn */ function update_name() { var jrn_id = $('p_jrn').value; var dossier = g("gDossier").value; var querystring = 'gDossier=' + dossier + '&l=' + jrn_id + "&op=ledger_description"; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: querystring, onFailure: error_get_pj, onSuccess: function (req) { $('jrn_name_div').innerHTML = req.responseText; } } ); } /** * @brief update the field predef */ function error_get_predef(request, json) { alert_box("Erreur mise à jour champs non possible"); } /** * @brief update the list of available predefined operation when we change the ledger. */ function update_pj() { var jrn = g("p_jrn").value; var dossier = g("gDossier").value; var querystring = 'gDossier=' + dossier + '&l=' + jrn + "&op=upd_receipt"; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: querystring, onFailure: error_get_pj, onSuccess: success_get_pj } ); } /** *@brief ask the name, quick_code of the bank for the ledger */ function update_bank() { var jrn = g('p_jrn').value; var dossier = g('gDossier').value; var qs = 'gDossier=' + dossier + '&op=bkname&p_jrn=' + jrn; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: qs, onFailure: error_get_pj, onSuccess: success_update_bank } ); } /** * @brief Update the number of rows when changing of ledger */ function update_row(ctl) { try { var jrn = g('p_jrn').value; var dossier = g('gDossier').value; var qs = 'gDossier=' + dossier + '&op=minrow&j=' + jrn + '&ctl=' + ctl; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: qs, onFailure: null, onSuccess: function (request, json) { try { var answer = request.responseText.evalJSON(true); var row = parseFloat(answer.row); var current_row = parseFloat($('nb_item').value); if (current_row > row) { // Too many row var delta = $('nb_item').value - row; var idx = $('nb_item').value; for (var i = 0; i < delta; i++) { $(ctl).deleteRow(-1); idx--; } $('nb_item').value = row; } if (current_row < row) { // We need to add rows var delta = row - current_row; for (var i = 0; i < delta; i++) { if (ctl == 'fin_item') { ledger_fin_add_row(); } if (ctl == 'sold_item') { ledger_add_row(); } if (ctl == 'quick_item') { quick_writing_add_row(); } } } } catch (e) { alert_box(e.getMessage); } } } ); } catch (e) { alert_box(e.getMessage); } } /** * @brief Put into the span, the name of the bank, the bank account * and the quick_code */ function success_update_bank(req) { try { var answer = req.responseXML; var a = answer.getElementsByTagName('code'); var html = answer.getElementsByTagName('value'); if (a.length == 0) { var rec = req.responseText; alert_box('erreur :' + rec); } var name_ctl = a[0].firstChild.nodeValue; var code_html = getNodeText(html[0]); code_html = unescape_xml(code_html); $(name_ctl).innerHTML = code_html; } catch (e) { alert_box("success_update_bank" + e.message); } } /** * @brief call ajax, ask what is the last date for the current ledger */ function get_last_date() { var jrn = g('p_jrn').value; var dossier = g('gDossier').value; var qs = 'gDossier=' + dossier + '&op=lastdate&p_jrn=' + jrn; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: qs, onFailure: error_get_pj, onSuccess: success_get_last_date } ); } /** * @brief callback ajax, set the ctl with the last date from the ledger */ function success_get_last_date(req) { try { var answer = req.responseXML; var a = answer.getElementsByTagName('code'); var html = answer.getElementsByTagName('value'); if (a.length == 0) { var rec = req.responseText; alert_box('erreur :' + rec); } var name_ctl = a[0].firstChild.nodeValue; var code_html = getNodeText(html[0]); code_html = unescape_xml(code_html); document.getElementsByName(name_ctl)[0].value = code_html; } catch (e) { alert_box(e.message); } } /** * @brief update the field predef */ function success_get_pj(request, json) { var answer = request.responseText.evalJSON(true); obj = g("e_pj"); obj.value = ''; if (answer.count == 0) return; obj.value = answer.pj; g("e_pj_suggest").value = answer.pj; } /** * @brief update the field predef */ function error_get_pj(request, json) { alert_box("Ajax a echoue"); } /** * @brief add a line in the form for the ledger fin */ function ledger_fin_add_row() { var style = 'class="input_text"'; var mytable = g("fin_item").tBodies[0]; var line = mytable.rows.length; var row = mytable.insertRow(line); var nb = g("nb_item"); var rowToCopy = mytable.rows[1]; var nNumberCell = rowToCopy.cells.length; for (var e = 0; e < nNumberCell; e++) { var newCell = row.insertCell(e); if (e == 0) { newCell.id = 'tdchdate' + nb.value; } var tt = rowToCopy.cells[e].innerHTML; var new_tt = tt.replace(/e_other0/g, "e_other" + nb.value); new_tt = new_tt.replace(/e_other0_comment/g, "e_other" + nb.value + '_comment'); new_tt = new_tt.replace(/e_other_name0/g, "e_other_name" + nb.value); new_tt = new_tt.replace(/e_other0_amount/g, "e_other" + nb.value + '_amount'); new_tt = new_tt.replace(/e_concerned0/g, "e_concerned" + nb.value); new_tt = new_tt.replace(/e_other0_label/g, "e_other" + nb.value + '_label'); new_tt = new_tt.replace(/dateop0/g, "dateop" + nb.value); newCell.innerHTML = new_tt; new_tt.evalScripts(); } g("e_other" + nb.value).value = ""; g("e_other_name" + nb.value).value = ""; g("e_other" + nb.value + '_amount').value = "0"; g("e_other" + nb.value + '_comment').value = ""; g("e_concerned" + nb.value).value = ""; var ch = $('chdate').options[$('chdate').selectedIndex].value; if (ch == 1) { $('tdchdate' + nb.value).hide(); } nb.value++; } /** * @brief add a line in the form for the purchase ledger * @param p_dossier folder id * @param p_table_name */ function ledger_add_row() { try { style = 'class="input_text"'; var mytable = g("sold_item").tBodies[0]; var ofirstRow = mytable.rows[1]; var line = mytable.rows.length; var nCell = mytable.rows[1].cells.length; var row = mytable.insertRow(line); var nb = g("nb_item"); for (var e = 0; e < nCell; e++) { var newCell = row.insertCell(e); var tt = ofirstRow.cells[e].innerHTML; var new_tt = tt.replace(/march0/g, "march" + nb.value); new_tt = new_tt.replace(/quant0/g, "quant" + nb.value); new_tt = new_tt.replace(/sold\(0\)/g, "sold(" + nb.value + ")"); new_tt = new_tt.replace(/compute_ledger\(0\)/g, "compute_ledger(" + nb.value + ")"); new_tt = new_tt.replace(/clean_tva\(0\)/g, "clean_tva(" + nb.value + ")"); newCell.innerHTML = new_tt; new_tt.evalScripts(); } $("e_march" + nb.value + "_label").innerHTML = ''; $("e_march" + nb.value + "_label").value = ''; $("e_march" + nb.value + "_price").value = '0'; $("e_march" + nb.value).value = ""; $("e_quant" + nb.value).value = "1"; if ($("e_march" + nb.value + "_tva_amount")) $("e_march" + nb.value + "_tva_amount").value = 0; nb.value++; new_tt.evalScripts(); } catch (e) { alert_box(e.message); } } /** * @brief compute the sum of a purchase, update the span tvac, htva and tva * all the needed data are taken from the document (hidden field : gdossier) * @param the number of the changed ctrl */ function compute_ledger(p_ctl_nb) { var dossier = g("gDossier").value; var a = -1; if (document.getElementById("e_march" + p_ctl_nb + '_tva_amount')) { a = trim(g("e_march" + p_ctl_nb + '_tva_amount').value); g("e_march" + p_ctl_nb + '_tva_amount').value = a; } if (!document.getElementById("e_march" + p_ctl_nb)) { return; } g("e_march" + p_ctl_nb).value = trim(g("e_march" + p_ctl_nb).value); var qcode = g("e_march" + p_ctl_nb).value; if (qcode.length == 0) { clean_ledger(p_ctl_nb); refresh_ledger(); return; } /* * if tva_id is empty send a value of -1 */ var tva_id = -1; if (g('e_march' + p_ctl_nb + '_tva_id')) { tva_id = g('e_march' + p_ctl_nb + '_tva_id').value; if (trim(tva_id) == '') { tva_id = -1; } } g('e_march' + p_ctl_nb + '_price').value = trim(g('e_march' + p_ctl_nb + '_price').value); var price = g('e_march' + p_ctl_nb + '_price').value; g('e_quant' + p_ctl_nb).value = trim(g('e_quant' + p_ctl_nb).value); var quantity = g('e_quant' + p_ctl_nb).value; var querystring = 'gDossier=' + dossier + '&c=' + qcode + '&t=' + tva_id + '&p=' + price + '&q=' + quantity + '&n=' + p_ctl_nb; $('sum').hide(); var action = new Ajax.Request( "compute.php", { method: 'get', parameters: querystring, onFailure: error_compute_ledger, onSuccess: success_compute_ledger } ); } /** *@brief refresh the purchase screen, recompute vat, total... */ function refresh_ledger() { var tva = 0; var htva = 0; var tvac = 0; for (var i = 0; i < g("nb_item").value; i++) { if (g('tva_march' + i)) tva += g('tva_march' + i).value * 1; if (g('htva_march' + i)) htva += g('htva_march' + i).value * 1; if (g('tvac_march' + i)) tvac += g('tvac_march' + i).value * 1; } if (g('tva')) g('tva').innerHTML = Math.round(tva * 100) / 100; if (g('htva')) g('htva').innerHTML = Math.round(htva * 100) / 100; if (g('tvac')) g('tvac').innerHTML = Math.round(tvac * 100) / 100; } /** *@brief update the field htva, tva_id and tvac, callback function for compute_sold * it the field TVA in the answer contains NA it means that VAT is appliable and then do not * update the VAT field except htva_martc */ function success_compute_ledger(request, json) { var answer = request.responseText.evalJSON(true); var ctl = answer.ctl; var rtva = answer.tva; var rhtva = answer.htva; var rtvac = answer.tvac; if (rtva == 'NA') { var rhtva = answer.htva * 1; g('htva_march' + ctl).value = rhtva; g('tvac_march' + ctl).value = rtvac; g('sum').show(); refresh_ledger(); return; } rtva = answer.tva * 1; g('sum').show(); if (g('e_march' + ctl + '_tva_amount').value == "" || g('e_march' + ctl + '_tva_amount').value == 0) { g('tva_march' + ctl).value = rtva; g('e_march' + ctl + '_tva_amount').value = rtva; } else { g('tva_march' + ctl).value = g('e_march' + ctl + '_tva_amount').value; } g('htva_march' + ctl).value = Math.round(parseFloat(rhtva) * 100) / 100; var tmp1 = Math.round(parseFloat(g('htva_march' + ctl).value) * 100) / 100; var tmp2 = Math.round(parseFloat(g('tva_march' + ctl).value) * 100) / 100; g('tvac_march' + ctl).value = Math.round((tmp1 + tmp2) * 100) / 100; refresh_ledger(); } /** * @brief callback error function for compute_sold */ function error_compute_ledger(request, json) { alert_box('Ajax does not work'); } function compute_all_ledger() { var loop = 0; for (loop = 0; loop < g("nb_item").value; loop++) { compute_ledger(loop); } var tva = 0; var htva = 0; var tvac = 0; for (var i = 0; i < g("nb_item").value; i++) { if (g('tva_march')) tva += g('tva_march' + i).value * 1; if (g('htva_march' + i)) htva += g('htva_march' + i).value * 1; if (g('tvac_march' + i)) tvac += g('tvac_march' + i).value * 1; } if (g('tva')) g('tva').innerHTML = Math.round(tva * 100) / 100; if (g('htva')) g('htva').innerHTML = Math.round(htva * 100) / 100; if (g('tvac')) g('tvac').innerHTML = Math.round(tvac * 100) / 100; } function clean_tva(p_ctl) { if (g('e_march' + p_ctl + '_tva_amount')) g('e_march' + p_ctl + '_tva_amount').value = 0; } function clean_ledger(p_ctl_nb) { if (g("e_march" + p_ctl_nb)) { g("e_march" + p_ctl_nb).value = trim(g("e_march" + p_ctl_nb).value); } if (g('e_march' + p_ctl_nb + '_price')) { g('e_march' + p_ctl_nb + '_price').value = ''; } if (g('e_quant' + p_ctl_nb)) { g('e_quant' + p_ctl_nb).value = '1'; } if (g('tva_march' + p_ctl_nb + '_show')) { g('tva_march' + p_ctl_nb + '_show').value = '0'; } if (g('tva_march' + p_ctl_nb)) { g('tva_march' + p_ctl_nb).value = 0; } if (g('htva_march' + p_ctl_nb)) { g('htva_march' + p_ctl_nb).value = 0; } if (g('tvac_march' + p_ctl_nb)) { g('tvac_march' + p_ctl_nb).value = 0; } } /** * @brief add a line in the form for the quick_writing */ function quick_writing_add_row() { style = 'class="input_text"'; var mytable = g("quick_item").tBodies[0]; var nNumberRow = mytable.rows.length; var oRow = mytable.insertRow(nNumberRow); var rowToCopy = mytable.rows[1]; var nNumberCell = rowToCopy.cells.length; var nb = g("nb_item"); var oNewRow = mytable.insertRow(nNumberRow); for (var e = 0; e < nNumberCell; e++) { var newCell = oRow.insertCell(e); var tt = rowToCopy.cells[e].innerHTML; new_tt = tt.replace(/qc_0/g, "qc_" + nb.value); new_tt = new_tt.replace(/amount0/g, "amount" + nb.value); new_tt = new_tt.replace(/poste0/g, "poste" + nb.value); new_tt = new_tt.replace(/ck0/g, "ck" + nb.value); new_tt = new_tt.replace(/ld0/g, "ld" + nb.value); newCell.innerHTML = new_tt; new_tt.evalScripts(); } $("qc_" + nb.value).value = ""; $("amount" + nb.value).value = ""; $("poste" + nb.value).value = ""; $("ld" + nb.value).value = ""; nb.value++; } function RefreshMe() { window.location.reload(); } function go_next_concerned() { var form = document.forms[1]; for (var e = 0; e < form.elements.length; e++) { var elmt = form.elements[e]; if (elmt.type == "checkbox") { if (elmt.checked == true) { return confirm("Si vous changez de page vous perdez les reconciliations, continuez ?"); } } } return true; } function view_history_account(p_value, dossier) { layer++; id = 'det' + layer; var popup = {'id': id, 'cssclass': 'inner_box', 'html': loading(), 'drag': true}; querystring = 'gDossier=' + dossier + '&act=de&pcm_val=' + p_value + '&div=' + id + "&l=" + layer; add_div(popup); var action = new Ajax.Request( "ajax_history.php", { method: 'get', parameters: querystring, onFailure: error_box, onSuccess: function (req, xml) { success_box(req, xml); g(id).style.top = calcy(140 + (layer * 3)) + "px"; } } ); } function update_history_account(obj) { try { var querystring = "l=" + obj.div + "&div=" + obj.div + "&gDossier=" + obj.gDossier + "&pcm_val=" + obj.pcm_val + "&ex=" + obj.select.options[obj.select.selectedIndex].text; var action = new Ajax.Request( "ajax_history.php", { method: 'get', parameters: querystring, onFailure: error_box, onSuccess: function (req, xml) { success_box(req, xml); g(obj.div).style.top = calcy(140 + (layer * 3)) + "px"; } }); } catch (e) { alert_box("update_history_account error " + e.message); } return false; } /*!\brief * \param p_value f_id of the card */ function view_history_card(p_value, dossier) { layer++; id = 'det' + layer; var popup = {'id': id, 'cssclass': 'inner_box' , 'html': loading(), 'drag': true}; querystring = 'gDossier=' + dossier + '&act=de&f_id=' + p_value + '&div=' + id + "&l=" + layer; add_div(popup); var action = new Ajax.Request( "ajax_history.php", { method: 'get', parameters: querystring, onFailure: error_box, onSuccess: function (req, xml) { success_box(req, xml); g(id).style.top = calcy(140 + (layer * 3)) + "px"; } } ); } function update_history_card(obj) { try { var querystring = "l=" + obj.div + "&div=" + obj.div + "&gDossier=" + obj.gDossier + "&f_id=" + obj.f_id + "&ex=" + obj.select.options[obj.select.selectedIndex].text; var action = new Ajax.Request( "ajax_history.php", { method: 'get', parameters: querystring, onFailure: error_box, onSuccess: function (req, xml) { success_box(req, xml); g(obj.div).style.top = calcy(140 + (layer * 3)) + "px"; } }); } catch (e) { alert_box("update_history_account error " + e.message); } return false; } /** * remove an Operation *@param p_jr_id is the jrn.jr_id *@param dossier *@param the div */ function removeOperation(p_jr_id, dossier, div) { waiting_box(); var qs = "gDossier=" + dossier + "&act=rmop&div=" + div + "&jr_id=" + p_jr_id; var action = new Ajax.Request( "ajax_ledger.php", { method: 'get', parameters: qs, onFailure: error_box, onSuccess: infodiv } ); } /** * reverse an Operation *@param pointer to the FORM */ function reverseOperation(obj) { var qs = $(obj).serialize(); g('ext' + obj.divname).style.display = 'none'; g('bext' + obj.divname).style.display = 'none'; waiting_box(); var action = new Ajax.Request( "ajax_ledger.php", { method: 'get', parameters: qs, onFailure: error_box, onSuccess: infodiv } ); return false; } /*! * \brief Show the details of an operation * \param p_value jrn.jr_id * \param dossier dossier id */ function modifyOperation(p_value, dossier) { layer++; var id = 'det' + layer; waiting_box(); var querystring = 'gDossier=' + dossier + '&act=de&jr_id=' + p_value + '&div=' + id; var action = new Ajax.Request( "ajax_ledger.php", { method: 'get', parameters: querystring, onFailure: error_box, onSuccess: function (xml, txt) { var popup = {'id': id, 'cssclass': 'inner_box' , 'html': "", 'drag': true}; remove_waiting_box(); add_div(popup); success_box(xml, txt); $(id).style.position = "absolute"; $(id).style.top = calcy(100 + (layer * 3)) + "px"; } } ); } /*!\brief * \param p_value jrn.jr_id */ function viewOperation(p_value, p_dossier) { modifyOperation(p_value, p_dossier) } function dropLink(p_dossier, p_div, p_jr_id, p_jr_id2) { var querystring = 'gDossier=' + p_dossier; querystring += '&div=' + p_div; querystring += '&jr_id=' + p_jr_id; querystring += '&act=rmr'; querystring += '&jr_id2=' + p_jr_id2; var action = new Ajax.Request('ajax_ledger.php', { method: 'get', parameters: querystring, onFailure: null, onSuccess: null } ); } /** *@brief this function is called before the querystring is send to the * fid2.php, add a filter based on the ledger 'p_jrn' *@param obj is the input field *@param queryString is the queryString to modify *@see ICard::input */ function filter_card(obj, queryString) { jrn = $('p_jrn').value; if (jrn == -1) { type = $('ledger_type').value; queryString = queryString + '&type=' + type; } else { queryString = queryString + '&j=' + jrn; } return queryString; } /** *@brief to display the lettering for the operation, call * ajax function *@param obj object attribut : gDossier,j_id,obj_type */ function dsp_letter(obj) { try { var queryString = 'gDossier=' + obj.gDossier + '&j_id=' + obj.j_id + '&op=dl' + '&ot=' + obj.obj_type; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: queryString, onFailure: error_dsp_letter, onSuccess: success_dsp_letter } ); g('search').style.display = 'none'; g('list').style.display = 'none'; $('detail').innerHTML = loading(); g('detail').style.display = 'block'; } catch (e) { alert_box('dsp_letter failed ' + e.message); } } function success_dsp_letter(req) { try { var answer = req.responseXML; var a = answer.getElementsByTagName('code'); var html = answer.getElementsByTagName('value'); if (a.length == 0) { var rec = req.responseText; alert_box('erreur :' + rec); } var name_ctl = a[0].firstChild.nodeValue; var code_html = getNodeText(html[0]); code_html = unescape_xml(code_html); $('detail').innerHTML = code_html; } catch (e) { alert_box(e.message); } try { code_html.evalScripts(); } catch (e) { alert_box("Impossible executer script de la reponse\n" + e.message); } } function error_dsp_letter(req) { alert_box('Erreur AJAX DSP_LETTER'); } function search_letter(obj) { try { var str_query = ''; if (obj.elements['gDossier']) str_query = 'gDossier=' + obj.elements['gDossier'].value; if (obj.elements['j_id']) str_query += '&j_id=' + obj.elements['j_id'].value; if (obj.elements['ot']) str_query += '&ot=' + obj.elements['ot'].value; if (obj.elements['op']) str_query += '&op=' + obj.elements['op'].value; if (obj.elements['min_amount']) str_query += '&min_amount=' + obj.elements['min_amount'].value; if (obj.elements['max_amount']) str_query += '&max_amount=' + obj.elements['max_amount'].value; if (obj.elements['search_start']) str_query += '&search_start=' + obj.elements['search_start'].value; if (obj.elements['search_end']) str_query += '&search_end=' + obj.elements['search_end'].value; if (obj.elements['side']) str_query += '&side=' + obj.elements['side'].value; var action = new Ajax.Request( "ajax_misc.php", { method: 'get', parameters: str_query, onFailure: error_dsp_letter, onSuccess: success_dsp_letter } ); $('list').hide(); $('search').hide(); $('detail').innerHTML = loading(); $('detail').show(); } catch (e) { alert_box('search_letter ' + e.message); } } /** *@brief save an operation in ajax, it concerns only the * comment, the pj and the rapt * the form elements are access by their name *@param obj form */ function op_save(obj) { try { var queryString = $(obj).serialize(); queryString += "&gDossier=" + obj.gDossier.value; var rapt2 = "rapt" + obj.whatdiv.value; queryString += "&rapt=" + g(rapt2).value; queryString += '&jr_id=' + obj.jr_id.value; var jr_id=obj.jr_id.value; queryString += '&div=' + obj.whatdiv.value; var divid=obj.whatdiv.value; queryString += '&act=save'; waiting_box(); /* * Operation detail is in a new window */ if (g('inpopup')) { var action = new Ajax.Request('ajax_ledger.php', { method: 'post', parameters: queryString, onFailure: null, onSuccess: infodiv } ); // window.close(); } else { /* *Operation is in a modal box */ var action = new Ajax.Request('ajax_ledger.php', { method: 'post', parameters: queryString, onFailure: null, onSuccess: function(req,json) { new Ajax.Request('ajax_ledger.php', { parameters:{'gDossier':obj.gDossier.value, 'act':'de', 'jr_id' : jr_id, 'div' : divid}, onSuccess:function(xml) { try { var answer=xml.responseXML; var html = answer.getElementsByTagName('code'); $(divid).innerHTML=unescape(getNodeText(html[0])); remove_waiting_box(); } catch (e) { alert_box("1038"+e.message) } } }); } }); } return false; } catch (e) { alert_box(e.message); } } function get_history_account(ctl, dossier) { if ($(ctl).value != '') { view_history_account($(ctl).value, dossier); } } var previous = []; function show_reconcile(p_div, p_let) { try { if (previous.length != 0) { var count_elt = previous.length; var i = 0; for (i = 0; i < count_elt; i++) { previous[i].style.backgroundColor = ''; previous[i].style.color = ''; previous[i].style.fontWeight = ""; } } var name = 'tr_' + p_let + '_' + p_div; var elt = document.getElementsByName(name); previous = elt; var count_elt = elt.length; var i = 0; for (i = 0; i < count_elt; i++) { elt[i].style.backgroundColor = '#000066'; elt[i].style.color = 'white'; elt[i].style.fontWeight = 'bolder'; } } catch (e) { alert_box(e.message); } } /** * @brief add a line in the form for the purchase ledger */ function gestion_add_row() { try { style = 'class="input_text"'; var mytable = g("art").tBodies[0]; var ofirstRow = mytable.rows[1]; var line = mytable.rows.length; var nCell = mytable.rows[1].cells.length; var row = mytable.insertRow(line); var nb = g("nb_item"); for (var e = 0; e < nCell; e++) { var newCell = row.insertCell(e); var tt = ofirstRow.cells[e].innerHTML; var new_tt = tt.replace(/march0/g, "march" + nb.value); new_tt = new_tt.replace(/quant0/g, "quant" + nb.value); new_tt = new_tt.replace(/sold\(0\)/g, "sold(" + nb.value + ")"); new_tt = new_tt.replace(/compute_ledger\(0\)/g, "compute_ledger(" + nb.value + ")"); new_tt = new_tt.replace(/clean_tva\(0\)/g, "clean_tva(" + nb.value + ")"); new_tt = new_tt + ''; new_tt = new_tt + ''; newCell.innerHTML = new_tt; if (mytable.rows[1].cells[e].hasClassName("num")) { newCell.addClassName("num"); } new_tt.evalScripts(); } g("e_march" + nb.value + "_label").innerHTML = ' '; g("e_march" + nb.value + "_label").value = ''; g("e_march" + nb.value + "_price").value = '0'; g("e_march" + nb.value).value = ""; g("e_quant" + nb.value).value = "1"; g('tvac_march' + nb.value).value = "0"; if ($("e_march" + nb.value + "_tva_amount")) g("e_march" + nb.value + "_tva_amount").value = 0; nb.value++; new_tt.evalScripts(); } catch (e) { alert_box(e.message); } } function document_remove(p_dossier,p_div,p_jrid) { smoke.confirm('Effacer ?', function (e) { if (e) { new Ajax.Request('ajax_ledger.php', { parameters:{"p_dossier":p_dossier,"div":p_div,"p_jrid":p_jrid,'act':'rmf'}, onSuccess : function(x) { $('receipt'+p_div).innerHTML=x.responseText; } }) } }); }