function switchMenu(obj, selected) {
	var el = document.getElementById(obj);
	if ( el.style.display != "none" && el.style.display != "") {
	   collapseMenu(obj, selected);
	}
	else {
	   expandMenu(obj, selected);
	}
}

function expandMenu(obj) {
    var el = document.getElementById(obj);
		el.style.display = 'inline';
		updateMenuState(obj, 'true');
	  var picEl = document.getElementById(obj + "pic");
  	  if(picEl) {
		    var pp = "navbar/col_" + obj + ".png";
        picEl.setAttribute('src', pp);
      }
    var txtEl = document.getElementById(obj + "text");
    if(txtEl) {
      txtEl.style.color = "#3399FF";
      txtEl.innerHTML = obj.charAt(0).toUpperCase() + obj.substring(1);
    }
}

function collapseMenu(obj) {
  var el = document.getElementById(obj);
	el.style.display = 'none';
	updateMenuState(obj, 'false');
  var picEl = document.getElementById(obj + "pic");
	if(picEl) {
    var pp = "navbar/bw_" + obj + ".png";
    picEl.setAttribute('src', pp);
  }
  var txtEl = document.getElementById(obj + "text");
  if(txtEl) {
    txtEl.style.color = "#6c6c6c";
    txtEl.innerHTML = obj.charAt(0).toUpperCase() + obj.substring(1) + "...";
  }
}	

//set a cookie for a top level menu
function updateMenuState(item, state)
{
  //alert("creating cookie for: " + item + " with state: " + state);
  createCookie(item, state, 0);
}

//loop over the items and set as stored in cookies
function setMenuFromCookies(objs)
{
  var i;
  for (i=0; i<objs.length; i++ ) {
    var val = readCookie(objs[i].id);
    //alert("objs[i].id is: " + objs[i].id + " and val is: " + val);
    if(val != null && val != 'false') {
        expandMenu(objs[i].id);
    }
  } 
}

//delete all menu related cookies
function resetMenu(objs)
{
  var i;
  for (i=0;i<objs.length;i++ ) {
    if(objs[i] != null) {
        eraseCookie(objs[i].id);
    }
  } 
}

function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
      if (arguments.length == 1)
        return element;
        
    elements.push(element);
}
return elements;
}

//cookies!
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
