var giftTmId;

jQuery(document).ready(function() {
	jQuery(".orderbut").click(eshopAddProduct);
	jQuery(".theOrder :input[name=myaddress]").change(eshopChangeAddress);
	jQuery("#faktura1").click(function () {
		jQuery(".eFaktura").toggle(this.checked);
	});
	if (jQuery("#faktura1").length) jQuery(".eFaktura").toggle(jQuery("#faktura1")[0].checked);
	
	jQuery("#delivernow1").click(function () {
		jQuery(".eFaktura :input[name=faddress]").val(jQuery(".ordHolder :input[name=adr]").val());
	});

	
});

function eshopCartInit() {
	jQuery("#recalcbut").hide();
	
	jQuery(".theCart .cartCount input").change(eshopCartRecalc);
	jQuery(".theCart .cartCount input").keyup(eshopCartRecalc);
	
	jQuery("#cPromoCode").change(eshopPromoChangTimed);
	jQuery("#cPromoCode").keyup(eshopPromoChangTimed);
		
	jQuery(".whereTo input").change(eshopPromoChangTimed);
	
	jQuery(".theCart .cartDelete a").click(eshopRemoveProduct);
}

function eshopChangeAddress() {
	var selEl = jQuery(this);
	
	jQuery(".theOrder :input").each(function() {
		if (selEl.attr(this.name) !== undefined) {
			this.value = selEl.attr(this.name);
		}
	});
}

function eshopPromoChangTimed() {
	if (giftTmId) clearTimeout(giftTmId);
	giftTmId = setTimeout("eshopPromoChange()", 500);
}

function eshopPromoChange() {
	if (jQuery("#cPromoCode").length) {
		eshopCreateCookie('kod', jQuery("#cPromoCode").val());
	}
	
	if (jQuery(".whereTo input").length) {
		eshopCreateCookie('city', jQuery(".whereTo input:radio:checked'").val());
	}
	
	
	if (jQuery("#cPromo").length) {
		jQuery.get('?ajaxobj=rebateajax&rnd=' + Math.random(), null, function(data, textStatus) {
			jQuery("#cPromo").val(eshopFmtPrice(data.reb));
			jQuery("#cPromoDeliv").val(eshopFmtPrice(data.deliv));
			jQuery("#cPromoTotal").val(eshopFmtPrice(data.reb + data.deliv));
			
		}, 'json');
	}
	
	jQuery("#topbasket").load('?ajaxobj=eshoptopbasket&rnd=' + Math.random());
	jQuery("#cartgifts").load('?ajaxobj=gifts&rnd=' + Math.random());
}

function eshopParseProdStr(pStr) {
	var retarr = [];
	if (pStr) {
		var arr = pStr.split(',');
		for (var i = 0; i < arr.length; i++) {
			var tmparr = arr[i].split('-');
			retarr.push([parseInt(tmparr[0]), parseInt(tmparr[1])]);
		}
	}
	return retarr;
}

function eshopBuildProdStr(pProds) {
	var retstr = '';
	for (var i = 0; i < pProds.length; i++) {
		retstr += (retstr ? ',' : '') + pProds[i].join('-');
	}
	return retstr;
}

function eshopRemoveProduct() {
	var prodid = parseInt(jQuery(".cartNum", this.parentNode.parentNode).text());
	
	var prodstr = eshopReadCookie('produkt');
	var prods = eshopParseProdStr(prodstr);
	
	for (var i = 0; i < prods.length; i++) {
		if (prods[i][0] == prodid) {
			prods.splice(i, 1);
			break;
		}
	}
	
	eshopCreateCookie('produkt', eshopBuildProdStr(prods), 7);
	
	if (prods.length == 0) {
		window.location = '/eshop/cart.php';
	} else {
		jQuery(this.parentNode.parentNode).remove();
		eshopCartRecalc();
	}
	return false;
}

function eshopAddProduct() {
	var matchArr = this.href.match(/articleid=(\d+)/);
	
	if (matchArr) {
		var prodid = matchArr[1];
	} else {
		return true;
	}
	
	var prodstr = eshopReadCookie('produkt');
	var prods = eshopParseProdStr(prodstr);
	
	var prodexists = 0;
	
	for (var i = 0; i < prods.length; i++) {
		if (prods[i][0] == prodid) {
			prods[i][1]++;
			prodexists = prods[i][1];
			break;
		}
	}
	
	var lMsg = '';
	if (!prodexists) {
		prods.push([prodid, 1]);
		lMsg = 'Продуктът е добавен в <a href="cart.php">кошницата</a>.';
	} else {
		lMsg = prodexists + ' продукта са добавени в <a href="cart.php">кошницата</a>.';
	}
	
	eshopCreateCookie('produkt', eshopBuildProdStr(prods), 7);
	
	if (jQuery('.ordered', this.parentNode).length) {
		jQuery('.ordered', this.parentNode).html(lMsg);
	} else {
		jQuery(this).after('<span class="ordered">' + lMsg + '</span>');
	}
	
	eshopPromoChange();
	
	return false;
}

function eshopCartRecalc() {
	var totalvalue = 0;
	var lCartProds = [];
	
	jQuery(".theCart ul.cartRow").each(function() {
		if (!jQuery(this).hasClass("gift")) {
			var inps = jQuery("input", this);
			
			if (inps.length) {
				var lProdId = jQuery(".cartNum", this).text();
				var lCnt = parseInt(inps[0].value);
				var lPrice = parseFloat(inps[1].value);
				
				if (isNaN(lPrice)) {
					lPrice = 0;
				}
				if (isNaN(lCnt)) {
					lCnt = 0;
				}
				inps[2].value = eshopFmtPrice(lPrice * lCnt);
				
				totalvalue = totalvalue + (lPrice * lCnt);
				
				if (lCnt && lProdId) {
					lCartProds.push([lProdId, lCnt]);
				}
			}
		}
	});
	
	var lCartProdsStr = '';
	if (lCartProds.length) {
		lCartProdsStr = eshopBuildProdStr(lCartProds);
	}
	
	eshopCreateCookie('produkt', lCartProdsStr, 7);
	
	jQuery(".theCart #cTotal").val(eshopFmtPrice(totalvalue));
	
	if (giftTmId) clearTimeout(giftTmId);
	giftTmId = setTimeout("eshopPromoChange();", 500);
}

function eshopFmtPrice(p) {
	p = Math.round(p * 100);
	var ost = p % 100;
	if (ost == 0) ost = '00';
	else if (ost < 10) ost = '0' + ost;
	return parseInt(p / 100) + '.' + ost;
}

function eshopCreateCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	} else 
		var expires = "";
	document.cookie = name + "=" + escape(value) + expires + "; path=/; domain=.economedia.bg";
}

function eshopReadCookie(name) {
	var ca = document.cookie.split(';');
	var nameEQ = name + "=";
	for(var i=0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1, c.length); //delete spaces
		if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length));
	}
	return null;
}

