$(document).ready(function()
{
	var sliderNum = 0; // номер текущего блока
	var sliderWidth = 484;
	
	var sliderBlock = 80;
	var sliderBlockH = 60;
	var sliderCount = $("#slider li").size(); // количество элементов в наборе
	var sliderMargin = 4; // ширина отступа от блока
	var sliderFull = sliderBlock + sliderMargin; // ширина блока + отступ от блока
	var sliderElem = sliderWidth / sliderFull; // Количество элементов помещающихся на линейку
	var sliderType = $("#slidertype").text(); // Тип (фото видео)
	var sliderBegin = 0;
	var sliderStart = 0;
	var sliderPrew = 1;
	var sliderStop = 0;

	var sliderI = (location.toString() + "#$").match(/#(.+)$/i)[1].replace(/#/, '').replace(/\$/, '');
	if (!sliderI) sliderI = $("#sliderstart").text();
	var sliderUrl = location.toString().match(/[^#]+/i)[0];

	$("#sshow").css("width", sliderWidth + "px");
	$("#slidermain").after("<div class='slider_ar' id='sliderprev'></div>");
	$("#slidermain").after("<div class='slider_ar' id='slidernext' style='margin-left:450px;'></div>");

	$(".metd").click(function(){method("d")});
	$(".metw").click(function(){method("w")});
	$(".metm").click(function(){method("m")});
	
	// Z
	year1 = '<span class="mall">Все</span>';
	day1 = '<span class="mall">Все</span>';
	hour1 = '<span class="mall">Все</span>';
	for (i=9; i<=20; i++) hour1 += "<span title='" + i + "'>" + i + "</span> ";
	for (i=2008; i<=2010; i++) year1 += "<span title='" + i + "'>" + i + "</span> ";
	for (i=1; i<=31; i++) day1 += "<span title='" + i + "'>" + i + "</span>";

	$("#llist").append('<p><span>Выбрать год</span></p><div id="ylist">' + year1 + '</div>');
	$("#llist").append('<p><span>Выбрать месяц</span></p><div id="mlist"><span class="mall">Все</span> <span title="3">Мар</span> <span title="4">Апр</span> <span title="5">Май</span> <span title="6">Июн</span> <span title="7">Июл</span> <span title="8">Авг</span> <span title="9">Сен</span> <span title="10">Окт</span> <span title="11">Ноя</span></div>');
	$("#llist").append('<p><span>Выбрать день</span></p><div id="dlist">' + day1 + '</div>');
	$("#llist").append('<p><span>Выбрать день недели</span></p><div id="wlist"><span class="mall">Все</span> <span title="1">Пн</span> <span title="2">Вт</span> <span title="3">Ср</span> <span title="4">Чт</span> <span title="5">Пт</span> <span title="6">Сб</span> <span title="0">Вс</span></div>');
	$("#llist").append('<p><span>Выбрать час</span></p><div id="hlist">' + hour1 + '</div>');
	$("#llist").append('<p><span>Показывать одно изображение в:</span></p><div id="tlist"><span title="i" class="msel">Минуту</span> <span title="h">Час</span> <span title="d">День</span> <span title="w">Неделю</span> <span title="m">Месяц</span></div>');
	$("#llist").append('<p><button id="sd">Обновить</button></p>');
	
	$("#ylist span, #mlist span, #wlist span, #dlist span, #hlist span").click(function()
	{
		if ($(this).attr("class") == "msel") $(this).removeClass("msel");
		else $(this).addClass("msel");
	});
	
	$("#llist p").click(function()
	{
		di = $(this).next();
		if (di.css("display") == "none") di.slideDown(400);
		else di.slideUp(400);
	});
	
	
	$(".mall").click(function()
	{
		vs = $(this).parent().find("span").size() - 1;
		ot = $(this).parent().find("span.msel").size();
		if (vs > ot) $(this).parent().find("span").addClass("msel");
		else $(this).parent().find("span").removeClass("msel");
	});
	
	// Нажатие на тип
	$("#tlist span").click(function()
	{
		$(this).parent().find("span").removeClass("msel");
		$(this).addClass("msel");
	});
	
	$("#sd").click(function()
	{
		sliderI = 1;
		$("#slider").empty();
		add(0, false);
		showItem(sliderBegin);
	});
	// Z
	
	// Подпись на главной панели
	if (sliderType == 'pics')
	{
		$("#slidermain").after("<p id='slideropa' style='margin-top:-28px;position:absolute;background-color:#000;width:" + sliderWidth + "px;height:28px;'></p><p id='slider-curtext' style='margin-top:-28px;padding-top:5px;position:absolute;color:#fff;width:" + sliderWidth + "px;height:35px;text-align:center;'></p>");
		$("#slideropa").css("opacity", 0.6);
	}

	add(0, false);
	showItem(sliderBegin);
	$("#elem").html(sliderI);

	$("#slider li").live("click", function(){
		var n = $("#slider li").index($(this));
		showItem(n);
	});

	//alert(sliderType);
	function showItem(i, speed)
	{
		//$("#slider li img").attr("src", "");
		ista = 4;
		ifin = 5;
		//alert(i + "=" + ista + "=" + ifin);
		for (j = i - ista; j < i + ifin; j++)
		{
			if ($("#slider li").eq(j).find("img").attr("src") == false)
			{
				$("#slider li").eq(j).find("img").attr("src", $("#slider li").eq(j).attr("title"));
			}
		}
		
		$("#slider").stop();
		
		if (sliderCount - i - 4 < sliderElem / 2 && sliderNum != i) add(0, true);
		if (i < sliderElem / 2 + 2 && sliderNum - i > 0)
		{
			if (add(1, true) != 11 && sliderPrew == 1) return;
		}

		if (i < sliderElem / 2) margin = 0;
		else if (i > sliderCount - sliderElem / 2 - 1) margin = (sliderFull * sliderCount - sliderWidth - sliderMargin + sliderFull) * -1;
		else margin = (i * sliderFull - (sliderWidth / 2 - sliderFull / 2)) * -1 - 40;
		
		if (!speed && speed !== 0) speed = 500;
		// Если нулевая скорость (при загрузке предыдущих изобращений)
		if (speed === 0) $("#slider").css("marginLeft", margin);
		else $("#slider").animate({"marginLeft": margin}, speed);

		$("#slider li").find("img").css({"opacity":"0.4", "border":0, "width":sliderBlock, "height":sliderBlockH}).eq(i).css({"opacity":1,"border":"2px solid #fff","width":sliderBlock-4 +"px","height":sliderBlockH-4 +"px","cursor":"default"});
		var src = $("#slider li").eq(i).find("img").attr("src");

		if (sliderType == 'pics')
		{
			//src = src.replace(/prew/, 'used');
			//$("#slidermain").empty();
			//$("#slidermain").after("<div id='mainp'></div><div id='mainn'></div>");
			$("#slidermain").html("<img src='" + src + "'/>");
			title = "Фото от " + month($("#slider li").eq(i).find("img").attr("alt"));
			$("#slider-curtext, #wtit").text(title);
		}
		else
		{
			$("#slidermain").html("<embed flashvars='file=http://www.wwf.ru/kronotsky/camera/" + src.substr(10, src.length).replace(/jpg/, 'flv') + "' type='application/x-shockwave-flash' src='/resource/player.swf' allowfullscreen='true' allowscriptaccess='always' width='484' height='390'/>");
		}

		sliderNum = i;
		
		if (sliderStart == 1) location.href = sliderUrl + "#" + $("#slider li").eq(i).find("img").attr("title");
		sliderStart = 1;

		sliderCount = $("#slider li").size();

		$("#elem").text(sliderCount);
		$("#curr").text(sliderNum);
		$("#time span").css({"border":"none", "padding":"0 2px","cursor":"pointer"}).eq(i).css({"border":"1px solid #d3c3ab","padding":"0 1px","cursor":"default"});

		if (sliderCount - sliderNum == 1) $("#slidernext").css("cursor", "default").css("background-image", "none");
		else $("#slidernext").css("cursor", "pointer").css("background-image", "url('/js/slider/next.gif')");
	}

	function add(rew, async)
	{
		if (sliderStop == 1)
		{
			reloadTime(sliderType);
			return;
		}
		sliderStop = 1;
		sliderCount = $("#slider li").size();
		if (!rew)
		{
			id = $("#slider li img").eq(sliderCount - 1).attr("title");
			rew = 0;
		}
		else id = $("#slider li img").eq(0).attr("title");
		
		if (!id) id = sliderI;

		par = readPar();
		
		block = limg = '';
		$.ajax({
			type: "GET",
			url: "/ajax/slider.php",
			async: async,
			dataType: "json",
			data: {type:sliderType,idp:id,rew:rew,fi:sliderCount,par:par},
			success: function(json)
			{
				//$("#msg1").append(json.sel + "<br/>");
				if (json.count == 0)
				{
					sliderPrew = 0;
					sliderStop = 0;
					return 11;
				}
				
				$.each(json.p, function(num, i)
				{
					if (sliderType == 'video')
					{
						file = i.file.replace(/used/, "orig");
						file = file.replace("flv", "jpg");
					}
					else
					{
						file = i.file;
						//limg += "<img style='width:30px;visibility:hidden;position:absolute;' src='" + file + "'/>";
					}
					//block += "<li><img src='" + file + "' title='" + i.id + "' alt='" + i.time + "'/><p>" + month(i.time, 1) + "</p></li>";
					block += "<li title='"+file+"'><img src='' title='" + i.id + "' alt='" + i.time + "'/><p>" + month(i.time, 1) + "</p></li>";
					//block += "<li title='"+i.id+"'><span title='"+i.time+"' alt='"+file+"'></span></li>";
				});
				if (rew) $("#slider").prepend(block);
				else $("#slider").append(block);
				
				//$("#limg").remove();
				//$("#sshow").after("<p id='limg'></p>");
				//$("#limg").append(limg);
				
				sliderCount = $("#slider li").size();
				
				$("#slider li").css("margin-right", sliderMargin + "px");
				reloadTime(sliderType);
				
				sliderStop = 0;
				if (rew) showItem(sliderNum + json.p.length - 1, 0);
	
				sliderBegin = json.pos;
			}
		});
	}
	
	$("#next, #slidernext, #mainn, #slidermain").live("click", function(){
		if (sliderNum < sliderCount - 1)
			showItem(sliderNum + 1);
	});

	$("#pre, #sliderprev, #mainp").click(function()
	{
		if (sliderNum > 0) showItem(sliderNum - 1);
		if (sliderNum == 0) add(1, true);
	});	
	
	$("#time span").live("click", function()
	{
		i = $("#time span").index(this) - 0;
		showItem(i);
	});
});

function delpx(str)
{
	return str.substr(0, str.length - 2);
}

function reloadTime(type)
{
	// Тип
	t = readPar()[5];
	
	
	$("#time").empty();
	var hh = dd = 0;
	
	if (type == 'video') type = 'Видео';
	else type = 'Фото';
	st = "<h3>" + type + "</h3>";
	
	$("#slider li").each(function(i)
	{
		datei = $(this).find("img").attr("alt");
		d = datei.substr(0, 8);
		h = datei.substr(9, 2);
		m = datei.substr(12, 2);
		if (t == 'd' || t == 'm' || t == 'w')
		{
			st = st + "<p>" + d + ' <span>' + h + ':' + m + "</span></p>";
			hh = h;
			dd = d;
		}
		
		else
		{
			if (dd != d)
			{
				if (i != 0) st = st + "</p></div>";
				st = st + "<div class='day'>" + month(d) + "</div>";
				hh = 25;
			}
			
			if (hh != h)
			{
				if (dd == d) st = st + "</p></div>";
				st = st + "<div><p class='hour'>" + h + "</p><p class='min'>";
			}
			st = st + "<span>" + m + "</span> ";
			hh = h;
			dd = d;
		}
	});
	var st = st + '</p></div>';
	$("#time").append(st);
}

function readPar()
{
	var n = new Array();
	$("#ylist, #mlist, #dlist, #hlist, #wlist").each(function(i)
	{
		n[i] = '';
		$(this).find("span.msel").not(".mall").each(function(j)
		{
			n[i] += "-" + $(this).attr("title");
		});
		n[i] = n[i].substr(1);
	});
	
	n[5] = $("#tlist span.msel").attr("title");
	//alert("Y: " + n[0] + "\nM: " + n[1] + "\nW: " + n[2] + "\nD: " + n[3] + "\nH: " + n[4]);
	return n;
}

function month(i, noyear)
{
	ar = new Array('', 'января', 'февр.', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сент.', 'окт.', 'ноября', 'декаб.');
	if (i > 0) return ar[i];
	else var ii = i.substr(3, 2) * 1;
	
	r = i.substr(0,2) + " " + ar[ii];
	
	if (!noyear) r = r + " 20" + i.substr(6, 20);
	else r = r + i.substr(8, 20);
	return r;
}