// Procédures globales du projet
function PGNJS_AFFICHE_ONGLET(pOngletEnCours)
{
	var xOnglet;
	var xNomCellule;
	var xStyle;	
	var xTableauLiens = document.getElementsByTagName("A");
	
	
	// Parcours de tous les liens de la page
	for(var i = 0; i < xTableauLiens.length; i++) {
		
		// Si le lien correspond à  un onglet 
		if ( xTableauLiens[i].name.substring(0,6) == "LK_ON_" ) {
			
			// On recupere le nom de l'onglet
			xOnglet = xTableauLiens[i].name.substr(7-1);
		
			// Si le lien correspond à l'onglet en cours
			if ( xOnglet == pOngletEnCours ) {			
				// on change le style du lien 
				xStyle = xTableauLiens[i].className

				xTableauLiens[i].className = xStyle.replace(/-OFF/,"-ON");
				// Et on affiche le calque correspondant
				_JGSIN("CEL_"+xOnglet,document,true).visibility=_JPVC(true);				
			}

			// Si ce n'est pas l'onglet en cours 
			else {
				// on change le style du lien 
				xStyle = xTableauLiens[i].className
				xTableauLiens[i].className = xStyle.replace(/-ON/,"-OFF");				
				// Et on cache le calque correspondant
				_JGSIN("CEL_"+xOnglet,document,true).visibility=_JPVC(false);
			}
		}
	}
}
function PGNJS_NAV_HAUTEUR(pHauteurDocument)
{
	
	//var xHauteur;
	
	//return document.body.offsetHeight - (document.body.offsetHeight - document.body.scrollHeight);
	//return 580;
	//return window.innerHeight;
	//return document.body.clientHeight;
	
	
	if( typeof( window.innerHeight ) == 'number' ) {
		//xHauteur = window.innerHeight;
		return window.innerHeight;
	}
	else if( document.documentElement && document.documentElement.clientHeight ) {
	//if( document.documentElement && document.documentElement.clientHeight ) {	
		//xHauteur = Math.max(isNaN(xHauteur)?0:xHauteur,document.documentElement.clientHeight)
		return document.documentElement.clientHeight;
	}
	else if( document.body && document.body.clientHeight ) {
	//if( document.body && document.body.clientHeight ) {
		//alert("clientHeight : "+document.body.clientHeight);
		//xHauteur = Math.max(isNaN(xHauteur)?0:xHauteur, document.body.clientHeight) ;
		return document.body.clientHeight;
	}

			
	
	
	return xHauteur;
	
}

function PGNJS_REDUIT_PAGE()
{ 	// Cette fonction javascript permet de redimensionner le tableau html qui est généré automatiquement par WEBDEV pour centrer la page
	//   afin de ne pas avoir l'ascenseur car WEBDEV le créer avec sa hauteur initiale
	//   A appeler OnLoad, sur une page qui a la case 'Centrer la page dans le navigateur' cochée

	// On recupere le premier tableau de la page
	var TableauPrincipal = document.getElementsByTagName("TABLE")[0];

	// Et on lui réassigne les bonnes dimensions
	TableauPrincipal.height = 570;
	TableauPrincipal.width = 1000;
	
	
	// enleve manuellement l'ascenseur (avec IE)
	//eval("document.body").scroll="no";

	// L'appel à cette fonction permet de ne pas perdre la page dans Firefox ,
	// car il arrive que la page puisse defiler et comme il n'y a plus d'ascenseur, => on perd la page
	// Cette fonction remonte la page en haut toutes les 500 milisecondes
	PGNJS_TIMER_FIXER_PAGE();
 
}





function PGNJS_NAV_LARGEUR()
{
	
	//return document.body.offsetWidth - (document.body.offsetWidth - document.body.scrollWidth);

	if( typeof( window.innerWidth ) == 'number' ) {
		return window.innerWidth;
	}
	else if( document.documentElement && document.documentElement.clientWidth ) {
		return document.documentElement.clientWidth;
	}
	else if( document.body && document.body.clientWidth ) {
		return document.body.clientWidth;
	}	
	
}

