popuphide = 0;
compare_page = false;

menuTimeout = 0;

$(function() {
	$('.menu a.category').hover(function() {
		var category = $(this); 
		var offset = category.offset();
		var subcategory = $('#sub_' + category.attr('rel'));

		subcategory.css('top', offset.top + category.innerHeight()).css('left', offset.left).show();
		if (subcategory.innerWidth() < category.innerWidth())
			subcategory.width(category.innerWidth())
					
		}, function() {
			var obj = this;
			menuTimeout = setTimeout(function() {$('#sub_' + $(obj).attr('rel')).hide()}, 100);
		}
	);

	$('.menu .subcategories').hover(function() {
		clearTimeout(menuTimeout);
		
		$('#menu_' + $(this).attr('rel')).addClass('hoveractive').addClass('active');
		$(this).show()
	}, function() {
		var obj = this;

		menuTimeout = setTimeout(function() {
			$('#menu_' + $(obj).attr('rel')).removeClass('hoveractive').removeClass('active');
			$(obj).hide()
		}, 100);
	});
				
	$('.menu .subcategories div').hover(function() {
		$(this).addClass('active');
	}, function() {
		$(this).removeClass('active');
	}).click(function() {
		document.location = $('a', this).attr('href');
	});		
	
	$('#filter select').change(function() {
		$('#filter').submit();
	});
	
	$('#popup-close img').click(function() {
		$('#popup').hide();
	});
	
	$('#compare_top').click(function() {
		document.location = '/compare/';
	});
	
	$('#basket_top').click(function() {
		document.location = '/order/';
	});	

	$('div.compare a, div.compared a').click(function() {
		var obj = $(this);

		$.get(obj.attr('href'), function(data){

			  if (data != 'ok') {
				  alert(data);
				  return false;
			  }

			  obj.parent().toggleClass('compared');

			if (obj.html() == 'Удалить из сравнения') {
				if (compare_page) {
					document.location = document.location;
					return false;
				}

				obj.html('Добавить к сравнению');
				obj.attr('href', '/compare/add/' + obj.attr('rel'));
			} else {
				obj.html('Удалить из сравнения');
				obj.attr('href', '/compare/delete/' + obj.attr('rel'));
				
				showPopup('Товар добавлен к сравнению', 'Вы можете перейти на <a href="/compare/">страницу сравнения</a> для сравнения отобранных товаров.');
			}
		});

		return false;
	});
	
	$('.order-add').submit(function() {
		var obj = $(this);
		var mode = $('input[name=mode]', obj).val();
		if (mode == 'additem') {
			mode = 'removeitem';

			var action = '/order/additem';
			var img = '/public/images/base/remove-frombasket.gif';
			var button = 'Убрать из корзины';

			showPopup('Товар добавлен в корзину', 'Вы можете перейти в <a href="/order/">вашу корзину</a> для оформления и оплаты заказа');
		} else {
			mode = 'additem';

			var action = '/order/removeitem';
			var img = '/public/images/base/add-tobasket.gif';
			var button = 'Добавить в корзину';
		}

		$.post(action, { id: $('input[name=id]', obj).val(), quantity: $('input[name=quantity]', obj).val() }, function (data) {
			$('input.submit', obj).attr('src', img);
			$('input.submit', obj).val(button);
			$('input[name=mode]', obj).val(mode);
		});

		return false;
	});
});
		
function getMorfForm(val, forms, plural) {
	val = Math.floor(val % 100);
	var last = val % 10,
		idx = ((0 == last) || (4 < last) || ((10 < val) && (20 > val)) || (plural && (1 != last)))
			? 2
			: (((1 == last) && !plural) ? 0 : 1); 
	return forms[Math.min(idx, forms.length - 1)];
}

function showPopup(title, message) {
	clearTimeout(popuphide);

	var popup = $('#popup');
	$('h4', popup).html(title);
	$('div.text', popup).html(message);
	var main = $('div.main');
	var h = $(document.window).scrollTop();
	var topPadding = popup.css('top');

	popup.css('left', main.offset().left + main.width() / 2 - popup.width() / 2);
	popup.css('top', h + 300);

	popup.show('fast');

	popuphide = setTimeout("$('#popup').hide('fast')", 3000);
}