// Rollover  v1.0
// http://www.dithered.com/javascript/rollover/index.html
// code by Chris Nott (chris@dithered.com)

var rolloverImageOff = new Array();
var rolloverImageOn = new Array();
var rolloverCurrent = '';

var rolloverImageDirectory = '/nav/';
var rolloverImageOffFiles = new Array('aa_off.jpg', 'bb_off.jpg', 'cc_off.jpg', 'dd_off.jpg', 'ee_off.jpg', 'ff_off.jpg', 'gg_off.jpg', 'hh_off.jpg', 'ii_off.jpg', 'jj_off.jpg', 'kk_off.jpg', 'll_off.jpg', 'mm_off.jpg', 'nn_off.jpg', 'oo_off.jpg', 'pp_off.jpg', 'qq_off.jpg', 'rr_off.jpg', 'ss_off.jpg', 'tt_off.jpg', 'uu_off.jpg', 'vv_off.jpg', 'ww_off.jpg', 'xx_off.jpg');
var rolloverImageOnFiles = new Array('aa_on.jpg', 'bb_on.jpg', 'cc_on.jpg', 'dd_on.jpg', 'ee_on.jpg', 'ff_on.jpg', 'gg_on.jpg', 'hh_on.jpg', 'ii_on.jpg', 'jj_on.jpg', 'kk_on.jpg', 'll_on.jpg', 'mm_on.jpg', 'nn_on.jpg', 'oo_on.jpg', 'pp_on.jpg', 'qq_on.jpg', 'rr_on.jpg', 'ss_on.jpg', 'tt_on.jpg', 'uu_on.jpg', 'vv_on.jpg', 'ww_on.jpg', 'xx_on.jpg');
var rolloverImageTagNames = new Array('aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg', 'hh', 'ii', 'jj', 'kk', 'll', 'mm', 'nn', 'oo', 'pp', 'qq', 'rr', 'ss', 'tt', 'uu', 'vv', 'ww', 'xx');

// 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();
			rolloverImageOff[rolloverCurrentName].src = rolloverImageDirectory + rolloverImageOffFiles[i];
			rolloverImageOn[rolloverCurrentName].src = rolloverImageDirectory + rolloverImageOnFiles[i];
		}
	}
}

// On state activation
function rolloverOn(img, layer) {
	if (document.images && rolloverImageOn[img] && typeof rolloverImageOn == "object") {
		
		// 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] && typeof rolloverImageOff == "object") {

		// 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;
	}
}

// Rollover with state function (not used in standard rollovers; included for flexability)
function rolloverSetCurrent(img) {
	if (rolloverCurrent) rolloverOff(rolloverCurrent);
	rolloverCurrent = img;
	rolloverOn(rolloverCurrent);
}

//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;
}