var tools_ver = "1.1.9.2";
var tools_rel = "Release";
var tools_upd = "<!--%TimeStamp%-->23/09/2006 20.16<!---->";

// robots_disallowed_dirs include tutte le cartelle che, per default, devono essere escluse da robots.txt
// inserire i valori separati dal punto e virgola
var body_content_folder="inc/";
var robots_disallowed_dirs="/_external;/_gfx;/img;";
var bat_file="clone_index.bat"
var nav_page="_nav";
var frame_sfx="body_";
var rtp_sty = "class=\"mm_r\" style=\"padding: 3px; font-size:10px;\" ";
var rtp_sty_full = "class=\"mm_r\" style=\"padding: 3px; font-size:10px; width: 100%;\" ";
var rtp_sty_alpha = "class=\"sm_n\" style=\"padding: 3px; text-align:left; font-size:10px;\" ";
var rtp_sty_num = "class=\"sm_n\" style=\"padding: 3px; text-align:right; font-size:10px;\" ";
var mon_sty = "class=\"mm_n\" style=\"width: 40px; text-align:right; padding-top: 2px; padding-bottom: 2px;\" ";
var mon_sty_path = "class=\"mm_n\" style=\"width: 400px; text-align: left; padding-left:10px; padding-top: 2px; padding-bottom: 2px;\" ";
var btn_sty = "class=\"mm_n\" style=\"text-align:center; padding: 5px; font-size:11px; font-weight: bold; padding-top: 2px; padding-bottom: 2px;\" ";
var btn_lin_nav_sty = "class=\"mm_n\" style=\"text-align:center; padding: 5px; font-size:11px; padding-top: 2px; padding-bottom: 2px;\" ";
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 menu_bat_intro = "@Questo Output deve essere usato per clonare la pagina Index.\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 df_dim_x=640;
var df_dim_y=512;
var df_pos_x=10;
var df_pos_y=160;

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 table_end = "</table>";
var stt_href = ""
var full_map_computed=false;
var tools_menu="";
nm_set_sm_array("tools_menu")
// lunghezza massima del link visualizzato nel monitor del navigatore lineare
var max_dummy_len=38;
// Legge i meta-tag e title
var max_num_keywords=20;
var max_num_description=40;
var max_num_title=128;
var meta_keywords="";
var meta_description="";


if(enable_tools){
	var lang_sfx="";
	typeof(lang)=="undefined" ? lang="" : lang_sfx=lang+"_";
	nm_tools()
}


function nm_toolmenu(the_menu_str, drop_down, vertical, block_dependence, reverse_items, gfx_sfx, is_main, anchor_mode, acc_mode){
	map_mode=false;
	acc_mode=false;
	menu_el_nav_included=false;
	full_menu=nm_menu_master(the_menu_str, drop_down, vertical, block_dependence, reverse_items, gfx_sfx, is_main, anchor_mode, map_mode, acc_mode,menu_el_nav_included)
	document.write(full_menu);
	document.close();
}

function nm_innerhtml_reader(tag,id){
	typeof(tag)=="undefined" ? tag="" : vz;
	typeof(id)=="undefined" ? id="" : vz;
	var contents=new Array()
	if(id!=""){
		try{
			var el=make_el(id)
			contents=contents.concat(contents,el.innerHTML)
		}catch(e){
			alert("Errore: "+e.description)
		}

	}else if(tag!=""){
		var el_ra=eval("document"+lt+"('"+tag+"')")
		var el_ra_num=el_ra.length;
		var inner="";
		for(var i=0;i<el_ra_num;i++){
			typeof(el_ra[i].innerHTML)=="undefined" ? inner="" : inner=el_ra[i].innerHTML;
			contents=contents.concat(contents,inner)
		}
	}
	return contents
}

var tag_title=nm_innerhtml_reader("title","")

function nm_meta_tags_reader(){
	var metatags_ra=eval("document"+lt+"('meta')")
	var metatags_ra_num=metatags_ra.length;
	var meta_str="";
	for(var i=0;i<metatags_ra_num;i++){
		meta_str+="var meta_"+(nm_set_id(metatags_ra[i].httpEquiv)).toLowerCase()+"=\""+(metatags_ra[i].content)+"\";\n";
	}
	if(meta_str!=""){
		return meta_str;
	}
}



