/**************************************************************************************************
* Goldfish Store JavaScript (works only with jQuery)
* This javascript is created by Goldfish from Fishbeam Software: http://www.fishbeam.com
* All rights reserved. © 2011 Yves Pellot
**************************************************************************************************/

//Add events to thumbnails and widget
$(document).ready(function(){
	$(".shoppingCart").click(function(){
		openCurtain("<p></p>", curtainClass, showStep1);
	});
	
	//Show cart button
	window.setTimeout('initializeBadge()', 1000);
});


//Show cart button
function initializeBadge() {
	$.get(pathToSupport+"store/badge"+storeId+".php", function(data) {
   		$(".shoppingCart").html(data);
   		$(".shoppingCart").fadeIn("slow", function(){
   			if($(".cartBadgeContent").length>0)
   				$(".cartBadgeContent").fadeIn("slow");
   			$(".productButton").click(addToCart);
   		});
	});
}


//Add product to cart
function addToCart(){
	var productId=$(this).attr("id");
	var offset=$(this).offset(); 
	
	//With animation
	if(buttonAnimation) {
		$("body").append('<div class="buttonTransfer" style="left:'+(offset.left+55)+'px;top:'+offset.top+'px;"></div>');
		var offset=$(".cartBadge").offset(); 
		$(".buttonTransfer").animate({left: offset.left+"px",top: offset.top+"px"}, 1000, function(){
			$(".buttonTransfer").remove();
			addToCart2(productId);
		});
	}
	
	//Without animation
	else
		addToCart2(productId);
}
function addToCart2(productId){
	if($(".cartBadgeContent").length>0) {
		$(".cartBadgeContent").fadeOut("slow", function(){
			loadCart(productId);
		});
	}
	else
		loadCart(productId);
}
function loadCart(productId){
	$.get(pathToSupport+"store/badge"+storeId+".php", {add: productId}, function(data) {
		$(".shoppingCart").html(data);
		$(".cartBadgeContent").fadeIn("slow");
	});
}


//STEP 1: Show cart
function showStep1() {
	showSpinner(function(){
		$.get(pathToSupport+"store/checkout"+storeId+".php", function(data) {
			$("#container").html(data);
			$("#container").fadeIn("slow", function(){
				hideSpinner(function(){
					connectCartEvents();
				});
			});
		});
	}, "");
};

//Connect cart events
function connectCartEvents() {
	$("#cartClose").click(closeCurtain);
	$("#step2").click(showStep2);
	$(".cartRemove").click(reloadCartSoon);
	$(".cartField").keyup(reloadCartSoon);
	$("#cartForm").submit(function(){return false;});
}

//Reload cart content
var reloadTimer;
function reloadCartSoon() {
	var id=$(this).attr("id");
	var cartAction=id.substring(0, id.indexOf("_"));
	var cartId=id.substring(id.indexOf("_")+1);
	var cartAmmount=$("#ammount_"+cartId).attr("value");

	window.clearTimeout(reloadTimer);
	if($(this).is("input"))
		reloadTimer=window.setTimeout('reloadCart("'+cartAction+'", "'+cartId+'", "'+cartAmmount+'")', 2000);
	else
		reloadCart(cartAction, cartId, cartAmmount);
}
function reloadCart(cartAction, cartId, cartAmmount) {
	showSpinner(function(){	
		$.get(pathToSupport+"store/checkout"+storeId+".php", {action: cartAction, id: cartId, ammount: cartAmmount}, function(data){
			hideSpinner(function(){
				$("#container").html(data);
				connectCartEvents();
				//Update cart badge
				$(".cartBadgeContent").fadeOut("slow", function(){
					loadCart('');
				});
			});
		});
	}, "");
}


//STEP 2: Load form to enter personal data
function showStep2() {
	showSpinner(function(){	
		$("#container").fadeOut("slow", function(){	
			$.get(pathToSupport+"store/checkout"+storeId+".php", {step: 2}, function(data){
				$("#container").html(data);
				$("#container").fadeIn("slow", function(){
					hideSpinner(function(){
						$("#step1").click(function(){
							$("#container").fadeOut("slow", showStep1);
						});
						$("#step3").click(showStep3);
					});
				});
			});
		});
	}, "");
}


//STEP 3: Load page for reviewing order
function showStep3() {
	showSpinner(function(){
		$("#container").fadeOut("slow", function(){
			//Store personal information in an object
			var params=new Object();
			params['personal[firstName]']=$("#personalFirstName").attr("value");
			params['personal[lastName]']=$("#personalLastName").attr("value");
			params['personal[street]']=$("#personalStreet").attr("value");
			params['personal[zip]']=$("#personalZip").attr("value");
			params['personal[city]']=$("#personalCity").attr("value");
			params['personal[state]']=$("#personalState").attr("value");
			$("#personalCountry > *").each(function (i) {
				if($(this).attr("selected")) {
        			params['personal[country]']=$(this).text();
				}
        	});
        	params['personal[phone]']=$("#personalPhone").attr("value");
			params['personal[mail1]']=$("#personalMail1").attr("value");
			params['personal[mail2]']=$("#personalMail2").attr("value");
			$("#personalPayment > *").each(function (i) {
				if($(this).attr("selected")) {
        			params['personal[payment]']=$(this).text();
				}
        	});
        	params['personal[comment]']=$("#personalComment").attr("value");
			params['personal[acceptConditions]']=$("#personalAcceptConditions").attr("checked");
			params['step']=3;
			$.get(pathToSupport+"store/checkout"+storeId+".php", params, function(data){
				$("#container").html(data);
				$("#container").fadeIn("slow", function(){
					hideSpinner(function(){
						$("#step2").click(function(){
							$("#container").fadeOut("slow", showStep2);
						});
						$("#step4").click(showStep4);
						$("#step1").click(function(){
							$("#container").fadeOut("slow", showStep1);
						});
						$("#step3").click(showStep3);
					});
				});
			});	
		});
	}, "");	
}

//STEP 4: Submit order and show thank you
function showStep4() {
	showSpinner(function(){		
		$("#container").fadeOut("slow", function(){
			$.get(pathToSupport+"store/checkout"+storeId+".php", {step: 4}, function(data){
				$("#container").html(data);
				$("#container").fadeIn("slow", function(){
					hideSpinner(function(){
						$("#cartClose").click(closeCurtain);
						//Update cart badge
						$(".cartBadgeContent").fadeOut("slow", function(){
							loadCart('');
						});
					});
				});
			});		
		});
	}, "");
}
