var bool=false;
var boolB = false;
var bool2 = false;
var boolP =  false;
var boolPic = false;
var boolRef = false;
var menuExpanded = false;
// JavaScript Document
function expandCollapse(obj) {
	var	objElement = getElementByID(obj);
	var currentMenu = objElement.id.split("ul")[1].toLowerCase();
	var currentPage = document.body.id;
	currentPage = currentPage.split("Page")[0].toLowerCase();			

	var count = 0;
	var toCollapse = [];
	var wrapper = document.getElementById('menuBar');
	var child1 = wrapper.firstChild;
	while(child1){
		
		if(child1.tagName == 'UL'){
			var child2 = child1.firstChild; 
			while(child2){
				if(child2.tagName == 'LI'){
					var child3 = child2.firstChild;
					while(child3){
 					if(child3.tagName =='H2'){child3.style.cursor="pointer";}
						if(child3.tagName=='UL'){
							toCollapse[count]=child3;
							count ++;
						}
						child3 = child3.nextSibling;
					}											
				}
				child2 = child2.nextSibling;
			}
		}
		child1 = child1.nextSibling;
	}	
	
	for (var e = 0; e< toCollapse.length; e++){		
		if(toCollapse[e] != objElement)
			toCollapse[e].style.display = "none";
		id = toCollapse[e].id.split("ul")[1].toLowerCase();
		
		if(id == currentPage){
			toCollapse[e].style.display = "block";
			var nom = 'h2'+toCollapse[e].id.split("ul")[1];
			document.getElementById(nom).style.cursor="default";
	}
	}

			
	if (objElement.style.display != "block") {
		objElement.style.display = "block" ;
		menuExpanded = true;
		if (obj == 'ulAbout' ||obj =='ulRegistry' )
		try {spacer = getFieldId('spacer');
			spacer.style.display="block";
		}catch(e){}
		if (obj == 'ulAbout' || obj =='ulContrib'||obj =='ulRegistry')
		try {spacer = getFieldId('spacer2');
		spacer.style.display="block";
		}catch(e){}
		if (obj == 'ulAbout')
		try {spacer = getFieldId('spacer3');
		spacer.style.display="block";
		}catch(e){}
		}
	else{
		if(currentPage != currentMenu){
		objElement.style.display = "none" ;
		menuExpanded = false;
		try {spacer = getFieldId('spacer');
		spacer.style.display="none";
		}catch(e){}
		try {spacer = getFieldId('spacer2');
		spacer.style.display="none";
		}catch(e){}
try {spacer = getFieldId('spacer3');
		spacer.style.display="none";
		}catch(e){}
		 }
	}

	
}

function getElementByID(id){
 if (document.getElementById)
    {
        // this is the way the standards work
        var obj = document.getElementById(id);
    }
    else if (document.all)
    {
        // this is the way old msie versions work
        var obj = document.all[id];
    }
    else if (document.layers)
    {
        // this is the way nn4 works
        var obj = document.layers[id];
    }
    return obj
}
 
function displayEurope(text) {
  if(bool==false) {
  document.getElementById("curseur").style.visibility="visible"; 
  document.getElementById("curseur").innerHTML = text; 
  bool=true;
  }
}

function cache(){
document.getElementById("curseur").style.visibility="hidden"; 
bool = false;
}

function displayReferences(text) {
  if(boolRef==false) {
  document.getElementById("buttonReferences").style.visibility="visible"; 
  document.getElementById("buttonReferences").innerHTML = text; 
  boolRef=true;
  }
}

function cacheRef(){
document.getElementById("buttonReferences").style.visibility="hidden"; 
boolRef = false;
}

function displayButton(text) {
  if(boolB==false) {
  document.getElementById("buttonCursor").style.visibility="visible"; 
  document.getElementById("buttonCursor").innerHTML = text; 
  boolB=true;
  }
}

function cacheB(){
document.getElementById("buttonCursor").style.visibility="hidden"; 
boolB = false;
}
function displayPref(text,pref) {
  if(boolP==false) {
  if (pref=="pref")
  	{images='<img src="/botany/static/images/languages.jpg"/>';}
  else{images='<img src="/botany/static/images/options.png"/>';}
  document.getElementById("curseurP").style.visibility="visible"; 
  document.getElementById("curseurP").innerHTML = images+text; 
  boolP=true;
  }
}

function cacheP(){
document.getElementById("curseurP").style.visibility="hidden"; 
boolP = false;
}

function displayPic(text) {
  if(boolPic==false) {
  document.getElementById("urlPic").style.visibility="visible"; 
  if (text.indexOf('nopreview') == -1)
  	{document.getElementById("urlPic").innerHTML = '<img src="'+text+'" width="100px" class="dessus"/>';}
  else
  {document.getElementById("urlPic").innerHTML = '<img src="'+text+'" width="75px" class="dessus"/>';}
  boolPic=true;
  }
}

