	nereidFadeObjects = new Object();
	nereidFadeTimers = new Object();
	var eTopM = "";	
	if (document.all)		
	document.onmouseover = mouseOver;
	function calendrier(n) {
		void(window.open('include/calendrier.html?val='+n,'Calendrier','scrollbars=no,status=no,resize=no,width=260,height=255'));
	}
	function zdjdirect(){
		void(window.open('zone_jeu/frame_direct.php','Echiquier','scrollbars=no,status=no,resize=no,width=700,height=455'));
	}
	function sendMsg(id,nom){
		window.open('icq_message.php?id='+id+'&nom='+nom,'','scrollbars=no,status=no,resize=no,width=320,height=270');
	}
	function receiveMsg(id,nom){
		window.open('icq_message.php?recep=1&id='+id+'&nom='+nom,'','scrollbars=no,status=no,resize=no,width=320,height=270');
	}

	/*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 amin=1900;
	  var amax=2100;
	  var separateur="/";
	  var j=(d.substring(0,2));
	  var m=(d.substring(3,5));
	  var a=(d.substring(6));
	  var ok=true;
	  if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==true) ) ok=false;
	  if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==true) ) ok=false;
	  if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==true) ) ok=false;
	  if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==true) ) ok=false;
	  if (ok) {
	     var d2=new Date(a,m-1,j);
	     j2=d2.getDate();
	     m2=d2.getMonth()+1;
	     a2=d2.getYear();
	     if (a2<=100) {a2=1900+a2}
	     if ( (j!=j2)||(m!=m2)||(a!=a2) ) ok=false;
	  }
	  return ok;
	}*/
	
	function compareDates(d1, d2){//-1 si d2>d, 0 si égal, 1 si d>d2
		var res=-1;
		var j1=(d1.substring(0,2));
		var m1=(d1.substring(3,5));
		var a1=(d1.substring(6));
		var j2=(d2.substring(0,2));
		var m2=(d2.substring(3,5));
		var a2=(d2.substring(6));
		if (a2>a1) return -1;
		else if (a1>a2) return 1;
		else if (m2>m1) return -1;
		else if (m1>m2) return 1;
		else if (j2>j1) return -1;
		else if (j1>j2) return 1;
		else return 0;
	}


	function mouseOver() {
		var eSource = window.event.srcElement;
		
		if (eSource.name == "topMenu") {
			var eMenu = document.all[eSource.id.replace("div", "")]
			var intWidth = eSource.offsetWidth
		
			if (eTopM && eTopM != eMenu) hideTopMenu(eTopM);
				 
			if (eMenu) showTopMenu(eMenu, intWidth)
		} else if (eTopM && !eTopM.contains(eSource) && !menuRow.contains(eSource))
			hideTopMenu(eTopM);
	}
	
	function showTopMenu(eSource, intMinWidth) {	
		x  = window.event.srcElement.offsetLeft + window.event.srcElement.offsetParent.offsetLeft;
		y  = menuRow.offsetHeight - 2;
		
		if (intMinWidth < 150) intMinWidth = 150		
		if (eSource.style.width < intMinWidth) eSource.style.width = intMinWidth;
		var intTemp = parseInt(eSource.style.width);		
		intTemp = Number(x) + intTemp;
		var intDocWidth = document.body.clientWidth;
		
		if(intTemp > intDocWidth) {
			var intDiff = intTemp - intDocWidth
			x = x - intDiff - 3; 
		}
		//bwbanner.style.visibility='hidden';
		eSource.style.left = x;
		eSource.style.top = y+2;
		eSource.style.visibility = "visible";
		eSource.style.filter = "alpha(opacity=90)";
		eTopM = eSource;
	}
	
	function hideTopMenu(eSource){
		eSource.style.filter = "none";
		eSource.style.visibility = "hidden";
		//bwbanner.style.visibility='visible';
	}
	
	function nereidFade(object, destOp, rate, delta){
		if (!document.all)
		return
	  if (object != "[object]"){  
	      setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
	      return;
	  }
	  clearTimeout(nereidFadeTimers[object.sourceIndex]);
	  diff = destOp-object.filters.alpha.opacity;
	  direction = 1;
	  if (object.filters.alpha.opacity > destOp){
	      direction = -1;
	  }
	  delta=Math.min(direction*diff,delta);
	  object.filters.alpha.opacity+=direction*delta;
	
	  if (object.filters.alpha.opacity != destOp){
	      nereidFadeObjects[object.sourceIndex]=object;
	      nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
	  }
	}
	function logger(){
		document.loging.submit();
	}
	
	function Trim(val){
		val=val.replace(/^[\s]+/g,"");
		val=val.replace(/[\s]+$/g,"");
		return val;
	}
	
	function loadApplet(file){
		window.open('applet.php?file='+file,'javapgn','scrollbars=no,status=no,resize=yes,width=620,height=420');
	}
	
	function loadFaq(question){
		window.open('faq.html#'+question,'FAQ','scrollbars=yes,status=no,resize=yes,width=430,height=420');
	}
	
	function loadChat(){
		window.open('chat.html','CHAT','scrollbars=no,status=no,resize=yes,width=400,height=500');
	}
	function loadChatg(){
		window.open('chatg.html','CHAT','scrollbars=no,status=no,resize=yes,width=700,height=600');
	}
	
	function inserd(){
		window.open('insertion_diagramme.php','Insertion','scrollbars=no,status=no,resize=yes,width=339,height=412');
	}

	

	function disconnect(){
		var url = document.location + "";
		if (url.indexOf("?")!=-1 && url.indexOf("#")==-1)
			document.location += "&disc=1";
		else if (url.indexOf("#")!=-1){
			document.location = url.substring(0, url.indexOf("#")) + "&disc=1";
		}
		else document.location += "?disc=1";
	}

	function ckdate(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
      if (Trim(d)=="") return true;
      var amin=1000; // année mini
      var amax=3000; // année maxi
      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=true;
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==true) ) {
         ok=false;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==true) ) {
         ok=false;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==true) ) {
         ok=false;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==true) ) {
         ok=false;
      }
      if (ok==true) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            ok=false;
         }
      }
      return ok;
   }

	function getPartie(coups){
		var normalizeCoups = new Array();
		coupsTemp = coups;
		iEsp = coupsTemp.indexOf(" ");
		ind = 0;
		ind2 = 0;
		while (iEsp>0){
			coupTemp = coupsTemp.substring(0, iEsp);
			iPoi = coupTemp.indexOf(".");
			if (iPoi>0) coupTemp = coupTemp.substring(iPoi+1, coupTemp.length);
			normalizeCoup = getNormalizeCoup(coupTemp, ind);
			//if (ind!=0)normalizeCoups += ",";
			//normalizeCoups += normalizeCoup;
			normalizeCoups[ind2] = normalizeCoup[0];
			normalizeCoups[ind2+1] = normalizeCoup[1];
			//alert(normalizeCoups[ind2]+","+normalizeCoups[ind2+1]);
			coupsTemp = coupsTemp.substring(iEsp+1, coupsTemp.length);
			iEsp = coupsTemp.indexOf(" ");
			ind ++;
			ind2 += 2;
		}
		iPoi = coupsTemp.indexOf(".");
		
		if (iPoi>0) coupsTemp = coupsTemp.substring(iPoi+1, coupsTemp.length);
		normalizeCoup = getNormalizeCoup(coupsTemp, ind);
		normalizeCoups[ind2] = normalizeCoup[0];
		normalizeCoups[ind2+1] = normalizeCoup[1];
		//normalizeCoups[ind] = normalizeCoup;
		//if (ind!=0)normalizeCoups += ",";
		//normalizeCoups += normalizeCoup;
		/*f="";
		for (i=0;i<normalizeCoups.length;i++){
			f+=","+normalizeCoups[i];
		}
		alert(f);*/
		return normalizeCoups;
	}
	function getNormalizeCoup(cp, indice){
		nc = new Array();
		cpNormalize = -1;
		cp = cp.substring(1,cp.length);
		iRoque = cp.indexOf("-O");
		if (iRoque>=0){
			if (cp.indexOf("-O-O")>=0){//Grand roque
				if (indice%2==0){nc[0]=124;nc[1]=58;}
				else{nc[0]=68;nc[1]=2;}
			}
			else{//Petit roque
				if (indice%2==0){nc[0]=252;nc[1]=62;}
				else{nc[0]=196;nc[1]=6;}
			}
		}
		else{
			i_ = cp.indexOf("_");
			if (i_>=0){cp=cp.substring(2,cp.length);}
			iEchecs = cp.indexOf("+");
			if (iEchecs>=0){cp=cp.substring(0,cp.length-1);}
			iMat = cp.indexOf("#");
			if (iMat>=0){cp=cp.substring(0,cp.length-1);}
			iE = cp.indexOf("=");
			if (iE>=0){cp=cp.substring(0,cp.length-2)+"="+cp.charAt(cp.length);}
			ix = cp.indexOf("x");
			if (ix>=0){cp=cp.substring(0,ix)+cp.substring(ix+1,cp.length);}
			iX = cp.indexOf("X");
			if (iX>=0){cp=cp.substring(0,iX)+cp.substring(iX+1,cp.length);}
			col1 = getColLettre(cp.charAt(0));
			lin1 = 8-parseInt(cp.charAt(1));
			col2 = getColLettre(cp.charAt(2));
			lin2 = 8-parseInt(cp.charAt(3));
			cpNormalize1 = col1 + 8*lin1;
			cpNormalize2 = col2 + 8*lin2;
			cpNormalize = cpNormalize1+","+cpNormalize2;
			nc[0]=cpNormalize1;nc[1]=cpNormalize2;
		}
		return nc;
	}
	function getColLettre(le){
		var col;
		switch(le){
			case "a" : col=0;break;
			case "b" : col=1;break;
			case "c" : col=2;break;
			case "d" : col=3;break;
			case "e" : col=4;break;
			case "f" : col=5;break;
			case "g" : col=6;break;
			case "h" : col=7;break;
		}
		return col;	
	}