
if(window.YUI) {
Y = YUI({
loadOptional: true
}).use("anim","event","node", function(Y) { 

Y.namespace('W');

//////////////////////////////////////////////////////
// wform
//////////////////////////////////////////////////////

wform = function(form) {
	
	// onsubmit - notice radio buttons can be preselected, so we don't check for those
	Y.on('submit',function(e){
		e.halt();
		// remove required
		form.all('.required').removeClass('required');
		// mark missing input
		form.all('input').each(function(n){
			if(n.get('type') != 'radio' && n.get('title') && n.get('title').indexOf('*')>-1 && 
				((n.get('type') == 'checkbox' && !n.get('checked')) || (n.get('value') == '' || n.get('value') == n.get('title')))) {
					n.addClass('required');
			}
			if(!n.hasClass('required') && n.getAttribute('email') && !n.get('value').match(/[a-zæøå0-9\.\-\_]*@[a-zæøå0-9\.\-\_]+\.[a-zA-Z]{2,4}/i)) {
				n.addClass('required');
			}
		});
		// mark missing select
		form.all('select').each(function(n){
			value = n.get('options').item(n.get('selectedIndex')).get('value');
			if(n.get('title') && n.get('title').indexOf('*')>-1 && (value == '' || value == n.get('title'))) {
				n.addClass('required');
			}
		});
		// mark missing textareas
		form.all('textarea').each(function(n){
			if(n.get('title') && n.get('title').indexOf('*')>-1 && (n.get('value') == '' || n.get('value') == n.get('title'))) {
				n.addClass('required');
			}
		});
		// error message
		var req = msg = email = '';
		form.all('.required').each(function(n){
			email = n.getAttribute('email') ? ' (e-mail)':'';
			msg += n.get('title').replace('*','')+email+'\n';
		});
		// alert or submit
		if(msg != '') {
			req = 'Required fields';
			if(typeof wlanguage != 'undefined' && wlanguage == 'da')
				req = 'Påkrævede felter';
			alert(req+':\n'+msg);
		
		// delete inline labels and submit
		} else {
			form.all('input').each(function(n){
				if(n.get('value') == n.get('title')) {
					n.set('value','');
				}
			});
			form.all('textarea').each(function(n){
				if(n.get('value') == n.get('title')) {
					n.set('value','');
				}
			});
			form.all('select').each(function(n){
				value = this.get('options').item(this.get('selectedIndex')).get('value');
				if(value == this.get('title')) {
					value = '';
				}
			});
			//if(document.MM_returnValue)form.submit();
			form.submit();
		}
		
	},form);
	
	_focus = function(e) {
		this.removeClass('required');
		this.replaceClass('grey','black');
		if(this.get('value') == this.get('title')) this.set('value','');
		if(this.get('tagName') == 'TEXTAREA') {
			value = this.get('innerHTML');
			if(value == this.get('title')) this.set('innerHTML','');
		}
	}
	
	_blur = function(e) {
		this.replaceClass('black','grey');
		if(this.get('tagName') == 'INPUT' || this.get('tagName') == 'TEXTAREA') {
			if(form.hasClass('inlineform') && this.get('value') == '' && this.get('title')) this.set('value',this.get('title'));
			if(this.get('value') != '' && this.get('value') != this.get('title')) this.replaceClass('grey','black');
		} else if(this.get('tagName') == 'SELECT') {
			if(form.hasClass('inlineform'))value = this.get('options').item(this.get('selectedIndex')).get('value');
			if(value != '' && value != this.get('title')) {
				this.replaceClass('grey','black');
			}
		}
	}
	
	// inline labels
	if(form.hasClass('inlineform')) {
		form.all('input').each(function(n){
			if(n.get('value') == '' && n.get('title')) {
				n.set('value',n.get('title'));
			}
			if(n.get('value') == n.get('title')) {
				this.replaceClass('black','grey');
			} else {
				this.replaceClass('grey','black');
			}
			Y.on('focus',_focus,n);
			Y.on('blur',_blur,n);
		});
		form.all('textarea').each(function(n){
			if(n.get('value') == '' && n.get('title')) {
				n.set('value',n.get('title'));
			}
			if(n.get('value') == n.get('title')) {
				this.replaceClass('black','grey');
			} else {
				this.replaceClass('grey','black');
			}
			Y.on('focus',_focus,n);
			Y.on('blur',_blur,n);
		});
		form.all('select').each(function(n){
			this.replaceClass('black','grey');
			value = this.get('options').item(this.get('selectedIndex')).get('value');
			if(value != '' && value != this.get('title')) {
				this.replaceClass('grey','black');
			}
			Y.on('focus',_focus,n);
			Y.on('blur',_blur,n);
		});
	
	// wform labels
	} else {
		form.all('input').each(function(n){
			Y.on('focus',_focus,n);
			Y.on('blur',_blur,n);
		});
		form.all('textarea').each(function(n){
			Y.on('focus',_focus,n);
			Y.on('blur',_blur,n);
		});
		form.all('select').each(function(n){
			this.replaceClass('black','grey');
			Y.on('focus',_focus,n);
			Y.on('blur',_blur,n);
		});
	}
}

//////////////////////////////////////////////////////
// slides
//////////////////////////////////////////////////////

Y.W.slides = slides = function(node,num) {
	if(n = node.one('img.active')) {
		var a = new Y.Anim({node:n,from:{opacity:1},to:{opacity:0},duration:0.4});
		a.on('end', function() {
			n.removeClass('active');
			b = node.one('img.slide_'+num);
			b.setStyle('opacity',0);
			b.addClass('active');
			var b = new Y.Anim({node:b,from:{opacity:0},to:{opacity:1},duration:0.6});
			b.on('end', function() {
				node.all('div a').removeClass('active');
				node.one('a.select_'+num).addClass('active');
			});
			b.run();
		}); 
		a.run();
	}
}

slides_rotate = function(node,num) {
	if(typeof slides_timer == 'undefined')slides_timer = 15000;
	var time = node.getAttribute('time') ? node.getAttribute('time'):slides_timer;
	setTimeout(function(n){
		if(a = node.all('img')) {
			num += 1;
			if(num > a.size()) num = 1;
			slides(node,num);
			slides_rotate(node,num);
		}
	},time);
}

//////////////////////////////////////////////////////
// ondomready
//////////////////////////////////////////////////////

Y.on("domready", function(){
	
	// set link targets
	Y.all('body a').each(function(n){
		if(!n.get('href').indexOf('/Webnodes')) {
			n.set('target','_blank'); 
		}
	});
	
	// feedback
	if(Y.one('#feedback ul') && !Y.one('#feedback ul.error')) {
		setTimeout(function(){
			var n = Y.one('#feedback');
			var fade = new Y.Anim({node:n,from:{opacity:1},to:{opacity:.0},duration:1});
			fade.on('end',function() {
				n.setStyle('display','none');
			});
			fade.run();
		},8000);
	}
	
	// wform
	Y.all('.wform').each(function(n){
		wform(n);
	});
	
	// slides
	Y.all('div.slides').each(function(node){
		slides_rotate(node,1);
	});

	// F9
	Y.on('key', function(){
		//console.log(window.parent.frames['public']);
		if(n = Y.one(window.parent.document)) {
			if(n = n.one('#public'))n.removeClass('active')
		}
	}, document, 'down:120');
});

});
}
