//----------------accrochage deplacer la map avec la souris :
/*
 findPos(el)
 movemouse1(e)
 selectmouse1(e)
 mouseup1(e)
 movemouse(e)
 selectmouse(e)
 mouseclick(e)
 mouseout(e)
 mouseover(e)
 enregistrer()
 mouseup(e)
*/
//---------------------------------------
function initialiserbrocante(obroc){
// variables locales communes
var rue_array = new Array();
var stand = new Array();
var largeurs= new Array();
var profondeurs = new Array();
var etats = new Array();
var uids = new Array();
var jetons= new Array();
var empls=new Array;
var params = new Array();
var xcs =new Array();
var ycs =new Array();
var angles =new Array();
var boutonzoomplus= 0;
var retour =0;
var racine='';
var racine2='';

var Nom = navigator.appName;
var zns = (Nom == 'Netscape') ? 1:0;
var zie = (Nom == 'Microsoft Internet Explorer') ? 1:0;
var zx1=0;var zy1=0;var zx2=0;var zy2=0;var zx=0;var zy=0;
var isdrag1=0;
var scrollLeft1=0;
var scrollTop1=0;
var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var x=1;var y=1;
var dobj='';
var x1s= new Array();
var y1s= new Array();
var a1x=0;var a2x=0;var a1y=0;var a2y=0;
var anglesaisi=0;
var uid1='';
var plan1='';
var plan1acourant =0;  // corrections jPB le 25-07-10
var plan1bcourant =0;  // corrections jPB le 25-07-10
var change=1;
var a1=1;var a2=2;var b1=1;var b2=2;
var zm1=1;
var zm2=4;
var zm3=10;
var zm4=20 ; // zoom de reference =20 : ne pas modifier
var zm5=37.8;

var amax=new Array();
var bmax=new Array();
//amax[zm4]=36;bmax[zm4]=36;
amax[zm4]=5;bmax[zm4]=20;
//amax[zm3]=16; bmax[zm3]=16;
amax[zm3]=2; bmax[zm3]=9;
//amax[zm2]=9;bmax[zm2]=9;
amax[zm2]=1;bmax[zm2]=4;
amax[zm1]=1;bmax[zm1]=1;


var droit=0;

var stand_array = new Array();

//idset = window.setInterval("majetatsajax()",10000);

var isdrag1 =false;
var isdrag =false;
var stopmove=0;
var stopmove1=0;

var sL=0;
var sT=0; 
var chgL=0;
var chgT=0;
var confirmation =0;
var ts = 0;



// fonctions locales 
//----------------------------------------------------------------------- 
var winonmouseup = function(){onmouseup1();};
var winonmouseover = function (){return;onmouseup1();};
//var winonmouseover = function (){};
//----------------------------------------------------------------------- 
var getCookieVal = function (offset){

var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
};
//----------------------------------------------------------------------- 
var LireCookie =function (nom){

var arg=nom+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen)
{
var j=i+alen;
if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;
}
return null;
};
//----------------------------------------------------------------------- 
var  EcrireCookie = function (nom, val){    // corrections jPB le 25-07-10

var argv=arguments;   // corrections jPB le 25-07-10
var argc=arguments.length;   // corrections jPB le 25-07-10
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=nom+"="+escape(val)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");     // corrections jPB le 25-07-10
};

/*
EcrireCookie("dejavenu", "oui");
nbvisites=LireCookie("nombredevisites");
*/
//----------------------------------------------------------------------- 
var findPos = function (el) {

	var x = y = 0;
	if(el.offsetParent) {
		x = el.offsetLeft;
		y = el.offsetTop;
		while(el = el.offsetParent) { //remis el= au lieu de e== AC 3-08-2010 15h20
			x += el.offsetLeft;
			y += el.offsetTop;
		}
	}
	return {'x':x, 'y':y};
};
//----------------------------------------------------------------------
var  selectmouse1 = function (e) {

//window.status +="s1 ";
//window.status="149 ------------ " +stopmove1;
if (stopmove1==1) return;

if (!e)  e = window.event;    // corrections jPB le 25-07-10
//
if(e){
  var target = e.target || e.srcElement;
  zx1= e.clientX;
  zy1= e.clientY;
  if (target.id !="p1.1" && target.id !="numstand" && params.mode==3) {return ;}
}
isdrag1=true;
a=document.getElementById("div0");
scrollLeft1=a.scrollLeft;
scrollTop1=a.scrollTop;

window.status="164  "+ zx1 +" "+zy1+"      "+scrollLeft1+" "+scrollTop1+"        "+sL+" "+sT;

if(params.mode==3){
a.style.cursor= "default"; //"url(typo3conf/ext/mh_omplan/pi1/closedhand.cur),default";
}else{
a.style.cursor= "url(ac4/php/closedhand.cur),default";
}

x0=1*a.style.left.replace("px","");
y0=1*a.style.top.replace("px","");
if(zie){x0 += 11;y0 += 16;}
if(zns){x0 += 8;y0 += 8;}
a.onmousemove=movemouse1;

// stopper l' event
if(e){
  e.cancelBubble = true;
  if (e.stopPropagation) e.stopPropagation();
  if (e.preventDefault) {
    e.preventDefault();
  }
  e.returnValue = false;
}
};
//-----------------------------------------------------------------------
var movemouse1 = function (e){

if(stopmove) return false;
//window.status +="m1 ";

if (!e)  e = window.event;    // corrections jPB le 25-07-10
var target = e.target || e.srcElement;
zx= e.clientX;
zy= e.clientY;
//alert("210 "+zx);
a=document.getElementById("div0");

change=0;
if (isdrag1){
if(params.mode !=3){
  sx=a.scrollLeft ;a.scrollLeft1+ zx1-zx;
  sy=a.scrollTop; scrollTop1 +zy1-zy;
  //window.status= "209  zoom="+params.zoom+" "+amax[params.zoom]+"    "+bmax[params.zoom]+"    "+sx+"     "+sy;
  sL=0;sT=0;chgL=0;chgT=0;
  if(sx <2&& b1 >1) { b1 =1*b1 -1;sL= a.scrollLeft + 1000;change=1;chgL=1}
  if(sx>1100 && b1 <bmax[params.zoom] ){ b1 =1*b1 +1;sL =a.scrollLeft - 1000;change=1;chgL=1}
  if(sy<2 && a1 >1) {a1 =1*a1 -1 ;sT = a.scrollTop + 600 ;change=1;chgT=1}
  if(sy >680 && a1 <amax[params.zoom] ){ a1 =1*a1+1;sT =a.scrollTop -600;change=1;chgT=1}
  if(change) {
    //window.status= sx+" "+sy;
    isdrag1=false;
    stopmove=1;
    a.onmousemove = function(){return false;};
    change=0;
    //alert("203  "+a1+" "+b1+"     "+sx+" "+sy);
    changer();
    //:return false;
  }else{
    a.scrollLeft = scrollLeft1+ zx1-zx;
    a.scrollTop = scrollTop1 +zy1-zy;
  }
}else{
  a.scrollLeft = scrollLeft1+ zx1-zx;
  a.scrollTop = scrollTop1 +zy1-zy;
}
}
  return false;
  
}; 
//------------------------------------------------------------------------ 
var voir = function (){

//alert('voir');
};
//------------------------------------------------------------------------ 
var fixer = function (nom){window[nom].document.onmousedown=selectmouse1;};
//------------------------------------------------------------------------ 
var mouseout =  function (e){ //window.status += "out ";

//isdrag1=false;
//isdrag=false;
a=document.getElementById("div0");
a.style.cursor ="default";
};
//------------------------------------------------------------------------ 
var mouseup1 = function (e){//window.status +="up1 ";//alert("1");

if (!e)  e = window.event;    // corrections jPB le 25-07-10
zx2= e.clientX;
zy2= e.clientY;
onmouseup1();
};
//------------------------------------------------------------------------ 
var onmouseup1 = function (){//window.status +="up11 ";

isdrag1=false;isdrag=false;
a=document.getElementById("div0");
if(params.mode !=3) a.style.cursor ="url(ac4/php/openhand.cur),default";
};
//window.status=" a "+a1+"  b "+b1;

