//-------------------------------------------------------------------------------

// object constructor for each outline entry
function dbRecord(mother,display,URL,indent,className){
        this.mother = mother   // is this item a parent?
        this.display = display // text to display
        this.URL = URL         // link tied to text; if empty string, item appears as straight text
        this.indent = indent
        this.className = className
        return this
}

// Create array object containing outline content and attributes.
// To adapt outline for your use, modify this table.
// Start the array with [1], and continue without gaps to your last item.
// The order of the five parameters:
//    1. Boolean (true or false) whether _next_ item is indented.
//    2. String to display in outline entry (including <FONT> or style tags).
//    3. URL of link for outline entry; Use empty string ("") for no link
//    4. Integer of indentation level (0 is leftmost margin level)

//-------------------------------------------------------------------------------

// object constructor for each outline entry
function dbAlias(pageName,idBlock){
        this.pageName = pageName   // alias ex. alias.aspx
        this.idBlock = idBlock // Ektron id bloc of the alias
        return this
}

//-------------------------------------------------------------------------------

// ** functions that get and set persistent cookie data **
// set cookie data
function setCurrState(setting) {
        document.cookie = "currState=" + escape(setting)
        currState = setting
   return setting
}

//-------------------------------------------------------------------------------

function setCurrVisit(x) {
        document.cookie = "currVisit=" + escape(x)
        currVisit = x
   return x
}

//-------------------------------------------------------------------------------

function clearState()
 {
  setCurrVisit(0);
  setCurrState("");
 }

//-------------------------------------------------------------------------------
// retrieve cookie data
function getCurrState() {
        var label = "currState="
        var labelLen = label.length
        var cLen = document.cookie.length
        var i = 0
        while (i < cLen) {
                var j = i + labelLen
                if (document.cookie.substring(i,j) == label) {
                        var cEnd = document.cookie.indexOf(";",j)
                        if (cEnd ==     -1) {
                                cEnd = document.cookie.length
                        }
                        return unescape(document.cookie.substring(j,cEnd))
                }
                i++
        }
        return ""
 return CurrState;
}

//-------------------------------------------------------------------------------

