function addEvent(obj,evType,fn) {
  if(obj.addEventListener){
    obj.addEventListener(evType,fn,false);
    return true;
  }else if(obj.attachEvent){
    return obj.attachEvent('on'+evType,fn);
  }else if(document.all&&(!document.mimeType)){
    eval('obj.on'+evType+'=fn');
	return true;
  }else{
	return false;
  }
}

function resize() {
	// resize main content box if needed; it must AT LEAST end equal to the calendar puff
	// basically calculated by [calendar box start]-[main content box start]+[calendar box height]
	// plus a few padding adjustments in the mix			
	var kalender = document.getElementById('kalender_box');
	var mainbox = document.getElementById('content_box');	
	
	var mainY = findYPos(mainbox);
	var kalenderY = findYPos(kalender);	
	
	// Mozilla already subtracted the top padding from calendar border to content, but IE doesn't so we'll have to do it manually
	if( navigator.appName == "Microsoft Internet Explorer" ) {
		var kalenderPadding = kalender.style.padding;	
		kalenderPadding = kalenderPadding.substring(0,kalenderPadding.length-2); // remove "px"	
		kalenderY = kalenderY - kalenderPadding; // subtract the top padding for the calendar border -> the content	
	}	

	// only resize main content box if necessary (if main content stops before calendar does)	
	if( (kalenderY+kalender.offsetHeight) > (mainY+mainbox.offsetHeight) ) {
		var newHeight = kalenderY-mainY+kalender.offsetHeight;
		newHeight = newHeight - 50; // subtract the padding (both top and bottom; this concerns the size of the whole box) = 25*2
		mainbox.style.height = newHeight + 'px';
	}
}

function findYPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return curtop;
}

addEvent(window,'load',resize);



