function getStyleObject(objectID) {
  if(document.getElementById && document.getElementById(objectID))
    return document.getElementById(objectID).style;
  else if (document.all && document.all(objectID))
    return document.all(objectID).style;
  else if (document.layers) {
    var all = new Array();
    var i, j, n, m = document.layers.length;
    for (i=0; i<m; i++) {
      all[i] = document.layers[i];
      if (all[i].name==objectID)
        return all[i];
    }
    for (i=0; i<m; i++)
      if (all[i].document && all[i].document.layers) {
        n = all[i].document.layers.length;
        for (j=0; j<n; j++) {
          all[m++] = all[i].document.layers[j];
          if (all[i].document.layers[j].name==objectID)
            return all[i].document.layers[j];
        }
      }
    return false;
  }
  else return false;
}

function getImage(imageID) {
  if(document.images[imageID])
    return document.images[imageID];
  else if (document.layers) {
    var all = new Array();
    var i, j, n, m = document.layers.length;
    for (i=0; i<m; i++) {
      all[i] = document.layers[i];
      if (all[i].document.images[imageID])
        return all[i].document.images[imageID];
    }
    for (i=0; i<m; i++)
      if (all[i].document && all[i].document.layers) {
        n = all[i].document.layers.length;
        for (j=0; j<n; j++) {
          all[m++] = all[i].document.layers[j];
          if (all[i].document.images[imageID])
            return all[i].document.images[imageID];
        }
      }
    return false;
  }
  else return false;
}

function showObject(objectID) {
  var styleObject = getStyleObject(objectID);
  if(styleObject) {
    styleObject.visibility = 'visible';
    return true;
  }
  else return false;
}

function hideObject(objectID) {
  var styleObject = getStyleObject(objectID);
  if(styleObject) {
    styleObject.visibility = 'hidden';
    return true;
  }
  else return false;
}

function moveObject(objectID, newXCoordinate, newYCoordinate) {
  var styleObject = getStyleObject(objectID);
  if(styleObject) {
    styleObject.left = newXCoordinate;
    styleObject.top = newYCoordinate;
    return true;
  }
  else return false;
}

function hilight(imageName) {
  var pic = getImage(imageName);
  var name = pic.src;
  var dot = name.lastIndexOf('.')
  pic.src = name.substring(0,dot) + '_hi' + name.substring(dot,name.length);
}

function lolight(imageName) {
  var pic = getImage(imageName);
  var name = pic.src;
  var dot = name.lastIndexOf('.')
  if (name.substring(dot-3,dot) == '_hi')
    pic.src = name.substring(0,dot-3) + name.substring(dot,name.length);
}

function openPictureWindow(name, width, height, x, y, caption) {
  if (caption!='')
    height += 30;
  var w = window.open('', '_blank', 'width='+width+',height='+height+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
  with (w.document) {
    writeln('<html><head>');
    writeln('<link rel=stylesheet href="../stylesheets/picture_window.css" type="text/css">');
    writeln('<script>img=new Image('+width+','+height+');img.src="'+name+'";</script>');
    writeln('</head><body>');
    writeln('<div id="picture"><img src="'+name+'"><br>');
    writeln('<div id="caption">'+caption+'</div></div>');
    writeln('</body></html>');
  }
  w.focus();
}

function openGradesWindow(grade) {
  openPictureWindow('../climbing_grades.gif', 67, 236, 50, 50, '');
}

function checkFrames(page) {
  if (top==self || !top.frames || !top.frames['MDHmenu']) {
    url = '../index.html#'+page
    if (document.location.hash)
      url += '?'+document.location.hash.substring(1);
    if (document.images)
      location.replace(url)
    else
      location.href = url;
  } else {
    if (document.images)
      top.frames['MDHmenu'].location.replace('../menu/menu.html?'+page)
    else
      top.frames['MDHmenu'].location.href = '../menu/menu.html?'+page;
  }
}