function getRealCurrVisit() 
{
	// id de l'URL
	var url = document.location.href;
	//alert("url: "+url);
	var lookTxt = "";
	var pos1a = url.indexOf("id=");
	var pos1b = url.indexOf("_ektid");
	var pos1c = url.indexOf("_ektekfrm");
	var pos1d = url.indexOf("wPaperFile.aspx");
	var pos1e = url.indexOf("wPaperForm.aspx");
	var realCurrVisit;
	var cookCurrVisit;
	//var test = getCurrVisit();
	var test = 0;
	var ok = 0;
	if (pos1a >= 0)
	{
		var pos2 = url.indexOf ("&",pos1a);
		if (pos2 != -1)
			lookTxt = url.substring(pos1a-1+4,pos2);
		else
			lookTxt = url.substring(pos1a-1+4);
		for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
		{
			if (db[iLoop].URL.indexOf("id="+lookTxt) != -1 || db[iLoop].URL.indexOf("ID="+lookTxt) != -1 || db[iLoop].URL.indexOf("_ektid"+lookTxt+".aspx") != -1)
			{
				if (db[iLoop].URL.indexOf("id="+lookTxt) != -1)	
				{
					//tester si le caractère svt. est pas un chiffre
					var t1 = "id="+lookTxt;
					//alert ("t1: " + t1);
					//alert ("db[iLoop].URL.length: " + db[iLoop].URL.length);
					//alert ("db[iLoop].URL.indexOf(t1)+t1.length: " + db[iLoop].URL.indexOf(t1)+t1.length);
					if (db[iLoop].URL.length > db[iLoop].URL.indexOf(t1)+t1.length)
					{
						var t2 = db[iLoop].URL.substr(db[iLoop].URL.indexOf(t1)+t1.length+1,1);
						var t3 = "0123456789";
						if (t3.indexOf(t2) == -1)
						{
							test = iLoop;
							ok = 1;
						}
					}
				}
				else
				{
					test = iLoop;
					ok = 1;
				}
			}
		}
		//pas trouvé dans le menu -> chercher dans les alias car l'url du menu = alias
		if (ok == 0)	
		{
			//alert("idBlock: " + idBlock);
			//alert("lookTxt: " + lookTxt);
			//alert("dbAlias.length: " + aliasTb.length);
			idBlock = lookTxt;
			for (jLoop = 0; jLoop <= aliasTb.length-1 && ok == 0; jLoop++)
			{
				if (aliasTb[jLoop].idBlock == idBlock)
				{
					for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
					{
						if (db[iLoop].URL.indexOf(aliasTb[jLoop].pageName) != -1)
						{
							test = iLoop;
							ok = 1;
							//alert (test);
						}
					}
				}
			}
		}
	}
	else if (pos1b >= 0)
	{
		var pos2 = url.indexOf (".",pos1b);
		if (pos2 != -1)
			lookTxt = url.substring(pos1b-1+7,pos2);
		else
			lookTxt = url.substring(pos1b-1+7);
		for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
		{
			if (db[iLoop].URL.indexOf("_ektid"+lookTxt+".aspx") != -1 || db[iLoop].URL.indexOf("ID="+	lookTxt) != -1 || db[iLoop].URL.indexOf("id="+lookTxt) != -1)
			{
				test = iLoop;
				ok = 1;
			}
		}
		
		//pas trouvé dans le menu -> chercher dans les alias car l'url du menu = alias
		if (ok == 0)	
		{
			//alert("idBlock: " + idBlock);
			//alert("lookTxt: " + lookTxt);
			//alert("dbAlias.length: " + aliasTb.length);
			idBlock = lookTxt;
			for (jLoop = 0; jLoop <= aliasTb.length-1 && ok == 0; jLoop++)
			{
				if (aliasTb[jLoop].idBlock == idBlock)
				{
					for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
					{
						if (db[iLoop].URL.indexOf(aliasTb[jLoop].pageName) != -1)
						{
							test = iLoop;
							ok = 1;
							//alert (test);
						}
					}
				}
			}
		}
	}
	else if (pos1c >= 0)
	{
		var pos2 = url.indexOf (".",pos1c);
		if (pos2 != -1)
			lookTxt = url.substring(pos1c-1+10,pos2);
		else
			lookTxt = url.substring(pos1c-1+10);
		for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
		{
			if (db[iLoop].URL.indexOf("_ektekfrm"+lookTxt+".aspx") != -1 || db[iLoop].URL.indexOf("ID="+	lookTxt) != -1)
			{
				test = iLoop;
				ok = 1;
			}
		}
		
		//pas trouvé dans le menu -> chercher dans les alias car l'url du menu = alias
		if (ok == 0)	
		{
			//alert("idBlock: " + idBlock);
			//alert("lookTxt: " + lookTxt);
			//alert("dbAlias.length: " + aliasTb.length);
			idBlock = lookTxt;
			for (jLoop = 0; jLoop <= aliasTb.length-1 && ok == 0; jLoop++)
			{
				if (aliasTb[jLoop].idBlock == idBlock)
				{
					for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
					{
						if (db[iLoop].URL.indexOf(aliasTb[jLoop].pageName) != -1)
						{
							test = iLoop;
							ok = 1;
							//alert (test);
						}
					}
				}
			}
		}
	}
	
	else if (pos1d >= 0)
	{
		var pos2 = url.indexOf("folder=Y",pos1d);
		if (pos2 != -1)	// download folder
		{
			var pos3 = url.indexOf("wpId=",pos1d);
			if (pos3 != -1)
			{
				var pos4 = url.indexOf("&",pos3)
				if (pos4 != -1)
					lookTxt = url.substring(pos3,pos4);
				else
					lookTxt = url.substring(pos3);
			}
		}
		else	// white paper
		{
			lookTxt = "listid="
		}
		for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
		{
			if (db[iLoop].URL.indexOf(lookTxt) != -1)
			{
				test = iLoop;
				ok = 1;
			}
		}
	}
	else if (pos1e >= 0)
	{
		var pos2 = url.indexOf("folder=Y",pos1e);
		if (pos2 != -1)	// download folder
		{
			var pos3 = url.indexOf("wpId=",pos1e);
			if (pos3 != -1)
			{
				var pos4 = url.indexOf("&",pos3)
				if (pos4 != -1)
					lookTxt = url.substring(pos3,pos4);
				else
					lookTxt = url.substring(pos3);
			}
		}
		else	// white paper
		{
			lookTxt = "listid="
		}
		for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
		{
			if (db[iLoop].URL.indexOf(lookTxt) != -1)
			{
				test = iLoop;
				ok = 1;
			}
		}
	}
	else if (pos1a == -1 && pos1b == -1 && pos1c == -1 && pos1d == -1 && pos1e == -1)	//alias
	{
	//alert ("*********** ALIAS ***************");
		//alias dans le menu
		for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
		{
			//alert(db[iLoop].URL + " - " + url.indexOf(db[iLoop].URL));
			if (url.indexOf(db[iLoop].URL) != -1 && db[iLoop].URL != "")
			{
				test = iLoop;
				ok = 1;
			}
		}
		
		if (ok == 0)
		{
	//		alert ("************** PAS ALIAS DANS LE MENU *******************");
			for (jLoop = 0; jLoop <= aliasTb.length-1 && ok == 0; jLoop++)
			{
				if (url.indexOf(aliasTb[jLoop].pageName) != -1)
				{
					lookTxt = aliasTb[jLoop].idBlock;
					for (iLoop = 1; iLoop <= db.length-1 && ok == 0; iLoop++)
					{
						if (db[iLoop].URL.indexOf("ID="+lookTxt) != -1 || db[iLoop].URL.indexOf("_ektid"+lookTxt+".aspx") != -1 || db[iLoop].URL.indexOf("_ektekfrm"+lookTxt+".aspx") != -1 || db[iLoop].URL.indexOf("id="+lookTxt) != -1)
						{
							if (db[iLoop].URL.indexOf("id="+lookTxt) != -1)	
							{
								//tester si le caractère svt. est pas un chiffre
								var t1 = "id="+lookTxt;
								if (db[iLoop].URL.length > db[iLoop].URL.indexOf(t1)+t1.length)
								{
									var t2 = db[iLoop].URL.substr(db[iLoop].URL.indexOf(t1)+t1.length+1,1);
									var t3 = "0123456789";
									if (t3.indexOf(t2) == -1)
									{
										test = iLoop;
										ok = 1;
										//alert (test);
									}
								}
							}
							else
							{
								test = iLoop;
								ok = 1;
								//alert (test);
							}
						}
					}
				}
			}
		}
	}
	
	//alert ("test: " + test);
	return test;
}

