﻿var asyncItems = []
function AddToBasket(control, clientID, categoryID, itemID, lblStatus, itemType,lnkAddtoCart, lnkDeleteFromCart) {
    
    
    control.disabled = true;
    try {
        asyncItems[asyncItems.length] = { 'controlid': control.id, 'clientid': clientID, 'categoryid': categoryID, 'itemid': itemID, 'statuscontrolid': lblStatus, 'itemtype': itemType, 'lnkaddtocartid': lnkAddtoCart, 'lnkdeletfromcartid': lnkDeleteFromCart };
        selectmusic.services.SelectMusicCartService.AddTrackToBasket(clientID, categoryID, itemID, itemType, OnSucceeded);
    }
    catch (e) {
        control.disabled = false;
    }
    return false;
}
function RemoveFromBasket(control, clientID, categoryID, itemID, lblStatus, itemType, lnkAddtoCart, lnkDeleteFromCart) {

    
    control.disabled = true;
    try {
        asyncItems[asyncItems.length] = { 'controlid': control.id, 'clientid': clientID, 'categoryid': categoryID, 'itemid': itemID, 'statuscontrolid': lblStatus, 'itemtype': itemType, 'lnkaddtocartid': lnkAddtoCart, 'lnkdeletfromcartid': lnkDeleteFromCart };
        selectmusic.services.SelectMusicCartService.RemoveFromBasket(clientID, categoryID, itemID, itemType, OnSucceededRemove);
    }
    catch (e) {
        control.disabled = false;
    }
    return false;
}



function OnSucceeded(result) {

    var result = eval(result);
   
    for (x = 0; x <= asyncItems.length - 1; x++) {
        if (asyncItems[x].clientid == result.clientid && asyncItems[x].categoryid == result.categoryid && asyncItems[x].itemid == result.itemid) {
            var control = document.getElementById(asyncItems[x].controlid);
            if (control != null)
                control.disabled = false;
            var lblStatus = document.getElementById(asyncItems[x].statuscontrolid);
            var lnkAddToCart = document.getElementById(asyncItems[x].lnkaddtocartid);
            var lnkDeleteFromCart = document.getElementById(asyncItems[x].lnkdeletfromcartid);
            
            if (lblStatus != null) {
                lblStatus.style.display = '';
                lblStatus.innerHTML = 'Added';
                window.setTimeout(function() {
                    lblStatus.innerHTML = '';
                    lblStatus.style.display = 'none';
                }, 2500);
            }
            if (lnkAddToCart != null) {
                lnkAddToCart.style.display = 'none';
                
            }
            if (lnkDeleteFromCart != null) {
                lnkDeleteFromCart.style.display = '';
                lnkDeleteFromCart.disabled = false;
            }
            break;
        }
    }
    document.getElementById(FullPriceLabel).innerHTML = result.totalcost;
}

function OnSucceededRemove(result) {

    var result = eval(result);
   
    for (x = 0; x <= asyncItems.length - 1; x++) {
        if (asyncItems[x].clientid == result.clientid && asyncItems[x].categoryid == result.categoryid && asyncItems[x].itemid == result.itemid) {
            var control = document.getElementById(asyncItems[x].controlid);
            if (control != null)
                control.disabled = false;
            var lblStatus = document.getElementById(asyncItems[x].statuscontrolid);
            var lnkAddToCart = document.getElementById(asyncItems[x].lnkaddtocartid);
            var lnkDeleteFromCart = document.getElementById(asyncItems[x].lnkdeletfromcartid);
            
            if (lblStatus != null) {
                lblStatus.style.display = '';
                lblStatus.innerHTML = 'Removed';
                window.setTimeout(function() {
                    lblStatus.innerHTML = '';
                    lblStatus.style.display = 'none';
                }, 2500);
            }
            if (lnkAddToCart != null) {
                lnkAddToCart.style.display = '';
            }
            if (lnkDeleteFromCart != null) {
                lnkDeleteFromCart.style.display = 'none';
                lnkDeleteFromCart.disabled = false;
            }
            break;
        }
    }

    document.getElementById(FullPriceLabel).innerHTML = result.totalcost;
}


