calculate_qty (Formel): alu (?) und andere unbenutzte Parameter entfernt
[kivitendo-erp.git] / templates / webpages / generic / calculate_qty.html
1 [%- USE T8 %]
2 [%- USE HTML %]
3 <h1>[% title %]</h1>
4
5  <form name="Form">
6
7   <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
8
9   <table width="100%">
10    <tr><td>[% 'Please insert object dimensions below.' | $T8 %]</td></tr>
11
12    <tr>
13     <td>
14
15      <table>
16       <tr class="listheading">
17        [% FOREACH col = HEADER %]
18         <th nowrap class="listheading">[% col.column_title %]</a></th>
19        [% END %]
20       </tr>
21
22       [% FOREACH row = VARIABLES %]
23        <tr class="listrow[% loop.count % 2 %]">
24         <td>[% HTML.escape(row.description) %]:</td><td><input id="[% row.name %]" name="[% row.name %]" value=""></td>
25         <td>[% HTML.escape(row.unit) %]</td>
26        </tr>
27       [% END %]
28      </table>
29
30     </td>
31    </tr>
32   </table>
33  <button type="button" onclick="calculate_qty()">[% 'Calculate' | $T8 %]</button>
34  </form>
35
36  <script type="text/javascript">
37    function calculate_qty() {
38 [%- FOREACH row = VARIABLES %]
39      var [% row.name %] = parse_amount('[% MYCONFIG.numberformat %]', document.getElementsByName("[% row.name %]")[0].value);
40 [%- END %]
41      var result = [% formel %];
42      result = number_format(result, 2, '[% MYCONFIG.numberformat %]');
43      window.opener.document.getElementsByName(document.Form.input_name.value)[0].value = result;
44      self.close();
45    }
46
47    function parse_amount(numberformat, amount) {
48      if (numberformat == '1.000,00' || numberformat == '1000,00')
49        amount = amount.replace(/\./g, "").replace(/,/, ".");
50      if (numberformat == "1'000.00")
51        amount = amount.replace(/\'/g, '');
52      return amount.replace(/,/g, '');
53    }
54
55    function number_format(number, precision, numberformat) {
56      number = Math.round( number * Math.pow(10, precision) ) / Math.pow(10, precision);
57      var nf     = numberformat.replace(/\d/g, '').split('').reverse();
58      var sep    = nf[0];
59      var th_sep = nf[1];
60
61      str_number = number+"";
62      arr_int = str_number.split(".");
63      if(!arr_int[0]) arr_int[0] = "0";
64      if(!arr_int[1]) arr_int[1] = "";
65      if(arr_int[1].length < precision) {
66        nachkomma = arr_int[1];
67        for(i=arr_int[1].length+1; i <= precision; i++) {
68          nachkomma += "0";
69        }
70        arr_int[1] = nachkomma;
71      }
72      if(th_sep != "" && arr_int[0].length > 3) {
73        raw_arr_int = arr_int[0];
74        arr_int[0] = "";
75        for(j = 3; j < raw_arr_int.length ; j+=3) {
76          arr_int[0] = th_sep + raw_arr_int.slice(raw_arr_int.length - j, raw_arr_int.length - j + 3) +  arr_int[0] + "";
77        }
78        str_first = raw_arr_int.substr(0, (raw_arr_int.length % 3 == 0) ? 3 : (raw_arr_int.length % 3));
79        arr_int[0] = str_first + arr_int[0];
80      }
81      return arr_int[0] + sep + arr_int[1];
82    }
83  </script>