var mapminiCurrentX;
var mapminiCurrentY;
var mapminiClientwidth;
var mapminiClientheight;
var viewminiCurrentX=0;
var viewminiCurrentY=0;
var mapminitop;
var mapminilieft;
var mapminiright=0;
var mapminileft=0;

function GetMiniCarte()
{

var obj = document.getElementById("divMiniMap");
if(obj!=null)
{
if(obj.offsetWidth!=0)
{
if(isMinNS4)
{
mapminiClientwidth = obj.offsetWidth-2;
mapminiClientheight = obj.offsetHeight-2;
}
else
{
mapminiClientwidth = obj.offsetWidth;
mapminiClientheight = obj.offsetHeight;
}

  var loc = location.href;
	var chaine = szHttpServeur +
                "&ACTION=BuildMap!EMPRISE=ALL!OUTPUTSIZE=" + mapminiClientwidth + "@" + mapminiClientheight + "!LOCATION=" + loc;

				
	updateBufferMiniMap(chaine);
	}
	}
}
<!-- ----------------------------------------------------------------- -->
<!-- -- Converti les coordonée ecran en coordonée system (réelle)----- -->
<!-- ----------------------------------------------------------------- -->
function ConvertSysToViewMini(x,y)
{
	var bndTop;
	var bndLeft;
	var mapWidth;
	var mapHeigth;
	mapWidth = mapminiright-mapminileft;
	if(mapWidth!=0)
	{
	var zoom;
	zoom = 0.0;
	zoom = mapminiClientwidth/mapWidth;
  obj = document.getElementById("divMiniMap");
	bndLeft = obj.offsetLeft;
 	bndTop = obj.offsetTop;

	viewminiCurrentX = (x  - mapminileft)*zoom + bndLeft;
	viewminiCurrentY = -(y  - mapminitop)*zoom + bndTop;
	}

}
<!-- ----------------------------------------------------------------- -->
<!-- --  Converti les coordonée ecran en coordonée system (réelle) ----- -->
<!-- ----------------------------------------------------------------- -->
function ConvertViewToSysMini(x,y)
{
	var bndTop;
	var bndLeft;
	var mapWidth;
	var mapHeigth;
	mapminiWidth = mapminiright-mapminileft;
	mapminiCurrentX = 0;
	mapminiCurrentY = 0;
	
	var zoom;
	zoom = 0.0;
	zoom = mapminiClientwidth/mapminiWidth;
	

        obj = document.getElementById("divMiniMap");
     
	bndLeft =obj.offsetLeft;
  	bndTop = obj.offsetTop;
		
	mapminiCurrentX = (x - bndLeft)/zoom + mapminileft;
	
	mapminiCurrentY = mapminitop - (y - bndTop)/zoom;


}
<!-- ----------------------------------------------------------------- -->
<!-- -------------   mise à jour de la mini carte        ------------------ -->
<!-- charge dans la frame cachée BufferMiniMap la page HTML issu du parse  -->
<!-- serveur du flux XML, transformé par la feuille de style minicarte.XSL -->  
<!-- OnLoad cette frame appel loadMap pour mettre à jour le divMiniMAP     -->       
<!-- ----------------------------------------------------------------- -->
function updateBufferMiniMap(target) 
{

	frames['bufferMiniMap'].location.href=target+  "!SHOWECHELLE=0!MINIMAP=1&FORMAT=0&XSL=miniCarte.xsl&PORT=" + szPort;  
	
}
function loadMiniMap() 
{

         var divMiniMap = document.getElementById('divMiniMap');
			if(frames['bufferMiniMap'].document.body.innerHTML!="")
			{
				 divMiniMap.innerHTML=frames['bufferMiniMap'].document.body.innerHTML;
				 FitImage();
				 }
				
						
						
}

function clickMiniMap(e){
	if(isMinNS4)
	{
     var pt = getMousePosition(e);
	}
	else
	{
	 var pt = getMousePosition(event);
	} 
 ConvertViewToSysMini((pt.x+27),(pt.y+7));
 recenterMap(mapminiCurrentX,mapminiCurrentY);
}


function drawMiniRect(){
 var objminirect = document.getElementById("divMiniRect");
 var objminimap = document.getElementById("divMiniMap");
 if(objminirect!=null){
  var bndTop;
  var bdnLeft;
  if((mapleft!=0)&&(objminimap.offsetWidth!=0)){
   ConvertSysToViewMini(mapleft,maptop);
   bndTop = viewminiCurrentY;
   bdnLeft = viewminiCurrentX;
   if(objminirect!=null){
    objminirect.style.top = viewminiCurrentY;
    objminirect.style.left = viewminiCurrentX;
    ConvertSysToViewMini(mapright,mapbottom);
	objminirect.style.width = (viewminiCurrentX-bdnLeft) +"px";
	objminirect.style.height = (viewminiCurrentY-bndTop) +"px"; 
	if( parseInt(objminirect.style.height) > 10 ){
     objminirect.style.border  = "1px solid #FF0000";
     objminirect.style.color  = "#FF0000";
	 objminirect.innerHTML = "";
	}
	else{
     objminirect.style.border = "0px solid #FF0000";
     objminirect.style.color  = "#FF0000";	
	 objminirect.style.width  = "8px";
	 objminirect.style.height = "8px"; 	 
	 objminirect.innerHTML = "<img src='./Icones/overviewPoint.gif' />";
	}
	
    objminirect.style.zIndex = "1000";
    showObject("divMiniRect");
    //var strrect = "rect(" + (objminimap.offsetTop - bndTop)  + " " + (objminimap.offsetWidth + objminimap.offsetLeft - bdnLeft)+ " " +  (objminimap.offsetTop - bndTop + objminimap.offsetHeight) + " " + (objminimap.offsetLeft - bdnLeft)  + ")"
    //objminirect.style.clip = strrect;
   }
  }
 }
}

