var rtp_sty = "class=\"mm_r\" style=\"padding: 3px; font-size:10px;\" ";
var rtp_sty_alpha = "class=\"sm_n\" style=\"padding: 5px; text-align:left; font-size:11px;\" ";
var rtp_sty_num = "class=\"sm_n\" style=\"padding: 3px; text-align:right; font-size:10px;\" ";
var mon_sty = "class=\"mm_r\" style=\"width: 40px; text-align:center;\" ";
var btn_sty = "class=\"mm_n\" style=\"text-align:center; padding: 5px; font-size:11px; font-weight: bold;\" ";
var table_init = "<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">";
var menu_accu_intro = "<!-- \nQuesto Output è usato esclusivamente\nper il Debug del Menu \n-->\n\n\n";
var menu_link_intro = "<!-- \nQuesto Output deve essere usato per\nl'indicizzazione nei Motori di Ricerca.\n\n";
menu_link_intro+="L'Output deve essere inserito in una DIV/TD\ncon attributo visibility: hidden\n-->\n\n\n";
var jsp_db="jspdb", jsp_db_admin="JSP DB Admin";
var php_db="mysql", php_db_admin="PHPMyAdmin"
var decimali = 2;
var common_win=true		
var common_win_name="tool_win";

var menu_time_title = "";
menu_time_title+="<tr>";
menu_time_title+="<td colspan=\"10\" "+rtp_sty+" ><span class=\"red_bb\">Performance degli script</span></td>";
menu_time_title+="</tr>";
menu_time_title+="<tr>";
var menu_time_head = "";
menu_time_head+="<td "+rtp_sty+" ><b>ID</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Keys</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Menu</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Main</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>DropDown</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Vertical</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Reverse</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Map</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Access</b></td>";
menu_time_head+="<td "+rtp_sty+"><b>Time <i>ms</i></b></td>";
menu_time_head+="</tr>";
var menu_time_end = "</table>";
var stt_href = ""

if(use_tools){
	host_ra=local_hosts.split("|");
	host_ra_num=host_ra.length;
	for (var i = 0; i<host_ra_num; i++){
		if(host_ra[i]!=""){
			var enable_tools = Boolean((document.location.toString()).match(host_ra[i]))
			if(enable_tools){
				nm_tools()
				break;
			}
		}
	}
	!enable_tools ? use_tools=false : vz;
}

function array_to_link(link_ra){
	var str = ""
	var link_ra_num = link_ra.length;
	str+="<!-- BEGIN Contenuto Hidden per indicizzazione nei Motori di Ricerca -->\n";
	str+="<div id=\"hidden_link\" style=\"position:absolute; visibility: hidden;\">\n";
	for (var i = 0; i<link_ra_num; i++){
		typeof (link_ra[i])!="object" ? link_ra[i]=link_ra[i].split("|") : vz;
		re=new RegExp("\"", "gi")
		var link_ra_el=link_ra[i][0].striptags()
		str+="\t<a href=\""+link_ra[i][1]+"\" title=\""+link_ra_el.replace(re, "")+"\" target=\""+link_ra[i][2]+"\">"+link_ra[i][0]+"</a>\n"
	}
	str+="</div>\n";
	str+="<!-- END Contenuto Hidden per indicizzazione nei Motori di Ricerca -->\n";
	return str;
}

function nm_tools_win(name, cnts, escape_tags, title){
	if(escape_tags){
		cnts=cnts.split("<").join("&lt;").split(">").join("&gt;");
		cnts="<div style=\"width:100%;\"><pre>"+cnts+"</pre></div>"
	}
	popupwin("", 640, 512, name, 30, 30)
	external_inc=set_xternal(nm_fs_inc, rel_path)
	var str=""
	str+="<html><head>"+external_inc+"<title>.:: MenuTool :: "+title+" ::.</title></head><body style=\"marin:0px;\">";
	str+=table_init+"<tr><td "+rtp_sty+"><b class=\"blue_sb\" style=\"font-size:16px;\">"+title+"</b></td></tr><tr><td "+rtp_sty_alpha+">";
	str+=cnts;
	str+="</td></tr></table></body></html>";
	eval(name).document.clear();
	eval(name).document.write(str);
	eval(name).document.close();
}