//-------------------------------------------------------------------------------

//function getRealCurrVisit() 
//{
	//// id de l'URL
	//var url = document.location.href;
	//alert("url: "+url);
	//var lookTxt = "";
	//var pos1 = url.indexOf("id=");
	//var realCurrVisit;
	//var cookCurrVisit;
	////var test = getCurrVisit();
	//var test = 0;
	//if (pos1 >= 0)
	//{
		//var pos2 = url.indexOf ("&",pos1);
		//if (pos2 != -1)
			//lookTxt = url.substring(pos1-1+4,pos2);
		//else
			//lookTxt = url.substring(pos1-1+4);
			//for (iLoop = 1; iLoop <= db.length-1; iLoop++)
			//{
				//if (db[iLoop].URL.indexOf("id="+lookTxt) != -1 || db[iLoop].URL.indexOf("ID="+//lookTxt) != -1)
//				{
					//return iLoop;
				//}
			//}
	//}
	//else
	//{
		//pos1 = url.indexOf("_ektid");
		//if (pos1 >= 0)
		//{
			//var pos2 = url.indexOf (".",pos1);
			//if (pos2 != -1)
				//lookTxt = url.substring(pos1-1+7,pos2);
			//else
				//lookTxt = url.substring(pos1-1+7);
				//for (iLoop = 1; iLoop <= db.length-1; iLoop++)
				//{
					//if (db[iLoop].URL.indexOf("_ektid"+lookTxt+".aspx") != -1 || db[iLoop].URL.indexOf("ID="+	lookTxt) != -1)
					//{
						//return iLoop;
