var preloaded = new Array();
var preloadedIdx = 0;

function initHover() { 
  var imgs = document.getElementsByTagName("img");
  var i;
  for( i =0; i < imgs.length; ++i ) {
    if( isClass( imgs[i], "hot" ) ) {
      if( document.addEventListener ) {
        imgs[i].addEventListener("mouseover",mouseover,false);      
        imgs[i].addEventListener("mouseout",mouseout,false);      
      } else {
        imgs[i].attachEvent("onmouseover",mouseover);      
        imgs[i].attachEvent("onmouseout",mouseout);        
      }
      preload( hot( imgs[i].src ) );
    }
    if( isClass( imgs[i], "roll" ) ) {
      if( document.addEventListener ) {
        imgs[i].addEventListener("mouseover",rollover,false);      
        imgs[i].addEventListener("mouseout",rollout,false);      
      } else {
        imgs[i].attachEvent("onmouseover",rollover);      
        imgs[i].attachEvent("onmouseout",rollout);        
      }
      preload( roll( imgs[i].src ) );
    }    
  }
}

function preload( url ) {
  var i = new Image();
  i.src=url;
  preloaded[preloadedIdx++] = i;
}

function hot( url ) {
  return url.replace('.png', '_.png');
}

function cold( url ) {
  return url.replace('_.png', '.png');
}

function roll( url ) {
  return url.replace("/m_", "/r_").replace('_.png', '.png');
}


function mouseover() {
  var obj = this;
  if( obj.src == null )  {
    obj=window.event.srcElement;
  }
  if( obj == null || !self.hot )
    return;
  obj.src=hot(obj.src);
}

function mouseout() {
  var obj = this;
  if( obj.src == null ) {
    obj=window.event.srcElement;
  }
  if( obj == null || !self.cold )
    return;  
  obj.src=cold(obj.src);
}

function rollover() {
  var obj = this;
  if( obj.src == null ) {
    obj=window.event.srcElement;
  }

  var element = document.getElementById( "rollover" );
  if( element == null )
    return;
  element.defDisplay=element.style.display;
  element.def=element.src;
  element.src=roll(obj.src);
  element.style.display="";
}

function rollout() {
  var element = document.getElementById( "rollover" );
  if( element == null )
    return;  
  element.style.display=element.defDisplay;
  element.src=element.def;
}

function isClass( element, cls ) {
  var classes = element.className.split( ' ' );
  for( var i=0; i < classes.length; ++i )
    if( cls == classes[i] )
      return true;   

  return false;
}