var IE = /*@cc_on!@*/false;
var IE6 = (IE && (navigator['appVersion'].indexOf('MSIE 6') > 0)) ? true : false;
var __cookieDomain = '.restlesswear.com';

$(function() {
	$(document).ready(function(){
		if ($("div.page_collection").length!=0) {
			$("#collection").scrollable({size: 1, clickable: false});
			$(".scroll .navi a").hover(function(){ $(this).parent().toggleClass("over"); },function(){ $(this).parent().toggleClass("over"); });
		}
		
		if ($("div.store").length!=0) {
			$("div.store div.pics ul li a").each(function(){
				$(this).click(function(){
					var medium = $("div.store div.pics ul li#medium img"),
						mediumRel = medium.attr("rel").split(','),
						clicked = $(this).find("img"),
						clickedRel = clicked.attr("rel").split(','),
						clickedSrc = clicked.attr("src"),
						clickedWidth = clicked.attr("width"),
						clickedHeight = clicked.attr("height");
					//$(this).find("img").attr({ src: mediumRel[0], width: mediumRel[1], height: mediumRel[2], rel: medium.attr("src")+','+medium.attr("width")+','+medium.attr("height") });					
					$("div.store div.pics ul li#medium img").attr({ src: clickedRel[0], width: clickedRel[1], height: clickedRel[2], rel: clickedSrc+','+clickedWidth+','+clickedHeight });
				});														
			});
			
			RestlessStore.start();
			
		}
		
		if ($("div.checkout").length!=0) {
			
			RestlessStore.start();
			$("div.cart div.item input.quantity").change(function(){
				var i = $(this).attr("id").split("_"), q = parseInt($(this).val());
				$(this).val(q);
				RestlessStore.setCart(i[1],i[3],q);
				$().updateCheckout();
			});
			
			$("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("");
				RestlessStore.setCart(i[1],i[3],q);
				$().updateCheckout();
			});
			
			$("div.cart h1 a.emptyCart").click(function(){
				if(confirm("You are about to remove everything from your cart.\nAre you sure?")) {
					RestlessStore.emptyCart();
					$("div.cart div.item a.remove").trigger("click");
				}
			});
			
			$("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('');
				
				$.post("/restless.validate.php", $("#checkout").serialize(), function (data) {
					$("div.checkoutLoading, div.checkoutOverlay").hide();
					
					if(data.checkoutStatus=='error') {
						for (var e in data.checkoutError) {
							$("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: 'http://restlesswear.com/captcha.php?k='+data.rnd });
					}
					
					if(data.checkoutStatus=='systemerror') {
						alert("Something went wrong on our server.\nPlease try again. If it still goes wrong, please contact us.");
						// reset captcha
						$("input#captcha").val('');
						$("img#captcha-img").attr({ src: 'http://restlesswear.com/captcha.php?k='+data.rnd });
					}
					
					if(data.checkoutStatus=='ok') {
						if (data.checkoutReady=='ok') {
							$("div.page_checkout div.cart").html('<div class="entrybody pagebody"><h1>Success</h1><div class="block"><p>Thanks for your order!</p><p>You will receive a confirmation e-mail with a link soon. After clicking on that link, we will process your order and ship it as soon as possible. Should any problem occur concerning your order, we will contact you via e-mail or phone.</p><p>Your order ID: <b>'+data.order.order_id+'</b></p></div></div>');
							$("div.form, div.sum").hide();
							RestlessStore.emptyCart();
						}
						if (data.checkoutReady=='error') {
							alert("Something went wrong on our server.\nPlease try again. If it still goes wrong, please contact us.");
							$("input#captcha").val('');
							$("img#captcha-img").attr({ src: 'http://restlesswear.com/captcha.php?k='+data.rnd });
						}
					}
					
				}, 'json');
			});
		}

	});
});

