var IE = /*@cc_on!@*/false;
var IE6 = (IE && (navigator['appVersion'].indexOf('MSIE 6') > 0)) ? true : false
var IE7 = (IE && (navigator['appVersion'].indexOf('MSIE 7') > 0)) ? true : false;
var IE8 = (IE && (navigator['appVersion'].indexOf('MSIE 8') > 0)) ? true : false;
var __cookieDomain = '.silenos.hu';
var __cartCookie = 'SilenosStoreCart';
var _payment = false;

$(function() {
	$(document).ready(function(){
				
	_payment = $("div.sum ul li.shipping span.b input[name=payment]:checked").val();
	$("div.sum ul li.shipping").removeClass("p1a p1u p1p p2a p2u p2p").addClass('p'+_payment);

	if (IE6) {} else {
		Cufon
			.replace(".helv")
			.replace(".sidebar .box h3")
			.replace(".sidebar-right .box h3")
			.replace(".sidebar .box ul.menu li a", { hover: true });
	}			   
							   
		
		if ($("div.store").length!=0 || $("ul#storelist").length!=0 || $("ul#storelist2").length!=0 || $("ul#storelist3").length!=0 || $("ul#storelist4").length!=0) {			
			ZwrStore.start();
		}
		
		$("div.bar div.cart a.empty").click(function(e){
			e.preventDefault();
			if(confirm("Biztosan kiüríti a kosarat?")) {
				$("#cartempty").show();
				$("#carthaving, #carthaving a.checkout, #carthaving a.empty").hide();
				ZwrStore.emptyCart();					
				if ($("div.checkout").length!=0) {
					location.reload(true);						
				}
			}
		});		
		
		if ($("div.checkout").length!=0) {
			
			ZwrStore.start();
			$("div.cart div.item input.quantity").change(function(){
				var i = $(this).attr("id").split("_"), q = parseInt($(this).val());
				$(this).val(q);
				ZwrStore.setCart(i[1],q);
				$().updateCheckout();
			});
			
			$("div.sum ul li.shipping span.b").each(function(){
				$(this).find("input[name=payment]").each(function(i){
					$(this).bind("click change",function(){
						_payment = $(this).val();
						$(this).closest("li").removeClass("p1a p1u p1p p2a p2u p2p").addClass('p'+_payment);
						(_payment.split('')[1]=='p' && $(".pickup").length) ? $(".pickup").show() : $(".pickup").hide();
						$().updateCheckout();							
					});
				});
			});
			
			$("div.pickup ul li a").click(function(e){
				e.stopPropagation();
			});
			
			$("div.cart div.item a.remove").click(function(){
				var that = $(this).closest("div.item"),
					i = that.find("input.quantity").attr("id").split("_"),
					q = 0;
				that.replaceWith("");
				ZwrStore.setCart(i[1],q);
				$().updateCheckout();
			});
			
			$("div.checkout a.emptyCart").click(function(){
				if(confirm("Biztosan kiüríti a kosarat?")) {
					ZwrStore.emptyCart();
					$("div.cart div.item a.remove").trigger("click");
					if ($("div.checkout").length!=0) {
						location.reload(true);						
					}
				}
			});
			
			$("input#checkout-form").click(function(){
				$("div.checkoutLoading").show();
				$("div.checkoutOverlay").css({ width: $("div.page_checkout").width(), height: $("div.page_checkout").height()-50, top: $("div.page_checkout").position().top, left: $("div.page_checkout").position().left }).show();
				$("div.form p").removeClass("error").find("span.error").replaceWith('');
				$(".pickup").removeClass("error").find("span.error").replaceWith('');
				
				$.post("/zwrstr.validate.php", $("#checkout").serialize(), function (data) {
					$("div.checkoutLoading, div.checkoutOverlay").hide();
					
					if(data.checkoutStatus=='error') {
						for (var e in data.checkoutError) {
							if (data.checkoutError[e][0]=="pickup") {
								$(".pickup").addClass("error").find("ul").after('<span class="error">'+data.checkoutError[e][1]+'</span>');
							} else {
								$("div.form input#"+data.checkoutError[e][0]).parent().addClass("error").append('<span class="error">'+data.checkoutError[e][1]+'</span>');
							}
						}
						// reset captcha
						$("input#captcha").val('');
						$("img#captcha-img").attr({ src: '/captcha.php?k='+data.rnd });
					}
					
					if(data.checkoutStatus=='systemerror') {
						alert("Szerverhiba.\nKérjük próbálja újra. Ha ismét hiba történik, kérjük lépjen velünk kapcsolatba!");
						// reset captcha
						$("input#captcha").val('');
						$("img#captcha-img").attr({ src: '/captcha.php?k='+data.rnd });
					}
					
					if(data.checkoutStatus=='ok') {
						if (data.checkoutReady=='ok') {
							$("div.page_checkout div.cart").html('<div class="entrybody pagebody"><div class="block"><b>Sikeres megrendelés!</b><p>Hamarosan kap egy e-mailt, az ebben található linkre kattintva visszaigazolhatja megrendelését. Ezután feldolgozzuk megrendelését és postázzuk Önnek a megrendelt termékeket.</p><p>Az Ön megrendelés azonosítója: <b>'+data.order.order_id+'</b></p><p>Köszönjük megrendelését!</p></div></div>');
							$("div.form, div.sum, div.pickup, a.emptyCart").hide();
							ZwrStore.emptyCart();
							$('body').animate({scrollTop: 0},'fast');
						}
						if (data.checkoutReady=='error') {
							alert("Szerverhiba.\nKérjük próbálja újra. Ha ismét hiba történik, kérjük lépjen velünk kapcsolatba!");
							$("input#captcha").val('');
							$("img#captcha-img").attr({ src: '/captcha.php?k='+data.rnd });
						}
					}
					
				}, 'json');
			});
		}

	});
});