//					}
				//}
		//}
		//else
		//{
			//pos1 = url.indexOf("_ektekfrm");
			//if (pos1 >= 0)
			//{
				//var pos2 = url.indexOf (".",pos1);
				//if (pos2 != -1)
					//lookTxt = url.substring(pos1-1+7,pos2);
				//else
					//lookTxt = url.substring(pos1-1+7);
					//for (iLoop = 1; iLoop <= db.length-1; iLoop++)
					//{
						//if (db[iLoop].URL.indexOf("_ektid"+lookTxt+".aspx") != -1 || db[iLoop].URL.indexOf("ID="+	lookTxt) != -1)
						//{
							//return iLoop;
						//}
					//}
			//}
			//else
			//{
				//pos1 = url.indexOf("wPaperFile.aspx");
				//if (pos1 >= 0)
				//{
					//var pos2 = url.indexOf("folder=Y",pos1);
					//if (pos2 != -1)	// download folder
					//{
						//var pos3 = url.indexOf("wpId=",pos1);
						//if (pos3 != -1)
						//{
							//var pos4 = url.indexOf("&",pos3)
							//if (pos4 != -1)
								//lookTxt = url.substring(pos3,pos4);
							//else
							//	lookTxt = url.substring(pos3);
						//}
					//}
					//else	// white paper
					//{
						//lookTxt = "listid="
					//}
					//for (iLoop = 1; iLoop <= db.length-1; iLoop++)
					//{
						//if (db[iLoop].URL.indexOf(lookTxt) != -1)
						//{
							//return iLoop;
						//}
					//}
				//}
				//else
				//{
					//pos1 = url.indexOf("wPaperForm.aspx");
					//if (pos1 >= 0)
					//{
						//var pos2 = url.indexOf("folder=Y",pos1);
						//if (pos2 != -1)	// download folder
						//{
							//var pos3 = url.indexOf("wpId=",pos1);
							//if (pos3 != -1)
							//{
								//var pos4 = url.indexOf("&",pos3)
								//if (pos4 != -1)
									//lookTxt = url.substring(pos3,pos4);
								//else
									//lookTxt = url.substring(pos3);
							//}
						//}
						//else	// white paper
						//{
							//lookTxt = "listid="
			//			}
			//			for (iLoop = 1; iLoop <= db.length-1; iLoop++)
			//			{
			//				if (db[iLoop].URL.indexOf(lookTxt) != -1)
			//				{
				//				return iLoop;
				//			}
				//		}
				//	}
				//	else
				//	{
				//		for (iLoop = 1; iLoop <= db.length-1; iLoop++)
			//			{
			//				if (url.indexOf(db[iLoop].URL) != -1)
			//				{
			//					return iLoop;
			//				}
			//			}
			//			test = getCurrVisit();
			//		}
			//			
			//	}
			//}
		//}
//			
	//}
	//return test;
//}

//-------------------------------------------------------------------------------

function getCurrVisit() {
        var label = "currVisit="
        var labelLen = label.length
        var cLen = document.cookie.length
        var i = 0
        while (i < cLen) {
                var j = i + labelLen
                if (document.cookie.substring(i,j) == label) {
                        var cEnd = document.cookie.indexOf(";",j)
                        if (cEnd ==     -1) {
                                cEnd = document.cookie.length
                        }
                        return unescape(document.cookie.substring(j,cEnd))
                }
                i++
        }
        return ""
 return CurrVisit;
}

//-------------------------------------------------------------------------------

function toggle(n) 
 {
	//alert("n: " + n);
  if (n != 0) 
   {
    var newString = ""
    var expanded = currState.charAt(n-1) // of clicked item
    newString1 = currState.substring(0,n-1)
//    newString2 = expanded ^ 1 // Bitwise XOR clicked item
    newString2 = "1";
    newString3 = currState.substring(n,currState.length)
    
    //alert (newString1);
    //alert (newString2);
    //alert (newString3);

    if (db[n].indent == 1)
     { 
      if (newString2 == 1)
       {
        var str = "";
        lg1 = newString1.length;
        for (var k=0; k<lg1; k++)
         {
          str += "0";
         }
        newString1 = str;
        str = "";
        lg1 = newString3.length;
        for (var k=0; k<lg1; k++)
         {
          str += "0";
         }
        newString3 = str;
       }
      newString = newString1+newString2+newString3;
     }
    else 
     {
	//	alert ("ici");
		
		//construire un array avec les différentes meres
		if (newString2 == 1)
		{
			var listMere = new Array();
			var kLoop = 0;
			var mere = 0;
			listMere[kLoop] = n;
			kLoop++;
			var curItem = n;
			while (db[curItem].indent != 1 && curItem>=1)
			{
				indentmere = db[curItem].indent-1;
				//alert ("indentmere: " + indentmere);
				ok = true;
				k = curItem;
				while (k>=1 && ok)
				{
					if (indentmere == db[k].indent)
					{
						mere = k;
						ok = false;
						//alert ("mere: " + mere);
						listMere[kLoop] = mere;
						kLoop++;
						curItem = mere;
					}
					k--;
				}
				if (ok)
					curItem = 0;
			}
			
			//alert("listMere.length: " + listMere.length);
			jLoop = listMere.length-1;
			//alert (listMere[jLoop]);
			var strtxt = "";
			for (k=1; k<db.length; k++)
			{
				if (jLoop >= 0)
				{
					if (k == listMere[jLoop])
					{
						strtxt += "1";
						jLoop--;
					}
					else
						strtxt += "0";
				}
				else
					strtxt += "0";
			}
			//alert(strtxt);
			newString = strtxt;
		}
		else
		{
			strtxt = newString1+newString2+newString3;
		}
     }
    if (!db[n].mother && db[n].indent == "1")
		newString = "1"+newString.substring(1);
	
    CurrState = setCurrState(newString) // write new state back to cookie
    CurrVisit = setCurrVisit(n)         // write last visited back to cookie
    currState = newString;
    //alert(currState);
   }
 }

