window.addEvent('domready', function () {

	// external links
	$(document.body).getElements('a[rel=external]').each(function (el) {
		el.addEvent('click', function (e) {
			new Event(e).stop();
			window.open(el.get('href'));
		    });
	    });
	var opa = 0.6;
	if (Browser.ie){
	    opa = 1;
	}
	// navlight
	var here = $$('body')[0].get('id');
	var offset = $$('.header')[0].getPosition().x;

	var el = $$('.top_nav li.' + here + ' a')[0];
	if (! el ) el = $$('.top_nav li a')[0];
	$('nav_light').set('opacity',0);
	if (Browser.ie){
	    $('nav_light').set('opacity',1);
	}
	$('nav_light').morph({
		'left': el.getPosition().x - offset + (el.getSize().x/2).toInt() - 45,
		    'opacity': opa
		    });
	$$('.top_nav li a').each(function (a) {
		a.addEvent('mouseenter', function () {
			var offset = $$('.header')[0].getPosition().x;
			$('nav_light').morph({
				'left': a.getPosition().x - offset + (a.getSize().x/2).toInt() - 45,
				    'opacity': 1
				    });
		    });
		a.addEvent('mouseleave', function () {
			var offset = $$('.header')[0].getPosition().x;
			$('nav_light').morph({
				'left': el.getPosition().x - offset + (el.getSize().x/2).toInt() - 45,
				    'opacity': opa
				    });
		    });
	    });

	// previews
	$$('.project-img .description').setStyle('top',-120);
	$$('.project-img').each(function (el) {
		var description = el.getElement('.description');
		var image = el.getElement('img');
		var effectI = new Fx.Morph(image, {
			duration: 500,
			transition: Fx.Transitions.Quint.easeOut
		    });
		el.addEvent('mouseenter', function () {
			description.tween('top',0);
			effectI.cancel();
			effectI.start({
				'width' : 578,
				    'top' : -12,
				    'left' : -75
			    });
		    });
		el.addEvent('mouseleave', function () {
			description.tween('top',-120);
			effectI.cancel();
			effectI.start({
				'width' : 428,
				    'top' : 0,
				    'left' : 0
			    });
		    });
	    });
	// title animation
	if ($$('.project-description .body')[0]) {
	    $$('.project-description h4').setStyles({
		    "position" : "absolute",
			"width" : 430,
			"font-size" : 28,
			"top" : 40
		});
	    $$('.project-description .body').setStyle("padding-top", 30);
	    $$('.project-description').each(function (el) {
		    var title = el.getElement('h4');
		    var body = el.getElement('.body');
		    body.set("opacity",0);
		    var titleFx = new Fx.Morph(title, {
			    duration: 200
			});
		    var bodyFx = new Fx.Tween(body, {
			    duration: 500,
		    });
		    el.addEvent("mouseenter", function () {
			    titleFx.cancel();
			    bodyFx.cancel();
			    titleFx.start({
				    "font-size" : 23,
					"top" : 0
				});
			    bodyFx.start('opacity', 1);
			});
		    el.addEvent("mouseleave", function () {
			    titleFx.cancel();
			    bodyFx.cancel();
			    titleFx.start({
				    "font-size" : 28,
					"top" : 40
				});
			    bodyFx.start('opacity', 0);
			});
		});
	}

	// next/prev project
	if ($("next-project")) {
	    $("next-project").set('opacity',0.4);
	    var span = $("next-project").getElement("span");
	    span.set('opacity',0);
	    var spanFx = new Fx.Tween(span, {duration: 200});
	    var elFx = new Fx.Tween("next-project", {duration: 150});
	    $("next-project").addEvent('mouseenter', function () {
		    spanFx.cancel();
		    elFx.cancel();
		    spanFx.start('opacity',1);
		    elFx.start('opacity',1);
		});
	    $("next-project").addEvent('mouseleave', function () {
		    spanFx.cancel();
		    elFx.cancel();
		    spanFx.start('opacity',0);
		    elFx.start('opacity',0.4);
		});
	}
	if ($("prev-project")) {
	    $("prev-project").set('opacity',0.4);
	    var span = $("prev-project").getElement("span");
	    span.set('opacity',0);
	    var spanFx2 = new Fx.Tween(span, {duration: 200});
	    var elFx2 = new Fx.Tween("prev-project", {duration: 150});
	    $("prev-project").addEvent('mouseenter', function () {
		    spanFx2.cancel();
		    elFx2.cancel();
		    spanFx2.start('opacity',1);
		    elFx2.start('opacity',1);
		});
	    $("prev-project").addEvent('mouseleave', function () {
		    spanFx2.cancel();
		    elFx2.cancel();
		    spanFx2.start('opacity',0);
		    elFx2.start('opacity',0.4);
		});
	}
	// intro slideshow
	if ($('intro')) {
	    var view = new viewer($$('#intro li)'),{
		    mode: 'alpha',
		    interval: 5000
		}).play(true);
	}
    });

