// Vlozeni produktu do kosiku v detailu produktu
function check_and_buy(id,count,flush,alert_text) {
    if (count.value>999) count.value = 999;
    if (check_quantity()) {
        koupit(id,count,flush);
    } else {
        msgBox(alert_text);
    }
}

// Vlozeni sestavy do kosiku
function check_and_buy_configuration(id,count,flush,alert_text,no_product_msg){
    if (count.value>999) count.value = 999;
    if (check_quantity()) {
        koupit(id,count,flush,0,1,no_product_msg);
    } else {
        msgBox(alert_text);
    }
}

// Vlozeni produktu do kosiku ve vypisu produktu
function check_and_buy_list(id, count, category_from, alert_text, is_configuration, flush) {
    if (count.value>999) count.value = 999;
    if (check_quantity_list(id))
    {
        koupit(id, count, flush, category_from, is_configuration);
    }
    else
    {
        msgBox(alert_text);
    }
}

// Jen u autorapr se nikde nepouziva
//function akoupit(id,count,flush,category_from,is_configuration,special_category)
//{ //no_product_msg
//
//    var inConfiguration = is_configuration == 1 ? getProductsInConfiguration(id) : "na";
//    var printingTextFields = document.getElementsByName('printing_text[]');
//    var itemNoteField  = document.getElementById('item_note');
//    var printingText = "";
//    var emptyBasket = $("#empty_basket").size() == 0 ? 0 : 1;
//    var priceInPoints = $("#price_in_points").size() == 0 ? 0 : 1;
//    var isSpecialBonusPresent = $("#is_special_bonus_present_" + id).size() == 0 ? 0 : $("#is_special_bonus_present_" + id).val();
//    var cannot_add = emptyBasket == 0 && ((isSpecialBonusPresent >  0 && priceInPoints == 0) || (isSpecialBonusPresent == 0 && priceInPoints > 0)) ? 1 : 0;
//    var printingIcon = document.getElementById('printing_icon') != null || document.getElementById('printing_icon') != undefined ? $("#printing_icon").val() : "";
//    var printingOwnImage = document.getElementById('custom_image') != null || document.getElementById('custom_image') != undefined ? $("#custom_image").val() : "";
//    var itemNote = "";
//    if(printingTextFields != null && printingTextFields != undefined)
//    {
//        for(i = 0; i < printingTextFields.length; i++)
//        {
//            if(printingTextFields[i].value != '')
//            {
//                printingText += (printingTextFields[i].value + '|');
//            }
//        }
//    }
//
//    if(itemNoteField != null && itemNoteField != undefined)
//    {
//        itemNote = itemNoteField.value;
//    }
//
//    printingText = printingText.slice(0, eval(printingText.length - 1));
//
//    if (count) {
//        count = count.value;
//    }	if (!count) count = 1; if (!flush) flush = 0;
//    if (!category_from) category_from = 0;
//
//    var textStr = printingText != "" ? "&printing_text=" + printingText : "";
//    var iconStr = printingIcon != "" ? "&printing_icon=" + printingIcon : "";
//    var ownImageStr = printingOwnImage != "" ? "&printing_own_image=" + printingOwnImage : "";
//
//    // Stock state check (advancedBasket)
//    checkAvailableQuantity(id, count, true, !flush, function() {
//        var dataFile = url + "inc/ajax/abasket.php?id=" + id +"&special_cat=" + special_category +"&count=" + count + "&flush=" + flush + "&preurl=" + url + "&category_from=" + category_from + "&is_configuration=" + is_configuration + "&in_configuration=" + inConfiguration + '&item_note=' + itemNote + '&is_special_bonus_present=' + isSpecialBonusPresent + textStr + iconStr + ownImageStr;
//
//        $.getJSON(dataFile, null, function (data) {
//            $("#basket").html(data.basket);
//            $("#basketSum").html(data.amount);
//        });
//
//        if (flush == 1) {
//            msgBox(Dict.itemRemovedFromBasket);
//        }
//        if (cannot_add == 1)
//        {
//            msgBox(window_cannot_add);
//        }
//        else
//        {
//            if (show_window_after_buy == 1 && flush != 1) {
//                msgBox(window_after_buy_text);
//            }
//            var loc = document.location.href;
//            if (loc.match("basket") != null && flush == 1)
//                t = setTimeout('basket_redirect()',500);
//        }
//    });
//}

