if (!window.limsjs) {window.limsjs = {};}
if (!limsjs.eshop) {limsjs.eshop = {};}

/**
 * Rychle pridani do kosiku, vezme data z formu a posle,
 * odpovedi bude jednoduchy sumar kosiku v JSON, ktery mozno zpracovat v predane funkci success
 * Pro zpracovani zavola fci productAddedJSON(data)
 *
 * @poram string loader - dobrovolne jmeno loaderu zaregistrovaneho pomoci limsjs.ui.registerLoader
 */
limsjs.eshop.addCartJsonFromForm = function (formId, loader, callback) {
    var formData = $('#'+formId).serializeArray();
    
    formData[formData.length] = {name: 'output', value: 'json'};
    formData[formData.length] = {name: 'variant', value: 'brief'};
    limsjs.ui.showLoader(loader);
    $.ajax({
        url: webDir + language,
        type: 'post',
        data: formData,
        dataType: 'json',
        success: function(data) {
            limsjs.ui.hideLoader(loader);
            productAddedJSON(data);
            if (callback && typeof(callback) === "function") {
                callback();
            }
        }


    });
}

/**
 * Rychle pridani do kosiku, vezme data z formu a posle,
 * odpovedi bude cast stranky kterou je mozno nekam vlozit (targetId)
 * Pro zpracovani zavola fci productAddedHtmlPart()
 */
limsjs.eshop.addCartHtmlPartFromForm = function (formId, targetId, loader) {
    var formData = $('#'+formId).serializeArray();
    formData[formData.length] = {name: 'output', value: 'html_part'};
    limsjs.ui.showLoader(loader);
    $('#'+targetId).load(webDir +  '/', formData, function() {
        limsjs.ui.hideLoader(loader);
        productAddedHtmlPart();
    });
}

/**
 * Uprava polozky v kosiku ,vezme data z formu a posle,
 * odpovedi bude cast stranky kterou je mozno nekam vlozit (targetId)
 * Pro zpracovani zavola fci itemChangedHtmlPart()
 */
limsjs.eshop.editCartHtmlPartFromForm =  function (formId, targetId, loader) {
    var formData = $('#'+formId).serializeArray();
    formData[formData.length] = {name: 'output', value: 'html_part'};
    limsjs.ui.showLoader(loader);
    $('#'+targetId).load(webDir +  '/', formData, function() {
        limsjs.ui.hideLoader(loader);
        itemChangedHtmlPart();
    });
}

limsjs.eshop.removeFromCartHtmlPart = function(itemId, targetId, loader) {
    var formData = [];
    formData[formData.length] = {name: 'addonAction', value: 'cart_remove'};
    formData[formData.length] = {name: 'output', value: 'html_part'};
    formData[formData.length] = {name: 'cart_item_id', value: itemId};
    $('#'+targetId).load(webDir + language, formData, function() {
      window.location.reload();
    });
}
