function BrowserDetectLite() {
   var ua = navigator.userAgent.toLowerCase(); 

   // browser name
   this.isGecko     = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
   this.isMozilla   = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
   this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
   this.isIE        = ( (ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) ); 
   this.isSafari    = (ua.indexOf('safari') != - 1);
   this.isOpera     = (ua.indexOf('opera') != -1); 
   this.isKonqueror = (ua.indexOf('konqueror') != -1 && !this.isSafari); 
   this.isIcab      = (ua.indexOf('icab') != -1); 
   this.isAol       = (ua.indexOf('aol') != -1); 
   
   // spoofing and compatible browsers
   this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
   this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
   
   // browser version
   this.versionMinor = parseFloat(navigator.appVersion); 
   
   // correct version number
   if (this.isNS && this.isGecko) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
   }
   else if (this.isIE && this.versionMinor >= 4) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
   }
   else if (this.isMozilla) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
   }
   else if (this.isSafari) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
   }
   else if (this.isOpera) {
      if (ua.indexOf('opera/') != -1) {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
      }
      else {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
      }
   }
   else if (this.isKonqueror) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
   }
   else if (this.isIcab) {
      if (ua.indexOf('icab/') != -1) {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
      }
      else {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
      }
   }
   
   this.versionMajor = parseInt(this.versionMinor); 
   this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
   
   // dom support
   this.isDOM1 = (document.getElementById);
   this.isDOM2Event = (document.addEventListener && document.removeEventListener);
   
   // css compatibility mode
   this.mode = document.compatMode ? document.compatMode : 'BackCompat';

   // platform
   this.isWin   = (ua.indexOf('win') != -1);
   this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
   this.isMac   = (ua.indexOf('mac') != -1);
   this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
   this.isLinux = (ua.indexOf('linux') != -1);
   
   // specific browser shortcuts
   this.isNS4x = (this.isNS && this.versionMajor == 4);
   this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
   this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
   this.isNS4up = (this.isNS && this.versionMinor >= 4);
   this.isNS6x = (this.isNS && this.versionMajor == 6);
   this.isNS6up = (this.isNS && this.versionMajor >= 6);
   this.isNS7x = (this.isNS && this.versionMajor == 7);
   this.isNS7up = (this.isNS && this.versionMajor >= 7);
   
   this.isIE4x = (this.isIE && this.versionMajor == 4);
   this.isIE4up = (this.isIE && this.versionMajor >= 4);
   this.isIE5x = (this.isIE && this.versionMajor == 5);
   this.isIE55 = (this.isIE && this.versionMinor == 5.5);
   this.isIE5up = (this.isIE && this.versionMajor >= 5);
   this.isIE6x = (this.isIE && this.versionMajor == 6);
   this.isIE6up = (this.isIE && this.versionMajor >= 6);
   
   this.isIE4xMac = (this.isIE4x && this.isMac);
}

function moveAlong(layerName, paceLeft, paceTop, fromLeft, fromTop)
{
	clearTimeout(eval(layerName).timer)
	if(eval(layerName).curLeft != fromLeft)
	{ 
		 sidemenu.fixY=0;		
	 	 firstPass=0;
	     if ((Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft)) < paceLeft)
		 {
			eval(layerName).curLeft = fromLeft
		 }
		 else 
			if (eval(layerName).curLeft < fromLeft)
			{
				eval(layerName).curLeft = eval(layerName).curLeft + paceLeft
			}
			else 
				if (eval(layerName).curLeft > fromLeft)
				{
					eval(layerName).curLeft = eval(layerName).curLeft - paceLeft
				}

		dd.elements.master.moveTo(eval(layerName).curLeft,dd.elements.master.y); 
	}
	else
	{
			if (firstPass==0)
				{
					firstPass=1;
					sidemenu.fixY=1;		
				}
	}


	eval(layerName).timer=setTimeout('moveAlong("'+layerName+'",'+paceLeft+','+paceTop+','+fromLeft+','+fromTop+')',30)
  }


  function setPace(layerName, fromLeft, fromTop, motionSpeed)
  {
	eval(layerName).gapLeft = (Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft))/motionSpeed
	eval(layerName).gapTop = (Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop))/motionSpeed

	moveAlong(layerName, eval(layerName).gapLeft, eval(layerName).gapTop, fromLeft, fromTop)
  }


  function expand()
  {
	sidemenu.fixY=0;		
	var offsetGauche
	if (browser.isGecko) 
	{
		document.getElementById("mainTable").style.left = parseInt(document.getElementById("mainTable").style.left); 
		offsetGauche = parseInt((document.width-document.getElementById("mainTable").width)/2)
	}
	if(ns)
	{
		offsetGauche = document.mainTable.offsetLeft;
	}
	if(browser.isIE)
	{
		offsetGauche = document.all.mainTable.offsetLeft;
	}

	offsetGauche+=15
	if(getCookie('expandState') == 0)
		{setPace("master", offsetGauche, 10, 10); document.menutop.src = imgDir+"remote/fermer.gif"; register('expandState',1);}
	else
		{
		setPace("master", -122, 10, 10); document.menutop.src = imgDir+"remote/ouvrir.gif"; register('expandState',0);
		}
	sidemenu.fixY=1;		
  }

  function FixY()
  {
	if (sidemenu.fixY==0) return;		
	if (browser.isDOM1 || ie==0) {
			
			
			if (document.body.scrollTop-getCookie('scrollTop')!=0) 
			{
				if (getCookie('remote_agraffe')=='off') {dd.elements.master.moveBy(0,(document.body.scrollTop-getCookie('scrollTop'))); }
				sidemenu.topdrag=document.body.scrollTop
				register('scrollTop',document.body.scrollTop)
			}
		}
	if(ns)
		{
			if (window.pageYOffset-getCookie('scrollTop')!=0) 
			{
				if (getCookie('remote_agraffe')=='off') {dd.elements.master.moveBy(0,window.pageYOffset-getCookie('scrollTop')); }
				sidemenu.topdrag=window.pageYOffset
				register('scrollTop',window.pageYOffset)
			}
		}
	
  }