$.fn.updateCheckout = function() {
	var sumPrice = 0, sumItems = 0;
	$("div.cart div.item").each(function(){
		var q = $(this).find("input.quantity").val()*1, p = $(this).find("input.price").val()*1;
		sumPrice = sumPrice+(q*p);
		sumItems = sumItems+q;
	});
	if (sumItems==0) {
		$("div.page_checkout div.cart").html('<div class="entrybody pagebody"><p>Az Ön kosara üres :(</p></div>');
		$("div.form, div.sum, div.pickup, a.emptyCart").hide();
	} else {
		
		var shippingsel = (sumItems>1) ? 2 : 1;
		var discount = (sumItems>1) ? 25 : 20;
		var discount_calc = Math.round(sumPrice* (discount/100));
		
		$("div.sum ul li.shipping").removeClass("p1a p1u p1p p2a p2u p2p").addClass('p'+shippingsel+_payment.split('')[1]);
		$("#shipping_sel_"+shippingsel+" input[value="+shippingsel+_payment.split('')[1]+"]").attr("checked", "checked");
		
		$("#discount_rate1").text( discount );
		$("#discount_calc1").text( discount_calc );
		$("#disc_price1").text( sumPrice - discount_calc );
		
		$("#fullitems1, #fullitems2").text(sumItems);
		$("#itemsprice1, #itemsprice2").text(sumPrice+',-');
		//console.log( _payment, $("input#shippingprice_"+_payment).val() );
		$("#fullprice1, #fullprice2").text(sumPrice - discount_calc + parseInt($("input#shippingprice_"+_payment).val()));
	}
};


