window.onload = function() {
	startList();
	if (document.getElementsByTagName('body')[0].id != 'home')
		return;
	var es = getElementsByClassName('flyout', '*', document);
	for (var i = 0; i < es.length; i++) {
		es[i].parentNode.onmouseover = function () { flyout(this.childNodes[0], 0, 140); this.className += " hover"; };
		es[i].parentNode.onmouseout = function () { clearTimeout(this.childNodes[0].timer); this.className=this.className.replace(" hover", ""); };
	}
	animate(0, 0, 0);
}

function getElementsByClassName(strClass, strTag, objContElm) {
  strTag = strTag || "*";
  objContElm = objContElm || document;
  var objColl = objContElm.getElementsByTagName(strTag);
  if (!objColl.length &&  strTag == "*" &&  objContElm.all) objColl = objContElm.all;
  var arr = new Array();
  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
  var arrClass = strClass.split(delim);
  for (var i = 0, j = objColl.length; i < j; i++) {
    var arrObjClass = objColl[i].className.split(' ');
    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
    var c = 0;
    comparisonLoop:
    for (var k = 0, l = arrObjClass.length; k < l; k++) {
      for (var m = 0, n = arrClass.length; m < n; m++) {
        if (arrClass[m] == arrObjClass[k]) c++;
        if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
          arr.push(objColl[i]);
          break comparisonLoop;
        }
      }
    }
  }
  return arr;
}

startList = function() {
	if (document.all && document.getElementById) {
		navRoot = document.getElementById("menu");
		for (i = 0; i < navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName == "LI") {
				node.onmouseover = function() { this.className += " hover"; };
				node.onmouseout=function() { this.className=this.className.replace(" hover", ""); };
			}
		}
	}
}

// To cover IE 5.0's lack of the push method
Array.prototype.push = function(value) {
  this[this.length] = value;
}

function flyout(e, pos, maxpos) {
	pos += 8;
	if (pos >= maxpos)
		pos = maxpos;
	e.style.width = pos + 'px';
	e.style.left = -pos + 'px';
	e.style.opacity = (pos/maxpos);
	e.style.filter = 'alpha(opacity=' + Math.round((pos/maxpos) * 100) + ')';
	if (pos < maxpos)
		e.timer = window.setTimeout(function() { flyout(e, pos, maxpos); }, 40);
}

function animate(type, img, opacity) {
	if (type == 0) {
		opacity += 0.02;
		var ids = ['incentives', 'rewardp', 'promotions', 'design', 'event', 'reward'];
		for (var i = 0; i < ids.length; i++) {
			var e = getElementsByClassName('img', '*', document.getElementById(ids[i]))[0];
			e.style.opacity = opacity;
			e.style.filter = 'alpha(opacity=' + Math.round(opacity * 100) + ')';
		}
		if (opacity >= 1) {
			animate(1, 0, 1);
			animate(2, 0, 1);
		} else {
			window.setTimeout(function() { animate(type, 0, opacity); }, 40);
		}
	} else {
		if (type == 1) {
			var e = document.getElementById('event');
		} else if (type = 2) {
			var e = document.getElementById('reward');
		} else {
			return;
		}

		var img1 = getElementsByClassName('img', 'div', e)[0];
		var img2 = getElementsByClassName('img2', 'div', e)[0];

		var delay = 40;
		opacity += 0.02;
		if (opacity >= 1) {
			opacity = 0;
			var opa = 0;
			var oimg = img;
			var img = (img + 1) % (type == 1 ? 4 : 3);
			img1.style.backgroundImage = 'url("images/' + (type == 1 ? 'event' : 'reward') + (oimg + 1) + '.jpg")';
			img2.style.backgroundImage = 'url("images/' + (type == 1 ? 'event' : 'reward') + (img + 1) + '.jpg")'
			delay = 2000;
		} else {
			var opa = opacity;
		}

		img2.style.opacity = opa;
		img2.style.filter = 'alpha(opacity=' + Math.round(opa * 100) + ')';
		window.setTimeout(function() { animate(type, img, opacity); }, delay);
	}
}