$.fn.promoSlider = function(o) {
	
	var $obj = $(this), itemWidths = [], itemPos = [], html = '',
		opts = {
			items:	'ul',
			item:	'li'
		};
		
	$.extend(opts,o);
	
	$(function() { $(document).ready(function(){
		var items = $obj.find(opts.items+' '+opts.item);
		if (items.length <= 1) { return; }
		
		html+='<div class="slidernav">';
		for(i=0;i<items.length;i++) {
			itemWidths[i] = items.eq(i).width();
			itemPos[i] = (i==0) ? 0 : itemWidths[i-1]+itemPos[i-1];
			html+='<a class="' + (i==0 ? 'sel' : '') + '"></a>';
			//html+='<a class="' + (i==0 ? 'sel' : '') + '">' + (i+1) + '</a>';
		}
		html+='</div>';
		$obj.append(html);
		
		$obj.find("div.slidernav a").each(function(i){
			$(this).click(function(){
				if (!$(this).hasClass("sel")) {
					$(this).parent().find("a").removeClass("sel");
					$(this).addClass("sel");
					$obj.find(opts.items).animate({ left: '-' + itemPos[i] + 'px' });
				}
			});
		});
		
	});});
	
};

$.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>No item in your cart :(</p></div>');
		$("div.form, div.sum").hide();
	} else {
		$("#fullitems1, #fullitems2").text(sumItems);
		$("#itemsprice1, #itemsprice2").text(sumPrice+',-');
		$("#fullprice1, #fullprice2").text((sumPrice+parseInt($("input#shippingprice").val()))+',-');
	}
};


// ===== RestlessStore engine ======
var RestlessStore = {
	
	start: function(p) {

		var C = __testCookie(),	S = $("div.store"), O = this;
			
		if (C===false) {
			$().alertOverlay({ text: 'To be able to use our Online Store, please enable cookies in your browser!' }); 
			return;
		}
		
		S.find("div.sizes a.addToCart").each(function(){
			$(this).click(function(){
				var d = $(this).attr("rel").split(","),
					q = ($(this).find("small").length!=0) ? $(this).find("small").text() : 1;
				
				if ($("div#sizeSettings_"+d[1]).hasClass("open")) {
					$("div#sizeSettings_"+d[1]).removeClass("open").hide();
					$(this).parent().find("a.btn1").removeClass("sel");					
				} else {
					$("div.sizeSettings").removeClass("open").hide();
					if ($(this).find("small").length==0) { $(this).append("<small>1</small>"); }
					$("div#sizeSettings_"+d[1]).addClass("open").show().find("input").val(q).select();
					O.setCart(d[0],d[1],q);
					$(this).parent().find("a.btn1").removeClass("sel");
					$(this).addClass("sel");
				}
				
			});
		});
		
		S.find("div.sizeSettings").each(function(){
			var that = $(this), d = $(this).attr("rel").split(",");
			$(this).find("a.ok").click(function(){
				$("a#sizeAdd_"+d[1]).removeClass("sel").find("small").html(that.find("input").val());
				O.setCart(d[0],d[1],that.find("input").val());
				that.removeClass("open").hide();
			});
			$(this).find("a.remove").click(function(){
				$("a#sizeAdd_"+d[1]).removeClass("sel").find("small").replaceWith("");
				O.setCart(d[0],d[1],0);
				that.removeClass("open").hide();
			});
		});
		
	},
	
	setCart: function(product,size,quantity) {
		var RSCookie = __readCookie("RestlessStoreCart"),
			cookieData = (RSCookie) ? RSCookie.split("|") : [],
			cartArr = [],
			cartSum = 0,
			cart = {},
			newItem = {};
			
		// processing cookie data
		if (RSCookie) {
			for(i=0;i<cookieData.length;i++) {
				var pr = cookieData[i].split(",");
				if (pr[0]==(product+'_'+size) && quantity==0) { } else { cart[pr[0]] = pr[1]; }
			}
		}
		
		if (quantity!=0) { newItem[product+'_'+size] = 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("RestlessStoreCart");
			$("#cartcounter").text('0');
			$("div.sidebar div.cart a.checkout").css({ display: 'none' });
		} else {
			$("#cartcounter").text(cartSum);
			if (cartSum>0) { $("div.sidebar div.cart a.checkout").css({ display: 'inline' }); }
			__setCookie("RestlessStoreCart",cartArr.join("|"),7);
		}
		
	},
	
	emptyCart: function() {
		__removeCookie("RestlessStoreCart");
		$("#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('');
	});
	
}
