/**
* Fonctions définies dans la bibliothèque effets.js
* - highligth: changement couleur balise
* - setRowColor: changement couleur ligne tableau
* - AfficherMasquer: affichager ou masquer une zone div
*/


/**
* Détermine comment s'adresser à un calque en fonction du navigateur
*/

if (!document.getElementById) 
{
    // IE4x
    layerRef    = "document.all";
    openTag     = "[";
    endTag      = "]";
    styleSwitch = ".style";
}
else 
{
    // NN6+ IE5+ OP5+
    layerRef    = "document.getElementById";
    openTag     = "(";
    endTag      = ")";
    styleSwitch = ".style";
}

/**
  * Change la couleur d'une balise TD
  * @params champ => identifiant de l'objet
  *         color => couleur de remplacement en hexa
  */

function highligth(objet, color) 
{
    eval(layerRef + openTag + "objet.id" + endTag + styleSwitch +".backgroundColor = '" + color + "';");
}


/**
* Gère la couleur d'une ligne d'un tableau
* @params  row   => l'objet ligne (<tr></tr>)
*          event => évènement javascript :
*                      "over" pour "onMouseOver"
*                      "click" pour "onClik"
*                      "out" pour "onMouseOut"
*          color => couleur à affecter à la ligne
* @exemple <tr bgcolor="#FEFEFE" id="row_1" onClick="setRowColor(this, '#FFCF9C', 'click')" onMouseOver="setRowColor(this, '#CEFFCE', 'over')" onMouseOut="setRowColor(this, '', 'out')">
*/

var wichRow = new Array();

function setRowColor(row, color, event) 
{

    // Colorisation de la ligne sur l'évènement "onClick"
    if (event == 'click' && color) 
    {

        // La ligne n'était pas encore cliquée
        if (!wichRow[row.id]) 
        {
            wichRow[row.id] = 1;
            highligth(row, color);
        }
        // La ligne était déjà cliquée
        else  
        {
            wichRow[row.id] = false;
            highligth(row, '');
        }
    }

    // Colorisation de la ligne sur l'évènement "onMouseOver"
    else if (event == 'over' && (!wichRow[row.id]) && color) 
    {
        highligth(row, color);
    }

    // Colorisation de la ligne sur l'évènement "onMouseOut"
    else if (event == 'out' && (!wichRow[row.id])) 
    {
        highligth(row, color);
    }
}


/**
* Affichage et Masquage d'un objet
* @params  obj: nom de la balise div
* @exemple 	<a href="javascript:AfficherMasquer('zone');">lien</a>
* 			zone est le nom de la balise div déliemitant la zone à afficher/masquer
* 			<td><div id="zone" style="display:none;">......</div></td>
*/

function AfficherMasquer(obj) 
{
	var el = document.getElementById(obj);
	if(el.style.display != "block")
	{
		el.style.display = "block";
	}
	else
	{
		el.style.display = "none";
	}
}



/*
* <a href="javascript:visibilite('Div1','Afficher la zone 1','Masquer la zone 1');" id="Div1Link">Afficher la zone 1</a>
* <div id="Div1" style="display:none;">contenu</div>
*/
function visibilite(thingId,txtAff,txtMasque)
{
	var targetElement; 
	var targetElementLink;
	targetElement = document.getElementById(thingId) ;
	targetElementLink = document.getElementById(thingId+'Link');
	if (targetElement.style.display == "none")
	{
		targetElement.style.display = "" ;
		targetElementLink.innerHTML = txtMasque ;
	} 
	else 
	{
		targetElement.style.display = "none" ;
		targetElementLink.innerHTML = txtAff ;
	}
}


/**
* Affichage et Masquage d'un panneau
* @params  obj: nom de la balise div
* Eléments nécessaires
* - les éléments de style panel dans styleKitFast.css
* - le javascript AfficherPanel dans effets.js
* - appel du javascript: AfficherPanel(IdDiv)
* - l'id de l'image doit s'appeler img<IdDiv>
* - le div d'affichage doit aussi s'appeler IdDiv
*/
function AfficherPanel(obj) 
{
	var el = document.getElementById(obj);
	if(el.style.display != "block")
	{
		el.style.display = "block";
		document.getElementById("img"+obj).src="../images/collapseModule.gif";
		document.getElementById("img"+obj).alt="réduire le pavé";
	}
	else
	{
		el.style.display = "none";
		document.getElementById("img"+obj).src="../images/expendModule.gif";
		document.getElementById("img"+obj).alt="déplier le pavé";
	}
}


/**
/* Afficher un message msg dans un div ayant pour id idDiv
*/
function AfficherMessage(idDiv, msg) 
{
    var el = document.getElementById(idDiv);
    el.innerHTML = msg;
}


/**
/* Changer les classes dans une boite à onglets
/* Paramètres
/* - eltId: Id de la balise <a> correspond au numéro de menu: va de menu0 à menun
/* - intNbLinkElt: nombre d'onglets à afficher: va de 0 à n
/*
*/
function changeClasse(eltId, intNbLinkElt) 
{
	arrClassLink = new Array('current','ghost');
	strContent = "boite";
	for (i=0; i<intNbLinkElt; i++) 
	{
	    var itemId = "item"+i;
		if ( eltId == itemId ) 
		{
			document.getElementById(itemId).className = arrClassLink[0];
			//document.getElementById(strContent).className = 'on content';
		} 
		else 
		{
			document.getElementById(itemId).className = arrClassLink[1];
			//document.getElementById(strContent).className = 'off content';
		}
	}	
}