﻿//NECESSITE divers.js

//Cette fonction permet d'afficher le calque [ID]
function show(id){
	if(ns4)
	{
		document.layers[id].visibility = "show";
	}
	else
	{
		getIt(id).style.visibility = "visible";
      	getIt(id).style.display = "block";
	}
}

//Cette fonction permet de cacher le calque [ID]
function hide(id){
	if(ns4){document.layers[id].visibility = "hide";}
	else
	{
		getIt(id).style.visibility = "hidden";
    	getIt(id).style.display = "none";
	}
}

function bascule_visibilite(id){
	if(ns4)
	{
		if(document.layers[id].visibility == "hide")
			{show(id);}
		else
			{hide(id);}
	}
	else
	{
	 	if (getIt(id).style.visibility == "hidden")
			{show(id);}
		else
			{hide(id);}
	}
}

function modifier_alpha(element,alpha){
	//Au cas où je récupère uniquement le nom de l'élément, au lien de l'objet lui-même
	if(!isObject(element)) {element=getIt(element);}

	var style = element.style;

	if( style.MozOpacity != undefined )
	{//Moz and older
		style.MozOpacity = alpha;
	}
	else if( style.filter != undefined )
	{//IE
		style.filter = "alpha(opacity=0)";
		element.filters.alpha.opacity = ( alpha * 100 );
	}
	else if( style.opacity != undefined )
	{//Opera
		style.opacity = alpha;
	}
}

function ajouter_cadre(element,strBordure){
//Pour mettre un cadre noire simple: srtBordure="solid 1px #000000"
//Pour enlver un cadre: strBordure="none";
	//Au cas où je récupère uniquement le nom de l'élément, au lien de l'objet lui-même
	if(!isObject(element)) {element=getIt(element);}
	var style = element.style;
	
	style.border=strBordure;
}

//Accèpte en entrée aussi bien l'objet TR lui même, que son id.
function setBackgroundColor(theRow, thePointerColor)
{
	if (isString(theRow)) {theRow=getIt(theRow);}
    if (typeof(theRow.style) == 'undefined' || typeof(theRow.cells) == 'undefined')
    {
        return false;
    }
    var row_cells_cnt           = theRow.cells.length;
    for (var c = 0; c < row_cells_cnt; c++)
    {
        theRow.cells[c].bgColor = thePointerColor;
    }
    return true;
}

function ajouterCSSClass(element, classe) {
	//Au cas où je récupère uniquement le nom de l'élément, au lien de l'objet lui-même
	if(!isObject(element)) {element=getIt(element);}

	if (element.className)
	{
		element.className += " ";
	}
	element.className += classe;
}

function enleverCSSClass(element, classe){
	if (element.className)
	{
		var reg=new RegExp("(" + classe + ")", "g");
		element.className=element.className.replace(reg,"")
	}
}


/*
Script pour l'affichage d'une infobulle
inclure n'importe où dans la page:
	<div id="infobulle" class="infobulle"></div>
Pour appeler l'infobulle:
	<a onmouseover="infobulle_montre('texte','auto');" onmouseout="infobulle_cache();">	
	
	dimension de l'infobulle: 'auto' ou nombre de pixels.
*/
var infobulle_visible=false; // La variable i nous dit si la bulle est visible ou non
 
function infobulle_move(e) {
	if(infobulle_visible)
	{  // Si la bulle est visible, on calcul en temps reel sa position ideale
		if (navigator.appName!="Microsoft Internet Explorer")
		{ // Si on est pas sous IE
			getIt("infobulle").style.left=e.pageX + 5+"px";
			getIt("infobulle").style.top=e.pageY + 10+"px";
		}
		else
		{
			// Modif proposé par TeDeum, merci à  lui
			if(document.documentElement.clientWidth>0)
			{
				getIt("infobulle").style.left=20+event.x+document.documentElement.scrollLeft+"px";
				getIt("infobulle").style.top=10+event.y+document.documentElement.scrollTop+"px";
			}
			else
			{
				getIt("infobulle").style.left=20+event.x+document.body.scrollLeft+"px";
				getIt("infobulle").style.top=10+event.y+document.body.scrollTop+"px";
			}
		}
	}
}
 
function infobulle_montre(text,intWidth) {
	if(infobulle_visible==false)
	{
		getIt("infobulle").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
		if(intWidth!='auto') {intWidth=intWidth + "px";}
		getIt("infobulle").style.width=intWidth
		getIt("infobulle").innerHTML = text; // on copie notre texte dans l'élément html
		infobulle_visible=true;
	}
}

function infobulle_cache() {
	if(infobulle_visible==true)
	{
		getIt("infobulle").style.visibility="hidden"; // Si la bulle est visible on la cache
		infobulle_visible=false;
	}
}
// Pour activer les infosbulles:
//document.onmousemove=infobulle_move; / dès que la souris bouge, on appelle la fonction move pour mettre à jour la position de la bulle.
