var exId = '';
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
  
  exA = document.getElementById("ex_"+exId);
  if (exA != "undefined" && exA != null)
  	exA.style.textDecoration = "none";
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	exId = MM_swapImage.arguments[0];

  exA = document.getElementById("ex_"+exId);
  if (exA != "undefined" && exA != null)
  	exA.style.textDecoration = "underline";
}

function onInit()
{
	var highlight = _GET("highlight");
	if (highlight)
	{
		x = document.getElementById("content");
		highlightText(highlight, "highlighted", x);
	}
}

function printPage(url)
{
	if (g_printObjectIframe == null)
	{
		g_printObjectIframe = document.createElement("iframe");
		g_printObjectIframe.style.height = "0px";
		g_printObjectIframe.style.width = "0px";
		g_printObjectIframe.style.opacity = "0.0";
		g_printObjectIframe.style.position = "absolute";
		g_printObjectIframe.style.top = "0px";
		g_printObjectIframe.style.left = "0px";
		g_printObjectIframe.src = url;
		
		document.body.appendChild(g_printObjectIframe);
	}
	else
		g_printObjectIframe.contentWindow.location.reload();
}

function onLoadGooglemap(widget)
{
	widget.gmap.addControl(new GLargeMapControl());
	widget.gmap.addControl(new GMapTypeControl());
}

function checkSearchField()
{
	if (document.getElementById("searchField").value.length > 0)
	{
		document.getElementById("searchForm").submit();
		return false;
	}
}

function resize()
{
	var dim = getScreenDimensions(window);
	var x = document.getElementById("f");
	x.height = (dim.availHeight);
}

function showForwardPreview()
{
	var message = document.getElementById("forward_message");
	var preview = document.getElementById("forward_preview");
	
	message.style.display = "none";
	preview.style.display = "block";
	
	document.getElementById("previewTo").innerHTML = document.getElementById("nameTo").value;
	document.getElementById("previewFrom").innerHTML = document.getElementById("nameFrom").value;
}

var Event = {
	add: function(obj,type,fn) {
		if (obj.attachEvent)
		{
			obj['e'+type+fn] = fn;
			obj[type+fn] = function() { obj['e'+type+fn](window.event); }
			obj.attachEvent('on'+type,obj[type+fn]);
		} 
		else
			obj.addEventListener(type,fn,false);
	},
	remove: function(obj,type,fn) {
		if (obj.detachEvent)
		{
			obj.detachEvent('on'+type,obj[type+fn]);
			obj[type+fn] = null;
		}
		else
			obj.removeEventListener(type,fn,false);
	}
}

var parentArr = new Array();
function initTree()
{
	var root = document.getElementById("indexTree");
	recurTree("none", root.childNodes);
}

function recurTree(parent, tree)
{
	for (var i = 0; i < tree.length; i++)
	{
		if (tree[i].innerHTML != undefined && tree[i].childNodes[1] != undefined)
		{
			var root = tree[i].childNodes[1];
			parentArr[root.id] = parent;

			Event.add(tree[i].childNodes[0],'click',function() { foldIndex(this); });

			recurTree(root.id, root.childNodes);
		}
	}
}

function foldIndex(link)
{
	var node = link.nextSibling;
		
	if (node.style.display == "block")
	{
		node.style.display = "none";
		recurFold(node.childNodes);
	}
	else if (node != undefined)
	{
		node.style.display = "block";
		if (parentArr[node.id] == "none")
			node.parentNode.className = "rootItem activeRootItem";
		
		var activeRoot = document.getElementById("activeRootItem");
		checkRoot(activeRoot, node);
		
		var uls = document.getElementsByTagName("ul");
		for (var i = 0; i < uls.length; i++)
		{
			if (uls[i].className == "index" && parentArr[uls[i].id] == parentArr[node.id] && uls[i].id != node.id)
			{
				if (parentArr[uls[i].id] == "none")
					uls[i].parentNode.className = "rootItem";
				
				if (uls[i].style.display == "block")
				{
					uls[i].style.display = "none";
					recurFold(uls[i].childNodes);
				}
			}
		}
	}

	return false;
}

function checkRoot(activeRoot, node)
{
	if (parentArr[node.id] != "none")
	{
		var x = document.getElementById(parentArr[node.id]);
		checkRoot(activeRoot, x);
	}
	else if (activeRoot != node.parentNode)
	{
		activeRoot.className = "rootItem";
	}
}

function recurFold(tree)
{
	for (var i = 0; i < tree.length; i++)
	{
		if (tree[i].innerHTML != undefined && tree[i].childNodes[1] != undefined)
		{
			var root = tree[i].childNodes[1];
			
			root.style.display = "none";

			recurFold(root.childNodes);
		}
	}
}