function nm_string_cleaner(str){
	
	var re=/[\s]{2,}/gi;
	var fmatch=/[\W]*/gi
	try{
		while(str.match(re).length>1){
			str=str.replace(re, " ")
		}
	}catch(e){
		str=str.replace(re, " ")
	}finally{
		str=str.replace(re, " ")
	}
	return str;
}

function nm_word_counter(str, max_num_words, id_dest_window, id_dest_string, id_dest_response, word_mode){
	
	typeof(max_num_words)=="undefined" ? max_num_words=0 : vz;
	if(typeof(id_dest_window)!="undefined" && id_dest_window!=""){
		id_dest_window+=".";
	}

	var str_ra=str.split(" ");
	if(max_num_words!="" && !isNaN(max_num_words) && max_num_words>0){
		if(word_mode){
			var str_num_words=str_ra.length;
			var diff_num_words=max_num_words-str_num_words
			if(diff_num_words>0){
				diff_num_words=max_num_words-str_num_words
			}else{
				diff_num_words=0
				str_ra=str_ra.splice(0,max_num_words)
				str=str_ra.join(" ");				
				str_num_words=str_ra.length;
			}
		}else{
			var str_num_words=str.length
			var diff_num_words=max_num_words-str_num_words
			if(diff_num_words>0){
				diff_num_words=max_num_words-str_num_words
			}else{
				diff_num_words=0
				str=str.substring(0,max_num_words)
			}
		}		
		if(str_num_words==1){
			if(str.length>0){
				str_num_words=1
			}else{
				str_num_words=0;			
			}
		}
	}
	var response="";
	response+=table_init+"<tr><td class=\"mm_n\" style\"width: 100%;\">&nbsp;</td>"
	word_mode ? response+="<td "+rtp_sty_alpha+"><b class=\"green_sb\">Vocaboli</b></td>" : response+="<td "+rtp_sty_alpha+"><b class=\"blue_sb\">Caratteri</b></td>";
	response+="<td "+rtp_sty_alpha+">Attuali</td><td "+rtp_sty_num+"><span class=\"blue_sb\">"+str_num_words+"</span></td>";
	if(max_num_words>0){
		response+="<td "+rtp_sty_alpha+">Permessi</td><td "+rtp_sty_num+"><span class=\"red_sb\">"+max_num_words+"</span></td>";	
		response+="<td "+rtp_sty_alpha+">Rimanenti</td><td "+rtp_sty_num+"><span class=\"green_sb\">"+diff_num_words+"</span></td>";
	}
	response+="</tr>"+table_end
	
	if(id_dest_response!=""){
		eval(id_dest_window+ly+"('"+id_dest_response+"').innerHTML='"+response+"';")
	}
	/*
	if(id_dest_string!=""){
		eval(id_dest_window+ly+"('"+id_dest_string+"').value='"+str+"';")
	}
	*/

	var dati=new Array(max_num_words,str_num_words,diff_num_words,response,str);
	return dati;
}

