// JavaScript Document
var currentElement = 0;
var images = false;
var totalElements = 0;

window.addEvent('domready', function() {
	flirReplace();
	activateScroller();
	homeRotator();
});

function homeRotator() {
	$$('#home_rotator img').setStyle('opacity', 0);
	images = $$('#home_rotator img');
	//currentElement = images[currentElement];
	totalElements = images.length;
	
	if (totalElements==0) return;
	
	images[currentElement].setStyle('visibility', 'visible');
	images[currentElement].setStyle('opacity', 1);
	
	var rotator = function() {
		// nieuw element berekenen
		if (currentElement == totalElements-1) {
			currentElement = 1;	
		}
		else {
			currentElement = currentElement + 1;
		}
		
		// element on top zetten en faden
		images[currentElement].setStyle('z-index', 5);
		
		morph = new Fx.Morph(images[currentElement],{duration: 'normal', transition: Fx.Transitions.Sine.easeOut});
		morph.addEvent('onComplete', function() {
			// rest uitzetten na fade
			$$('#home_rotator img').each(function(el) {
				if (el != images[currentElement]) {
					el.setStyle('visibiliy', 'hidden');
					el.setStyle('opacity', 0);
					el.setStyle('z-index', 1);
				}
			});
			// nieuwe aanvragen
			rotator.delay(5000);

		});
		morph.start({
			'opacity': [0, 1]
		});
	}
	rotator.delay(5000);

}

function flirReplace() {
	FLIR.init();
	FLIR.replace(['h2.multi'], new FLIRStyle({ mode:'wrap', realFontHeight:true }));
	FLIR.auto(['div.menu a', 'h2']);
	FLIR.replace(['span.title', 'span.content'], new FLIRStyle({ mode:'wrap', realFontHeight:true }));
}

function activateScroller() {
	// Clone dit aantal
	var amount = 1;
	
	// Add spacer in front
	$$('.scroller a').each(function(el) {
		var spacer = new Element('span', {
			'html': '+++'
		});
		spacer.inject(el, 'after');
	});
	
	//$('scroller').getParent().setStyle();
	
	for (var x = 1; x <= amount; x++) {
		var scrollEl = $$('#ticker .scroller')[0];
		scrollEl.clone().inject($('ticker'), 'bottom');
	}
	
	FLIR.replace(['#ticker']);
	
	var scrollSize = 0;
	
	var scrolling = function() {
		$$('.scroller').each(function(el, key) {
			var morphAnimation = new Fx.Morph(el,{duration: scrollSize*25, transition: Fx.Transitions.linear});
			if (key == 0) {
				morphAnimation.addEvent('onComplete', function() {
					$$('.scroller')[0].inject($('ticker'), 'bottom');
					scrolling();
				});
			}
			morphAnimation.start({
				'left': [key*scrollSize, (key-1)*scrollSize]
			});
		});
	}
	
	var funct = function() {
		
		$$('.scroller img').each(function(element) {
			scrollSize = scrollSize + parseInt(element.getCoordinates().width);
		});
		$$('.scroller').each(function(el, key) {
			el.setStyle('left', key*scrollSize);
		});
		$('ticker').setStyle('width', scrollSize*amount);
		$('ticker').setStyle('opacity', 0).fade('in');
		scrolling();
	}
	funct.delay(1000);
	
	
	

	/*
// animate image
			morphFoto.addEvent('onComplete', function() {
				// Fade tekst
				var morphTextCurrent = new Fx.Morph(currentText,{duration: 'short', transition: Fx.Transitions.Sine.easeOut});
				var morphTextNew = new Fx.Morph(newText,{duration: 'short', transition: Fx.Transitions.Sine.easeOut});
				morphTextCurrent.addEvent('onComplete', function() {
					morphTextNew.start({
						'opacity': [0, 1]
					});	
				});
				morphTextCurrent.start({
					'opacity': [1, 0]
				});	
			});
			morphFoto.start({
				'left': [moveBegin, moveEnd]
			});	
 
			// Set Counter
			counterElements.removeClass('active');
			counterElements[huidigeIntro-1].addClass('active');
			
			
			
	*/		
	
	//var tickerSize = $('scroller').getParent().getCoordinates();
	/*
	
	var amount = Math.ceil(tickerSize.width/scrollerSize.width);
	
	$('scroller').getParent().setStyle();
	
	for (var x = 1; x <= amount; x++) {
		var scrollEl = $('scroller');
		scrollEl.clone().inject(scrollEl, 'after');
	}

	*/
	// Final Spacer
	/*
	var spacer = new Element('span', {
		'html': '+++'
	});
	spacer.inject($('scroller'), 'bottom');
	
	*/
	
	
}
