//var decalageHaut = 247;	
var points = new Array();

function drawFF(tabPt) //Pour tracer sous Firefox
{
	var canvas = document.getElementById("canvas");
	var ctx = canvas.getContext("2d");

	ctx.clearRect (0, 0, canvas.width, canvas.height);
	ctx.fillStyle = "rgba(16, 74, 137, 0.30)";
	
	if(tabPt.length == 0)
	{
		ctx.beginPath();
		
		ctx.moveTo(0, 0);//Point de debut;
	}
	else
	{
		ctx.beginPath();
		
		ctx.moveTo(tabPt[0], tabPt[1]);//Point de debut;
		
		for(var i = 2; i < tabPt.length; i = i + 2)
			ctx.lineTo(tabPt[i], tabPt[i + 1]);
	}
	
	ctx.closePath();	
	
	if(tabPt.length < 6)
		ctx.stroke();
	else
		ctx.fill();
}

function drawFFall(tabPt) //Pour tracer sous Firefox
{
	var canvas = document.getElementById("canvas");
	var ctx = canvas.getContext("2d");
	ctx.clearRect (0, 0, canvas.width, canvas.height);
	
	var tabAtt = tabPt.split(';');
	
	for(var j = 0; j < (tabAtt.length - 1); j++)
	{
		var tabAttZ = tabAtt[j].split('§');
		var tabAtt2 = tabAttZ[0].split(',');
		
		var canvas = document.getElementById("canvas");
		var ctx = canvas.getContext("2d");
		ctx.fillStyle = "rgba(16, 74, 137, 0.30)";
		
		ctx.beginPath();
		
		ctx.moveTo(tabAtt2[0], tabAtt2[1]);//Point de debut;
		
		for(var i = 2; i < tabAtt2.length; i = i + 2)
			ctx.lineTo(tabAtt2[i], tabAtt2[i + 1]);
		
		ctx.closePath();
		ctx.fill();
	}
}

function drawIE(tabPt) // Pour tracer sous IE
{
	if(tabPt.length == 4)
		var int = "<v:line from=\"" + tabPt[0] + ", " + tabPt[1] + "\" to=\"" + tabPt[2] + ", " + tabPt[3] + "\" strokecolor=\"#104a89\"></v:line>";
	else
	{
        var pt = tabPt.join(',');
		var int = "<v:polyline points=\"" + pt + "\" stroked=\"False\" ><v:fill on=\"True\" type=\"solid\" color=\"#104a89\" opacity=\"30%\" /></v:polyline>";
	}
	
    document.getElementById('imgPlan').innerHTML = int;
}

function drawIEall(tabPt) // Pour tracer sous IE
{
	var tabAtt = tabPt.split(';');
	var int = "";
	
	for(var i = 0; i < (tabAtt.length - 1); i++)
	{
		var tabAttZ = tabAtt[i].split('§');
        
        var tabPt = tabAttZ[0].split(',');
        
        // modif des coord en X pour décalage IE
        var demi_width_imgPlan = Math.round(parseInt(document.getElementById('imgPlan').style.width) / 2);
        for(var x = 0 ; x < tabPt.length ; x++)
        {
            if(!(x % 2))
                tabPt[x] = tabPt[x] - demi_width_imgPlan;
        }
        
        var pt = tabPt.join(',');
		
		int += "<v:polyline points=\"" + pt + "\" stroked=\"False\" ><v:fill on=\"True\" type=\"solid\" color=\"#104a89\" opacity=\"30%\" /></v:polyline>";
	}
	
	document.getElementById('imgPlan').innerHTML = int;
}

function eff(nb) //Pour effacer
{
	if(nb == '1')
	{
		points.pop();
		points.pop();
	}
	else
		points = new Array();
	
	
	if(navigator.appName.substring(0,3) == "Net")
		drawFF(points);
	else
		drawIE(points);
}

function sourisxy(e) // Permet de recuperer la position de la souris
{
	if(navigator.appName.substring(0,3) == "Net")
    {
        x = e.pageX - document.getElementById('imgPlan').offsetLeft;
        y = e.pageY - document.getElementById('imgPlan').offsetTop;
    }
    else
    {
        x = event.x - document.getElementById('imgPlan').offsetLeft + document.documentElement.scrollLeft;
        y = event.y - document.getElementById('imgPlan').offsetTop + document.documentElement.scrollTop;
        
        // modif des coord en X pour décalage IE
        var demi_width_imgPlan = Math.round(parseInt(document.getElementById('imgPlan').style.width) / 2);
        x = x - demi_width_imgPlan;
    }
	
	points.push(x, y);
	
	if(navigator.appName.substring(0,3) == "Net")
		drawFF(points);
	else
		drawIE(points);
}

/*function inPoly(poly,px,py) //Test la presence d un point dans un ploygone
{
	 var npoints = poly.length; // number of points in polygon
	 var xnew,ynew,xold,yold,x1,y1,x2,y2,i;
	 var inside=false;

	 if (npoints/2 < 3) { // points don't describe a polygon
		  return false;
	 }
	 xold=poly[npoints-2];
	 yold=poly[npoints-1];
	 
	 for (i=0 ; i < npoints ; i=i+2) {
		  xnew=poly[i];
		  ynew=poly[i+1];
		  if (xnew > xold) {
			   x1=xold;
			   x2=xnew;
			   y1=yold;
			   y2=ynew;
		  }
		  else {
			   x1=xnew;
			   x2=xold;
			   y1=ynew;
			   y2=yold;
		  }
		  if ((xnew < px) == (px <= xold) && ((py-y1)*(x2-x1) < (y2-y1)*(px-x1))) {
			   inside=!inside;
		  }
		  xold=xnew;
		  yold=ynew;
	 }
	 
	 /*if(inside == true)
	 	alert("in decal => "+document.documentElement.scrollTop+" X => "+px+" Y => "+py);
	 else
	 	alert("out decal => "+document.documentElement.scrollTop+" X => "+px+" Y => "+py);*/
	 //return inside;
//}
