function update_dynaeasy_linevalues(pieces_per_unit_tdid, price_per_piece_tdid, units_fieldname, total_pieces_tdid, totalvalue_tdid) {
    var this_pieces_per_unit = parseFloat(document.getElementById(pieces_per_unit_tdid).innerHTML.replace(",",".")).toFixed(0);
    var this_price_per_piece = parseFloat(document.getElementById(price_per_piece_tdid).innerHTML.replace(",",".")).toFixed(2);
    var this_number_of_units = parseFloat(document.getElementById(units_fieldname).value.replace(",",".")).toFixed(0);
    document.getElementById(total_pieces_tdid).innerHTML = (this_number_of_units*this_pieces_per_unit).toFixed(0);
    document.getElementById(totalvalue_tdid).innerHTML = (this_number_of_units * this_pieces_per_unit * this_price_per_piece).toFixed(2);
}

function update_dynaeasy_totalvalues() {
    var line_items_str = document.getElementById('lineitems_field').value;
    var items = line_items_str.split("#");
    var netto_value = 0;
    var total_weight = 0;
    for (var x = 0; x < items.length; x++) {
        var field_value = document.getElementById('totalamount_'+items[x]+'_tdid').innerHTML;  
        netto_value = netto_value + parseFloat(field_value);
        var item_weight = document.getElementById('item_'+items[x]+'_weight_field').value;
        var number_of_items = document.getElementById('totalpieces_'+items[x]+'_tdid').innerHTML;
        var weight = parseFloat(item_weight * number_of_items);
        total_weight = total_weight + weight;
    }
    netto_value = parseFloat(netto_value).toFixed(2); 
    document.getElementById('nettovalue_tdid').innerHTML = netto_value;
    var transportation_value = 0;
    // calculate transportation value
    if (netto_value == 0) { 
        transportation_value = 0;
    } else if (netto_value >= 1500) {
        transportation_value = 0;
    } else if (netto_value >= 300) {
        var kilo = total_weight/1000;
        // abstufung CHF 8 pro 30 kg
        transportation_value = Math.ceil(kilo/30)*8;
    } else {
        var kilo = total_weight/1000;
        // abstufung CHF 8 pro 30 kg
        transportation_value = Math.ceil(kilo/30)*8;
        // plus CHF 20 Kleinmegenzuschlag
        transportation_value = transportation_value + 20;
    }
    transportation_value = parseFloat(transportation_value).toFixed(2);
    document.getElementById('transportationvalue_tdid').innerHTML = transportation_value;
    var netto_including_trans = parseFloat(netto_value) + parseFloat(transportation_value);
    var vat_value = netto_including_trans/100*7.6;
    document.getElementById('vatvalue_tdid').innerHTML = parseFloat(vat_value).toFixed(2);
    var total_value = netto_including_trans + vat_value;
    document.getElementById('totalvalue_tdid').innerHTML = fivecent_round(total_value);
}
 