/*
 * BlockLayer JavaScript Functions Library v1.02
 *
 * Copyright © 2002-2005 Gerard Krijgsman. All rights reserved.
 * Do not distribute this file whole or in part without permission.
 */

var blocklayercount = 0;
var blocklayerhandles = new Array();
var blocklayerstatus = new Array();
var blocklayermode = new Array();
var smartlayers = new Array();

function RegisterBlockLayer(handle,status,mode)
{
	blocklayerhandles[blocklayercount] = handle;
	blocklayerstatus[blocklayercount] = status;
	blocklayermode[blocklayercount] = mode;
	blocklayercount++;
}

function FindBlockLayer(handle)
{
	var result = -1;
	if (blocklayercount > 0)
	{
		for (var i = 0; i < blocklayercount; i++)
		{
			if (blocklayerhandles[i] == handle)
				result = i;
		}
	}
	return result;
}

function SwitchBlockLayer()
{
	if (arguments.length > 0)
	{
		var j = 0;
		for (var i = 0; i < arguments.length; i++)
		{
			j = FindBlockLayer(arguments[i]);
			if (blocklayerstatus[j] == "")
			{
				document.getElementById(arguments[i]).style.display = "none";
				blocklayerstatus[j] = "none";
			}
			else
			{
				document.getElementById(arguments[i]).style.display = "";
				blocklayerstatus[j] = "";
			}
		}
	}
}

function ShowBlockLayer()
{
	if (arguments.length > 0)
	{
		var j = 0;
		for (var i = 0; i < arguments.length; i++)
		{
			j = FindBlockLayer(arguments[i]);
			document.getElementById(arguments[i]).style.display = "";
			blocklayerstatus[j] = "";
		}
	}
	else
	{
		for (var i = 0; i < blocklayercount; i++)
			ShowBlockLayer(blocklayerhandles[i]);
	}
}

function HideBlockLayer()
{
	if (arguments.length > 0)
	{
		var j = 0;
		for (var i = 0; i < arguments.length; i++)
		{
			j = FindBlockLayer(arguments[i]);
			document.getElementById(arguments[i]).style.display = "none";
			blocklayerstatus[j] = "none";
		}
	}
	else
	{
		for (var i = 0; i < blocklayercount; i++)
			HideBlockLayer(blocklayerhandles[i]);
	}
}

function ShowBlockLayerMode(mode)
{
	HideBlockLayer();
	for (var i = 0; i < blocklayercount; i++)
		if (blocklayermode[i] == mode)
			ShowBlockLayer(blocklayerhandles[i]);
}

function SmartLayer()
{
	var f = arguments[0];
	var limit = arguments[1];
	if ((smartlayers[f] != "show") && (smartlayers[f] != "hide") && (f == 1))
		smartlayers[f] = "hide";
	if ((smartlayers[f] != "show") && (smartlayers[f] != "hide"))
		smartlayers[f] = "show";
	if (smartlayers[f] == "show")
		document.getElementById("tc"+f+"_image").src = "/images/tree_folderopen.gif";
	else
		document.getElementById("tc"+f+"_image").src = "/images/tree_folder.gif";
	if (arguments.length > 2)
	{
		var j;
		for (var i = 2; i < arguments.length; i++)
		{
			j = document.getElementById("tc"+arguments[i]);
			if (i < (limit+2))
			{
				if (smartlayers[f] == "show")
				{
					j.style.display = "";
					smartlayers[arguments[i]] = "show";
				}
				else
				{
					j.style.display = "none";
					smartlayers[arguments[i]] = "hide";
					j = document.getElementById("tc"+arguments[i]+"_image");
					if (j)
						j.src = "/images/tree_folder.gif";
				}
			}
			else
			{
				if (smartlayers[f] == "hide")
				{
					j.style.display = "none";
					smartlayers[arguments[i]] = "hide";
					j = document.getElementById("tc"+arguments[i]+"_image");
					if (j)
						j.src = "/images/tree_folder.gif";
				}
			}
		}
	}
	if (smartlayers[f] == "show")
		smartlayers[f] = "hide";
	else
		smartlayers[f] = "show";
}

