var DOM = (document.getElementById ? true : false);
var IE  = (document.all && !DOM ? true : false);
var NS4 = (document.layers ? true : false);
var NAV_OK   = ( DOM || IE || NS4);
var NETSCAPE = (navigator.appName == "Netscape");
var Mouse_X;        // Position X en Cours de la Mouse
var Mouse_Y;        // Position Y en Cours de la Mouse
var TopIndex = 1;   // Z-Index interne
var Decal_X  = 10;   // Décalage X entre Pointeur Mouse et Bulle
var Decal_Y  = 10;   // Décalage Y entre Pointeur Mouse et Bulle
var bBulle= false;  // Flag Affichage de la Bulle
//-------------
function Void(){}
//---------------------
function GetObjet(div_){
  if( DOM) return document.getElementById(div_);
  if( IE)  return document.all[div_];
  if( NS4) return document.layers[div_];
}
//---------------------
function GetStyle(div_){
  return (NS4 ? GetObjet(div_) : GetObjet(div_).style);
}
//---------------------
function ObjHide( div_){
  var Obj = null;
  if( div_){
    Obj = GetStyle( div_);
    if( Obj){
      Obj.visibility= "hidden";
    }
  }
  return(true);
}
//-------------------------
function ObjShow( div_, z_){
  var Obj = null;
  if( div_){
    Obj = GetStyle( div_);
    if( Obj){
      Obj.visibility = "visible";
      if( arguments[1] != null)
        Obj.zIndex = z_;
      else
        Obj.zIndex = TopIndex++;
    }
  }
  return(true);
}
//-----------------------------
function ObjWrite( div_, html_){
  var Obj;
  Obj = GetObjet( div_);
  if( Obj) with( Obj){
    if( !NS4){
      innerHTML = html_;
    }
    else{
      document.open();
      document.write( html_);
      document.close();
    }
  }
}
//-----------------------------
function ObjMove( div_, x_, y_){
  var Obj = null;
  var Arg = arguments;
  if( div_){
    Obj = GetStyle( div_);
    if( Obj){
      if( NETSCAPE){
        if( Arg[1] != null) Obj.left = parseInt( Obj.left) +x_;
        if( Arg[2] != null) Obj.top  = parseInt( Obj.top)  +y_;
      }
      else{
        if( Arg[1] != null) Obj.pixelLeft = parseInt( Obj.pixelLeft) +x_;
        if( Arg[2] != null) Obj.pixelTop  = parseInt( Obj.pixelTop)  +y_;
      }
    }
  }
}
//-------------------------------
function ObjMoveTo( div_, x_, y_){
  var Obj = null;
  var Arg = arguments;
  if( div_){
    Obj = GetStyle( div_);
    if( Obj){
      if( NETSCAPE){
        if( Arg[1] != null) Obj.left = x_;
        if( Arg[2] != null) Obj.top  = y_;
      }
      else{
        if( Arg[1] != null) Obj.pixelLeft = x_;
        if( Arg[2] != null) Obj.pixelTop  = y_;
      }
    }
  }
}
//------------------------------------
function ObjShowAll( div_, x_, y_, z_){
  var Obj = GetObjet( div_);
  var MaxX;
  var MaxY;
  var Top;
  var Left;
  var Haut;
  var Larg;
  var SavY = y_;

  if( Obj){
    //-- Récup. dimension fenêtre et DIV
    if( NETSCAPE){
      with( window){
        Left = pageXOffset;
        Top  = pageYOffset;
        MaxX = innerWidth;
        MaxY = innerHeight;
        if( MaxX > document.width)  MaxX = document.width;
        if( MaxY > document.height) MaxY = document.height;
        MaxX += Left;
        MaxY += Top;
      }
      if( NS4){
        Larg = Obj.clip.width;
        Haut = Obj.clip.height;
      }
      else{
        Larg = Obj.offsetWidth;
        Haut = Obj.offsetHeight;
      }
    }
    else{
      with( document.body){
        Left = scrollLeft;
        Top  = scrollTop;
        MaxX = Left +clientWidth;
        MaxY = Top  +clientHeight;
      }
      Larg = Obj.scrollWidth;
      Haut = Obj.scrollHeight;
    }
    //-- Réajuste dimension fenêtre
    MaxX -= Larg;
    MaxY -= Haut;

    //-- Application Bornage
    if( x_ > MaxX) x_ = MaxX;
    if( x_ < Left) x_ = Left;
    if( y_ > MaxY) y_ = MaxY;
    if( y_ < Top)  y_ = Top;

    //-- si en bas On réajuste
    //-- pour que la bulle ne prenne pas le focus
    if( y_== MaxY){
      var DeltaY = MaxY -SavY;
      y_ = MaxY - DeltaY -Haut -2*Decal_Y;
    }

    //-- On place la Bulle
    ObjMoveTo( div_, x_, y_);
    ObjShow( div_, z_);
  }
}
//------------------------
function BulleWrite(ref,cat){
 var Obj;
 var Html;
 Obj = GetObjet( 'Bulle');
 if( Obj){
    Html  = "<img src=\""+ref+"\"/>";

  ObjWrite  ('Bulle', Html);
  ObjShowAll('Bulle', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000);
  bBulle= true;
  return( true);
 }
 return(false);
}
//------------------
function BulleHide(){
  ObjWrite ('Bulle', "&nbsp;");
  ObjHide  ('Bulle');
  ObjMoveTo('Bulle', 0, 0);
  bBulle= false;
  return(true);
}
//--------------------
function WhereMouse(e){
  if( NETSCAPE){
    Mouse_X = e.pageX;
    Mouse_Y = e.pageY;
  }
  else{
    Mouse_X = event.clientX +document.body.scrollLeft;
    Mouse_Y = event.clientY +document.body.scrollTop;
  }
  //-- La bulle est affichée on la MOVE
  if( bBulle)
    ObjShowAll('Bulle', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000);
}
//== INITIALISATION ==================================
//-- Capture Souris events ---------------------------
if( NETSCAPE)
  window.captureEvents( Event.MOUSEMOVE);
