var DHTML = (document.getElementById || document.all || document.layers);

function switchVisibility(name)
{
	if (!DHTML) return;
	var x = new getObj(name);
	x.style.display = (x.style.display == 'block') ? 'none' : 'block';
}

function switchVisibilityFalse(name)
{
	switchVisibility(name);
	return false
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

function confirmedGoto(message, url)
{
    if (confirm(message))
    {
        location = url;
    }
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function togglePanel(name, classname, btnname, class_off, class_on)
{
    if (!DHTML) return true;
    var panel = new getObj(name);
    var btn = new getObj(btnname);
    var was_block = (panel.style.display == 'block');

    var panels = getElementsByClassName(document, 'div', classname);
    for (i = 0; i < panels.length; i++) {
        panels[i].style.display = 'none';
    }

    var buttons = getElementsByClassName(document, 'a', class_on);
    for (i = 0; i < buttons.length; i++) {
        buttons[i].className = class_off
    }

    panel.style.display = (was_block) ? 'none' : 'block';
    btn.obj.className = (was_block) ? class_off : class_on;


    return false
}
