addEvent(window, 'load', init_menu, false);
//addEvent(window, 'unload', rememberMenu, false);

var prev_caller_id = null;


function init_menu()
{
	//mn = id("main_nav");
	var res = null;

	/*tmp = getElementsByClassName(mn, "selected", "a");
	if (tmp.length && (tmp != null)) {
		prev_caller_id = tmp[0].innerHTML;
	}*/

	// assign events to the parent menus - the ones with submenus
	res = getElementsByClassName(id('main_nav'), 'menu_parent', 'a');
	for (var i = 0; i < res.length; i++) {
		addEvent(res[i], 'click', menuExpandContract, false);
	}

	// assign events to the parent menus - the ones with submenus
	res = getElementsByClassName(id('main_nav'), 'menu_item', 'a');
	for (var i = 0; i < res.length; i++) {
		addEvent(res[i], 'click', menuSelect, false);
	}

	var ids = readCookie('menu');
	if(ids != undefined && ids.length > 0) {
		ids = ids.split(',');
		if(ids[0].length && ids[0] != 'undefined') {
			//alert(ids[0]);
			id(ids[0]).className = 'menu_item selected';
		}
		if(ids[1].length && ids[1] != 'undefined') {
			id(ids[1]).className = 'menu_lv1 expanded';
		}
	}
	// check if cookie exists
	// if not set, set it to home
	//using the menu id from cookie - highlight elem in the page with same id (i.e menu_id_23

	//id('menu_46').className = 'selected';
	//parent = id('menu_46').parentNode.parentNode.parentNode.parentNode;


}

function rememberMenu(caller_id)
{

	var menu_item = getElementsByClassName(id('main_nav'), 'selected', 'a');
	var cont_item = getElementsByClassName(id('main_nav'), 'expanded', 'ul');

	if(menu_item.length) {
		menu_item = menu_item[0];
	}
	if(cont_item.length) {
		cont_item = cont_item[0];
	}

	//eraseCookie('menu');
	createCookie('menu', caller_id + ',' +  cont_item.id);

}

// an menu item was clicked
function menuSelect(e)
{
	//knackerEvent(e);
	var caller = window.event ? window.event.srcElement : e ? e.target : null;
	
	// check if the current menu is a level 0 item
	if(caller.parentNode.parentNode.className == 'menu_lv0') {
		
		//if so collapse any open submenus
		var res = getElementsByClassName(id('main_nav'), 'menu_lv1', 'ul');

		for (var i = 0; i < res.length; i++) {
			res[i].className = 'menu_lv1 collapsed';
		}
	}
	
	var res = getElementsByClassName(id('main_nav'), 'menu_item', 'a');
	for (var i = 0; i < res.length; i++) {
		res[i].className = 'menu_item';
	}

	caller.className = 'menu_item selected';
	//rememberMenu(caller.id);
}

function menuExpandContract(e) {

	var caller = window.event ? window.event.srcElement : e ? e.target : null;
	var sid = caller.id.substr(5);

	var subnav = id('container_' + sid);
	var res = getElementsByClassName(id('main_nav'), 'menu_lv1', 'ul');

	for (var i = 0; i < res.length; i++) {
		res[i].className = 'menu_lv1 collapsed';
	}

	if(subnav.className == 'menu_lv1 expanded') {
		subnav.className = 'menu_lv1 collapsed';
	} else {
		subnav.className = 'menu_lv1 expanded';
	}

	/*	alert(subnav.id);

	if(subnav.style.display == 'block') {
	subnav.style.display = 'none';
	prev_caller_id = null;
	} else {
	if ((prev_caller_id != null) && (prev_caller_id != subnav.id)) {
	id(prev_caller_id).parentNode.style.display = 'none';
	}

	prev_caller_id = subnav.id;
	caller.style.display = 'block';
	caller.className = 'selected';
	}*/
}