document.onmousemove = WhereMouse;

//-- Création STYLE Bulle et DIV----------------------
// Nota : pour NS4 le DIV doit faire parti du document
var Html;
  //-- On met du style pour la bulle
  Html  = '<STYLE TYPE="text/css">';
  Html += '.Bulle{color:#000000;font-size:13px;font-family:Verdana;}';
  Html += '</STYLE>';
  document.write( Html);

  //-- Création du DIV Bulle
  if( !NS4){
    Html ='<div id="Bulle" style="position:absolute; left:auto; top:auto; width:auto; height:auto; z-index:0; visibility:hidden"></div>';
    document.write( Html);
  }
//-- EOF --

//HORLOGE DYNAMIQUE
function getDt(){
dt=new Date();
hrs=dt.getHours();
min=dt.getMinutes();
sec=dt.getSeconds();
tm=" "+((hrs<10)?"0":"") +hrs+":";
tm+=((min<10)?"0":"")+min+":";
tm+=((sec<10)?"0":"")+sec+" ";
document.horloge.display.value=tm;
setTimeout("getDt()",1000);
}

//MONTRER UN DIV EN CLIQUANT SUR UN HREF
function show_microgate(indice)
{
	if (document.getElementById(indice).style.display=="none") // Si la zone indiqué par indice est est invisible
		document.getElementById(indice).style.display="block"; // On l'affiche
	else                                                       // Sinon (elle est donc visible)
		document.getElementById(indice).style.display="none";  //On la crend invisible
}
function hide_microgate(indice)
{
	if (document.getElementById(indice).style.display=="block") // Si la zone indiqué par indice est est invisible
		document.getElementById(indice).style.display="none"; // On l'affiche
	else                                                       // Sinon (elle est donc visible)
		document.getElementById(indice).style.display="none";  //On la crend invisible
}

//POUR L'UPLOAD
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

