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) {

    // Convert the number to a string
    var value_string = rounded_value.toString()
    
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".")

    // Is there a decimal point?
    if (decimal_location == -1) {
        
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0
        
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : ""
    }
    else {

        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1
    }
    
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length
    
    if (pad_total > 0) {
        
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}

var amount = 0;
var addPrices = Array();
function chPrice(changed, value, itemPrice, addId)
{
	var val = 0;
	switch (changed)
	{
		case 'amount':
			this.amount = value;
		break;
		case 'add':
			this.addPrices[addId] = prop[value];
		break;
	}
	
	val = this.amount * itemPrice;
	for (var x in addPrices)
	{
		val += parseFloat(addPrices[x]) * this.amount;
	}
	
	document.getElementById('cost').innerHTML = round_decimals(val,2);
}

function calcPrice()
{
	var collection = document.form_prod.elements;
	this.amount = collection['quantity'].value;
	val = this.amount * parseFloat(document.getElementById('cost').innerHTML);
	for ( var i = 0; collection[i]; i++ )
	{
		var el = collection[i];
		if (el.checked)
		{
			this.addPrices[el.id] = parseFloat(prop[el.value])
			val += parseFloat(prop[el.value])*this.amount;
		}
		if (el.type == 'select-one')
		{
			val += parseFloat(prop[el.value]*this.amount);
			this.addPrices[el.id] = parseFloat(prop[el.value])
		}
	}
	document.getElementById('cost').innerHTML = round_decimals(val,2);
}
