/*
*	ocImageRotator
*
*	Documentation removed for faster loading.
*	Send bug reports, inquiries and comments to go@omnia-computing.de
*
*	@copyright 	http://creativecommons.org/licenses/by-nc-sa/2.0/de/
*	@url 		www.omnia-computing.de
*   @author		Gordon Oheim, go@omnia-computing.de		
*	@version	1.0.0
*/
	function addImageRotator(elImgId, imgList) {
		objImgRotator = new ImageRotator();
		with(objImgRotator) {
			orgImage = document.getElementById(elImgId);
			dynImage = createOverlay();
			images = preloadImages(imgList);
			start();
		}
	}	
	
	function ImageRotator() {
		this.orgImage = '';
		this.dynImage = '';
		this.images = new Array();
		this.delay = 50;
		this.createOverlay = createOverlay;
		this.preloadImages = preloadImages;
		this.cycleImage = cycleImage;
		this.fade = fade;
		this.setOpacity = setOpacity;
		this.start = start;
	}

	function createOverlay() {
		dynImage = this.orgImage.cloneNode(true);
		with (dynImage) {
			setAttribute('id', 'dyn' + this.orgImage.id);
			setAttribute('class', 'dynImageOverlay');
			setAttribute('alt', 'HOEHER TEAM - Wolken, Himmel, Horizont');
		}
		this.orgImage.parentNode.appendChild(dynImage);
		return dynImage;
	}

	function preloadImages(imgList) {
		for(n = 0; n < imgList.length; n++) {
			elImg = new Image();
			elImg.src = imgList[n];
			this.images[n] = elImg;
		}
		return this.images;
	}

	function start() {
		this.cycleImage(0, this, true);
	}
	function cycleImage(i, obj, isDyn) {
		if (isDyn == true) {
			elImg = obj.dynImage;
			i = i+1;
		}
		else {
			elImg = obj.orgImage;
			obj.setOpacity(0, obj);
		}
		if (obj.images[i]){
			elImg.style.display = "none";
			elImg.src = obj.images[i].src;
			elImg.style.display = "block";
		}
		else {
			i = 0;
			elImg.src = obj.images[i].src;
		}
		if (isDyn == true) {
			obj.fade(0, obj);
			isDyn = false;
		}
		else {
			isDyn = true;
		}
		setTimeout(
			function() {
				obj.cycleImage(i, obj, isDyn);
			}, obj.delay*100
		);
	}

	function fade(i, obj) {
		setTimeout(
			function() {
				this.setOpacity(i, obj);
			}, i*obj.delay);
		if (i < obj.delay) {
			this.fade(++i, obj);
		}
	}
	function setOpacity(val, obj, rev) {
		if (rev == true) {
			val = obj.delay-val;
		}
		obj.dynImage.style.opacity = val/obj.delay;
		percent = val * (100/obj.delay);
		obj.dynImage.style.filter = 'alpha(opacity=' + percent + ')';
	}

	Event.observe(window, 'load', function() {
		addImageRotator(
			'rotated', 
			new Array(
				'/wp-content/themes/hoeher/images/header-02.jpg',
				'/wp-content/themes/hoeher/images/header-03.jpg',
				'/wp-content/themes/hoeher/images/header-04.jpg',
				'/wp-content/themes/hoeher/images/header-05.jpg',
				'/wp-content/themes/hoeher/images/header-06.jpg',
				'/wp-content/themes/hoeher/images/header-07.jpg',
				'/wp-content/themes/hoeher/images/header-08.jpg',
				'/wp-content/themes/hoeher/images/header-09.jpg',				
				'/wp-content/themes/hoeher/images/header-01.jpg'
			)
		)
	});
