var n_NbEm0 = 0;
var n_NbEm1 = 0;
var n_NbEm2 = 0;
var n_duration = 1;
var t_contenerEm0 = new Array();
var t_contenerEm1 = new Array();
var t_contenerEm2 = new Array();
	
function linkMenu()
{
	var o_menu;
	var o_contener;
	var o_parent = document.getElementById('div_linkMenu');
	
	var s_class = 'linkMenu';
	var s_id = 'linkMenu';
	var s_contener_class = 'contenerEm0';
	var s_contener_id = s_id + '_contenerEm0';	
	
	this.t_elt = new Array();
	
	this.add = function(po_em0)
	{
		this.t_elt[this.t_elt.length] = po_em0;
		o_contener.appendChild(po_em0);
		n_NbEm0++;		
	}	
	
	function generate()
	{		
		o_menu = new lmElement('div');
		o_menu.setClass(s_class);
		o_menu.setId(s_id);
		o_menu = o_menu.generate();	
				
		o_contener = new lmElement('div');
		o_contener.setClass(s_contener_class);
		o_contener.setId(s_contener_id);
		o_contener = o_contener.generate();
		t_contenerEm0[t_contenerEm0.length] = o_contener;	
		
		o_menu.appendChild(o_contener);				
		o_parent.appendChild(o_menu);
	}
	generate();
}


function lmEm0(po_parent, ps_title)
{
	var o_parent = po_parent;
	var o_em0;
	var o_contener;
		
	var s_class = 'em0'	
	var s_id = 'em0_' + n_NbEm0;
	var s_style = '';
	
	var s_contener_class = 'contenerEm1';
	var s_contener_id = 'contenerEm1_' + s_id;
	var s_contener_style = 'display:none;';
		
	var s_title = ps_title;
	var s_title_class = 'titleEm0';
	var s_title_id = 'titleEm0_' + s_id;
	var s_title_style = 'height:15px;';
	var s_title_onclick = 'showEm(\'' + s_contener_id + '\', \'' + s_contener_class + '\');';
	
	var s_onclick = '';
	var s_onmouseover = '';
	var s_onmouseout = '';	
		
	this.t_elt = new Array();
	
	
	
	
	this.add = function(po_em1)
	{
		this.t_elt[this.t_elt.length] = po_em1;
		o_contener.appendChild(po_em1);
		n_NbEm1++;
	}
	
	function generate()
	{
		o_em0 = new lmElement('div');
		o_em0.setClass(s_class);
		o_em0.setId(s_id);
		o_em0.setStyle(s_style);
		o_em0.setOnMouseOver(s_onmouseover);
		o_em0.setOnMouseOut(s_onmouseout);
		o_em0.setOnClick(s_onclick);
		o_em0 = o_em0.generate();
		
		o_titre = new lmElement('div');
		o_titre.setClass(s_title_class);
		o_titre.setId(s_title_id);
		o_titre.setText(s_title);
		o_titre.setStyle(s_title_style);
		o_titre.setOnClick(s_title_onclick);
		o_titre = o_titre.generate();	
				
		o_contener = new lmElement('div');
		o_contener.setClass(s_contener_class);
		o_contener.setId(s_contener_id);
		o_contener.setStyle(s_contener_style);
		o_contener = o_contener.generate();
		t_contenerEm1[t_contenerEm1.length] = o_contener;	
		
		o_em0.appendChild(o_titre);
		o_em0.appendChild(o_contener); 
		o_parent.add(o_em0);
	}	
	generate();
}