//------------------------------------------------------------------------ 
var deplacer = function (){//alert("281");

if(params.mode==3) return false;
document.getElementById("planbrocante").style.width = (document.getElementById("p1.1").width +100) +"px";
document.getElementById("planbrocante").style.height = (document.getElementById("p1.1").height +100) +"px";
a=document.getElementById("div0");
document.getElementById('note').innerHTML ='<p>carte : <span>'+params.zoom+"-"+a1+"-"+b1+'</span></p>';
document.getElementById('numstand').innerHTML ='';
cacheajax2("a"+a1+"b"+b1,1);
if(chgL) {a.scrollLeft =sL;scrollLeft1=sL;}
if (chgT) {a.scrollTop =sT;scrollTop1=sT;}
zx1=zx;
zy1=zy;//alert("287 "+zx1);
stopmove=0;
return true;  // corrections jPB le 25-07-10
};
//------------------------------------------------------------------------ 
var changer = function (){//window.status += "chg ";

  //stopmove=1;
  onmouseup1();
  if(!a1 ) a1=1;
  if(!b1) b1=1;
  if(params.zoom == zm1) {a1=1;b1=1;a.scrollLeft=1;a.scrollTop=1;}
  a2=1*a1+1;
  b2=1*b1+1;
  
  //alert("261  "+a1+" "+b1);
  if (params.mode !=3){//alert("264  "+sL+" "+sT);
    document.getElementById("p1.1").src = "ac4/sousplanstand/z"+params.zoom+"a"+a1+"b"+b1+".gif";
  }
  if (params.mode ==3){
    document.getElementById("p1.1").src ='';
    document.getElementById('numstand').innerHTML ='';
    document.getElementById('note').innerHTML ='<p>carte : <span>'+params.zoom+"-"+a1+"-"+b1+'</span></p>';
    document.getElementById("p1.1").src = "ac4/sousplan/z"+params.zoom+"a"+a1+"b"+b1+".gif";
    var w1=2000*20/params.zoom;
    var h1=1200*20/params.zoom;
    var y = (a1-1)*600*20/params.zoom;
    var x = (b1-1)*1000*20/params.zoom;
    cacheajax3(x,y,w1,h1);
  }
};
//-------------------------------------------------------------------------
var movemouse = function (e){//window.status +="mv " ;//+ (tx + event.clientX - tx1);

  if (isdrag)
  {
    dobj.style.left = nn6 ? (tx + e.clientX - tx1)+"px" : (tx + event.clientX - tx1)+"px";
    dobj.style.top  = nn6 ? (ty + e.clientY - ty1)+"px" : (ty + event.clientY - ty1)+"px";
    return false;
  }
	else {
    return false;  // corrections jPB le 25-07-10
  }
};
//---------------------------------------------------------------------------
var selectmouse = function (e) {

//window.status +="s ";
//stopmove=1;
  if (!e)  e = window.event;   // corrections jPB le 25-07-10
  var target = e.target || e.srcElement;
  divuid=target.parentNode.id;
  a=target.parentNode;
  //window.status="332 "+a.id;
  a.onmousedown = function(){return false;};
  
  x1s[divuid]= e.clientX;
  y1s[divuid]= e.clientY;
  
  if (divuid!='div0') {
 // window.status = divuid+" : xc1="+xcs[divuid]/params['zoom']+" | yc1="+ycs[divuid]/params['zoom']+" | angle1="+angles[divuid];
  }else{
//  window.status = '';
}

  var fobj       = nn6 ? e.target : event.srcElement;
  var topelement = nn6 ? "HTML" : "BODY";

  while (fobj.tagName != topelement && fobj.className != "dragme")
  {
    fobj = nn6 ? fobj.parentNode : fobj.parentElement;
  }

  if (fobj.className=="dragme")
  {
    isdrag = true;
    dobj = fobj;
    tx = parseInt(dobj.style.left+0);
    ty = parseInt(dobj.style.top+0);
    tx1 = nn6 ? e.clientX : event.clientX;
    ty1 = nn6 ? e.clientY : event.clientY;
    a=document.getElementById("div0");
    a.onmousemove=movemouse;
    return false;
  }
else {return true;}    // corrections jPB le 25-07-10
};
//-----------------------------------------------------------------------------
var mouseup = function (e){//window.status +="up ";//

  stopmove=0;
  if (!e)  e = window.event;  // corrections jPB le 25-07-10
  var target = e.target || e.srcElement;
  var modu=target.parentNode;
  divuid=target.parentNode.id;
  //window.status="370 "+dobj.style.left+  "  "+dobj.style.top;
  
  isdrag=false;
  a=document.getElementById("div0");
  a.onmousemove=null;
  scrollx =    a.scrollLeft ;
  scrolly =    a.scrollTop  ;
  
  x2=e.clientX;
  y2=e.clientY;
  
  dx =(x2 - x1s[divuid]);
  dy =(y2 - y1s[divuid]);
  
  xcs[divuid]+=dx;
  ycs[divuid]+=dy;
  
  if(xcs[divuid]<0) xcs[divuid]=20;
  if(ycs[divuid]<0) ycs[divuid]=20;
  
  if (divuid!='div0') {
  
  uid1=divuid.substr(3);
  
  //transformer les coordonnées relatives en absolues /zoom 20:
  var xc = (xcs[divuid]+ (b1-1)*1000 )*20/params['zoom'];
  var yc = (ycs[divuid]+ (a1-1)*600)*20/params['zoom']; 
  
  planajax("action=maj&uid="+uid1+"&xc="+xc+"&yc="+yc,"redraw");

  }else{
//  window.status = '';
  }
 // stopper l' event
  e.cancelBubble = true;
  if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault) {
  e.preventDefault();
  }

};
//---------------------------------------------------------------------
var mouseout = function (e){

  //return;
  //window.status += "out";
  a=document.getElementById("div0");
  //a.onmousemove=null;
  //isdrag1=false
  //isdrag=false;
  if(params.mode==3){
    a.style.cursor ="default";
  }else{
    a.style.cursor ="url(ac4/php/openhand.cur),default";
  }
};
   //---------------------------------------------------------------------
