// lifecycle  Functions
d = document;
var lifecycleImageOff = new Array();
var lifecycleImageOn = new Array();
var lifecycleCurrent = '';

function lifecycleInit() { // Preload lifecycle images
	if (d.images) {
		
	// for each lifecycle, preload both states and put filename in an associative array
	for (var i = 0; i < lifecycleImageOnFiles.length; i++) {
	lifecycleCurrentName = lifecycleImageTagNames[i];
	lifecycleImageOff[lifecycleCurrentName] = new Image();
	lifecycleImageOn[lifecycleCurrentName] = new Image();
	lifecycleImageOff[lifecycleCurrentName].src = lifecycleImageDirectory + lifecycleImageOffFiles[i];
	lifecycleImageOn[lifecycleCurrentName].src = lifecycleImageDirectory + lifecycleImageOnFiles[i];
	}
	}
}


function lifecycleOn(img, layer) { // On state activation
	if (d.images && lifecycleImageOn[img]) {
		
	// lifecycles in layers in NS4 require a different image reference
	if (layer != null && d.layers) {
	if (typeof(layer) == 'object') layer.d.images[img].src = lifecycleImageOn[img].src;
	else if (typeof(layer) == 'string') eval('d.layers["' + layer + '"].d.images[img].src = lifecycleImageOn[img].src');
	}	
	// non-layer lifecycles in NS4 and all lifecycles in other browsers
	else if (d.images[img]) d.images[img].src = lifecycleImageOn[img].src;
	}
}


// Off state activation
function lifecycleOff(img, layer) {
	if (d.images && lifecycleImageOff[img]) {
	// lifecycles in layers in NS4 require a different image reference
	if (layer != null && d.layers) {
	if (typeof(layer) == 'object') layer.d.images[img].src = lifecycleImageOff[img].src;
	else if (typeof(layer) == 'string') eval('d.layers["' + layer + '"].d.images[img].src = lifecycleImageOff[img].src');
	}
	// non-layer lifecycles in NS4 and all lifecycles in other browsers
	else if (d.images[img]) d.images[img].src = lifecycleImageOff[img].src;
	}
}


function lifecycleSetCurrent(img) { // lifecycle with state function
	if (lifecycleCurrent) lifecycleOff(lifecycleCurrent);
	lifecycleCurrent = img;
	lifecycleOn(lifecycleCurrent);
}