function lmEm1(po_parent, ps_title)
{
	var o_parent = po_parent;
	var o_em1;	
	var o_contener;
		
	var s_class = 'em1';
	var s_style = '';	
	var s_id = 'em1_' + n_NbEm1;
	
	var s_contener_class = 'contenerEm2';
	var s_contener_id = 'contenerEm2_' + s_id;
	var s_contener_style = 'display:none;';
		
	var s_title = ps_title;
	var s_title_class = 'titleEm1';
	var s_title_id = 'titleEm1_' + s_id;
	var s_title_style = 'height:15px;';
	var s_title_onclick = 'showEm(\'' + s_contener_id + '\', \'' + s_contener_class + '\');';
		
	var s_onclick = '';
	var s_onmouseover = '';
	var s_onmouseout = '';	
		
	this.t_elt = new Array();
		
	
	this.add = function(po_em2)
	{
		this.t_elt[this.t_elt.length] = po_em2;
		o_contener.appendChild(po_em2);
		n_NbEm2++;	
	}
		
	function generate()
	{
		o_em1 = new lmElement('div');
		o_em1.setClass(s_class);
		o_em1.setId(s_id);
		o_em1.setStyle(s_style);
		o_em1.setOnMouseOver(s_onmouseover);
		o_em1.setOnMouseOut(s_onmouseout);
		o_em1.setOnClick(s_onclick);
		o_em1 = o_em1.generate();
		
		o_titre = new lmElement('div');
		o_titre.setClass(s_title_class);
		o_titre.setId(s_title_id);
		o_titre.setText(s_title);
		o_titre.setStyle(s_title_style);
		o_titre.setOnClick(s_title_onclick);
		o_titre = o_titre.generate();		
				
		o_contener = new lmElement('div');
		o_contener.setClass(s_contener_class);
		o_contener.setId(s_contener_id);
		o_contener.setStyle(s_contener_style);
		o_contener = o_contener.generate();	
		t_contenerEm2[t_contenerEm2.length] = o_contener;
		
		o_em1.appendChild(o_titre);
		o_em1.appendChild(o_contener);
		o_parent.add(o_em1);
	}	
	generate();	
}

function lmEm2(po_parent, ps_href, ps_title)
{
	var o_parent = po_parent;	
	var o_em2;
	
	var s_href = ps_href;
	var s_class = 'em2';
	var s_style = '';	
	var s_title = ps_title;
	var s_id = 'em2_' + n_NbEm2;
	
	var s_onmouseover = '';
	var s_onmouseout = '';
	var s_onclick = '';	

	function generate()
	{
		o_em2 = new lmElement('div');
		o_em2.setClass(s_class);
		o_em2.setId(s_id);
		o_em2.setStyle(s_style);		
		o_em2.setOnMouseOver(s_onmouseover);
		o_em2.setOnMouseOut(s_onmouseout);
		o_em2.setOnClick(s_onclick);
		o_em2 = o_em2.generate();	
				
		o_lien = new lmElement('a');
		o_lien.setClass('lm_link');
		o_lien.setText(s_title);
		o_lien.setHref(s_href);
		o_lien = o_lien.generate();	
				
		o_em2.appendChild(o_lien);		
		o_parent.add(o_em2);
	}	
	generate();
}


/**********************************************/
/****Objet de création d'un element du menu****/
/**********************************************/


function lmElement(ps_type)
{
	var s_type = ps_type;
	var s_href = '';
	var s_class = '';
	var s_style = '';	
	var s_title = '';
	var s_text = '';
	var s_id = '';
	
	var s_onmouseover = '';
	var s_onmouseout = '';
	var s_onclick = '';
	
	var o_elt;
	
	this.setClass = function(ps_class)
	{
		s_class = ps_class;
	}
	
	this.setTitle = function(ps_title)
	{
		s_title = ps_title;
	}
	
	this.setId = function(ps_id)
	{
		s_id = ps_id;
	}
	
	this.setHref = function(ps_href)
	{
		s_href = ps_href;
	}
	
	this.setStyle = function(ps_style)
	{
		s_style = ps_style;
	}
	
	this.setText = function(ps_text)
	{
		s_text = ps_text;
	}
	
	this.setOnMouseOver = function(ps_onmouseover)
	{
		s_onmouseover = ps_onmouseover;
	}
	
	this.setOnMouseOut = function(ps_onmouseout)
	{
		s_onmouseout = ps_onmouseout;
	}
	
	this.setOnClick = function(ps_onclick)
	{
		s_onclick = ps_onclick;
	}
	
	this.getElement = function()
	{
		return o_elt;
	}
	
	this.generate = function()
	{
		o_elt = document.createElement(s_type);
		
		//Id
		if(s_id != '')
		{
			o_elt.setAttribute('id', s_id);
		}
		
		//Classe
		if(s_class != '')
		{
			o_elt.setAttribute(((document.all && !isIE8()) ? 'className' : 'class'), s_class);
		}
		
		//Style
		if(s_style != '')
		{			
			if(document.all && !isIE8())
				o_elt.style.cssText = s_style;
			else
				o_elt.setAttribute('style', s_style);
		}
		
		//Onmouseover
		if(s_onmouseover != '')
		{
			o_elt.setAttribute('onmouseover', s_onmouseover);
		}
		
		//Onmouseout
		if(s_onmouseout != '')
		{
			o_elt.setAttribute('onmouseout', s_onmouseout);
		}	
		
		//Onclick
		if(s_onclick != '')
		{
			if(document.all && !isIE8())
				o_elt.onclick = function() { eval(s_onclick); }
			else
				o_elt.setAttribute('onclick', s_onclick);
		}
		
		//Href
		if(s_href != '')
		{
			o_elt.setAttribute('href', s_href);
		}
		
		//Texte
		if(s_text != '')
		{
			var o_txt = document.createTextNode(s_text);
			o_elt.appendChild(o_txt);
		}
		
		return o_elt;
	}
}



