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

var menu_table_v3;
var menu_table_v4;

var main_array_v4 = new Array;
var sub_array_v4 = new Array;

var time_off;
var time_on;
var prev_index='';

var delay_out_main = 300;
var delay_out_sub = 300;
var delay_in = 100;

/************************************************/
function init_menu_v3()
{
		if(menu_table_v3) return;
		menu_table_v3 = getObj('main_menu_v3');
		init_menu('v3',menu_table_v3.rows);
}


/************************************************/
function init_menu_v4()
{
		if(menu_table_v4) return;
		menu_table_v4 = getObj('main_menu_v4');
		init_menu('v4',menu_table_v4.rows[0].cells);
}


/************************************************/
function init_menu(menu_v,buttons)
{

		for(var i=0;i<buttons.length;i++){
		
			if(menu_v == 'v3') var main_td = buttons[i].cells[0];
			if(menu_v == 'v4') var main_td = buttons[i];
			
			var main_div = main_td.getElementsByTagName("DIV")[0];
			var sub_table = main_td.getElementsByTagName("TABLE")[0];
			var a_main = main_div.getElementsByTagName("A")[0]; 
			if(a_main && a_main.href) 

			if(menu_v == 'v4'){
			 	main_array_v4[i+1] = main_div;	
				sub_array_v4[i+1] = sub_table;
			}
			
			attachMouseEventsMain(main_div,i+1,menu_v);		
			
			if(sub_table){
				main_td.style.cursor = "pointer";
				var found = false;
				
				for(var j=0;j<sub_table.rows.length;j++){
					var div_obj = sub_table.rows[j].cells[0].getElementsByTagName("DIV")[0];
					
					attachMouseEventsSub(div_obj,i+1,menu_v);
					
					if( !found  &&  menu_v != 'v4'){
						var a_sub = div_obj.getElementsByTagName("A")[0]; 
						if( (!a_sub || url_to_string(a_sub.href) != this_url) && (!a_main || url_to_string(a_main.href) != this_url) ) 
							sub_table.style.display = 'none';
						else {
							sub_table.style.display = '';
							found = true;
						}
					}
					
				}
			}			
		}
}

/************************************************/
function attachMouseEventsMain(div_obj,index,menu_v) 
{
		if(menu_v != 'v4') index='';
		div_obj.onmouseover =  function(evt) {hl_main(div_obj,1,index);};
		div_obj.onmouseout =  function(evt) {hl_main(div_obj,0,index);};
		div_obj.onclick =  function(evt) {main_onclick(div_obj);};
}

/************************************************/
function attachMouseEventsSub(div_obj,index,menu_v) 
{
		if(menu_v != 'v4') index='';
		div_obj.onmouseover =  function(evt) {hl_sub(div_obj,1,index);};
		div_obj.onmouseout =  function(evt) {hl_sub(div_obj,0,index);};
		div_obj.onclick =  function(evt) {sub_onclick(div_obj);};
}


/************************************************/
function main_onclick(obj)
{
	var a_el = obj.getElementsByTagName("A")[0];
	if(a_el && a_el.target != '_blank') 
		document.location.href = a_el.href;
}

/************************************************/
function sub_onclick(obj)
{
	var a_el = obj.getElementsByTagName("A")[0];	
	if(a_el && a_el.target != '_blank') 
		document.location.href = a_el.href;	
}


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

	if(!div_obj) return;
	var sub_table = sub_array_v4[index];
	
	if(highlighted) cl = 'main_hl';
	else cl = 'main_nhl';

	if(highlighted || !sub_table) {
		div_obj.className = div_obj.className.replace(/main_n?hl/,cl);
		var a_el = div_obj.getElementsByTagName("A")[0];
		if(a_el) div_obj.getElementsByTagName("A")[0].className=cl;	
	} 
	
	if(index)		
	{ 
		if(highlighted) {
			if(time_off) clearTimeout(time_off);
			if(time_on) clearTimeout(time_on);
			if(index != prev_index){
				switch_on_off(prev_index,'');
				prev_index = index;
			}
			time_on = setTimeout("switch_on_off(" + index + ",'1')",delay_in);
		}
		else time_off = setTimeout("switch_on_off(" + index + ",'')",delay_out_main);
	}
}

/************************************************/
function switch_on_off(index,highlighted)
{
	if(index) {
		var sub_table = sub_array_v4[index];
		if(sub_table) sub_table.style.display = highlighted ? '' : 'none';
		if(!highlighted) hl_main(main_array_v4[index],0);
	}
}

/************************************************/
function hl_sub(div_obj,highlighted,index)
{
	var cl;

	if(!div_obj) return;

	prev_index = index;
					
	if(highlighted) cl = 'sub_hl';
	else cl = 'sub_nhl';

	div_obj.className = div_obj.className.replace(/sub_n?hl/,cl);
	
	var a_el = div_obj.getElementsByTagName("A")[0];
	if(a_el) div_obj.getElementsByTagName("A")[0].className=cl;
	
	if(index) { 
		if(highlighted) {
			if(time_off) clearTimeout(time_off);
			if(time_on) clearTimeout(time_on);
			time_on = setTimeout("switch_on_off(" + index + ",'1')",delay_in);
		}
		else time_off = setTimeout("switch_on_off(" + index + ",'')",delay_out_sub);
	}
}


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

/************************************************/
function url_to_string(url)
{
 return url.replace(/(%[0-9,a-f,A-F]{2})|[^\w]/g,'').toLowerCase();
} 