// Largeur des sous-menus
var MENU_WIDTH = 150;

var topHeight;

function placeMenus() { 
	
	// Placement des sous-menus horizontaux
	var objOnglet = $('onglets');
	topHeight = Position.cumulativeOffset(objOnglet)[1]	
	
	var someNodeList = objOnglet.getElementsByTagName('div');
	var nodes = $A(someNodeList);
	var arMenus = new Array();
	
	Position.prepare();
	// Trouver la limite de droite où peuvent aller les menus
	
	var maxRightPos = Element.getDimensions(objOnglet).width + Position.cumulativeOffset(objOnglet)[0];

	nodes.each(function(node){
		
		var nodeId = node.id;
		
		
		// Le ID des menus principaux commencent par "main_xxxxx"
		if (nodeId.indexOf("main_") == 0) {
			arMenus.push(node);
		}
		
	});
	
	for (var i= 0; i < arMenus.length; i++) {
		//alert("menu princ : " + arMenus[i].id);
		var subMenuList = arMenus[i].getElementsByTagName('div');
		var subMenuNodes = $A(subMenuList);
		var level = 0;
		var subMenuOffset = 0;
		
		subMenuNodes.each(function(node){
			
			var nodeId = node.id;
			
			if (nodeId.indexOf("id_") == 0) {

				//Vérifier la position du sous-menu
									
				var subMenuPosition = Position.cumulativeOffset(node)[0]
				
				if (subMenuPosition + MENU_WIDTH > maxRightPos) {

					/* 
					  Si on est dans le premier sous-menu (level 0), on
					  a seulement à déplacer le menu pour qu'il soit
					  disponible dans l'écran
					*/
									
					if (level == 1) {
						
						var newSubMenuLeftPosition = (subMenuPosition + MENU_WIDTH) - maxRightPos + 5;		
						node.style.marginLeft="-" + newSubMenuLeftPosition + "px";

					} else {

						var newSubMenuLeftPosition = MENU_WIDTH * 2;
						node.style.left="-" + newSubMenuLeftPosition + "px";						

					}					
					
				}					
				
			}
			
			level++;
			
		});		
		
	}	
	
	// Placement des sous-menus verticaux
	var objLeftMenu = $('menuClient');
	var leftMenuItems = objLeftMenu.getElementsByTagName('div');
	var arLeftMenu = new Array();
	nodes = $A(leftMenuItems);
	
	nodes.each(function(node){

		var nodeId = node.id;
		
		
		// Le ID des menus principaux commencent par "main_xxxxx"
		if (nodeId.indexOf("client_") == 0) {
			arLeftMenu.push(node);
		}
		
	});		
	
	for (var i=0; i < arLeftMenu.length; i++) {
		
		var subMenuList = arLeftMenu[i].getElementsByTagName('div');
		var subMenuNodes = $A(subMenuList);
		
		subMenuNodes.each(function(node){
			var nodeId = node.id;

			if (nodeId.indexOf("id_") == 0) {
				deplacemenu(node);
			}
			
		});		
		
	}
	
	/*

	
	for (var i=0; i < arLeftMenu.length; i++) {
		var subMenuList = arMenus[i].getElementsByTagName('div');
		var subMenuNodes = $A(subMenuList);
		var level = 0;
		var subMenuOffset = 0;

		subMenuNodes.each(function(node){
			var nodeId = node.id;

			if (nodeId.indexOf("id_") == 0) {
				deplacemenu(node)
			}
			
		}
		
	}	
	*/
	
}

// Montrer un sous-menu

function visible(item, itemParent, menuParent, niveau) {	

	var subMenuPositionTop = Position.cumulativeOffset(document.getElementById(item))[1];
	
	if(itemParent != null) {
		var parentPositionTop = Position.cumulativeOffset(document.getElementById(itemParent))[1];
		var parentHeight = document.getElementById(itemParent).scrollHeight;
		
		if(parseInt(niveau) < 1) {
			
			if(subMenuPositionTop != parentPositionTop) {
				
				if(menuParent != null) {
					var menuParentPositionTop = Position.cumulativeOffset(document.getElementById(menuParent))[1];
					
					if(menuParent == "onglets") {
						var hauteurReelle = parseInt(parentPositionTop) - parseInt(menuParentPositionTop) + 5;
					}
					else {
						if(navigator.appName == "Microsoft Internet Explorer") {
							var hauteurReelle = parseInt(parentPositionTop) - parseInt(menuParentPositionTop) + 22;
						}
						else {
							var positionBloc = Position.cumulativeOffset(document.getElementById(itemParent).parentNode.parentNode.parentNode)[1];
							var positionSM = Position.cumulativeOffset(document.getElementById(itemParent).parentNode.parentNode)[1];
							var diffBloc = parseInt(positionSM) - parseInt(positionBloc);
							
							var hauteurReelle = parseInt(parentPositionTop) - parseInt(menuParentPositionTop) + 24 - parseInt(diffBloc);
						}
					}
					
					document.getElementById(item).style.top = hauteurReelle + "px";
				}
				
				else {
					var hauteurReelle = parseInt(parentPositionTop) - parseInt(topHeight) + 5;
					document.getElementById(item).style.top = hauteurReelle + "px";
				}
			}
		} 
		else {
			var divParentTop = Position.cumulativeOffset(document.getElementById(item).parentNode)[1];
			document.getElementById(item).style.top = (parseInt(parentPositionTop)-parseInt(divParentTop) + 24) + "px";		
		}
	}
	
	document.getElementById(item).style.visibility = 'visible';
}


