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());
	});

	jQuery(".openHover").hover(
		function () {$(this).children(".subMenu").stop(true, true).slideDown(50);},
		function () {$(this).children(".subMenu").stop(true, true).slideUp(50);}
	);
		
	jQuery(".subMenu").mouseover(
		function (e) {e.stopPropagation();}
	);
	
	if (jQuery('#searchBox'). length) {
	jQuery("#searchBox").focus(
		function () {
			if (jQuery.trim(jQuery(this).val()) == "Търсене")
				jQuery(this).val('');
		}
	);
	
	jQuery("#searchBox").focusout(
		function () {
			if (jQuery.trim(jQuery(this).val()) == '')
				jQuery(this).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 eshopParseComixStr(pCStr) {
	var retcarr = [];
	if (pCStr) {
		var carr = pCStr.split(',');
		for (var i = 0; i < carr.length; i++) {
			var tmpcarr = carr[i].split('-');
			retcarr.push([parseInt(tmpcarr[0]), parseInt(tmpcarr[1])]);
		}
	}
	return retcarr;
}

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

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

function eshopRemoveProduct() {
	var prodid = parseInt(jQuery(".cartNum", this.parentNode.parentNode).text());
	
	var prodstr = eshopReadCookie('produkt');
	var prods = eshopParseProdStr(prodstr);
	var comixstr = eshopReadCookie('comix');
	var comix = eshopParseComixStr(comixstr);
	
	for (var i = 0; i < prods.length; i++) {
		if (prods[i][0] == prodid) {
			prods.splice(i, 1);
			for (var j = 0; j < comix.length; j++) {
				if (comix[j][1] == prodid) {
					comix.splice(j, 1);
				}
			}
			break;
		}
	}
	
	eshopCreateCookie('produkt', eshopBuildProdStr(prods), 7);
	eshopCreateCookie('comix', eshopBuildComixStr(comix), 7);
	
	if (prods.length == 0) {
		window.location = '/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=.klikshop.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;
}

function bulSubscribe() {
	if(($('#subscribeBox').val()).replace(/\s+/, '') == '' || ($('#subscribeBox').val()).match(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i) === null) {
		$('#subscribeErr').show();
		$('#subscribeErr').html('Въвели сте невалиден Email.');
	}else {
		$('#subscribeErr').hide();
		$('#nwletter').submit(); return false;
	}
}