//POP UP
function popup(page,largeur,hauteur,options) {
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

//ARRONDIS
function round(resultat) {
      resultat = Math.round(resultat*100)/100;
      return resultat;
}

function round_entier(resultat) {
      resultat = Math.round(resultat);
      return resultat;
}

//H REF DIRECT PAR SELECTION DANS UNE LISTE
function AllerA(targ,selObj,restore)
{
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'" );
	if (restore) selObj.selectedIndex=0;
}

//REFRESH PAR UN BOUTON
function actualise()
{
location.reload(true);
}

//BLOC CLICK DROIT
function bloque_clic()
{
return false;
}

//DONNER FOCUS AU CHARGEMENT D'UNE PAGE DE FORMULAIRE
function donner_focus(chp)
{
document.getElementById(chp).focus();
}

//FONCTION MONTRE POUR LES NAV
function montre(id) {
	var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
	if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
	if (d) {d.style.display='block';}
}

//Affichage des descriptions fonction des titres
function show_description(text)
{
	var texte = document.getElementById('text') ;
	texte.innerHTML =text;
}

//Affichage des image de miniature en big
function displayPics(img,text,larg,haut)
{
	//EcranHaut = screen.height;

	var big_photo = document.getElementById('big_pict') ;
	var texte = document.getElementById('text') ;
	big_photo.src =img;
	big_photo.height =haut;
	big_photo.width =larg;
	texte.innerHTML =text;
}

//recalculer des checkbox
function recalculer_box()
{
	var montant_select=0;

	for(i=0;i<document.form_vente.length;i++)
	{
		if(document.form_vente.elements[i].checked==true)
		{
			montant_select += parseFloat(document.form_vente.elements[i].value);
		}
	}

	document.getElementById('montant_select').value = round(montant_select);
}

//Nombre de caractères maximum pour un textarea
function maxi_textarea(taille, chps)
{
	var length = document.getElementById(chps).value.length;
	if ( length <= taille)
	{
		return true;
	}
	else
	{
		var diff=length-taille;
		alert("Attention ! Votre texte est trop long.\nVous avez "+diff+" caractères en trop");
		return false;
	}
}

//Vérifier une adresse mail
function VerifMail(chps)
{
	a = document.getElementById(chps).value;
	valide1 = false;

	for(var j=1;j<(a.length);j++)
	{
		if(a.charAt(j)=='@')
		{
			if(j<(a.length-4))
			{
				for(var k=j;k<(a.length-2);k++)
				{
					if(a.charAt(k)=='.') valide1=true;
				}
			}
		}
	}
	if(valide1==false)
	{
		alert("Veuillez saisir une adresse email valide.");
		document.getElementById(chps).value='';
		return valide1;
	}
	else
	{
		return valide1;
	}
}
//Vérifier que deux chps sont egaux en valeur
function chps_egaux(chps1,chps2)
{
	chps1 = document.getElementById(chps1).value;
	chps2 = document.getElementById(chps2).value;

	if(chps1 == chps2)
	{
		return true;
	}
	else
	{
		alert("La confirmation ne correspond pas au mot de passe");
		return false;
	}
}

//vérifier une date
function CheckDate(d)
{
	// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
	// Le séparateur est défini dans la variable separateur
	var separateur="/"; // separateur entre jour/mois/annee
	var j=(d.substring(0,2));
	var m=(d.substring(3,5));
	var a=(d.substring(6));
	var ok=1;

	if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) )
	{
		alert("Le jour n'est pas correct.");
		ok=0;
	}

	if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) 
	{
		alert("Le mois n'est pas correct.");
		ok=0;
	}

	if ( ((isNaN(a)) || (a.length!=4)) && (ok==1) ) 
	{
		alert("L'année n'est pas correcte.");
		ok=0;
	}

	if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur))
	&& (ok==1) )
	{
		alert("Les séparateurs doivent être des "+separateur);
		ok=0;
	}

	if (ok==0)
	{
		alert("Veuillez inscrire une date au format jj/mm/aaaa");
		return false;
	}
}

// ** FONCTIONS GENERALES DE VERIFICATION **//
function surligne(champ, erreur)
{
   if(erreur)
      champ.style.backgroundColor = "#fba";
   else
      champ.style.backgroundColor = "";
}

function verif_nom(champ)
{
   if(champ.value.length =='')
   {
      surligne(champ, true);
      return false;
   }  
   else
   {
      surligne(champ, false);
      return true;
   }

}

function verif_nombre(champ)
{
   var chps = champ.value;
   if(isNaN(chps))
   {
      surligne(champ, true);
	  alert("Ce champs doit etre une valeur numérique");
	  champ.value='';
	  champ.focus();
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}


function verif_nom_alert(champ)
{
   if(champ.value.length =='')
   {
      surligne(champ, true);
	  alert("Ce champs doit être remplis");
      return false;
   }  
   else
   {
      surligne(champ, false);
      return true;
   }

}

function favoris(lien) {
if ( navigator.appName != 'Microsoft Internet Explorer' )
{ window.sidebar.addPanel("Diaporama",lien,""); }
else { window.external.AddFavorite(lien,"Diaporama"); } }

function caracteres_interdit()
{
	event.returnValue=((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=96 && event.keyCode<=105)|| event.keyCode==8 || event.keyCode==9 || event.keyCode==13 || event.keyCode==17 || event.keyCode==32 || event.keyCode==13|| (event.keyCode>=35 && event.keyCode<=46))?true:false;
	//alert(event.keyCode);
}

//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
