window.addEvent('domready', function() {
	
	// Auto-TOC generation
	if ($('autotoc')) {
		var headers = $$('#c h4');
		var ul = new Element('ul');
		for (var i = 0; i < headers.length; i++) {
			headers[i].setProperty('id', 'header'+i);
			var li = new Element('li', {'html': '&bull; '});
			new Element('a', {
				'href': 'javascript:void(gotoElement("header'+i+'"));',
				'html': headers[i].get('text')
			}).inject(li);
			li.inject(ul);
		}
		ul.inject('autotoc');
	}
	
	$$('a.extern').setProperty('target', '_blank');
	
	$$('#leftmenu').addEvents({
		'mouseenter': function() { $$('#leftmenu .selected').fade(0.5); },
		'mouseleave': function() { $$('#leftmenu .selected').fade(1.0); }
	});	
	
	$$('#leftmenu a:not(.selected)').addEvents({
		'mouseenter': function() {
			this.set('morph', {duration: 300});
			this.morph({
				'background-color': '#fff',
				'color': '#434d58'
			});
		},
		'mouseleave': function() {
			this.set('morph', {duration: 300});
			this.morph({
				'background-color': '#434d58',
				'color': '#fff'
			});
		}
	});
	
	$$('#topmenu a:not(.selected)').addEvents({
		'mouseenter': function() {
			this.fade(0.01);
		},
		'mouseleave': function() {
			this.fade(1);
		}
	});
	
	$$('#c a').addEvents({
		'mouseenter': function() {
			this.set('tween', {duration: 500});
			this.tween('color', '#c60');
		},
		'mouseleave': function() {
			this.tween('color', '#356');
		}
	});
	
	// forms
	
	$$('form .inpbtn').addEvents({
		'mouseenter': function() {
			this.set('morph', {duration: 300});
			this.morph({
				'background-color': '#e9e5d9',
				'color': '#000',
				'border-color': '#434d58'
			});
		},
		'mouseleave': function() {
			this.morph({
				'background-color': '#434d58',
				'color': '#fff',
				'border-color': '#e9e5d9'
			});
		}
	});
	
	$$('form .inptext').addEvents({
		'focus': function() {
			this.tween('background-color', '#f9f5eb');
		},
		'blur': function() {
			if (this.hasClass('validate_email') && this.value!='') {
				var pattern = /^[\w]+@[\w]+\.[\w]{2,6}$/;
				if (!pattern.test(this.value)) {
					this.tween('background-color', '#f65');
					return;
				}
			}
			this.tween('background-color', '#fff');
		}
	});
	
	var days = new Array('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag');
	var months = new Array('januar', 'februar', 'marts', 'april', 'maj', 'juni',
		'juli', 'august', 'september', 'oktober', 'november', 'december');
	
	function timeframe() {
		var t = new Date();
		$('infopanel').set('text', 
			days[t.getDay()] + ' d. ' +
			t.getDate() + '. ' +
			months[t.getMonth()] + ' ' +
			t.getFullYear() + ' kl. ' +
			t.getHours() + ':' +
			(t.getMinutes()<10?'0'+t.getMinutes():t.getMinutes()) + ':' + 
			(t.getSeconds()<10?'0'+t.getSeconds():t.getSeconds()) +
			' - © 2009 Kris Lux'
		);
	}; timeframe();
	timeframe.periodical(1000);
	
	var excerpt_current = 0; var excerpt_length = 0;
	while ($('excerpt'+(excerpt_current++)))
		excerpt_length++;
	
	if (excerpt_length >= 2) {
		excerpt_current = 0;
		(function() {
			$('excerpt'+excerpt_current).fade(0);
			(function() {
				$('excerpt'+excerpt_current).setStyle('display', 'none');
				if (++excerpt_current >= excerpt_length)
					excerpt_current = 0;
				$('excerpt'+excerpt_current).fade('hide').setStyle('display', 'block').fade(1);
			}).delay(500);
		}).periodical(10000);
	}
	
	if ($('picthrobber')) {
		var picthrobber = $$('#picthrobber div');
		var picthrobber_dir = false;
		picthrobber.set('tween', {duration: 2000});
		(function() {
			picthrobber.fade(picthrobber_dir ? 1 : 0);
			picthrobber_dir = !picthrobber_dir;
		}).periodical(2000);
	}
});

function gotoElement(el) {
	new Fx.Scroll(window, {
		duration: 1000
	}).toElement(el);
}