function declension(n, x1, x2, x5) {
    n = n % 100;
    if (n >= 10 && n <= 20) return x5;
    n = n % 10;
    if (n == 1) return x1;
    if (n == 0 || n >= 5) return x5;
    return x2;
}

function scrollUl(ul, direction) {
	$('.arrow-scrl').addClass('inact');

	var time     = 1000;
	var li       = $('li', ul);
	var offset   = parseInt(li.css('width')) + parseInt(li.css('margin-left')) + parseInt(li.css('margin-right'));
	var oldleft  = ul.css('left') == 'auto' ? 0 : parseInt(ul.css('left'));
	var ulchi    = ul.children('li');
	var ulparpar = ul.parent().parent();

	if(direction == 'right') {
		var i = 0;
		while(ulchi[i] && !(ulchi[i].className).match(/\binvis-r\b/gi)) i++;
		ulchi[i].className = (ulchi[i].className).replace(/\binvis-r\b/gi, '');

		ul.animate({left: oldleft - offset}, time);

		if(oldleft == 0)
			ulparpar.children('.left-arr').removeClass('left-arr-inact');

		setTimeout(function(){
			if(ul.children('li:not(.invis)').length == 4)
				ulparpar.children('.right-arr').addClass('right-arr-inact');

			var i = 0;
			while((ulchi[i].className).match(/\binvis\b/gi)) i++;
			ulchi[i].className += ' invis';

			$('.arrow-scrl').removeClass('inact');
		}, time);
	}
	else {
		var i = 0;
		while((ulchi[i].className).match(/\binvis\b/gi)) i++;
		ulchi[i - 1].className = (ulchi[i - 1].className).replace(/\binvis\b/gi, '');

		ul.animate({left: oldleft + offset}, time);

		if(ul.children('li:not(.invis)').length == 4)
			ul.parent().parent().children('.right-arr').removeClass('right-arr-inact');

		setTimeout(function(){
			if(oldleft + offset == 0)
				ul.parent().parent().children('.left-arr').addClass('left-arr-inact');

			var i = 0;
			while(ulchi[i] && !(ulchi[i].className).match(/\binvis-r\b/gi)) i++;
			ulchi[i - 1].className += ' invis-r';

			$('.arrow-scrl').removeClass('inact');
		}, time);
	}
}

