var page_hash_id = window.location.hash.slice(1);
var first_page_id = '';
var current_page = null;
var current_page_id = '';

var pageHistoryChange = function(newLocation, historyData) {
	if (newLocation != '') showpage(newLocation);
	else if (first_page_id != '') showpage(first_page_id, true);
}
//Event.observe(window, 'load', function() { 
document.observe('dom:loaded', function() { 
//document.observe('page:preload', function(e) {
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(pageHistoryChange);
	
	if (dhtmlHistory.isFirstLoad()) 
	{
		showpage(page_hash_id == '' ? first_page_id : page_hash_id, true);
	}
});
window.dhtmlHistory.create({
	toJSON: function(o) {
		return Object.toJSON(o);
	}
	, fromJSON: function(s) {
		return s.evalJSON();
	}
});
function showpage(id, skipHistory)
{
	if (id == '' || id == current_page_id) return false;
	
	var page = $('page-'+id);
	if (page) 
	{ 
		page.appear({ duration:0.5 }); 
		new Effect.Morph('pages', { style:'height:'+page.getHeight()+'px;', duration:0.5 });
		$('menu-'+id).addClassName('current'); 
	}
	if (current_page) { current_page.fade({ duration:0.5 }); $('menu-'+current_page_id).removeClassName('current'); }
	
	if (skipHistory != true) dhtmlHistory.add(id);
	current_page = page;
	current_page_id = id;
	
	return false;
}
Event.observe(window, 'load', function() { 
	if (current_page && current_page.getHeight() > $('pages').getHeight())
		new Effect.Morph('pages', { style:'height:'+current_page.getHeight()+'px;', duration:0.2 });
});