window.addEvent("domready", function() {
	var controlEvents = {
		'mouseenter': function() {
			$('featuredControls').tween('top','323px');
		},
		'mouseleave': function() {
			$('featuredControls').tween('top','403px');
		}
	};
	var featuredCurrent = 0;
	$('featuredImage').setStyle('left', '0px');
	var change = function(project, i) {
		if(!$defined(project)) {
			i = featuredCurrent+1;
			if(i >= featured.length) {
				i = 0;
			}
			project = featured[i];
		}
		var inject = (i > featuredCurrent && !(featuredCurrent == 0 && i == featured.length-1)) || (featuredCurrent == featured.length-1 && i == 0)?'bottom':'top';
		var next = i+1 == featured.length?0:i+1;
		var prev = i == 0?featured.length-1:i-1;
		$('featuredHolder').removeEvents();
		$('featuredControls').tween('top', '403px');
		$('featuredPoints').fade();
		(function() {$('featuredName').fade()}).delay(200);
		(function() {
			$('featuredImage').setStyle('width','1880px');
			project.featureImage.clone().inject($('featuredImage'), inject);
			$('featuredName').set('text', project.name);
			$('featuredPoints').set('html', project.points);
			if(inject == 'bottom') {
				$('featuredImage').tween('left', '-940px');
				(function() {
					$('featuredImage').getFirst().destroy();
					$('featuredImage').setStyle('width','940px');
					$('featuredImage').setStyle('left', '0px');
				}).delay(1000);
			} else {
				$('featuredImage').setStyle('left', '-940px');
				$('featuredImage').tween('left', '0px');
				(function() {
					$('featuredImage').getLast().destroy();
					$('featuredImage').setStyle('width','940px');
					$('featuredImage').setStyle('left', '0px');
				}).delay(1000);
			}
			(function() {$('featuredName').fade()}).delay(200);
			(function() {$('featuredPoints').fade()}).delay(500);
			if(!Browser.Engine.trident) (function() {$('featuredHolder').addEvents(controlEvents)}).delay(1000);
		}).delay(1000);
		$('featuredNext').set('html','');

		var nextButton = featured[next].thumbDiv.clone();
		var prevButton = featured[prev].thumbDiv.clone();
		(function() {
			if(!Browser.Engine.trident)
			nextButton.getFirst().cloneEvents(featured[next].thumbDiv.getFirst())
			nextButton.inject($('featuredNext'));
			$('featuredPrev').set('html','');
			if(!Browser.Engine.trident)
			prevButton.getFirst().cloneEvents(featured[prev].thumbDiv.getFirst());
			prevButton.inject($('featuredPrev'));
		}).delay(200);
		featuredCurrent = i;
	}
	var periodID = change.periodical(5000);
	$('featuredControls').set('tween', {transition: Fx.Transitions.Quad.easeOut, duration: 'short'});
	if(!Browser.Engine.trident) $('featuredHolder').addEvents(controlEvents);
	featured = JSON.decode(featured);
	featured.each(function(project, i) {
		project.loaded = false;
		project.thumbDiv = new Element('div', {id: 'thumbDiv-'+i, 'class': 'featuredThumb loading'});
		project.images = new Asset.images([project.imageSrc,project.thumbSrc], {
			onComplete: function(){
				project.thumbDiv.removeClass('loading');
				var a = new Element('a', {
					events: {
						click: function() {
							change(project, i);
							$clear(periodID);
						}
					},
					text: project.name
				}).inject(project.thumbDiv);
				new Element('br').inject(a,'top');
				new Element('img',{src:project.thumbSrc}).inject(a,'top');
				project.loaded = true;
				project.featureImage = new Element('a', {href:project.link}).grab(new Element('img',{src:project.imageSrc}));
			}
		});
		if(i==1) {
			$('featuredNext').empty();
			$('featuredNext').grab(project.thumbDiv);
		}
		if(i==featured.length-1) {
			$('featuredPrev').empty();
			$('featuredPrev').grab(project.thumbDiv);
		}
	});
});