//variable a juster en cas de changement de coordonnées de la carte de france
var decalageX=22;
var decalageY=148;

function zoomSens(sens,xx,yy){
	var x;
	var y;

	if(document.all)
	{
		e = window.event;
		x = e.x;
		y = e.y;
	}
	else
	{
		x=xx;
		y=yy;	}

	dMapWorldTLX = document.ECWView1.GetTopLeftWorldCoordinateX();
	dMapWorldTLY = document.ECWView1.GetTopLeftWorldCoordinateY();
	dMapWorldBRX = document.ECWView1.GetBottomRightWorldCoordinateX();
	dMapWorldBRY = document.ECWView1.GetBottomRightWorldCoordinateY();

/*
alert(dMapWorldTLX);
alert(dMapWorldTLY);
alert(dMapWorldBRX);
alert(dMapWorldBRY);*/


	nWidth  = document.ECWView1.GetViewWidth();
	nHeight = document.ECWView1.GetViewHeight();

			
	dMapWorldWidth = document.ECWView1.GetBottomRightWorldCoordinateX() - document.ECWView1.GetTopLeftWorldCoordinateX();
	dMapWorldHeight = document.ECWView1.GetTopLeftWorldCoordinateY() - document.ECWView1.GetBottomRightWorldCoordinateY();
						
						
	nScale = dMapWorldWidth / nWidth;
	dMapClicX = dMapWorldTLX + (x * nScale); 
	dMapClicY = dMapWorldTLY - (y * nScale);

	if (sens=="+")
	{
		dNewMapWorldTLX = dMapClicX - (dMapWorldWidth/4);
		dNewMapWorldTLY = dMapClicY + (dMapWorldHeight/4);
		dNewMapWorldBRX = dMapClicX + (dMapWorldWidth/4);
		dNewMapWorldBRY = dMapClicY - (dMapWorldHeight/4);
	}
	else if (sens=="-")
	{
		dNewMapWorldTLX = dMapClicX - (dMapWorldWidth);
		dNewMapWorldTLY = dMapClicY + (dMapWorldHeight);
		dNewMapWorldBRX = dMapClicX + (dMapWorldWidth);
		dNewMapWorldBRY = dMapClicY - (dMapWorldHeight);
	}

//alert(dNewMapWorldTLX+":"+dNewMapWorldTLY+":"+dNewMapWorldBRX+":"+dNewMapWorldBRY);
document.ECWView1.SetExtents(dNewMapWorldTLX,dNewMapWorldTLY,dNewMapWorldBRX,dNewMapWorldBRY);
//ok bourges document.ECWView1.SetExtents(587120.5863670913,2239935.902079867,620952.1532436267,2220193.343159873);
}

function recentrer(ev)
{
	// IE
	if(document.all)
	{
		e = window.event;
		pixelX = e.x;
		pixelY = e.y;
	}
	// Mozilla
	else
	{
		e = ev;
		pixelX = e.clientX;
		pixelY = e.clientY;

	}
/*
alert("recentrer x"+pixelX);
alert("recentrer y"+pixelY);
*/

//Coordonnées du point géographiques
//coord x0geo du point 0 : 51065 
//coord x1geo du point 1 : 1030760  
//coord x0pixel du point 0 : 821 
//coord x1pixel du point 1 : 952
Xgeo=51065+(pixelX-821)*((1030760-51068)/(952-821))


//coord x0geo du point 0 : 1720090 
//coord x1geo du point 1 : 2679000
//coord x0pixel du point 0 : 210 
//coord x1pixel du point 1 : 81
/*Ygeo=2679000+(pixelY-81)*((2679000-1720090)/(81-210))*/
Ygeo=2679000+(pixelY-decalageX)*((2679000-1720090)/(decalageX-decalageY))

//alert(Xgeo+" "+Ygeo);
//document.ECWView1.SetExtents(587120.5863670913,2239935.902079867,620952.1532436267,2220193.343159873);
//document.ECWView1.SetExtents(587120,2239935,620952,2220193);
TLX=Xgeo-15000;
TLY=Ygeo+15000;
BRX=Xgeo+15000;
BRY=Ygeo-15000;

document.ECWView1.SetExtents(TLX,TLY,BRX,BRY);
//alert(TLX+"|"+TLY+"|"+BRX+"|"+BRY+"|");
}

/* Appel : 	1 pour le clic 
		2 pour le rechargement de la carte
		TLX : coordonnées x du coin haut gauche 
		TLY : coordonnées y du coin haut gauche 
		BRX : coordonnées x du coin haut droite 
		BRY :coordonnées y du coin haut droite 

*/

/* *******************************************************************************/
/* Fonction permettant de dessiner la div sur la carte de situation de la france */
/* Parametre : les coordonnées géo de la carte principale qui sont converties en */
/*		pixel pour afficher une div sur la carte de situation            */
/* *******************************************************************************/

