/* Author: Dariusz Małachowski */

(function($) {
	$.interval = null;	
	$.sothSlider = {
		
		_init: function(wrapper_class,direction,interval) {
			var box_width = $('.slider-box').width();
			var box_num = $('.slider-box').length;
			var width_wrapper = box_width * box_num;
			$wrapper = $('.'+wrapper_class);
			$wrapper.css('width',width_wrapper);
			
			switch(direction) {
				case 'left':
					sign = '1';
					position_left = 0;
				break;
				case 'right':
					sign = '-1';
					position_left = (box_num -1) * box_width * -1;
					$wrapper.css('left',position_left);
				break;
				default:
					sign = '1';
					position_left = 0;
				break;
			}
			
			$('.menu_click').click(function() {
				var rel = $(this).attr('rel');
				$.sothSlider.setCss();
				$(this).removeClass("menu_click_deactive");
				$(this).addClass("menu_click_selected");
				$.sothSlider.position(position_left, box_width, rel-1, sign, 'normal');
				clearInterval($.interval);
				return false;
			});
			
			$('.slider-next').click(function() {
				var selected_menu = $('.menu_click_selected');
				var rel = selected_menu.attr('rel');
				var next_rel = parseInt(rel);
				var box_num = $('.box').length;
				if(next_rel <= box_num-1) {
					$.sothSlider.setCss();
					$('.menu_click:eq('+next_rel+')').removeClass("menu_click_deactive");
					$('.menu_click:eq('+next_rel+')').addClass("menu_click_selected");
					$.sothSlider.position(position_left, box_width, next_rel, sign, 'normal');
				}
				clearInterval($.interval);
			});
			
			$('.slider-prev').click(function() {
				var selected_menu = $('.menu_click_selected');
				var rel = selected_menu.attr('rel');
				var next_rel = parseInt(rel) - 2;
				if(next_rel >= 0) {
					$.sothSlider.setCss();
					$('.menu_click:eq('+next_rel+')').removeClass("menu_click_deactive");
					$('.menu_click:eq('+next_rel+')').addClass("menu_click_selected");
					$.sothSlider.position(position_left, box_width, next_rel, sign, 'normal');
				}
				clearInterval($.interval);
			});
			
			if (interval!=false) {
				interval = parseInt(interval);
				
				$.sothSlider.fInterval(box_width, box_num, sign, position_left, interval);
			}
		},
		
		fInterval: function(box_width,box_num,sign, position_left, interval) {
			
			clearInterval($.interval);
			
			$.interval = setInterval(function() {
				var rel = $('.menu_click_selected').attr('rel');
				
				if(rel == box_num) {
					type = 'fast';
					rel = 0;
				}else
					type = 'normal';
				
				$.sothSlider.setCss();
				$('.menu_click:eq('+rel+')').removeClass('menu_click_deactive');
				$('.menu_click:eq('+rel+')').addClass('menu_click_selected');
				$.sothSlider.position(position_left, box_width, rel, sign, type);
								
			},interval);
		},
		
		position: function(position_left, box_width, rel, sign, type) {
			var box_position =  position_left - box_width * rel * sign;
			$(".box_wrapper").animate({"left": box_position}, type);
		},
		
		setCss: function() {
			$('a.menu_click').removeClass('menu_click_selected');
			$('a.menu_click').addClass('menu_click_deactive');
		}
		
	}	
	
})(jQuery);