function scroll_local_url(index){
	var num = menu_elements.length;
	menu_el=new Array();
	menu_el=menu_el.concat(menu_elements);
	init_i_el=Number(init_i_el)+Number(index);
	if(init_i_el==num){
		init_i_el=0
	}else if(init_i_el<0){
		init_i_el=num-1
	}
	if(typeof (menu_el[0])!="object"){
		for (var i = 0; i<num; i++){
			menu_el[i]=menu_el[i].split("|");
		}
	}
	//window.status=num+" | "+init_i_el+" | "+menu_el[init_i_el][1]	
	the_link=menu_el[init_i_el][1]
	if(the_link.split("://").length==1 && the_link.split("mailto:").length==1){
		eval(ly+"('inner_init_i_el').innerHTML='"+init_i_el+"'")
		location.href=menu_el[init_i_el][1]
	}else{
		eval(ly+"('inner_init_i_el').innerHTML="+init_i_el)
	}
}

function list_array(el_array){
	var num = el_array.length
	var aid = "0"
	var list = "", el="";
	for (var i = 0; i<num; i++){
		i<=9 ? aid="0" : aid=""
		typeof (el_array[i])=="string" ? el=el_array[i].striptags() : el=(el_array[i].join()).striptags();
		list+="["+aid+i+"] - "+el+"<br>";
	}
	return list;
}

