//<![CDATA[

var SetShadow = function() {
    jQuery(".shadow").dropShadow({ left: 0, top: 0, blur: 2, opacity: 0.4, color: "black", swap: false });
    jQuery(".shadowTop").dropShadow({ left: 0, top: 2, blur: 2, opacity: 0.4, color: "black", swap: false });
}

var RedrawShadow = function() {
    jQuery(".shadow").redrawShadow();
    jQuery(".shadowTop").redrawShadow();
}

jQuery(SetShadow);
window.onload = RedrawShadow;

var AddItem = function(productId) {
    document.getElementById('idAddFavorite').innerHTML = 'Wordt toegevoegd...';
    Aspacts.Websites.Sealskin.GetWet.Data.Favorites.AddItem(productId, this.ExecuteAddItemCallback.bind(this));
}

var RemoveItem = function(productId) {
    document.getElementById('idRemoveLink' + productId).innerHTML = 'Bezig...';
    Aspacts.Websites.Sealskin.GetWet.Data.Favorites.RemoveItem(productId, this.ExecuteRemoveItemCallback.bind(this));
}

var RemoveAll = function() {
    Aspacts.Websites.Sealskin.GetWet.Data.Favorites.RemoveAll(this.ExecuteRemoveAllCallback.bind(this));
}

var ExecuteRemoveItemCallback = function(result) {
    if (CheckAjaxResponse(result)) {
        var currentCount = parseInt(document.getElementById('idFavoriteProductCount').innerHTML)
        currentCount -= 1
        document.getElementById('idFavoriteProductCount').innerHTML = currentCount;
        document.getElementById('idFavoriteProductCount2').innerHTML = '0';
        document.getElementById('favoriteDl' + result.value).style.display = 'none';
        if (currentCount == 0) {
            document.getElementById('idFavoriteStatus').innerHTML = '<p>U heeft nog geen favoriete producten geselecteerd.</p>';
        }

        RedrawShadow();
    }
}

var ExecuteRemoveAllCallback = function(result) {
    if (CheckAjaxResponse(result)) {
        document.getElementById('idFavoriteProductCount').innerHTML = '0';
        document.getElementById('idFavoriteProductCount2').innerHTML = '0';
        document.getElementById('idFavoriteStatus').innerHTML = '<p>U heeft nog geen favoriete producten geselecteerd.</p>';

        var elements = document.getElementsByTagName('dl');
        var intCount = elements.length;

        for (i = 0; i < intCount; i++) {
            if (elements[i].id.match("^favoriteDl")) {
                elements[i].style.display = "none";
            }
        }

        RedrawShadow();
    }
}


var ExecuteAddItemCallback = function(result) {
    if (CheckAjaxResponse(result)) {
        if (result.value == true) {
            var currentCount = parseInt(document.getElementById('idFavoriteProductCount').innerHTML)
            currentCount += 1

            document.getElementById('idFavoriteProductCount').innerHTML = currentCount;
        } else {
            alert('Het gekozen product is reeds toegevoegd aan uw favorieten.');
        };
        document.getElementById('idAddFavorite').innerHTML = 'Toegevoegd';
    }
}

var CheckAjaxResponse = function(res) {
    if (res && res.error && res.error.Message) {
        alert(res.error.Message)
        return false
    }
    else {
        return true
    }
}
//]]>