
var header = true;
var slide = 1;
var calendar_tooltip = null;
var months = ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"];
var weekdays = ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"];

function fadeIn(e) {
YUI().use('anim', function(Y) {
	if(e) {
		e.addClass('active');
		var a = new Y.Anim({node:'#'+e.get('id'),from:{opacity:0},to:{opacity:1},duration:0.2});
		a.on('end', function() {
			e.setStyle('filter','');
		}); 
		a.run();
	}
});
}

function fadeOut(e) {
YUI().use('anim', function(Y) {
	if(e) {
		e.setStyles({opacity:1,display:'block'});
		var a = new Y.Anim({node:'#'+e.get('id'),from:{opacity:1},to:{opacity:0},duration:0.2});
		a.on('end', function() {
			e.removeClass('active');
		}); 
		a.run();
	}
});
}

function calendar() {
YUI().use("node","cookie", function(Y) {
	var c = Y.Cookie.get('calendar');
	var t = Y.get('#calendar-toggle');
	if(t && c && c>0) {
		Y.get('#calendar').addClass('open');
		t.set('innerHTML','Skjul kalender');
	} else if(t) {
		t.set('innerHTML','Vis kalender');
	}
	var c = new YAHOO.widget.Calendar("cal","calendar",{
		LOCALE_WEEKDAYS:"short", 
		MONTHS_SHORT:["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
		MONTHS_LONG:months,
		WEEKDAYS_1CHAR:["S", "M", "T", "O", "T", "F", "L"],
		WEEKDAYS_SHORT:["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"],
		WEEKDAYS_MEDIUM:["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"],
		WEEKDAYS_LONG:weekdays,
		start_weekday:1,
		maxdate:"1/1/1"
	});
	if(pagedate = Y.Cookie.get('pagedate')) {
		c.cfg.setProperty("pagedate",pagedate);
	}
	var highlight = function(date,cell) {
		cell = Y.get(cell);
		d = date.getMonth()+1+'/'+date.getDate()+'/'+date.getFullYear();
		c = ccolor[d];
		d = date.getMonth()+1;
		d = date.getFullYear()+'-'+d+'-'+date.getDate();
		cell.set('innerHTML','<a class="selector color'+c+'" href="#" onclick="location.href=\'/Webnodes/1169?date='+d+'\'" onmouseover="dayMouseOver(\''+date+'\',this)" onmouseout="dayMouseOut()">'+date.getDate()+'</a>');
		cell.addClass('highlight');
		return YAHOO.widget.Calendar.STOP_RENDER;
	}
	c.addRenderer(cdate,highlight)
	function changePage(type,args,obj) {
		d = new Date(obj.cfg.config.pagedate.value);
		d = d.getMonth()+1+'/'+d.getFullYear();
		Y.Cookie.set('pagedate',d);
	}
	c.changePageEvent.subscribe(changePage,c,true); 
	c.render();
});
}

function dayMouseOver(date,a) {
YUI().use('anim', function(Y) {
	y = Y.get(a).getY();
	date = new Date(date);
	calendar_tooltip.set('headerContent',weekdays[date.getDay()]+' '+date.getDate()+'. '+months[date.getMonth()]);
	d = date.getMonth()+1+'/'+date.getDate()+'/'+date.getFullYear();
	var text = '';
	if(a = ctext[d]) {
		for(i=0;i<a.length;i++) {
			if(a[i]) text += '<li>'+a[i]+'</li>';
		}
	}
	if(text!='') calendar_tooltip.set('bodyContent','<ul>'+text+'</ul>');
	x = Y.get('#calendar').getX()+225;
	calendar_tooltip.move(x,y);
	calendar_tooltip.set('zIndex',4000);
	calendar_tooltip.set('visible',true);
});
}

function dayMouseOut() {
	calendar_tooltip.set('visible',false);
	calendar_tooltip.set('zIndex',-1);
}

function calendarToggle() {
YUI().use('anim','node','cookie', function(Y) {
	var n = Y.get('#calendar')
	var t = Y.get('#calendar-toggle');
	if(n && t) {
		var h = n.getStyle('height').replace(/[a-z]+/,'');
		var c = Y.Cookie.get('calendar');
		if(h>150) {
			var a = new Y.Anim({node:n,from:{height:210},to:{height:0},duration:0.6,easing:Y.Easing.backIn});
			a.on('end', function() {
				n.removeClass('open');
				Y.Cookie.set('calendar',0,{expires:new Date("January 12, 2099")});
				t.set('innerHTML','Vis kalender');
			}); 
			a.run();
		} else {
			var a = new Y.Anim({node:n,from:{height:0},to:{height:210},duration:0.4,easing:Y.Easing.easeOutStrong});
			a.on('end', function() {
				n.addClass('open');
				Y.Cookie.set('calendar',1,{expires:new Date("January 12, 2099")});
				t.set('innerHTML','Skjul kalender');
			}); 
			a.run();
		}
	}
});
}

function headers(s) {
YUI().use('node','anim', function(Y) {
	if(header) {
		header = false;
		if(v = Y.get('#headers img.active')) {
			var a = new Y.Anim({node:v,from:{opacity:1},to:{opacity:0},duration:0.2});
			a.on('end', function() {
				v.removeClass('active');
				b = Y.get('#h'+s);
				b.setStyle('opacity',0);
				b.addClass('active');
				var b = new Y.Anim({node:b,from:{opacity:0},to:{opacity:1},duration:0.2});
				b.on('end', function() {
					header = true;
					slide = s;
					Y.all('#headers .select a').removeClass('active');
					Y.get('#s'+s).addClass('active');
				});			
				b.run();
			}); 
			a.run();
		}
	}
});
}

function headerslide() {
YUI().use('node', function(Y) {
	setTimeout(function(){
		var a = Y.all('#headers img');
		slide += 1;
		if(slide > a.size()) {
			slide = 1;
		}
		headers(slide);
		headerslide();
	},6000);
});
}

function frontSlides(d) {
YUI().use('node', function(Y) {
	var a = Y.all('.slides .slide');
	if(e = Y.get('.slides .active')) {
		var i = Number(e.get('id').replace('slide-',''))+d;
		if(i>-1) {
			var j = '#slide-'+String(i);
			if(s = Y.get(j)) {
				if(l = Y.get('#left')) {
					l.removeClass('inactive');
					if(i==0) l.addClass('inactive');
				}
				if(r = Y.get('#right')) {
					r.removeClass('inactive');
					if(i==a.size()-1) r.addClass('inactive');
				}
				fadeOut(e);
				setTimeout(function(){
					fadeIn(s);
					Y.get('#date').set('innerHTML',s.query('.date').get('innerHTML'));
				},200);
			}
		}
	}
});
}

function readMore(more) {
YUI().use('anim','node', function(Y) {
	if(a = Y.all('#maincol div.articles div.intro')) {
		a.setStyle('display','block');
	}
	if(a = Y.all('#maincol div.articles div.body')) {
		a.setStyle('display','none');
	}
	if(a = Y.all('#maincol div.articles div.image2')) {
		a.setStyle('display','none');
	}
	if(more) {
		Y.get('#maincol div.articles #back').setStyle('display','block');
		if(a = Y.all('#maincol div.articles table.article')) {
			a.setStyle('display','none');
		}
		more = Y.get(more);
		var td = more.get('parentNode').get('parentNode');
		var table = td.get('parentNode').get('parentNode').get('parentNode');
		var image2 = table.query('div.image2');
		var intro = td.query('div.intro');
		var abody = td.query('div.body');
		intro.setStyle('display','none');
		abody.setStyle('display','block');
		image2.setStyle('display','block');
		table.setStyles({opacity:0,display:'block'});
		//var height = Number(td.getStyle('height').replace(/[a-z]+/,''));
		//height = height + td.getY() - abody.getY();
		var a = new Y.Anim({node:table,from:{opacity:0},to:{opacity:1},duration:0.6});
		a.run();
	} else if(a = Y.all('#maincol div.articles table.article')) {
		a.setStyle('display','block');
		Y.get('#maincol div.articles #back').setStyle('display','none');
	}
});
}

YUI().use('dom','cookie','event','node','overlay', function(Y) {
	Y.on("available", calendar, "#calendar", Y);
	Y.on("domready", function(){
		calendar_tooltip = new Y.Overlay({visible:false});
		calendar_tooltip.render();
		if(e = Y.get('#front-slides .first')) {
			fadeIn(e);
			Y.get('#date').set('innerHTML',e.query('.date').get('innerHTML'));
		}
		if(Y.get('#headers'))headerslide();
	});
});