function set_menu_elements(){
	if(!full_map_computed){
		//nm_sitemap(the_menu_str, drop_down, acc_mode, is_main, write_mode,menu_el_nav_included)		
		nm_sitemap(map_list, false, false, true,false,true)
		full_map_computed=true;
	}
	var num = menu_elements.length;
	var menu_el=new Array();
	menu_el=menu_el.concat(menu_elements);
	var menu_el_str="";
	if(typeof (menu_el[0])!="object" && typeof (menu_el[0])!="undefined"){
		for (var i = 0; i<num; i++){
			menu_el[i]=eval("new Array("+menu_el[i]+")")			
		}
	}
	return menu_el;
}
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=\"nav\" class=\"nav\">\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 array_to_bat(link_ra){
	var str = ""
	var link_ra_num = link_ra.length;
	var index_ext=index_page_full.substring(index_page_full.lastIndexOf(".")+1)
	str+="@NmMenu Index Clone \n";
	str+="SET COPYCMD=Y\n";
	var ver=0
	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()
		var page_name_len="" 
		if(link_ra[i][1].indexOf("?")>=0){
			init_page_name=link_ra[i][1].indexOf("?")+1
			end_page_name=link_ra[i][1].length;
		}else{
			init_page_name=0;
			end_page_name=link_ra[i][1].length;
		}
		var page_name=link_ra[i][1].substring(init_page_name,end_page_name)
		/*
		// Vecchhie impostazioni per creare il clone_index.bat nella root
		if(page_name!=(index_page+page_name.substring(page_name.indexOf("."))) && page_name.split("://").length==1  && page_name.split("@").length==1){
			ver++;
			str+="copy "+index_page+page_name.substring(page_name.indexOf("."))+" "+page_name+"\n"
		}else{
			msg="@In base alle impostazioni del menu NON è necessario clonare "+index_page+page_name.substring(page_name.indexOf("."))+"\n";
		}
		*/
		if(page_name!=index_page && page_name.split("://").length==1  && page_name.split("@").length==1){
			ver++;
			str+="copy/-y body_"+index_page+"."+index_ext+" body_"+page_name+"."+index_ext+"\n"
			str+="copy/-y meta_"+index_page+"."+index_ext+" meta_"+page_name+"."+index_ext+"\n"
		}
		
	}
	str+="@END NmMenu Index Clone \n";
	ver==0 ? str=msg : vz;
	return str;
}

