
var allDots=new Array(50);
var allCibles=new Array(5);
var cible;
var mapBaseSrc;

var NavYes=navigator.userAgent.toLowerCase().indexOf('mozilla')!=-1&&navigator.userAgent.toLowerCase().indexOf('compatible')==-1?1:0;
var DomYes=document.getElementById?1:0;

function  getCible(i) {
  if(i==null) {
    i = 0;
  }
  if(allCibles[i]== null) {
    var t = document.createElement("img");
    window.document.body.appendChild(t);
    t.style.position='absolute';
    t.style.zIndex=3;
    t.src="/cible.gif";
    allCibles[i]=t;
  }
  return allCibles[i];
}

function  getDot(i) {
  if(allDots[i] == null) {
    var t = document.createElement("img");
    window.document.body.appendChild(t);
    t.style.position='absolute';
    t.style.zIndex=3;
    if(i==3){
      t.src="/images/motoR.gif";
    } else if (i == 5){
      t.src="/images/motoB.gif";
    } else {
      t.src="/dot.gif";
      }
    allDots[i] = t;
  }  
  return allDots[i];
}
function carteBack(){
    document.carte.loaded = nothing;
    document.carte.src = mapBaseSrc;
    if(fixedPos) {
        document.carte.style.marginLeft = oldMarginLeft;
    } else {
        document.carte.style.marginLeft = oldMarginLeft;
  //      document.carte.style.marginLeft = 0;
    }
  //the following lines seams to correct display bug(old image still displayed 'under' new image on FireFox)
  if(navigator.userAgent.indexOf("MSIE")== -1) {
      //to avoid looping on loaded
      document.carte.src = document.carte.src;
  }
}
function showImage(img){
    if(mapBaseSrc == null) {
        mapBaseSrc = document.carte.src;
    }

    if(document.carte.src.indexOf(img) != -1) {
        carteBack();
    } else {
        document.carte.onload = loaded;
        document.carte.src = img;
    }
}
var oldMarginLeft;

function loaded(){
  document.carte.loaded = nothing; //to avoid looping on loaded
  if(mapBaseSrc == document.carte.src){
    return;
  }
  var xc = 0;
  var yc = 0;
  var tmp = document.carte;
  if(fixedPos) {
    yc=tmp.offsetTop + document.body.scrollTop;
    xc=tmp.offsetLeft + document.body.scrollLeft;
  } else {
    while(tmp){yc+=tmp.offsetTop;xc+=tmp.offsetLeft;tmp=tmp.offsetParent;}
  }
  
  if(xc + document.carte.width > document.body.offsetWidth) {
        //then put slide in middle
        if(fixedPos) {
          oldMarginLeft = document.carte.style.marginLeft;
          document.carte.style.marginLeft = document.body.offsetWidth / 2 - document.carte.width / 2;
        } else {
           oldMarginLeft = document.carte.style.marginLeft;
           document.carte.style.marginLeft = (document.body.offsetWidth - document.carte.width ) / 2 ;
            status = "centering";
           //document.carte.style.marginLeft = -10;
           //document.carte.style.paddingLeft = 10;
        }
  }
  //the following lines seams to correct display bug(old image still displayed 'under' new image on FireFox)
  if(navigator.userAgent.indexOf("MSIE")== -1) {
      document.carte.src = document.carte.src;
  }
}
function nothing(){

}
function showSlide(img,target){
  document[target].src = img;
}

var fixedPos = false;

function drawLine(img,cx,cy) {
    if(mapBaseSrc != null && mapBaseSrc != document.carte.src) {
        carteBack();
    }
      stopDrawing = false;
  var t = getDot(0);
  //t.style.left=10;
  //t.style.top=10;
  //t.style.visibility="visible";
  //t = getDot(1);
  //t.style.left=330;
  //t.style.top=330;
  //t.style.visibility="visible";
  var tmp = img;
  var xi = 0 ,yi = 0;
  while(tmp){yi+=tmp.offsetTop;xi+=tmp.offsetLeft;tmp=tmp.offsetParent;}
  var tmp = document.carte;
  var xc = 0 ,yc = 0;

  if(fixedPos) {
    yc=tmp.offsetTop + document.body.scrollTop;
    xc=tmp.offsetLeft + document.body.scrollLeft;
  } else {
    while(tmp){yc+=tmp.offsetTop;xc+=tmp.offsetLeft;tmp=tmp.offsetParent;}
  }

//}

//function nothing(){
 var x1,y1,x2,y2,dx,dy,nbpt;
 if(!document.layers) {
  x1 = xi  + img.width;
  y1 = yi + img.height/2;
  
  x2 = xc + cx;
  y2 = yc + cy;

 } else {
  x1 = img.x + img.width;
  y1 = img.y + img.height / 2;
  x2 = document.carte.x + cx;
  y2 = document.carte.y + cy;
  //alert("n 1: " + x1 + " " + y1 +" 2: " + x2 + " " + y2);
 }

 nbpt = 15;
 dx=(x2-x1) / (nbpt + .5);
 dy=(y2-y1) / (nbpt + .5);
 //alert("d" + dx + " " + dy + "2 " + x2 + " " + y2);
 var halfDotX = getDot(0).width / 2;
 var halfDotY = getDot(0).height / 2;
 for (i = 0; i < nbpt ; i++)
 {
  var t = getDot(i);
  t.style.left=x1 + (.5 + i) * dx - halfDotX;
  t.style.top=y1 + (.5 + i) * dy - halfDotY;

  t.style.visibility="visible";
 }
 var cible = getCible();
 cible.style.left = x2 - cible.width / 2;
 cible.style.top = y2 - cible.height / 2;
 cible.style.visibility="visible";
}

function deleteLine() {
  var i=0;
  while(i<allDots.length && allDots[i] != null) {
    allDots[i].style.visibility="hidden";
    i++;
  }
  getCible(0).style.visibility="hidden";
  getCible(1).style.visibility="hidden";
}

function showXY(image,event){
  if(mapBaseSrc != null && mapBaseSrc != document.carte.src) {
    carteBack();
  } else {
    var x = event.clientX - image.offsetLeft - image.offsetParent.offsetLeft;
    var y = event.clientY - image.offsetTop - image.offsetParent.offsetTop;
    alert( "X=" + x  + " Y=" + y);
 }
}
