$(function()
	{
		
	
	/* SLIDER */
	
	var CURRENT_POS = 1; // какая позиция сейчас показывается в слайдере
	var TOTAL_POS = 0; // всего позиций в слайдере
	var isSliding = false; // происходит ли сейчас перемещение
	var movePX = 910; // на сколько смещать
	
	$(".best_img").each(
		function()
			{
				TOTAL_POS++; // определяем количество позиций в слайдере
			}
	);
	
	// устанавливаем щирину главного контейнера
	
	$("#mega_slider_div").css("width", movePX*TOTAL_POS+"px"); 
	
	// Выставляем позиции всем слайдам
	
	for(var i=1; i<=TOTAL_POS; i++)
		{
			$("#slider_pos"+i).css("position", "absolute");
			$("#slider_pos"+i).css("top", "0");
			$("#slider_pos"+i).css("left", movePX*(i-1)+"px");
		}
		
	$("#slider_header_div").css("opacity", "0");

	CURRENT_POS = rnd(1, TOTAL_POS);
	$("#mega_slider_div").css("left", "-"+(CURRENT_POS-1)*movePX+"px");
	SetDot("#switch_"+CURRENT_POS);
	
	UpdatePosName();
	
	$("#slider_div").hover(
		function()
			{
				$("#slider_header_div").animate({"opacity": "1"}, 500);
			},
		function()
			{
				$("#slider_header_div").animate({"opacity": "0"}, 500);
			}
	);
	
	function UpdatePosName()
		{
			var name = $("#best_img_"+CURRENT_POS).attr("title");
			$("#name_div").html(name);
		}
	
	$("#left_btn_img").hover(
		function()
			{
				$(this).css("position", "absolute");
				$(this).css("left", "0");
				$(this).css("top", "0");
			},
		function()
			{
				$(this).css("position", "absolute");
				$(this).css("left", "0");
				$(this).css("top", "-57px");
			}
		);
	$("#right_btn_img").hover(
		function()
			{
				$(this).css("position", "absolute");
				$(this).css("left", "0");
				$(this).css("top", "0");
			},
		function()
			{
				$(this).css("position", "absolute");
				$(this).css("left", "0");
				$(this).css("top", "-57px");
			}
		);
		
	
	function Go2Right()
		{
			if(TOTAL_POS <= 1) {return;}
			isSliding = true;
			if(CURRENT_POS == TOTAL_POS)
				{
					SetDot("#switch_1");
					FreeDot("#switch_"+TOTAL_POS);
					CURRENT_POS = 1;
					$("#mega_slider_div").animate({"left":"0"}, 1000, Stop);
				}
			else
				{
					SetDot("#switch_"+(CURRENT_POS+1));
					FreeDot("#switch_"+CURRENT_POS);
					CURRENT_POS++;
					$("#mega_slider_div").animate({"left":"-="+movePX+"px"}, 1000, Stop);
				}
		}
	function Go2Left()
		{
			if(TOTAL_POS <= 1) {return;}
				
			isSliding = true;
			if(CURRENT_POS == 1)
				{
					SetDot("#switch_"+TOTAL_POS);
					FreeDot("#switch_"+CURRENT_POS);
					
					CURRENT_POS = TOTAL_POS;
					var Delta = (TOTAL_POS-1)*movePX;
					$("#mega_slider_div").animate({"left": "-="+Delta+"px"}, 1000, Stop);
				}
			else
				{
					SetDot("#switch_"+(CURRENT_POS-1));
					FreeDot("#switch_"+CURRENT_POS);
					CURRENT_POS--;
					$("#mega_slider_div").animate({"left":"+="+movePX+"px"}, 1000, Stop);
				}
		}
		
	$("#left_btn_div").click(Go2Right);
	$("#right_btn_div").click(Go2Left);
	
	$(".switcher_img").hover(
		function()
			{
				$(this).css("top", "-16px");
			},
		function()
			{
				$(this).css("top", "-32px");
			}
	);
	
	
	function SetDot(selector)
		{
			$(selector).css("top", "0");
			$(selector).hover(
				function()
					{
						$(this).css("top", "0");
					},
				function()
					{
						$(this).css("top", "0");
					}
			);
		}
		
	function FreeDot(selector)
		{
			$(selector).css("top", "-32px");
			$(selector).hover(
				function()
					{
						$(this).css("top", "-16px");
					},
				function()
					{
						$(this).css("top", "-32px");
					}
			);
		}
	
	function Go2Pos(pos)
		{
			CURRENT_POS = pos;
			var Delta = (pos-1)*movePX;
			
			$("#mega_slider_div").animate(
				{
					"left": "-"+Delta+"px"
				}, 1000, Stop);
		}
	
	function getPrefix(id)
		{
			var newID = id.split("switch_");
			return parseInt(newID[1]);
		}
		
	$(".switcher_img").click(
		function()
			{
				var index = getPrefix($(this).attr("id"));
				
				if(index == CURRENT_POS) {return;}
				
				SetDot("#switch_"+index);
				FreeDot("#switch_"+CURRENT_POS);
				Go2Pos(index);
			}
	);
	
	function Stop()
		{
			isSliding = false;
			UpdatePosName();
		}
		
	function rnd(n1,n2)
		{
			return n1 + Math.floor(Math.random() * (n2-n1+1));
		}
	
	/* SLIDER */
	
	});