var mouseover = function (e){window.status+="over ";

  a=document.getElementById("div0");
  //a.onmousemove=null;
  //isdrag1=false;
  if(params.mode==3){
  a.style.cursor ="default";
  }else{
  a.style.cursor ="url(ac4/php/openhand.cur),default";
  }
};  
//---------------------------------------------------------------------   
var mouseout2 = function (e){window.status +="out2 ";

// a=document.getElementById("div0");
  isdrag=false;
  /*
  if(params.mode==3){
  a.style.cursor ="default";
  }else{
  a.style.cursor ="url(typo3conf/ext/mh_omplan/pi1/openhand.cur),default";
  }
  */
};  
 
//------------------------------------------------------------------------
var mouseclick = function (e){

  //return false ;alert('mouseclick');window.status="mouseclick";
  glups =document.getElementById("toto");
  if (!e)  e = window.event;   // corrections jPB le 25-07-10
  var target = e.target || e.srcElement;
  divuid=target.parentNode.id;
  //window.status="463 "+divuid;
  if (divuid=='cadre1'||divuid=='planbrocante') {
    //window.status = "angle en cours :";
    a1x=a2x;
    a1y=a2y;
    a2x = e.clientX;
    a2y = e.clientY;
    if(a2x-a1x){
      anglesaisi = Math.round (180 * Math.atan((a2y-a1y)/(a2x-a1x))/Math.PI);
      if(document.getElementById("angle")) document.getElementById("angle").value=anglesaisi;//ajout du if AC 3-07-2010
      //  window.status =" angle en cours :"+ anglesaisi;
    }   
    // stopper l' event
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault) {
      e.preventDefault();
    }
    e.returnValue = false;
  }
};

