editing = false;

function getGroup(html_id)
{
    var g = new Object();
    
    g.count  = $('#count_' + html_id);
    g.edit   = $('#edit_' + html_id);
    g.modify = $('#modify_' + html_id);
    g.commit = $('#commit_' + html_id);
    g.cancel = $('#cancel_' + html_id);
    
    return g;
}

function modifyCount(html_id)
{
    if (editing)
    {
        alert(translations['cart.already_editing']);
        return;
    }
    
    var g = getGroup(html_id);
        
    g.edit.attr({value : g.count.text()});
    g.count.hide();
    g.edit.fadeIn('fast');
    g.modify.hide();
    g.commit.show();
    g.cancel.show();
            
    editing = true;
}

function deleteItem(html_id, id, color)
{
    var g = getGroup(html_id);
    g.edit.attr({value : '0'});
    
    commitChange(html_id, id, color);
}

function commitChange(html_id, id, color)
{
    var g = getGroup(html_id);
    var count = parseInt(g.edit.attr('value'));
    if (isNaN(count))
    {
        alert(translations["cart.numeric"]);
        return;
    }
    
    var size = $('#size_' + html_id).text();
    
    $.getJSON(WEB_ROOT + 'cart/modify/' + id, {color : color, count : count, size : size}, applyChanges);
}

function rollbackChange(html_id, original_count)
{    
    var g = getGroup(html_id);

    g.count.show()
    g.edit.hide();
    g.modify.show();
    g.commit.hide();
    g.cancel.hide();
    
    editing = false;
}

function applyChanges(data)
{
    $('#basket_text').text(data.text);
    $('#page_center_content').html(data.content);
    
    editing = false;
}

function clearItems()
{
    if (confirm(translations["cart.clear_question"]))
    {
        $.getJSON(WEB_ROOT + 'cart/clear', applyChanges);
    }
}

