// Determination des versions des navigateurs pour le choix du DOM (Document Object Model)
var w3c = 0;  // DOM-1 du W3C : Mozilla 1, Netscape 6/7, IE 5/6, Opera 7
var ie4 = 0;  // IE 4
var ns4 = 0;  // Netscape Navigator 4
var op6 = 0;  // Opera 4/5/6
var	ns6 = (document.getElementById && !document.all) ? 1:0
if (document.getElementById && document.getElementsByTagName) { w3c = 1; }
else if (navigator.userAgent.toLowerCase().indexOf('opera') != -1) { op6 = 1; }
else if (document.all) { ie4 = 1; }
else if (document.layers) { ns4 = 1; }
// Verifie de l'acceptation de la technologie Ajax
var xmlhttp = null;
if (window.XMLHttpRequest)
	xmlhttp = new XMLHttpRequest();
else if (window.ActiveXObject)
	xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');

window.status = "";

// Dimension de la fenetre
var largeur_fenetre;
var hauteur_fenetre;


//--- FONCTIONS DIVERSES ------------------------------------------------------------------//

function JS_GetSizeWindow() {
  // Cette fonction doit etre executé dans le BODY
  if (self.innerWidth)
    largeur_fenetre = self.innerWidth;
  else if (document.documentElement && document.documentElement.clientWidth)
	  largeur_fenetre = document.documentElement.clientWidth;
	else if (document.body)
    largeur_fenetre = document.body.clientWidth;
  else largeur_fenetre = 780;
  if (self.innerHeight)
    hauteur_fenetre = self.innerHeight;
  else if (document.documentElement && document.documentElement.clientHeight)
  	hauteur_fenetre = document.documentElement.clientHeight;
  else if (document.body)
  	hauteur_fenetre = document.body.clientHeight;
  else hauteur_fenetre = 500;
}

function JS_GetScrollTop() {
  val = 0;
  if (self.pageYOffset)
    val = self.pageYOffset;
  else if (document.documentElement && document.documentElement.clientWidth)
	  val = document.documentElement.scrollTop;
	else if (document.body)
    val = document.body.scrollTop;
  return val;
}

function JS_GetScrollLeft() {
  val = 0;
  if (self.pageXOffset)
    val = self.pageXOffset;
  else if (document.documentElement && document.documentElement.clientWidth)
	  val = document.documentElement.scrollLeft;
	else if (document.body)
    val = document.body.scrollLeft;
  return val;
}

function JS_GetMouseX(e) {
  mouseX = (document.all) ? event.clientX + JS_GetScrollLeft() : e.pageX;
  return mouseX
}

function JS_GetMouseY(e) {
  mouseY = (document.all) ? event.clientY + JS_GetScrollTop() : e.pageY;
  return mouseY
}

function JS_showHideLayers() { //v3.0
  var i,p,v,obj,args=JS_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=JS_findObj(args[i]))!=null) { v=args[i+2];
  if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
  obj.visibility=v; }
}

function JS_swapImgRestore() { //v3.0
  var i,x,a=document.JS_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function JS_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.JS_p) d.JS_p=new Array();
    var i,j=d.JS_p.length,a=JS_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.JS_p[j]=new Image; d.JS_p[j++].src=a[i];}}
}

function JS_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=JS_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function JS_swapImage() { //v3.0
  var i,j=0,x,a=JS_swapImage.arguments; document.JS_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=JS_findObj(a[i]))!=null){document.JS_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function JS_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=JS_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = JS_findObj(args[2])) != null && !img.JS_init) {
      img.JS_init = true; img.JS_up = args[3]; img.JS_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = JS_findObj(args[i])) != null) {
        if (!img.JS_up) img.JS_up = img.src;
        img.src = img.JS_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.JS_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = JS_findObj(args[i])) != null) {
      if (!img.JS_up) img.JS_up = img.src;
      img.src = (img.JS_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.JS_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.JS_nbOver.length; i++) {
      img = document.JS_nbOver[i]; img.src = (img.JS_dn) ? img.JS_dn : img.JS_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.JS_up; img.JS_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = JS_findObj(args[i])) != null) {
      if (!img.JS_up) img.JS_up = img.src;
      img.src = img.JS_dn = (args[i+1])? args[i+1] : img.JS_up;
      nbArr[nbArr.length] = img;
  } }
}

