var positions = new Array();
var tocElements = new Array();
var higlightedElement;
var size = 0;

function getObj(name)
{
	return document.all? document.all[name]: document.getElementById(name)
}

function getWindowHeight()
{
	if (typeof(window.innerWidth) == 'number')
	{
		return window.innerHeight;
	}
	else if (document.documentElement &&
	         ( document.documentElement.clientWidth ||
	           document.documentElement.clientHeight ))
	{
		return document.documentElement.clientHeight;
	}
	else if (document.body &&
	         (document.body.clientWidth ||
	          document.body.clientHeight ))
	{
		return document.body.clientHeight;
	}
}


function onLoad()
{
}


function getAbsoluteOffsetTop(obj)
{
	var top = obj.offsetTop;
	var parent = obj.offsetParent;

	while (parent != document.body)
	{
		top += parent.offsetTop;
		parent = parent.offsetParent;
	}

	return top;
}


function scrollTo(n)
{
	location.href = '#' + n;
}


function showorhide(obj)
{
	var el = getObj(obj);
	var e2 = getObj(obj + ".img");

	if (e2)
	{
		if (el.style.display != "none")
		{
			el.style.display = 'none';
			e2.src = 'images/show.gif';
		}
		else
		{
			el.style.display = '';
			e2.src = 'images/hide.gif';
		}
	}
}

function expandall()
{
	var ids = document.getElementsByTagName('div');

	for (i = 0; i < ids.length; i++)
	{
		if (ids[i].id != "")
			if (ids[i].style.display == "none")
			{
				showorhide(ids[i].id);
			}
	}
}

function collapseall()
{
	var ids = document.getElementsByTagName('div');

	for (i = 0; i < ids.length; i++)
	{
		if (ids[i].id != "")
			if (ids[i].style.display != "none")
			{
				showorhide(ids[i].id);
			}
	}
}

		var items = new Array();
		var currentItem = new Array();
		var countItems = new Array();

		function initItems()
		{
			var elts = document.getElementsByTagName("*");

			for (i = 1; i < 9; i++)
			{
				var name = 'group' + i;
				items[name] = new Array();
				countItems[name] = 0;
				currentItem[name] = 0;
			}

			for (j = 0; j < elts.length; j++)
			{
				var namej = elts[j].className;

				if (namej.match(/group/g))
				{
					for (i = 1; i < 9; i++)
					{
						var name = 'group' + i;

						if (namej.match(new RegExp(name, "g")))
						{
							(items[name])[countItems[name]] = elts[j];

							if (countItems[name] == 0)
							{
								elts[j].style.opacity = 1.0;
								elts[j].style.display = 'inline';
							}
							else
							{
								elts[j].style.opacity = 0.1;
								elts[j].style.display = 'none';
							}

							countItems[name]++;
						}
					}
				}
			}

			nextIter();
		}

		var direction = 0.1;
		var fade = 0.1;

		function nextIter()
		{
			var waitValue = 100;

			fade = Number(fade) + Number(direction);

			for (i = 1; i < 9; i++)
			{
				var name = 'group' + i;

				if (countItems[name] > 1)
				{
					var itemsi = items[name];
					var j = currentItem[name] % countItems[name];
					var item1 = itemsi[j];

					if (fade > 0 && fade < 1)
					{
						setOpacity(item1, fade);
					}
					else
					{
						if (fade <= 0)
						{
							// switch

							currentItem[name]++;
							j = currentItem[name] % countItems[name];
							var item2 = itemsi[j];
							item1.style.display = 'none';
							setOpacity(item2, 0.1);
							item2.style.display = 'inline';
						}
						else
						{
							setOpacity(item1, fade);
							waitValue = 1000;
						}
					}
				}
			}

			if (fade <= 0)
			{
				direction = 0.1;
			}
			else if (fade >= 1)
			{
				direction = -0.1;
			}

			setTimeout('nextIter()', waitValue);
		}


		function setOpacity(o, value)
		{
			o.style.opacity = value;
			o.style.filter = 'alpha(opacity=' + value * 100 + ')';
		}

		setTimeout('initItems()', 5000);
