var disabled = false;

function showCart()
{
    if (!disabled)
    {
        disabled = true;
        Effect.SlideDown(
            'cart_collapse', 
            {
                afterFinish: function() 
                {
                    $('showCart').hide(); 
                    $('hideCart').show();
                    disabled = false;
                }
            }
        );
    }
}

function hideCart()
{
    if (!disabled)
    {
        disabled = true;
        Effect.SlideUp(
            'cart_collapse', 
            {
                afterFinish: function() 
                {
                    $('hideCart').hide(); 
                    $('showCart').show();
                    disabled = false;
                }
            }
        );
    }
}

function cartAdd(man, code, qty)
{
    id = 'amountdiv' + String(man) + String(code);
    $(id).innerHTML = '<img src="/static/ajax-loader.gif"/>'
    new Ajax.Request(
        '/addToCart',
        {
            method: 'post',
            parameters: 
            { 
                man: man,
                code: code,
                qty: qty
            },
            onSuccess: function(){
                refreshCart();
                refreshCount(man, code);
            }
        }
    );
}

function cartRemove(man, code)
{
    id = 'amountdiv' + String(man) + String(code);
    //$(id).innerHTML = '<img src="/static/ajax-loader.gif"/>'
    new Ajax.Request(
        '/removeFromCart',
        {
            method: 'post',
            parameters: 
            {
                man: man,
                code: code
            },
            onSuccess: function(){
                refreshCart();
                refreshCount(man, code);
            }
        }
    );
}

function refreshCart()
{
    new Ajax.Updater('js_cart_details', '/js_get_cart_details');
    new Ajax.Updater('js_cart_totals', '/js_get_cart_totals');
}

function refreshCount(man, code)
{
    id = 'amountdiv' + String(man) + String(code);
    //$(id).innerHTML = '<img src="/static/ajax-loader.gif"/>'
    new Ajax.Updater(
        id,
        '/js_cartAmountForProduct',
        {
            method: 'post',
            parameters:
            {
                manufacturer: man,
                item_code: code
            },
            onSuccess: function(){
                //flashCount(man, code);
            }
        }
    );
}

function flashCount(man, code)
{
    id = 'amountdiv' + String(man) + String(code);

    new Effect.Highlight(
        id, 
        {
            startcolor: '#7fc800',
            endcolor: '#ffffff',
            restorecolor: '#ffffff'
        }
    );
}

function index_load()
{
    Event.observe('showCart', 'click', showCart);
    Event.observe('hideCart', 'click', hideCart);
}

Event.observe(window, 'load', index_load);