function nm_tools(){
	var btns = "";
	var btns_evts="onMouseOver=\"this.className='mm_r';\" onMouseDown=\"this.className='mm_d';\"  onMouseUp=\"this.className='mm_r';\" onMouseOut=\"this.className='mm_n';\""
	if(use_tools){
		stt_win_name="stt_win";
		stt_win_cnts="";
		stt_win_cnts+="'";
		stt_win_cnts+="/* BEGIN NON SPOSTARE */\\n";
		stt_win_cnts+="menu_list=\\&quot;'+menu_list+'\\&quot;;\\n";
		stt_win_cnts+="map_list=\\&quot;'+map_list+'\\&quot;;\\n";
		stt_win_cnts+="main_df=\\&quot;'+main_df+'\\&quot;;\\n\\n";
		stt_win_cnts+="nm_set_mm_array(menu_list);\\n"
		stt_win_cnts+="/* END NON SPOSTARE */\\n";
		stt_win_cnts+="'+stt_mm_str+'\\n";
		stt_win_cnts+="/* BEGIN NON SPOSTARE */\\n";
		stt_win_cnts+="nm_set_sm_array(menu_list);\\n";
		stt_win_cnts+="/* END NON SPOSTARE */\\n";
		stt_win_cnts+="'+stt_sm_str+'";
		stt_win_cnts+="'";

		stt_link_win_name="stt_link_win";
		stt_link_win_cnts="";
		stt_link_win_cnts+="menu_link_intro+"
		stt_link_win_cnts+="array_to_link(menu_elements)"

		menu_list_win_name="menu_list_win";
		menu_list_win_cnts="";
		menu_list_win_cnts+="list_array(menu_elements)"

		menu_out_win_name="menu_out_win";
		menu_out_win_cnts="";
		menu_out_win_cnts+="menu_accu_intro+"
		menu_out_win_cnts+="menu_accu"

		menu_diag_win_name="menu_diag_win";
		
		var msg_0="<span class=\\\'red_sb\\\'>N.B.</span>: <span class=\\\'blue_sb\\\'>Se testato in locale, i dati potrebbero ";
		msg_0+="comprendere anche immagini in realtà caricate troppo velocemente.<br>Ripetere il test effettuando un refresh";
		msg_0+="di pagina (passando ad un\\\'altra voce di menu e rientrando) per avere una stima più precisa delle immagini mancanti.<br>On-line il problema non sembra presentarsi.</span>";
		
		var msg_1='<span class=\\\'blue_sb\\\'>Nessun Errore di caricamento Gfx</span>'
		
		menu_diag_win_cnts="";
		menu_diag_win_cnts+="table_init+"
		menu_diag_win_cnts+="menu_time_title+"
		menu_diag_win_cnts+="'<tr><td colspan=&quot;9&quot; '+rtp_sty+'><b>Total Time</b></td>";
		menu_diag_win_cnts+="<td '+rtp_sty_num+'><b>'+(mid_time)+'</b></td></tr>'+"
		menu_diag_win_cnts+="'<tr><td colspan=&quot;9&quot; '+rtp_sty+'><b>Mid Time</b></td>";
		menu_diag_win_cnts+="<td '+rtp_sty_num+'><b>'+Math.round(mid_time/idx)+'</b></td></tr>'+"
		menu_diag_win_cnts+="menu_time_head+"
		menu_diag_win_cnts+="menu_time+"
		menu_diag_win_cnts+="'<tr><td colspan=&quot;9&quot; '+rtp_sty+'><b>Total Time</b></td>";
		menu_diag_win_cnts+="<td '+rtp_sty_num+'><b>'+(mid_time)+'</b></td></tr>'+"
		menu_diag_win_cnts+="'<tr><td colspan=&quot;9&quot; '+rtp_sty+'><b>Mid Time</b></td>";
		menu_diag_win_cnts+="<td '+rtp_sty_num+'><b>'+Math.round(mid_time/idx)+'</b></td></tr>"
		menu_diag_win_cnts+="<tr><td colspan=\\\'10\\\' nowrap>&nbsp;<br></td></tr>";	
		menu_diag_win_cnts+="<tr><td colspan=\\\'10\\\' '+rtp_sty+'><span class=\\\'red_bb\\\'>Lista Gfx non caricate</span><br><br>";
		menu_diag_win_cnts+=msg_0+"</td></tr>";
		menu_diag_win_cnts+="<tr><td colspan=\\\'10\\\' nowrap '+rtp_sty_alpha+'>'+";
		menu_diag_win_cnts+="img_load_err.split('|').join('</td></tr><tr><td colspan=\\\'10\\\' '+rtp_sty_alpha+' nowrap>')+"
		menu_diag_win_cnts+="'</td></tr>'+";		
		menu_diag_win_cnts+="menu_time_end"
		batch_win_name="batch_win";
		batch_win_cnts="'TEST!'"

		btns+="<table>";
		btns+="<tr>";
		var host_name=document.location.hostname
		btns+="<td "+btn_sty+btns_evts+" onClick=\"location.href='http://"+host_name+"/'\"><span class=\"red_sb\">"+host_name+"</span></td>";
		if(host_name=="localhost"){			
			btns+="<td "+btn_sty+btns_evts+" onClick=\"location.href='http://"+host_name+"/"+php_db+"/'\"><span class=\"blue_sb\">"+php_db_admin+"</span></td>";
		}else if(host_name=="localhost:8080"){
			btns+="<td "+btn_sty+btns_evts+" onClick=\"location.href='http://"+host_name+"/"+jsp_db+"/'\"><span class=\"blue_sb\">"+jsp_db_admin+"</span></td>";
		}
		
		if(!common_win){
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+stt_win_name+"',"+stt_win_cnts+", true, this.innerHTML)\">Staticizza Link Expression</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+stt_link_win_name+"',"+stt_link_win_cnts+", true, this.innerHTML)\">Link Statici</td>";
			//btns+="<button "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+batch_win_name+"',"+batch_win_cnts+", false, this.innerHTML)\">Batch Renamer</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+menu_list_win_name+"',"+menu_list_win_cnts+", false, this.innerHTML)\">Menu List</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+menu_out_win_name+"',"+menu_out_win_cnts+", true, this.innerHTML)\">Menu Output</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"img_load_err=='' ? img_load_err= '"+msg_1+"' :vz; ; nm_tools_win('"+menu_diag_win_name+"',"+menu_diag_win_cnts+", false, this.innerHTML)\">Menu Diag</td>";
		}else{
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+common_win_name+"',"+stt_win_cnts+", true, this.innerHTML)\">Staticizza Link Expression</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+common_win_name+"',"+stt_link_win_cnts+", true, this.innerHTML)\">Link Statici</td>";
			//btns+="<button "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+common_win_name+"',"+batch_win_cnts+", false, this.innerHTML)\">Batch Renamer</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+common_win_name+"',"+menu_list_win_cnts+", false, this.innerHTML)\">Menu List</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+common_win_name+"',"+menu_out_win_cnts+", true, this.innerHTML)\">Menu Output</td>";
			btns+="<td "+btn_sty+btns_evts+" onClick=\"img_load_err=='' ? img_load_err= '"+msg_1+"' :vz; ; nm_tools_win('"+common_win_name+"',"+menu_diag_win_cnts+", false, this.innerHTML)\">Menu Diag</td>";
		}
		
		btns+="</tr><tr>";
		btns+="<td colspan=\"3\">";
		btns+="<table>";
		btns+="<tr>";
		btns+="<td "+btn_sty+btns_evts+" onClick=\"scroll_local_url('-1');\"><<</td>";
		btns+="<td id='inner_init_i_el' "+mon_sty+" nowrap></td>";
		btns+="<td "+btn_sty+btns_evts+" onClick=\"scroll_local_url('1');\">>></td>";
		if(isIE){
			btns+="<script language='JavaScript' type='text/javascript' FOR='document' EVENT='onkeydown'>";
			btns+="if(window.event.altKey && window.event.keyCode==38){scroll_local_url(-1)};\n";
			btns+="if(window.event.altKey && window.event.keyCode==40){scroll_local_url(1)};\n";
			btns+="window.status=window.event.keyCode;"
			//btns+=ly+"('init_i_el').innerHTML='"+init_i_el+"';\n"					
			btns+="</script>";
		}
		btns+="</td>";
		btns+="</tr>";
		btns+="</table>";
		btns+="</tr>";
		btns+="</table>";

		document.write(btns)
		document.close()
	}
}

