var Filter = 
{
	/*	
		START------------------------------------------------------------------------------------------
		
		Name	: Filter.js
		Version	: 1.0
		Author	: Henrik Andersen
		Mail	: Henrik@vectorpanic.com
		Date	: 2009-08-25 07:39
		
		SYNTAX-----------------------------------------------------------------------------------------
		
		DESCRIPTION------------------------------------------------------------------------------------
			
		TO DO'S----------------------------------------------------------------------------------------
				
		END--------------------------------------------------------------------------------------------
	*/
	
	active	: false,
	current	: null,
	
	// CONSTRUCTOR FUNCTION
	
	/*------------------------------------------------------------------------------------------------
	init:								
	This function is thought to act as a class constructor.
	------------------------------------------------------------------------------------------------*/
	init : function()
	{
		Filter.initUI();
		Filter.initGlobalEvents();
	},
	
	// PRIVATE FUNCTIONS
	
	/*------------------------------------------------------------------------------------------------
	initUI:								
	DESC.
	------------------------------------------------------------------------------------------------*/
	initUI : function()
	{
		var elmMenu = $('#menu');
		
		elmMenu.append('<li><a class="twitter-btn elm-btn btn-active"	title="Twitter" href="">Twitter</a></li>');
		elmMenu.append('<li><a class="flickr-btn  elm-btn" 	title="Flickr"	href="">Flickr</a></li>');
		elmMenu.append('<li><a class="vimeo-btn   elm-btn" 	title="Vimeo"	href="">Vimeo</a></li>');
		
		elmMenu = null;
	},
	
	/*------------------------------------------------------------------------------------------------
	initGlobalEvents:								
	DESC.
	------------------------------------------------------------------------------------------------*/
	initGlobalEvents : function()
	{
		$(".elm-btn").click(function(event)
		{
			event.preventDefault();
			Filter.filterContent(event);
		});
	},
	
	/*------------------------------------------------------------------------------------------------
	filterContent:								
	DESC.
	------------------------------------------------------------------------------------------------*/
	filterContent : function(event)
	{
		if(Filter.active && Filter.current == event.target.title)
		{
			$('.elm-btn').css("background-position", "0 0");
			$('.elm-btn').addClass('btn-active');
			Filter.resetHighlights();
		}
		else
		{
			
			$('.elm-btn').css("background-position", "0 0");
			$(event.target).css("background-position", "0 -50px");
			
			Filter.setHighlights(event);
		}
	},
	
	/*------------------------------------------------------------------------------------------------
	setHighlights:								
	DESC.
	------------------------------------------------------------------------------------------------*/
	setHighlights : function(event)
	{
		var strService 	= event.target.title;
		var elmFlickr	= $('.flickr');
		var elmTwitter	= $('.twitter');
		var elmVimeo	= $('.vimeo');
		var elmAbout	= $('.about');
		var strSpeed	= 'slow';
		
		switch(strService)
		{
			case 'Flickr':
				 elmFlickr.animate({opacity:	 1}, strSpeed);
				 elmTwitter.animate({opacity: 0.15}, strSpeed);
				 elmVimeo.animate({opacity:	  0.15}, strSpeed);
				 elmAbout.animate({opacity:	  0.15}, strSpeed);
				 break;
			
			case 'Twitter':
				 elmTwitter.animate({opacity:	 1}, strSpeed);
				 elmFlickr.animate({opacity:  0.15}, strSpeed);
				 elmVimeo.animate({opacity:	  0.15}, strSpeed);
				 elmAbout.animate({opacity:	  0.15}, strSpeed);
				 break;
			
			case 'Vimeo':
				 elmVimeo.animate({opacity:	 	 1}, strSpeed);
				 elmFlickr.animate({opacity:  0.15}, strSpeed);
				 elmTwitter.animate({opacity: 0.15}, strSpeed);
				 elmAbout.animate({opacity:	  0.15}, strSpeed);
				 break;
		}
		
		Filter.active	= true;
		Filter.current	= strService;
		
		elmFlickr		= null;
		elmTwitter		= null;
		elmVimeo		= null;
		elmAbout		= null;
	},
	
	/*------------------------------------------------------------------------------------------------
	resetHighlights:								
	DESC.
	------------------------------------------------------------------------------------------------*/
	resetHighlights : function(event)
	{
		Filter.active	= false;
		Filter.current	= null;
		
		var elmPost		= $('.post');
		
		elmPost.animate({opacity: 1}, 'slow');
	}
}