//-------------------------------------------------------------------------------

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

//-------------------------------------------------------------------------------

function MM_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}

//-------------------------------------------------------------------------------

function constructNav()
 {
 //alert("constructNav");
 if (getRealCurrVisit() != cVisit)
	{
		cVisit = getRealCurrVisit();
		//alert ("new cVisit: " + cVisit);
		/*if (cVisit == 0) {
			ClearMenu();}
		else
			toggle(cVisit);*/
	}
  if (cVisit == 0) 
  { ClearMenu(); }
  else
  { toggle(cVisit); }
  <!-- start
  // build new outline based on the values of the cookie
  // and data points in the outline data array.
  // This fires each time the user clicks on a control,
  // because the HREF for each one reloads the current document.
  var newOutline = "<ul>";
  var prevIndentDisplayed = 0
  var showMyDaughter = 0
  var CurrStateOrig = CurrState;
  var motherPrecNiv = 0;
  var currIndent = 0;
  var niv3displayed = 1;
  
  // cycle through each entry in the outline array
  var expNiv3 = "0";
  for (var i = 1; i < db.length; i++) 
   {
	var editORAddMenu = db[i].URL.indexOf("EkTbWebMenuPopUpWindow");
	//if (editORAddMenu == -1)
	//{
	prevIndent = currIndent;
    currIndent = db[i].indent           // get the indent level
    var expanded = currState.charAt(i-1) // current state
    //alert (expanded + " - " + i + " - " + currState);
    
    if (i == cVisit && currIndent == 2)
		expanded = "0";
	//alert (currIndent + " - " + expanded);
	if (currIndent == 3)
		expNiv3 = expanded;
	//	if (i >= 57 && i<= 63)
	//alert (i+"-"+db[i].display+"-"+currIndent+"-"+prevIndent+"-"+expNiv3+"-");
	if (currIndent == 3)
	{
		if (expNiv3 == "0")
			niv3displayed = "0";
		else
			niv3displayed = "1";
	}
	else
	{
		if (currIndent < 3)
			niv3displayed = "0";
	}
	/*if (currIndent < prevIndent && currIndent == 3 && expNiv3 == "0")
		niv3displayed = 0;
	//else if (currIndent == 3 && expNiv3 == "1")
	else if (currIndent < prevIndent && currIndent == 3 && expNiv3 == "1")
		niv3displayed = 1;
	else if (currIndent > prevIndent && currIndent == 3 && expNiv3 == "1")
		niv3displayed = 1;
	else if (currIndent >= prevIndent && currIndent == 3 && expNiv3 == "0")
		niv3displayed = 0;*/
		//alert (document.cookie);
	//	if (i >= 57 && i<= 63)
	//alert (niv3displayed);
    // display entry only if it meets one of three criteria
    if (currIndent == 1 || currIndent <= prevIndentDisplayed || (showMyDaughter == 1 && (currIndent - prevIndentDisplayed == 1))) 
     {
      if (currIndent <= motherPrecNiv && motherPrecNiv != 0)
	   {
		if (currIndent < motherPrecNiv)
		 {
			newOutline += "</ul></li>\n";
			motherPrecNiv--;
		 }
		newOutline += "</ul></li>\n";
	    motherPrecNiv--;
	   }
	   //alert (niv3displayed);
	   if ((currIndent == 3 && expanded == "1") || currIndent < 3 || (currIndent >3 && niv3displayed == 1))
       {
  
        // Update the CurrState as if the item is clicked
        var tempState = CurrStateOrig;
        newOutline += "<li><a ";
        if (i == cVisit || expanded == "1")
        	newOutline += "class='act' ";
        if (db[i].URL != "" && db[i].URL != null) 
        {
			if (editORAddMenu != -1)
				newOutline += "href=\"#\" onClick=\"" + db[i].URL + "\"";
			else
				newOutline += "HREF=\"" + db[i].URL + "\"";
		}
        else
       	   newOutline += "HREF=\"#\"";
  
        newOutline += " onClick=\"toggle(" + i + "); return true\" ";
        newOutline += "<span>" + db[i].display + "</span></a>";
        
        prevIndentDisplayed = currIndent;
        showMyDaughter = expanded;
       
        if (db[i].mother && showMyDaughter == "1")
	     {
		  newOutline += "<ul>\n";
		  motherPrecNiv++;
	     }
        else
  		  newOutline += "</li>\n";
 
        document.write(newOutline);
        //alert(newOutline);
        newOutline = ""
       }
     }
    //}
   }	//end - for
  while (motherPrecNiv > 0)
	{
		document.write("</ul>\n</li>\n");
		motherPrecNiv--;
	}
  document.write("</ul>\n");
  // end -->
 }

