﻿               
function IleBasketAdd(pItemno, pVariantCode, pUserId, pSessionId, pLanguageCode, pDefaultQuantityValue , pQuantityID, pProductCountID, pArticleCountID, pBasketItemQuantityId, pMessageText) {
    if (Page_ClientValidate()) {


        var lQuantity = 0;
        try {
            lQuantity = parseInt(document.getElementById(pQuantityID).value)
        }
        catch (Error) {
            return false;
        }

        if (lQuantity > 0) {
            var lTextBoxQuantity = document.getElementById(pQuantityID).value;

            reqviaproxy = AjaxService1.AddVariantToBasketWithUpdate(pItemno, pVariantCode, lTextBoxQuantity, pUserId, pSessionId, pLanguageCode, pProductCountID, pArticleCountID, pBasketItemQuantityId,
                    IleOnCompleteBasketAdd,
                    IleOnTimeoutBasketAdd);

            if (pMessageText != null) {
                flashMessage("'" + pMessageText + "'", pItemno);
            }
        }
    }

    // Textbox Value updaten
    if (pVariantCode == null) {
        pVariantCode = "";
    }
    
    document.getElementById("TextfieldQuantity_" + pItemno + "_" + pVariantCode).value = pDefaultQuantityValue;
    document.getElementById(pQuantityID).value = pDefaultQuantityValue;

    return false;
}

function IleBasketAddFromTextBox(pItemno, pVariantCode, pUserId, pSessionId, pLanguageCode, pDefaultQuantityValue, pQuantityID, pProductCountID, pArticleCountID, pBasketItemQuantityId, pMessageText, pEvent, pSender) {

    //        if (!handled) {
    var evt = pEvent || window.event;
    if (!evt)
        return;
    // key bekommt den keyCode browserunabhängig zugewiesen
    var key = 0;
    // für mozilla/ff, wenn keycode==0 muss 'evt.which' abgefragt werden
    if (evt.keyCode) { key = evt.keyCode; }
    else if (typeof (evt.which) != 'undefined') { key = evt.which; }
    // return wurde gedrückt.
    if (key == 13) {
        return IleBasketAdd(pItemno, pVariantCode, pUserId, pSessionId, pLanguageCode, pDefaultQuantityValue, pQuantityID, pProductCountID, pArticleCountID, pBasketItemQuantityId, pMessageText);
    }
}

function IleOnCompleteBasketAdd(results) {
    if (results.BasketArticleCountId != null) {
        document.getElementById(results.BasketArticleCountId).firstChild.data = parseInt(results.BasketArticleCount);
    }
    if (results.BasketProductCountId != null) {
        document.getElementById(results.BasketProductCountId).firstChild.data = parseInt(results.BasketProductCount);
    }
    if (results.BasketItemQuantityId != null) {
        document.getElementById(results.BasketItemQuantityId).firstChild.data = parseInt(results.BasketItemQuantity);
    }

}

function IleOnTimeoutBasketAdd(results) {

}


function IleFavoritesAdd(pItemno, pUserId, pSessionId, pLanguageCode, imgButtonAddFavClientID, imgButtonRemoveFavClientID) {
        var lTextBoxQuantity = "1";


        $("#" + imgButtonAddFavClientID).hide();

        $("#" + imgButtonRemoveFavClientID).attr('disabled', 'disabled');
        $("#" + imgButtonRemoveFavClientID).show();
        $("#" + imgButtonRemoveFavClientID).attr("src", GetIconFolder() + "ajax-loader.gif");

        reqviaproxy = AjaxService1.AddToFavorites(pItemno, pUserId, pSessionId, pLanguageCode, imgButtonRemoveFavClientID,
                IleOnCompleteFavorites,
                IleOnTimeoutFavorites);
        return false;
}

function IleOnCompleteFavorites(results) {
    $("#" + results).attr("src", GetIconFolder() + "favoriten_rem.png");
    $("#" + results).attr('disabled', '');
}
function IleOnTimeoutFavorites(results) {
    $("#" + results).attr("src", GetIconFolder() + "favoriten_rem.png");
    $("#" + results).attr('disabled', '');
}

function IleFavoritesRemove(pItemno, pUserId, imgFavoriteRemoveButtonClientId, imgFavoriteAddButtonClientId) 
{
    $("#" + imgFavoriteRemoveButtonClientId).hide();

    $("#" + imgFavoriteAddButtonClientId).attr('disabled', 'disabled');
    $("#" + imgFavoriteAddButtonClientId).show();
    $("#" + imgFavoriteAddButtonClientId).attr("src", GetIconFolder() +  "ajax-loader.gif");

    reqviaproxy = AjaxService1.FavoritesRemove(pItemno, pUserId,imgFavoriteAddButtonClientId,
            IleOnCompleteFavoritesRemove,
            IleOnTimeoutFavoritesRemove);
    return false;
}

