//
//
//
function show_props(obj, obj_name) {
 var result = ""
 for (var i in obj) result += obj_name + "." + i + " = " + obj[i] + "<BR>\n";
 alert("<BR>\n"+result);
 return true;
}
//
// Return number of characters in a string
//
function stringLength(string) {
  return string.length;
}
//
// Return number of elements in an array (NOT WORKING !!!!)
//
function arrayLength(array) {
  return array.length;
}
//
// Create an array containing the set of arguments
//
function makeArray(){
  this[0] = makeArray.arguments.length;
  for (i=0;i<makeArray.arguments.length;i++) this[i+1] = makeArray.arguments[i];
}
//
// Variables to toggle "on", "off" and "selected" images.
//
  var imgdir = "./Graphics/";
  var homdir = "~wolven/";
  var sel    = "arrw23b.gif";
  var on     = "arrw23d.gif";
  var off    = "arrw25d.gif";
  var locn   = new makeArray("homepage","publications","Research/cv","Io/index",
		    "astronomy","posters","news");
  var nimg   = locn[0];
  var hlen   = stringLength(homdir);
  onimg  = new Image(); onimg.src =  imgdir+on;
  offimg = new Image(); offimg.src = imgdir+off;
  selimg = new Image(); selimg.src = imgdir+sel;
//
// String processing function
//
function stripSuffix(string,suffix){
  for (var i=string.length-1; i>=0; i--)
    if (string.substring(i) == suffix) return string.substring(0,i);
  return string;
}
//
// String processing function
//
function htmlName(string){
  var thisname = "";
  var first    = stripSuffix(string,".html");
  for (var i=0; i<first.length; i++)
   if (first.substring(i,i+hlen) == homdir) thisname = first.substring(i+hlen);
  return thisname;
}
//
// String processing function
//
function afterSlash(string){
   for (var i=string.length-1; i>=0; i--) {
     if (string.charAt(i) == '/') return string.substring(i+1);
   }
 return string;
}
//
//
//
function imgIndex(imgName) {
  var number = 0;
  for (var i=1; i<=nimg;i++) if (imgName == locn[i]) return (i-1);
  return number;
}
//
// Function to toggle "on", "off" and "selected" images.
//
function imgToggle(imgNumber,state) {
  if (top.Menubar) {
    if (top.Menubar.document.images) {
      imgSelect = imgIndex(htmlName(top.Main.location.toString()));
      if (imgNumber <0) imgNumber = imgSelect;
      if (state == "sel") {
        for (i=0; i<nimg; i++) {
	  if (top.Menubar.document["img"+i])
            top.Menubar.document["img"+i].src = offimg.src;
        }
      }
      if (imgNumber >= 0 && imgNumber < nimg){
        if (afterSlash(top.Menubar.document["img"+imgNumber].src) != sel) {
          top.Menubar.document["img"+imgNumber].src = eval(state+"img.src");
        }
      }
    }
  }
  return true;
}
