// ######## Configure these 2 items only ##########
// Total menu length (in pixels)
var menuSize = 770;
// Menu bar height (in pixels)
var height = 20;

// I18N = InternationalizatioN
var i18n = init_i18n();

// ######## Don't change ##########
var id = 'st';
var valMenu = new Array();
var valSsMenu = new Array();
var valSsMenuLien = new Array();
var valSsMenuCible = new Array();
var ct_menu = -1;
var ct_ssmenu = 0;

// subMenus content : menuItem( title , url , target )
// window.fw_menu_0 = new Menu("root",100,16,"Arial, Helvetica, sans-serif",12,"#9c9c9c","#313131","#313131","#9c9c9c");
newMenu(i18n["company"]);
menuItem(i18n["aboutUs"],"/ethicjobs/about","_self"); 
menuItem(i18n["faq"],"/ethicjobs/faq","_self"); 
menuItem(i18n["contact"],"/ethicjobs/contact","_self"); 

newMenu(i18n["services"]);
menuItem(i18n["freeServices"],"/ethicjobs/freeServices","_self"); 
menuItem(i18n["payingServices"],"/ethicjobs/optionalPayingServices","_self"); 
//menuItem("","","_self"); 
//menuItem("Estimation de compétences","/ethicjobs/app?service=page/SkillsChoice&new=true","_self"); 
//menuItem("Location de matériel","/ethicjobs/app?service=page/HardwareRent","_self"); 
//menuItem("Tests","/ethicjobs/app?service=page/Tests","_self"); 
//menuItem("Gestion des missions","/ethicjobs/app?service=page/JobOfferManagement","_self"); 
//menuItem("Profil","/ethicjobs/app?service=page/RecruiterProfile","_self"); 

newMenu(i18n["personnalAccount"]);
//menuItem("Missions offertes","/ethicjobs/app?service=page/Missions","_self"); 
//menuItem("Emploi du temps","/ethicjobs/app?service=page/Timetable","_self"); 
menuItem(i18n["profile"],"/ethicjobs/profile","_self"); 

newMenu(i18n["resources"]);
menuItem(i18n["tutorials"],"/ethicjobs/learning","_self"); 
menuItem(i18n["forums"],"http://bugbreeder.net/phpBB/","_self");
// menuItem("Adminisration","/ethicjobs/app?service=page/Admin","_self"); 

function newMenu(titre) 
{
	ct_menu++;
	valMenu[ct_menu] = titre;
	valSsMenu[ct_menu] = new Array();
	valSsMenuLien[ct_menu] = new Array();
	valSsMenuCible[ct_menu] = new Array();
	ct_ssmenu = 0;   
}

function menuItem(nom,url,targ) 
{
	valSsMenu[ct_menu][ct_ssmenu] =  new Array();
	valSsMenuLien[ct_menu][ct_ssmenu] =  new Array(); 
	valSsMenuCible[ct_menu][ct_ssmenu] = new Array(); 
	valSsMenu[ct_menu][ct_ssmenu] =  nom;
	valSsMenuLien[ct_menu][ct_ssmenu] =  url;
	valSsMenuCible[ct_menu][ct_ssmenu] =  targ;
	ct_ssmenu++;
}  
                
var nbMenu = ct_menu + 1;
var cellSize = Math.round(menuSize / nbMenu); 

// Evaluate navigator type (to decide between "document.getElementById" and "document.all")
var is_ie5 = 0, is_ns6 = 0, is_ns4 = 0, is_ie4 = 0;
if ((document.getElementById) && (document.all)) 
	is_ie5 = 1;
else if(document.getElementById)
	is_ns6 = 1;
if (document.layers)  
    is_ns4 = 1;
if ((document.all)&&(!document.getElementById))  
   	is_ie4 = 1;

function generateMenu()
{
	document.write('<table class="menubar_title" border="0" cellpadding="0" cellspacing="0"><tr>');
	for (i=0;i<nbMenu;i++) 
		document.write("<td class=\"menubar_title\" onMouseOut='closingTimeout(0,"+ i +")' onMouseOver=\"showMenu('"+ i +"');\"  style=\"width:"+ cellSize +"px;height:"+height+"px;\" onClick=\"showMenu("+ i +")\">"+ valMenu[i] +"</td>");
	document.write("</tr></table>");
	document.write('<div style="position:absolute;height:0px;z-index=1;overflow:visible;visibility:hidden">');
	document.write(buildMenu());
	document.write('</div>');
}

