// Rollover (Double Image Variant)  v1.0
// http://www.dithered.com/javascript/rollover_double/index.html
// code by Chris Nott (chris@NOSPAMdithered.com - remove NOSPAM)

var rolloverImageOff = new Array();
var rolloverImageOn = new Array();
var rolloverCentralImageOn = new Array();
var rolloverCentralImageOff = null;
var rolloverCurrent = '';


// Preload rollover images
function rolloverDoubleInit() {
	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();
			rolloverCentralImageOn[rolloverCurrentName] = new Image();
			rolloverImageOff[rolloverCurrentName].src = rolloverImageDirectory + rolloverImageOffFiles[i];
			rolloverImageOn[rolloverCurrentName].src = rolloverImageDirectory + rolloverImageOnFiles[i];
			rolloverCentralImageOn[rolloverCurrentName].src = rolloverImageDirectory + rolloverCentralImageOnFiles[i];
		}
		
		rolloverCentralImageOff = new Image();
		rolloverCentralImageOff.src = rolloverImageDirectory + rolloverCentralImageOffFile;
	}
}


// On state activation
function rolloverDoubleOn(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') 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;
		}

		// central rollover
		if (rolloverCentralImageLayerName != '' && document.layers) {
			document.layers[rolloverCentralImageLayerName].document.images[rolloverCentralImageTagName].src = rolloverCentralImageOn[img].src;
		}
		else if (document.images[rolloverCentralImageTagName]) {
			document.images[rolloverCentralImageTagName].src = rolloverCentralImageOn[img].src;
		}
	}
}


// Off state activation
function rolloverDoubleOff(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') 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;
		}

		// central rollover
		if (rolloverCentralImageLayerName != '' && document.layers) {
			document.layers[rolloverCentralImageLayerName].document.images[rolloverCentralImageTagName].src = rolloverCentralImageOff.src;
		}
		else if (document.images[rolloverCentralImageTagName]) {
			document.images[rolloverCentralImageTagName].src = rolloverCentralImageOff.src;
		}
	}
}


// Rollover with state function (not used in standard rollovers; included for flexability)
function rolloverDoubleSetCurrent(img) {
	if (rolloverCurrent) rolloverDoubleOff(rolloverCurrent);
	rolloverCurrent = img;
	rolloverDoubleOn(rolloverCurrent);
}