function $$(searchClass, node, tag){
   //shorthand getelementsbyclass
   return getElementsByClass(searchClass, node, tag);
}
  
function $(element) {
   //shorthand getelementbyid, works with multiple ids, returns obj, or array of obj
   if (arguments.length > 1) {
   for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i]));
   return elements;
   }
  
   if (typeof element == 'string') element = document.getElementById(element);
   return element;
}

function getElementsByClass(searchClass, node, tag){
   var classElements = new Array();
   if(node == null) node = document;
   if(tag == null) tag = '*';
   var els = node.getElementsByTagName(tag);
   var elsLen = els.length;
   var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)");
   for (i = 0, j = 0; i < elsLen; i++){
   if(pattern.test(els[i].className)){
   classElements[j] = els[i];
   j++;
   }
   }
  
   return classElements;
}

function createRollover(element) {
  elesrc = element.src;
  element.onmouseout = function() {
    this.src = elesrc;
  }
  element.onmouseover = function() {
    this.src = elesrc.replace(/.gif/, "Over.gif");
  }
}

window.onload = prepare;

function prepare() {
  var co = $$("nav", document, "*");
  for(i=0; i<co.length; i++) {
    co[i].out = co[i].src;
    co[i].over = new Image();
    co[i].over.src = co[i].src.replace(/.gif/, "Over.gif");
    co[i].onmouseover = function() {
      this.src = this.over.src;
    }
    co[i].onmouseout = function() {
      this.src = this.out;
    }
  }
}
