function hover() {
  tmp=this.src;
  suffix=tmp.substring(tmp.lastIndexOf('.'));
  newsrc=tmp.substring(0,tmp.lastIndexOf('link'))+'hover'+suffix;
  if (newsrc=='hover'+suffix) return false;
  this.src=newsrc;
}

function link() {
  tmp=this.src;
  suffix=tmp.substring(tmp.lastIndexOf('.'));
  newsrc=tmp.substring(0,tmp.lastIndexOf('hover'))+'link'+suffix;
  if (newsrc=='link'+suffix) return false;
  this.src=newsrc;
}

function prepare_rollover() {
  var preloadedImages=new Array();
  var preloadedButtons=new Array();
  var imageCount=document.images.length;
  for (var i=0; i<imageCount; i++) {
    path=document.images[i].src.split("/");
    file=path[path.length-1];
    parts=file.split(".");
    ext=parts[parts.length-1];
    if (parts.length > 2) {
      stat=parts[parts.length-2];
      if (stat=="link") {
        preloadedImages[i]=new Image();
        suffix = document.images[i].src.substring(document.images[i].src.lastIndexOf('.'));
        preloadedImages[i].src=document.images[i].src.substring(0,document.images[i].src.lastIndexOf('link'))+'hover'+suffix;
        document.images[i].onmouseover=hover;
        document.images[i].onmouseout=link;
      }
    }
  }
  if (document.getElementsByTagName) {
    var inps=document.getElementsByTagName('input');
    var inpsCount=inps.length;
    for (var i=0; i<inpsCount; i++) {
      if (inps[i].src) {
        path=inps[i].src.split("/");
        file=path[path.length-1];
        parts=file.split(".");
        ext=parts[parts.length-1];
        if (parts.length > 2) {
          stat=parts[parts.length-2];
          if (stat=="link") {
            preloadedImages[i]=new Image();
            suffix = inps[i].src.substring(inps[i].src.lastIndexOf('.'));
            preloadedImages[i].src=inps[i].src.substring(0,inps[i].src.lastIndexOf('link'))+'hover'+suffix;
            inps[i].onmouseover=hover;
            inps[i].onmouseout=link;
          }
        }
      }
    }
  }
}