// Cacher un sous-menu
function invisible(item) {
	document.getElementById(item).style.visibility = 'hidden';		
}




// Mouse over sur un item du menu du haut
// (changement du background)
function ongletOver(objMenu) {
	ongletSelChgBg(objMenu, null, null);				
}

// On enlève le background de sélection sur le mouseout
function ongletOut(objMenu) {
	if (selObjMenu == null || objMenu.id != selObjMenu.id) {
		objMenu.style.background="";
	}
}	

var selObjMenu = null;
var selObjBg = null;
// Initialisation de l'onglet sélectionné 
// pour la section courante
function ongletSel(itemId, bgId) {
	objMenu = $(itemId);
	objBg = $(bgId);

	ongletSelChgBg(objMenu, objBg);

	selObjMenu = objMenu;
	selObjBg = objBg;
}

// Changer l'arrière plan de l'item sélectionné
function ongletSelChgBg(objMenuItem, objBg) {
	Position.prepare();
	var arOffset = Position.cumulativeOffset(objMenuItem);
	
	var objOnglet = $('onglets');
	var arOffsetOnglets = Position.cumulativeOffset(objOnglet);

	var diff = arOffsetOnglets[0] - arOffset[0];
	objMenuItem.style.backgroundImage="url(/images/bgOngletsSel.jpg)";
	objMenuItem.style.backgroundRepeat="no-repeat";		
	objMenuItem.style.backgroundPosition=diff + "px 0px";	
	
	/*
	if (objBg != null) {
		objBg.style.backgroundImage="url(/images/bgOngletsSel.jpg)";
		objBg.style.backgroundRepeat="no-repeat";		
		objBg.style.backgroundPosition=diff + "px 0px";
	}
	*/
	
}


function deplacemenu(divMenu) {

	var curTop = findPosTop(divMenu);

	var surplus = 0;
	//var winHeight = document.body.clientHeight;
	
	var winHeight = document.documentElement.clientHeight;
	
	if((divMenu.clientHeight + curTop) > winHeight)
	{		
		surplus = (divMenu.clientHeight + curTop) - winHeight;
		if(surplus > curTop)
			surplus = curTop;
		
		divMenu.style.marginTop = "-" + surplus + "px";
	}
}


function findPosTop(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}    
	return curtop;
}

/*
	Fonction servant à la liste des nouvelles
	et commuinqués.
*/
function showList(listId, imgId, strHeight) {
	var heightList = "306px";
	if (strHeight != '') {
		heightList = strHeight;
	}
	objList = document.getElementById(listId);
	objImg = document.getElementById(imgId);
	if (objList.style.overflow=='visible') {
		objList.style.overflow='scroll';
		objImg.src='/images/listedoc_fleche_bas.gif';		
		objList.style.height=heightList;
	}	else {
		objList.style.overflow='visible';
		objImg.src='/images/listedoc_fleche_haut.gif';
		objList.style.height='';
	}

}


function linkTo(linkUrl)
{
	window.location = linkUrl;
}

/* Recherche de bulletin */
function rechBulletin() {
	var strRech = "";
	var objForm = document.getElementById("formBulletin");
	
	if (objForm.annee.value != " " && objForm.annee.value != "") 
		strRech += objForm.annee.value;
	
	if (objForm.mois.value != " " && objForm.mois.value != "") 
		strRech += " " + objForm.mois.value;
	
	if (objForm.section.value != " " && objForm.section.value != "") 
		strRech += " " + objForm.section.value;
	
	if (objForm.volume.value != " " && objForm.volume.value != "") 
		strRech += " " + objForm.volume.value;
	
	if (objForm.numero.value != " " && objForm.numero.value != "") 
		strRech += " " + objForm.numero.value;
	
	if (objForm.motcle.value != " " && objForm.motcle.value != "") 
		strRech += " " + objForm.motcle.value;
	
	objForm.query.value = strRech;
	objForm.submit();
}

function rechBulletinEnter(e) {
	if(window.event) // IE
	{
		keynum = e.keyCode
		
		// Netscape/Firefox/Opera 
	} else if(e.which) {
		keynum = e.which
	}
	
	if (keynum == 13) {
		rechBulletin();
	}
}

/* Fonctions pour le calendrier */
function calPrevious(prevCal, idCalGen) {
	prevCal = idCalGen + "_" + prevCal;
	document.getElementById(idCalGen).innerHTML = document.getElementById(prevCal).innerHTML;
}

function calNext(nextCal, idCalGen) {
	nextCal = idCalGen + "_" + nextCal;
	document.getElementById(idCalGen).innerHTML = document.getElementById(nextCal).innerHTML;
}

function showCal(idCalGen, idCal) {
	document.getElementById(idCalGen).innerHTML = document.getElementById(idCal).innerHTML;
}
	