var g_iRibbonsQty = 3;
var g_iRibbonTimer = 0;
var g_iRibbonStep = 1;
var g_iRibbonSpeed = 100;
var g_iRibbonStartDelay = 1000;
var g_bRibbonDirection = true;
var g_iAdjust = 2;
var g_bAdjustingNow = false;
var g_bRibbonsAdjusted = false;
var g_sSearchFiller = "Поиск...";

function onColor(oElem)    {oElem.style.backgroundColor="#E8E8E8";}
function offColor(oElem)    {oElem.style.backgroundColor="#FFFFFF";}

function SubmitSearchQuery()
{
	var oSQ = document.getElementById("word");
	var oSForm = document.getElementById("searchform");
	if(oSQ==null || oSForm==null) return false;
	if(oSQ.value!="" || oSQ.value==g_sSearchFiller) oSForm.submit();
	return false;
}

function ExpandTab(oElem)
{
	if(oElem==null) return false;
	var sId = oElem.getAttribute("tabid");
	if(sId==null) return false;
	var oContainer = document.getElementById("ws_crosslinks_container");
	if(oContainer==null) return false;
	var oPane = document.getElementById("crosslink_body_" + sId);
	if(oPane==null) return false;
	var aDivs = oContainer.getElementsByTagName("div");
	for(var i=0; i<aDivs.length; i++)
	{
		if(aDivs[i].className=="crosslink_body") {
			aDivs[i].style.display = "none";
			continue;
		}
		if(aDivs[i].getAttribute("tabid")!=null)
		{
			aDivs[i].className = "crosslink_tab";
			continue;
		}
	}
	oPane.style.display = "block";
	oElem.className = "crosslink_tab_selected";
	return false;
}

function DisplayRibbon(oElem)
{
	if(oElem==null) return false;
	var oSource = oElem;
	var sToDisplay = oSource.getAttribute("ribbon");
	var iCnt = 0;
	if(sToDisplay==null)
	{
		do
		{
			oSource = oSource.parentNode;
			sToDisplay = oSource.getAttribute("ribbon")
			iCnt++;
			if(iCnt>2) return false;
		}
		while(sToDisplay==null)
	}
	var oCurrentTab = oElem.parentNode;
	iCnt = 0;
	do
	{
		oCurrentTab = oCurrentTab.parentNode;
		iCnt++;
		if(iCnt>3) return false;
	}
	while(oCurrentTab.tagName.toLowerCase()!="table")
	var sToHide = oCurrentTab.getAttribute("num");
	if(sToHide==null) return false;
	var oTabToDisplay = document.getElementById("ws_ribbon_tab_" + sToDisplay);
	var oRibbonToDisplay = document.getElementById("ws_ribbon_td_" + sToDisplay);
	var oRibbonToHide = document.getElementById("ws_ribbon_td_" + sToHide);
	if(oTabToDisplay==null || oRibbonToDisplay==null || oRibbonToHide==null) return false;
	StopRibbon(sToHide);
	oCurrentTab.style.display = "none";
	oRibbonToHide.style.display = "none";
	oTabToDisplay.style.display = "block";
	oRibbonToDisplay.style.display = "block";
	StartRibbon(sToDisplay);
	return false;
}

function OnLoadFunction()
{
	AdjustLayout();
	var oRibbon;
	for(var i=1; i<=g_iRibbonsQty; i++)
	{
		if(i==1) continue;
		oRibbon = document.getElementById("ws_ribbon_td_" + i.toString());
		if(oRibbon==null) continue;
		oRibbon.style.display = "none";
	}
	StartRibbon();
	return false;
}

function OnResizeFunction()
{
	if(!g_bAdjustingNow) AdjustLayout();
	return false;
}