function cachePic(){
document.getElementById("urlPic").style.visibility="hidden"; 
boolPic = false;
}
function displayFullTextHelp(){
  if(bool2==false) {
  document.getElementById("fullTextHelp").style.visibility="visible"; 
  bool2=true;
  }
}

function cache2(){
document.getElementById("fullTextHelp").style.visibility="hidden"; 
bool2 = false;
}

function move(e){

	if(bool) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
	
    if (! document.all) { // Si on est pas sous IE
    document.getElementById("curseur").style.left=e.pageX -200+"px";
    document.getElementById("curseur").style.top=e.pageY +20+"px";
    }
    else {
    document.getElementById("curseur").style.left=event.clientX -200+document.body.scrollLeft;
    document.getElementById("curseur").style.top=event.clientY + 20 + document.body.scrollTop; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne !
   }
  }
if(boolB) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
	
    if (! document.all) { // Si on est pas sous IE
    document.getElementById("buttonCursor").style.left=e.pageX +10+"px";
    document.getElementById("buttonCursor").style.top=e.pageY +50+"px";
    }
    else {
		if(document.documentElement.clientWidth>0) {
			document.getElementById("buttonCursor").style.left=event.clientX+10+document.documentElement.scrollLeft+"px";
			document.getElementById("buttonCursor").style.top=event.clientY+50+document.documentElement.scrollTop+"px";
		} 
		else {
			document.getElementById("buttonCursor").style.left=10+event.clientX+document.body.scrollLeft+"px";
			document.getElementById("buttonCursor").style.top=50+event.clientY+document.body.scrollTop+"px";
         }
    }
   
   }
  
  if(bool2){
 if (! document.all) { // Si on est pas sous IE
    document.getElementById("fullTextHelp").style.left=e.pageX -200+"px";
    document.getElementById("fullTextHelp").style.top=e.pageY +20+"px";
    }
    else {
    document.getElementById("fullTextHelp").style.left=event.clientX -200+document.body.scrollLeft;
    document.getElementById("fullTextHelp").style.top=event.clientY + 20 + document.body.scrollTop; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne !
   }
	
	}

      
if(boolP) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
	
    if (! document.all) { // Si on est pas sous IE
    document.getElementById("curseurP").style.left=e.pageX -200+"px";
    document.getElementById("curseurP").style.top=e.pageY +20+"px";
    }
    else {
    document.getElementById("curseurP").style.left=event.clientX -200+document.body.scrollLeft;
    document.getElementById("curseurP").style.top=event.clientY + 20 + document.body.scrollTop; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne !
   }
  }
  if(boolPic) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
    if (! document.all) { // Si on est pas sous IE
    document.getElementById("urlPic").style.left=e.pageX -20+"px";
    document.getElementById("urlPic").style.top=e.pageY +20+"px";
    }
    else {
    document.getElementById("urlPic").style.left=event.clientX -20+document.body.scrollLeft;
    document.getElementById("urlPic").style.top=event.clientY + 20 + document.body.scrollTop; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne !
   }
  }
   if(boolRef) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
	
    if (! document.all) { // Si on est pas sous IE
    document.getElementById("buttonReferences").style.left=e.pageX -100+"px";
    document.getElementById("buttonReferences").style.top=e.pageY +20+"px";
    }
    else {
    document.getElementById("buttonReferences").style.left=event.clientX +document.body.scrollLeft;
    document.getElementById("buttonReferences").style.top=event.clientY + 20 + document.body.scrollTop; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne !
   }
}
}



function hideShowExample(id){
	var elt = document.getElementById(id);
	if (elt.style.display != "block"){
		elt.style.display = "block";
	}
	else{
		elt.style.display = "none";
	}
}

function hideShow3(id1,id2,id3){
	var elt1=document.getElementById(id1);
	var elt2=document.getElementById(id2);
	var elt3=document.getElementById(id3);
	
	if (elt1.style.display != "block"){
		elt1.style.display ="block";
		if (elt3.checked) elt2.style.display="block";
		else elt2.style.display="none";
	}
	else{
		elt1.style.display="none";
		elt2.style.display="none";
	}
}
function hideShowCollapse(id1,id2){
	var elt1=document.getElementById(id1);
	var elt2=document.getElementById(id2);
	
	if (elt1.checked)
		elt2.style.display ="block";
	else
		elt2.style.display="none";
}


function giveFocus(id){
try{document.getElementById(id).focus();}catch(e){}
}


