function addToCart(itemId)
{
    var qty     = 1;
    var qtyForm = $('qty_'+itemId);
    if (qtyForm) qty = parseInt(qtyForm.value, 10);
    if (qty < 1) qty = 1;
    
    var content = $('add_' + itemId).innerHTML;
    $('add_' + itemId).innerHTML = content.replace(/cart(.*).gif/, 'cart_loading.gif');
    $('add_' + itemId).onclick = function() { return false; };
    $('add_' + itemId).setStyle({'cursor': 'default'});
//    $('cart').innerHTML = 'Loading...';
    new Ajax.Request('http://' + document.domain + '/cart/add/' + itemId + '/qty/' + qty,
        {
            method:    'get',
            onSuccess: function(transport) {
                updateCart(transport);
                $('add_' + itemId).innerHTML = content.replace('cart.gif', 'cart_full.gif');
                $('add_' + itemId).onclick = function() { addToCart(itemId); return false; };
                $('add_' + itemId).setStyle({'cursor': 'pointer'});
                if (qtyForm) qtyForm.value = 1;
            },
            onFailure: function() {
//                $('cart').innerHTML = 'Something went wrong...';
                $('add_' + itemId).innerHTML = content;
                $('add_' + itemId).onclick = function() { addToCart(itemId); return false; };
                $('add_' + itemId).setStyle({'cursor': 'pointer'});
                if (qtyForm) qtyForm.value = 1;
            }
        }
    );
}

function delFromCart(itemId)
{
    var content = $('add_' + itemId);
    new Ajax.Request('http://' + document.domain + '/cart/del/' + itemId,
        {
            method:    'get',
            onSuccess: function(transport) { 
                updateCart(transport); 
                if (content) $('add_' + itemId).innerHTML = content.innerHTML.replace('cart_full.gif', 'cart.gif');
            },
            onFailure: function() { 
                alert('Something went wrong...');
//                $('in_cart_' + itemId).innerHTML = '';
            }
        }
    );
}

function clearCart()
{
    new Ajax.Request('http://' + document.domain + '/cart/clear',
        {
            method:    'get',
            onSuccess: function(transport) { 
                updateCart(transport);
                var tags = document.getElementsByTagName('*');
                for (var i = 0; i < tags.length; i++) {
                    if (tags[i].id.match(/^add_/)) {
                        var content = tags[i].innerHTML;
                        tags[i].innerHTML = content.replace('cart_full.gif', 'cart.gif');
                    }
                }
            },
            onFailure: function() { 
//                alert('Something went wrong...');
//                $('in_cart_' + itemId).innerHTML = '';
            }
        }
    );
}

function updateCart(transport)
{
    $('cart').innerHTML = transport.responseText;
    //if (transport.responseText.indexOf('<li>') != -1) {
    //    showCartDetails();
    //} else {
    //    hideCartDetails();
    //}
}

function toggleCart()
{
    var block = $('divBlockCart');
    var image = block.getElementsByTagName('img')[0];
    var content = $('divCartContent');
    
    if (!content) {
        return;
    }
    
    var blockinfo = blockinfoGet();
    
    var display = content.style.display;
    if (!display || display == 'block') {
        hideCartDetails();
        blockinfo['divBlockCart'] = 'hide';
    } else {
        showCartDetails();
        blockinfo['divBlockCart'] = 'show';
    }
    
    blockinfoSet(blockinfo);
}

function showCartDetails()
{
    var block = $('divBlockCart');
    var image = block.getElementsByTagName('img')[0];
    var content = $('divCartContent');
    
    if (!content) {
        return;
    }

    content.style.display = 'block';
    image.src = '/images/block_arrow_close.gif';
}

function hideCartDetails()
{
    var block = $('divBlockCart');
    var image = block.getElementsByTagName('img')[0];
    var content = $('divCartContent');
    
    if (!content) {
        return;
    }
    
    content.style.display = 'none';
    image.src = '/images/block_arrow_open.gif';
}

function changeDelivery(sel)
{
    var val  = sel.options[sel.selectedIndex].value;
    switch (val) {
        case 'self':
            $('row-district').hide();
            $('row-cargo').hide();
            break;
        case 'kiev':
            $('row-district').show();
            $('row-cargo').hide();
            break;
        case 'ukraine':
            $('row-district').hide();
            $('row-cargo').show();
            break;
        default:
            $('row-district').hide();
            $('row-cargo').hide();
    }
}

function checkOrder()
{
    var dt = $('delivery_type');
    if (dt.selectedIndex == 0) {
        alert('Выберите доставку!');
        return false;
    } else if (dt.options[dt.selectedIndex].value == 'ukraine') {
        if ($('cargo_id').selectedIndex == 0) {
            alert('Выберите перевозчика!');
            return false;
        }
    }
    return true;
}
