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

//Add events to thumbnails and widget
$(document).ready(function(){
	$(".shopping_cart").click(function(){
		openCurtain("<p></p>", curtainClass, showStep1);
	});
	//Show cart button
	window.setTimeout('initializeBadge()', 1000);
	//load images to cache
	var imageLoader1=new Image();
    imageLoader1.src="support/store/cart_active.png";
	var imageLoader2=new Image();
    imageLoader2.src="support/store/buy_button_active.png";
	var imageLoader3=new Image();
    imageLoader3.src="support/store/transfer.png";	
	var imageLoader4=new Image();
    imageLoader4.src="support/store/badge.png";
	var imageLoader5=new Image();
    imageLoader5.src="support/store/cart_empty.png";
	var imageLoader6=new Image();
    imageLoader6.src="support/store/remove.png";
});
//Show cart button
function initializeBadge() {
	$.get(pathToStore+"badge.php", function(data) {
   		$(".shopping_cart").html(data);
   		$(".shopping_cart").fadeIn("slow", function(){
   			if($(".cart_badge_content").length>0)
   				$(".cart_badge_content").fadeIn("slow");
   			$(".product_button").click(addToCart);
   		});
	});
}

//Add product to cart
function addToCart(){
	var productId=$(this).attr("id");
	var offset=$(this).offset(); 
	$("body").append('<div class="button_transfer" style="left:'+(offset.left+55)+'px;top:'+offset.top+'px;"></div>');
	var offset=$(".cart_badge").offset(); 
	$(".button_transfer").animate({left: offset.left+"px",top: offset.top+"px"}, 1000, function(){
		$(".button_transfer").remove();
		if($(".cart_badge_content").length>0) {
			$(".cart_badge_content").fadeOut("slow", function(){
				loadCart(productId);
			});
		}
		else
			loadCart(productId);
	});
}
function loadCart(productId){
	$.get(pathToStore+"badge.php", {add: productId}, function(data) {
		$(".shopping_cart").html(data);
		$(".cart_badge_content").fadeIn("slow");
	});
}


//STEP 1: Show cart
function showStep1() {
	showSpinner(function(){
		$.get(pathToCheckout, function(data) {
			$("#container").html(data);
			$("#container").fadeIn("slow", function(){
				hideSpinner(function(){
					connectCartEvents();
				});
			});
		});
	}, "");
};

//Connect cart events
function connectCartEvents() {
	$("#cart_close").click(closeCurtain);
	$("#step_2").click(showStep2);
	$(".cart_remove").click(reloadCartSoon);
	$(".cart_field").keyup(reloadCartSoon);
	$("#cart_form").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(pathToCheckout, {action: cartAction, id: cartId, ammount: cartAmmount}, function(data){
			hideSpinner(function(){
				$("#container").html(data);
				connectCartEvents();
				//Update cart badge
				$(".cart_badge_content").fadeOut("slow", function(){
					loadCart('');
				});
			});
		});
	}, "");
}


//STEP 2: Load form to enter personal data
function showStep2() {
	showSpinner(function(){	
		$("#container").fadeOut("slow", function(){	
			$.get(pathToCheckout, {step: 2}, function(data){
				$("#container").html(data);
				$("#container").fadeIn("slow", function(){
					hideSpinner(function(){
						$("#step_1").click(function(){
							$("#container").fadeOut("slow", showStep1);
						});
						$("#step_3").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(pathToCheckout, params, function(data){
				$("#container").html(data);
				$("#container").fadeIn("slow", function(){
					hideSpinner(function(){
						$("#step_2").click(function(){
							$("#container").fadeOut("slow", showStep2);
						});
						$("#step_4").click(showStep4);
						$("#step_1").click(function(){
							$("#container").fadeOut("slow", showStep1);
						});
						$("#step_3").click(showStep3);
					});
				});
			});	
		});
	}, "");	
}

//STEP 4: Submit order and show thank you
function showStep4() {
	showSpinner(function(){		
		$("#container").fadeOut("slow", function(){
			$.get(pathToCheckout, {step: 4}, function(data){
				$("#container").html(data);
				$("#container").fadeIn("slow", function(){
					hideSpinner(function(){
						$("#cart_close").click(closeCurtain);
						//Update cart badge
						$(".cart_badge_content").fadeOut("slow", function(){
							loadCart('');
						});
					});
				});
			});		
		});
	}, "");
}