function placerDivSitu(TLX,TLY,BRX,BRY)
{/*
alert(TLX);
alert(TLY);
alert(BRX);
alert(BRY);*/

	//Formule utilisée pour deduire les suivantes
	//Xgeo=51065+(pixelX-821)*((1030760-51068)/(952-821))
	//Ygeo=2679000+(pixelY-81)*((2679000-1720090)/(81-210))
		
	//Calcul des coordonnées des points en pixel
	pixelX1=((TLX-51065)*(952-821))/(1030760-51068)+821;

	/*pixelY1=((TLY-2679000)*(81-210))/(2679000-1720090)+81;*/
	pixelY1=((TLY-2679000)*(decalageX-decalageY))/(2679000-1720090)+decalageX;
	
	pixelX2=((BRX-51065)*(952-821))/(1030760-51068)+821;
	
	/*pixelY2=((BRY-2679000)*(81-210))/(2679000-1720090)+81;*/
	pixelY2=((BRY-2679000)*(decalageX-decalageY))/(2679000-1720090)+decalageX;

	/* limite inferieur de la div de la carte de situation (france) */
	/* limite superieur div+carte(261,160)*/
	/* a mettre a jour en cas de deplacement ou modification des tailles carte div
	Rmq : +-10 pour etre legerement decalé et ne pas se superposer a d'autres div */
	if (pixelX1<760+10){pixelX1=760+10;}
	if (pixelX2>(760+261)){pixelX2=(760+261);}
	/*if (pixelY1 <71){pixelY1=71;}*/
	if (pixelY1 <10){pixelY1=10;}
	/*if (pixelY2 >(71+160)-10){pixelY2=(71+160)-10;}*/
	if (pixelY2 >(10+160)-10){pixelY2=(10+160)-10;}
	
	/*alert("TLX:"+TLX); alert("TLY:"+TLY);	alert("BRX:"+BRX); alert("BRY:"+BRY);
	alert("Coord X1:"+pixelX1); alert("Coord Y1:"+pixelY1);	
	alert("Coord X2:"+pixelX2);alert("Coord Y2:"+pixelY2);*/
	


	//Si le cadre a affiché est trop petit on affiche un cercle (image gif transparente)
	if (pixelX2-pixelX1<10 || pixelY2-pixelY1<10)
	{
		/* -10 pour etre au centre/tenir compte de la moitié du div qui fait 20 de largeur hauteur */
		document.getElementById("rondSitu").style.top = (pixelY2+pixelY1)/2-10+"px";
		document.getElementById("rondSitu").style.left = (pixelX2+pixelX1)/2-10+"px";
		document.getElementById("rondSitu").style.visibility = 'visible';
		document.getElementById("carreSitu").style.visibility = 'hidden';
	}
	else
	{
		document.getElementById("carreSitu").style.top = pixelY1+"px";
		document.getElementById("carreSitu").style.left = pixelX1+"px";
		document.getElementById("carreSitu").style.width = pixelX2-pixelX1+"px";
		document.getElementById("carreSitu").style.height = pixelY2-pixelY1+"px";

		document.getElementById("rondSitu").style.visibility = 'hidden';
		document.getElementById("carreSitu").style.visibility = 'visible';
	}

	// Si le placement gauche n'est pas bon on fait disparaitre le rond rouge
	if ( (((pixelX2+pixelX1)/2)>(760+261)) || ((pixelX2+pixelX1)/2)<760 )
	{
		//alert((pixelX2+pixelX1)/2);
		document.getElementById("rondSitu").style.visibility = 'hidden';
	}

	// Si le placement haut n'est pas bon on fait disparaitre le rond rouge
	if ( (((pixelY2+pixelY1)/2) >160) || ((pixelY2+pixelY1)/2)<0)
	{
		//alert((pixelY2+pixelY1)/2);
		document.getElementById("rondSitu").style.visibility = 'hidden';
	}
}

/*
function calcScroll()
{
alert(window.innerWidth);
alert(document.body.offsetWidth);
alert(document.body.offsetHeight);
alert(window.outerWidth);
}*/

//*************
// fonction utilisée sur le bouton ok dans l'interface (chosir un toponyme)
//***********
function localiserCommune()
{
	X=document.form1.coordX.value;
	Y=document.form1.coordY.value;
		
	if ( X != "..." && Y != "..." && X !="" && Y != "" )
	{
		TLX=parseFloat(X,10)-5000;
		TLY=parseFloat(Y,10)+5000;
		BRX=parseFloat(X,10)+5000;
		BRY=parseFloat(Y,10)-5000;
		document.ECWView1.SetExtents(TLX,TLY,BRX,BRY);
	}
	else
	{
		alert("Le village n'est pas localisable");	
	}

}
