1 [% USE HTML %]<body onload="[% onload %]">
 
   5   <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
 
   6   <input type="hidden" name="input_id" value="[% HTML.escape(input_id) %]">
 
  10     <th class="listtop">[% title %]</th>
 
  14    <tr><td>Please insert object dimensions below.</td></tr>
 
  20       <tr class="listheading">
 
  21        [% FOREACH col = HEADER %]
 
  22         <th nowrap class="listheading">[% col.column_title %]</a></th>
 
  26       [% FOREACH row = VARIABLES %]
 
  27        <tr class="listrow[% loop.count % 2 %]">
 
  28         <td>[% HTML.escape(row.description) %]:</td><td><input id="[% row.name %]" name="[% row.name %]" value=""></td>
 
  29         <td>[% HTML.escape(row.unit) %]</td>
 
  37  <button type="button" onclick="calculate_qty()">Calculate</button>
 
  40  <script type="text/javascript">
 
  42       function calculate_qty() {
 
  43         [% FOREACH row = VARIABLES %]
 
  44         var [% row.name %] = document.getElementsByName("[% row.name %]")[0].value.replace(/,/g, ".");
 
  46         var result = [% formel %];
 
  47         result = number_format(result, 2, ",", ".");
 
  48         window.opener.document.getElementsByName(document.Form.input_name.value)[0].value = result;
 
  53 function /*out: String*/ number_format( /* in: float   */ number, 
 
  54                                         /* in: integer */ laenge, 
 
  56                                         /* in: String  */ th_sep ) {
 
  58   number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
 
  59   str_number = number+"";
 
  60   arr_int = str_number.split(".");
 
  61   if(!arr_int[0]) arr_int[0] = "0";
 
  62   if(!arr_int[1]) arr_int[1] = "";
 
  63   if(arr_int[1].length < laenge){
 
  64     nachkomma = arr_int[1];
 
  65     for(i=arr_int[1].length+1; i <= laenge; i++){  nachkomma += "0";  }
 
  66     arr_int[1] = nachkomma;
 
  68   if(th_sep != "" && arr_int[0].length > 3){
 
  71     for(j = 3; j < Begriff.length ; j+=3){
 
  72       Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
 
  73       arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
 
  75     str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
 
  76     arr_int[0] = str_first + arr_int[0];
 
  78   return arr_int[0]+sep+arr_int[1];