$(function()
{
    $('[name^=rate]').change(function()
    {
        if($(this).val() && !$.isNumeric($(this).val())) return false;

        $('#totalRateLabel').remove();
        computeTotal();
    });

    $('.delItem').click(function()
    {
        if($('.delItem').length == 1)
        {
            $(this).parents('tr').find('input').val('');
            computeTotal();
            return false;
        }

        $(this).parents('tr').remove();
        computeTotal();
    });
});

function computeTotal()
{
    var total  = 0;
    var $rates = $('[name^=rates]');
    for(i = 0; i < $rates.length; i++)
    {
        if($.isNumeric($rates[i].value)) total += parseFloat($rates[i].value);
    }

    total = Math.round(total * 100) / 100;
    total = total == 0 ? '' : total + '%';

    $('#totalRate').html(total);
}
