﻿var mapminx; 
var mapminy; 
var mapmaxx; 
var mapmaxy;
var mouseX;
var mouseY;
var xDistance;
var iWidth;
var iHeight;
var yDistance;
var mapX;
var mapY;   
    
function getCoords(){
    if (mapminx == null){
        setTimeout("ChangeClient('MapCoorXY')", 100);
        }
    }    

function ChangeClient(context){
 var argument;
  if(context == 'MapCoorXY'){
     argument = 'EventArg=MapCoorXY';
  }                    
  WebForm_DoCallback('__Page',argument,HandleResponse,context,null,true)
}

function HandleResponse(returnvalue, ctx){       
  var ext = returnvalue.split(":--:");
   if (ctx == "MapCoorXY"){
      updateCoords(returnvalue);
   }                     
} 
function updateCoords(message){
    var ext = message.split(":--:"); 
    var map = Maps[ext[0]];
    iWidth = map.viewWidth;
    iHeight = map.viewHeight;  
    mapminx = parseFloat(ext[1]); 
    mapminy = parseFloat(ext[2]); 
    mapmaxx = parseFloat(ext[3]); 
    mapmaxy = parseFloat(ext[4]);
    var escala = parseFloat(ext[5]);
    var select = document.getElementById("Escala");
    if (isNaN(escala)){
        select.selectedIndex = 0;
        select.options[0].value = "";
        select.options[0].text = "- Seleccione -";
    }
    else {
        select.selectedIndex = 0;
        select.options[0].value = escala;
        select.options[0].text = "1:"+ext[5];
    }
    xDistance = Math.abs(mapminx - mapmaxx);
    yDistance = Math.abs(mapmaxy - mapminy);   
    setMapMouseMoveFunction(map);
}
	
function setMapMouseMoveFunction(map){    
    map.divObject.onmousemove = myOnMouseMove;
    map.moveFunction = myOnMouseMove;
    map.tempMoveFunction = myOnMouseMove; 
	}
	
function myOnMouseMove(e){ 
    e = e || window.event;
    getMapXY(e.offsetX, e.offsetY); 
//    try{
//        var a = document.getElementById('XCoord');
//        var b = document.getElementById('YCoord');
//        a.value = mapX.toFixed(2);
//        b.value = mapY.toFixed(2); 
//    }
//    catch(e){}
    
    window.status = "X: " + mapX.toFixed(2) + "  Y: " + mapY.toFixed(2);           
	} 
	
function getMapXY(xIn,yIn) {
    mouseX = xIn;
    pixelX = xDistance / iWidth;
    mapX = pixelX * mouseX + mapminx;
    mouseY = iHeight - yIn;
    pixelY = yDistance / iHeight;
    mapY = pixelY * mouseY + mapminy;
}			


