function check_and_buy(id,count,flush,alert_text,promo_name)
{if(check_quantity()){
     promoaction = 0;
    promoButtons = document.getElementsByName(promo_name);
   
    for(i=0;i<promoButtons.length;i++)
    {
        butt = promoButtons[i];
        if(butt.checked)promoaction = butt.value;
    }
        koupit(id,count,flush,'','',promoaction);
    }
    else{msgBox(alert_text);}}
function check_and_buy_configuration(id,count,flush,alert_text,no_product_msg){
	if(check_quantity()){koupit(id,count,flush,0,1,no_product_msg);}else{msgBox(alert_text);}
}
function check_and_buy_list(id, count, category_from, is_configuration, flush,alert_text){
	if(check_quantity_list(id))
	{
		koupit(id,count,flush,category_from,is_configuration);
	} else {
		msgBox(alert_text);
	}
}

function check_and_buy_list_with_promo(id, count, is_configuration,flush,category_from,alert_text,promo_list){
	if(check_quantity_list(id))
	{
        promoaction_item = 0;
        list = document.getElementById(promo_list)
       
        if(list){
            promoaction_item = list.value;
        }
		koupit(id,count,flush,category_from,is_configuration,promoaction_item);
	} else {
		msgBox(alert_text);
	}
}

function akoupit(id,count,flush,category_from,is_configuration,special_category)
{ //no_product_msg
	if(is_configuration == 1){var inConfiguration = getProductsInConfiguration(id);}
	else{var inConfiguration = 'na';}
	var printingTextFields = document.getElementsByName('printing_text[]');
	var itemNoteField  = document.getElementById('item_note');
	var printingText = '';

	if(document.getElementById('empty_basket') == null)
	{
		var emptyBasket = 0;
	} else {
		var emptyBasket = 1;
	}

	if(document.getElementById('price_in_points') == null)
	{
		var priceInPoints = 0;
	} else {
		var priceInPoints = 1;
	}

	if(document.getElementById('is_special_bonus_present_' + id) == null)
	{
		var isSpecialBonusPresent = 0;
	} else {
		var isSpecialBonusPresent = document.getElementById('is_special_bonus_present_' + id).value;
	}


	if(emptyBasket == 0)
	{
		if((isSpecialBonusPresent >  0 && priceInPoints == 0) ||
	   		(isSpecialBonusPresent == 0 && priceInPoints >  0))
		{
			var cannot_add = 1;
		} else {
			var cannot_add = 0;
		}
	} else {
		var cannot_add = 0;
	}

	if(document.getElementById('printing_icon') != null || document.getElementById('printing_icon') != undefined)
	{
		var printingIcon = document.getElementById('printing_icon').value;
	} else {
		var printingIcon = '';
	}
	if(document.getElementById('custom_image') != null || document.getElementById('custom_image') != undefined)
	{
		var printingOwnImage = document.getElementById('custom_image').value;
	} else {
		var printingOwnImage = '';
	}

	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;

	if(printingText != '')
	{
		var textStr = '&printing_text=' + printingText;
	} else {
		var textStr = '';
	}

	if(printingIcon != '')
	{
		var iconStr = '&printing_icon=' + printingIcon;
	} else {
		var iconStr = '';
	}

	if(printingOwnImage != '')
	{
		var ownImageStr = '&printing_own_image=' + printingOwnImage;
	} else {
		var ownImageStr = '';
	}

	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;
	//alert(dataFile);
	getData(dataFile, "basket");

	if (flush == 1) {msgBox('Zboží bylo odebráno z košíku');}
	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,id_promoaction_item)
{ //no_product_msg
	if(is_configuration == 1){var inConfiguration = getProductsInConfiguration(id);}
	else{var inConfiguration = 'na';}
	var printingTextFields = document.getElementsByName('printing_text[]');
	var itemNoteField  = document.getElementById('item_note');
	var printingText = '';
	
	if(document.getElementById('empty_basket') == null)
	{
		var emptyBasket = 0;
	} else {
		var emptyBasket = 1;
	}
	
	if(document.getElementById('price_in_points') == null)
	{
		var priceInPoints = 0;
	} else {
		var priceInPoints = 1;
	}

	if(document.getElementById('is_special_bonus_present_' + id) == null)
	{
		var isSpecialBonusPresent = 0;
	} else {
		var isSpecialBonusPresent = document.getElementById('is_special_bonus_present_' + id).value;
	}

	if(emptyBasket == 0)
	{
		if((isSpecialBonusPresent >  0 && priceInPoints == 0) || 
	   		(isSpecialBonusPresent == 0 && priceInPoints >  0))
		{
			var cannot_add = 1;
		} else {
			var cannot_add = 0;
		}
	} else {
		var cannot_add = 0;
	}
	
	if(document.getElementById('printing_icon') != null || document.getElementById('printing_icon') != undefined)
	{
		var printingIcon = document.getElementById('printing_icon').value;
	} else {
		var printingIcon = '';
	}
	if(document.getElementById('custom_image') != null || document.getElementById('custom_image') != undefined)
	{
		var printingOwnImage = document.getElementById('custom_image').value;
	} else {
		var printingOwnImage = '';
	}
	
	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;
		
	if(printingText != '')
	{
		var textStr = '&printing_text=' + printingText;
	} else {
		var textStr = '';
	}
	
	if(printingIcon != '')
	{
        var iconStr = '&printing_icon=' + printingIcon;
	} else {
		var iconStr = '';
	}
		
	if(printingOwnImage != '')
	{
		var ownImageStr = '&printing_own_image=' + printingOwnImage;
	} else {
		var ownImageStr = '';
	}

    if(id_promoaction_item)
	{
		var ownPromo = '&id_promoaction_item=' +id_promoaction_item;
	} else {
		var ownPromo = '';
	}

	var dataFile = url + "inc/ajax/abasket.php?id=" + id + "&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+ownPromo;
    getData(dataFile, "basket");
	
	if (flush == 1) {msgBox('Zboží bylo odebráno z košíku');}
	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 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;
	var dataSource = url + "inc/ajax/avariants.php?id=" + product;
	if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("GET", dataSource, true);
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
	  	  var obsah = XMLHttpRequestObject.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]);		  
      }
    }
    XMLHttpRequestObject.send(null);
  }
}
function check_quantity(){
	var quantityField = document.getElementById('pocet_kusu');
	var minQuantity = document.getElementById('min_quantity').value;
	var quantity = document.getElementById('pocet_kusu').value;
	//alert(minQuantity); alert(quantity);
	if(eval(minQuantity) <= eval(quantity)){return true;}else{quantityField.value = minQuantity;return false;}
}

function check_quantity_list(id_product)
{
	var quantityField = document.getElementById('pocet_kusu_' + id_product);
	var minQuantity = document.getElementById('min_quantity_' + id_product).value;
	var quantity = quantityField.value;
	//alert(minQuantity); alert(quantity);
	if(eval(minQuantity) <= eval(quantity)){return true;}else{quantityField.value = 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';
		}
	}
}