var jobs=new Array();
var map=null;
var afterMapLoaded=null;
google.load("maps", "2");
//==============================================================================
function initializeMap()
{
    var mapElement=document.getElementById("MapDiv");
    if(mapElement==null)
        return;
    var i;
    var bounds = new GLatLngBounds();
    for(i=0;i<jobs.length;i++)
        bounds.extend(jobs[i].point);
    if(jobs.length==0)
        bounds.extend(new GLatLng(50.081158674053235, 14.426851272583008));

    map=new google.maps.Map2(document.getElementById("MapDiv"));
    map.addControl(new GSmallMapControl());
    map.clearOverlays();
    var marker;
    map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds));
    for(i=0;i<jobs.length;i++)
    {
        marker=new GMarker(jobs[i].point);
        marker['job']=jobs[i];
        map.addOverlay(marker);
    }
    var listener=GEvent.addListener(map, "click",
        function(marker, point)
        {
            if(!marker || !marker['job'])
                return;
            if(marker.job.redirect)
            {
                LoadPage(marker.job.redirect);
                return;
            }
            if(!marker.job.url)
                return;
            var toEval='ShowJobOnMap(\'JobViewDiv\',\''+marker.job.jobId+'\')';
            JobInListClicked('job'+marker.job.jobId);
            AjaxCall(marker.job.url,'JobViewDiv',toEval,null);
        });
    
    if(afterMapLoaded)
        eval(afterMapLoaded);
}
google.setOnLoadCallback(initializeMap);
//==============================================================================
function ShowJobOnMap(divName,jobId)
{
    var srcNode=document.getElementById(divName);
    if(srcNode==null)
        return;
        
    var i;
    for(i=0;i<jobs.length;i++)
    {
        if(jobs[i].jobId==jobId)
        {
            map.openInfoWindow(jobs[i].point,srcNode.cloneNode(true));
            return;
        }
    }
}
//==============================================================================
function GetAndShowJobOnMap(job,jobDiv)
{
    JobInListClicked(jobDiv);
    var toEval='ShowJobOnMap(\'JobViewDiv\',\''+job.jobId+'\')';
    AjaxCall(job.url,'JobViewDiv',toEval,null);
}
//==============================================================================
function GetAndShowItemOnMap(item,itemDiv,activeClass)
{
    ItemInListClicked(itemDiv,activeClass);
    var toEval='ShowJobOnMap(\'JobViewDiv\',\''+item.jobId+'\')';
    AjaxCall(item.url,'JobViewDiv',toEval,null);
}
//==============================================================================