function nm_tools_output(k, init_time, the_menu_str, drop_down, vertical, block_dependence, reverse_items, gfx_sfx, is_main_orig, anchor_mode, map_mode, acc_mode, menu_code){
	if(enable_tools){
		try{
			eval(ly+"('inner_init_i_el').innerHTML="+init_i_el)
		}catch (e){
		//alert(e.description)
		}
		var total_time = new Date().getTime()-init_time, n = 0, tabs_0 = " ]-------------------------] ", tabs_1 = " ]-------] ", menu_fl = "";
		menu_fl+="	Menu: "+the_menu_str.split("|").join(" | ")+"\n"
		menu_fl+="	ID: "+idx+"\n"
		menu_fl+="	Keys: "+k+"\n"
		menu_fl+="	ImgSuffix: "+gfx_sfx+"\n"
		menu_fl+="	Time: "+total_time+" ms\n\n"
		menu_fl+=(n++)+eval("tabs_"+Number(drop_down))+"DropDown: "+drop_down+"\n"
		menu_fl+=(n++)+eval("tabs_"+Number(vertical))+"Vertical: "+vertical+"\n"
		menu_fl+=(n++)+eval("tabs_"+Number(block_dependence))+"BlockDep: "+block_dependence+"\n"
		menu_fl+=(n++)+eval("tabs_"+Number(reverse_items))+"Reverse: "+reverse_items+"\n"
		menu_fl+=(n++)+eval("tabs_"+Number(is_main_orig))+"IsMain: "+is_main+"\n"
		menu_fl+=(n++)+eval("tabs_"+Number(anchor_mode))+"Anchor: "+anchor_mode+"\n"
		menu_fl+=(n++)+eval("tabs_"+Number(map_mode))+"Map: "+map_mode+"\n"
		menu_fl+=(n++)+eval("tabs_"+Number(acc_mode))+"Access.: "+acc_mode+"\n"

		menu_accu+="<!-- BEGIN \n\n"
		menu_accu+=menu_fl
		menu_accu+="\n-->\n"
		menu_accu+=menu_code+"\n";
		menu_accu+="<!-- END "
		menu_accu+="Menu: "+the_menu_str.split("|").join(" | ")+" - ID: "+idx
		menu_accu+=" -->\n\n"

		menu_time+="<tr>";
		menu_time+="<td "+rtp_sty_num+">"+idx+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+k+"</td>";
		menu_time+="<td "+rtp_sty+">"+the_menu_str.split("|").join("<br>")+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+Number(is_main_orig)+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+Number(drop_down)+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+Number(vertical)+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+Number(reverse_items)+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+Number(map_mode)+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+Number(acc_mode)+"</td>";
		menu_time+="<td "+rtp_sty_num+">"+total_time.toFixed(decimali)+"</td></tr>"
		mid_time+=total_time
	}
}
