
var kal_visible;
var kal_h2_origbg;
var kal_slide;

var kal_height;

var tips;
var cal_update;
var kalUrl = "assets/snippets/kalender/ajaxkalender.php";
var kal_current;
var totalStartHeight;

window.addEvent('load', function(){
	// Fiks hover i menyen
	$("ajaxmenu").getElements("li").each(function(el){
		el.addEvent("mouseenter", function(){
			el.addClass("sfhover");
		});
		el.addEvent("mouseleave", function(){
			el.removeClass("sfhover");
		});
	});

	// Fiks menybredde
	var menyObjekter = $$("#ajaxmenu li a").filter(function(el){
		return (el.getParent().getParent().getParent().getProperty("class") == "menu");
	});
	var totalBredde = 0;
	menyObjekter.each(function(el){
		totalBredde += el.getSize().size.x;
	});
	var rest = $("ajaxmenu").getSize().size.x - totalBredde;
	menyObjekter.each(function(el){
		el.setStyle("padding-right", el.getStyle("padding-right").toInt() + Math.floor(rest / menyObjekter.length));
	});
	menyObjekter[menyObjekter.length-1].setStyle("padding-right", menyObjekter[menyObjekter.length-1].getStyle("padding-right").toInt() + rest % menyObjekter.length);
	
	// Kalender
	if ($defined($("kalender"))) {
		kal_visible = false;
		kal_slide = new Fx.Slide($E("#kalender .tablewrapper"), {
			duration: 500,
			onComplete: clearCalHeight
		});
	
		kal_slide.hide();
		$("kal_update").setStyle("display", "none");
		
		getCalendar(kal_current);
	
		$$("#kalender h2").each(function(el){
			el.addEvent('click',function(){
				if ($("kal_update").getStyle("display") == "block") {
					$("kal_update").setStyle("display", "none");
				} else{
					$("kal_update").setStyle("display", "block");
				};
				
				$("kalender").setStyle("height", "auto");
				kal_slide.toggle();
				$("kalender").hasClass("open") ? $("kalender").removeClass("open") : $("kalender").addClass("open");
			});
		});
	}
});

function clearCalHeight () {
	$("kalender").setStyle("height", $("kalender").getSize().size.y);
	// $("kalender").setStyle("height", "auto");
}

function updateCalSize () {
	if ($("kalender").hasClass("open")) {
		var newHeight = $("kal_update").getSize().size.y;
		var diff = newHeight - kal_height;
		
		var newTotal = $E("#kalender").getSize().size.y.toInt()+diff.toInt();
		
		var slide = new Fx.Style($E("#kalender"), 'height', {duration: 500}).start(newTotal);
	}

	updateTips();
	
	kal_height = $("kal_update").getSize().size.y;
}

function getCalendar (month) {
	if (!month) month = $("kal_current").innerHTML;
	
	kal_height = $("kal_update").getSize().size.y;
	
	new Ajax(kalUrl+"?m="+month, {method: "get", onComplete: updateCalSize, update: $("kal_update")}).request();
	new Ajax(kalUrl+"?m="+month+"&return=name", {method: "get", update: $("monthName")}).request();
	new Ajax(kalUrl+"?m="+month+"&return=number", {method: "get", update: $("kal_current")}).request();
	
//	alert($("kal_current").innerHTML);
}

function getNext() {
	getCalendar($("kal_current").innerHTML.toInt() + 1);
}

function getPrevious() {
	getCalendar($("kal_current").innerHTML.toInt() - 1);
}


function updateTips () {
	tips = new Tips($("kalender").getElements("*").filter(function(el){
		return el.getProperty("title");
	}), {
		hideDelay: 350,
		maxTitleChars: 80
	});
}