function PGNJS_REDUIT_PAGE_OLD()
{ 	// Cette fonction javascript permet de redimensionner le tableau html qui est généré automatiquement par WEBDEV pour centrer la page
	//   afin de ne pas avoir l'ascenseur car WEBDEV le créer avec sa hauteur initiale
	//   A appeler OnLoad, sur une page qui a la case 'Centrer la page dans le navigateur' cochée


	// On recupere le premier tableau de la page
	var TableauPrincipal = document.getElementsByTagName("TABLE")[0];

	// Création d'un nouveau tableau	
	var NouveauTableau = document.createElement("TABLE");
	NouveauTableau.align = "center";
	NouveauTableau.width=1000
	
	// Déclaration des Variables de parcours du tableau
	var LignePrincipal;	var TR;	var TD;

	// Recopie du tableau dans l'autre tableau
	for(var i = 0; i < TableauPrincipal.rows.length; i++) { // parcours des lignes
	
		LignePrincipal = TableauPrincipal.rows[i];
		TR = NouveauTableau.insertRow(-1);
	
		for(var j = 0; j < LignePrincipal.cells.length; j++) { // parcours des cellules
			TD = TR.insertCell(-1);			
			TD.innerHTML = LignePrincipal.cells[j].innerHTML;
		}
	}
	
	
	// On remplace l'ancien tableau par le nouveau
	var ElementParent = TableauPrincipal.parentNode;
	//ElementParent.replaceChild(NouveauTableau, TableauPrincipal);
	
	ElementParent.removeChild(TableauPrincipal)
	ElementParent.appendChild(NouveauTableau)

}

function PGNJS_FIXER_PAGE()
{
	window.scroll(0,0);
}

function PGNJS_TIMER_FIXER_PAGE()
{	
	PGNJS_FIXER_PAGE();
	setInterval("PGNJS_FIXER_PAGE()", 500);
}

function PGNJS_GET_POSITION(pObj)
{	// Renvoie la position d'un champ (objet HTML) dans un tableau Javascript
	var xPosTop = 0;
	var xPosLeft = 0;	
	
	if (pObj.offsetParent)
	{
		xPosTop = pObj.offsetTop;
		xPosLeft = pObj.offsetLeft;
		while (pObj = pObj.offsetParent)
		{
			xPosTop += pObj.offsetTop
			xPosLeft += pObj.offsetLeft
		}
	}
	return [xPosTop,xPosLeft];
}

function PGNJS_GET_LARGEUR_HAUTEUR(pObj)
{ // Renvoie la largeur et la hauteur d'un champ (objet HTML) dans un tableau Javascript
	var xObj = pObj;

	var xLargeur = xObj.width;
	var xHauteur = xObj.height;
	
	while (!xLargeur && !xHauteur && xObj.tagName != "BODY")
	{
		xObj = xObj.offsetParent;
				
		xLargeur = xObj.width ;
		xHauteur = xObj.height ;
	}
	return [xLargeur,xHauteur];
}

function PGNJS_AJOUT_STYLE(pSelecteurCSS,pRegleDeStyle)
{	// par exemple : 
	// pSelecteurCSS = ".idClasseCSS" 
	// pRegleDeStyle = "color:#777777;" 

	if (!document.styleSheets) return;
	
	if (document.styleSheets[0].cssRules) { // FireFox	
		document.styleSheets[0].insertRule(pSelecteurCSS + "{ "+ pRegleDeStyle + "}", document.styleSheets[0].cssRules.length);		
	}else if (document.styleSheets[0].rules) { // IE
		document.styleSheets[0].addRule(pSelecteurCSS , pRegleDeStyle)
	}
	else return

}

function PGNJS_DOC_HAUTEUR()
{
	var xHauteur = 0 ;
	
	if( document.body && document.body.offsetHeight ) {
		//alert("offsetHeight : "+document.body.offsetHeight);
		xHauteur = Math.max(isNaN(xHauteur)?0:xHauteur, document.body.offsetHeight) ;
	}
	if( document.body && document.body.scrollHeight ) {
		//alert("scrollHeight : "+document.body.scrollHeight);
		xHauteur = Math.max(isNaN(xHauteur)?0:xHauteur, document.body.scrollHeight) ;
	}
	
	return xHauteur;
}


