///////////////////////////////////////////////////
//name: _scripts/client/layers.js
//
//purpose: Client functions for manipulating layers
//author: Tim Needham 27/06/2000
///////////////////////////////////////////////////

var activeMenu;

///////////////////////////////////////////////////
//print_spacer()
//Takes a browser hint and a hook to some layers
//it then uses these layers to size a transparent
//image which it then returns as a string       TPN
///////////////////////////////////////////////////
function print_spacer(br, name, max)
{
	var viewlayer, height;
	height = 0;
	
	for (id = 1; id < max+1; id++) {
		if (br == "IE") {
			viewlayer = eval('document.all.'+name+id+'.offsetHeight');
		} else if (br == "NN") {
			viewlayer = eval('document.layers["'+name+id+'"].clip.height');
		} else if (br == "OT") {
			viewlayer = eval('document.all.'+name+id+'.offsetHeight');
		}
		height = Math.max(height,viewlayer)
	}
	return '<img src="/_imgs/ui/trans.gif" height="'+height+'" width="1">'
}

///////////////////////////////////////////////////
//flip_layer()
//Takes a browser hint (br), the root name of the
//layer group (name), the layer id (id) and the
//number of layers in the group (max) and hides all
//layers in the group, leaving the selected one
//visible.										TPN
///////////////////////////////////////////////////

function flip_layer(br, name, id, max)
{
		var viewlayer, layer;

		if (document.all) {
			viewlayer = eval('document.all.'+name+id+'.style');
			activeMenu = eval('document.all.'+name+id)
			for(i=1;i<max+1;i++) {
				layer = eval('document.all.'+name+i+'.style');
				layer.visibility = 'hidden';
			}

			showSelect()
			viewlayer.visibility = 'visible';
			hideSelect()

		} else if (document.getElementById) { 
			viewlayer = document.getElementById(name+id);
			for(i=1;i<max+1;i++) {
				layer = document.getElementById(name+i);
				layer.style.visibility = 'hidden';
			}

			viewlayer.style.visibility = 'visible';
		} else if (document.layers) {
			viewlayer = eval('document.layers["'+name+id+'"]');
			for(i=1;i<max+1;i++) {
				layer = eval('document.layers["'+name+i+'"]');
				layer.visibility = 'hide';
			}

			viewlayer.visibility = 'show';

		} else if (br == 'OT') {
			viewlayer = eval('document.all.'+name+id+'.style');
			for(i=1;i<max+1;i++) {
				layer = eval('document.all.'+name+i+'.style');
				layer.visibility = 'hidden';
			}

			viewlayer.visibility = 'visible';
		}
}

function hideSelect() {
	var obj;
	var currentEle;
	var top = 0;
	var left = 0;
	var menuHeight;
	var timeout;
		
	for(var i = 0; i < document.all.tags("select").length; i++)
	{
		obj = document.all.tags("select")[i];
		currentEle = obj;
		
		while(currentEle.tagName.toLowerCase() != 'body')
		{
			top += currentEle.offsetTop;
			left += currentEle.offsetLeft;
			currentEle = currentEle.offsetParent;
		}
		if(activeMenu != null)
		{
			menuHeight = (activeMenu.offsetTop + activeMenu.offsetHeight);
				
			if(top < menuHeight)
			{			
				if((left < (activeMenu.offsetLeft + activeMenu.offsetWidth)) && (left + obj.offsetWidth > activeMenu.offsetLeft)) 
					obj.style.visibility = 'hidden';
			}
		}
		top = 0;
		left = 0;
	}
}

function showSelect() {
	var obj;
		
	for(var i = 0; i < document.all.tags("select").length; i++)
	{
		obj = document.all.tags("select")[i];
		//alert(obj.id);
		if(!obj || !obj.offsetParent)
			continue;
		obj.style.visibility = 'visible';
	}
}

///////////////////////////////////////////////////
//hsy_flip_layer()
//Takes a browser hint (br), the root name of the
//layer group (name), the layer id (id) and the
//number of layers in the group (max) and hides all
//layers in the group, leaving the selected one
//visible.										TPN
///////////////////////////////////////////////////

function hsy_flip_layer(br, name, id, max)
{
		var viewlayer, layer, image, link;

		if (br == 'IE') {
			viewlayer = eval('document.all.'+name+id+'.style');
			activeMenu = eval('document.all.'+name+id)
			for(i=1;i<max+1;i++) {
				layer = eval('document.all.'+name+i+'.style');
				layer.visibility = 'hidden';
				image = eval("document.im"+i);
				image.src = '/_imgs/hsy/_old/menuArrow_b.gif';
				link = eval('document.all.l'+i);
				link.style.color = '#3366cc';
			}

			image = eval("document.im"+id);
			image.src = '/_imgs/hsy/_old/menuArrow_r.gif';
			link = eval('document.all.l'+id);
			link.style.color = '#000000';

			showSelect()
			viewlayer.visibility = 'visible';
			hideSelect()

		} else if (br == 'NN') {
			viewlayer = eval('document.layers["'+name+id+'"]');
			for(i=1;i<max+1;i++) {
				layer = eval('document.layers["'+name+i+'"]');
				layer.visibility = 'hide';
				image = eval("document.im"+i);
				image.src = '/_imgs/hsy/_old/menuArrow_b.gif';
			}

			image = eval("document.im"+id);
			image.src = '/_imgs/hsy/_old/menuArrow_r.gif';
			viewlayer.visibility = 'show';

		} else if (br == 'OT') {
			viewlayer = eval('document.all.'+name+id+'.style');
			for(i=1;i<max+1;i++) {
				layer = eval('document.all.'+name+i+'.style');
				layer.visibility = 'hidden';
				image = eval("document.im"+i);
				image.src = '/_imgs/hsy/_old/menuArrow_b.gif';
			}

			image = eval("document.im"+id);
			image.src = '/_imgs/hsy/_old/menuArrow_r.gif';
			viewlayer.visibility = 'visible';
		}
}



///////////////////////////////////////////////////
//ly_flip_layer()
//Takes a browser hint (br), the root name of the
//layer group (name), the layer id (id) and the
//number of layers in the group (max) and hides all
//layers in the group, leaving the selected one
//visible.										TPN
///////////////////////////////////////////////////

function ly_flip_layer(br, name, id, max)
{
		var viewlayer, layer;

		if (br == 'IE') {
			viewlayer = eval('document.all.'+name+id+'.style');
			activeMenu = eval('document.all.'+name+id)
			for(i=1;i<max+1;i++) {
				layer = eval('document.all.'+name+i+'.style');
				layer.visibility = 'hidden';
			}

			showSelect()
			viewlayer.visibility = 'visible';
			hideSelect()

		} else if (br == 'NN') {
			viewlayer = eval('document.layers["'+name+id+'"]');
			for(i=1;i<max+1;i++) {
				layer = eval('document.layers["'+name+i+'"]');
				layer.visibility = 'hide';
			}

			viewlayer.visibility = 'show';

		} else if (br == 'OT') {
			viewlayer = eval('document.all.'+name+id+'.style');
			for(i=1;i<max+1;i++) {
				layer = eval('document.all.'+name+i+'.style');
				layer.visibility = 'hidden';
			}

			viewlayer.visibility = 'visible';
		}
}

