function FindByName (name)
{
var elements = document.forms[0].elements;
for (var i = 0; i < elements.length; ++i)
{
if(name == elements[i].name)
{
return i;
}
}
return -1;
}
function Format (value)
{
value = Math.round(value * 100);
var select = (value % 100 == 0) ? 0 : ((value % 100) % 10 == 0) ? 1 : 2;
value = '' + (value / 100);
switch (select)
{
// keine Nachkommastellen
case 0:
return value + ',00';
// eine Nachkommastelle
case 1:
var parts = value.split('.');
return parts[0] + ',' + parts[1] + '0';
// zwei Nachkommastellen
case 2:
var parts = value.split('.');
return parts[0] + ',' + parts[1];
}
}
function DezPkt (value)
{
if (value.search(/,/) != -1)
{
var parts = value.split(',');
return (parts[0] + '.' + parts[1]) * 1;
}
else
{
return value * 1;
}
}
function DoSumm ()
{
var form = document.forms[0];
var elements = form.elements;
var fields = [];
var prices = [];
var indices = [];
var counter = 0;
var result = 0;
var j, count, ni, price, mw, eu;
for (var i = 0; i < elements.length; ++i)
{
if (elements[i].name.indexOf('__') == 0)
{
fields.push(elements[i].name.substr(2, 100));
prices.push(elements[i].value);
}
}
for (var i = 0; i < fields.length; ++i)
{
if (navigator.appName == 'Netscape')
{
ni = fields[i];
j = FindByName(ni);
count = elements[j].value;
}
else
{
ni = fields[i];
count = elements(ni).value;
}
price = DezPkt(prices[i]);
if (count > 0)
{
counter += count;
result += count * price;
}
}
mw = result * (19 / 119);
eu = result / 1.95583;
form._wh_anzfl.value = counter;
form._wh_betr.value = Format(result);
form._wh_mwst.value = Format(mw);
}