$(function(){
	$("#a").click(function(){
		var p = $(this).parent();
		p.append('<span class="form"></span>');
		p = p.find('span');

		p.append("<label for='login'>Логин </label><input id='auth-login-enterer' type='text' value='' />");
		p.append("<label fot='passwd'>Пароль </label><input id='auth-passwd-enterer' type='password' value='' />");
		p.append("<input id='sub' type='image' src='/i/enter.png' value='Войти' />");

		function submitTopForm() {
			var l = $("input#auth-login-enterer").val();
			var p = $("input#auth-passwd-enterer").val();

			auth(l, p, function() { $("#error-message").fadeIn(500); });
		}

		$("#sub").click(function() {
			submitTopForm();
			return false;
		});

		$(this).remove();
		return false;
	});

	$("a[rel='external']").attr('target', '_blank');

	$("ul#rv").ulpager({
		pages_bar: $("div.video-pager ul#pages"),
		per_page: 10, /*2*/
		n: $("#next"),
		p: $("#prev"),
		n_inact_class: "right-arr-inact",
		p_inact_class: "left-arr-inact"
	});

	$("ul#srch").ulpager({
		pages_bar: $("div#srch-pg ul#pages"),
		per_page: 6,
		n: $("div#srch-pg #next"),
		p: $("div#srch-pg #prev"),
		n_inact_class: "right-arr-inact",
		p_inact_class: "left-arr-inact"
	});

	$('#search-text')
		.attr('defaultvalue', 'поиск')
		.focus(function(){
			if($(this).get(0).value == $(this).attr('defaultvalue'))
				$(this).get(0).value = '';
		})
		.blur(function(){
			if($(this).get(0).value == '')
				$(this).get(0).value = $(this).attr('defaultvalue');
		});

	$('#search').submit(function(){
		var textel = $('#search-text', this);
		if(textel.get(0).value == textel.attr('defaultvalue') || textel.get(0).value == '') {
			alert('Задайте строку поиска');
			return false;
		}
	});

	$('ul#nav li').each(function(){
		$(this).prepend('<div class="l"></div>').append('<div class="r"></div>');
	});

	$('ul#nav li').hover(function(){
		$(this).siblings('.active').addClass('ul-hovered').end().addClass('hovered');
	}, function(){
		$(this).siblings('.active').removeClass('ul-hovered').end().removeClass('hovered');
	});

	$('body.root .left-arr').addClass('left-arr-inact');
	if($('body.root #block-video-cont ul li').length < 4)
		$('body.root .right-arr').addClass('right-arr-inact');

	$('body.root .arrow-scrl').click(function(){
		if(!$(this).hasClass('inact')) {
			var block_video_div = $(this).parents('div#block-video');
			if (block_video_div) {
				if(($(this).hasClass('left-arr')) && (!$(this).hasClass('left-arr-inact'))) {
					scrollUl($('ul', block_video_div), 'left');
				}
				if(($(this).hasClass('right-arr')) && (!$(this).hasClass('right-arr-inact'))) {
					scrollUl($('ul', block_video_div), 'right');
				}
			}
		}
	});

	$('#block-video ul li div.cont-inner').hover(function(){
		var $p = $(this).parents('li').eq(0);
		$p.addClass('hovered');
	}, function(){
		var $p = $(this).parents('li').eq(0);
		$p.removeClass('hovered');
	});

	$('body.root').resizefont(function(){
		setTimeout(function(){
			var max_height = 0;
			$('#block-video ul li .video-info').each(function(i){
				var tmp = $(this).height();
				if (tmp > max_height) max_height = tmp;
			});

			$('#block-video ul li .video-info-spacer').height(max_height);
		}, 1);
	});

	$('#block-topics ul li div').hover(function(){
		$(this).parent('li').addClass('hovered');
	},function(){
		$(this).parent('li').removeClass('hovered');
	});

	$('ul.list-videos li').each(function(i){
		$(this)
			.children().wrapAll('<div class="cc"></div>').end()
			.prepend('<div class="cb"></div>');
		$(this)
			.children().wrapAll('<div class="c">').end()
			.prepend('<div class="t">')
			.append('<div class="b">').end();
		if($('body').hasClass('video')) {
			if(i > 2) $(this).addClass('minimized');
		}

	}).hover(
		function(){
			$(this).addClass('hovered');
		}, function(){
			$(this).removeClass('hovered');
		}

	).resizefont(function(){
		var objcc = $('.cc', this);
		var objcb = $('.cb', this);

		setTimeout(function() {
			var height = objcc.height() - 16;
			objcb.css('margin-bottom', -height);
			objcb.css('height', height);
		}, 10);
	});

	$('body.search ul.list-videos li .cc').click(function(){
		location = $('h3 a', this).attr('href');
	});

	$('body:not(.search) .minimize-ctrl, body:not(.search) .list-videos h3').click(function(){
		var li = $(this).parents('li');
		var liinfo = li.find('.list-video-info');

		liinfo.animate({opacity: "toggle", height: "toggle"}, {
			duration: 300,
			step: function() {
				$(this).trigger("resizefont");
			},
			complete: function() {
				li.toggleClass('minimized');
			}
		});

	});

	stars_mark = ['плохо', 'неудовлетворительно', 'удовлетворительно', 'хорошо', 'отлично'];
	$('ul.stars-mark li .bubble .inner .inner').each(function(i){
		$(this).html(stars_mark[i]);
		// equalize width for ies
		var width = $(this).width() + 33;
		$(this).parents('.bubble').width(width + "px");

	});

	$('ul.stars li').each(function(i){
		var parent = $(this).parents('ul.stars');

		$(this).hover(function(){
			var flagforvote = parent.hasClass('stars-for-vote');
			if(flagforvote) {
				// equalize left offset
				var left_offset_old = $(this).offset().left - $(this).parent().offset().left;
				var mark = $('ul.stars-mark li:eq('+ i + ')');
				var left_offset = left_offset_old - mark.find('.bubble').width() / 2 + 25;
				mark.css('margin-left', left_offset).addClass('shown');
			}
		}, function(){
			var flagforvote = parent.hasClass('stars-for-vote');
			if(flagforvote) {
				$('ul.stars-mark li:eq('+ i + ')').removeClass('shown');
			}
		});

	});

});