//******************************************************************************************

  function doResize() 
  {
		if (browser.isGecko || ns)
		{
		  var resizeLeft = parseInt((document.width-document.getElementById("mainTable").width)/2)
		  var resizeTop = parseInt((document.height-document.getElementById("mainTable").height)/2)
		  var deltaLeft = resizeLeft-resizeLeft_temp
		  var deltaTop = resizeTop-resizeTop_temp
		  resizeLeft_temp=resizeLeft
  		  resizeTop_temp=resizeTop

		dd.elements.master.moveBy(deltaLeft,deltaTop); 

		}
		else
		{
		  var deltaLeft = document.all.mainTable.offsetLeft-resizeLeft_temp
		  var deltaTop = document.all.mainTable.offsetTop-resizeTop_temp
		  resizeLeft_temp=document.all.mainTable.offsetLeft
  		  resizeTop_temp=document.all.mainTable.offsetTop

		dd.elements.master.moveBy(deltaLeft,deltaTop); 

		}
  }

 
 
 
 //*********************
   var master = new Object("element")

  var browser = new BrowserDetectLite();


   master.curTop = 120;
   master.gapLeft = 0;		master.gapTop = 0;
   master.timer = null;
   var firstPass=0


  window.onresize = doResize;


  var sidemenu;
  var elDragged = null  // Track current item.
  var resize_temp =  0
  var resizeLeft_temp;
  var resizeTop_temp ;

  var ie = browser.isIE ? 1 : 0
  var ns = browser.isNS ? 1 : 0
  if (browser.isDOM1) {ns=0; ie=0}

  if(ie)
  {
	document.write('<style type="text/css">')
	document.write("#screenlinks	{filter:Alpha(Opacity=100);}")
	document.write("</style>")
  }

  if(ns)
  {
	document.write('<style type="text/css">')
	document.write("#master	{clip:rect(0,150,280,0);}")
	document.write("</style>")
  }

  function init()
  {

	if(browser.isNS4x){sidemenu = document.master;}
	if(ie){sidemenu = document.all.master;}
	if(browser.isDOM1){sidemenu = document.getElementById("master");}

	
	sidemenu.topdrag=0
	if (browser.isGecko) 
	{	
	    master.curLeft =10+ parseInt((document.width-document.getElementById("mainTable").width)/2)
		resizeLeft_temp = parseInt((document.width-document.getElementById("mainTable").width)/2)
		resizeTop_temp = parseInt((document.height-document.getElementById("mainTable").height)/2)

	}
	if(ns)
	{
		resizeLeft_temp = document.mainTable.offsetLeft;
		resizeTop_temp = document.mainTable.offsetTop;
		master.curLeft =10+ document.mainTable.offsetLeft;
	}
	if(browser.isIE)
	{
		master.curLeft = 10+ document.all.mainTable.offsetLeft;
		resizeLeft_temp = document.all.mainTable.offsetLeft;
		resizeTop_temp = document.all.mainTable.offsetTop;
	}

	setInterval("FixY()",200);
	
  }