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);
}
