function rollover() {
  // bail out if function unsupported, or for known-buggy versions of Opera
  if( navigator.userAgent.match(/Opera (\S+)/)) {
    var operaVersion = parseInt(navigator.userAgent.match(/Opera (\S+)/)[1]);
  }

  if( !document.getElementById || operaVersion < 7) return;

  var Images = document.getElementsByTagName('img');
  var imgPreload = new Array();
  var imgSrc = new Array();
  var imgClass = new Array();
  for( i = 0; i < Images.length; i++ )
  {
    if( Images[i].className.indexOf('rollover') != -1 )
    {
      imgPreload[i] = new Image();
      if( Images[i].className.match(/rollover (\S+)/) )
        imgPreload[i].src = Images[i].className.match(/rollover (\S+)/)[1]

      Images[i].setAttribute('outsrc', Images[i].getAttribute('src'));
      Images[i].setAttribute('insrc', imgPreload[i].getAttribute('src'));
      Images[i].onmouseover = function() { this.setAttribute('src', this.getAttribute('insrc')); }
      Images[i].onmouseout = function() { this.setAttribute('src', this.getAttribute('outsrc')); }
    }
  }
}
