/* * This file is part of PhpCompta. * * PhpCompta 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. * * PhpCompta 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 PhpCompta; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* $Revision: 2546 $ */ // Copyright Author Dany De Bontridder ddebontridder@yahoo.fr /** * @brief javascript for the analytic accountancy */ /*!\brief add a row for the CA * \param p_table_id * \param p_amount amount to reach */ function add_row(p_table,p_seq) { var mytable=g(p_table).tBodies[0]; if ( ! mytable ) { return; } var new_value=mytable.rows.length+1; if ( mytable.rows.length > 5 ) { alert("Maximum 5 lignes "); return; } // For the detail view (modify_op) there is several form and then several time the // element var rowToCopy=mytable.rows[1]; var row=mytable.insertRow(mytable.rows.length); for ( var i=0;i< rowToCopy.cells.length;i++) { var cell=row.insertCell(i); var txt=rowToCopy.cells[i].innerHTML; // txt=txt.replace(/row_1/g,"row_"+new_value); cell.innerHTML=txt; } } /*! * \brief Check the amount of the CA * \param p_style : error or ok, if ok show a ok box if the amount are equal * * * \return true if the amounts are equal */ function verify_ca(div) { var idx=0; var amount_error=0; // put a maximum while (idx < 50 ) { var table=div+'t'+idx; if ( g(table) ) { var total_amount=0; // table is found compute the different val[] var array_value=document.getElementsByName('val['+idx+'][]'); for (var i=0;i < array_value.length;i++ ) { if ( isNaN(array_value[i].value)) { array_value[i].value=0; } total_amount+=parseFloat(array_value[i].value); } var amount=parseFloat(g('amount_t'+idx).value); var diff=amount-total_amount; if ( Math.round(diff,2)!= 0.0) { g(table).style.backgroundColor='red'; amount_error++; } else { g(table).style.backgroundColor='lightgreen'; } idx++; } else break; } if ( amount_error != 0 ) { alert('Désolé, les montants pour la comptabilité analytique sont incorrects'); return false; } return true; } /*! * \brief open a window for searching a CA account, * \param p_dossier dossier id * \param p_target ctrl to update * \param p_source ctrl containing the pa_id * * * \return */ function search_ca (p_dossier,p_target,p_source) { var pa_id=g(p_source).value; var url="?gDossier="+p_dossier+"&c1="+p_target+"&c2="+pa_id; var a=window.open("search_ca.php"+url,"CA recherche",'statusbar=no,scrollbars=yes,toolbar=no'); a.focus(); } function caod_checkTotal() { var ie4=false; if ( document.all ) { ie4=true; }// Ajouter getElementById par document.all[str] var total_deb=0.0; var total_cred=0.0; var nb_item=g('nbrow').value; for (var i=0;i