var decalageHaut = 161;	
var decalageDroite = 200;	

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(0, 0, 0, 0.5)";
	
	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('$');
		tabAttZ =  tabAtt[j].split('$');
		var tabAtt2 = tabAttZ[0].split(',');
		//alert(tabAttZ[0]); 
		
		var canvas = document.getElementById("canvas");
		var ctx = canvas.getContext("2d");
		ctx.fillStyle = "rgba(0, 0, 0, 0.5)";
		
		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=\"#000000\"></v:line>";
	else
	{
		var pt = tabPt.join(',');
		var int = "<v:polyline points=\"" + pt + "\" stroked=\"False\" ><v:fill on=\"True\" type=\"solid\" color=\"#000000\" opacity=\"50%\" /></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('$');
		
		int += "<v:polyline points=\"" + tabAttZ[0] + "\" stroked=\"False\" ><v:fill on=\"True\" type=\"solid\" color=\"#000000\" opacity=\"50%\" /></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
{
	x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
	y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
	
	if(navigator.appName.substring(0,3) == "Net")
		y = y - 161;
	else
	{
		x = x - 2;
		y = ( y - 164 ) + document.documentElement.scrollTop;
	}
	
	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;
//}

