$(document).ready(function() {
	
	// Detta är en array med taggarna som är aktiva just nu
	var t_array = new Array();
	var t_not = '';
	var t_not_antal = 0;
	var this_page = 1;
	var tmp_this_page = this_page;
	//var this_cat = 6;
	
	// Detta är för att sätta addMyTag funktionen på alla <li>
	$('#ul_filter').children().each( 
		function(){
			
			$(this).children('a').css('color','#0c4da2');
			//$(this).children('a').css('display','block');
			
			$(this).click(
			
				function() {
					
					addMyTag($(this));
					
				}
			
			);
		}
	);

	function toggle_loadicon(showHide)
	{
		if (showHide == 'show')
		{
			$('#load_icon').show('fast');
		}
		else
		{
			$('#load_icon').hide('fast');
		}
	}
	
	function addMyTag(theTag)
	{
		
		var theTagName = theTag[0].id;
		var theTagNumInArray = jQuery.inArray(theTagName, t_array);
		
		if (theTagNumInArray == -1){ // Kolla om taggen redan finns i arrayn
			// Lägg in taggen i arrayn
			t_array[(t_array.length)] = theTagName;
			
			// Här checkar vi för den senaste
			theTag.children().css('background-position','0px -14px');
		}
		else // den fanns inte
		{
			// Ta bort den ur våran array eftersom den redan fanns.
			t_array.splice( theTagNumInArray, 1 );
			
			// Här av-checkar vi den vi valt
			theTag.children().css('background-position','0px 0px');
			
		}
		
		// Visa loader
		toggle_loadicon('show');
		
		// Kolla knapparna
		check_combo();
		
		// Kör ajaxscriptet som hämtar vilka produkter vi vill ha
		getTheProducts();
		
	}
	
	// Kör denna direkt så vi får uppdatera allt en gång.
	getTheProducts();
	
	function getTheProducts()
	{
		if (t_array.length > 0)
		{
			var theTagsQuery = '?tag=' + t_array.join('+') + '&cat=' + this_cat
		}
		else
		{
			var theTagsQuery = '?cat=' + this_cat;
		}
		
		var url = 'http://www.fontana.se/wp-content/themes/fontanafood/ajax/get_products_by_tags.php' + theTagsQuery;
		 $.ajax({
			url: url,
			success: function(result){
				tmp_t_not = result.split("%");
				t_not = tmp_t_not[0].split(",");
				t_not_antal = tmp_t_not[1];
				
				// Sätt antal sidor
				num_slides = Math.ceil(tmp_t_not[1]/20);
				
				// Återställer plaseringen av sida.
				resetPage();
				
				// Fixa med pagineringen
				update_paging();
				
				// Skala wrappern så den är antingen 1,2,3 eller 4 rad/er.
				scale_product_wrapper();
				
				// Loopa genom dom sen när vi fått tebax från ajax
				loop_t_array();
				
				// Dölj loader
				toggle_loadicon('hide');
			}
		});
	   
	}
	
	/*
	Paginering
	*/
	
	// Återställer plaseringen av sida.
	function resetPage()
	{
		$("#gridwrapper").css('margin', '0px 0 0 0');
		this_page = 1;
	}
	
	// Detta gör själva pagnineringen.
	function update_paging()
	{
		
		if (t_not_antal > 16)
		{
			$('#wp_page_numbers').css('display','block');
		}
		else
		{
			$('#wp_page_numbers').css('display','none');
		}
		
		if (num_slides == undefined)
		{
			// Sätt antal sidor
			num_slides = Math.ceil(t_not_antal/20);
		}
		
		var tmp_pagination_str = '<ul>';
		
		tmp_pagination_str += '<li class="page_info">Sida X av X</li>';
		
		if (this_page != 1)
		{
			tmp_pagination_str += '<li><a href="javascript:return false;" id="previous">&lt;</a></li>';
		}
		
		for (i=1; i<=num_slides; i++)
		{
			var custom_class = '';
			
			if (i == (this_page))
			{
				custom_class += ' active_page';
			}
			
			if (i == 1 && this_page >= 3) // Om i är första och aktiva sidan är över 3
			{
				tmp_pagination_str += '<li class="' + custom_class + '"><a href="javascript:return false;" id="' + i + '">' + i + '</a></li>';
				tmp_pagination_str += '<li class="space">...</li>';
			}
			
			// Om vi är på första sidan vill vi även se sida nr 3
			if (i == 3 && this_page == 1)
			{
				tmp_pagination_str += '<li class=""><a href="javascript:return false;" id="' + i + '">' + i + '</a></li>';
			}
			
			
			// Om vi är på sista sidan
			if (i == (num_slides) && this_page <= (num_slides - 2))
			{
				tmp_pagination_str += '<li class="space">...</li>';
			}
			
			// Om vi är på någon sida innan näst sista så ska vi se sista.
			if (i == (num_slides) && this_page <= (num_slides - 2))
			{
				custom_class = ' first_last_page';
				tmp_pagination_str += '<li class="' + custom_class + '"><a href="javascript:return false;" id="' + i + '">' + i + '</a></li>';
			}
			
			// Detta visar sida nr 3 bakifrån när vi är på sista sidan eftersom vi bara ser två frammåt och bakåt vanligtvis
			if (i == (num_slides - 2) && this_page == num_slides)
			{
				tmp_pagination_str += '<li class=""><a href="javascript:return false;" id="' + i + '">' + i + '</a></li>';
			}
			
			
			// Detta visar 2 sidor frammåt och bakåt
			if (i > (this_page - 2) && i < (this_page + 2))
			{
				tmp_pagination_str += '<li class="' + custom_class + '"><a href="javascript:return false;" id="' + i + '">' + i + '</a></li>';
			}
			
			
		}
		
		if (this_page != num_slides)
		{
			tmp_pagination_str += '<li><a href="javascript:return false;" id="next">N&auml;sta &raquo;</a></li>';
		}
		
		tmp_pagination_str += '</ul>';
		
		// Sätt pagineringssträngen i pagineringsboxen
		$('#wp_page_numbers').html(tmp_pagination_str);
		
		makePageBtnsClickable();
	}
	
	
	
	function scale_product_wrapper()
	{
		if (t_not_antal < 6)
		{
			var tmp_product_rows = '165px';
		}
		else if (t_not_antal < 11 && t_not_antal > 6)
		{
			var tmp_product_rows = '330px';
		}
		else if (t_not_antal < 16 && t_not_antal > 11)
		{
			var tmp_product_rows = '495px';
		}
		else if (t_not_antal > 16)
		{
			var tmp_product_rows = '660px';
		}
		
		$('#products_wrapper').css('height',tmp_product_rows);
	}
	
	// Detta tänker jag kommer vara loopen som sätter igång alla olika prylar som har med vilka det faktiskt är i arrayn.
	function loop_t_array()
	{
		
		var tmpi = 0;
		
		$('#gridwrapper').children('.postgrid4').each( 
			function(){
				
				var theProductId = $(this)[0].id.substring(5);
				
				var theIsInArray = jQuery.inArray(theProductId, t_not);
				
				if (theIsInArray >= 0){ // Kolla om taggen redan finns i arrayn
					//alert(this);
					$('#post-' + theProductId).css('display','block');
					/*if (tmpi <= 5)
					{
						// Detta animerar
						$('#post-' + theProductId).show('slow');
						

					}
					else
					{
						// Detta visar direkt
						$('#post-' + theProductId).css('display','block');
					} */
				}
				else
				{
				$('#post-' + theProductId).css('display','none');
					/*if (tmpi <= 5)
					{
						// Detta animerar
						$('#post-' + theProductId).hide('slow');
						
					}
					else
					{
						// Detta tar bort direkt
						$('#post-' + theProductId).css('display','none');
					} */
				}
				
				tmpi++;
			}
			
		);
		
		
	}


/*
Kika efter om det finns på denna
*/

function check_combo()
{
	
	if (t_array.length > 0)
	{
		
		var theTagsQueryForTags = '?tag=' + t_array.join('+') + '&cat=' + this_cat;
		var myUrl = "http://www.fontana.se/wp-content/themes/fontanafood/ajax/get_num_tag_combo_rec.php" + theTagsQueryForTags;
		
		$.get(myUrl, { },
		function(data){
			
			var t_t_array = data.split("%");
			
			var i = 0;
			$('#ul_filter').children().each( 
			function(){
			
				var denna_tag = this.id;
				
				var tmp_a = 'a_' + denna_tag;
				var tmp_a_thing = document.getElementById(tmp_a);
				//alert(tmp_a);
				
				var tmp_antal = t_t_array[i];
				
				if (tmp_antal == 0)
				{
					tmp_a_thing.style.color = '#ccc';
				}
				else
				{
					tmp_a_thing.style.color = '#0c4da2';
				}
				i++
			});
		});
	
		
	}
	else
	{
		
		$('#ul_filter').children().each( 
			function(){
				var tmp_a_thing = document.getElementById('a_' + this.id);
				tmp_a_thing.style.color = '#0c4da2';
				
			}
		);
		
	}
}

/*
PRODUKT PAGE NAV
*/


	var isOkToMoveMove = 1;
	var isOkToMoveClick = 1;
	var num_slides = 0;
	var num_slide_clicks = 0;
	var theSlideSpeed = 200;
	var theEase = 'swing';
	//var current_slide = 1;
	
	function makePageBtnsClickable()
	{
		
		$('#wp_page_numbers').children().each( 
			function(){
				
				//$(this).find('a').css('display','none');
				
				//$(this).children('a').css('display','block');
				
				$(this).find('a').click(
				
					function() {
						
						pagination_action($(this));
						
					}
				
				);
				
			}
		);
	}
	
	function pagination_action(moi)
	{
		//alert(returnOkToMove());
		//$('#trace_box').text('num_slide_clicks: ' + num_slide_clicks + ' isOkToMoveMove: ' + isOkToMoveMove + ' returnOkToMove: ' + returnOkToMove() + ' num_slides: ' + num_slides);
		
		
		
		if(moi[0].id == 'previous')
		{
			tmp_this_page = (this_page - 1);
		}
		else if (moi[0].id == 'next')
		{
			tmp_this_page = (this_page + 1);
		}
		else
		{
			tmp_this_page = Number(moi[0].id);
		}
		
		if (returnOkToMove())
		{
			
			this_page = tmp_this_page;
			
			//$(moi).parent().parents().find("li").removeClass('active_page');
			//$(moi).parent().addClass('active_page');
			
			var tmp_pos = ((this_page-1) * 660);
			
			moveit('-' + tmp_pos + 'px');
			
			//alert(this_page);
			
			update_paging();
		
		}
	}
	
	function returnOkToMove()
	{
		var tmp_e = 0;
		
		
		if (tmp_this_page < 1)
		{
			tmp_e++;
		}
		
		if (tmp_this_page > num_slides)
		{
			tmp_e++;
		}
		
		if (tmp_e > 0)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	
	function moveit(direction)
	{	
		//isOkToMoveMove = 0;
		//$('#tracer_box').text('num_slide_clicks: ' + num_slide_clicks + ' isOkToMoveMove: ' + isOkToMoveMove + ' returnOkToMove: ' + returnOkToMove());
		//$("#gridwrapper").animate({ marginTop : direction }, theSlideSpeed, theEase, function(){ setOkToMove() });
		$("#gridwrapper").css('margin', direction + ' 0 0 0');
	}
	
	function setOkToMove()
	{
		isOkToMoveMove = 1;
		theSlideSpeed = 200;
		
		//$('#tracer_box').text('num_slide_clicks: ' + num_slide_clicks + ' isOkToMoveMove: ' + isOkToMoveMove + ' returnOkToMove: ' + returnOkToMove());
	}
	
	
	
	
	
	/*
	Eftersom det är bra att begränsa antalet anrop så lägger jag in varukorg grejen här också.
	*/
	
	$('#add2basket').click(function()
	{
		
		// Visar både Lappen och talriken.
		$('#myBasketNote').show('slow');
		$('#myBasketContent').show('slow');
		
		var theRid = $(this);
		theRid = theRid[0].rel;
		
		var num_portions = $('#ingredient-servings :selected').val();
		
		var url = 'http://www.fontana.se/wp-content/themes/fontanafood/ajax/recept.php';
		$.ajax({
			url : url,
			data : { action:"add2basket", rid:theRid, thePortions:num_portions },
			success : function(result){
				//alert(result);
				updateBasket();
			}
		});
		
	});
	
	function updateBasket()
	{
		// Sätter en timer för att dölja lappen efter 5 sek
		setTimeout(toggleRecipeToolTip,5000);
	}
	
	function toggleRecipeToolTip()
	{
		// Döljer lappen
		$('#myBasketNote').hide(400);
		
	}
	
	$('.clear_btn').click(
	function ()
	{
		var denna = $(this);
		thisPid = denna[0].rel;
		
		$('#produkt_' + thisPid).toggleClass('dontBuy');
	});
	
	
});