function JS_MoveByLayer(nomobj, px, py) {
  if (isNaN(px)) px = 0;
  if (isNaN(py)) py = 0;
  if (w3c || ns6) {
    document.getElementById(nomobj).style.left = parseInt(document.getElementById(nomobj).style.left) + px;
    document.getElementById(nomobj).style.top = parseInt(document.getElementById(nomobj).style.top) + py;
  } else if (ie4 || op6) {
    document.all[nomobj].style.pixelLeft = parseInt(document.all[nomobj].style.pixelLeft) + px;
    document.all[nomobj].style.pixelTop = parseInt(document.all[nomobj].style.pixelTop) + py;
  } else if (ns4) {
    document.layers[nomobj].left = parseInt(document.layers[nomobj].left) + px;
    document.layers[nomobj].top = parseInt(document.layers[nomobj].top) + py;
  }
  return true;
}

function JS_MoveLayer(nomobj, px, py) {
  if (isNaN(px)) px = 0;
  if (isNaN(py)) py = 0;
  if (w3c || ns6) {
    document.getElementById(nomobj).style.left = px;
    document.getElementById(nomobj).style.top = py;
  } else if (ie4 || op6) {
    document.all[nomobj].style.pixelLeft = px;
    document.all[nomobj].style.pixelTop = py;
  } else if (ns4) {
    document.layers[nomobj].left = px;
    document.layers[nomobj].top = py;
  }
  return true;
}

function JS_GetTopLayer(nomobj) {
  obj = JS_findObj(nomobj);   //return parseInt(obj.style.top);
  boxtop = -1;
  if(ns4)
    boxtop = (obj.document.top)? obj.document.top : obj.clip.top;
  else if (ie4)
      boxtop = (obj.style.pixelTop)? obj.style.pixelTop : obj.offsetTop;
    else
      boxtop = (obj.style.top)? parseInt(obj.style.top) : parseInt(obj.offsetTop);
  return boxtop;
}

function JS_GetLeftLayer(nomobj) {
  obj = JS_findObj(nomobj);
  boxleft = -1;
  if(ns4)
    boxleft = (obj.document.left)? obj.document.left : obj.clip.left;
  else if (ie4)
      boxleft = (obj.style.pixelLeft)? obj.style.pixelLeft : obj.offsetLeft;
    else
      boxleft = (obj.style.left)? parseInt(obj.style.left) : parseInt(obj.offsetLeft);
  return boxleft;
}

function JS_GetVisibility(nomobj) {
  obj = JS_findObj(nomobj);
  visible = -1;
  if(ns4)
    visible = obj.document.visibility;
  else
    visible = (obj.style)? obj.style.visibility : obj.visibility;
  return visible;
}

function JS_GetWidthLayer(nomobj) {
  obj = JS_findObj(nomobj);
  boxwidth = -1;
  if(ns4)
    boxwidth = (obj.document.width)? obj.document.width : obj.clip.width;
  else if (ie4)
      boxwidth = (obj.style.pixelWidth)? obj.style.pixelWidth : obj.offsetWidth;
    else
      boxwidth = (obj.style.width)? parseInt(obj.style.width) : parseInt(obj.offsetWidth);
  return boxwidth;
}

function JS_GetHeightLayer(nomobj) {
  obj = JS_findObj(nomobj);
  boxheight = -1;
  if(ns4)
    boxheight = (obj.document.height)? obj.document.height : obj.clip.height;
  else if (ie4)
      boxheight = (obj.style.pixelHeight)? obj.style.pixelHeight : obj.offsetHeight;
    else
      boxheight = (obj.style.height)? parseInt(obj.style.height) : parseInt(obj.offsetHeight);
  return boxheight;
}

function JS_InnerHTML(nomobj, str) {
  if (w3c || ns6) {
    document.getElementById(nomobj).innerHTML = str;
  } else if (ie4 || op6) {
    document.all[nomobj].innerHTML = str;
  } else if (ns4) {
    document.layers[nomobj].open();
    document.layers[nomobj].write(str);
    document.layers[nomobj].close();
  }
  return true;
}

function JS_EnableDisableObj() {
	var i,p,v,obj,args=JS_EnableDisableObj.arguments;
  for (i=0; i<(args.length-1); i+=2) if ((obj=JS_findObj(args[i]))!=null) { v=args[i+1];
  obj.disabled=(v=='enable')?false:true;
	if (obj.style) { obj=obj.style; }
	obj.background=(v=='enable')?'#FFFFFF':'#e7e7e4'; }
}