//-------------------------------------------------------------------------------

function gotoURL(URLString)
 {
  var i = 1;
  var ok = 0;
  var j = -1;
  while (i < db.length && ok == 0)
   {
    if (db[i].URL == URLString)
     {
      ok = 1;
      j = i;
     }
    i++;
   }

  if (ok == 1)
   toggle(j);
 }

//-------------------------------------------------------------------------------

function gotoSubURL(URLParent,URLString)
 {
  var i = 1;
  var ok1 = 0;
  var ok2 = 0;
  var j = -1;
  var k = -1;
  while (i < db.length && (ok1 == 0 || ok2 == 0))
   {
    if (db[i].URL == URLString)
     {
      ok1 = 1;
      j = i;
     }
    if (db[i].URL == URLParent)
     {
      ok2 = 1;
      k = i;
     }
    i++;
   }

  if (k != -1 && j != -1) 
   toggle_layer(k,j)
  else if (k != -1)
   toggle(k);
  else
   toggle(j);
 }

//-------------------------------------------------------------------------------

function constructNavCentral(cVisitTrans)
{
	var cVisit = cVisitTrans;
	if (getRealCurrVisit() != cVisit)
	{
		cVisit = getRealCurrVisit();
	}
	var j = cVisit-1+2;
	var result = "";
	while (db[j].indent > db[cVisit].indent && j <= db.length)
	{
		if (db[j].indent == db[cVisit].indent+1)
		{
			if (db[j].URL != "" && db[j].URL != null) 
			{
				if (db[j].URL.indexOf("EkTbWebMenuPopUpWindow") == 0)
					result += "<li><a href=\"#\" onClick=\"" + db[j].URL + "\"";
				else
					result += "<li><a href=\"" + db[j].URL + "\"";
			}
			else
			{
       			result += "<li><a href=\"#\"";
			}
			
			//class appl dans span yes or no
			var txtClassSpan = "";
			if (db[j].className != "" && db[j].className != null)
			{
				if (db[j].className.indexOf("appl") == 0)
					txtClassSpan = " class='appl'";
			}
			
			if (db[j].URL.indexOf("EkTbWebMenuPopUpWindow") == 0)
			{
				result += "><span" + txtClassSpan + ">" + db[j].display + "</span></a></li>";
			}
			else
			{
       			if (db[j].className != "" && db[j].className != null)
	       			result += " class='" + db[j].className + "'";
				result += " onClick=\"toggle(" + j + "); return true\"><span" + txtClassSpan + ">";
				result += db[j].display + "</span></a></li>";
			}
		}
		j++;
	}
	if (result != "" && result != null)
	 {
		//alert ("<ul>" + result + "</ul>\n");
		document.write("<div class=\"productBlock\"><ul>" + result + "</ul></div>\n");
	 }
}

//-------------------------------------------------------------------------------

