// Procédures globales du projet
function PGNJS_GESTION_MENU_PERSO(pNomDiv,pX,pY,pFermetureManuelle,pSansLesBords)
{
	
	var xConteneur;
	var xDiv;
	var xExp = new RegExp("_","g");
	var xContenu;
	var xMouseIn = 0;
	var xTop;
	var xBottom;
	var xLeft;
	var xRight;
	var xPosTopConteneur;
	var xPosLeftConteneur;	
	var xLargeurDispo = PGNJS_NAV_LARGEUR();
	var xHauteurDispo = PGNJS_NAV_HAUTEUR();
	var xLargeurObjet;
	var xHauteurObjet;
	
	
	
	//Rechercher le conteneur
	xConteneur = document.getElementsByTagName("FORM")[0];
	if (!xConteneur) { xConteneur = getElementsByTagName("DIV")[0];}
	if (!xConteneur) { xConteneur = document.body;}
	
	xPosTopConteneur = PGNJS_GET_POSITION(xConteneur)[0];
	xPosLeftConteneur = PGNJS_GET_POSITION(xConteneur)[1];
	
	
	xContenu = document.getElementById("dww"+pNomDiv.replace(xExp,""));
	if (!xContenu) {xContenu = document.getElementById(pNomDiv).parentNode;}
	if (!xContenu) {alert("Cellule introuvable");}
	// retirer les éventuelles bordures (car si on ne met pas de bordure, Webdev ne genere pas le nom du calque )
	xContenu.style.border = "0px #FFFFFF solid";
	if (document.getElementById(pNomDiv)) {document.getElementById(pNomDiv).style.border = "0px #FFFFFF solid"; }
	
	xDiv = document.getElementById("CEL_MENU_"+pNomDiv)
	
	if (!xDiv)
	{
		//Récupération de la cellule contenant les objets
		xContenu.style.position = "absolute";
		xContenu.style.zIndex = 2000;
//		xLargeurObjet = parseInt(xContenu.style.width);
//		xHauteurObjet = parseInt(xContenu.style.height);
		xContenu.Hauteur = $(xContenu).outerHeight() ;		
		xContenu.Largeur = $(xContenu).outerWidth() ;	
		$(xContenu).children().each(function(i){
			var xHauteur =  $(this).outerHeight();	if(xContenu.Hauteur < xHauteur) {xContenu.Hauteur = xHauteur;}	
			var xLargeur =  $(this).outerWidth();	if(xContenu.Largeur < xLargeur) {xContenu.Largeur = xLargeur;}	
		});
		xHauteurObjet = xContenu.Hauteur ;
		xLargeurObjet = xContenu.Largeur ;
		xContenu.style.width = xLargeurObjet+"px";
		xContenu.style.height = xHauteurObjet+"px"
		
		if ( (!pX ) || (pX==0)) {
			xContenu.style.top = ( xHauteurDispo - (xHauteurObjet+24) ) / 2 - xPosTopConteneur ;
			xContenu.style.left = pSansLesBords?( xLargeurDispo - (xLargeurObjet) ) / 2 - xPosLeftConteneur : ( xLargeurDispo - (xLargeurObjet+24) ) / 2 - xPosLeftConteneur ;	
		}else{
			xContenu.style.top = pY + 12;		
			xContenu.style.left = pSansLesBords?pX:pX + 12;
		}
				
		if (!pSansLesBords) {
			xContenu.style.backgroundColor = "#ebfbff";
			xContenu.style.filter = "alpha(opacity=90)";
			xContenu.style.opacity = 0.90;
		}
		xContenu.style.visibility = "visible";
		
		
		xDiv = document.createElement("DIV");
		xDiv.id = "CEL_MENU_"+pNomDiv;	
		xDiv.name = "CEL_MENU_"+pNomDiv;
		xDiv.style.position = "absolute";
		xDiv.style.top  = parseInt(xContenu.style.top)-12;
		xDiv.style.left =  pSansLesBords?parseInt(xContenu.style.left):parseInt(xContenu.style.left)-12;
		xDiv.style.width = pSansLesBords?xLargeurObjet:xLargeurObjet + 24;
		xDiv.style.height = xHauteurObjet + 24;
		xDiv.style.zIndex = (xContenu.style.zIndex - 5);
//		xDiv.innerHTML
		
		
		//Création du Cadre du MENU
		PGNJS_MISE_EN_PAGE_MENU_PERSO(xDiv,xLargeurObjet,xHauteurObjet,pSansLesBords)
		
		//Affichage du calque pour le cadre du MENU
		xConteneur.appendChild(xDiv);

	}else{ // si le calque existe deja : on le cache (fermeture du menu)
		
		//Masquer le contenu
		xContenu.style.visibility = "hidden";
		
		//Détruire le cadre du Menu
		xConteneur = xDiv.parentNode;
		xConteneur.removeChild(xDiv);
		
		//Annuler le survol sur la page
		document.onmousemove = "";
	}
	
	//Préparation des coordonnées de la zone du Menu
	xTop = parseInt(xDiv.style.top);
	xBottom = parseInt(xDiv.style.top) + parseInt(xDiv.style.height);
	xLeft = parseInt(xDiv.style.left);
	xRight = parseInt(xDiv.style.left) + parseInt(xDiv.style.width);
	
	
	if (!pFermetureManuelle){
	
		xContenu.onmouseover = function() {xMouseIn = 1}
		
		document.onmousemove = function(event) {
			
			if(!event) {event = window.event;}
			
			if (xMouseIn==1) {
			
				if (event.clientY < xTop || event.clientY > xBottom || event.clientX < xLeft || event.clientX > xRight){
					
					//Masquer le contenu
					xContenu.style.visibility = "hidden";
					
					//Détruire le cadre du Menu
					xConteneur.removeChild(xDiv);
					
					//Annuler le survol sur la page
					document.onmousemove = "";
					
				}
			
			}
			
		}
	}
}
function PGNJS_MISE_EN_PAGE_MENU_PERSO(pDiv,pLargeurObjet,pHauteurObjet,pSansLesBords)
{

	var xHG;
	var xBD;
	var xHD;
	var xBG;
	var xHaut;
	var xBas;
	var xGauche;
	var xDroite;
	
	//Création Image Haut
	xHaut = document.createElement("IMG");
	xHaut.style.position = "absolute";
	xHaut.src = '/DOMINO_WEB_WEB/menus/Perso/Haut.png';
	xHaut.style.top  = 0;
	xHaut.style.left = 12;
	xHaut.style.width = pSansLesBords?pLargeurObjet-24:pLargeurObjet;
	xHaut.style.height = 12;
	
	pDiv.appendChild(xHaut);		
	
	//Création Image Haut Gauche
	xHG = document.createElement("IMG");
	xHG.style.position = "absolute";
	xHG.src = '/DOMINO_WEB_WEB/menus/Perso/Haut_Gauche.png';
	xHG.style.top  = 0;
	xHG.style.left = 0;
	xHG.style.width = 12;
	xHG.style.height = 12;
	
	pDiv.appendChild(xHG);
	
	//Création Image Haut Droit
	xHD = document.createElement("IMG");
	xHD.style.position = "absolute";
	xHD.src = '/DOMINO_WEB_WEB/menus/Perso/Haut_Droit.png';
	xHD.style.top  = 0;
	xHD.style.right = 0;
	xHD.style.width = 12 ;
	xHD.style.height = 12 ;
	
	pDiv.appendChild(xHD);
	
	//Création Image Bas
	xBas = document.createElement("IMG");
	xBas.style.position = "absolute";
	xBas.src = '/DOMINO_WEB_WEB/menus/Perso/Bas.png';
	xBas.style.bottom  = 0;
	xBas.style.left = 12;
	xBas.style.width = pSansLesBords?pLargeurObjet-24:pLargeurObjet;
	xBas.style.height = 12;
	
	pDiv.appendChild(xBas);
	
	//Création Image Bas Gauche
	xBG = document.createElement("IMG");
	xBG.style.position = "absolute";
	xBG.src = '/DOMINO_WEB_WEB/menus/Perso/Bas_Gauche.png';
	xBG.style.bottom  = 0;
	xBG.style.left = 0;
	xBG.style.width = 12 ;
	xBG.style.height = 12 ;
	
	pDiv.appendChild(xBG);
	
	//Création Image Bas Droit
	xBD = document.createElement("IMG");
	xBD.style.position = "absolute";
	xBD.src = '/DOMINO_WEB_WEB/menus/Perso/Bas_Droit.png';
	xBD.style.bottom  = 0;
	xBD.style.right = 0;
	xBD.style.width = 12 ;
	xBD.style.height = 12 ;
	
	pDiv.appendChild(xBD);
	
	//Création Image Gauche
	if (!pSansLesBords){
		xGauche = document.createElement("IMG");
		xGauche.style.position = "absolute";
		xGauche.src = '/DOMINO_WEB_WEB/menus/Perso/Gauche.png';
		xGauche.style.top  = 12;
		xGauche.style.left = 0;
		xGauche.style.width = 12;
		xGauche.style.height = pHauteurObjet;
		
		pDiv.appendChild(xGauche);
	}
		
	//Création Image Droite
	if (!pSansLesBords){
		xDroite = document.createElement("IMG");
		xDroite.style.position = "absolute";
		xDroite.src = '/DOMINO_WEB_WEB/menus/Perso/Droite.png';
		xDroite.style.top  = 12;
		xDroite.style.right = 0;
		xDroite.style.width = 12 ;
		xDroite.style.height = pHauteurObjet ;
		
		pDiv.appendChild(xDroite);
	}
}
function PGNJS_FERMER_MENU_PERSO(pNomDiv)
{
	
	var xConteneur;
	var xDiv;
	var xExp = new RegExp("_","g");
	var xContenu;
	
	
	xContenu = document.getElementById("dww"+pNomDiv.replace(xExp,""));
	if (!xContenu) {xContenu = document.getElementById(pNomDiv).parentNode;}
	if (!xContenu) {alert("Cellule introuvable");}
	
	xDiv = document.getElementById("CEL_MENU_"+pNomDiv)
	
	if (xDiv)
	{
		//Masquer le contenu
		xContenu.style.visibility = "hidden";
		
		//Détruire le cadre du Menu
		xConteneur = xDiv.parentNode;
		xConteneur.removeChild(xDiv);
		
		//Annuler le survol sur la page
		document.onmousemove = "";
	}
}
function PGNJS_GESTION_POPUP(pObjDivOuNomDiv,pX,pY,pFermetureManuelle,pSansLesBords)
{
	
	var xConteneur;
	var xDiv;
	var xExp = new RegExp("_","g");
	var xContenu;
	var xMouseIn = 0;
	var xTop;
	var xBottom;
	var xLeft;
	var xRight;
	var xPosTopConteneur;
	var xPosLeftConteneur;	
	var xLargeurDispo = PGNJS_NAV_LARGEUR();
	var xHauteurDispo = PGNJS_NAV_HAUTEUR();
	var xLargeurObjet;
	var xHauteurObjet;
	
	
	
	
	if (isString(pObjDivOuNomDiv)){
		xNomDiv = pObjDivOuNomDiv;
		
		xContenu = document.getElementById("dww"+xNomDiv.replace(xExp,""));		
		if (!xContenu) {xContenu = document.getElementById(xNomDiv);}
		if (!xContenu) {alert("Cellule introuvable");}
	}else{
	
	}
	
	
	
	
	//Rechercher le conteneur
	xConteneur = document.getElementsByTagName("FORM")[0];
	if (!xConteneur) { xConteneur = getElementsByTagName("DIV")[0];}
	if (!xConteneur) { xConteneur = document.body;}
	
	xPosTopConteneur = PGNJS_GET_POSITION(xConteneur)[0];
	xPosLeftConteneur = PGNJS_GET_POSITION(xConteneur)[1];
	
	
	xContenu = document.getElementById("dww"+pNomDiv.replace(xExp,""));
	if (!xContenu) {xContenu = document.getElementById(pNomDiv).parentNode;}
	if (!xContenu) {alert("Cellule introuvable");}
	// retirer les éventuelles bordures (car si on ne met pas de bordure, Webdev ne genere pas le nom du calque )
	xContenu.style.border = "0px #FFFFFF solid";
	if (document.getElementById(pNomDiv)) {document.getElementById(pNomDiv).style.border = "0px #FFFFFF solid"; }
	
	xDiv = document.getElementById("CEL_MENU_"+pNomDiv)
	
	if (!xDiv)
	{
		//Récupération de la cellule contenant les objets
		xContenu.style.position = "absolute";
		xContenu.style.zIndex = 2000;
//		xLargeurObjet = parseInt(xContenu.style.width);
//		xHauteurObjet = parseInt(xContenu.style.height);
		xContenu.Hauteur = $(xContenu).outerHeight() ;		
		xContenu.Largeur = $(xContenu).outerWidth() ;	
		$(xContenu).children().each(function(i){
			var xHauteur =  $(this).outerHeight();	if(xContenu.Hauteur < xHauteur) {xContenu.Hauteur = xHauteur;}	
			var xLargeur =  $(this).outerWidth();	if(xContenu.Largeur < xLargeur) {xContenu.Largeur = xLargeur;}	
		});
		xHauteurObjet = xContenu.Hauteur ;
		xLargeurObjet = xContenu.Largeur ;
		xContenu.style.width = xLargeurObjet+"px";
		xContenu.style.height = xHauteurObjet+"px"
		
		if ( (!pX ) || (pX==0)) {
			xContenu.style.top = ( xHauteurDispo - (xHauteurObjet+24) ) / 2 - xPosTopConteneur ;
			xContenu.style.left = pSansLesBords?( xLargeurDispo - (xLargeurObjet) ) / 2 - xPosLeftConteneur : ( xLargeurDispo - (xLargeurObjet+24) ) / 2 - xPosLeftConteneur ;	
		}else{
			xContenu.style.top = pY + 12;		
			xContenu.style.left = pSansLesBords?pX:pX + 12;
		}
				
		if (!pSansLesBords) {
			xContenu.style.backgroundColor = "#ebfbff";
			xContenu.style.filter = "alpha(opacity=90)";
			xContenu.style.opacity = 0.90;
		}
		xContenu.style.visibility = "visible";
		
		
		xDiv = document.createElement("DIV");
		xDiv.id = "CEL_MENU_"+pNomDiv;	
		xDiv.name = "CEL_MENU_"+pNomDiv;
		xDiv.style.position = "absolute";
		xDiv.style.top  = parseInt(xContenu.style.top)-12;
		xDiv.style.left =  pSansLesBords?parseInt(xContenu.style.left):parseInt(xContenu.style.left)-12;
		xDiv.style.width = pSansLesBords?xLargeurObjet:xLargeurObjet + 24;
		xDiv.style.height = xHauteurObjet + 24;
		xDiv.style.zIndex = (xContenu.style.zIndex - 5);
//		xDiv.innerHTML
		
		
		//Création du Cadre du MENU
		PGNJS_MISE_EN_PAGE_MENU_PERSO(xDiv,xLargeurObjet,xHauteurObjet,pSansLesBords)
		
		//Affichage du calque pour le cadre du MENU
		xConteneur.appendChild(xDiv);

	}else{ // si le calque existe deja : on le cache (fermeture du menu)
		
		//Masquer le contenu
		xContenu.style.visibility = "hidden";
		
		//Détruire le cadre du Menu
		xConteneur = xDiv.parentNode;
		xConteneur.removeChild(xDiv);
		
		//Annuler le survol sur la page
		document.onmousemove = "";
	}
	
	//Préparation des coordonnées de la zone du Menu
	xTop = parseInt(xDiv.style.top);
	xBottom = parseInt(xDiv.style.top) + parseInt(xDiv.style.height);
	xLeft = parseInt(xDiv.style.left);
	xRight = parseInt(xDiv.style.left) + parseInt(xDiv.style.width);
	
	
	if (!pFermetureManuelle){
	
		xContenu.onmouseover = function() {xMouseIn = 1}
		
		document.onmousemove = function(event) {
			
			if(!event) {event = window.event;}
			
			if (xMouseIn==1) {
			
				if (event.clientY < xTop || event.clientY > xBottom || event.clientX < xLeft || event.clientX > xRight){
					
					//Masquer le contenu
					xContenu.style.visibility = "hidden";
					
					//Détruire le cadre du Menu
					xConteneur.removeChild(xDiv);
					
					//Annuler le survol sur la page
					document.onmousemove = "";
					
				}
			
			}
			
		}
	}
}

