// Java Script
/**
  * Событие jQuery - Слайдер
  *
  * Назначается для родительского элемента слайдера
  * Родительский элемент должен включать кнопки для листания и сами слайды
  *
  * @param autoRotate : елси true, то будет ратироваться вручную
  * @param rotateSpeed : скорость ротации в мс
  * @param fadeSpeed : скорость анимации
  * @param butSellector : селектор блока с кнопками
  * @param childSelector: селектор слайдов
  * @param butsChildSelector: селектор кнопок
  * @param sliderMarginBottom : отступ слайдера от нижнего контента
  * @param sliderMarginTop : отступ слайдера сверху
  */
  
(function(){

var option = new Array();
var _sldr = new Array();
var _bttns = new Array();

$.fn.MiniSlider = function( options, ident )
{
	if( typeof options != "object" ) return false;
	_sldr[ident] = $(this);

	option[ident] = options; //$.fn.extend(
									//$.fn.MiniSlider.Default,
		                        //    options,
								//	{}
								//	);
										
	option[ident].maxItems = _sldr[ident].children(option[ident].childSelector).length;
	option[ident].curElement = 0;
	
	_bttns[ident] = $(option[ident].butSellector).children(option[ident].butsChildSelector);
	
	var maxHeight = 0;
	_sldr[ident].children(option[ident].childSelector).each(function()
																		{
																			localHeight = $(this).height();
																			if( localHeight > maxHeight ) maxHeight = localHeight;
																		})
	if( maxHeight > 0 ) _sldr[ident].height(maxHeight);
	_sldr[ident].css("marginTop", option[ident].sliderMarginTop + "px").css("marginBottom", option[ident].sliderMarginBottom + "px");
	
	if( typeof _bttns[ident] != "undefined" )
	{
		_bttns[ident].each(
										function( i )
										{
											if( i  == option[ident].maxItems) i = 0;
											$(this).bind("click", function(){$.fn.MiniSlider.Slide(i, ident);});
										}
									)
	}
	if( opts.autoRotate ) $.fn.MiniSlider.Rotate(true, ident);
};
$.fn.MiniSlider.Slide = function( i, ident )
{
	var _els = _sldr[ident].children(option[ident].childSelector).get();
    if( $(_els[i]).is(":hidden") )
    {
    	if( option[ident].curElement > i && i != 0 ) 
    	{
    		predInd = option[ident].curElement;
    	}
    	else if( option[ident].curElement == (option[ident].maxItems - 1) && i == 0 ) 
    	{
    		predInd = option[ident].maxItems - 1;
    	}
    	else
    	{
    		predInd = option[ident].curElement;
    	}
    	option[ident].curElement = i;
    	
    	$(_els[predInd]).fadeOut(
    									  option[ident].fadeSpeed,
    									  function(){$(_els[option[ident].curElement]).fadeIn(option[ident].fadeSpeed)}
    									  );
    									  
		var _buttons = _bttns[ident].get(); 								  
   		$(_buttons[predInd]).removeClass("dark").addClass("white");
   		$(_buttons[option[ident].curElement]).removeClass("white").addClass("dark");
   		
   		for( var i = 0; i < option[ident].maxItems; i++ )
   		{
   			if( i != option[ident].curElement)
   			{
   				if( $(_buttons[i]).attr("class") == "dark" )  $(_buttons[i]).removeClass("dark").addClass("white");
   				if( $(_els[i]).is(":visible") )  $(_els[i]).fadeOut();
   			}
   		}
    }
};
$.fn.MiniSlider.Rotate = function( start, ident )
{

	if( !option[ident].autoRotate ) return false;
	
	if( !start )
	$.fn.MiniSlider.Slide( (option[ident].curElement + 1) == option[ident].maxItems  ? 0 : option[ident].curElement + 1, ident );
	
	setTimeout(function(){$.fn.MiniSlider.Rotate(false, ident)}, option[ident].rotateSpeed);
}

$.fn.MiniSlider.Default = {
											autoRotate: true,
											rotateSpeed: 2000,
											fadeSpeed: 300,
											butSellector: "button",
											childSelector: "li",
											butsChildSelector: "li",
											sliderMarginTop: 20,
											sliderMarginBottom: 20
											};
$.fn.MiniSlider.Init = function()
{
}
$(document).ready(function(){$.fn.MiniSlider.Init});
})(jQuery)

