(function($)
{
	$.fn.HorizontalAccordion = function(settings)
	{
		var config = {
			'minXValue': 37,
			'animationTime': 800,
			'animationEasing': 'easeOutExpo',
			'selectedItem': 0
			};
 
		if (settings) { $.extend(config, settings); }
		settings = config;
		
		
		this.each(function(idx)
		{
			var children = $(this).children('div');
			
			children.each(function(idx) {
				$(this).addClass("horizontalAccordionItem");
				
				selectItem(children.eq(settings.selectedItem));
				
				$(this).children("a.slideBtn").click(function(e)
				{
					e.preventDefault();
					selectItem($(this).parent(".horizontalAccordionItem"));
				});
			});
			
			$(this).append("<div class='clear'></div>");
			
			
			
			
			
			/*////////////////////////////////// FUNCTIONS //////////////////////////////////*/
			
			var selectedIdx;
			
			function selectItem(item)
            {
				var currIdx = children.index(item);
				
				if (selectedIdx == currIdx)
					return;
				
				selectedIdx = currIdx;
				
				var currX = 0;
				var pos = [];
				
				children.each(function(idx) {
					pos[idx] = currX;
					
					if (currIdx == idx)
						currX += $(this).width();
					
					else
						currX += settings.minXValue;
				});
				
				
                children.each(function(idx)
                {
					// FADE OUT CONTENT
					$(this).children(".slideContent, .bgPlate").stop().animate(
					{
						opacity: children.index(item) == idx ? 1 : 0
						//opacity: 0
					},
					{
						duration: settings.animationTime,
						easing: settings.animationEasing
						
					});
					
					
					// DO SLIDE
					$(this)
					.css({
						"position": "absolute",
						"top": 0
					})
					.stop().animate({
						left: pos[idx]
					},
					{
						duration: settings.animationTime,
						easing: settings.animationEasing,
						complete: function()
						{
							if (currIdx == idx)
							{
								$(this).removeClass("inactiveHorizontalAccordionItem");
								$(this).addClass("activeHorizontalAccordionItem");
							}
							else
							{
								$(this).removeClass("activeHorizontalAccordionItem");
								$(this).addClass("inactiveHorizontalAccordionItem");
							}
						}
					});
					
					
					
                });
                
                
                
            }
            
            
            
            
            
            
			
			
		});
	};
})(jQuery);