//-----------------------------------------------------------------------
var creer = function (){

  uid1=document.getElementById("uid").value;
  planajax("action=creer&uid="+uid1,"redraw");
};
//-----------------------------------------------------------------------
var enregistrer = function (){

  //window.status="enr ";
  data= new Array('numero_module','rue','xc','yc','angle','uid','largeur','profondeur','remarque1','remarque2','modulepreced','modulesuite','etat', 'coeftarifa', 'coeftarifp', 'coeftarifc', 'horairearrive');
  request="action=maj";
  for ( x in data) {
  if (typeof(data[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
  request += "&"+data[x]+"="+document.getElementById(data[x]).value;
  }// window.status=request;
  //tx_mhomplan_showpos(1,12,2,100,200,20,10,30) ;
  planajax(request,"redraw")
};
//---------------------------------------------------------------------
var enregistrercarte = function (){

  var url= 'ac4/php/sousplanstand.php?zoom='+zm1;
  openajax(url,'majcartes','tousleszoom');
};

//---------------------------------------------------------------------


// -----------------   draw.js -------------------------------


//------------------------------------------------------------------------

/*
tx_mhomplan_showpos(uid,numero_module,etat, xc, yc,largeur,profondeur,angle,voiture)
chgcouleur(id,couleur)
reservations()
reserver(e)
valider()
consulter(e)
mode1()
mode2()
mode3()
getScrollXY()
dezoomer()
zoomer()
aid()
<body onunload="foo()">
*/
//-----------------------------------------------------
var message1 = function (){

  alert(" vous devez préalablement choisir votre catégorie pour pouvoir réserver en ligne")
};
//-----------------------------------------------------------------------------
var majsession = function (e) {

  //window.clearInterval(idset);
  a=document.getElementById("div0");
  var scrollx =    a.scrollLeft ;
  var scrolly =    a.scrollTop  ;
  var ws=getScrollXY();
  var wscrollx=ws[0];
  var wscrolly=ws[1];
  
  EcrireCookie("mode",params['mode']);
  EcrireCookie("zoom",params['zoom']);
  EcrireCookie("scrollx",scrollx);
  EcrireCookie("scrolly",scrolly);
  EcrireCookie("wscrollx",wscrollx);
  EcrireCookie("wscrolly",wscrolly);
  
  EcrireCookie("a1",a1);
  //EcrireCookie("a2",a2);
  EcrireCookie("b1",b1);
  //EcrireCookie("b2",b2);
  if (params.liste && !confirmation) annuler();
}; 
//-----------------------------------------------------------------------------
var raz2 = function (){

  document.getElementById("plan").style.marginLeft="0px";
  document.getElementById("plan").style.marginTop="0px";
  image=document.getElementById("planbrocante");
  a=document.getElementById("div0");
  a.scrollLeft=ax;
  a.scrollTop=ay;
};

//----------------------------------------------------------------------------
var winonload = function (page){

  //var newpage = e.target || e.srcElement;
  contenu= document.getElementById("div0").innerHTML;
  page.document.write(contenu);
  return;
};
//----------------------------------------------------------------------------
var imprimer = function (e){

  //a= document.getElementById("numero_module");
  if (a.value == "x"){
    contenu= window.document.getElementById("div0").innerHTML;
    //alert("creation cache");
    newpage=window.open("","_blank","menubar=yes,width=1100,scrollbars=yes,toolbar=no");
    //newpage.onload=winonload(newpage);
    newpage.document.write(contenu);
    return;
  }
  if (params['mode']==1 && droit==4){
    rueid=document.getElementById("rue").value;
    if(!rueid){
      alert("saisir un numéro de rue");
    }else{
      window.open(racine+"ac4/php/afficherue.php?rueid="+rueid+"&w1=1000&h1=650&w2=1000&h2=650&zoom="+zm5,"_blank","menubar=yes,width=1000,height=700,scrollbars=yes,toolbar=no");
    }
  }
  if (params['mode']==2){//reservation
  if(!params['liste']) {alert ('reserver au moins un module');
  }else{
    window.open(racine+"ac4/php/affiche2.php?uids="+params['liste']+"&zoom="+zm4,"_blank","menubar=yes,width=1100,scrollbars=yes,toolbar=no"); 
  }
  }
};
//-----------------------------------------------------------------------------
var addEvent = function ( obj, type, fn ) {

  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );};
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
};
//------------------------
var removeEvent = function ( obj, type, fn ) {

  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
};
//addEvent(monelement, 'click', avertir, false);
//-----------------------------------------------------------------------------
var tx_mhomplan_showpos = function (uid,numero_module,etat, xc, yc,largeur,profondeur,angle,modulepreced,modulesuite) {
 window.status=numero_module;
  //alert("uid "+uid+" xc "+xc+" yc "+yc+" larg "+largeur+" prof "+profondeur);
  
  xc=1*xc;
  yc=1*yc;
  largeur=1*largeur;
  profondeur=1*profondeur;
  angle=1*angle;
  uid=1*uid;
  if(true){
  //document.getElementById('numstand').innerHTML=''
  //effacer l'ancien module  si il existe:  
  if(document.getElementById('div'+uid)){//window.status=uid;	
  	holder = document.getElementById('div'+uid);
  	//alert(holder.id);
  	holder.innerHTML='';
  	holder.style.left=0;
  	holder.style.top=0;
  }else{//alert("2");
    //le creer si il n'existe pas..
    var newdiv =document.createElement("div");
    newdiv.id='div'+uid;
    newdiv.style.position="absolute";
    newdiv.className="dragme";
  
    document.getElementById("numstand").appendChild(newdiv);
    //lui affecter ses events:
    addEvent(newdiv, 'mousedown', selectmouse, false);
    addEvent(newdiv, 'mouseup', mouseup, false);
  }

   //alert(document.getElementById('div'+uid).id);
  //calcul des coordonnées cartésiennes en fonction de l'angle de rotation:
   with (Math) {
   //largeur = 50;profondeur =25;//alert(xc+"  "+yc);
     r=   (0.5*sqrt(largeur*largeur+profondeur*profondeur));
     i1=  (atan(profondeur/largeur));
     i2 = (angle*PI/180);
     x1 = ceil(xc + r*cos(i1+i2));
     y1 = ceil(yc + r*sin(i1+i2));  
     x2 = ceil(xc + r*cos(PI-i1+i2));
     y2 = ceil(yc + r*sin(PI-i1+i2));  
     x3 = ceil(xc + r*cos(PI+i1+i2));
     y3 = ceil(yc + r*sin(PI+i1+i2));  
     x4 = ceil(xc + r*cos(-i1+i2));
     y4 = ceil(yc + r*sin(-i1+i2));
  }  

  var jg = new jsGraphics('div'+uid);

  //jg = new jsGraphics('numstand');

  etats['div'+uid]=etat;
  empls['div'+uid]=numero_module;
  xcs['div'+uid]=xc;
  ycs['div'+uid]=yc;
  largeurs['div'+uid]=largeur;
  profondeurs['div'+uid]=profondeur;
  angles['div'+uid]=angle;

	jg.clear();

  if(etat==1){ jg.setColor("green");}
  if(etat==2){ jg.setColor("#aaaaff");}
  if(etat==3){ jg.setColor("red");}
  if(etat==4){ jg.setColor("blue");}
	realx1 = new Array(x1,x2,x3,x4);
	realy1 = new Array(y1,y2,y3,y4);

	jg.fillPolygon(realx1, realy1);
	jg.setColor("black");
	jg.drawPolygon(realx1, realy1);
	jg.setColor("white");  
 if(params['zoom'] ==10 && params['mode']==3  ){
 	jg.setFont("arial","9px",Font.PLAIN);
 	
   jg.drawString(numero_module,xc-10,yc-5);
  
 }
  if(params['zoom'] ==20 && params['mode']==3 ){
   	jg.setFont("arial","12px",Font.PLAIN);
    jg.drawString(numero_module,xc-10,yc-5);	
  }

  if (params['mode']==3 || params['mode']==2&& etat==4 ){
    jg.paint();
  }   
} 
};
//-----------------------------------------------------------------------------
var reservations = function (){

  list =params['liste'].split(",");
    for (x in list){
    if (typeof(list[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
      if(list[x]){
      etats['div'+list[x]]=2;
      a=document.getElementById('div'+list[x]);
      var divs = a.childNodes;
        for(i=0;i<divs.length;i++){
          divs[i].style.backgroundColor="blue";
        }
      }
   }
};
//-----------------------------------------------------------------------------
var chgcouleur = function (id,couleur){

  for (z=1;z<=500;z++){
    id='div'+z;
    if(document.getElementById(id)){
      var childs = document.getElementById(id).childNodes;
      for(i=0;i<childs.length;i++) childs[i].style.backgroundColor="blue";
    }
  }
};
//-----------------------------------------------------------------------------
var optionok = function  (stand,k,jeton){

      //alert("ok"+k);
      areaid = stand[0];
      //alert ("751 areaid ="+ areaid);  //AC
      aid="div"+areaid;
      //change=1;
      //mouseup1();  fait un ajax !
      if(k==1){
        etats[aid]=4;
        document.getElementById(aid).style.color="blue";   
        document.getElementById('imprimer').style.display="inline";
        document.getElementById('confirmation').style.display="inline";   

        uids[aid]= areaid;

        jetons[aid]=jeton;

        empls[aid]= stand[1];
       //alert("764 stand1= "+stand[1])
        params.liste=params.empl='';
        //alert("303 " +uids.length);  
        var x =0;
//alert ("772 uids : " + uids.join(","));
        for (x in uids){
 if (typeof(uids[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js  
          if(uids[x]){
//alert ("776 --|"+ x + "|--"+ uids[x])
            if(!params.liste){
              params.liste =  uids[x];
              params.empl  =  empls[x];
              params.jeton =  jetons[x];
            }else{
              params.liste += ","+uids[x];
              params.empl  += ","+empls[x];
              params.jeton +=  ","+jetons[x];
            }
          } 
       } 
        //alert("781 params.empl :"+params.empl.slice(0,10));
        document.getElementById("uids").innerHTML=params.empl;
         
    }  
 if(k==0){
 document.getElementById(aid).style.color="green";  
  
    etats[aid]=1;
      uids[aid]=0;
      jetons[aid]=0;
      empls[aid] =0 ;//AC ajout 11/07/2010
      params.liste='';params.empl=params.jeton='';
      for (x in uids){
    if (typeof(uids[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
        if(uids[x]){
          if(!params.liste){
              params.liste = uids[x];
              params.empl  =  empls[x];
              params.jeton =  jetons[x];
            }else{
              params.liste += ","+uids[x];
              params.empl  += ","+empls[x];
              params.jeton +=  ","+jetons[x];
            }
        } 
     }  
     //alert("334 params.empl :"+params.empl);
      document.getElementById("uids").innerHTML=params['empl'];
     if (!params.empl){    
        document.getElementById('imprimer').style.display="none";
        document.getElementById('confirmation').style.display="none"; 
     } 
  }

};   
//--------------------------------------------------------------------------
var optionko = function (stand,k){

//alert("ko"+k);
  if(k==1) alert('une option est déja prise sur ce module');//+stand[0]+" "+stand[1]+" "+etats[aid]+" "+stand[3]+" "+stand[4]+" "+stand[5]+" "+stand[6]+" "+stand[7]+" "+stand[8]);
  if(k==0) alert('cette option est déjà libre');//+stand[0]+" "+stand[1]+" "+etats[aid]+" "+stand[3]+" "+stand[4]+" "+stand[5]+" "+stand[6]+" "+stand[7]+" "+stand[8]);
};

//--------------------------------------------------------------------------
var trim = function (myString){

return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
};
//--------------------------------------------------------------------------
var reserver = function (e){//reserverajax2(stand,1,0);return;
var ok =true;
var targ = e.target || e.srcElement;
//alert(targ.id);
if(targ.id.length >6){;
stand= targ.id.split(",");

areaid = stand[0];// alert(areaid);
}else{
areaid = targ.id.substr(3);//alert(areaid);
}
var etatzoom = document.getElementById('div'+areaid);
etat= etatzoom.className.substr(1,1);
// 
//alert(stand_array[areaid]);
standstr =""+stand_array[areaid];
stand=standstr.split(",");//alert("364 "+standstr)
module = stand[1]?stand[1]:9999;//alert("365 empl:"+module);
modulepreced = stand[8]?stand[8]:9999;
modulesuite = stand[9]?stand[9]:9999;
aid="div"+areaid;


//ne rien faire si:
//----------------


//modulepreced =modulesuite= 1000;
var reg= trim(module);//alert('379  '+module+" "+reg);
var reg1= trim(modulepreced);if (!reg1) reg1 ="99999";
var reg2=trim (modulesuite);if (!reg2) reg2 ="99999";




//test nombre max de modules : //AC
var nbempls=0;
for (x in empls){
if (typeof(empls[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
if (empls[x]) nbempls +=1 ;
}

var nbmodulesmax = LireCookie('nbmodulesmax');
//alert("868  nbmax : " +nbmodulesmax+" nb empls : "+ nbempls +"aid ="+aid+ " empls1 "+empls[aid]);


if(nbempls >=nbmodulesmax && params.empl!='' && (etat==1 ||etat==2)){
    alert("vous ne pouvez pas  sélectionner plus de "+ nbmodulesmax+"modules");
    ok=false;;
}

//test limiterue : //AC
var limiterue =""+LireCookie('limiterue');
var numeroderue = ""+rue_array[aid];
//alert("877 rue " + aid +" : "+ numeroderue + "limiterue :"+limiterue);
if (limiterue.search(numeroderue) ==-1 && limiterue !="0") {
alert("Vous n'êtes pas autorisé à réserver un ou plusieurs modules hors de la zone réservée aux professionnels"); 
ok=false;
}



//alert("382 etat : "+etat+" module "+module +" "+modulepreced+" "+modulesuite);
//etat = 2 ou 3:
//if(etat==2 || etat==3){  // modif multijour
if(etat==3){
alert("le module " + stand[2]+ " n'est pas disponible"); 
ok=false;}

//si option d'un autre internaute:
if(etat==4 && (params.empl == undefined || params.empl =='')){
//alert('395');
alert("le module n° " + stand[1]+ "  n'est pas disponible (4).");
 ok=false;;}

//si on veut reserver un module non consecutif:
//if(params.empl!=undefined && params.empl!='' && (etat==1){ 
// modif multijour :



if(params.empl!=undefined && params.empl!='' && (etat==1 ||etat==2)){
//alert("397  "+ params.empl.search(reg1) +"  "+params.empl.search(reg2));
  if (params.empl.search(reg1) ==-1  && params.empl.search(reg2) ==-1 ){
    alert("vous ne pouvez sélectionner que des modules contigus");
    ok=false;;
  }
}



if(params.empl!=undefined && params.empl!='' && etat==4){ 
///alert('413  '+params.empl+" "+reg+"  "+params.empl.search(reg));
       if (params.empl.search(reg) ==-1 ){
        // ne rien faire dans ce cas  car cette option  qui n'est pas dans la liste en cours est celle d'un autre internaute.
        alert("le module n° " + stand[1]+ "  n'est pas disponible (4).");
        ok=false;;
      }   
      
       if ( params.empl.search(reg1) !=-1  && params.empl.search(reg2)  !=-1 ){
        alert("vous ne pouvez dé-réserver que des modules en début ou en fin de liste");
        ok=false;;
      } 
}

//alert("414 etat"+etat+"module "+module+"  ok="+ok)
if (ok && etat==1){//alert("415 etat"+etat+"  ok="+ok);
reserverajax2(stand,1,0); // prendre une option
}
if (ok && etat==4){ // alert("418 etat"+etat+"  ok="+ok);   
reserverajax2(stand,0,jetons['div'+stand[0]]); // lacher l'option
}
    
//  alert(stand[0]+" "+stand[1]+" "+etats[aid]+" "+stand[3]+" "+stand[4]+" "+stand[5]+" "+stand[6]+" "+stand[7]+" "+stand[8]);   

  e.cancelBubble = true;
  if (e.stopPropagation) e.stopPropagation();
  if (e.preventDefault) {
  e.preventDefault();
  }
  e.returnValue = false;
};
//----------------------------------------------------- -----------------------
var valider = function (){
if(!confirm(
"Vous avez réservé le(s) module(s) "+params.empl+ 
'. \nEn cliquant sur le bouton "OK" vous ne pourrez plus modifier cette liste.'+
' \nPour ajouter ou supprimer des modules, merci de cliquer sur "Annuler"'
)) return false;
 confirmation=1;
 var url1="ac4/php/confirmer.php?uids="+params.liste+"&jetons="+params.jeton;
 openajax(url1,"confirmer","");
 
};
//-----------------------------------------------------------------------------
var annuler = function (){
alert("les modules que vous avez sélectionnés vont être déselectionnés");
var url1="ac4/php/annuler.php?jetons="+params.jeton;
 params.liste='';params.jeton='';params.empl='';
      document.getElementById('uids').innerHTML='';
      for (x in uids){
      if (typeof(uids[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
        empls[x]=0;
        uids[x]=0;
        jetons[x]=0;
      }
openajax(url1,"annuler","");
};
//-----------------------------------------------------------------------
var consulter = function (e){//window.status +="cons ";
if((zx1 !=zx || zy1!=zy) && (zx||zy)){return false;}
if (params['mode']==2 && droit==2){reserver(e);return;}
if(!confirm("Souhaitez-vous consulter la fiche technique du module sélectionné ?")) return false;

var targ = e.target || e.srcElement;

if(targ.id.length >6){;
stand= targ.id.split(",");
areaid = stand[0];// alert(areaid);
}else{
areaid = targ.id.substr(3);//alert(areaid);
}
//stand= targ.id.split(",");
  // stopper l' event
  e.cancelBubble = true;
  if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault) {
  e.preventDefault();
  }
  e.returnValue = false; 
  //alert(racine+"fiche-module.html?idmodule="+areaid);
  window.location.href=racine+"fiche-module.html?idmodule="+areaid;
};
//-----------------------------------------------------------------------------
var mode1 = function (){

  //if (params.liste) {alert("veuillez supprimer d'abord votre réservation"); return false;}
  params['mode']=1;
  a=document.getElementById("div0");
  scrollx =    a.scrollLeft ;
  scrolly =    a.scrollTop  ;
  if (scrollx <1) scrollx=1;
  if (scrolly <1) scrolly=1; 
  ws=getScrollXY();
  wscrollx=ws[0];
  wscrolly=ws[1];
  window.location.href = racine+racine2+"zoom="+params['zoom']+"&mode="+params['mode']+"&liste="+params['liste']+"&scrollx="+scrollx+"&scrolly="+scrolly+"&wscrollx="+wscrollx+"&wscrolly="+wscrolly;
};
//-----------------------------------------------------------------------------
var mode2 = function (){//alert('mode2');

 // if (params.liste) {alert("veuillez supprimer d'abord votre réservation"); return false;}
  params['mode']=1;
  params['mode']=2;
  a=document.getElementById("div0");
  scrollx = a.scrollLeft ;
  scrolly = a.scrollTop  ;
  ws=getScrollXY();
  wscrollx=ws[0];
  wscrolly=ws[1];
  if (scrollx <1) scrollx=1;
  if (scrolly <1) scrolly=1;
  window.location.href = racine+racine2+"zoom="+params['zoom']+"&mode="+params['mode']+"&liste="+params['liste']+"&scrollx="+scrollx+"&scrolly="+scrolly+"&wscrollx="+wscrollx+"&wscrolly="+wscrolly;
};
//-----------------------------------------------------------------------------
var mode3 = function (){

  params['mode']=3;
  a=document.getElementById("div0");
  scrollx =    a.scrollLeft ;
  scrolly =    a.scrollTop  ;
  ws=getScrollXY();
  wscrollx=ws[0];
  wscrolly=ws[1];
  if (scrollx <1) scrollx=1;
  if (scrolly <1) scrolly=1;
  window.location.href = racine+racine2+"zoom="+params['zoom']+"&mode="+params['mode']+"&liste="+params['liste']+"&scrollx="+scrollx+"&scrolly="+scrolly+"&wscrollx="+wscrollx+"&wscrolly="+wscrolly;
};
//-----------------------------------------------------------------------------
var getScrollXY = function () {

  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
};
//-----------------------------------------------------------------------------
var dezoomer = function (e){

//if (params.liste) {alert("veuillez supprimer d'abord votre réservation"); return false;}
Z1=params['zoom'];
if (Z1==zm2) Z2 =zm1;
if(Z1==zm3) Z2 =zm2;
if(Z1==zm4) Z2 =zm3;
if(Z1!=zm1) changezoom(Z1,Z2);
};
//-------------------------------------------------------------
var zoomer = function (e){

//if (params.liste) {alert("veuillez supprimer d'abord votre réservation"); return false;}
Z1=params['zoom'];
if(Z1==zm3) Z2=zm4 ;
if(Z1==zm2)  Z2=zm3;
if(Z1==zm1)  Z2=zm2;
if(Z1!=zm4) changezoom(Z1,Z2);
};
//---------------------------------------------------------------------
var changezoom = function (Z1,Z2) {

a=document.getElementById("div0");
b=document.getElementById("zoomplus");
//a.style.cursor = "url("+racine+"typo3conf/ext/mh_omplan/pi1/openhand.cur),default";
//b.style.cursor=a.style.cursor;

if (!e) var e = window.event;

scrollx =    a.scrollLeft ;
scrolly =    a.scrollTop  ;


ws=getScrollXY();
wscrollx=ws[0];
wscrolly=ws[1];

planbrocantenode=document.getElementById("planbrocante");
var pos = findPos(planbrocantenode);
var ai =a1;
var bi= b1;

//------------------------
pt1= zx2 +wscrollx - pos.x  ;// pt de depart ou 500 si centre par defaut
if(!zx2) pt1=500;//alert ("pt1 "+pt1 +" a1"+a1);
if (Z1==zm1) pt1 = 0;
s1=(bi-1)*1000 + a.scrollLeft;//alert ("s1 "+s1+" ai "+ai);// offset sous zoom1
s2 = (Z2/Z1)*(pt1+s1)-500; //alert ("s2 "+s2+ "pt1+s1"+ (pt1+s1));// offset sous zoom2
if(s2<0)s2=0;
//recherche du premier "a1" permettant de voir le nv point au centre
for (b1=1;b1 <bmax[Z2];b1++){
scrollx =s2 -(b1-1)*1000;//alert ("scrollx "+scrollx);
if (scrollx >=0 && scrollx <1000) break;
}
//------------------------

pt1= zy2 +wscrolly - pos.y  ;// pt de depart ou 500 si centre par defaut
if(!zy2) pt1=300;//alert ("pt1  "+pt1);
if (Z1==zm1) pt1 = 0;
s1=(ai-1)*600 + a.scrollTop;//alert ("582 "+s1)// offset sous zoom1
s2 = (Z2/Z1)*(pt1+s1)-300;//  alert ("583 "+s2);// offset sous zoom2
if(s2<0)s2=0;
//recherche du premier "b1" permettant de voir le nv point au centre
for (a1=1;a1 < amax[Z2];a1++){
scrolly =s2 -(a1-1)*600;//alert ("586 "+scrolly)
if (scrolly >=0 && scrolly <600) break;
}
//-------------------------
if (scrollx <1) scrollx=1;
if (scrolly <1) scrolly=1;

if (scrollx >1000) scrollx=1000;
if (scrolly >600) scrolly=600;

ws=getScrollXY();
wscrollx=ws[0];
wscrolly=ws[1];

window.location.href = racine+racine2+"zoom="+Z2+"&mode="+params['mode']+"&liste="+params['liste']+"&scrollx="+scrollx+"&scrolly="+scrolly+"&wscrollx="+wscrollx+"&wscrolly="+wscrolly+"&a1="+a1+"&b1="+b1;

};
//-----------------------------------------------------------------------------


//----------------------    FONCTIONS   AJAX   --------------------------------


//------------------------------------------------------------------------------
var retourplanajax = function (row,faire){//  alert(faire);  //affichage différé..

data= new Array('modulepreced','numero_module','modulesuite','rue','xc','yc','angle','uid','largeur','profondeur','remarque1','remarque2','etat', 'coeftarifa', 'coeftarifp', 'coeftarifc', 'horairearrive');
if(faire=="affiche"||faire=="redraw"){
    for ( x in data){
    if (typeof(data[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js
     document.getElementById(data[x]).value=row[data[x]];
    //alert(data[x]+" "+row[data[x]]);
    }
};

if(faire=="redraw"){
  //tx_mhomplan_showpos(uid,numero_module,etat, xc, yc,largeur,profondeur,angle)
  //tx_mhomplan_showpos(2,2,1,400,400,4,2,0); 
  var ycz = (row['yc']*params.zoom/20- (a1-1)*600) ;
  var xcz = (row['xc']*params.zoom/20- (b1-1)*1000); 
  tx_mhomplan_showpos(row['uid'],row['numero_module'],row['etat'],xcz,ycz,row['largeur']*params['zoom'],row['profondeur']*params['zoom'],row['angle'],' ');
};

if(faire=="majsession"){
 document.getElementById('xc').value=row['scrollx'];
 document.getElementById('yc').value=row['scrolly'];
}
};
//-----------------------------------------------------------------------
var planajax = function (request,faire)

{//alert(request);//alert(faire);
    var xhr=null;
    
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert_ajax(xhr,request,faire); };
    //on appelle le fichier reponse.txt
  
    //alert(request);

      xhr.open("GET", "ac4/php/planreponse.php?"+request, true);

    xhr.send(null);

};
//---------------------------------------------
var alert_ajax = function (xhr,request,faire){
    
if (xhr.readyState==4) {
  var docXML= xhr.responseXML;
  function retrouve(item){
    if(x = docXML.getElementsByTagName(item).item(0).firstChild)return x.data ;//remis x= au lieu de x== AC 30-07-2010
    else return '';
  };  	
  var root = docXML.getElementsByTagName('rows').item(0);
  //on fait juste une boucle sur chaque element "donnee" trouvé
  //alert(xhr.responseText);
  row=new Array;
  for(i=1;i<root.childNodes.length;i++){  
    if( key = root.childNodes.item(i).tagName){//remis key = au lieu de key == AC 30-07-2010
      value = retrouve(key);
      row[key]=value;
    }
  }
  retourplanajax(row,faire); 
}
};
//----------------------------------------------------------------------
var openajax = function (url1,faire,quoi){//alert(url1);

document.getElementById('note').innerHTML="mise à jour pour : "+quoi;
//alert("x="+x+"&y="+y+"&w1="+w1+"&h1="+h1+"&zoom="+params.zoom);
    var xhr=null;   
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }   
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() {alert_openajax(xhr,faire,quoi); };
    //on appelle le fichier reponse.txt
    xhr.open("GET", url1, true);
    //alert(request);
    xhr.send(null);
}; 
//--------------------------------------
var alert_openajax = function (xhr,faire,quoi){//alert(request);

if (xhr.readyState==4) {
//
  var retour = xhr.responseText;
  document.getElementById('note').innerHTML="";
  if (faire == "majcartes"){
  if (retour.search("OK") != 0) alert ( retour.search("OK")+quoi+" : "+retour);
  if (quoi=='tousleszoom'){
    alert("la mise à jour des cartes prend environ une minute veuiller patienter jusqu'à son achèvement" );
    openajax('ac4/php/sousplanstand.php?zoom='+zm2,"majcartes",'zoom5');
  };
  if (quoi=='zoom5') openajax('ac4/php/sousplanstand.php?zoom='+zm3,"majcartes",'zoom10'); 
  if (quoi=='zoom10') openajax('ac4/php/sousplanstand.php?zoom='+zm4+'&j=1',"majcartes",'zoom20-1'); 
  if (quoi=='zoom20-1') openajax('ac4/php/sousplanstand.php?zoom='+zm4+'&j=2',"majcartes",'zoom20-2');
  if (quoi=='zoom20-2') openajax('ac4/php/sousplanstand.php?zoom='+zm4+'&j=3',"majcartes",'zoom20-3');
  if (quoi=='zoom20-3') openajax('ac4/php/sousplanstand.php?zoom='+zm4+'&j=4',"majcartes",'zoom20-4');
  if (quoi=='zoom20-4'){
    alert("les cartes sont maintenant à jour; l'affichage va se raffraichir");
    stopmove=0;mode1();
  }  
  }
  
  if (faire == "confirmer") {
    if (retour !=1){// alert(retour);
      alert (" au moins une de vos option n'est plus disponible, veuillez recommencer la sélection de vos modules et la confirmer dans le délai imparti");
      params.liste='';params.jeton='';params.empl='';
      document.getElementById('uids').innerHTML='';
      for (x in uids){
      if (typeof(uids[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
        empls[x]=0;
        uids[x]=0;
        jetons[x]=0;
      }
      document.getElementById('imprimer').style.display="none";
      document.getElementById('confirmation').style.display="none"; 
    }else{
      var liste_array = params.liste.split(",");
      
      //---------trier la liste des uid dans l'ordre des num de module -----------
      var empl_array = params.empl.split(",");
      var temp_array= new Array();
      for (x in liste_array){
      if (typeof(liste_array[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js
        temp_array[x] = empl_array[x]+','+liste_array[x]; 
      }
      temp_array.sort();
      for (x in temp_array){
       if (typeof(temp_array[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js
        temp_array[x] =temp_array[x].split(",")[1]; 
      }
      //------------------------------------  
      var uidstri = temp_array.join(); //alert(uidstri);
      if(params.liste){window.location.href = racine+"fiche-creation-emplacement.html?uids="+uidstri +"&amp;jetons="+params.jeton;} //MODIF// + patch  jpb 30/01/10 >> ajout amp;
    } 
  }
   if (faire == "annuler"){return false;}
}
};

//----------------------------------------------------------------------- 
 var majetatsajax = function (){ window.status ="mise à jour etats";
 
    var xhr=null;   
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }   
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() {alert_majetatsajax(xhr); };
    //on appelle le fichier reponse.txt
   
    xhr.open("GET", racine+"ac4/php/uidsetats.php");
    //alert(request);
    xhr.send(null);
}; 
//------------------------------------------
var alert_majetatsajax = function (xhr){
    if (xhr.readyState==4) {
      //alert("1313 "+xhr.responseText);
      //alert('etats');
      var uidsetats=xhr.responseText.split('Z');
      var uids = uidsetats[0].split(',');
      var etats = uidsetats[1].split(',');
      var listejetons = uidsetats[2];
      var rues = uidsetats[3].split(',');
//alert("1320 " + uidsetats[3]);//AC
      var  etat_array=new Array;//alert(uids);
 
      for (x in uids){
      if (typeof(uids[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
      etat_array['div'+uids[x]]=etats[x];
      rue_array['div'+uids[x]]=rues[x];//AC    
      }
      var divnode=document.getElementById('numstand');
      var divs = divnode.childNodes;
      for (var i=0;i<divs.length;i++){
          //alert(divs[i].id);        
         divs[i].className= "e"+etat_array[divs[i].id]+divs[i].className.substr(2); 
       //maj de la liste eventuelle de reservation :
             
       window.status="";     
      }
     if (params.liste) testerjetons(listejetons);           
    }
};
//-------------------------
var testerjetons = function (listejetons) {//alert(listejetons);
  //un des jetons est-il perdu ?
  var nbjetonsperdus =0;
  for (x in jetons){
  if (typeof(jetons[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
  if(listejetons.search(jetons[x]) ==-1 ) nbjetonsperdus +=1;
  }
  if(nbjetonsperdus>0){
  
  
    alert (nbjetonsperdus+" Vous n'avez pas conclu votre réservation dans le délai imparti. Vous devez recommencer");
    
   //cacheajax2("a"+a1+"b"+b1,1);
   
    //mettre en bleu la liste de reservation en cours:
       if(params.liste){//alert("params.liste" +params.liste);
       var liste_array = params.liste.split(',');
       for (i=0;i<liste_array.length;i++){
       document.getElementById('div'+liste_array[i]).style.color="";
       }
       }
    uids=new Array();
    jetons=new Array();
    params.liste =""; params.empl =""; params.jeton ='';
    document.getElementById("uids").innerHTML='' ;
    document.getElementById('imprimer').style.display="none";
    document.getElementById('confirmation').style.display="none" ;    
  }
};
//----------------------------------------------------------------------- 
 var cacheajax2 = function (mapid,mapnum){ //alert("1367");
 
    var xhr=null;   
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }   
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() {alert_cacheajax2(xhr,mapid,mapnum); };
    //on appelle le fichier reponse.txt
    //if(droit==4||droit==3) {
     xhr.open("GET", racine+"ac4/php/sousplanstand21_2.php?zoom="+ params.zoom +"&a1="+a1+"&b1="+b1+"&d="+droit, true);
    
  
    //alert(request);
    xhr.send(null);
}; 
//-------------------
var alert_cacheajax2 = function (xhr,mapid,mapnum){//alert(request);
    if (xhr.readyState==4) {
      //alert(xhr.responseText);
      var mapdiv=xhr.responseText.split('Z');    // corrections jPB le 25-07-10
      ts = mapdiv[2];
      var mapnode=document.getElementById('map'+mapnum);
      mapnode.innerHTML=mapdiv[1];
       document.getElementById("numstand").innerHTML='';
       
       var areas=mapnode.childNodes;    // corrections jPB le 25-07-10
        
       for (var j=0;j <areas.length;j++){     // corrections jPB le 25-07-10
         //areas[j].onclick=consulter;
         addEvent(areas[j], 'click',consulter, false);
         stand= areas[j].id.split(",");
         stand_array[stand[0]]=stand;
      
       }
       
       var divnode=document.getElementById('numstand');
       divnode.innerHTML=mapdiv[0]; 
       var divs = divnode.childNodes;
         for (j=0;j <divs.length;j++){ 
         //divs[j].onclick=consulter;
         addEvent(divs[j], 'click',consulter, false);
       }
       majetatsajax();   
       //mettre en bleu la liste de reservation en cours:
       if(params.liste){//alert("params.liste" +params.liste);
       var liste_array = params.liste.split(',');
       for (i=0;i<liste_array.length;i++){
       if(document.getElementById('div'+liste_array[i])) document.getElementById('div'+liste_array[i]).style.color="blue";
       }
       }
          //isdrag1=true; 
    }
};
//-------------------------------------------------------------------
var cacheajax3 = function (x,y,w1,h1){ stopmove1=1;//alert("257");

window.status="chargement modules";
//alert("x="+x+"&y="+y+"&w1="+w1+"&h1="+h1+"&zoom="+params.zoom);
    var xhr=null;   
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }   
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() {alert_cacheajax3(xhr); };
    //on appelle le fichier reponse.txt
    xhr.open("GET", racine+"ac4/php/module.php?x="+x+"&y="+y+"&w1="+w1+"&h1="+h1+"&zoom="+params.zoom, true);
    //alert(request);
    xhr.send(null);
}; 

var alert_cacheajax3 = function (xhr){//alert(request);
if (xhr.readyState==4) {//alert(xhr.responseText );
//
  var table=xhr.responseText.split('<br />');
   
  //dessiner les divi :
  for (x in table){
  if (typeof(table[x])=="function") continue; // AC ajout nécessaire si usage de prototype.js 
    stand = table[x].split(",");
    if (stand[0] && stand[0]!='uid'){
      var ycz = (stand[4]*params.zoom/20- (a1-1)*600) ;
      var xcz = (stand[3]*params.zoom/20- (b1-1)*1000);     
      tx_mhomplan_showpos(stand[0],stand[1],stand[2],xcz,ycz,stand[5]*params.zoom,stand[6]*params.zoom,stand[7],stand[8],stand[9]); 
       //alert(a1+"  "+b1+"  "+xcz+" "+ycz+" "+stand[1]+" "+stand[3]+" "+stand[4]) ;  
    }      
   }
}
//alert("320");
window.status="";
stopmove1=0;
};
//--------------------------------------------------------------------
var reserverajax2 = function (stand,option,jeton){//alert(option+" " +jeton);

    uid=stand[0]; 
    var xhr=null;   
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }   
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert_reserverajax2(xhr,stand,option); };
    //on appelle le fichier php
    //alert("?uid="+uid+"&k="+k);
   // cejour = new Date();ms = cejour.getTime();
    xhr.open("GET", racine+"ac4/php/reserver2.php?uid="+uid+"&option="+option+"&jeton="+jeton, true);
    xhr.send(null);
}; 

//--------------------------
var alert_reserverajax2 = function (xhr,stand,option){//alert(request);

    if (xhr.readyState==4) { //alert ("1477  "+ xhr.responseText);
      if(option==1 && xhr.responseText.length> 10){
      var jeton = xhr.responseText;
        optionok(stand,option,jeton); // l'option est accordee
        majetatsajax();
        //alert( " 1 : xhr :" +xhr.responseText);
      }
      if(option==0 && xhr.responseText==1){
        optionok(stand,option,jeton); // l'option est bien supprimée
        majetatsajax();
        //alert( " 1 : xhr :" +xhr.responseText);
      }    
      if(xhr.responseText==0)  optionko(stand, option);
      if(xhr.responseText==-1) ; //alert("reponse reserverajax2 =-1"); 
    }
};
//----------------------------------------------------------------------------



//-------- paramètres venant du serveur --------------------------------------

params["mode"]= obroc.mode?obroc.mode:LireCookie("mode")?LireCookie("mode"):1;
params["zoom"]= obroc.zoom;
params["liste"]= obroc.liste;
racine= obroc.racine;
racine2 = obroc.racine2;
droit = obroc.droit;
ts=obroc.ts;
//-------------------------------mapping events -------------------------

var a =document.getElementById("div0");
a1=LireCookie("a1");b1=LireCookie("b1");
a.style.cursor ="url(ac4/php/openhand.cur),default";
a.onmousedown=selectmouse1;
a.onmouseup=mouseup1;
var b=document.getElementById("planbrocante");
b.onmousedown = function(){return false;}; 

// pour eviter de bouger la carte si on est en dehors de sa fenètre 
if(params.mode !=3) window.document.onmouseover=winonmouseover;
if(params.mode !=3 && !(params.mode ==1 && droit == 4)) window.document.onmousedown=function() {return false;};

// pour le calcul de l'angle en mode 3:     
if(params.mode ==3){ a.onclick=mouseclick;a.style.cursor ="default";}

a.scrollLeft = obroc.scrollx ? obroc.scrollx : LireCookie("scrollx");
a.scrollTop  = obroc.scrolly ? obroc.scrolly : LireCookie("scrolly");

// si le browser n'enregistre pas les cookies sous javascript (cf Opera) : 
if( a.scrollLeft==null && a.scrollTop==null){
  params.zoom=zm1;
  document.getElementById("zoomtxt").innerHTML="2";
}

var $wscrollx = obroc.wscrollx ? obroc.wscrollx : LireCookie("wscrollx");
var $wscrolly = obroc.wscrolly ? obroc.wscrolly : LireCookie("wscrolly");
window.scrollTo($wscrollx,$wscrolly);   
var el;
document.getElementById("zoommoins").onclick=dezoomer;
document.getElementById("zoomplus").onclick=zoomer;
if(el=document.getElementById("reservation1")) el.onclick=message1;
if(el=document.getElementById("consultation")) el.onclick=mode1;
if(el=document.getElementById("reservation")) el.onclick=mode2;
if(el=document.getElementById("confirmation")) el.onclick=valider;
if(el=document.getElementById("placement")) el.onclick=mode3; 
if(el=document.getElementById("enregistrer"))el.onclick=enregistrer; 
if(el=document.getElementById("creer")) el.onclick= creer;
if(el=document.getElementById("majcartes")) el.onclick=enregistrercarte;
if(el=document.getElementById("imprimer")) el.onclick=imprimer;
if(el=document.getElementById("p1.1")) el.onload=deplacer;
if(el=document.getElementById("p1.1")) el.onmouseout=mouseout;

window.document.onmouseup=winonmouseup;
window.document.onmouseover=winonmouseover;

window.onunload= majsession; 

if(document.ondragstart) document.ondragstart=function(){return false;};
window.document.onmousemove=function () {return false;};
//window.document.onmousedown=function () {return false;};

 
changer(); 


};


//-----------------------------------------------------------------------------

