
/* Plugin version: 0.3a */
var tl;
function loadSimileTimeline() {
	
	if(document.getElementById("stl-timeline")){	

		// ### create custom theme
		var mytheme = Timeline.ClassicTheme.create();
		// ### style events
		mytheme.event.label.width = 200;
		mytheme.event.bubble.width = 320;
		mytheme.event.bubble.height = 160;
		
		mytheme.event.label.insideColor = '#fff';
		mytheme.event.label.outsideColor = '#333';
		mytheme.event.instant.icon = "/~stefano/linotype/wp-content/themes/linotype/images/hand.jpg";
		// ### style ethers (bands)
		mytheme.ether.backgroundColors = ['#FFFFFF',
						'#f4f4e8',
						'',
						''
										];
		mytheme.ether.interval.line.color = '#aaa';

		// ### duplicate theme and apply to lower band
		var mytheme_second = Timeline.ClassicTheme.create();
		mytheme_second = mytheme;
		mytheme_second.ether.interval.line.color = '#aaa';
		mytheme_second.event.label.insideColor = '#fff';
		mytheme_second.event.label.outsideColor = '#333';
		
		
		var eventSource = new Timeline.DefaultEventSource();
		
		var bandInfos = [
		Timeline.createHotZoneBandInfo({
			zones: [{
						start:	"Apr 23 2003 21:28:09 GMT-0400",
						end:	"Jul 02 2008 17:38:53 GMT-0400",
						unit: Timeline.DateTime.MONTH, 
						magnify: 1
					}],
			locale: 'en',
			showEventText:	true,
			eventSource:    eventSource,
			date:           "Jul 23 2008 17:16:14 GMT-0400",
			width:          "70%",
			intervalUnit:   Timeline.DateTime.MONTH,
			intervalPixels: 100,
			theme:	mytheme
		}),
		Timeline.createHotZoneBandInfo({
			zones: [{
						start:	"Apr 23 2003 21:28:09 GMT-0400",
						end:	"Jul 02 2008 17:38:53 GMT-0400",
						unit: Timeline.DateTime.YEAR, 
						magnify: 1
					}],
			locale: 'en',
			showEventText:	false,
			trackHeight:	0.5,
			trackGap:	0.3,
			eventSource:    eventSource,
			date:           "Jul 23 2008 17:16:14 GMT-0400",
			width:          "30%",
			intervalUnit:   Timeline.DateTime.YEAR,
			intervalPixels: 200,
			theme:	mytheme
		})	  ];

		bandInfos[1].syncWith = 0;
		bandInfos[1].highlight = true;
		bandInfos[1].eventPainter.setLayout(bandInfos[0].eventPainter.getLayout());

		tl = Timeline.create(document.getElementById("stl-timeline"), bandInfos, 0);
		tl.loadXML("/~stefano/linotype/wp-content/plugins/simile-timeline/timeline.xml.php?cat=1",
			function(xml, url) {
				eventSource.loadXML(xml, url);
		});
  
  }else{ /* empty - do nothing when no timeline-frame is found */ }
}

var resizeTimerID = null;
function resizeSimileTimeline() {
    if (resizeTimerID == null) {
        resizeTimerID = window.setTimeout(function() {
            resizeTimerID = null;
            if (tl) tl.layout();
        }, 500);
    }
}

/* addEvent function - by Scott Andrew 
 * http://www.scottandrew.com/weblog/articles/cbs-events
 */
function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

addEvent(window, "load", loadSimileTimeline);
addEvent(window, "resize", resizeSimileTimeline);
