/* Script "z'experts" : http://perso.wanadoo.fr/coin.des.experts/
   delivre sans aucune garantie, ni des auteurs, ni du gouvernement. 
   Diffusion libre, mais merci de conserver cette signature :-) */
 
 /* La fonction bulle() qui ouvre la bulle d'aide a 3 arguments possibles:
   - le premier est le message a faire apparaitre. 
   - LE DEUXIEME EST OBLIGATOIREMENT "event" (sans les guillemets) 
   c.a.d. un mot cle du javascript.
   - Le 3eme argument est facultatif. Il permet d'ajuster 
   le decalage vertical afin de ne pas tronquer les bulles trop 
   longues ouvertes vers le bas de l'ecran; partez de
       hauteur=1,2 x taille police x nombre de lignes +10
   
   Enfin, mettre le bloc <DIV id="tip">...</DIV> en tete du bloc BODY. 
   NE PAS CHANGER LE NOM "tip";  sinon, vous pouvez modifier le style 
   qui suit ou le message d'erreur a` votre gre' (mais laissez le
   position:absolute et un z-index tres grand)
  */

var bulleStyle=null
if (!document.layers && !document.all && !document.getElementById)
   event="chut";  //pour apaiser NN3 et autres antiquites

function bulle(msg,evt,hauteur){
     
 var xfenetre,yfenetre,xpage,ypage,element=null;
 var offset= 15;           // decalage par defaut
 var bulleWidth=450;       // largeur par defaut 
 if (!hauteur) hauteur=40; // hauteur par de'faut

  if (document.layers) {
    bulleStyle=document.layers['tip'];
    bulleStyle.document.write('<layer bgColor="#ffcccc" '
       +'style="width:500px;border:2px solid black;color:black">'
       + msg + '</layer>' );
    bulleStyle.document.close();
    xpage = evt.pageX ; ypage  = evt.pageY;
    xfenetre = xpage ;yfenetre = ypage ;		
  } else if (document.all) {
    element=document.all['tip']
    xfenetre = evt.x ;yfenetre = evt.y ;		
    xpage=xfenetre ; ypage=yfenetre	;	
    if (document.body.scrollLeft) xpage = xfenetre + document.body.scrollLeft ; 
    if (document.body.scrollTop) ypage = yfenetre + document.body.scrollTop;
  } else if (document.getElementById) {
	  element=document.getElementById('tip')
    xfenetre = evt.clientX ;yfenetre = evt.clientY ;
    xpage=xfenetre ; ypage=yfenetre	;	
    if(evt.pageX) xpage = evt.pageX ;
    if(evt.pageY) ypage  = evt.pageY ;
  }
    
  if(element) {
     bulleStyle=element.style;
		 element.innerHTML=msg;}
		 	
  if(bulleStyle) {
     /* on met la bulle a` gauche du pointeur (si c'est possible) 
        et en haut du pointeur si on est assez bas dans l'e'cran */
				
     if (xfenetre > bulleWidth+offset) xpage=xpage-bulleWidth-offset;
     else xpage=xpage+15;
     if ( yfenetre > hauteur+offset ) ypage=ypage-hauteur-offset;
     bulleStyle.width=bulleWidth;  
		 if(typeof(bulleStyle.left)=='string') {
				 bulleStyle.left=xpage+'px'; bulleStyle.top=ypage+'px';  
		} else {
				bulleStyle.left=xpage     ; bulleStyle.top=ypage ; }
     bulleStyle.visibility="visible"; }
}
 
function couic(){
  if(bulleStyle)  bulleStyle.visibility="hidden";
}



/******************************************
* Popup Box- By Jim Silver @ jimsilver47@yahoo.com
* Visit http://www.dynamicdrive.com/ for full source code
* This notice must stay intact for use
******************************************/

var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

//drag drop function for NS 4////
/////////////////////////////////

var dragswitch=0
var nsx
var nsy
var nstemp

function drag_dropns(name){
if (!ns4)
return
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=gons
temp.onmousemove=dragns
temp.onmouseup=stopns
}

function gons(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function dragns(e){
if (dragswitch==1){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}
}

function stopns(){
temp.releaseEvents(Event.MOUSEMOVE)
}

//drag drop function for ie4+ and NS6////
/////////////////////////////////


function drag_drop(e){
if (ie4&&dragapproved){
crossobj.style.left=tempx+event.clientX-offsetx
crossobj.style.top=tempy+event.clientY-offsety
return false
}
else if (ns6&&dragapproved){

crossobj.style.left=tempx+e.clientX-offsetx+"px"
crossobj.style.top=tempy+e.clientY-offsety+"px"
return false
}
}

function initializedrag(e){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage
var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "html" : document.compatMode && document.compatMode!="BackCompat"? "documentElement" : "body"
while (firedobj.tagName!=topelement.toUpperCase() && firedobj.id!="dragbar"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}

if (firedobj.id=="dragbar"){
offsetx=ie4? event.clientX : e.clientX
offsety=ie4? event.clientY : e.clientY

tempx=parseInt(crossobj.style.left)
tempy=parseInt(crossobj.style.top)

dragapproved=true
document.onmousemove=drag_drop
}
}
document.onmouseup=new Function("dragapproved=false")

////drag drop functions end here//////

function hidebox(){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage
if (ie4||ns6)
crossobj.style.visibility="hidden"
else if (ns4)
document.showimage.visibility="hide"
}

///////////////////////////////////////////////////
//// Check GenotoulForm
function checkGenotoulForm(form) {
  var feedback = 0;
  var nemail = "-1";
  var error = "Please fill the following field(s):\n";
  // check if fields with alt not equal to optional are filled
  for (var n=0 ; n < form.elements.length ; n++) {
    if (form.elements[n].name == "email") {
      nemail = n;
    }
    if ((form.elements[n].value == "") && (form.elements[n].alt !=
"optional")) {
      error = error + "  - " + form.elements[n].name + "\n";
      form.elements[n].style.border = this.borderError;
      feedback = 1;
    }
    else {
      form.elements[n].style.border = this.borderValid;
    }
  }
  // if empty required field found, return false
  if (feedback) { 
    alert(error);
    return false;
  }
  else {
    // check email address format if email field exists
    if (nemail != "-1") {
      s1 = form.elements[nemail].value.split(/@/);
      if (s1[1]) { s2 = s1[1].split(/\./); } 
      else { 
        form.elements[nemail].style.border = this.borderError;
        alert("Your email address is not valid\n"); 
        return false; 
      }
      if ((form.elements[nemail].value.search(/ /) != '-1') || (s1.length !=
2) || (s1[0] == '') || (s1[1] == '') || (s2.length < 2) || (s2[0] == '') ||
(s2[1] == '')) {
        form.elements[nemail].style.border = this.borderError;
        alert("Your email address is not valid\n");
        return false;
      }
      else { return true; }
    }
    else { return true; }
  }
}