function nm_tools_win(name, cnts, escape_tags, title, write_contents, dim_x, dim_y){
	var cnts_orig=escape(cnts);
	if(escape_tags){		
		cnts=cnts.split("<").join("&lt;").split(">").join("&gt;");
		cnts="<div style=\"width:100%;\"><pre>"+cnts+"</pre></div>"
	}
	typeof(dim_x)=="undefined" || dim_x=="" ? dim_x=df_dim_x : vz;
	typeof(dim_y)=="undefined" || dim_y=="" ? dim_y=df_dim_y : vz;
	popupwin("", dim_x, dim_y, name, df_pos_x, df_pos_y)
	external_inc=set_xternal(nm_fs_inc, rel_path)
	
	eval(nm_meta_tags_reader());
	var cur_page=location.href
	var index_ext=index_page_full.substring(index_page_full.lastIndexOf(".")+1)
	
	if(index_ext=="shtml"){		
		if(cur_page.indexOf("?")!=-1){
			cur_page=cur_page.substring(cur_page.indexOf("?")+1)
		}else{			
			if(Number(cur_page.lastIndexOf("/"))==Number(cur_page.length-1)){
				cur_page=index_page
			}else{
				cur_page=cur_page.substring(cur_page.lastIndexOf("/")+1,cur_page.lastIndexOf("."))
			}
		}								
	}	
	var tools="";
	tools+="<form name=\"nm_data\" id=\"nm_data\" action=\""+rel_path+"_external/nm_functions.php\" method=\"post\">";
	tools+="<input type=\"hidden\" name=\"local_hosts\" id=\"local_hosts\" value=\""+local_hosts+"\">";
	tools+="<input type=\"hidden\" name=\"local_path\" id=\"local_path\" value=\""+location.href+"\">";
	tools+="<input type=\"hidden\" name=\"title\" id=\"title\" value=\""+title+"\">";
	tools+="<input type=\"hidden\" name=\"action_mode\" id=\"action_mode\" value=\"\">";
	tools+="<input type=\"hidden\" name=\"dest_file\" id=\"dest_file\" value=\""+index_page+"."+index_ext+"\">";	
	tools+="<input type=\"hidden\" name=\"contents\" id=\"contents\" value=\""+cnts_orig+"\">";
	tools+="<input type=\"hidden\" name=\"max_num_keywords\" id=\"max_num_keywords\" value=\""+max_num_keywords+"\">";
	
	switch (title){
		case "Spider Tools":
			var nav_file=nav_page+"."+index_ext				
			var t_c=nm_word_counter(tag_title[0],max_num_title,common_win_name ,"","", false);
			var d_c=nm_word_counter(meta_description,max_num_description,common_win_name,"","", true);
			var k_c=nm_word_counter(meta_keywords,max_num_keywords,common_win_name,"","", true);
			tools+="<input type=\"hidden\" name=\"meta_file\" id=\"meta_file\" value=\""+body_content_folder+"meta_"+cur_page+"."+index_ext+"\">";
			tools+="<input type=\"hidden\" name=\"nav_file\" id=\"nav_file\" value=\""+nav_file+"\">";
			tools+="<input type=\"hidden\" name=\"bat_file\" id=\"bat_file\" value=\""+body_content_folder+"clone_body.bat\">";
			tools+="<input type=\"hidden\" name=\"bat_contents\" id=\"bat_contents\" value=\""+array_to_bat(set_menu_elements())+"\">";
			tools+=table_init;
			tools+="<tr><td "+rtp_sty+" colspan=\"2\" id=\"response_title\">"+t_c[3]+"</td></tr>";
			tools+="<tr><td "+rtp_sty+" nowrap><b>Title</b><br>";
			tools+="<a href=\"javascript:void(0)\" onclick=\""+ly+"('title_data').value=opener.nm_string_cleaner("+ly+"('title_data').value);\">String Cleaner</a><br>";
			tools+="<a href=\"javascript:void(0)\" onclick=\""+ly+"('title_data').value='"+escape(t_c[4])+"';\">Reset</a></td>";
			tools+="<td "+rtp_sty_full+"><input type=\"text\" name=\"title_data\" id=\"title_data\" style=\"width:100%\" ";
			tools+="onKeyUp=\"var r=opener.nm_word_counter(this.value,"+max_num_title+",window.name,this.id,'response_title',false);\"";
			tools+="onBlur=\"this.value=opener.nm_string_cleaner(this.value); var r=opener.nm_word_counter(this.value,"+max_num_title+",window.name,this.id,'response_title',false);\" ";
			tools+="value=\""+t_c[4]+"\"></td></tr>";

			tools+="<tr><td "+rtp_sty+" colspan=\"2\" id=\"response_description\">"+d_c[3]+"</td></tr>";
			tools+="<tr><td "+rtp_sty+" nowrap><b>Description</b><br>";
			tools+="<a href=\"javascript:void(0)\" onclick=\""+ly+"('description').value=opener.nm_string_cleaner("+ly+"('description').value);\">String Cleaner</a><br>";
			tools+="<a href=\"javascript:void(0)\" onclick=\""+ly+"('description').value='"+escape(d_c[4])+"';\">Reset</a></td>";			
			tools+="<td "+rtp_sty_full+"><textarea name=\"description\" id=\"description\" rows=\"2\" style=\"width:100%\" ";
			tools+="onKeyUp=\"var r=opener.nm_word_counter(this.value,"+max_num_description+",window.name,this.id,'response_description',true);\" ";
			tools+="onBlur=\"this.value=opener.nm_string_cleaner(this.value); var r=opener.nm_word_counter(this.value,"+max_num_description+",window.name,this.id,'response_description',true);\" ";
			tools+=">"+d_c[4]+"</textarea></td></tr>";

			tools+="<tr><td "+rtp_sty+" colspan=\"2\" id=\"response_keywords\">"+k_c[3]+"</td></tr>";
			tools+="<tr><td "+rtp_sty+" nowrap><b>KeyWords</b><br>";
			tools+="<a href=\"javascript:void(0)\" onclick=\""+ly+"('keywords').value=opener.nm_string_cleaner("+ly+"('keywords').value);\">String Cleaner</a><br>";
			tools+="<a href=\"javascript:void(0)\" onclick=\""+ly+"('keywords').value='"+escape(k_c[4])+"';\">Reset</a></td>";
			tools+="<td "+rtp_sty_full+"><textarea name=\"keywords\" id=\"keywords\" rows=\"3\" style=\"width:100%\" ";
			tools+="onKeyUp=\"var r=opener.nm_word_counter(this.value,"+max_num_keywords+",window.name,this.id,'response_keywords',true);\" ";
			tools+="onBlur=\"this.value=opener.nm_string_cleaner(this.value); var r=opener.nm_word_counter(this.value,"+max_num_keywords+",window.name,this.id,'response_keywords',true);\" ";
			tools+=">"+k_c[4]+"</textarea></td></tr>";
			tools+="<tr><td colspan=\"2\" "+rtp_sty+"><hr>";
			tools+="</td></tr>"
			tools+="<tr><td "+rtp_sty+" nowrap><b>File e Directory<br> non accessibili ai robots*</b></td>"
			tools+="<td "+rtp_sty_full+"><textarea name=\"disallowed\" id=\"disallowed\" rows=\"3\" style=\"width:100%\">"+robots_disallowed_dirs+"</textarea></td></tr>"
			tools+="<tr><td colspan=\"2\" "+rtp_sty+"><hr>";
			tools+="</td></tr>"
			tools+="<tr><td colspan=\"2\" "+rtp_sty+">Verranno creati / modificati i seguenti file:<br>&nbsp;&nbsp;<b>"+nav_file+"</b><br>&nbsp;&nbsp;<b>"+bat_file+"</b>";
			tools+="</td></tr>"
			tools+="<tr><td colspan=\"2\">";
			tools+="</td></tr>"+table_end;
			tools+="<button "+btn_sty+" onclick=\"nm_data_form=make_el('nm_data');nm_data_form.action_mode.value='insert';nm_data_form.submit()\">";
			tools+="<b>Scrivi "+title+"</button>";
			tools+="<button "+btn_sty+" onclick=\"nm_data_form=make_el('nm_data');nm_data_form.action_mode.value='delete';nm_data_form.submit()\">";
			tools+="<b>Elimina "+title+"</button>";			
			tools+="</form>";
			break;
		case "Configurazione Menu":
			tools+="<input type=\"hidden\" name=\"edit\" id=\"edit\" value=\"read\">";
			tools+="<input type=\"hidden\" name=\"file_0\" id=\"file_0\" value=\"../_external/nm_menu_cfg.js\">";
			tools+="<script language='JavaScript' type='text/javascript'>";
			tools+="nm_data_form="+ly+"('nm_data');nm_data_form.submit();";
			tools+="</script>";		
			break;
		case "Voci Menu":
			tools+="<input type=\"hidden\" name=\"edit\" id=\"edit\" value=\"read\">";
			tools+="<input type=\"hidden\" name=\"file_0\" id=\"file_0\" value=\"../_external/"+lang_sfx+"nm_menu_items.js\">";
			tools+="<script language='JavaScript' type='text/javascript'>";
			tools+="nm_data_form="+ly+"('nm_data');nm_data_form.submit();";
			tools+="</script>";	
			break;
		case "About Menu":
			tools+="<input type=\"hidden\" name=\"edit\" id=\"edit\" value=\"read\">";
			tools+="<input type=\"hidden\" name=\"file_0\" id=\"file_0\" value=\"../_external/nm_menu_about.js\">";
			tools+="<script language='JavaScript' type='text/javascript'>";
			tools+="nm_data_form="+ly+"('nm_data');nm_data_form.submit();";
			tools+="</script>";	
			break;
		case "Stile Menu":
			tools+="<input type=\"hidden\" name=\"edit\" id=\"edit\" value=\"read\">";
			tools+="<input type=\"hidden\" name=\"file_0\" id=\"file_0\" value=\"../_external/nm_menu_style.css\">";			
			tools+="<script language='JavaScript' type='text/javascript'>";
			tools+="nm_data_form="+ly+"('nm_data');nm_data_form.submit();";
			tools+="</script>";	
			break;
		case "Stile Pagina":
			tools+="<input type=\"hidden\" name=\"edit\" id=\"edit\" value=\"read\">";
			tools+="<input type=\"hidden\" name=\"file_0\" id=\"file_0\" value=\"../_external/page_style.css\">";
			tools+="<script language='JavaScript' type='text/javascript'>";
			tools+="nm_data_form="+ly+"('nm_data');nm_data_form.submit();";
			tools+="</script>";	
			break;
		case "Pagina Corrente":
			tools+="<input type=\"hidden\" name=\"edit\" id=\"edit\" value=\"read\">";
			tools+="<input type=\"hidden\" name=\"file_0\" id=\"file_0\" value=\"../"+body_content_folder+lang_sfx+frame_sfx+cur_page+"."+index_ext+"\">";
			tools+="<input type=\"hidden\" name=\"file_1\" id=\"file_1\" value=\"../"+lang+"/"+body_content_folder+frame_sfx+cur_page+"."+index_ext+"\">";
			tools+="<input type=\"hidden\" name=\"page_title\" id=\"page_title\" value=\""+page_title+"\">";
			tools+="<input type=\"hidden\" name=\"page_path\" id=\"page_path\" value=\""+page_path+"\">";
			tools+="<script language='JavaScript' type='text/javascript'>";
			tools+="nm_data_form="+ly+"('nm_data');nm_data_form.submit();";
			tools+="</script>";	
			break;
		default: 
			break;	
	}
	tools+="</form>";
	
	var str=""
	str+="<html><head>"+external_inc+"<title>.:: MenuTool :: "+title+" ::.</title>";
	str+="<script language=\"JavaScript\" type=\"text/javascript\">";
	str+="var index_page_full=\""+index_page_full+"\";\n"
	str+="</script>"
	str+="</head><body style=\"margin:0px;\">";
	str+=table_init+"<tr><td "+rtp_sty+"><b class=\"blue_sb\" style=\"font-size:13px;\">"+title+"</b></td></tr>";
	str+="<tr><td>"+tools+"</td></tr>";
	if(write_contents){
		str+="<tr><td "+rtp_sty_alpha+">";	
		str+=cnts;
		str+="</td></tr>";
	}
	str+="</table>";
	str+="</body></html>";
	eval(name).document.clear();
	eval(name).document.write(str);
	eval(name).document.close();
	eval(name).focus();
}



