// SUPER EASY IMAGE ROLLOVER
// Does NOT cache images like normal rollover code. Retrieves images on demand.
// Otherwise even a minor amount of image requests (caused by lack of caching in Master mode),
// interferes with ajax enabled Control Pane in Sitecore
// Replaces: function image_on(pimage) and function image_off(pimage)

function Make_Rollovers() {
  	var rollover_images = new Array();
  	var hold_images = new Array();
  	var index = -1;
	
  	// Step 1. Create an array of images that require rollovers	
  	var hold_images = document.getElementsByTagName('img');
  	for (var i = 0; i < hold_images.length; i++) {
  		if ((hold_images[i].src.indexOf('_off.') != -1) && (!hold_images[i].onmouseover) && (!hold_images[i].onmouseout)) {
  			index = rollover_images.length; 
  			rollover_images[index] = hold_images[i];
  		}
  	}
  
  	var hold_images = document.getElementsByTagName('input');
  	for (var i = 0; i < hold_images.length; i++) {
  		if ((hold_images[i].src.indexOf('_off.') != -1) && (!hold_images[i].onmouseover) && (!hold_images[i].onmouseout)) {
  			index = rollover_images.length; 
  			rollover_images[index] = hold_images[i];
  		}
  	}

  	for (var i = 0; i < rollover_images.length; i++)
  	{	
	    // Step 3: Add the usual mouse rollover events to each image
	    rollover_images[i].onmouseover = function () { this.src = this.src.replace("_off.", "_on."); };
	    rollover_images[i].onmouseout = function () { this.src = this.src.replace("_on.", "_off."); };
  	}
}


// Add to OnLoad (but don't kill what's already in OnLoad)
if (typeof window.onload != 'function') {
	window.onload = Make_Rollovers;
} else {
	var holdonload = window.onload;
	window.onload = function() { holdonload(); Make_Rollovers(); }
}

