(function() {
	var views = [], prevIndex = 0, curIndex = 0, opacity = 0, pause = false,
	images = ['staff1.jpg', 'staff2.jpg', 'staff3.jpg', 'staff4.jpg', 'staff5.jpg', 'staff6.jpg'],
	addListener = (function() {
		if (window.addEventListener) { return function(o, t, f) { o.addEventListener(t, f, false); }; }
		else if (window.attachEvent) { return function(o, t, f) { o.attachEvent('on' + t, f); }; }
		else { return function() { }; }
	} ()),
	removeListener = (function() {
		if (window.removeEventListener) { return function(o, t, f) { o.removeEventListener(t, f, false); }; }
		else if (window.detachEvent) { return function(o, t, f) { o.detachEvent('on' + t, f); }; }
		else { return function() { }; }
	} ());
	function addView(div, img, name) {
		views[views.length] = {
			'div': div,
			'img': img,
			'name': name
		};
	}
	function getFileName(path) {
		if (path) {
			var i = path.lastIndexOf('/');
			if (i >= 0) {
				path = path.substring(i + 1);
			}
		}
		return path;
	}
	function updateAlpha() {
		opacity += 10;
		if (opacity < 99) {
			views[curIndex].div.style.filter = "alpha(opacity=" + opacity + ")";
			setTimeout(updateAlpha, 100);
		}
		else {
			views[curIndex].div.style.filter = "alpha(opacity=100)";
			finishTransition();
		}
	}
	function updateOpacity() {
		opacity += 0.1;
		if (opacity < 0.99) {
			views[curIndex].div.style.opacity = opacity;
			setTimeout(updateOpacity, 100);
		}
		else {
			views[curIndex].div.style.opacity = 1;
			finishTransition();
		}
	}
	function transitionImage() {
		opacity = 0;
		views[prevIndex].div.style.zIndex = '1';
		if (views[curIndex].div.filters) {
			updateAlpha();
		}
		else {
			updateOpacity();
		}
		views[curIndex].div.style.display = 'block';
		views[curIndex].div.style.zIndex = '2';
	}
	function displayImage() {
		var image, image0 = views[0].img;
		image = document.createElement('img');
		views[curIndex].img = image;
		image.onload = function() {
			image.onload = null;
			views[curIndex].div.appendChild(image);
			transitionImage();
		};
		image.width = image0.width;
		image.height = image0.height;
		image.alt = image0.alt;
		image.src = image0.src.replace(views[0].name, views[curIndex].name);
	}
	function startTransition() {
		if (pause) {
			setTimeout(startTransition, 100);
		}
		else {
			prevIndex = curIndex;
			curIndex = (curIndex + 1) % views.length;
			if (views[curIndex].img) {
				transitionImage();
			}
			else {
				displayImage();
			}
		}
	}
	function finishTransition() {
		views[prevIndex].div.style.display = 'none';
		views[prevIndex].div.style.zIndex = '0';
		setTimeout(startTransition, 3000);
	}
	function load() {
		var vp, div, img, fileName, bgDiv, i, l;
		removeListener(window, 'load', load);
		vp = document.getElementById("homeMainImage");
		if (vp && vp.getElementsByTagName) {
			div = vp.getElementsByTagName('div');
			img = vp.getElementsByTagName('img');
			if (div && div.length === 1 && img && img.length === 1) {
				div = div[0];
				img = img[0];
				fileName = getFileName(img.src);
				if (fileName) {
					if (vp.insertBefore) {
						bgDiv = document.createElement('div');
						bgDiv.className = 'view';
						bgDiv.style.backgroundColor = '#000';
						bgDiv.style.display = 'block';
						bgDiv.style.zIndex = '1';
						vp.insertBefore(bgDiv, div);
					}
					addView(div, img, fileName);
					for (i = 0, l = images.length; i < l; i++) {
						div = document.createElement('div');
						div.className = 'view';
						addView(div, false, images[i]);
						vp.appendChild(div);
					}
					//Disable pause on mouseover
					//vp.onmouseout = function() { pause = false; };
					//vp.onmouseover = function() { pause = true; };
					setTimeout(startTransition, 3000);
				}
			}
		}
	}
	if (document.getElementById) {
		addListener(window, 'load', load);
	}
} ());