function AdjustLayout()
{
	g_bAdjustingNow = true;
	var oContainer = document.getElementById("ws_main_container");
	if(oContainer==null) return false;
//	var oRibbonDiv = document.getElementById("ws_ribbon_div");
//	if(oRibbonDiv!=null) AdjustRibbons();
	var aCells = oContainer.getElementsByTagName("td");
	var aAdjust = new Array();
	var oTangle;
	for(var i=0; i<aCells.length; i++)
	{
		if(aCells[i].getAttribute("adjust")==null) continue;
		if(aCells[i].getAttribute("adjust")=="0")
		{
			aAdjust.push(aCells[i]);
			continue;
		}
		if(aCells[i].getAttribute("adjust")=="1") oTangle = aCells[i];
	}
	if(aAdjust.length<1 || oTangle==null) return false;
	var iFullHeight = GetWindowHeight();
	if(iFullHeight==0) return false;
	var iSum = 0;
	for(var i=0; i<aAdjust.length; i++)
	{
		iSum += aAdjust[i].offsetHeight;
	}
	var iHeight = iFullHeight - iSum - g_iAdjust;
	if(iHeight<=0) return false;
	oTangle.style.height = iHeight.toString() + "px";
	//alert(iHeight);
	g_bAdjustingNow = false;
	return false;
}

function AdjustRibbons()
{
	if(g_bRibbonsAdjusted) return false;
	var oRibbonDiv = document.getElementById("ws_ribbon_div");
	var aTables = oRibbonDiv.getElementsByTagName("td");
	var aRibbons = new Array();
	for(var i=0; i<aTables.length; i++)
	{
		if(aTables[i].className=="ribbon_cell") aRibbons.push(aTables[i]);
	}
	var iH = 0;
	var iMaxH = 0;
	for(var i=0;i<aRibbons.length; i++)
	{
		iH = aRibbons[i].offsetHeight;
		if(iH > iMaxH) iMaxH = iH;
	}
	if(iMaxH==0) return false;
	var sMaxH = iMaxH.toString() + "px";
	oRibbonDiv.style.height = sMaxH;
	for(var i=0;i<aRibbons.length; i++)
	{
		aRibbons[i].style.height = sMaxH;
	}
	iMaxH += 50;
	sMaxH = iMaxH.toString() + "px";
	oRibbonDiv.style.height = sMaxH;
	g_bRibbonsAdjusted = true;
	return true;
}

function GetWindowHeight()
{
	var iHeight = 0;
	if(self.innerHeight) iHeight = self.innerHeight;
	else if(document.documentElement && document.documentElement.clientHeight)
		iHeight = document.documentElement.clientHeight;
		else if(document.body)
			iHeight = document.body.clientHeight;
	return iHeight;
}

function StartRibbon()
{
	var oRibbonDiv = document.getElementById("ws_ribbon_div");
	if(oRibbonDiv==null) return false;
	g_oRibbon = oRibbonDiv;
	g_oRibbon.scrollLeft = 0;
	g_bRibbonDirection = true;
	g_iRibbonTimer = setTimeout("MoveRibbon()", g_iRibbonStartDelay);
	return false;
}

function PauseRibbon()
{
	clearTimeout(g_iRibbonTimer);
}

function ResumeRibbon()
{
	g_iRibbonTimer = setTimeout("MoveRibbon()", g_iRibbonSpeed);
}

function MoveRibbon()
{
	clearTimeout(g_iRibbonTimer);
	try
	{
		var iLeft = g_oRibbon.scrollLeft;
		var iSW = g_oRibbon.scrollWidth;
		var iOW = g_oRibbon.offsetWidth;
		if(iLeft >= iSW-iOW) g_bRibbonDirection = false;
		if(iLeft <= 0) g_bRibbonDirection = true;
		if(g_bRibbonDirection)
		{
			g_oRibbon.scrollLeft += g_iRibbonStep;
		}
		else
		{
			g_oRibbon.scrollLeft -= g_iRibbonStep;
		}
	}
	catch(e) {}
	g_iRibbonTimer = setTimeout("MoveRibbon()", g_iRibbonSpeed);
	return false;
}

function StopRibbon(sToStop)
{
	clearTimeout(g_iRibbonTimer);
}
