/* ShowHide.js     ver 1.6   [Oct 2005]
 * Copyright (c) 2002,2005 by Micha³ Nazarewicz (mina86/AT/tlen.pl)
 */
var theDoc = document,
    theAll = theDoc.all ? theDoc.all : null,
    isDOM = theDoc.getElementById ? true : false,
    pos = navigator.userAgent.toLowerCase().indexOf("opera"),
    isElektra = pos!=-1 && parseFloat(navigator.userAgent.substring(pos+6))<7,
    isntShowHideOK = !isDOM && theAll==null;

var HiddenLayers = new Array();
function InitShowHide() {
	for (var i=0; i<HiddenLayers.length; i++) {
		ShowHideLayer(HiddenLayers[i], false);
	}
}

function ShowHideLayer(name, state) {
	if (isntShowHideOK) return null;
	var obj = isDOM ? theDoc.getElementById(name) : theAll[name];
	if (arguments.length<2) {
		state = obj.style.display=="none";
	}
	obj.style.display = state ? "block" : "none";
	return state;
}

function ShowHideClick(name, desc1, desc2, islink) {
	desc1 = unescape(desc1); desc2 = unescape(desc2);
	var state = ShowHideLayer(name);
	if (desc1==desc2) return;

	if (!islink) {
		var but = document.forms[name + '__form'].elements[name+'__button'];
		but.value = (state) ? desc1 : desc2;
	} else if (!isElektra) {
		var link = isDOM
			? theDoc.getElementById(name + '__link')
			: theAll[name+'__link'];
		link.innerHTML=(state)?desc1:desc2;
	}
}

function addShowHideButton(name, desc1, desc2, state, islink, alt, before,
                           after) {
	if (isntShowHideOK) {
		if (arguments.length>=6 && alternative!=null) {
			theDoc.write(alt);
		}
		return;
	}

	switch (arguments.length) {
	case 0: return;
	case 1: desc1  = null;
	case 2: desc2  = null;
	case 3: state  = null;
	case 4: islink = null;
	case 6: before = null;
	case 7: after  = null;
	}

	if (desc1 ==null) desc1  = 'Show layer';
	if (desc2 ==null) desc1  = 'Hide layer';
	if (state ==null) state  = true;
	if (islink==null) islink = false;
	if (before!=null) theDoc.write(before);
	if (!islink) {
		theDoc.write('<form name="' + name + '__form"><input name="' +
			name + '__button" type="button" value="' + desc1 +
			'" onclick = "ShowHideClick(\'' + name +
			'\', \'' + escape(desc1) + '\',\'' + escape(desc2) +
			'\', false);" /></form>');
	} else {
		theDoc.write('<a href="#" onclick="ShowHideClick(\'' + name +
			'\', \'' + escape(desc1) + '\', \'' + escape(desc2) +
			'\', true); return false;" id="' + name + '__link">' +
			desc1 + '</a>');
	}
	if (after!=null) theDoc.write(after);
	if (!state) HiddenLayers[HiddenLayers.length]=name;
}
