var mapminiCurrentX;
var mapminiCurrentY;
var mapminiClientwidth;
var mapminiClientheight;
var viewminiCurrentX;
var viewminiCurrentY;
var mapminitop;
var mapminilieft;
var mapminiright;
var mapminileft;

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;
	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;
	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');
			
				 divMiniMap.innerHTML=frames['bufferMiniMap'].document.body.innerHTML;
				
						
						
}

function clickMiniMap(e)
{

 var pt = getMousePosition(e);
 ConvertViewToSysMini(pt.x,pt.y);
 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;

objminirect.style.top = viewminiCurrentY;
objminirect.style.left = viewminiCurrentX;
ConvertSysToViewMini(mapright,mapbottom);
objminirect.style.width = viewminiCurrentX-bdnLeft;
objminirect.style.height = viewminiCurrentY-bndTop;
objminirect.style.border  = "1px solid #FF0000";
objminirect.style.color  = "#FF0000";
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;
}
}
}


