﻿var basketTimeout;

function initBasket() {
    $('#cartPanel').slidingpopup($(".cartPanelLink"), $(".closePanelLink, .newsLetterPanelLink, .notificationIconLink, .offerCodePanelLink"), 500);
}

var basketParameter = {
    getTextParameter: function(key) {
        var params = new SOAPClientParameters();
        var result;
        params.add("messageKey", key);
        SOAPClient.invoke("/Services/MixMatch.asmx", "GetTextParameter", params, false,
			function(o, r) {
			    result = r.getElementsByTagName('GetTextParameterResult')[0].firstChild.nodeValue;
			    if (result.match(/is missing$/)) {
			        throw ('Couldn\'t fetch string "' + key + '"');
			        result = '[MISSING]';
			    }
			}
		);
        return result;
    }
}

function openbasket(timeout) {

    clearTimeout(basketTimeout);
    $('.shopingBagContainer').addClass("showShopingBagLayer");
    $('.cartPanelLink').click();
    if (timeout != undefined && timeout > 0)
        basketTimeout = setTimeout('closebasket()', timeout);
}
function closebasket() {
    $('.shopingBagContainer').removeClass("showShopingBagLayer");
    $('.closePanelLink').click();
}
function updateBasketCount(count) {

    var cartText = $('.cartPanelLink').text().trim();
    var itemNumber = (isNaN(cartText.charAt(0)) ? count : (Number(cartText.substring(0, cartText.indexOf(' '))) + Number(count)));
    var strNewCartText = "";

    if (itemNumber > 1) {
        strNewCartText = basketParameter.getTextParameter("Basket_Article").replace("{0}", itemNumber);

    }
    else {
        strNewCartText = basketParameter.getTextParameter("Basket_SingleArticle").replace("{0}", itemNumber);

    }

    $('.cartPanelLink').text(strNewCartText.substring(0, strNewCartText.indexOf(',')));
    openbasket(5000);
}

function basketEndRequest() {
    $('#cartPanel').slidingpopup($(".cartPanelLink"), $(".closePanelLink"), 500);
    openbasket(5000);
}

function addToBasket(articleId, variantId, quantity) {
    var result = true;
    $.ajax({ type: "POST",
        url: "/Services/MixMatch.asmx/AddToBasket",
        dataType: "xml",
        data: "articleId=" + articleId + "&variantId=" + variantId + "&quantity=" + quantity,
        processData: false,
        error: function(request, status, errorThrown) {
            result = false;
        },
        success: function(response) {
            if ($("boolean", response).text() == 'true') {
                updateBasketCount(quantity);
                result = true;
            }
        },
        async: false
    });
    return result;
}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();