$(function() {
	function submenuReady() {
		$(this).find(".sub-content1").jScrollPane({
			verticalDragMinHeight: 19,
			verticalDragMaxHeight: 19,
			horizontalDragMinWidth: 87,
			horizontalDragMaxWidth: 87,
			hideFocus: true
		});
	}

	$(".main-menu-element").each(function() {
		var $element = $(this);
		var $submenu = $element.find(".sub-wrapper");
		var $sub     = $submenu.children(".sub");

		if ($sub.children(".selected").length) {
			$sub.show();
		}

		$element.find(".menu li").on("click", function(e) {
			e.preventDefault();

			var $clickedMenuItem = $(this);
			var id = $clickedMenuItem.data("id");
			var $block = $sub.find(".sub-content[data-id='" + id + "']");

			if ($clickedMenuItem.hasClass("selected")) {
				$clickedMenuItem.removeClass("selected");
				$submenu.children(".sub").filter(":visible").slideUp(200);
			} else {
				$clickedMenuItem.addClass("selected").siblings().removeClass("selected");

				if ($sub.is(":visible")) {
					$block.siblings(":visible").stop(false, true).fadeTo(200, 0.05, function() {
						$(this).css({
							display: "none",
							visibility: "hidden"
						});
						$block.css({
							display: "block",
							visibility: "hidden"
						}).fadeTo(0, 0.05);
						submenuReady.call($block);
						setTimeout(function() {
							$block.css("visibility", "visible").fadeTo(200, 1);
						}, 50);
					});
				} else {
					$block.show().siblings().hide();
					$sub.slideDown(200, function() {
						submenuReady.call($block);
					});
				}
			}
		});

		// @todo Переписать на цикл
		var popup = $(".all-site-popup");
		$element.find(".all").click(function(e) {
			$(".popup").hide();
			popup.show();
			e.stopPropagation();
			e.preventDefault();
		});
		$element.find(".all2").click(function(e) {
			popup.hide();
			e.stopPropagation();
			e.preventDefault();
		});
		
		$element.find(".all-site-popup").each(function() {
			var $popup = $(this);
			
			$popup.find(".overlay-close").click(function() {
				popup.hide();
			});

			$popup.find(".sub-menu a").click(function() {
				$popup.find(".sub-menu-content").hide();
				$popup.find("#sub-menu-content-" + $(this).attr("page_id")).toggle();
				$(this).parent().siblings().children("a").removeClass('selected');
				$(this).addClass('selected');
				return false;
			});
		});

		$element.find(".sub-wrapper .sub-item").not(".selected").on({
			mouseenter: function() {
				$(this).find(".sub-item-img").find(".hover").show();
			},
			mouseleave: function() {
				$(this).find(".sub-item-img").children(".hover").hide();
			}
		});
	});
});
