﻿var animationSettings = 
{
	aktivt : parseInt($.cookie('animprod')),
	targetX : -40,
	targetY : 0	
};


$(document).ready(function()
{
	// Alla köpknappar i en produktruta:
	$('.buybuttonRuta').click(function(event)
	{
		// Stoppa klick på eventuell omslutande ruta
		event.stopImmediatePropagation();
		
		// Om animationen är avstängd, använd länkens HREF istället
		if (animationSettings.aktivt == 0)
			return true;
				
		// Produktens kombinations-ID finns i attributet "rel"
		var kID = $(this).attr('rel');		
		
		// Skicka iväg bilden!
		var imageHolder = $(this).parent().parent().find('#image-holder-'+kID);
		animate(kID, imageHolder);
		
		// Stäng av HREF för länken
		return false;
	});
	
	// Alla köpknappar i listläge
	$('.buybuttonLista').click(function(event)
	{
		// Stoppa klick på eventuell omslutande ruta
		event.stopImmediatePropagation();
		
		// Om animationen är avstängd, använd länkens HREF istället
		if (animationSettings.aktivt == 0)
			return true;
				
		// Produktens kombinations-ID finns i attributet "rel"
		var kID = $(this).attr('rel');		
		
		// Skicka iväg bilden!
		var imageHolder = $(this).parent().parent().find('img.produktbildLista:first');
		if (!imageHolder.length) return true;
		
		animate(kID, imageHolder);
		
		// Stäng av HREF för länken
		return false;
	});
	
	// Om vi är på "visa_produkt"
	$('.visaprodBuyButton').click(function(event)
	{
		// Kolla att det är OK att köpa önskat antal (funktion i js_visaprod.js)
		if (finnsAntaletILager(true) == false)
			return false;
		
		// Stoppa klick på eventuell omslutande ruta
		event.stopImmediatePropagation();
		
		// Om animationen är avstängd, använd länkens HREF istället
		if (animationSettings.aktivt == 0)
			return true;
		
		// Produktens kombinations-ID
		var kID = document.addToBasketForm.valdKombination.value;
		var antal = document.addToBasketForm.antal.value;
		
		// Skicka iväg bilden!
		var imageHolder = $('#currentBild');
		animateBig(kID, imageHolder, antal);
		
		// Stäng av default action för knappen
		return false;
	});
});

function animate(kID, imageHolder)
{
	var cartPos  = $('#varukorgtop').offset();
	var imagePos = imageHolder.offset();
	var absPos = imageHolder.position();
	
	var kopia = imageHolder.clone().attr('alt','').appendTo('body');
	
	kopia.css(
	{
		'z-index' : '1000',
		'position' : 'absolute',
		'margin':0,
		'padding':0,
		'left' : imagePos.left,
		'top' : imagePos.top
	});	
	
	kopia.animate(
	{
		left: cartPos.left + animationSettings.targetX ,
		top:  cartPos.top + animationSettings.targetY
	}, 1500);

	kopia.animate(
	{
		height: 0,
		opacity: 0.0
	}, 640, null, function(foo)
	{
		kopia.remove();
		
		$.ajax(
		{
			url: "/varukorg_visa.asp",
			global: false,
			type: "POST",
			data: (
			{
				'action': "nyvara",
				'valdKombination': kID,
				'antal': "1",
				'fromanimate':1
			}),
			dataType: "text",
			success: function(svaret)
			{
				if (svaret.substring(0,4)=="NONR")
				{
					failVarukorgen(felaVarukorg);
				} else {
					refreshVarukorgen(blinkaVarukorg);
				}
			}
		});		
	});
}

function animateBig(kID, imageHolder, antal)
{
	var cartPos  = $('#varukorgtop').offset();
	var imagePos = imageHolder.offset();
	var absPos = imageHolder.position();

	var kopia = imageHolder.clone().empty().appendTo(imageHolder.parent());
	
	kopia.css(
	{
		'z-index' : '1000',
		'position' : 'absolute',
		'left' : absPos.left,
		'top' : absPos.top
	});
	
	kopia.animate(
	{
		left: cartPos.left - imagePos.left + animationSettings.targetX ,
		top:  cartPos.top - imagePos.top + animationSettings.targetY,
		height: 0,
		width: 0
		
	}, 1500, null, function(foo)
	{
		kopia.remove();
		
		$.ajax(
		{
			url: "/varukorg_visa.asp",
			global: false,
			type: "POST",
			data: (
			{
				'action': "nyvara",
				'valdKombination': kID,
				'antal': antal,
				'fromanimate':1
			}),
			dataType: "text",
			success: function(svaret)
			{
				if (svaret.substring(0,4)=="NONR")
				{
					failVarukorgen(felaVarukorg);
				} else {
					refreshVarukorgen(blinkaVarukorg);
				}
			}
		});	
	});	
}

function refreshVarukorgen(callback)
{
	$("#varukorgtopholder").load("/ajax_top_varukorg_html.asp?1", {'rnd' : Math.random()}, callback);
}

var blinkaVarukorg = function()
{
	$("#varukorgtop_text").css('backgroundColor','#66FF66');
	setTimeout("$('#varukorgtop_text').css('backgroundColor','');",500);
}

var felaVarukorg = function()
{
	$("#varukorgtop_text").css('backgroundColor','#CC0005');
	setTimeout("$('#varukorgtop_text').css('backgroundColor','');",500);
}

function failVarukorgen(callback)
{
	$("#varukorgtopholder").load("/ajax_top_varukorg_html.asp?2", {'rnd' : Math.random()}, callback);

	// setTimeout(refreshVarukorgen(null),1500);
}
