

// Rollover / Rollover double megamix
// http://www.dithered.com/javascript/rollover/index.html
// code by Chris Nott (chris@dithered.com)

var rolloverImageOff = new Array();
var rolloverImageOn = new Array();
var rolloverImageSelect = new Array();
var rolloverCurrent = '';
var submenu = '';

// Preload rollover images
function rolloverInit() {

	if (document.images) {
		
		// for each rollover, preload both states and put filename in an associative array
		for (var i = 0; i < rolloverImageOnFiles.length; i++) {
			rolloverCurrentName = rolloverImageTagNames[i];

			rolloverImageOff[rolloverCurrentName] = new Image();
			rolloverImageOn[rolloverCurrentName] = new Image();
			rolloverImageSelect[rolloverCurrentName] = new Image();
			rolloverImageOff[rolloverCurrentName].src = rolloverImageDirectory + rolloverImageOffFiles[i];
			rolloverImageOn[rolloverCurrentName].src = rolloverImageDirectory + rolloverImageOnFiles[i];
			rolloverImageSelect[rolloverCurrentName].src = rolloverImageDirectory + rolloverImageSelectFiles[i];
		}
	}
}

 function rolloverInit() {
   if (document.images) {
     // for each rollover, preload both states and put  filename in an associative array

     for (var i = 0; i < rolloverImageOnFiles.length; i++) {
       rolloverCurrentName = rolloverImageTagNames[i];
 
       rolloverImageOff[rolloverCurrentName] = new Image();
       rolloverImageOff[rolloverCurrentName].src = 
 		rolloverImageDirectory + rolloverImageOffFiles[i];
 
       rolloverImageOn[rolloverCurrentName] = new Image();
       rolloverImageOn[rolloverCurrentName].src = 
 		rolloverImageDirectory + rolloverImageOnFiles[i];
 			
       if (rolloverImageSelectFiles[i] != null) {
         rolloverImageSelect[rolloverCurrentName] = new Image();
         rolloverImageSelect[rolloverCurrentName].src = 
 		rolloverImageDirectory + rolloverImageSelectFiles[i];
       }
     }
   }
 }
 



// On state activation
function rolloverOn(img, layer) {
	if (document.images && rolloverImageOn[img]) {
		
		// rollovers in layers in NS4 require a different image reference
		if (layer != null && document.layers) {
			if (typeof(layer) == 'object') layer.document.images[img].src = rolloverImageOn[img].src;
			else if (typeof(layer) == 'string') eval('document.layers.' + layer + '.document.images[img].src = rolloverImageOn[img].src');
		}
		
		// non-layer rollovers in NS4 and all rollovers in other browsers
		else if (document.images[img]) document.images[img].src = rolloverImageOn[img].src;
	}
}


// Off state activation
function rolloverOff(img, layer) {
	if (document.images && rolloverImageOff[img]) {

		// rollovers in layers in NS4 require a different image reference
		if (layer != null && document.layers) {
			if (typeof(layer) == 'object') layer.document.images[img].src = rolloverImageOff[img].src;
			else if (typeof(layer) == 'string') eval('document.layers.' + layer + '.document.images[img].src = rolloverImageOff[img].src');
		}
		
		// non-layer rollovers in NS4 and all rollovers in other browsers
		else if (document.images[img]) document.images[img].src = rolloverImageOff[img].src;
	}
}

// Select state activation
function rolloverSelect(img, layer) {
	if (document.images && rolloverImageSelect[img]) {
		
		// rollovers in layers in NS4 require a different image reference
		if (layer != null && document.layers) {
			if (typeof(layer) == 'object') layer.document.images[img].src = rolloverImageSelect[img].src;
			else if (typeof(layer) == 'string') eval('document.layers.' + layer + '.document.images[img].src = rolloverImageSelect[img].src');
		}
		
		// non-layer rollovers in NS4 and all rollovers in other browsers
		else if (document.images[img]) document.images[img].src = rolloverImageSelect[img].src;
	}
}

// Rollover with state function (not used in standard rollovers; included for flexability)
function rolloverSetCurrent(img, layer) {
	if (rolloverCurrent) rolloverOff(rolloverCurrent, layer);
	rolloverCurrent = img;
	rolloverOn(rolloverCurrent, layer);
}

// Rollover with state function (not used in standard rollovers; included for flexability)
function setMain(img, layer) {
	if (main) rolloverOff(main, layer);
	main = img;
	rolloverOn(main, layer);
}

function setSubmenu(img, layer) {
	if (submenu) rolloverOff(submenu, layer);
	submenu = img;
	rolloverSelect(submenu, layer);
}

//add images to the rollover arrays after the inital ones have been established
function preloadRollover(onFile, offFile, tagName) {
	var index = rolloverImageOffFiles.length;
	rolloverImageOnFiles[index] = onFile;
	rolloverImageOffFiles[index] = offFile;
	rolloverImageTagNames[index] = tagName;
}