// ===== ZwrStore engine ======
var ZwrStore = {
	
	start: function(p) {

		var C = __testCookie(),	S = $("div.store"), SL = $("#storelist, #storelist2, #storelist3, #storelist4"), O = this;
			
		if (C===false) {
			$().alertOverlay({ text: 'A webshop használatához kérjük engedélyezze böngészőjében a cookie-k használatát.' }); 
			return;
		}
		
		S.find("a.addToCart").each(function(){
			$(this).click(function(){
				var d = $(this).attr("rel").split("_"), q = $(this).parent().find(".quantity input").val()*1;
					
				O.setCart(d[1],q);
				if (q==0) {
					$(".alreadyInCart").hide();
					$("#alreadyInCart").text('0 db');
				} else {
					$(".alreadyInCart").show();
					$("#alreadyInCart").text(q+ ' db');
				}
				
			});
		});
		
		SL.find(".store-item a.addToCart1").each(function(){
			$(this).click(function(){
				var d = $(this).attr("rel").split("_"), q = 1;
					
				O.setCart(d[1],q);				
				$(this).hide();
				$(".already_"+d[1]).show();
				$("#already_"+d[1]).text(q+ ' db');	
				
				if ($("div.checkout").length!=0) {
					location.reload(true);						
				}	
			});
		});
		
		S.find("a.removeFromCart").each(function(){
			$(this).click(function(){
				var d = $(this).attr("rel").split("_");					
				O.setCart(d[1],0);
				$(".alreadyInCart").hide();
				$("#alreadyInCart").text('0 db');
				
			});
		});
		
	},
	
	setCart: function(product,quantity) {
		var zwrstrCookie = __readCookie(__cartCookie),
			cookieData = (zwrstrCookie) ? zwrstrCookie.split("|") : [],
			cartArr = [],
			cartSum = 0,
			cart = {},
			newItem = {};
			
		// processing cookie data
		if (zwrstrCookie) {
			for(i=0;i<cookieData.length;i++) {
				var pr = cookieData[i].split(",");
				if (pr[0]==('item_'+product) && quantity==0) { } else { cart[pr[0]] = pr[1]; }
			}
		}
		
		if (quantity!=0) { newItem['item_'+product] = quantity; } // add new
		$.extend(cart,newItem);	// merge objects
		for (var k in cart) {
			cartArr.push(k+','+cart[k]); // serialize
			cartSum = cartSum + (cart[k]*1); // sum
		}
		
		// set cookie
		if(cartArr.length==0) {
			__removeCookie(__cartCookie);
			$("#cartcounter").text('0');
			$("#cartempty").show();
			$("#carthaving, #carthaving a.checkout, #carthaving a.empty").hide();
		} else {
			$("#cartcounter").text(cartSum);
			$("#cartempty").hide();
			if (cartSum>0) { $("#carthaving, #carthaving a.checkout, #carthaving a.empty").show(); }
			__setCookie(__cartCookie,cartArr.join("|"),7);
		}
		
	},
	
	emptyCart: function() {
		__removeCookie(__cartCookie);
		$("#cartcounter").text(0);
		$("div.sidebar div.cart a.checkout").css({ display: 'none' });	
	}
	
	
};

// ===== cookie handling functions =====
function __setCookie(n,v,d) {
  var today = new Date();
  var expire = new Date();
  if (d==null || d==0) d=1;
  expire.setTime(today.getTime() + 3600000*24*d);
  document.cookie = n+"="+v+";expires="+expire.toGMTString()+";path=/;domain="+__cookieDomain;
}

function __removeCookie(n) {
  document.cookie = n+"=;expires=Fri, 02-Jan-1970 00:00:00 GMT;path=/;domain="+__cookieDomain;
}

function __readCookie(name) {
	var nameEQ = name + "=", ca = document.cookie.split("; "), re = false;
	for(i=0;i<ca.length;i++) {
		var c = ca[i].split("=");
		if (c[0]==name) {
			re = c[1];
		}
	}
	return re;
}

function __testCookie() {
	__setCookie("test","repa retek mogyoro",1);
	if (__readCookie("test")!==false) {
		__removeCookie("test");
		return true;
	} else {
		return false;	
	}
}

// ===== overlay for notifications =====
$.fn.alertOverlay = function(o) {
	
	var opts = {
		text: 'hiba',
		closable: true,
		autoHide: false,	// or delay in sec
		html: ''
	};
	
	$.extend(opts,o);
	if ($("div.alertOverlay").length!=0) { $(this).parent().replaceWith(''); }
	
	opts.html = '<div class="alertOverlay"><p>'+opts.text+'</p>';
	if (opts.closable) { opts.html += '<a href="javascript:;" class="close">x</a>'; }
	opts.html += '</div>';
	
	$("body").append(opts.html);	
	$("div.alertOverlay a.close").click(function(){
		$(this).parent().replaceWith('');
	});
	
}
