
//==============================================================
// MapPage ------------------------------------------------
MapPage = function() { }
MapPage.ismousedown = false;


MapPage.McodeMousedown;
MapPage.OcodeMousedown;
MapPage.EcodeMousedown;

MapPage.DowPos = { x: 0, y: 0 };
MapPage.CurPos = { x: 0, y: 0 };

MapPage.DeActiveEvent;

//--------------------------------------------------------------
//MapPage.SetMouseDown -----------------------------------------
MapPage.SetMouseDown = function(elem, e) {
    //----------------------------------
    if (!elem) { elem = Map.GetEventTrigger(e); }
    if (!elem) { return false; }
    if (!elem.id) { return false; }
    //----------------------------------
    var Ocode = elem.id.split("^")[1];
    if (MapPage.DeActiveEvent == Ocode) { return true; }
    
//document.title = "[MapPage.onmousedown]-" + elem.id

    MapPage.ismousedown = true;
    MapPage.McodeMousedown = elem.id.split("^")[0];
    MapPage.OcodeMousedown = Ocode;
    MapPage.EcodeMousedown = elem.id.split("^")[2];
    MapPage.DowPos = Map.getCursorPosition(e)
return true;
}
//--------------------------------------------------------------
//MapPage.onmousedown ------------------------------------------
MapPage.onmousedown = function(e) {
    //----------------------------------
    var elem = Map.GetEventTrigger(e);
    if (!MapPage.SetMouseDown(elem,e)) { return false; }
    //----------------------------------
    if (MapPage.OcodeMousedown == "Map") {
      //  Map.onmousedown(elem, e);
    }
    
    //if (FrameHolder.List.indexOf(MapPage.OcodeMousedown) >= 0) {
    //      FrameHolder.onmousedown(elem, e)
    //}
return true;
}
//--------------------------------------------------------------
//MapPage.onmouseup -------------------------------------------
MapPage.onmouseup = function(e, elem) {
    if (!MapPage.ismousedown) {
        return false;
    }
    //----------------------------------
    //var elem = Map.GetEventTrigger(e);
    var elem = document.getElementById(MapPage.McodeMousedown + "^" + MapPage.OcodeMousedown + "^" + MapPage.EcodeMousedown);
    if (!elem) { return false; }
    if (!elem.id) { return false; }
    MapPage.CurPos = Map.getCursorPosition(e)
    //----------------------------------
    if (MapPage.DeActiveEvent == MapPage.OcodeMousedown) { return false; }

    //   document.title = "[MapPage.onmouseup]-" + elem.id

    if (MapPage.OcodeMousedown == "Map") { Map.onmouseup(elem, e); }
    if (MapPage.OcodeMousedown == "Navigator") { NavMap.onmouseup(elem, e); }
    //    if (MapPage.OcodeMousedown == "ToolsHolder") {
    //        Holder.onmouseup(elem, e);
    //    }
    //----------------------------------
    var Mcode = MapPage.McodeMousedown;
    //var Ocode =  MapPage.OcodeMousedown;
    var MapID = Map.getMapIDFromCode(Mcode);
    var Moptions = Map.MapObj[MapID];


    if (inArray(Moptions.FrameHolderArray, MapPage.OcodeMousedown)) {
        //FrameHolder.onmouseup(elem, e)
        Holder.onmouseup(elem, e)
    } 
    if (inArray(Moptions.ToolsHolderArray, MapPage.OcodeMousedown)) {
        Holder.onmouseup(elem, e)
    }
    //----------------------------------
    if (Moptions.Navigator.visible && Moptions.ActiveTools == "Magnifying") {
        Tools.SetActiveTools(MapID,"Arrow") 
    }
    MapPage.ismousedown = false;
    MapPage.McodeMousedown = null;
    MapPage.OcodeMousedown = null;
    MapPage.EcodeMousedown = null;
    MapPage.DowPos = null;
    //----------------------------------
    return false;
}
//--------------------------------------------------------------
//MapPage.onmousemove -------------------------------------------
MapPage.onmousemove = function(e, elem) {


if (!MapPage.ismousedown) {
    return false; 
    }
    //----------------------------------
    var elem0 = Map.GetEventTrigger(e);
    var Ocode = elem0.id.split("^")[1];
    if (!elem0.id) { return false; }
    //----------------------------------
    var elem = document.getElementById(MapPage.McodeMousedown + "^" + MapPage.OcodeMousedown + "^" + MapPage.EcodeMousedown);
    if (!elem) { return false; }
    if (!elem.id) { return false; }
    
    MapPage.CurPos = Map.getCursorPosition(e)
    //----------------------------------
    //document.title = "[MapPage.onmousemove]-" + elem.id

   // if (MapPage.OcodeMousedown == "Map" && Ocode == "Map") {
     if (MapPage.OcodeMousedown == "Map" ) {
        Map.onmousemove(elem, e);
        return true;
    }
    if (MapPage.OcodeMousedown == "Navigator") { NavMap.onmousemove(elem, e); return true; }

//    if (MapPage.OcodeMousedown == "ToolsHolder") {
//        Holder.onmousemove(elem, e);
//    }
    //----------------------------------
    var Mcode = MapPage.McodeMousedown;
    var MapID = Map.getMapIDFromCode(Mcode);
    var Moptions = Map.MapObj[MapID];
  //  var Ocode = MapPage.OcodeMousedown;

//    if (Moptions.FrameHolderList.indexOf(MapPage.OcodeMousedown) >= 0) {
//        FrameHolder.onmousemove(elem, e)
//    }
    if (inArray(Moptions.FrameHolderArray, MapPage.OcodeMousedown)) {
        Holder.onmousemove(elem, e)
    }  
    //if (Moptions.ToolsHolderList.indexOf("<" + Ocode + ">") >= 0) {
    if (inArray(Moptions.ToolsHolderArray, MapPage.OcodeMousedown)) {
        Holder.onmousemove(elem, e)
    }
    
    
return false;
}
//--------------------------------------------------------------