var tabFocus = new Array();
var tabFocusLi = new Array();
var tabClass = new Array();
var tab_ss_menu_glob = new Array();
var increment_ssmenu = 0;
var ie = /MSIE/.test(navigator.userAgent);
var moz = !ie && navigator.product == "Gecko";

if (moz) {
     HTMLElement.prototype.__defineGetter__("children", function() {
           var arr = new Array(), i = 0, l = this.childNodes.length;
           for ( i = 0; i < l; i++ ) {
               if ( this.childNodes[ i ].nodeType == 1 ) {
                    arr.push( this.childNodes[ i ] );
               }
           }
      return arr;
      });

      HTMLElement.prototype.__defineGetter__("firstChild", function() {
            var node = this.childNodes[ 0 ];
            while (node.nodeType != 1) node = node.nextSibling;
                 return node;
            });

     HTMLElement.prototype.__defineGetter__("lastChild", function() {
     var node = this.childNodes[ this.childNodes.length - 1 ];
     while (node.nodeType != 1) node = node.previousSibling;
           return node;
      });
}
	
/* trouve le tag "parentTagName" parent de "element" */
function getParent(element, parentTagName) {
	if ( ! element )
		return null;
	else if ( element.nodeType == 1 && element.tagName.toLowerCase() == parentTagName.toLowerCase() )
		return element;
	else
		return getParent(element.parentNode, parentTagName);
}

function montre(ss_menu) {
	focusLi(ss_menu,true);
	ss_menu.getElementsByTagName("ul").item(0).style.display='block';
}
function cache(ss_menu) {
	increment_ssmenu++;
	tabFocusLi[ss_menu] = false;
	tab_ss_menu_glob[increment_ssmenu] = ss_menu;
	window.setTimeout("cacheDelayed("+increment_ssmenu+")",500);
}
function focusLi(ss_menu,bool)
{
	tabFocusLi[ss_menu] = bool;
	if(!bool) cache(ss_menu);
}
function cacheDelayed(i)
{
	if(tabFocusLi[tab_ss_menu_glob[i]] == false)
	{
		tab_ss_menu_glob[i].getElementsByTagName("ul").item(0).style.display='none';
	}
}

function montreById (id) {
	focusById(id,true);
	document.getElementById(id).style.display='block';
}
function cacheById (id) {
	tabFocus[id] = false;
	window.setTimeout("cacheByIdDelayed('"+id+"')",50);
}
function cacheByIdDelayed(id)
{
	if(tabFocus[id] == false)
	{
		document.getElementById(id).style.display='none';
	}
}
function focusById(id,bool,dtColor)
{
	tabFocus[id] = bool;
	if(!bool) cacheById(id);
	if(dtColor) {
		if(!bool) { dtHover(id,false); }
		else { dtHover(id,true); }
	}
}
function dtHover(id,bool)
{
	id = "dt" + id.substr(id.indexOf("_"));
	if(bool)
	{
		tabClass[id] = document.getElementById(id).className;
		document.getElementById(id).className= document.getElementById(id).className + " hover";
	}
	else
	{
		document.getElementById(id).className= tabClass[id];
	}
}
function afficheDdWithDt(dt)
{
	dtId = dt.getAttribute("id");
	ddId = "dd" + dtId.substr(dtId.indexOf("_"));
	montreById(ddId);
}
function cacheDdWithDt(dt) 
{
	dtId = dt.getAttribute("id");
	ddId = "dd" + dtId.substr(dtId.indexOf("_"));
	cacheById(ddId);
}
function cacheAllDdLevel2(dt)
{
	var dl = getParent(dt,"DL");
	var nb_elems = dl.getElementsByTagName("dd").length;
	for(i=0;i<nb_elems;i++)
	{
		theClass = 	dl.getElementsByTagName("dd").item(i).getAttribute("class");
		//alert(theClass);
		if(theClass == null)
		{
			theClass = 	dl.getElementsByTagName("dd").item(i).getAttribute("className");
		}
		if(theClass== "level2")
		{
			dl.getElementsByTagName("dd").item(i).style.display='none';
		}
	}
}
/*function cache(ss_menu) {
	ss_menu.getElementsByTagName("ul").item(0).style.display='block';
}*/