function scroll_local_url(index,resp_num_target,resp_string_target,resp_code_target){
	var str_mon="";
	//window.status=num+" | "+init_i_el+" | "+menu_el[init_i_el][1]	
	var menu_el=set_menu_elements();
	var num = menu_el.length;
	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
	}
	
	var the_name=menu_el[init_i_el][0].striptags();
	//alert(the_name+" : "+the_name.striptags())
	var the_link=menu_el[init_i_el][1]
	var the_target=menu_el[init_i_el][2]
	//alert(the_link)
	str_mon+=make_el(resp_num_target,true)+".innerHTML=\"<b class='green_sb'>"+Number(1+init_i_el)+"</b>&nbsp;/&nbsp;<b class='blue_sb'>"+num+"</b>\";"
	var local_target="";

	var the_name_dummy=the_name;
	var the_link_noquery=(the_link.split("?"))[0];
	//alert(the_link_noquery)
	if(the_link.split("://").length==1 && the_link.split("mailto:").length==1 && the_link.split(js_split).length==1 && the_link_noquery.lastIndexOf("/")!=the_link_noquery.length && the_link_noquery.lastIndexOf("/")< the_link_noquery.lastIndexOf(".") && (the_target=="_self" || the_target=="")){
		local_target="";
		location.href=menu_el[init_i_el][1]
		str_mon+=make_el(resp_string_target,true)+".innerHTML=\""+the_name_dummy+"\";";
	}else{
		var local_link="";
		var local_target="&nbsp;[&nbsp;<b class=\\\"blue_sb\\\">"+the_target+"</b>&nbsp;]";
		if( the_link.split(js_split).length==1){
			local_link+="<a href=\\\"javascript:nm_link('"+escape(the_link)+"','"+the_target+"');\\\">"+the_name+"</a>"		
		}else{
			local_link+="<a href=\\\""+the_link+";\\\">"+the_name_dummy+"</a>"					
		}
		str_mon+=make_el(resp_string_target,true)+".innerHTML=\""+local_link+" - <b class=\\\"red_sb\\\">Link Ext</b>"+local_target+"\";";
	}
	var the_link_dummy=the_link;
	if(the_link.length>max_dummy_len){
		the_link_dummy=the_link.substring(0,max_dummy_len)+"..."
	}
	str_mon+=make_el(resp_code_target,true)+".innerHTML=\""+the_link_dummy+"\";";
	eval(str_mon)
}

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){
		//alert("ci sono")
		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(set_menu_elements())"
		
		stt_bat_win_name="stt_bat_win";
		stt_bat_win_cnts="";
		stt_bat_win_cnts+="menu_bat_intro+"
		stt_bat_win_cnts+="array_to_bat(set_menu_elements())"
		
		
		stt_meta_tag_win_name="stt_meta_tag_win";
		stt_meta_tag_win_cnts="";		

		menu_list_win_name="menu_list_win";
		menu_list_win_cnts="";
		menu_list_win_cnts+="list_array(set_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+="table_end"
		batch_win_name="batch_win";
		batch_win_cnts="'TEST!'"
		
		var host_name=document.location.hostname
		
		btns+="<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
				
		//-------------------------------
				
		btns+="<tr>";
		btns+="<td>";
		btns+="<table border='0' cellspacing='0' cellpadding='0' align='left'>";
		btns+="<tr>";
		btns+="<td "+btn_lin_nav_sty+btns_evts+" onClick=\"try{scroll_local_url('-1','inner_init_i_el','inner_init_i_el_name','inner_init_i_el_code')}catch(e){};\"><b class=\"blue_bb\">«</b></td>";
		btns+="<td "+btn_lin_nav_sty+btns_evts+" onClick=\"try{scroll_local_url('1','inner_init_i_el','inner_init_i_el_name','inner_init_i_el_code')}catch(e){};\"><b class=\"orange_bb\">»</b></td>";
		btns+="<td id='inner_init_i_el' "+mon_sty+" nowrap>&nbsp;</td><td nowrap>";
		btns+="<table width='100%' border='0' cellspacing='0' cellpadding='0' style='height: 100%;'>";
		btns+="<tr><td id='inner_init_i_el_name' "+mon_sty_path+" nowrap>&nbsp;Loading...</td></tr>";
		btns+="<tr><td id='inner_init_i_el_code' "+mon_sty_path+" nowrap>&nbsp;Loading...</td></tr>";
		btns+="</table>"
		
		//btns+="<td "+btn_sty+btns_evts+" onClick=\"nm_tools_win('"+common_win_name+"',"+stt_link_win_cnts+", true, this.innerHTML, false)\">Spider Tools</td>";
		if(isIE){
			btns+="<script language='JavaScript' type='text/javascript' FOR='document' EVENT='onkeyup'>";
			btns+="if(window.event.altKey && window.event.keyCode==38){scroll_local_url(-1,'inner_init_i_el','inner_init_i_el_name','inner_init_i_el_code')};\n";
			btns+="if(window.event.altKey && window.event.keyCode==40){scroll_local_url(1,'inner_init_i_el','inner_init_i_el_name','inner_init_i_el_code')};\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()	
		
		if(host_name=="localhost" || host_name=="127.0.0.1"){
			host_db_name=php_db_admin;
			host_db_link="http://"+host_name+"/"+php_db+"/";
		}else if(host_name=="localhost:8080"){
			host_db_name=jsp_db_admin;
			host_db_link="http://"+host_name+"/"+jsp_db+"/";			
		}
		
		tools_menu=[
			["<b class=\"red_sb\">Admin</b>","",""],
			["<strong>Edit</strong>","",""],
			["<strong>Tools</strong>","",""],
			["<strong>Site Builder</strong>","",""]		
		]
		tools_menu_0=[
			["LocalHost [ <span class=\"blue_sb\">Self Window</span> ]","http://"+host_name+"/",""],
			["LocalHost [ <span class=\"red_sb\">New Window</span> ]","http://"+host_name+"/","_blank"],
			[host_db_name+" [ <span class=\"blue_sb\">Self Window</span> ]",host_db_link,""],
			[host_db_name+" [ <span class=\"red_sb\">New Window</span> ]",host_db_link,"_blank"]
		]
		tools_menu_1=[
			["Configurazione Menu","javascript:nm_tools_win('"+common_win_name+"','', true, this.innerHTML, false, 1000)",""],
			["Voci Menu","javascript:nm_tools_win('"+common_win_name+"','', true, this.innerHTML, false, 1000)",""],
			["About Menu","javascript:nm_tools_win('"+common_win_name+"','', true, this.innerHTML, false, 1000)",""],
			["Stile Menu","javascript:nm_tools_win('"+common_win_name+"','', true, this.innerHTML, false, 1000)",""],
			["Stile Pagina","javascript:nm_tools_win('"+common_win_name+"','', true, this.innerHTML, false, 1000)",""],
			["Pagina Corrente","javascript:nm_tools_win('"+common_win_name+"','', true, this.innerHTML, false, 1000)",""]
		]
		tools_menu_2=[
			["Staticizza Link Expression","javascript:nm_tools_win('"+common_win_name+"',"+escape(stt_win_cnts)+", true, this.innerHTML, true)",""],
			["Batch Renamer","javascript:nm_tools_win('"+common_win_name+"',"+escape(stt_bat_win_cnts)+", true, this.innerHTML, true)",""],
			["Link Statici","javascript:nm_tools_win('"+common_win_name+"',"+escape(stt_link_win_cnts)+", true, this.innerHTML, true)",""],
			["Lista Menu","javascript:nm_tools_win('"+common_win_name+"',"+escape(menu_list_win_cnts)+", false, this.innerHTML, true)",""],
			["Output Menu","javascript:nm_tools_win('"+common_win_name+"',"+escape(menu_out_win_cnts)+", true, this.innerHTML, true)",""],
			["Diagnostica Menu","javascript:img_load_err=='' ? img_load_err= '"+msg_1+"' :vz; ; nm_tools_win('"+common_win_name+"',"+escape(menu_diag_win_cnts)+", false, this.innerHTML, true)",""],
		]		
		tools_menu_3=[
			["Spider Tools","javascript:nm_tools_win('"+common_win_name+"',"+escape(stt_link_win_cnts)+", true, this.innerHTML, false)",""],			
		]		


		// impostazioni gobali
		use_max_space=false;
		item_mm_min_w=0;
		
		the_menu="tools_menu";
		
		// Modo Menu: Drop Down Tendina (true) / Block  Compressione (false)
		drop_down=true;
		
		// Disposizione Verticale per Menu Drop Down
		vertical=false;
		
		// Dipendenza dei Blocchi per Menu a Compressione
		block_dependence=true;
		
		// Inverte la direzone del Menu Drop Down:  Down / Up (vertical=false)
		// o Left / Right (vertical=true)
		reverse_items=false;
		
		// Indica se usare pulsanti grafici (nome_immagine) o pulsanti HTML (vuoto)
		menu_img_suffix="";
		
		
		// Indica se il menu è il proncipale (contiene la chiamata all'index)
		is_main=true;
		
		// Imposta la modalità di link: onClick (false) o a href="..." (true)
		anchor_mode=false;
		
		//Menu
		nm_toolmenu(	
				the_menu, 
				drop_down, 
				vertical, 
				block_dependence, 
				reverse_items, 
				menu_img_suffix, 
				is_main, 
				anchor_mode
			);
		use_max_space=true;
		//------------------------------
		
	}
}

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{
			var local_mon=""
			var the_page_path_dummy=page_path;			
			var the_init_i_el_link_dummy=init_i_el_link;
			var num = menu_elements.length;
			if(init_i_el_link.length>max_dummy_len){
				the_init_i_el_link_dummy=init_i_el_link.substring(0,max_dummy_len)+"..."
			}
			local_mon+=make_el('inner_init_i_el',true)+".innerHTML=\"<b class='green_sb'>"+Number(1+init_i_el)+"</b>&nbsp;/&nbsp;<b class='blue_sb'>"+num+"</b>\";";

			local_mon+=make_el('inner_init_i_el_name',true)+".innerHTML=unescape('"+escape(the_page_path_dummy)+"');";
			local_mon+=make_el('inner_init_i_el_code',true)+".innerHTML=unescape('"+escape(the_init_i_el_link_dummy)+"');";
			eval(local_mon);
		}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
	}
}