function buildMenu() 
{
	var newTable="";
	for (i=0;i<valSsMenu.length;i++) {
		newTable += "<div id=\"ssMenu_"+ i +"\" class='menubar' onMouseOut='closingTimeout(0,"+ i +")' onMouseOver='closingTimeout(1,"+ i +")' style=\"left:"+CalcCell+"px;width:"+ cellSize +"px;visibility:hidden\">";
		for (z=0;z<valSsMenu[i].length;z++) {
			var CalcCell=(i+1)*cellSize;
			// Make corresponding URL links
			newTable += "<a class='menubar' href='"+ valSsMenuLien[i][z] +"' target='"+ valSsMenuCible[i][z] +"'  >"+ valSsMenu[i][z] + "</a>";
		}
		newTable += "</div>";
	}
	return newTable;
}

function showMenu(numMenu)
{
	if (is_ie5 || is_ns6)
		document.getElementById("ssMenu_"+numMenu).style.visibility = "visible";
	else if (is_ie4) 
		document.all["ssMenu_"+numMenu].style.visibility = "visible";
}

function hideMenu(numMenu) 
{
	if (is_ie5 || is_ns6)
		document.getElementById("ssMenu_"+numMenu).style.visibility = "hidden";
	else if (is_ie4) 
		document.all["ssMenu_"+numMenu].style.visibility = "hidden";
}

function closingTimeout(num,numMenu) 
{
	// Either close, or no close 
	if ( num != 1 ) 
		id=setTimeout("hideMenu("+numMenu+")",10);
	else  
		if ( id != 'st' ) 
			clearTimeout(id);
}

function init_i18n() 
{
	// Here store the languages managed, for if found navigator language is not, English will become default language 
	var languages = new Array('en','fr');

	var map = new Array(); 
	
	// Browser DEFAULT (not user preferred) language full String
	// Standard JavaScript check first for user language parameter, if failure then IE specific check
	var l = navigator.language ? navigator.language : navigator.userLanguage;
	// Must be 'xx' or 'xx-YY' exclusively, else unrecognized so default to English
	if(l.length != 2 && l.length != 5)
		l = languages[0];		
	
	// Extract useful language stanza (if 'en' => 'en', if 'en_US' => 'en' only)
	try
	{
		// Get only 2 first letters to avoid country indicators
		l = l.slice(0,2);
		// If language is not among those managed, English becomes default language 
		if(languages.indexOf(l) == -1)
		{
			l = languages[0];
		};
	}
	// For browsers which don't have JavaScript 1.6
	catch(e)
	{
		var languages_t = languages.join(' ')+' ';
		// If language doesn't exist yet
		if(!new RegExp(l+' ','i').test(languages_t))
		{
			// Get only 2 first letters to avoid country indicators
			l = l.slice(0,2);
			// If language is not among those managed, English becomes default language 
			if(!new RegExp(l+' ','i').test(languages_t))
			{
				l = languages[0];
			};
		};
	};

	// English
	if(l == 'en')
	{
		map["company"] = "Company";
		map["aboutUs"] = "About us";
		map["faq"] = "FAQ";
		map["contact"] = "Contact";
		map["services"] = "Services";
		map["freeServices"] = "Free services";
		map["payingServices"] = "Paying services";
		map["personnalAccount"] = "Personnal account";
		map["profile"] = "Profile";
		map["resources"] = "Resources";
		map["tutorials"] = "Tutorials";
		map["forums"] = "Forums";
	}
	// French
	else if(l == 'fr')
	{
		map["company"] = "Companie";
		map["aboutUs"] = "A notre sujet";
		map["faq"] = "FAQ";
		map["contact"] = "Contact";
		map["services"] = "Services";
		map["freeServices"] = "Services gratuits";
		map["payingServices"] = "Services payants";
		map["personnalAccount"] = "Compte personnel";
		map["profile"] = "Profil";
		map["resources"] = "Ressources";
		map["tutorials"] = "Tutoriels";
		map["forums"] = "Forums";
	}

	return map;
}
