

var mouseXPos;
var mouseYPos;

var exclude=1;
var agt=navigator.userAgent.toLowerCase();
var win=0;var mac=0;var lin=1;
if(agt.indexOf('win')!=-1){win=1;lin=0;}
if(agt.indexOf('mac')!=-1){mac=1;lin=0;}
var lnx=0;if(lin){lnx=1;}
var ice=0;
var ie=0;var ie4=0;var ie5=0;var ie6=0;var com=0;var dcm;
var op5=0;var op6=0;var op7=0;
var ns4=0;var ns6=0;var ns7=0;var mz7=0;var kde=0;var saf=0;
var XOffset=0;

function BrowserDetect()
{
    if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE"){
        var thisKDE=agt;
        var splitKDE=thisKDE.split("konqueror/");
        var aKDE=splitKDE[1].split("; ");
        var KDEn=parseFloat(aKDE[0]);
        if(KDEn>=2.2){
            kde=1;
            ns6=1;
            exclude=0;
		}
	}
    else if(agt.indexOf('webtv')!=-1){exclude=1;}
    else if(typeof window.opera!="undefined"){
        exclude=0;
        if(/opera[\/ ][5]/.test(agt)){op5=1;}
        if(/opera[\/ ][6]/.test(agt)){op6=1;}
        if(/opera[\/ ][7-9]/.test(agt)){op7=1;}
	}
    else if(typeof document.all!="undefined"&&!kde){
        exclude=0;
        ie=1;
        if(typeof document.getElementById!="undefined"){
            ie5=1;
            if(agt.indexOf("msie 6")!=-1){
                ie6=1;
                dcm=document.compatMode;
                if(dcm!="BackCompat"){com=1;}
			}
		}
        else{ie4=1;}
	}
    else if(typeof document.getElementById!="undefined"){
        exclude=0;
        if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6")!=-1){ns6=1;}
        else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ns6=1;ns7=1;}
        else if(agt.indexOf("gecko")!=-1){ns6=1;mz7=1;}
        if(agt.indexOf("safari")!=-1 || (typeof document.childNodes!="undefined" && typeof document.all=="undefined" && typeof navigator.taintEnabled=="undefined")){mz7=0;ns6=1;saf=1;}
	}
    else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
        exclude=0;
        ns4=1;
        if(typeof navigator.mimeTypes['*']=="undefined"){
            exclude=1;
            ns4=0;
		}
	}
    if(agt.indexOf('escape')!=-1){exclude=1;ns4=0;}
    if(typeof navigator.__ice_version!="undefined"){exclude=1;ie4=0;}
}

function ns_resizehandler()
{
}

function ie_resizehandler()
{
}


function ns_mousehandler(e)
{
	x=e.x;
    y=e.y;	
	mouseYPos = e.pageY;
	mouseXPos = e.pageX;
}

function ie_mousehandler()
{
    mouseXPos=window.event.x;
    mouseYPos=window.event.y+document.body.scrollTop;
}


function Init()
{
    BrowserDetect();
    
    if(ie5)
        {
            document.onmousemove=ie_mousehandler;
	    window.onresize=ie_resizehandler;
        }
    else
        if(ns6||ns7||mz7||op7)
            {
                document.captureEvents(Event.MOUSEMOVE);
                document.onmousemove = ns_mousehandler;
		
		window.captureEvents(Event.RESIZE);
		window.onresize	= ns_resizehandler
            }
    
    StretchSt=0;
}

function SetHint(id,img,l)
{
  var hintlay=document.getElementById(id);
  hintlay.value=img;
  hintlay.size=l;
}

function MoveHint(id,dx,dy)
{
    if(ns6||ns7||mz7||op7)
    {
        if (document.layers)
            {
                calque=document.layers[id];	
            }
        else
            {
                calque = document.getElementById(id).style;
            }
        
        calque.top = (mouseYPos+dy);
        calque.left =  (mouseXPos+dx);
    }
    else
    {
        calque = document.getElementById(id).style;
        calque.top = (mouseYPos+dy+document.body.scrollTop);
        calque.left = (mouseXPos+dx+document.body.scrollLeft);
    }
}

function hideMenu()
{
    hide('MenuLayerJaune');
    hide('MenuLayerRouge');
    hide('MenuLayerVert');
    hide('MenuLayerBleu');
    hide('MenuLayerOrange');
    hide('MenuLayerGris');
    hide('HintLayer');
}
function showMenu()
{
    show('MenuLayerJaune');
    show('MenuLayerRouge');
    show('MenuLayerVert');
    show('MenuLayerBleu');
    show('MenuLayerOrange');
    show('MenuLayerGris');
}

function hide(id)
{
  calque = document.getElementById(id).style;
  calque.visibility = 'hidden';
}

function show(id)
{
  calque = document.getElementById(id).style;
  calque.visibility = 'visible';
}

function SwitchVisibility(id)
{
    calque = document.getElementById(id).style;
    if(calque.visibility=='hidden')
        calque.visibility = 'visible';
    else
        calque.visibility = 'hidden';
}


function slideLayer(x,y,dx,dy,id)
{
   var cm;

   if(ns6||ns7||mz7||op7)
    {
        if (document.layers)
	   cm=document.layers[id];	
        else
		cm = document.getElementById(id).style;	
    }
    else
    {   
	cm = document.getElementById(id).style;	
    }

    	cm.visibility='visible';
	if((Math.abs(y-cm.top.replace("px",""))>1)||(Math.abs(x-cm.left.replace("px",""))>1))
	{
	cm.top = dy+Math.round((y-dy)/2);	
	cm.left = dx+Math.round((x-dx)/2);	

		dy=dy+Math.round((y-dy)/2);	
		dx=dx+Math.round((x-dx)/2);	
		var s="slideLayer("+x+","+y+","+dx+","+dy+",'"+id+"');";
		setTimeout(s,50);
	}
}

function CyclicReload(timer)
{
	var s="window.location.reload();";
	setTimeout(s,timer);
}

function insertion(idChamp, repdeb, repfin) 
{
  var input = document.getElementById(idChamp);
  input.focus();
  /* pour l'Explorer Internet */
  if(typeof document.selection != 'undefined') 
  {
    /* Insertion du code de formatage */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = repdeb + insText + repfin;
    /* Ajustement de la position du curseur */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -repfin.length);
    } else {
      range.moveStart('character', repdeb.length + insText.length + repfin.length);
    }
    range.select();
  }
  /* pour navigateurs plus récents basés sur Gecko*/
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Insertion du code de formatage */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
    /* Ajustement de la position du curseur */
    var pos;
    if (insText.length == 0) {
      pos = start + repdeb.length;
    } else {
      pos = start + repdeb.length + insText.length + repfin.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* pour les autres navigateurs */
  else
  {
    /* requête de la position d'insertion */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Insertion du code de formatage */
    var insText = prompt("Veuillez entrer le texte à formater:");
    input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
  }
}