var this_url = document.location.href;
var this_page = this_url.replace(/^((?:(?:http|file):\/\/)?(?:www\.)?[^\/]*?)\//,'');
var this_domain_url = RegExp.$1;

var menu_number=0;
var sub_menu_number=0;
var prev_menu_item;
var prev_menu_item_nr=0;

var menu_table;
var all_main_menus = new Array;
var all_sub_menus = new Array;

var prefix_space = '&nbsp;&nbsp;&nbsp;';
var prefix_plus = '+&nbsp;';

//alert(this_url);


/************************************************/
function init_menu()
{
	if(menu_table) return;
	
	menu_table = getObj('main_menu_v1');

	if(menu_table){

		for(i=0;i<menu_table.rows.length;i++){

			var index_nr = i+1;
			
			all_main_menus[index_nr] = menu_table.rows[i].cells[0];
			var main_td = all_main_menus[index_nr];
			
			main_td.innerHTML = main_td.innerHTML.replace(/(<TABLE[\s\S]*?<\/TABLE>)/i,'');
			str = RegExp.$1;
			if(str.search(/^<TABLE[\s\S]*?<\/TABLE>/i) == -1)  str='';
			main_td.innerHTML = '<span id=prefix' + index_nr + '></span><span id=sub_title' + index_nr + '>' + main_td.innerHTML + '</span>' + str;
			
			all_sub_menus[index_nr] = main_td.getElementsByTagName("TABLE")[0];
			
			var sub_table = all_sub_menus[index_nr];
			
			//determine menu_number and sub_menu_number
			if(!menu_number){
				var a_col = main_td.getElementsByTagName("A");
				for(j=0;j<a_col.length;j++)
					if(a_col[j] == this_url) {
						menu_number = index_nr;
						if(a_col[j].className.search(/^sub_/i) != -1)
							sub_menu_number = j+1;
						break;
					}
			}

			//show,hide,highlight etc.
			if(sub_table) {
				var span_obj = getObj('sub_title' + index_nr);
				span_obj.style.cursor = "pointer";
			}
			
			var prefix = getObj('prefix' + index_nr);
			if(sub_table)	prefix.innerHTML = prefix_plus;
			else prefix.innerHTML = prefix_space;

			if(index_nr == menu_number){
				prev_menu_item = sub_table;
				prev_menu_item_nr = menu_number;

				if(sub_table) {
					prefix.innerHTML = prefix_space;
					if(sub_menu_number) hl_sub(sub_table.rows[sub_menu_number-1],-1,-1,1);
					sub_table.style.display='block';  //show sub menu
				} else hl_main(main_td,1);

			}
			else {
				hl_main(main_td,0);
				if(sub_table) sub_table.style.display='none';  //hide sub menu
			}
			
			attachSpanOnclick(index_nr);
			if(sub_table)
				for(var j=0;j<sub_table.rows.length;j++)
					attachMouseEvents(sub_table,index_nr,j);
		}
	}
}

/************************************************/
function attachMouseEvents(sub_table,index_nr,j) 
{
		sub_table.rows[j].onmouseover =  function(evt) {hl_sub(this,index_nr,j+1,1);};
		sub_table.rows[j].onmouseout =  function(evt) {hl_sub(this,index_nr,j+1,0);};
		sub_table.rows[j].onclick =  function(evt) {sub_onclick(this);};
}

/************************************************/
function attachSpanOnclick(index_nr) 
{ 
	span_obj = getObj('sub_title' + index_nr);
	span_obj.onclick = function() { menu_onclick(index_nr); };
}

/************************************************/
function menu_onclick(menu_nr)
{
	sub_table = all_sub_menus[menu_nr];
	if(!sub_table) return; 
	var prefix;

	if(prev_menu_item && prev_menu_item != sub_table) {
		prev_menu_item.style.display = 'none';
		prefix = getObj('prefix' + prev_menu_item_nr);
		prefix.innerHTML = prefix_plus;
		hl_main(all_main_menus[menu_number],1)
	}

	prefix = getObj('prefix' + menu_nr); 
	if(sub_table.style.display == 'block') {
		sub_table.style.display = 'none';
		prefix.innerHTML = prefix_plus;
		if(menu_nr == menu_number) hl_main(all_main_menus[menu_nr],1)
		
	}	else {
		sub_table.style.display = 'block';
		prefix.innerHTML = prefix_space;
		hl_main(all_main_menus[menu_nr],0)
	}

	prev_menu_item = sub_table;
	prev_menu_item_nr = menu_nr;
}

/************************************************/
function sub_onclick(row)
{
	var a_el = row.cells[1].getElementsByTagName("A")[0];	
	if(a_el) document.location.href = a_el.href;
}

/************************************************/
function hl_sub(row,menu_nr,sub_nr,highlighted)
{
	var cl;

	cl = 'sub_hl';
	if(!highlighted && (sub_nr != sub_menu_number || menu_nr != menu_number) )
		cl = 'sub_nhl';

	if(row.cells[0]) row.cells[0].className = cl;
			
	if(row.cells[1]){
		row.cells[1].className = cl;
		var a_el = row.cells[1].getElementsByTagName("A")[0];
		if(a_el) a_el.className=cl;
	}
}

/************************************************/
function hl_main(main_td,highlighted)
{
	var cl;

	if(!main_td) return;
	
	if(highlighted) cl = 'main_hl';
	else cl = 'main_nhl';


	main_td.className = cl;
	var a_el = main_td.getElementsByTagName("A")[0];

	if(a_el && a_el.className.search(/^main_/i) != -1)
		main_td.getElementsByTagName("A")[0].className=cl;
}



/************************************************/
function getObj(obj_name)
{
	return document.getElementById ? document.getElementById(obj_name) : eval(obj_name);
}

