"use strict";

window.addEvent('domready', function() {
	
	var animatebg_x = 0;
	var animatebg_y = 0;
	
	(function() {
		animatebg_x += 1;
		animatebg_y += 2;
		if (animatebg_y >= 400) animatebg_y = 0;
		if (animatebg_x >= 540) animatebg_x = 0;
		$(document.body).setStyle('background-position', animatebg_x+'px '+animatebg_y+'px');
	}).periodical(50);
	
	function excerpt(str, len) {
		if (str.length > len)
			return str.substring(0, len) + '...';
		return str;
	}
	
	// Drop-down
	
	var select = $$('select.drop-down');
	for (var i = 0; i < select.length; i++) {
		select[i].setStyle('display', 'none').setProperty('id', 'dd-select'+i);
		var ddd = new Element('div', {
			'class': 'drop-down',
			'id': 'drop-down'+i
		});
		var ddt = new Element('div', {'text': '- Vælg -'}).inject(ddd,'bottom');
		var ul = new Element('ul').inject(ddd,'bottom').set('morph', {duration: 350});
		var option = select[i].getChildren();
		for (var j = 0; j < option.length; j++) {
			if (option[j].value == -1) {
				ddt.set('text', option[j].get('text'));
				continue;
			}
			if (option[j].getProperty('selected'))
				ddt.set('text', excerpt(option[j].get('text'), 35));
			var li = new Element('li').inject(ul, 'bottom');
			var a = new Element('a', {
				'text': option[j].get('text'),
				'href': '#'
			}).inject(li, 'bottom');
			a.store('value', option[j].value);
			a.store('parent', i);
			a.addEvent('click', dd_click);
		}
		ddd.inject(select[i], 'after');
	}
	
	var dd = $$('div.drop-down');
	for (var i = 0; i < dd.length; i++) {
		ul = dd[i].getChildren('ul')[0];
		dd[i].store('height', ul.getStyle('height'));
		ul.setStyles({
			'height': '0',
			'opacity': '0'
		});
	}
	
	$$('div.drop-down').addEvent('click', function(event) {
		dd_hide();
		if (this.retrieve('open') != 1) {
			this.getChildren('ul')[0].morph({
				'height': this.retrieve('height'),
				'opacity': '1'
			});
			$$('.drop-down').setStyle('position', 'static');
			this.setStyle('position', 'relative');
			this.store('open', 1);
		}
	});
	
	function dd_click() {
		var parid = this.retrieve('parent');
		var dd = $('drop-down' + parid);
		dd.getChildren('div')[0].set('text', excerpt(this.get('text'), 35));
		$('dd-select'+parid).value = this.retrieve('value');
		dd_hide();
		return false;
	}
	
	function dd_hide() {
		var dd = $$('div.drop-down');
		for (var i = 0; i < dd.length; i++) {
			if (dd[i].retrieve('open')) {
				var ul = dd[i].getChildren('ul')[0];
				ul.morph({
					'height': '0',
					'opacity': '0'
				});
				dd[i].store('open', 0);
			}
		}
	}
	
	$(document.body).addEvent('click', function(event) {
		try {
		if (event.target.getParent().className != 'drop-down')
			dd_hide();
		} catch (error) { dd_hide(); }
	});
	
	$('qform').addEvent('submit', function(event) {
		var e = this.getElementsByTagName('input');
		for (var i = 0; i < e.length; i++) {
			if (e[i].getAttribute('type') == 'text') {
				if (e[i].value == '') {
					alert("Du mangler at udfylde nogle oplysninger");
					event.stop();
					return false;
				}
			}
		}
	});
});