| // HOTELDRUID // Copyright (C) 2001-2011 by Marco Maria Francesco De Santis (marco@digitaldruid.net) // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version accepted by Marco Maria Francesco De Santis, which // shall act as a proxy as defined in Section 14 of version 3 of the // license. // // This program 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 Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. function punti_in_num (num) { var n = String(num); var lung = n.length; var lett; var prima = ''; var dopo = ''; var pun = 0; for (var n1 = 0 ; n1 < lung ; n1++) { lett = ''+n.substr(n1,1); if (lett == '.') pun = 1; else { if (pun) dopo += lett; else prima += lett; } } n = prima; prima = ''; var n2 = 0; for (n1 = (n.length - 1) ; n1 >= 0 ; n1--) { lett = ''+n.substr(n1,1); n2++; if (n2 > 3) { prima = punto+prima; n2 = 0; } prima = lett+prima; } dopo = dopo.substr(0,2); if (dopo.length == 0) dopo = '00'; if (dopo.length == 1) dopo += '0'; return prima+virgola+dopo; } function elimina_pos_vett (pos,vett) { var n_vett = new Array(); var n1 = 0; for (var n2 = 0 ; n2 < vett.length ; n2++) { if (n2 != pos) { n_vett[n1] = vett[n2]; n1++; } } return n_vett } // punto_vendita.php functions function aggiungi_linea_pv (id,nome,molt,val,calcolab,moltiplicab) { ultimo_costo++; calcolabile[ultimo_costo] = calcolab; moltiplicabile[ultimo_costo] = moltiplicab; id_costo[ultimo_costo] = id; nome_costo[ultimo_costo] = nome; molt_costo[ultimo_costo] = molt; val_costo[ultimo_costo] = val; var tab_costi = document.getElementById('tab_costi'); var riga = tab_costi.insertRow(-1); riga.style.backgroundColor = colore_corr; if (colore_corr == t2row1color) colore_corr = t2row2color; else colore_corr = t2row1color; var cell1 = riga.insertCell(-1); var cell2 = riga.insertCell(-1); var cell3 = riga.insertCell(-1); cell1.width = '34px'; cell1.height = '34px'; cell1.innerHTML = '<button class=\"pos\" type=\"submit\" name=\"canc_costo\" value=\"'+ultimo_costo+'\" onclick=\"return canc_cos_pv('+ultimo_costo+');\" style=\"padding: 0;\"><img style=\"display: block; padding: 0; border: 0; margin: 0;\" src=\".\/img\/croce.gif\" alt=\"X\"><\/button>'; cell2.innerHTML = nome; if (molt && molt != 1) cell2.innerHTML += ' <b>x'+molt+'<\/b>'; cell3.width = '40px'; cell3.style.textAlign = 'right'; cell3.innerHTML = punti_in_num(val); totale = Number(totale) + Number(val); var txt_tot = punti_in_num(totale); if (tot_indef) { if (totale > 0) txt_tot += ' + ?'; else txt_tot = '?'; } document.getElementById('tot_costi').innerHTML = txt_tot; if (id_costi != '') id_costi += ','; else document.getElementById('incassa').disabled = 0; id_costi += ''+id; if (molt && molt > 1) id_costi += 'x'+molt; document.getElementById('id_costi').value = id_costi; } function elimina_linea_pv (num_costo) { document.getElementById('tab_costi').deleteRow(num_costo); if (colore_corr == t2row1color) colore_corr = t2row2color; else colore_corr = t2row1color; totale = Number(totale) - Number(val_costo[num_costo]); var txt_tot = punti_in_num(totale); if (tot_indef) { if (totale > 0) txt_tot += ' + ?'; else txt_tot = '?'; } document.getElementById('tot_costi').innerHTML = txt_tot; var id_costi_vett = id_costi.split(','); id_costi_vett = elimina_pos_vett(num_costo,id_costi_vett); id_costi = id_costi_vett.join(','); document.getElementById('id_costi').value = id_costi; if (id_costi == '') document.getElementById('incassa').disabled = 1; calcolabile = elimina_pos_vett(num_costo,calcolabile); moltiplicabile = elimina_pos_vett(num_costo,moltiplicabile); id_costo = elimina_pos_vett(num_costo,id_costo); nome_costo = elimina_pos_vett(num_costo,nome_costo); molt_costo = elimina_pos_vett(num_costo,molt_costo); val_costo = elimina_pos_vett(num_costo,val_costo); ultimo_costo--; var col_lin = colore_corr; for (var n1 = ultimo_costo ; n1 >= num_costo ; n1--) { var linea = document.getElementById('tab_costi').rows[n1].firstChild.innerHTML; linea = linea.replace('value=\"'+(n1 + 1)+'\"','value=\"'+n1+'\"'); linea = linea.replace('canc_cos_pv('+(n1 + 1)+')','canc_cos_pv('+n1+')'); document.getElementById('tab_costi').rows[n1].firstChild.innerHTML = linea; if (col_lin == t2row1color) col_lin = t2row2color; else col_lin = t2row1color; document.getElementById('tab_costi').rows[n1].style.backgroundColor = col_lin; } } function ins_cos_pv (id,nome,molt,val,calcolab,moltiplicab) { aggiungi_linea_pv(id,nome,molt,val,calcolab,moltiplicab); window.location.hash = 'finetab'; return false; } function canc_cos_pv (num) { elimina_linea_pv(num); return false; } function aggiungi_costi_pv (num_agg) { if (calcolabile[ultimo_costo] != 1) return true; var costo_corr = ultimo_costo; if (moltiplicabile[costo_corr] != 1) { for (var n1 = 0 ; n1 < num_agg ; n1++) { aggiungi_linea_pv(id_costo[costo_corr],nome_costo[costo_corr],molt_costo[costo_corr],val_costo[costo_corr],calcolabile[costo_corr],moltiplicabile[costo_corr]); } } else { var id = id_costo[costo_corr]; var nome = nome_costo[costo_corr]; var val = Number(val_costo[costo_corr]); var molt = molt_costo[costo_corr]; if (!molt) molt = 1; molt = Number(molt); var val_base = Math.round((val / molt) * 100) / 100; molt += Number(num_agg); val = val_base * molt; var calcolab = calcolabile[costo_corr]; var moltiplicab = moltiplicabile[costo_corr]; elimina_linea_pv(ultimo_costo); aggiungi_linea_pv(id,nome,molt,val,calcolab,moltiplicab); } window.location.hash = 'finetab'; return false; } function moltiplica_costi_pv (num_molt) { if (calcolabile[ultimo_costo] != 1) return true; if (moltiplicabile[ultimo_costo] != 1) aggiungi_costi_pv(num_molt - 1); else { var molt = molt_costo[ultimo_costo]; if (!molt) molt = 1; molt = Number(molt); var n_molt = Number(num_molt) * molt; aggiungi_costi_pv(n_molt - molt); } return false; } function sottrai_costi_pv (num_sott) { if (calcolabile[ultimo_costo] != 1) return true; if (moltiplicabile[ultimo_costo] != 1) elimina_linea_pv(ultimo_costo); else { var id = id_costo[ultimo_costo]; var nome = nome_costo[ultimo_costo]; var val = Number(val_costo[ultimo_costo]); var molt = molt_costo[ultimo_costo]; if (!molt) molt = 1; molt = Number(molt); var val_base = Math.round((val / molt) * 100) / 100; molt = molt - Number(num_sott); var calcolab = calcolabile[ultimo_costo]; var moltiplicab = moltiplicabile[ultimo_costo]; elimina_linea_pv(ultimo_costo); if (molt > 0) { val = val_base * molt; aggiungi_linea_pv(id,nome,molt,val,calcolab,moltiplicab); } } return false; } |