function IleOnCompleteFavoritesRemove(results) {
    $("#" + results).attr("src", GetIconFolder() + "favoriten.png");
    $("#" + results).attr('disabled', '');
}
function IleOnTimeoutFavoritesRemove(results) {
    $("#" + results).attr("src", GetIconFolder() + "favoriten.png");
    $("#" + results).attr('disabled', '');
}

function GetIconFolder() {
    var lUrl = (location.href);

    if (lUrl.indexOf("/skins/") != -1) {
        var lSplit = lUrl.split("skins/");
        return lSplit[0] + "icons/";
    }else if(lUrl.indexOf("/Pages/") != -1){
         var lSplit = lUrl.split("Pages/");
        return lSplit[0] + "icons/";
    }else {
        var lSplit = lUrl.split("/");

        var result = "";
        var i = 0;
        while (lSplit[i].indexOf(".aspx") == -1 && i < 10) {
            result += lSplit[i] + "/"
            i++;
        }

        return result + "icons/";
    }
}


function AddAllItemsToBasket(pTextbox, pUserId, pSessionId, pLanguageCode, pDefaultQuantityValue, pProductCountID, pArticleCountID) {
    if (Page_ClientValidate()) {
        var json_ItemSet = JSON.parse(pTextbox);

        for (var x in json_ItemSet) {
            var lIdName = json_ItemSet[x].IDQUANTITY;
            var textbox = document.getElementById(lIdName)
            if (textbox != null && textbox.value != 0 && textbox.value != '') {
                setTimeout("DelayFunc()", 500);
                json_ItemSet[x].ITEMQUANTITY = textbox.value;
            }
        }

        var jsonstring = JSON.stringify(json_ItemSet);

        reqviaproxy = AjaxService1.AddMultipleItemsToBasketWithUpdate(jsonstring, pUserId, pSessionId, pLanguageCode, pProductCountID, pArticleCountID,
                    OnCompleteAddAllItemsToBasket,
                    OnTimeoutAddAllItemsToBasket);
    }
    
    return false;
}

function OnCompleteAddAllItemsToBasket(results) {
    location.reload(true);
}

function OnTimeoutAddAllItemsToBasket(results) {
    location.reload(true);
}

function IlTimeout(results) {

}
function IlOnAddAllComplete(results) {
    //do nothing..
}

function DelayFunc() { }

function SelectVariant(variante) 
{
    var varianteinfo = variante.split(";");

    $('.Variante_' + varianteinfo[0]).hide();
    $('#OrderButton_' + varianteinfo[0] + '_' + varianteinfo[1]).show();
    $('#TextfieldQuantity_' + varianteinfo[0] + '_' + varianteinfo[1]).show();
    $('#PanelPrices_' + varianteinfo[0] + '_' + varianteinfo[1]).show();
    $('#ImageItemPicture_' + varianteinfo[0] + '_' + varianteinfo[1]).show();
    $('#Availability_' + varianteinfo[0] + '_' + varianteinfo[1]).show();
}


function OnTextBoxQuantityEnterPressed(pJsonString) {
    if (event.keyCode == 13) {
        return RefreshBasketItem(pJsonString);
    }
}

function RefreshBasketItem(pJsonString) {
    if (Page_ClientValidate()) {

        var myPoco = JSON.parse(pJsonString);

        try {
            myPoco.Quantity = parseInt(document.getElementById(myPoco.QuantityTextBoxClientId).value);
        }
        catch (Error) {
            return false;
        }

        var lJsonString = JSON.stringify(myPoco);

        AjaxService1.RefreshBasketItem(lJsonString,
                OnCompleteRefreshBasketItem,
                OnTimeoutRefreshBasketItem);
    }
    
    return false;
}

function DeleteBasketItem(pJsonString) {

        AjaxService1.DeleteBasketItem(pJsonString,
                OnCompleteRefreshBasketItem,
                OnTimeoutRefreshBasketItem);

    return false;
}

function OnCompleteRefreshBasketItem(results) {
    location.reload(true);
}

function OnTimeoutRefreshBasketItem(results) {
    location.reload(true);
}


function ValidateWarenkorbInhalt(source, Value) {
    var btMsg = "Client Validator"
    var name = confirm(btMsg)
    if (name == true) {
        Value.IsValid = True;
    }
    else {
        Value.IsValid = False;
    }
}
