
function calculateShipping() {
  var chosenShippingId = $('#postovne_select').val();
  $.cookie('shipping', chosenShippingId + ";0", {path:'/'});
  refreshCart();
  //var shipping_cookie = $.cookie('shipping');
  //shipping_price = $('#postovne')  
}

function confirmCart(obj) {
	var offs=$(obj).children().eq(0).offset();

	if (!document.getElementById('cartinm')) var cain=$('<div id="cartinm">Tovar bol pridaný do košíka</div>').appendTo(document.body);
		else var cain=$('#cartinm');

	
	cain.css({'left':(offs.left-cain.width()-10)+'px', 'top':(offs.top+10)+'px'}).fadeIn("medium", function(){
		var ddddd=this;
		setTimeout(function(){
			$(ddddd).fadeOut("medium");
		},2500);
	});
}

function getCartList() {
	var citems=$.cookie('cartitems');

	if (citems && citems.indexOf('/')!=-1) {
		items=citems.split('/');
	} else if (citems && citems!='') items=new Array(citems);
	else items=new Array();
	
	return items;
}

function refreshCart() {
	var numitems=0;	//pocet poloziek
	var sumprice=0;	//celkova cena

	items=getCartList();

	for(var i=0;i<items.length;i++) {
		var t=items[i].split(':');
		sumprice=sumprice+(t[1]*t[2]);
		numitems++;
	}

	$.cookie('cartprice', sumprice, {path:'/'});

	$.cookie('cartnumitems', numitems, {path:'/'});
//	if (numitems==1) numitems=numitems+' položka'; else if(numitems>1 && numitems<5) numitems=numitems+' položky'; else numitems=numitems+' položiek';

	$('.cartnumitems').html(numitems);
	
	if (sumprice<8) $('#naobjednavkabox').html('<span class="minimum">Pre odoslanie objednánvky musí byť hodnota tovaru minimálne 8,00 &euro;</span>');
		else $('#naobjednavkabox').html('<a href="/kosik/objednavka"><span class="objednat">Objednať</span> <img src="/img/kosik.png" alt="kosik" /></a>');

  // refreshnem postovne
  if ($.cookie('shipping')){
    var shipping_id = $.cookie('shipping').split(";", 1);
    var shipping_limit = $('#postovne-limit-'+shipping_id).val();
    var shipping_price = 0;
    if (sumprice < shipping_limit) shipping_price += $('#postovne-before-'+shipping_id).val();
    else shipping_price += $('#postovne-after-'+shipping_id).val();
    shipping_price = parseFloat(shipping_price);
    $('.shipping-price').html(FormatNumberBy3(shipping_price.toFixed(2))); 
    var shipping_cookie = shipping_id + ";" + shipping_price;
    $.cookie('shipping', shipping_cookie, {path:'/'});
  }
    
  // refreshnem údaj o cene spolu v košíku
  $('.cartprice').html(FormatNumberBy3((sumprice).toFixed(2)));
  $('.cartpricesum').html(FormatNumberBy3((sumprice + shipping_price).toFixed(2)));
}

function setProductPrice(obj) {
	var sel=$(obj).val();
	var prc=sel.split(';');

	//$(obj).parents('.price-box').eq(0).find('.price').html(prc[1]);
	$('.price').html(FormatNumberBy3(prc[1]));
}

function addToCart(id, num, price) {
	
	items=getCartList();
	  
	if (isNaN(price)) {	//ak je cena zavisla od selectu
		var prc=price.val().split(';');
		var priceattrtext=price.find("option[value='"+price.val()+"']").text();
		var price=prc[1];
		var priceattrid=prc[0];
	} else {priceattrid='';priceattrtext='';}
	
	//zistime, ci sa tovar v kosiku nahodou nenachadza
	//ak ano tak zdvihneme pocet kusov
	//console.log(items);
	for(var i=0;i<items.length;i++) {
		var t=items[i].split(':');
		if (t[0]==id && priceattrid=='' || t[0]==id && (priceattrid && t[3]==priceattrid)) {
			t[1]=parseInt(t[1])+parseInt(num);
			items[i]=t.join(':');
			var isThere=1;
		}
	}

	if(!isThere) {items.push(id+':'+num+':'+price+':'+priceattrid+':'+priceattrtext);}
	
	$.cookie('cartitems', items.join('/'), {path:'/'});
	
	refreshCart();
}

function delFromCart(id, obj) {
	items=getCartList();

	for(var i=0;i<items.length;i++) {
		var t=items[i].split(':');
		if (t[0]==id) {
			if (arguments[2] && t[3] && arguments[2]!=t[3]) continue;
			items.splice(i,1);
		}
	}
	
	$.cookie('cartitems', items.join('/'), {path:'/'});
	
	$(obj).parents('tr').eq(0).fadeOut('slow', function() {$(this).remove();refreshCart();});
}

function correctNum(field) {
	field.value=field.value.replace(/[^0-9]/g, '');
	if (field.value=='') return 0; else return field.value;
}

function computeCartItemPrice(id, obj) {
	var ivalue=correctNum(obj);
	
	items=getCartList();
	for(var i=0;i<items.length;i++) {
		var t=items[i].split(':');
		if (t[0]==id) {
			if (arguments[2] && t[3] && arguments[2]!=t[3]) continue;
			t[1]=ivalue;
			//nastavime cenu
			$(obj).parent().next().find('span').html(FormatNumberBy3((ivalue*t[2]).toFixed(2)));
			items[i]=t.join(':');
		}
	}
	
	$.cookie('cartitems', items.join('/'), {path:'/'});
	
	refreshCart();
}

function FormatNumberBy3(num, decpoint, sep) {
  // check for missing parameters and use defaults if so
  if (arguments.length == 2) {
    sep = ".";
  }
  if (arguments.length == 1) {
    sep = ".";
    decpoint = ",";
  }
  
  // need a string for operations
  num = num.toString();
  // separate the whole number and the fraction if possible
  a = num.split('.');
  x = a[0]; // decimal
  y = a[1]; // fraction
  z = "";


  if (typeof(x) != "undefined") {
    // reverse the digits. regexp works from left to right.
    for (i=x.length-1;i>=0;i--)
    z += x.charAt(i);
    // add seperators. but undo the trailing one, if there
    z = z.replace(/(\d{3})/g, "$1" + sep);
    if (z.slice(-sep.length) == sep)
    z = z.slice(0, -sep.length);
    x = "";
    // reverse again to get back the number
    for (i=z.length-1;i>=0;i--)
    x += z.charAt(i);
    // add the fraction back in, if it was there
    if (typeof(y) != "undefined" && y.length > 0)
    x += decpoint + y;
  }
  return x;
}