function constructNavRight(cVisitTrans)
{
	var cVisit = cVisitTrans;
	if (getRealCurrVisit() != cVisit)
	{
		cVisit = getRealCurrVisit();
	}

	var indentmere = db[cVisit].indent-1;
	var nivtoDisp = "2";
	var okNtoD = true;
	var okMere = true;
	k = cVisit;
	while (k>=1 && (okNtoD || okMere))
	{
		if (indentmere == db[k].indent && okMere)
		{
			mere = k;
			okMere = false;
		}
		if (nivtoDisp == db[k].indent && okNtoD)
		{
			mereNivtoDisp = k;
			okNtoD = false;
		}
		k--;
	}
	var j = mereNivtoDisp-1+2;
	var result = "";
	while (db[j].indent > db[mereNivtoDisp].indent && j <= db.length)
	{
		if (db[j].indent == db[mereNivtoDisp].indent+1)
		{
			if (db[j].URL != "" && db[j].URL != null) 
			{
				if (db[j].URL.indexOf("EkTbWebMenuPopUpWindow") == 0)
				{
					if (db[j].className != "" && db[j].className != null)
						result += "<li class='" + db[j].className + "'><a href=\"#\" onClick=\"" + db[j].URL + "\"";
       				else
						result += "<li><a href=\"#\" onClick=\"" + db[j].URL + "\"";
				}
				else
				{
					if (db[j].className != "" && db[j].className != null)
						result += "<li class='" + db[j].className + "'><a href=\"" + db[j].URL + "\"";
       				else
						result += "<li><a href=\"" + db[j].URL + "\"";
					
				}
			}
			else
       			result += "<li><a href=\"#\"";
			result += " onClick=\"toggle(" + j + "); return true\">";
			var tt = db[j].display;
			var pos = tt.indexOf(": ");
			if (pos >=0)
				tt = tt.substring(pos+2);
			if ((j == mere && db[cVisit].indent-1 > nivtoDisp) || (j == cVisit && db[cVisit].indent-1 == nivtoDisp))
				result += "<span class=\"act\">" + tt + "</span>";
			else
				result += "<span>" + tt + "</span>";;
			result += "</a></li>";
		}
		j++;
	}
	if (result != "" && result != null)
	{
		//alert("<div class=\"nav3Block\"><ul>" + result + "</ul></div>\n");
		document.write("<div class=\"nav3Block\"><ul>" + result + "</ul></div>\n");
	}
}


//-------------------------------------------------------------------------------

function ClearMenu()
{
	var str = "";
	for(i=1; i<=db.length; i++)
	{
		if (i == 1)
			str += "1";
		else
			str += "0";
	}
	CurrState = setCurrState(str)		// write new state back to cookie
    CurrVisit = setCurrVisit(0)         // write last visited back to cookie
}

//-------------------------------------------------------------------------------

function getPath()
{
	
	var strpath = "<a href=\"home.aspx\" onClick=\"javascript:ClearMenu();\"><span>Home</span></a>";
	var cVisit = getCurrVisit();
	
	//alert("cVisit: "+cVisit);
	//alert("getRealCurrVisit(): " + getRealCurrVisit());
	
	if (getRealCurrVisit() != cVisit)
	{
		cVisit = getRealCurrVisit();
	}
	var pathVect = new Array();
	var iLoop = 0;
	if (cVisit > 0)	// item dans vecteur db
	{
		pathVect[iLoop] = cVisit;
		iLoop++;
		j = cVisit;
		while (db[j].indent > 1)
		{
			//chercher la mere de j
			var indentmere = db[j].indent-1;
			var ok = true;
			k = j;
			while (k>=1 && ok)
			{
				if (indentmere == db[k].indent)
				{
					mere = k;
					ok = false;
				}
				k--;
			}
			pathVect[iLoop] = mere;
			iLoop++;
			j = mere;
		}
		for (k=iLoop-1; k >= 0; k--)
		{
			txt = db[pathVect[k]].display;
			if (ttlPath != db[pathVect[k]].display && k == 0)
				txt = ttlPath;
			if (txt != "")
				strpath += " > ";
			if (k == 0)
				strpath += txt;
			else
				strpath += "<a href=\"" + db[pathVect[k]].URL + "\" onClick=\"toggle(" + pathVect[k] + "); return true\"><span>" + txt + "</span></a>";
		}
	}
	else
	{
		if (ttlPath != "")
		 {
			strpath += " > ";
			strpath += ttlPath;
		 }
	}
	
	document.write(strpath);
	//alert (strpath);
}
