	
function calculatePrice() {
	var totalPrice = 0;
	var countedFees = {};
	$('.packetOption').each(function (i, element) {
		elementId = $(element).attr('id');
		serviceId = elementId.substr(8);
		if ($(element).attr('checked') == true) {
			totalPrice += parseFloat($(element).val());
			result = eval('countedFees.service' + serviceId);
			if (result == undefined) {
				eval('countedFees.service' + serviceId + '="true"');
				oneTimeFee = parseFloat($('.service_fee_' + serviceId).val());
				if (!isNaN(oneTimeFee)) {
					totalPrice += oneTimeFee;
				}
			}
		}
	});
	totalPrice = Math.round(totalPrice*100);
	totalPrice = totalPrice/100;
	$('#total').html(number_format(totalPrice, 2, '.', ' '));
	$('#totalPrice').val(totalPrice);
}

function number_format(value, decNumber, decSeparator, thousandsSeparator)
{
	var decPart = '';
	var basePart = '';
	value = String(value).replace(/,/g, ".");
	dotPosition = value.indexOf('.');
    if (dotPosition != -1)
    {
        base = value.substring(0, dotPosition);
	    rest = value.substr(dotPosition+1, decNumber);
    }
    else
    {
        base = value;
        rest = 0;
    }
    decPart = '';
    rest += '';
    //wypełnij zerami jeśli po przecinku jest mniej cyfr niz decNumber
    for (var i = rest.length; i < decNumber; i++) {
        decPart += '0';
    }
    rest += decPart;
    baseLength = base.length;
    nonThreeParts = parseInt(base.length)%3;
    nonThreePart = '';
    if (nonThreeParts != 0) {
        nonThreePart = base.substr(0, parseInt(nonThreeParts)) + thousandsSeparator;
        base = base.substr(parseInt(nonThreeParts));
    }
    threeParts = base.match(/\d{1,3}/g);
    if (threeParts == null)
    {
    	threeParts = '';
    }
    else
    {
    	threeParts = threeParts.join(thousandsSeparator);
    }
    basePart = nonThreePart.replace(/ /, '') + threeParts + decSeparator + rest;

    return basePart;
}