var current_filter = '';

function intitializeArrows()
{
	$('move_left').style.backgroundPosition = '0 -48px';
	$('move_left').style.cursor = 'auto';
	
	$('move_right').style.backgroundPosition = '';
	$('move_right').style.cursor = 'pointer';
}

function filterStatus(clicked)
{	


	// reintiialize arrows
	intitializeArrows();
	
	var filters = new Array("food","drink","fictional","none");
	
	var i = '';
	for(i = 0; i < filters.length; i++)
	{
		$('filter_'+filters[i]).removeClassName('inactive');
		if(clicked==filters[i])
		{
			$('filter_'+filters[i]).addClassName('inactive');
			current_filter = filters[i];
		}
		
	}
		
}
function checkArrows(action, move)
{
		
		// check the position for the carrousel
		var handlepos = $('Recipes').getStyle('left');
		handlepos = handlepos.substr(0,(handlepos.length-2));

		// max able to move
		var max_moved = -($('Recipes').getWidth() - (3*86));		
		
		// move
		if(move=='right')
		{
			var next_position = parseFloat(handlepos)-86;
			// left side is atmax :)
			if ( next_position < max_moved)
			 {
				// set style of the button to inactive
				$('move_right').style.backgroundPosition = '0 -48px';
				$('move_right').style.cursor = 'auto';
			 }
			 else
			 {
				
				new Effect.Move('Recipes', { x: -86, y: 0, mode: 'relative', duration: 0.1 });
				$('move_left').style.backgroundPosition = '';
				$('move_left').style.cursor = 'pointer';
				if( (next_position-86) < max_moved)
				{
					$('move_right').style.backgroundPosition = '0 -48px';
					$('move_right').style.cursor = 'auto';
				}
				else
				{
					$('move_right').style.backgroundPosition = '';
					$('move_right').style.cursor = 'pointer';
					
				}
			 }			
		}
		
		if(move=='left')
		{
			var next_position = parseFloat(handlepos);
			if (next_position < 0)
			{
				
				if((next_position+86) < 0)
				{
					$('move_left').style.backgroundPosition = '';
					$('move_left').style.cursor = 'pointer';
				}
				else
				{
					
					$('move_left').style.backgroundPosition = '0 -48px';
					$('move_left').style.cursor = 'auto';
				}
				
				new Effect.Move('Recipes', { x: 86, y: 0, mode: 'relative', duration: 0.1 });	
				$('move_right').style.backgroundPosition = '';
				$('move_right').style.cursor = 'pointer';				 
			}
			else
			{
				$('move_left').style.backgroundPosition = '0 -48px';
				$('move_left').style.cursor = 'auto';
			}
		}
	
}


function filterRecipe(filter_type)
{
	if(current_filter != filter_type)
	{
		filterStatus(filter_type);
		var url = '/top_recipes.php?filter=' + filter_type;
		$('loading_recipes').show();
		$('RecipeHolder').hide();
		
		new Ajax.Request(url, { 
		 method: 'GET', 
			onComplete: function(transport) { 
	  			$('RecipeHolder').innerHTML = transport.responseText;
			    $('loading_recipes').hide();
				$('RecipeHolder').show();
				
				// check if there is no more then 3 items, to also deactivate right arrow
				var handlepos = $('Recipes').getStyle('width');
				handlepos = handlepos.substr(0,(handlepos.length-2));	
				if(parseFloat(handlepos) == 258)
				{
					$('move_right').style.backgroundPosition = '0 -48px';
					$('move_right').style.cursor = 'auto';				
				}
				
				// get all the contents of the RECIPES id
				var children = $$('#Recipes a');	
				var tooltip = '';
				//get the children and parse tooltips
				for (var b =0; b < children.length; b++ )
				{
					
					$(children[b].id).observe('mouseover', function()
					{			
						tooltip = $(this.id).getElementsByClassName('invisible_tooltip')[0].innerHTML;
						
						return overlib(tooltip);
					});	
					
					$(children[b].id).observe('mouseout', function()
					{	
						return nd();
	
					});	
					
					
				}

				
			 },
			onFailure: function (transport) {
			    $('loading_recipes').hide();
				$('RecipeHolder').show();
			}
		}); 
		
	}
}


function initialize()
{
	
	// initialize filter
	$('filter_none').addClassName('inactive');
	// initalize arrows
	
	

	// initialize the left & right buttons
	$('move_left').observe('click', function()
	{	
		checkArrows('', 'left');		
	});
	
	
	$('move_right').observe('click', function()
	{	
		checkArrows('', 'right');
	});
	
	$('move_left').removeAttribute("href");
	$('move_right').removeAttribute("href");
	
	
	// initialize the filter
	if($('filter_food') != undefined)
	{
		
		$('filter_food').removeAttribute("href");
		$('filter_food').observe('click', function()
		{				
			filterRecipe('food');
		});	
		
	}
	
	if($('filter_drink') != undefined)
	{
		$('filter_drink').removeAttribute("href");
		$('filter_drink').observe('click', function()
		{				
			filterRecipe('drink');
		});			
	}

	if($('filter_fictional') != undefined)
	{
		$('filter_fictional').removeAttribute("href");
		$('filter_fictional').observe('click', function()
		{				
			filterRecipe('fictional');
		});			
	}	
	
	if($('filter_none') != undefined)
	{
		$('filter_none').removeAttribute("href");
		$('filter_none').observe('click', function()
		{				
			filterRecipe('none');
		});			
	}
	
	filterRecipe('none');
}


Event.observe(window, 'load', function() {
  initialize();
  Cufon.replace('h2');
  
});

	
