var tl = null;
addLoadEvent(onLoad("blogtimeline.xml",'20020301'))
addResizeEvent(onResize)

//#########################

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function')	window.onload = func;
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function addResizeEvent(func) {
	var oldonresize = window.onresize;
	if (typeof window.onresize != 'function')	window.onresize = func;
	else {
		window.onresize = function() {
			oldonresize();
			func();
		}
	}
}

function onLoad(where,when){

	var eventSource = new Timeline.DefaultEventSource();

	var bandInfos = [
		Timeline.createBandInfo( {
			eventSource:    eventSource,
			width:          "80%",
			intervalUnit:   Timeline.DateTime.MONTH,
			intervalPixels: 80,
			showEventText:  true,
			trackHeight:    1.2,
			trackGap:       0.2,
		} ),
		Timeline.createBandInfo( {
			eventSource:    eventSource,
			width:          "20%",
			intervalUnit:   Timeline.DateTime.YEAR,
			intervalPixels: 100,
			showEventText:  false,
			trackHeight:    0.5,
			trackGap:       0.2,
		} )
	];

	bandInfos[ 1 ].syncWith  = 0;
	bandInfos[ 1 ].highlight = true;


	tl = Timeline.create( document.getElementById( "logTimeline" ), bandInfos, Timeline.HORIZONTAL );

	Timeline.loadXML( where, function( xml, url ) { eventSource.loadXML( xml, url ); } );
	if(when) tardis(when)
}

var resizeTimerID = null;
function onResize() {
	if (resizeTimerID == null) {
		resizeTimerID = window.setTimeout(function() {
			resizeTimerID = null;
			tl.layout();
		}, 500);
	}
}

function tardis( destination ){
	tl.getBand( 0 ).setCenterVisibleDate( Timeline.DateTime.parseIso8601DateTime( destination ) );
}

