function is_array(input){
	return typeof(input)=='object'&&(input instanceof Array);
}
function addslashes (str) {
    return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\u0000/g, "\\0");
}

///////////////////
// Config
///////////////////

var config= new Array()
config["menu_separator"] 	= " ";
config["submenu_separator"] = " - ";
config["menu_class"] 		= "menu_bas";
config["submenu_class"] 	= "sous_entree";

var couleur_transparence_fond="#fff";
var opacite_fondmoz=0.40;
var opacite_fondmsie=opacite_fondmoz*100;
var hauteur_menu_principal=32;
///////////////////
// menu builder
///////////////////

var menu_output = "";
var item_counter = 0;
var item_number = 0;

// array.length ne fonctionne pas avec un array à 2 dimension... je ne sais pas pourquoi.
// donc, calcul de la longueur à la barbare.
for (title in topMenu) {
	item_number++;
}


menu_output="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td width=\"2\"><img src=\"images3/trans.gif\" width=\"2\" height='"+hauteur_menu_principal+"' onMouseOut=\"bw_masquer_submenu('trans gauche');\"></td>";

item_counter=0;
for (title in topMenu) {
	item_counter++;
	menu_output += "<td id=\"item_"+item_counter+"\" height='"+hauteur_menu_principal+"' valign=\"top\">";
	if(is_array(topMenu[title])) {
		menu_output +="<a href=\"javascript:return true;\" class=\""+config["menu_class"]+"\"";
		menu_output += " onMouseOver=\"javascript:bw_show_submenu(topMenu,'"+addslashes(title)+"', "+item_counter+");\"";
	} else {
		menu_output +="<a href=\""+topMenu[title]+"\" class=\""+config["menu_class"]+"\"";
	}
	menu_output += ">";
	menu_output += "<img border=\"0\" src=\"images3/trans.gif\" width=\"1\" height=\"14\"><br>";
	menu_output += title;
	menu_output += "<br><img border=\"0\" src=\"images3/trans.gif\" width=\"1\" height=\"7\">";
	menu_output += "</a>";
	menu_output += "</td><td width=\"13\"><img src=\"images3/trans.gif\" width=\"13\" height=\"7\">";
	if (item_counter != item_number) {
		menu_output += config["menu_separator"];
	}
}

menu_output+="<td width=\"2\"><img src=\"images3/trans.gif\" width=\"2\" height=10 onMouseOut=\"bw_masquer_submenu('trans droite');\"></td>";

if(adresse_votre_galerie.length>0) {
	menu_output+="<td height=32 valign=top nowrap>"+"<img border=\"0\" src=\"images3/trans.gif\" width=\"1\" height=\"14\"><br>"+"<a href=\""+adresse_votre_galerie+"\" class=\""+config["menu_class"]+"\">Votre Galerie</a></td>";
}
menu_output+="</tr><tr><td onMouseOut=\"bw_masquer_submenu('td dessous');\" colspan=\""+(item_counter+2)+"\"><img src=\"images/trans.gif\" width=\"1\" height=\"1\"></td></tr></table>";

///////////////////
// menu output
///////////////////
function load_bw_menu() {
	document.getElementById('td_menu_principal').innerHTML=menu_output;
}
function bw_show_submenu(array,menu, num_item) {
	document.getElementById('bw_submenu').innerHTML = bw_output_submenu(array[menu]);
	document.getElementById('bw_submenu').style.top = (355-33)-document.getElementById('bw_submenu').clientHeight;
	var decalage=document.getElementById('item_'+num_item).offsetLeft;
	document.getElementById('bw_submenu').style.left=(decalage)-8;
}

function bw_masquer_submenu(endroit) {
	//document.getElementById('sortie').innerHTML = endroit;
	document.getElementById('bw_submenu').innerHTML = "";
}

function bw_output_submenu(array) {
	var submenu_output = "";
	var item_counter = 0;
	var item_number = 0;

	for (title in array) {
		item_number++;
	}

	submenu_output="";
	submenu_output+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr>";
	submenu_output+="<td colspan=\"3\" onmouseover=\"bw_masquer_submenu('td recouvre sous menu');\"><img src=\"images3/trans.gif\" width=\"3\" height=3></td>";
	submenu_output+="</tr><tr>";
	submenu_output+="<td width=\"3\" onmouseover=\"bw_masquer_submenu('td gauche sous menu');\"><img src=\"images3/trans.gif\" width=\"3\" height=1></td>";
	submenu_output+="<td><div style=\"position: relative; z-index: +2;\">";
	submenu_output+="<div style=\"background-color: "+couleur_transparence_fond+"; position:absolute; z-index:-1; top:0; left:0; right:0; bottom:0; opacity: "+opacite_fondmoz+"; filter : alpha(opacity="+opacite_fondmsie+");\"></div>";
	submenu_output+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">";
	for (title in array) {
		item_counter++;
		submenu_output += "<tr>";
		submenu_output += "<td width=\"100%\" style=\"padding: 0px;\">";
		submenu_output += "<a href=\""+array[title]+"\" class=\""+config["submenu_class"]+"\" style=\"width: 100%\">";
		submenu_output += "<p style=\"width: 100%\" class=\"sous_entree\">";
		submenu_output += title;
		submenu_output += "</p>";
		submenu_output += "</a>";
		submenu_output += "</td>";
		submenu_output += "</tr>";
	}
	submenu_output+="</table></div></td>";
	submenu_output+="<td width=\"3\" onmouseover=\"bw_masquer_submenu('td droite sous menu');\"><img src=\"images3/trans.gif\" width=\"3\" height=1></td>";
	submenu_output+="</tr></table>";
	return submenu_output;
}