function koupit(id, count, flush, category_from, is_configuration)
{
    var inConfiguration = is_configuration == 1 ? getProductsInConfiguration(id) : "na";
    var printingTextFields = document.getElementsByName('printing_text[]');
    var itemNoteField  = document.getElementById('item_note');
    var printingText = "";	
    var emptyBasket = $("#empty_basket").size();
    var priceInPoints = $("#price_in_points").size();
    var isSpecialBonusPresent = $("#is_special_bonus_present_" + id).size() == 0 ? 0 : $("#is_special_bonus_present_" + id).val();
    var cannot_add = emptyBasket == 0 && ((isSpecialBonusPresent >  0 && priceInPoints == 0) || (isSpecialBonusPresent == 0 && priceInPoints >  0)) ? 1: 0;
    var printingIcon = document.getElementById('printing_icon') != null || document.getElementById('printing_icon') != undefined ? $("#printing_icon").val() : "";
    var printingOwnImage = document.getElementById('custom_image') != null || document.getElementById('custom_image') != undefined ? $("#custom_image").val() : "";

    var itemNote = '';
    if (printingTextFields != null && printingTextFields != undefined) {
        for(i = 0; i < printingTextFields.length; i++) {
            if(printingTextFields[i].value != '') {
                printingText += (printingTextFields[i].value + '|');
            }
        }
    }
	
    if(itemNoteField != null && itemNoteField != undefined) {
        itemNote = itemNoteField.value;
    }
	
    printingText = printingText.slice(0, eval(printingText.length - 1));
    
	 if (count) { count = count.value; }
    if (!count) { count = 1; }
    if (!flush) { flush = 0; }
    if (!category_from) { category_from = 0; }

    //alert('id=' + id + ' / count = ' + count + ' / flush = ' + flush + ' / preurl = ' + url);

    // Stock state check (advancedBasket)
    Basket.checkAvailableQuantity(id, count, true, !flush, function(isAdvancedBasket, altcount) {
        $.getJSON(url + "inc/ajax/abasket.php",
        {
            id: id,
            count: !isNaN(altcount) ? altcount : count,
            flush: flush,
            preurl: url,
            category_from: category_from,
            is_configuration: is_configuration,
            in_configuration: inConfiguration,
            item_note: itemNote,
            is_special_bonus_present: isSpecialBonusPresent,
            printing_text: printingText,
            printing_icon: printingIcon,
            printing_own_image: printingOwnImage
        },
        function (data) {
            $("#basket").html(data.basket);
            $("#basketSum").html(data.amount);
        });

        if (flush == 1) {
            msgBox(Dict.itemRemovedFromBasket);
        }

        if (cannot_add == 1) {
            msgBox(window_cannot_add);
        }
        else {
            if (flush != 1) {
                msgBox(window_after_buy_text);
                setTimeout('modalMsgBox(basket_timeout, function () {window.location.href=window.location.href;});', 1500000);
                setTimeout('window.location.href="/?basket-clear";', 1800000); //cf index
            }
            var loc = document.location.href;
            if (loc.match("basket") != null && flush == 1) {
                t = setTimeout('basket_redirect()',500);
            }
        }
    });
}

function basket_redirect() {
    document.location.href = url + "?loc=basket";
}

function getWindowScrollOffset() {
    return (document.documentElement.scrollTop || document.body.scrollTop) + 'px';
}

function getWindowSize() {
    var size = {
        width: window.innerWidth || (window.document.documentElement.clientWidth || window.document.body.clientWidth),
        height: window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight)
    };
    return size;
}

function varianta(menu, row) {
    var product = menu.options[menu.selectedIndex].value;

    $.get(url + "inc/ajax/avariants.php", 
    {
        id: product
    },
    function (data) {
        var obsah = data.responseText;
        var items = obsah.split("|");
        $('#product_link'+row).html(items[0]);
        $('#product_price'+row).html(items[1]);
        $('#product_buy'+row).html(items[2]);
        $('#product_kusu'+row).html(items[3]);
    });
}
function check_quantity() {
    var minQuantity = $("#min_quantity").val();
    var quantity = $("#pocet_kusu").val();
    if(eval(minQuantity) <= eval(quantity)) {
        return true;
    }else{
        $("#pocet_kusu").val(minQuantity);
        return false;
    }
}

function check_quantity_list(id_product) {
    var minQuantity = parseInt($("#min_quantity_" + id_product).val());
    var quantity = parseInt($("#pocet_kusu_" + id_product).val());

    if (!isNaN(quantity) && minQuantity <= quantity) {
        return true;
    } else {
        $("#pocet_kusu_" + id_product).val(minQuantity);
        return false;
    }
}

function getProductsInConfiguration(id_product) {
    var idIncluded = document.getElementsByName('id_product_included');
    var inCategoryIncluded = document.getElementsByName('in_category_included');
    var isIncluded = document.getElementsByName('is_included');
    var isRequired = document.getElementsByName('is_required');
    var inConfigurationArr = new Array();
    var inConfiguration = '';
    if(!(idIncluded == null || idIncluded == undefined) && idIncluded.length > 0)
    {
        for(i = 0; i < idIncluded.length; i++)
        {
            if(isIncluded[i].type == 'hidden' || (isIncluded[i].type == 'checkbox' && isIncluded[i].checked == true))
            {
                inConfigurationArr[i] = idIncluded[i].value + '-' + inCategoryIncluded[i].value + '-' + isRequired[i].value;
            }
        }
        inConfiguration = inConfigurationArr.join('|');
        return inConfiguration;
    }else{
        var idProductsIncluded = document.getElementById('id_products_included_' + id_product).value;

        if(idProductsIncluded != null)
        {
            return idProductsIncluded;
        }
        else
        {
            return 'na';
        }
    }
}
