function CalculateTotal(frm) {
var order_total = 0
for (var i=0; i < frm.elements.length; ++i) {
form_field = frm.elements[i]
form_name = form_field.id
if (form_name.substring(0,4) == "PROD") {
item_price = parseFloat(form_name.substring(form_name.lastIndexOf("_") + 1))
item_quantity = parseInt(form_field.value)
if (item_quantity >= 0) {
order_total += item_quantity * item_price
}
}
}

frm.TOTAL.value = round_decimals(order_total, 2)
}

function round_decimals(original_number, decimals) {
var result1 = original_number * Math.pow(10, decimals)
var result2 = Math.round(result1)
var result3 = result2 / Math.pow(10, decimals)
return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {
var value_string = rounded_value.toString()
var decimal_location = value_string.indexOf(".")
if (decimal_location == -1) {
decimal_part_length = 0
value_string += decimal_places > 0 ? "." : ""
}
else {
decimal_part_length = value_string.length - decimal_location - 1
}

var pad_total = decimal_places - decimal_part_length
if (pad_total > 0) {
for (var counter = 1; counter <= pad_total; counter++) 
value_string += "0"
}
return value_string
}