var onmousehandlere_createt = false;

function setOnMouseHandlere()
{
    if(!onmousehandlere_createt)
    {
        onmousehandlere_createt = true;
        document.body.onmousemove = callBodyOnMouseMoveHandler;
        getElement('mapcontainer').onmouseover = callMapcontainerOnMouseOver;
        getElement('mapcontainer').onmouseout  = callMapcontainerOnMouseOut;
    }
}
        
var mapcontainerOnMouseOverHandlere = new Array();
var mapcontainerOnMouseOutHandlere = new Array();
function addMapcontainerOnMouseOverHandler(handler)
{
    var l = mapcontainerOnMouseOverHandlere.length;
    mapcontainerOnMouseOverHandlere[l] = {init:handler};
    return l;
}
function addMapcontainerOnMouseOutHandler(handler)
{
    var l = mapcontainerOnMouseOutHandlere.length;
    mapcontainerOnMouseOutHandlere[l] = {init:handler};
    return l;
}

function setMapcontainerOnMouseOverHandler(l,handler)
{
    mapcontainerOnMouseOverHandlere[l] = {init:handler};
}
function setMapcontainerOnMouseOutHandler(l,handler)
{
    mapcontainerOnMouseOutHandlere[l] = {init:handler};
}

function callMapcontainerOnMouseOver()
{
    for(var tmo=0;tmo<mapcontainerOnMouseOverHandlere.length;tmo++)
    {
        if(mapcontainerOnMouseOverHandlere[tmo].init!=null)
            mapcontainerOnMouseOverHandlere[tmo].init();
    }
}
function callMapcontainerOnMouseOut()
{
    for(var tmo=0;tmo<mapcontainerOnMouseOutHandlere.length;tmo++)
    {
        if(mapcontainerOnMouseOutHandlere[tmo].init!=null)
            mapcontainerOnMouseOutHandlere[tmo].init();
    }
}

var bodyOnMouseMoveHandlere = new Array();
function addBodyOnMouseMoveHandler(handler)
{
    var l = bodyOnMouseMoveHandlere.length;
    bodyOnMouseMoveHandlere[l] = {init:handler};
    return l;
}
function setBodyOnMouseMoveHandler(l,handler)
{
    bodyOnMouseMoveHandlere[l] = {init:handler};
}
function callBodyOnMouseMoveHandler()
{
    for(var tmo=0;tmo<bodyOnMouseMoveHandlere.length;tmo++)
    {
        if(bodyOnMouseMoveHandlere[tmo].init!=null)
            bodyOnMouseMoveHandlere[tmo].init();
    }
}