function handleLink(link, action, file) {
	var event_element = $('menu-' + link);

	if (event_element == null) {
		return false;
	}

	highlightMenupoint(event_element);

	if (action == 1) {
		toggleSubmenus(event_element.parentNode);
	} else if (action == 2) {
		if (window.location.hash != ('#link=' + link)) {
			loadContent(link, file);
		}
	} else if (action == 3) {
		toggleSubmenus(event_element.parentNode);
		if (window.location.hash != ('#link=' + link)) {
			loadContent(link, file);
		}
	}

	window.location.hash = 'link=' + link;
	
	event_element.blur();

	return false;
}

function highlightMenupoint(event_element) {
	var element = $($(event_element).parentNode);

	var parent_list = element.parentNode;
	var parent_link = element.up('li');
	if (parent_link != null) {
		if (!parent_list.visible()) {
			toggleSubmenus(parent_link);
		}
	}

	var menu_elements = $('left-column').select('li.selected');
	menu_elements.each(function(item) {
		item.removeClassName('selected');
	});

	$(element).addClassName('selected');

	return false;
}

function toggleSubmenus(element) {
	element = $(element);

	var submenus = element.select('ul');
	submenus.each(function(item) {
		if (item.visible()) {
			new Effect.BlindUp(item, { duration: 1.0 });
		} else {
			new Effect.BlindDown(item, { duration: 1.0 });
		}
	});

	return false;
}

function loadContent(link, url) {
	var tmp_date = new Date();

	var animate_content = false;
	var animate_breadcrumb = true;


	if (animate_content) {
		var ajax_content = new Effect.Fade('content-column', {
			duration: 1,
			afterFinish: function() {
				new Ajax.Updater('content-column', 'content/html/' + url + '?' + tmp_date.getTime(), {
					method: 'GET',
					encoding: 'UTF-8',
					onComplete: new Effect.Appear('content-column', {
						duration: 1
					})
				});
			}
		});		
	} else {
		var ajax_content = new Ajax.Updater('content-column', 'content/html/' + url + '?' + tmp_date.getTime(), {
			method: 'GET',
			encoding: 'UTF-8'
		});
	}

	
	if (animate_breadcrumb) {
		var ajax_breadcrumb = new Effect.Scale('header-links', 0, {
			duration: 1,
			scaleContent: false,
			scaleX: true,
			scaleY: false,
			scaleMode: { originalWidth: 825 },
			scaleFrom: 100,
			afterFinish: function() {
				new Ajax.Updater('header-links', 'breadcrumb.php?link=' + link, {
					method: 'GET',
					encoding: 'UTF-8',
					onComplete: new Effect.Scale('header-links', 100, {
						duration: 1,
						scaleContent: false,
						scaleX: true,
						scaleY: false,
						scaleMode: { originalWidth: 825 },
						scaleFrom: 0
					})
				});
			}
		});		
	} else {
		var ajax_breadcrumb = new Ajax.Updater('header-links', 'breadcrumb.php?link=' + link, {
			method: 'GET',
			encoding: 'UTF-8'
		});
	}

	
	return false;
}