// JavaScript Document
// Librairie Fondu 05 mai 2005 © JMTheriault.com
// <script language="JavaScript1.2" src="../js/fondu.js">


var m_milli = 20; //50 milli sec.
var m_step = 10;
var m_inc = 10;
var m_objDiv;
var m_pos = 0;

function SetMilliseconde( m ) { m_milli = m; } //délai en milliseconde entre les étapes du fade
function SetStep( s ) { m_step = s } //étape entre le dégradé 1

//DETECTEUR DE BROWSER
function isNetscape(v) { return isBrowser("Netscape", v); }
function isMicrosoft(v) { return isBrowser("Microsoft", v);  }

function isBrowser(b,v) 
{
  browserOk = false;   versionOk = false;
  browserOk = (navigator.appName.indexOf(b) != -1);
  if (v == 0) versionOk = true;
  else  versionOk = (v <= parseInt(navigator.appVersion));
  return browserOk && versionOk;
  }

//Transparence selon le naviguateur
//obj= objet div, valeur = 0 à 100%
function SetOpacity( obj, valeur )
{
  if (isMicrosoft(0))
    obj.filters.alpha.opacity=valeur; else obj.style.MozOpacity=valeur/100;
}

function AfficherLentement( objdiv )
{ if (m_pos>0) return;
  m_objDiv = document.getElementById(objdiv);
  m_pos = 0;
  m_inc = m_step;
  SetOpacity( m_objDiv, 0);
  m_objDiv.style.visibility = "visible";
  UpdateDiv();
}

function MasquerLentement( objdiv )
{ if (m_pos<100) return;
  m_objDiv = document.getElementById(objdiv);
  m_pos = 100;
  m_inc = -m_step;
  SetOpacity( m_objDiv, 100);
  m_objDiv.style.visibility = "visible";
  UpdateDiv();
}

function UpdateDiv()
{
	m_pos = m_pos + m_inc;
	
	if (m_pos<0)   m_pos = 0;
	if (m_pos>100) m_pos = 100;
	
    SetOpacity( m_objDiv, m_pos);

	if (m_pos==0) { m_objDiv.style.visibility="hidden"; return;}
	if (m_pos==100) return;
	setTimeout("UpdateDiv()", m_milli);
}

function AfficherImageCentre( objdiv, objimg, fichier )
{
    var photo = new Image();
	photo.src = fichier;
    var imgx = photo.width;
    var imgy = photo.height;
	
	var div1 = document.getElementById(objdiv);
	var img1 = document.getElementById(objimg);
	m_objDiv = div1;

	//Cacher l'objet
    SetOpacity( div1, 0);
	
	//Centrer l'objet:
	div1.style.width= imgx+"px";
	div1.style.height = imgy+"px";

	div1.style.marginTop = "-" + (-90 + Math.floor(imgx/2)) + "px";
	div1.style.marginLeft = "-" + (170 + Math.floor(imgy/2)) + "px";

	div1.style.visibility = "visible";
	img1.src = fichier;
	
    m_pos = 0;
	m_inc = m_step;
	UpdateDiv();
}

function CacherImage( objdiv )
{
  m_pos = 100;
  m_inc = - m_step;
  UpdateDiv();
}

// JavaScript Document
// Librairie FadeIn FadeOut 05 mai 2005 © JMTheriault.com
// 1. Initialiser la couleur de l'arrière plan : SetRGBArrierePlan(r,g,b)
// 2. Initialiser la couleur du texte : SetRGBTexte(r,g,b)
// 3. Pour rendre un objet texte transparent: FadeInObjet( obj )
// 4. Pour rendre un objet texte solid : FadeOutObjet( obj )


var m_colorBkgnd_r = 255; var m_colorBkgnd_g = 255; var m_colorBkgnd_b = 255;
var m_colorTexte_r = 0; var m_colorTexte_g = 0; var m_colorTexte_b = 0;
var m_milli = 20; //50 milli sec.
var m_objID = "";
var m_transparence = 0;
var m_step = 10;
var m_inc = 10;
var m_timer = 0;

hexa = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");

function GetObjet(objID)
{
 return document.getElementById(objID);
}

function numhex(i) 
{
    if (i < 0)
        return "00";
    else 
    if (i > 255)
        return "ff";
    else
       return "" + hexa[Math.floor(i/16)] + hexa[i%16];
}

//r=0-255, g=0-255, b=0-255 return #00AABB
function RGB2hex(r,g,b)
{
   var hr = numhex(r); var hg = numhex(g); var hb = numhex(b);
   return "#"+hr+hg+hb;
}

function SetRGBColor(r, g, b, objID) 
{  var a = GetObjet(objID);
   a.style.color = RGB2hex(r,g,b);
}

//r,g,b
function SetRGBArrierePlan( r,g,b ) { m_colorBkgnd_r = r; m_colorBkgnd_g = g; m_colorBkgnd_b = b; }
function SetRGBTexte( r,g,b ) { m_colorTexte_r = r; m_colorTexte_g = g; m_colorTexte_b = b; }
function SetMilliseconde( m ) { m_milli = m; } //délai en milliseconde entre les étapes du fade
function SetStep( s ) { m_step = s } //étape entre le dégradé 1

//Fade couleur de l'obj de texte à arrière plan
function ObjetSolide2Transparent( objID )
{  
   m_transparence = 1;
   m_inc = m_step;
   m_objID = objID;
   SetCouleurTransparence( objID, m_transparence );
   m_timer = setTimeout( "Fade()" , m_milli );
}

//Fade couleur de l'obj d'arrière plan à texte
function ObjetTransparent2Solide( objID )
{
   m_transparence = 99;
   m_inc = -m_step;
   m_objID = objID;
   SetCouleurTransparence( objID, m_transparence );
   m_timer = setTimeout("Fade()", m_milli );
}

function Fade()
{
  m_transparence = m_transparence + m_inc;
 
  if (m_transparence <0)
    m_transparence = 0;

  if (m_transparence>100)
     m_transparence = 100;
	 
  if ( (m_transparence>0) && (m_transparence<100))
    setTimeout("Fade()", m_milli );

  SetCouleurTransparence( m_objID, m_transparence);
}

//100 = transparent : 0=Solide
function SetCouleurTransparence( objID, pourcent)
{
	if (pourcent<0)   pourcent = 0;
	if (pourcent>100) pourcent = 100;
	
	pourcent = 100 - pourcent;
	cpo = pourcent/100;

    var r =  Math.floor( m_colorBkgnd_r + (( m_colorTexte_r-m_colorBkgnd_r ) * cpo));
    var g =  Math.floor( m_colorBkgnd_g + (( m_colorTexte_g-m_colorBkgnd_g ) * cpo));
    var b =  Math.floor( m_colorBkgnd_b + (( m_colorTexte_b-m_colorBkgnd_b ) * cpo));
    SetRGBColor(r,g,b, objID);
}



