
Timeline.OriginalEventPainter.prototype._showBubble = function(x, y, evt) 
{
	eventID = evt.getEventID().split(":")
    if (eventID[0] == currentCategory)
	{
		if((currentCategory == "xp" || currentCategory == "projet") && eventID[1] != currentItem)
			selectItem(eventID[1]);
	}
    else
		displayCategory(eventID[0], eventID[1]);
}
   
function onTimeLineLoad() 
{
  var eventSource1 = new Timeline.DefaultEventSource();
  var bandInfos = [
     Timeline.createBandInfo({
		 eventSource:    eventSource1,
         width:          "100px", 
         intervalUnit:   Timeline.DateTime.MONTH, 
         intervalPixels: 50
     }),
     Timeline.createBandInfo({
		 eventSource:    eventSource1,
	     overview:       true,
         width:          "44px", 
         intervalUnit:   Timeline.DateTime.YEAR, 
         intervalPixels:70
     })
   ];
   bandInfos[1].syncWith = 0;
   bandInfos[1].highlight = true;
   tl = Timeline.create(document.getElementById("timeline"), bandInfos, Timeline.HORIZONTAL);
   var url = '.';
   Timeline.loadXML("./data/events.xml", function(xml, url) { eventSource1.loadXML(xml, url); })
   tl.layout(); // display the Timeline
   tl.getBand(0).setCenterVisibleDate(Timeline.DateTime.parseGregorianDateTime("December 01 2009 00:08:00 GMT+0100"));
}
        
function onTimeLineResize() 
{
    if (resizeTimerID == null) 
	{
        resizeTimerID = window.setTimeout(function() 
		{
            resizeTimerID = null;
            tl.layout();
        }, 500);
    }
}


function displayCategory(cat, item)
{
	if (currentCategory == cat)
		return;
	currentCategory = cat;
	currentItem = item;
	document.getElementById('menu_xp').className = "";
	document.getElementById('menu_formation').className = "";
	document.getElementById('menu_projet').className = "";
	document.getElementById('menu_annexe').className = "";
	document.getElementById('menu_hobbie').className = "";
	document.getElementById('menu_' + cat).className = "selected";
	url = './php/category.php?cat=' + cat;
	if (item != undefined)
		url += '&item=' + item;
	Effect.toggle('category_content', 'blind', {duration:0.3, 
										afterFinish:function() 
													{ 
														new Ajax.Updater('category_content', 
																		 url, 
																		 {asynchronous: true,
																		  onComplete: function(transport)
																					  {
																					     Effect.toggle('category_content', 'blind', {duration:0.3});
																					  }
																		  }); 
													} 
										});
	
}

function displayIndex()
{
	if (currentCategory == "index")
		return;
	currentCategory = "index";
	document.getElementById('menu_xp').className = "";
	document.getElementById('menu_formation').className = "";
	document.getElementById('menu_projet').className = "";
	document.getElementById('menu_annexe').className = "";
	document.getElementById('menu_hobbie').className = "";
	
	Effect.toggle('category_content', 'blind', {duration:0.3, 
										afterFinish:function() 
													{ 
														new Ajax.Updater('category_content', 
																		 "php/accueil.php", 
																		 {asynchronous: true,
																		  onComplete: function(transport)
																					  {
																					     Effect.toggle('category_content', 'blind', {duration:0.3,
																															   afterFinish:function() { new Horinaja('slide-show',0.3,2,true); 
																																						onGoogleMapLoad();	}
																																});
																					  }
																		  }); 
													} 
										});
	
}

function selectItem(name)
{
	currentItem = name;
	item = document.getElementById('item_' + name);
	if (item.style == undefined || item.style.display == "none")
		Effect.toggle('item_' + name, 'blind', { duration: 0.2 });
	else
		Effect.toggle('item_' + name, 'blind', { duration: 0.2 });
	itemsToFold = getElementsByClassName('foldable_content');
	for (i = 0; i < itemsToFold.length; ++i)
		if (itemsToFold[i].id != 'item_' + name && itemsToFold[i].style.display != "none")
			Effect.BlindUp(itemsToFold[i].id, { duration: 0.2 });
}

function getElementsByClassName (className)
{
	var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
	var allElements = document.getElementsByTagName("*");
	var results = [];

	var element;
	for (var i = 0; (element = allElements[i]) != null; i++) 
	{
		var elementClass = element.className;
		if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
			results.push(element);
	}

	return results;
}

function resizeCategoryFrame() 
{
  var myHeight = 0;
  if( typeof( window.innerHeight ) == 'number' ) 
	myHeight = window.innerHeight;
  else if( document.documentElement && ( document.documentElement.clientHeight ) ) 
	myHeight = document.documentElement.clientHeight;
  else if( document.body && ( document.body.clientHeight ) ) 
	myHeight = document.body.clientHeight;
  newheight = (myHeight - 198) + 'px';
  document.getElementById('category_frame').style.height = newheight;
  document.getElementById('category_content').style.height = newheight;
}

function locate(date, cat, item)
{
  tl.getBand(0).setCenterVisibleDate(Timeline.DateTime.parseGregorianDateTime(date));
}
