var ADDITION_JS = new Object();
ADDITION_JS.ini = function()
{
ADDITION_JS.MenuGorizont.ini();	
}


/* Горизонтальное меню */
ADDITION_JS.MenuGorizont = new Object();

ADDITION_JS.MenuGorizont.clickedOnSecondLink = false;
ADDITION_JS.MenuGorizont.lastShowSubMenu = false;
ADDITION_JS.MenuGorizont.lastShowMenu = false;
ADDITION_JS.MenuGorizont.closetimer = 0;

ADDITION_JS.MenuGorizont.ini = function()
{
$("#menuGorizont > UL > LI").bind("mouseover", ADDITION_JS.MenuGorizont.mouseOverOnFirst);
$("#menuGorizont > UL > LI").bind("mouseout", ADDITION_JS.MenuGorizont.mouseOutOnFirst);

$("#menuGorizont LI LI").bind("click", ADDITION_JS.MenuGorizont.clickToSecondLink);
$("#menuGorizont LI").bind("click", ADDITION_JS.MenuGorizont.clickToFirstLink);
}

ADDITION_JS.MenuGorizont.clickToFirstLink = function()
{
	if(ADDITION_JS.MenuGorizont.clickedOnSecondLink == true)
	{
	ADDITION_JS.MenuGorizont.clickedOnSecondLink = false;
	location.href = $(this).find("A").get(0).href;
	}
	else
	{
	location.href = $(this).find("A").get(0).href;
	}

return false;
}

ADDITION_JS.MenuGorizont.clickToSecondLink = function()
{
ADDITION_JS.MenuGorizont.clickedOnSecondLink = true;
return false;
}

ADDITION_JS.MenuGorizont.mouseOverOnFirst = function()
{
var isNowShowMark = $(this).attr("isNowShowMark");

	if(isNowShowMark != "true")
	{
	ADDITION_JS.MenuGorizont.hideNow();
	}

ADDITION_JS.MenuGorizont.cancelTimer();	

var ul = $(this).find("UL");
var isNowShowSubMenu = ul.attr("isNowShowSubMenu");

	if(isNowShowSubMenu != "true")
	{
	ADDITION_JS.MenuGorizont.closeSubMenu();
	}

var positions = ADDITION_JS.MenuGorizont.getElementPosition($(this).get(0));
var widthDocument = $(document).width();
var widthUl = $(this).find("UL").width() + parseInt($(this).find("UL").css("paddingRight"), 10) + parseInt($(this).find("UL").css("paddingLeft"), 10);
var widthLi = $(this).width() + parseInt($(this).css("paddingRight"), 10) + parseInt($(this).css("paddingLeft"), 10);
var widthIfRight = positions.left + widthUl;

	if(widthIfRight < widthDocument)
	{
	ul.css("left", positions.left - 1);
	}
	else
	{
	var ots = widthUl - widthLi;
	ul.css("left", positions.left - 1 - ots);
	}

ul.css("top", positions.top + 44);
	
ul.css("zIndex", 40);

	if(ul.is(":hidden") == true)
	{
	ul.slideDown(300);
	}
	
$(this).addClass("mark");

ul.attr("isNowShowSubMenu", "true");
$(this).attr("isNowShowMark", "true");
ADDITION_JS.MenuGorizont.lastShowSubMenu = ul;
ADDITION_JS.MenuGorizont.lastShowMenu = $(this);
}

ADDITION_JS.MenuGorizont.mouseOutOnFirst = function()
{
ADDITION_JS.MenuGorizont.closetimer = window.setTimeout(ADDITION_JS.closeAndHide, 500);
}

ADDITION_JS.MenuGorizont.cancelTimer = function()
{
	if(ADDITION_JS.MenuGorizont.closetimer)
	{
	window.clearTimeout(ADDITION_JS.MenuGorizont.closetimer);
	ADDITION_JS.MenuGorizont.closetimer = null;
	}
}

ADDITION_JS.closeAndHide = function()
{
ADDITION_JS.MenuGorizont.closeSubMenu();
ADDITION_JS.MenuGorizont.hideNow();
}

ADDITION_JS.MenuGorizont.closeSubMenu = function()
{
	if(ADDITION_JS.MenuGorizont.lastShowSubMenu)
	{
	ADDITION_JS.MenuGorizont.lastShowSubMenu.attr("isNowShowSubMenu", "false");
	ADDITION_JS.MenuGorizont.lastShowSubMenu.css("zIndex", 39);
	ADDITION_JS.MenuGorizont.lastShowSubMenu.slideUp(250);
	}
}

ADDITION_JS.MenuGorizont.hideNow = function()
{
	if(ADDITION_JS.MenuGorizont.lastShowMenu)
	{
	ADDITION_JS.MenuGorizont.lastShowMenu.attr("isNowShowMark", "false");
	ADDITION_JS.MenuGorizont.lastShowMenu.removeClass("mark");
	}
}


ADDITION_JS.MenuGorizont.getElementPosition = function(objElement)
{
var offsetLeft = 0;
var offsetTop = 0;

	while(objElement)
	{
	offsetLeft += objElement.offsetLeft;
	offsetTop += objElement.offsetTop;
	objElement = objElement.offsetParent;	
	}

return {left:offsetLeft, top:offsetTop};
}


$(document).ready(ADDITION_JS.ini);
