var messages = new Array();

messages[0] = 'Delivering IT <br/>services';
messages[1] = 'IBM WebSphere<br/>platform';
messages[2] = 'Java & J2EE';
messages[3] = 'IBM Rational<br/>product family';
messages[4] = 'WebServices';
messages[5] = 'Business Process<br/>Management';
messages[6] = 'Issue<br/>Management';
messages[7] = 'Project<br/>Management';

function animate(messages, msgIdx) {
var obj = document.getElementById('div.promoMsg');
//alert(obj.style.position);
	pause_before(messages, msgIdx);
}

function pause_before(messages, msgIdx) {
	var msg = document.getElementById('promoMsg');
	msg.innerHTML = messages[msgIdx];
	if (showPromo) {
		t = setTimeout("fade_in(messages, " + msgIdx + ");", 320);
	} else {
		t = setTimeout("pause_after(messages, " + msgIdx + ");", 5000);
	}
}

function fade_in(messages, msgIdx) {
	var obj = document.getElementById('div.promoMsg');
	var opc = obj.style.opacity;
	if (!opc || opc == 0) opc = 0.001;
	obj.style.opacity = opc*1.25;

	// M$ IE way...
	if (obj.filters) {
		if (obj.filters.alpha) obj.filters.alpha.opacity = Math.floor(opc*125);
	}

	if (obj.style.opacity < 1.0) t = setTimeout("fade_in(messages, " + msgIdx + ");", 50);
	else {
		obj.style.opacity = 1.0;
		if (obj.filters) {
			if (obj.filters.alpha) obj.filters.alpha.opacity = 100;
		}
		show(messages, msgIdx);
	}
}

function show(messages, msgIdx) {
	t = setTimeout("fade_out(messages, " + msgIdx + ");", 6000);
}

function fade_out(messages, msgIdx) {
	var obj = document.getElementById('div.promoMsg');
	var opc = obj.style.opacity;
	obj.style.opacity = opc/1.25;

	// M$ IE way...
	if (obj.filters) {
		if (obj.filters.alpha) obj.filters.alpha.opacity = Math.floor(obj.style.opacity*100);
	}

	if (obj.style.opacity > 0.001) t = setTimeout("fade_out(messages, " + msgIdx + ");", 50);
	else {
		obj.style.opacity = 0.0;
		if (obj.filters) {
			if (obj.filters.alpha) obj.filters.alpha.opacity = 0;
		}
		pause_after(messages, msgIdx);
	}
}

function pause_after(messages, msgIdx) {
	// choose preferred msg order: random or sequential:
	//var newMsgIdx = Math.floor(Math.random() * 100) % messages.length;
	//if (newMsgIdx == msgIdx) newMsgIdx = (newMsgIdx + 1) % messages.length;
	var newMsgIdx = (msgIdx + 1) % messages.length;

	t = setTimeout("pause_before(messages, " + newMsgIdx + ");", 50);
}
