
(function($) {

	$.fn.slideHorizontalTab = function (options) {
		var defaults = {
			restartDurationSlide : 2000,
			pauseDurationSlide : 3000,
			transitionDuration : 800,
			blockP : '',
			widthSlide : 0
		};

		var playTimerHomeSlide = 0;
		var playingSlide = 0;
		var activSlideId = null;
		var nextSlide = null;
		var firstSlide = null;
		var secondSlide = null;
		var lastSlide = null;
		
		var params = $.extend(defaults,options);

		function initSlide(){
			activSlideId = params.blockP.find('.slide.activ').attr('id');
			nextSlide = params.blockP.find('.slide:eq:1');
			
			firstSlide = params.blockP.find('.slide:first');
			secondSlide = params.blockP.find('.slide:eq:1');
			lastSlide = params.blockP.find('.slide:last');
			params.blockP.each(function(){

				params.blockP.find('.slide').each(function(){
					var slideEl = $(this);
					slideEl.find('a.action').each(function(){
						var aEl = $(this);
						aEl.unbind('click').click(function(){
							animateClickSlide(aEl);
							return false;
						});
					});
				});
				params.blockP.hover(function(){
					stopSlide();
				},function(){
					playSlide();
				});
			});
			playSlide();
		}

		function playSlide(){
			playingSlide = 1;
			playTimerHomeSlide = window.setTimeout(function(){animateAutoSlide()}, params.restartDurationSlide);
		}

		function stopSlide(){
			playingSlide = 0;
			if(playTimerHomeSlide != 0){ clearTimeout(playTimerHomeSlide); }			
		}

		function animateAutoSlide(){
			if(params.blockP.find('.slide').length > 1){
				if(params.blockP.find('.slide.right:first').length > 0){
					var elClick = params.blockP.find('.slide.right:first');
				}else{
					var elClick = params.blockP.find('.slide.left:first');
				}
				animateClickSlide(elClick);
				
				playTimerHomeSlide = window.setTimeout(function(){animateAutoSlide()}, params.pauseDurationSlide);
			}
		}

		function animateClickSlide(aElClick){

			var slideEl = aElClick.closest('div.slide');
			if(activSlideId != slideEl.attr('id')){
				if(slideEl.hasClass('left')){
					leftElMoveList = slideEl.nextAll('div.left');
					leftElMoveList.each(function(){
							var elLeft = ($(this).css('margin-left'));
							elLeft = (parseInt(elLeft.replace('px',''))+params.widthSlide)+"px";

							$(this).animate({marginLeft: elLeft},params.transitionDuration,'easeInOutCubic');
							$(this).removeClass('left');
							$(this).addClass('right');
					});
				}else{
					rightElMoveList = slideEl.prevAll('div.right');
					rightElMoveList.push(slideEl);
					rightElMoveList.each(function(){
							var elLeft = ($(this).css('margin-left'));
							elLeft = (elLeft.replace('px','')-params.widthSlide)+"px";
							$(this).animate({marginLeft: elLeft},params.transitionDuration,'easeInOutCubic');
							$(this).removeClass('right');
							$(this).addClass('left');
					});
				}
				slideEl.addClass('activ');
				$('#'+activSlideId).removeClass('activ');
				activSlideId = slideEl.attr('id');
			}
		}

		initSlide();
		return $(this);

	};

})(jQuery);