/**********************************************/
/*********Affiche un element du menu***********/
/**********************************************/


function showEm(ps_id, ps_class)
{	
	if(document.getElementById(ps_id).style.display != 'none')
	{
		hideEm(ps_id, ps_class);
	}
	else
	{
		hideAllOtherEm(ps_id, ps_class);
		document.getElementById(ps_id).style.display = 'block';
		appear(ps_id, 3);
	}
}

var timer;
var n_opacity = 0;

function appear(ps_id, pn_duration)
{
	var n_duration = (pn_duration*20);
	
	if(n_opacity <= 10)
	{	
		document.getElementById(ps_id).style.opacity = n_opacity/10; 
		document.getElementById(ps_id).style.filter = "alpha(opacity=" + n_opacity*10 + ")"; 
		n_opacity++;
		timer = setTimeout('appear(\'' + ps_id + '\', ' + pn_duration + ')', n_duration);
	}
	else
	{
		clearTimeout(timer);
		n_opacity = 0;
	}
}

/**********************************************/
/**********Masque un element du menu***********/
/**********************************************/

function hideEm(ps_id, ps_class)
{
	var t_elts = new Array();
	
	switch(ps_class)
	{
		case 'contenerEm1':
			for(var i=0;i<t_contenerEm1.length;i++)
			{
				t_contenerEm1[i].style.display = 'none';
			}
			for(var i=0;i<t_contenerEm2.length;i++)
			{
				t_contenerEm2[i].style.display = 'none';
			}
			break;
			
		case 'contenerEm2':
			for(var i=0;i<t_contenerEm2.length;i++)
			{
				t_contenerEm2[i].style.display = 'none';
			}
			break;
	}
	
	document.getElementById(ps_id).style.display = 'none';
	
	
	
}

/**********************************************/
/****Masque tous les elements d'une classe*****/
/**********************************************/

function hideAllOtherEm(ps_id, ps_class)
{
	var t_elts = new Array();
	
	switch(ps_class)
	{
		case 'contenerEm0':
			for(var i=0;i<t_contenerEm0.length;i++)
			{
				if(t_contenerEm0[i].id != ps_id)
					t_contenerEm0[i].style.display = 'none';
			}
			for(var i=0;i<t_contenerEm1.length;i++)
			{
				if(t_contenerEm1[i].id != ps_id)
					t_contenerEm1[i].style.display = 'none';
			}
			for(var i=0;i<t_contenerEm2.length;i++)
			{
				if(t_contenerEm2[i].id != ps_id)
					t_contenerEm2[i].style.display = 'none';
			}
			break;
			
		case 'contenerEm1':
			for(var i=0;i<t_contenerEm1.length;i++)
			{
				if(t_contenerEm1[i].id != ps_id)
					t_contenerEm1[i].style.display = 'none';
			}
			for(var i=0;i<t_contenerEm2.length;i++)
			{
				if(t_contenerEm2[i].id != ps_id)
					t_contenerEm2[i].style.display = 'none';
			}
			break;
			
		case 'contenerEm2':
			for(var i=0;i<t_contenerEm2.length;i++)
			{
				if(t_contenerEm2[i].id != ps_id)
					t_contenerEm2[i].style.display = 'none';
			}
			break;
	}	
}


function getInternetExplorerVersion() {

    var rv = -1; // Return value assumes failure.

    if (navigator.appName == 'Microsoft Internet Explorer') {

        var ua = navigator.userAgent;

        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

        if (re.exec(ua) != null)

            rv = parseFloat(RegExp.$1);

    }

    return rv;

}

function isIE8() {

    var b_res = false;

    var ver = getInternetExplorerVersion();

    if (ver > -1) {

        if (ver >= 8.0)
			b_res = true;

    }	
    return b_res;

}
