function findPos(obj)
{
    var curleft = curtop = 0;
    if (obj.offsetParent)
    {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent)
        {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    return [curleft,curtop];
}

function checkPlaces(event)
{
    event = (event) ? event : ((window.event) ? window.event : "");

    //find the position of the map-element
    objpos = findPos(document.getElementById('map'));

    Xpos  = event.offsetX? event.offsetX : event.clientX - objpos[0] + document.documentElement.scrollLeft;
    Ypos  = event.offsetY? event.offsetY : event.clientY - objpos[1] + document.documentElement.scrollTop;

    var numplaces  = places.length;
    var hoverPlace = '';
    var placeFound = false;

    for(var i=0;i<numplaces;i++)
    {
        if(Xpos>places[i][0]-3 && Xpos<places[i][0]+3 && Ypos>places[i][1]-3 && Ypos<places[i][1]+3)
        {
            hoverPlace = places[i][2];
            placeFound = true;
            break;
        }
    }

    document.getElementById('place').innerHTML = hoverPlace;
    if(placeFound)
    {
        with(document.getElementById('place').style)
        {
            left    = (Xpos+10)+'px';
            top     = Ypos+'px';
            display = 'block';
        }
    }
    else
    {
        disablePlaces();
    }
}

function disablePlaces()
{
    document.getElementById('place').innerHTML = '';
    document.getElementById('place').style.display = 'none';
}
