// ---- begin class: Rollover ----

function Rollover(normal_url,mouseover_url) {

 this.normal_url=normal_url;

 this.mouseover_url=mouseover_url;

 this.mouseover_image=0;

}



function Rollover_load_mouseover_image() {

 if (document.images) {

  this.mouseover_image = new Image();

  this.mouseover_image.src=this.mouseover_url;

 }

}

Rollover.prototype.load_mouseover_image=Rollover_load_mouseover_image;

// ---- end class: Rollover ----



// rollovers[name] is a Rollover object. Use addRollover() (see below) to populate

var rollovers=new Object();



// ==== public functions ====



// == preloadRollovers()

//    called as body's onload



var BEFORE_PRELOAD=0;

var DURING_PRELOAD=-1;

var AFTER_PRELOAD=1;



var preloadFlag = BEFORE_PRELOAD;



function onLoadHook() {

 // you can override this.

 // will be called after preload is done

}



function preloadRollovers() {

 if (preloadFlag!=BEFORE_PRELOAD)

  return;

 preloadFlag=DURING_PRELOAD;

 if (document.images) {

  for (name in rollovers) {

   rollovers[name].load_mouseover_image();

  }

  preloadFlag=AFTER_PRELOAD;

  onLoadHook();

 } else {

  preloadFlag=BEFORE_PRELOAD;

 }

}





// == addRollover(name,normal_url,mouseover_url)

//    should be called for each roll-over image

//    name:

//      name of an IMG tag that has normal_url as src

//      inside a link with rollIn() and rollOut() as mouseover and mouseout

//    normal_url,mouseover_url:

//      URLs of the 2 images

function addRollover(name,normal_url,mouseover_url) {

 rollovers[name]=new Rollover(normal_url,mouseover_url);

}



// == rollIn(image_name)

//    should be the onmouseover of a link containing the image tag called image_name



function rollIn(image_name) {

 window.status='';

 if (preloadFlag==AFTER_PRELOAD) {

  document.images[image_name].src=rollovers[image_name].mouseover_url;

 } else {

  if (preloadFlag==BEFORE_PRELOAD) {

   setTimeout('preloadImages()',5000); // maybe we'll get lucky next time :)

  }

 };

 return true;

}



// == rollOut(image_name) should be the onmouseout of a roll-over image

//    should be the onmouseoout of a link containing a the image tag called image_name

function rollOut(image_name) {

 if (preloadFlag==AFTER_PRELOAD) {

  document.images[image_name].src=rollovers[image_name].normal_url;

  try {nd()} catch(er) {};

 } else {

  if (preloadFlag==BEFORE_PRELOAD) {

   setTimeout('preloadImages()',5000); // maybe we'll get lucky next time :)

  }

 };

 window.status='';

 return true;

}


