// Copyright (C) 2006-2010 by rdzl inc. (http://www.rdzl.nl)
var fileReq;
var fileReq2;
var fileReq2Counter = 0;
var readsFileReq2;
var fileReq3;
var fileReq3index;
var fileReq3stars;
var fileReq3indexMarker;
var movableMarker;
var marker;
var clusterMarker;
var showIndex = 0;
var iframeIdx = 1;
var contactIframeIdx = 1;
var topIframeIdx = 1;
var sideIframeIdx = 1;
var currentHeadlinePage = 1;
var currentTab = 1;
var currentMenu = 0;
var allClickCounter = 0;
var currentMarker = 0;
var reset = "reset";
var feedPars = "";
var iconWidth;
var iconHeight;
var iconAnchorX;
var iconAnchorY;
var showClusterMarkers = 0;
var allowVote = 0;
var showHeadlines = 1;
var showAdds = 1;
var searchquery = "";
var reloadTimer = "";
var automaticReload = false;
var singleMarkerClick = 1;
var updateRSS = 1;
var clusterMarkerType = 0;
var showHL = new Array;
var currentModus;
var currentCode;
var dataModus = 0;
var curmap = 0;
var createCookie = true;

var popupIndex = -1;
config_site_url = "http://www.nuin.nl";
config_site_url2 = "http://www.nuin.nl";
var config_site_url_getnews = config_site_url + "/getnews.php";
config_landelijk_nieuws = "Landelijk nieuws";
config_regionaal_nieuws = "Regionaal nieuws";
config_plaatselijk_nieuws = "Plaatselijk nieuws";
config_klik = "klik";
var tabShow = new Array;
tabShow = Array(1, 0);

function setNewsList(newsList) {
    for (var i = 1; i <= 2; i++) {
        document.getElementById("newslist_tab_" + i).className = "right_tab";
        document.getElementById("newslist_" + i).style.display = "none";
    }
    document.getElementById("newslist_tab_" + newsList).className = "right_tab active";
    document.getElementById("newslist_" + newsList).style.display = "block";
}

function setColumnRightNewsList(columnRightNewsList) {
    for (var i = 1; i <= 2; i++) {
        document.getElementById("column_right_newslist_tab_" + i).className = "right_tab";
        document.getElementById("column_right_newslist_" + i).style.display = "none";
    }
    document.getElementById("column_right_newslist_tab_" + columnRightNewsList).className = "right_tab active";
    document.getElementById("column_right_newslist_" + columnRightNewsList).style.display = "block";
}

function setFontSize(size) {
    document.getElementById("fontsize_css").href = "styles/fontsize_" + size + ".css";
    createNuinCookie("fontsize", size);
}

function createNuinCookie(name, value) {
  if (createCookie == true) {
    var date = new Date;
    date.setTime(date.getTime() + 1209600000);
    var expires = "; expires=" + date.toGMTString();
    document.cookie = name + "=" + value + expires + "; path=/";
  }
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(";");
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == " ") {
            c = c.substring(1, c.length);
        }
        if (c.indexOf(nameEQ) == 0) {
            return c.substring(nameEQ.length, c.length);
        }
    }
    return null;
}

function mapMouseMove(latlng) {
  //    niuzMap.disableScrollWheelZoom();
}

function mapDblClick(overlay, latlng) {
  // niuzMap.disableScrollWheelZoom();
}

function mapClick(overlay, b, c) {
    if (overlay == null) {
      //    niuzMap.enableScrollWheelZoom();
    }
}

function load(tlat, tlng, tzoomlevel, tindex, smodus, scode, sq, settings, iconsettings) {
    currentModus = smodus;
    currentCode = scode;
    showClusterMarkers = settings & 1;
    showHeadlines = settings >>> 1 & 1;
    showAdds = settings >>> 2 & 1;
    showGoogleBar = settings >>> 3 & 1;
    singleMarkerClick = settings >>> 4 & 1;
    updateRSS = settings >>> 5 & 1;
    clusterMarkerType = settings >>> 6 & 7;
    allowVote = settings >>> 9 & 1;
    useParsing = settings >>> 10 & 1;
    dataModus  = settings >>> 11 & 3;

    iconWidth = iconsettings & 127;
    iconHeight = iconsettings >>> 7 & 127;
    iconAnchorX = iconsettings >>> 14 & 127;
    iconAnchorY = iconsettings >>> 21 & 127;

    if (useParsing == 1) {
        config_site_url_getnews = config_site_url + "/getnews-new.php";
    }

    fileReq2 = new Array;
    readsFileReq2 = new Array;
    searchquery = sq;
    if (searchquery.length > 0) {
        showClusterMarkers = 0;
    }
    if (tindex != 0) {
        lat = tlat;
        lng = tlng;
        zoomlevel = tzoomlevel;
	if (tindex < 0) { createCookie = false; }
        if (tindex > 0) {
            showIndex = tindex;
            url = "" + config_site_url_getnews + "?modus=" + currentModus + "&index=" + showIndex;
            popupIndex = showIndex;
            fileGet2(url, processNews);
        }
    } else if (readCookie("zoomlevel") != null) {
        lat = readCookie("lat");
        lng = readCookie("lng");
        zoomlevel = readCookie("zoomlevel");
    } else {
        lat = tlat;
        lng = tlng;
        zoomlevel = tzoomlevel;
    }
    pic1 = new Image;
    pic1.src = config_site_url2 + "/icon/zoomsystem/zoom-uit.gif";
    pic2 = new Image;
    pic2.src = config_site_url2 + "/icon/zoomsystem/zoom-5_n.gif";
    pic3 = new Image;
    pic3.src = config_site_url2 + "/icon/zoomsystem/zoom-4_n.gif";
    pic4 = new Image;
    pic4.src = config_site_url2 + "/icon/zoomsystem/zoom-3_n.gif";
    pic5 = new Image;
    pic5.src = config_site_url2 + "/icon/zoomsystem/zoom-2_n.gif";
    pic6 = new Image;
    pic6.src = config_site_url2 + "/icon/zoomsystem/zoom-1_n.gif";
    pic7 = new Image;
    pic7.src = config_site_url2 + "/icon/zoomsystem/zoom-in.gif";
    pic8 = new Image;
    pic8.src = config_site_url2 + "/images/ajax-loader.gif";
    niuzMap = new GMap2(document.getElementById("GoogleMap"));
    niuzGeocoder = new GClientGeocoder;
    niuzMap.setCenter(new GLatLng(parseFloat(lat), parseFloat(lng)), parseInt(zoomlevel));
    niuzMap.addControl(new TextualZoomControl);
    niuzMap.addControl(new GOverviewMapControl);
    setMapType(0);

    GEvent.addListener(niuzMap, "zoomend", changeZoomLevel);
    GEvent.addListener(niuzMap, "moveend", repositionMovableMarker);
    GEvent.addListener(niuzMap, "click", mapClick);
    GEvent.addListener(niuzMap, "dblclick", mapDblClick);
    GEvent.addListener(niuzMap, "mousemove", mapMouseMove);
    marker = new Object;
    clusterMarker = new Object;
    niuzMap.enableDoubleClickZoom();
    niuzMap.enableContinuousZoom();
    niuzMap.enableScrollWheelZoom();
    if (showGoogleBar == 1) {
        niuzMap.enableGoogleBar();
    }
    setZoomSystem(niuzMap.getZoom());
    switch (currentModus) {
    case "plaatsnieuws":
    case "plaatsbericht":
        document.getElementById("GoogleMapLoader").style.visibility = "hidden";
        icon = new GIcon;
        Ticon = new GIcon;
        Ticon.iconSize = new GSize(25, 43);
        Ticon.iconAnchor = new GPoint(12, 43);
        Ticon.infoWindowAnchor = new GPoint(5, 1);
        Ticon.image = "" + config_site_url + "/icon/place-marker.png";
        movableMarker = new GMarker(niuzMap.getCenter(), {
            draggable: true,
            title: "Plaats de marker op de plek van het nieuws.",
            icon: Ticon
        });
        GEvent.addListener(movableMarker, "dragend", addNews);
        niuzMap.addOverlay(movableMarker);
        movableMarker.setPoint(niuzMap.getCenter());
        if (niuzMap.getZoom() < 10) {
            niuzMap.setZoom(10);
        }
        movableMarker.show();
        break;
    default:
      switch (dataModus) {
      case 0: click(1, true); break;
      case 1: feedClick(1); break;	
      }
    }
    reset = "";
}

function addAClick() {
    allClickCounter++;
    if (allClickCounter % 5 == 0) {
        if (showAdds == 1) {
            firstTracker._trackPageview("5click_reload.html");
            //getTopBanner();
            //getSideBanner();
        }
    }
}

function getNews(treset) {
    latlow = niuzMap.getBounds().getSouthWest().lat();
    latup = niuzMap.getBounds().getNorthEast().lat();
    lnglow = niuzMap.getBounds().getSouthWest().lng();
    lngup = niuzMap.getBounds().getNorthEast().lng();
    url = "" + config_site_url_getnews + "?zoomlevel=" + niuzMap.getZoom() + "&latlow=" + latlow + "&latup=" + latup + "&lnglow=" + lnglow + "&lngup=" + lngup + "&modus=" + currentModus + "&code=" + currentCode + "&reset=" + treset;
    if (searchquery.length > 0) {
        url += "&sq=" + searchquery;
    }
    
    for (i = 0; i < feedPars.length; i++) {
      url += "&p" + i + "=" + feedPars[i];
    }
 
    rssFeedLink = "" + config_site_url + "/rss.php?level=" + niuzMap.getZoom() + "&modus=" + currentModus + "&latlow=" + latlow + "&latup=" + latup + "&lnglow=" + lnglow + "&lngup=" + lngup;
    fileGet2(url, processNews);
    if (updateRSS == 1) {
        document.getElementById("rssfeed").href = rssFeedLink;
        document.getElementById("rssfeedlink").href = rssFeedLink;
    }
}

function repositionMovableMarker() {
    if (movableMarker) {
        movableMarker.setPoint(niuzMap.getCenter());
    }
    popdownPlaats();
    addNews();
    updateHeadlines(1);
    createNuinCookie("lat", niuzMap.getCenter().lat());
    createNuinCookie("lng", niuzMap.getCenter().lng());
    createNuinCookie("zoomlevel", niuzMap.getZoom());
}

function TextualZoomControl() {}
TextualZoomControl.prototype = new GControl;
TextualZoomControl.prototype.initialize = function(map) {
    var container = document.createElement("div");
    eval("container.id=\"zoomsystem\"");
    map.getContainer().appendChild(container);
    document.getElementById("zoomsystem").innerHTML = "<div style=\"line-height: 0.4;\"><img style=\"cursor:pointer;\" onClick=\"javascript:setZoomLevel(niuzMap.getZoom() - 1);\" " + "src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-uit.png\" title=\"zoom uit\"height=\"19\" width=\"19\" ><br ><br >" + "<img style=\"cursor:pointer;\" title=\"" + config_landelijk_nieuws + "\" id=\"zoom5\" src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-5_n.gif\" width=\"22\" height=\"5\" onClick=\"javascript:setZoomLevel(7);\" ><br ><br >" + "<img style=\"cursor:pointer;\" title=\"" + config_regionaal_nieuws + "\" id=\"zoom4\" src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-4_n.gif\" width=\"22\" height=\"5\" onClick=\"javascript:setZoomLevel(8);\" ><br ><br >" + "<img style=\"cursor:pointer;\" title=\"Regionaal nieuws\" id=\"zoom3\" src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-3_n.gif\" width=\"22\" height=\"5\" onClick=\"javascript:setZoomLevel(9);\" ><br ><br >" + "<img style=\"cursor:pointer;\" title=\"Plaatselijk nieuws\" id=\"zoom2\" src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-2_n.gif\" width=\"22\" height=\"5\" onClick=\"javascript:setZoomLevel(10);\" ><br ><br >" + "<img style=\"cursor:pointer;\" title=\"Plaatselijk nieuws\" id=\"zoom1\" src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-1_n.gif\" width=\"22\" height=\"5\" onClick=\"javascript:setZoomLevel(11);\" ><br ><br >" + "<img style=\"cursor:pointer;\" title=\"Plaatselijk nieuws\" id=\"zoom0\" src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-1_n.gif\" width=\"22\" height=\"5\" onClick=\"javascript:setZoomLevel(12);\" ><br ><br >" + "<img style=\"cursor:pointer;\" onClick=\"javascript:setZoomLevel(niuzMap.getZoom() + 1);\" " + "src=\"" + config_site_url2 + "/icon/zoomsystem/zoom-in.png\" title=\"zoom in\" height=\"19\" width=\"19\"><br ><br >" + "<img style=\"cursor:pointer;\" width=\"11\" height=\"11\" onClick=\"javascript:setMapType(1);\" " + "src=\"" + config_site_url2 + "/icon/zoomsystem/satelliet.gif\" title=\"satellietbeeld\" alt=\"satelliet\" > " + "<img style=\"cursor:pointer;\" width=\"11\" height=\"11\" onClick=\"javascript:setMapType(0);\" " + "src=\"" + config_site_url2 + "/icon/zoomsystem/kaart.gif\" title=\"kaartbeeld\"alt=\"kaart\" ></div>";
    return container;
};
TextualZoomControl.prototype.getDefaultPosition = function() {
    return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
};

function setZoomLevel(level)
{
  niuzMap.setZoom(level);
  
  if ( (level > 10) && (curmap == 0)) { setMapType(0); }
  if ( (level <= 10) && (curmap == 1)) { setMapType(0); }
}

function setMapType(type) {
  if (type == 1) {
    niuzMap.setMapType(G_SATELLITE_MAP);
    curmap = 2;
  }
  if (type == 0) {
    zl = niuzMap.getZoom();
    if (zl > 10) { niuzMap.setMapType(G_NORMAL_MAP); curmap = 1; } else 
      {niuzMap.setMapType(G_PHYSICAL_MAP); curmap = 0;}
  }
}


function onEnter(evt, id) {
    var keyCode = null;
    if (evt.which) {
        keyCode = evt.which;
    } else if (evt.keyCode) {
        keyCode = evt.keyCode;
    }
    if (13 == keyCode) {
        gaNaarPlaats(document.getElementById("plaats").value);
        return false;
    }
    return true;
}

function png(i, stars) {
    var fstars = Math.floor(stars);
    var rstars = stars - fstars;
    var starpng = "";
    if (i <= fstars) {
        starpng = "red";
    } else if (i > fstars + 1) {
        starpng = "grey";
    } else {
        if (rstars < 0.125) {
            starpng = "grey";
        } else if (0.125 <= rstars && rstars < 0.375) {
            starpng = "red25";
        } else if (0.375 <= rstars && rstars < 0.625) {
            starpng = "red50";
        } else if (0.625 <= rstars && rstars < 0.875) {
            starpng = "red75";
        } else {
            starpng = "red";
        }
    }
    return starpng;
}

function nieuwsKoppenNieuws(indexMarker, indexNieuws) {
    if (document.getElementById("postcommentiframe")) {
        document.getElementById("postcommentiframe").style.visibility = "visible";
    }
    if (window.frames.postcommentiframe) {
        postcommentFrm = window.frames.postcommentiframe;
        if (postcommentFrm.document.getElementById("modus")) {
            postcommentFrm.document.getElementById("modus").value = currentModus;
        }
        if (postcommentFrm.document.getElementById("index")) {
            postcommentFrm.document.getElementById("index").value = marker[indexMarker].index[indexNieuws];
        }
    }
    newsString = marker[indexMarker].bericht[indexNieuws];
    if (allowVote == 1) {
        stars = marker[indexMarker].stars[indexNieuws];
        votes = marker[indexMarker].votes[indexNieuws];
        rating = "";
        if (marker[indexMarker].voted[indexNieuws] == false) {
            for (var i = 1; i <= 5; i++) {
                rating += "<span onclick=\"javascript:vote(" + marker[indexMarker].index[indexNieuws] + "," + i + ",'" + indexMarker + "'" + ");\" " + "onmouseover=\"javascript:showStars(" + i + ", true, 0);\"><img id=\"star" + i + "\"src=\"images/star-" + png(i, stars) + ".png\" border=\"0\" alt=\"star\" width=\"13\" height=\"12\" /></span>";
            }
            rating = "<span onmouseout=\"javascript:showStars(" + stars + ", false, votes);\">" + rating + "</span>";
            voteString = rating;
            ev = "";
            if (votes != 1) {
                ev = "en";
            }
            voteString += " <span id=\"votrem\">[" + votes + " beoordeling" + ev + "]</span>";
        } else {
            for (var i = 1; i <= 5; i++) {
                rating += "<span><img id=\"star" + i + "\"src=\"images/star-" + png(i, stars) + ".png\" border=\"0\" alt=\"star\" width=\"13\" height=\"12\" /></span>";
            }
            voteString = rating;
            ev = "";
            if (votes != 1) {
                ev = "en";
            }
            voteString += " <span id=\"votrem\">[" + votes + " beoordeling" + ev + "]</span> ";
            voteString += marker[indexMarker].voteMessage[indexNieuws];
        }
        newsString = newsString.replace("<!-- vc -->", voteString);
    }
    document.getElementById("article").innerHTML = newsString;
}

function showStars(stars, srd, votes) {
    des = Array("Slecht", "Redelijk", "Goed", "Uitstekend", "Fantastisch");
    for (var i = 1; i <= 5; i++) {
        document.getElementById("star" + i).src = "images/star-" + png(i, stars) + ".png";
    }
    if (srd == true) {
        document.getElementById("votrem").innerHTML = des[Math.round(stars) - 1];
    }
    if (srd == false) {
        ev = "";
        if (votes != 1) {
            ev = "en";
        }
        document.getElementById("votrem").innerHTML = "[" + votes + " beoordeling" + ev + "]";
    }
}

function showTheNews(indexMarker) {
    if (marker[indexMarker].show == 1) {
        marker[indexMarker].kopidx = -1;
        marker[indexMarker].kopaantal = 1;
	document.getElementById("clusterMarkerMessage").innerHTML = "";
        nieuwsKoppenNieuws(indexMarker, marker[indexMarker].singleIdx);
        latlng = new GLatLng(marker[indexMarker].lat, marker[indexMarker].lng, true);
        markerx = niuzMap.fromLatLngToDivPixel(latlng).x;
        markery = niuzMap.fromLatLngToDivPixel(latlng).y;
        sw = niuzMap.fromLatLngToDivPixel(niuzMap.getBounds().getSouthWest());
        ne = niuzMap.fromLatLngToDivPixel(niuzMap.getBounds().getNorthEast());
        width = Math.abs(sw.x - ne.x);
        height = Math.abs(sw.y - ne.y);
        posx = markerx - sw.x + 1;
        posy = markery - ne.y;
        estimatedLength = (marker[indexMarker].plaats.length + 2) * 8;
        estimatedHeight = 20;
        if (posx > width - estimatedLength) {
            posx = width - estimatedLength;
        }
        if (posy > height - estimatedHeight) {
            posy = markery - 38 - ne.y;
        }
        document.getElementById("GoogleMapPopup").style.left = posx + "px";
        document.getElementById("GoogleMapPopup").style.top = posy + "px";
        koppenStr = "";
        if (marker[indexMarker].plaats.length > 1) {
            koppenStr += marker[indexMarker].plaats;
        }
        document.getElementById("GoogleMapPopup").innerHTML = koppenStr;
        if (marker[indexMarker].plaats.length > 2) {
            document.getElementById("GoogleMapPopup").style.visibility = "visible";
        }
    }
}

function showMoreNews(indexMarker) {
    function sortNuinRank(a, b) {
        var x = parseInt(b.nuinrank);
        var y = parseInt(a.nuinrank);
        return x < y ? -1: x > y ? 1: 0;
    }
    if (marker[indexMarker].show == 1) {
        latlng = new GLatLng(marker[indexMarker].lat, marker[indexMarker].lng, true);
        markerx = niuzMap.fromLatLngToDivPixel(latlng).x;
        markery = niuzMap.fromLatLngToDivPixel(latlng).y;
        sw = niuzMap.fromLatLngToDivPixel(niuzMap.getBounds().getSouthWest());
        ne = niuzMap.fromLatLngToDivPixel(niuzMap.getBounds().getNorthEast());
        width = Math.abs(sw.x - ne.x);
        height = Math.abs(sw.y - ne.y);
        posx = markerx - sw.x;
        posy = markery + 6 - ne.y;
        estimatedLength = (marker[indexMarker].plaats.length + 15) * 8;
        estimatedHeight = 20;
        if (posx > width - estimatedLength) {
            posx = width - estimatedLength;
        }
        if (posy > height - estimatedHeight) {
            posy = markery - 38 - ne.y;
        }
        document.getElementById("GoogleMapPopup").style.left = posx + "px";
        document.getElementById("GoogleMapPopup").style.top = posy + "px";
        currentZoomLevel = niuzMap.getZoom();
        kopaantal = 0;
        for (var i = 0; i < marker[indexMarker].aantalBerichten; ++i) {
            marker[indexMarker].nuinSorted[i].index = i;
            marker[indexMarker].nuinSorted[i].nuinrank = marker[indexMarker].nuinrank[i];
            if (showMessage(indexMarker, i, currentZoomLevel) == true) {
                kopaantal++;
            }
        }
        marker[indexMarker].nuinSorted.sort(sortNuinRank);
        marker[indexMarker].kopaantal = kopaantal;
        if (marker[indexMarker].kopidx >= 0) {
            marker[indexMarker].kopidx -= 1;
            marker[indexMarker].klikTeller -= 1;
        }
        nextNews();
    }
}

function nextNews() {
    function createKoppen() {
        koppenStr = "";
        if (marker[currentMarker].plaats.length > 1) {
            koppenStr += marker[currentMarker].plaats + ": ";
        }
        koppenStr += parseInt(marker[currentMarker].klikTeller) + " van " + marker[currentMarker].kopaantal + " <em>(klik)</em>";
        document.getElementById("GoogleMapPopup").innerHTML = koppenStr;
    }
    currentZoomLevel = niuzMap.getZoom();
    marker[currentMarker].klikTeller++;
    if (marker[currentMarker].klikTeller > marker[currentMarker].kopaantal) {
        marker[currentMarker].klikTeller = 1;
    }
    if (kopaantal > 1) {
        createKoppen();
        document.getElementById("GoogleMapPopup").style.visibility = "visible";
    }
    kopidx = marker[currentMarker].kopidx;
    newkopidx = kopidx + 1;
    if (newkopidx >= marker[currentMarker].aantalBerichten) {
        newkopidx = 0;
    }
    var counter = 0;
    while (showMessage(currentMarker, marker[currentMarker].nuinSorted[newkopidx].index, currentZoomLevel) == false && counter < 100) {
        counter++;
        newkopidx++;
        if (newkopidx >= marker[currentMarker].aantalBerichten) {
            newkopidx = 0;
        }
    }
    marker[currentMarker].kopidx = newkopidx;	
    document.getElementById("clusterMarkerMessage").innerHTML = "";
    nieuwsKoppenNieuws(currentMarker, marker[currentMarker].nuinSorted[newkopidx].index);
}

function doNothing() {}

function showClusterMessage(markerKey) {
  if (clusterMarker[markerKey].show == 1) {
    if (document.getElementById("postcommentiframe")) {
        document.getElementById("postcommentiframe").style.visibility = "hidden";
    }    
    popdownPlaats();
    document.getElementById("clusterMarkerMessage").innerHTML = clusterMarker[markerKey].bericht;
    document.getElementById("article").innerHTML = ""; 
  }
}

function setClusterMarker(pointlat, pointlng, number, index, bericht) {
    var markerKey = "C" + index;
    var point = new GLatLng(pointlat, pointlng, true);
    function clusterMarkerClick() {
        var zooml = niuzMap.getZoom();
        if (zooml > 9) {
            niuzMap.setCenter(point, niuzMap.getZoom() + 1);
        } else {
            niuzMap.setCenter(point, niuzMap.getZoom() + 2);
        }
    }
    function clusterMarkerMessage() {
      clusterMarker[markerKey].show = 1;
      setTimeout("showClusterMessage('" + markerKey + "')", "250");
    }

    function clusterMarkerMessageOut() {
      clusterMarker[markerKey].show = 0;

    }

    cicon = new GIcon;
    cicon.iconSize = new GSize(35, 35);
    cicon.iconAnchor = new GPoint(17, 17);
    cicon.infoWindowAnchor = new GPoint(5, 1);
    cicon.image = config_site_url + "/images_markers/clustermarkers/" + clusterMarkerType + "-" + number + ".png";
    if (clusterMarker[markerKey].theMarker) {
        niuzMap.removeOverlay(clusterMarker[markerKey].theMarker);
        delete clusterMarker[markerKey].theMarker;
    }
    clusterMarker[markerKey].theMarker = new GMarker(point, cicon);
    niuzMap.addOverlay(clusterMarker[markerKey].theMarker);
    clusterMarker[markerKey].theMarker.hide();
    GEvent.addListener(clusterMarker[markerKey].theMarker, "click", clusterMarkerClick);

    if (bericht.length > 4) {
      GEvent.addListener(clusterMarker[markerKey].theMarker, "mouseover", clusterMarkerMessage);
      GEvent.addListener(clusterMarker[markerKey].theMarker, "mouseout", clusterMarkerMessageOut);
    }
}

function setSingleMarker(pointlat, pointlng, type) {
    var markerKey = pointlat + "T" + pointlng;
    function gotoArticle() {
        document.location.href = "#artikel";
    }

    function theNews() {
        marker[markerKey].show = 1;
        setTimeout("showTheNews('" + markerKey + "')", "250");
    }

    function theNewsOut() {
        marker[markerKey].show = 0;
        document.getElementById("GoogleMapPopup").style.visibility = "hidden";
    }
    icon = new GIcon;
    icon.iconSize = new GSize(iconWidth, iconHeight);
    icon.iconAnchor = new GPoint(iconAnchorX, iconAnchorY);
    icon.infoWindowAnchor = new GPoint(5, 1);
    ntype = type;
    if (ntype >= 2000 && ntype <= 3000) {
        ntype = "2000";
    }
    icon.image = config_site_url2 + "/images_markers/" + ntype + ".png";
    var point = new GLatLng(pointlat, pointlng, true);
    if (marker[markerKey].theMarker) {
        niuzMap.removeOverlay(marker[markerKey].theMarker);
        delete marker[markerKey].theMarker;
    }
    marker[markerKey].currentType = type;
    marker[markerKey].single = true;
    marker[markerKey].theMarker = new GMarker(point, icon);
    niuzMap.addOverlay(marker[markerKey].theMarker);
    marker[markerKey].theMarker.hide();
    GEvent.addListener(marker[markerKey].theMarker, "mouseover", theNews);
    GEvent.addListener(marker[markerKey].theMarker, "mouseout", theNewsOut);
   // if (singleMarkerClick == 1) {
        GEvent.addListener(marker[markerKey].theMarker, "click", gotoArticle);
   // }
}

function setMoreMarker(pointlat, pointlng, type) {
    var markerKey = pointlat + "T" + pointlng;
    function gotoArticle() {
        document.location.href = "#artikel";
    }

    function moreNewsOut() {
        marker[markerKey].show = 0;
        document.getElementById("GoogleMapPopup").style.visibility = "hidden";
    }

    function moreNews() {
        currentMarker = markerKey;
        marker[markerKey].show = 1;
        setTimeout("showMoreNews('" + markerKey + "')", "250");
    }
    icon = new GIcon;
    icon.iconSize = new GSize(iconWidth, iconHeight);
    icon.iconAnchor = new GPoint(iconAnchorX, iconAnchorY);
    icon.infoWindowAnchor = new GPoint(5, 1);
    ntype = type;
    if (ntype >= 2000 && ntype <= 3000) {
        ntype = 2000;
    }
    if (ntype < 15 || ntype == 2000) {
        icon.image = config_site_url2 + "/images_markers/" + ntype + "-meer.png";
    } else {
        icon.image = config_site_url2 + "/images_markers/" + ntype + ".png";
    }
    var point = new GLatLng(pointlat, pointlng, true);
    if (marker[markerKey].theMarker) {
        niuzMap.removeOverlay(marker[markerKey].theMarker);
        delete marker[markerKey].theMarker;
    }
    marker[markerKey].currentType = type;
    marker[markerKey].single = false;
    marker[markerKey].theMarker = new GMarker(point, icon);
    niuzMap.addOverlay(marker[markerKey].theMarker);
    marker[markerKey].theMarker.hide();
    GEvent.addListener(marker[markerKey].theMarker, "mouseover", moreNews);
    GEvent.addListener(marker[markerKey].theMarker, "mouseout", moreNewsOut);
    GEvent.addListener(marker[markerKey].theMarker, "click", addClickNextNews);
    GEvent.addListener(marker[markerKey].theMarker, "dblclick", doNothing);
}

function addClickNextNews() {
    addAClick();
    nextNews();
}

function cm(data) {
    var markerKey = "C" + data.cindex;
    if (!clusterMarker[markerKey]) {
        clusterMarker[markerKey] = new Object;
        clusterMarker[markerKey].lat = data.clat;
        clusterMarker[markerKey].lng = data.clng;
        clusterMarker[markerKey].number = data.cnumber;
        clusterMarker[markerKey].zoomLevel = data.clevel;
        clusterMarker[markerKey].index = data.cindex;
        clusterMarker[markerKey].bericht = data.cbericht;
	clusterMarker[markerKey].show = 0;
        setClusterMarker(data.clat, data.clng, data.cnumber, data.cindex, data.cbericht);
    }
    if (showClusterMarker(markerKey, niuzMap.getZoom()) == true) {
        setClusterMarkerImage(markerKey, data.cnumber);
        clusterMarker[markerKey].theMarker.show();
    } else {}
    return 0;
}

function sn(data) {
    var markerKey = data.lat + "T" + data.lng;
    var addMessageIndex = 0;
    if (!marker[markerKey]) {
        marker[markerKey] = new Object;
        marker[markerKey].lat = data.lat;
        marker[markerKey].lng = data.lng;
        marker[markerKey].aantalBerichten = 1;
        marker[markerKey].bericht = new Array;
        marker[markerKey].type = new Array;
        marker[markerKey].zoomLevel = new Array;
        if (allowVote == 1) {
            marker[markerKey].votes = new Array;
            marker[markerKey].voteMessage = new Array;
            marker[markerKey].stars = new Array;
        }
        marker[markerKey].nuinSorted = new Array;
        marker[markerKey].index = new Array;
        marker[markerKey].nuinrank = new Array;
        marker[markerKey].voted = new Array;
        marker[markerKey].plaats = data.pla;
        marker[markerKey].kopidx = -1;
        marker[markerKey].klikTeller = 0;
        marker[markerKey].kopaantal = 1;
        marker[markerKey].show = 0;
        marker[markerKey].singleIdx = 0;
        addedCurrentMessage = false;
        setSingleMarker(data.lat, data.lng, data.type);
    } else {
        addedCurrentMessage = false;
        for (i = 0; i < marker[markerKey].aantalBerichten; i++) {
            if (marker[markerKey].index[i] == data.index) {
                addedCurrentMessage = true;
                addMessageIndex = i;
            }
        }
        if (addedCurrentMessage == false) {
            marker[markerKey].aantalBerichten++;
            marker[markerKey].kopidx = -1;
            marker[markerKey].klikTeller = 0;
        }
        if (marker[markerKey].aantalBerichten == 2) {
            setMoreMarker(data.lat, data.lng, marker[markerKey].type[0]);
        }
    }
    if (addedCurrentMessage == false) {
        addMessageIndex = marker[markerKey].aantalBerichten - 1;
        marker[markerKey].nuinSorted[addMessageIndex] = new Object;
        marker[markerKey].voted[addMessageIndex] = false;
    }
    marker[markerKey].zoomLevel[addMessageIndex] = data.level;
    marker[markerKey].bericht[addMessageIndex] = data.bericht;
    marker[markerKey].type[addMessageIndex] = data.type;
    if (allowVote == 1) {
        marker[markerKey].votes[addMessageIndex] = data.votes;
        marker[markerKey].stars[addMessageIndex] = data.stars;
        marker[markerKey].voteMessage[addMessageIndex] = "";
    }
    marker[markerKey].nuinrank[addMessageIndex] = data.nuinrank;
    marker[markerKey].index[addMessageIndex] = data.index;
    var obj = new Object;
    if (showMarker(markerKey, niuzMap.getZoom(), obj) == true) {
        setMarkerImage(markerKey, obj.single, obj.type);
        marker[markerKey].theMarker.show();
    } else {
        marker[markerKey].theMarker.hide();
    }
    return addMessageIndex;
}

function setZoomSystem(level) {
    zb = 5;
    if ( (level > 10) && (curmap == 0)) { setMapType(0); }
    if ( (level <= 10) && (curmap == 1)) { setMapType(0); }

    if (level > 7) {
        zb = 4;
    }
    if (level > 8) {
        zb = 3;
    }
    if (level > 9) {
        zb = 2;
    }
    if (level > 10) {
        zb = 1;
    }
    if (level > 11) {
        zb = 0;
    }
    for (var i = 0; i <= 5; ++i) {
        if (i == zb) {
            document.getElementById("zoom" + i).src = "" + config_site_url2 + "/icon/zoomsystem/zoom-1_s.gif";
        } else {
            document.getElementById("zoom" + i).src = "" + config_site_url2 + "/icon/zoomsystem/zoom-1_n.gif";
        }
    }
}

function changeZoomLevel(oldLevel, newLevel) {
    setZoomSystem(newLevel);
    showMarkers(newLevel);
    createNuinCookie("lat", niuzMap.getCenter().lat());
    createNuinCookie("lng", niuzMap.getCenter().lng());
    createNuinCookie("zoomlevel", niuzMap.getZoom());
    //updateHeadlines(1);
}

function gaNaarPlaats(plaats) {
    function setMap(point) {
        if (!point) {
            alert(adres + " niet gevonden");
        } else {
            niuzMap.setCenter(point, 11);
        }
    }
    adres = plaats + ", The Netherlands";
    niuzGeocoder.getLatLng(adres, setMap);
}

function gaNaarPlaatsCo(lat, lng, zl) {
    point = new GLatLng(lat, lng);
    if (!point) {
        alert("niet gevonden");
    } else {
        niuzMap.setCenter(point, zl);
        popdownPlaats();
    }
}

function addNews() {
    if (window.frames.postiframe) {
        postFrm = window.frames.postiframe;
        if (postFrm.document.getElementById("pointlat")) {
            postFrm.document.getElementById("pointlat").value = movableMarker.getPoint().lat();
        }
        if (postFrm.document.getElementById("pointlng")) {
            postFrm.document.getElementById("pointlng").value = movableMarker.getPoint().lng();
        }
    }
}

function fileGet(url, processReqChange) {
    if (window.XMLHttpRequest) {
        fileReq = new XMLHttpRequest;
    } else if (window.ActiveXObject) {
        fileReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    fileReq.onreadystatechange = processReqChange;
    fileReq.open("GET", url, true);
    fileReq.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
    fileReq.send(null);
}

function fileGet2(url, processReqChange) {
  //document.getElementById("GoogleMapLoader").style.visibility = "visible";
    fileReq2Counter++;
    if (window.XMLHttpRequest) {
        fileReq2[fileReq2Counter] = new XMLHttpRequest;
    } else if (window.ActiveXObject) {
        fileReq2[fileReq2Counter] = new ActiveXObject("Microsoft.XMLHTTP");
    }
    readsFileReq2[fileReq2Counter] = false;
    fileReq2[fileReq2Counter].onreadystatechange = processReqChange;
    fileReq2[fileReq2Counter].open("GET", url, true);
    fileReq2[fileReq2Counter].setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
    fileReq2[fileReq2Counter].send(null);
}

function fileGet3(url, processReqChange, indexMarker, index, stars) {
    if (window.XMLHttpRequest) {
        fileReq3 = new XMLHttpRequest;
    } else if (window.ActiveXObject) {
        fileReq3 = new ActiveXObject("Microsoft.XMLHTTP");
    }
    fileReq3indexMarker = indexMarker;
    fileReq3index = index;
    fileReq3stars = stars;
    fileReq3.onreadystatechange = processReqChange;
    fileReq3.open("GET", url, true);
    fileReq3.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
    fileReq3.send(null);
}

function getTopBanner() {
    document.getElementById("top_banner").innerHTML = "<iframe name=\"topiframe" + topIframeIdx + "\" scrolling=\"no\" id=\"topiframe" + topIframeIdx + "\" frameborder=\"0\" height=\"60\" width=\"468\" src=\"" + config_site_url + "/topbanner.html\"></iframe>";
    topIframeIdx++;
}

function getSideBanner() {
    document.getElementById("side_banner").innerHTML = "<iframe name=\"sideiframe" + sideIframeIdx + "\" scrolling=\"no\" id=\"sideiframe" + sideIframeIdx + "\" frameborder=\"0\" height=\"320\" width=\"366\" src=\"" + config_site_url + "/sidebanner.html\"></iframe>";
    sideIframeIdx++;
}

function processHeadlines() {
    if (fileReq.readyState == 4) {
        if (fileReq.status == 200) {
            setBerichtenText();
        }
    }
}

function processVote() {
    var code = 0;
    if (fileReq3.readyState == 4) {
        if (fileReq3.status == 200) {
            if (marker[fileReq3indexMarker]) {
                var xml = GXml.parse(fileReq3.responseText);
                var curElem = xml.getElementsByTagName("code");
                if (curElem[0].firstChild) {
                    code = curElem[0].firstChild.nodeValue;
                }
                for (var i = 0; i < marker[fileReq3indexMarker].aantalBerichten; ++i) {
                    if (marker[fileReq3indexMarker].index[i] == fileReq3index) {
                        marker[fileReq3indexMarker].voted[i] = true;
                        if (parseInt(code) == 1) {
                            curElem = xml.getElementsByTagName("stars");
                            if (curElem[0].firstChild) {
                                newstars = curElem[0].firstChild.nodeValue;
                            }
                            curElem = xml.getElementsByTagName("votes");
                            if (curElem[0].firstChild) {
                                newvotes = curElem[0].firstChild.nodeValue;
                            }
                            marker[fileReq3indexMarker].votes[i] = newvotes;
                            marker[fileReq3indexMarker].stars[i] = newstars;
                            marker[fileReq3indexMarker].voteMessage[i] = "Bedankt voor uw beoordeling.";
                        } else {
                            marker[fileReq3indexMarker].voteMessage[i] = "Deze bijdrage is al eerder beoordeeld vanaf uw ip-adres.";
                        }
                        nieuwsKoppenNieuws(fileReq3indexMarker, i);
                    }
                }
            }
        }
    }
}

function processNews() {
    var readElements = Array("nuinrank", "lat", "lng", "level", "type", "index", "pla", "bericht");
    if (allowVote == 1) {
        readElements.push("votes");
        readElements.push("stars");
    }
    var readCElements = Array("cindex", "clevel", "clat", "clng", "cnumber", "cbericht");
    var xmlElements = new Array;
    var xmlCElements = new Array;
    var data = new Array;
    var cdata = new Array;
    var len = readElements.length;
    var clen = readCElements.length;
    for (var count = 1; count <= fileReq2Counter; ++count) {
        if (fileReq2[count].readyState == 4) {
            if (fileReq2[count].status == 200 && readsFileReq2[count] == false) {
                readsFileReq2[count] = true;
                var xml = GXml.parse(fileReq2[count].responseText);
                for (var i = 0; i < len; i++) {
                    var element = readElements[i];
                    xmlElements[element] = xml.getElementsByTagName(element);
                }
                if (showClusterMarkers == 1) {
                    for (var i = 0; i < clen; i++) {
                        var element = readCElements[i];
                        xmlCElements[element] = xml.getElementsByTagName(element);
                    }
                    var nc = xmlCElements.cindex.length;
                    for (var i = 0; i < nc; ++i) {
                        for (var j = 0; j < clen; j++) {
                            var element = readCElements[j];
                            var currentElement = xmlCElements[element][i].firstChild;
                            if (currentElement) {
                                cdata[element] = currentElement.nodeValue;
                            } else {
                                cdata[element] = "";
                            }
                        }
                        cm(cdata);
                    }
                }
                var nmes = xmlElements.index.length;
                for (var i = 0; i < nmes; ++i) {
                    for (var j = 0; j < len; j++) {
                        var element = readElements[j];
                        var currentElement = xmlElements[element][i].firstChild;
                        if (currentElement) {
                            data[element] = currentElement.nodeValue;
                        } else {
                            data[element] = "";
                        }
                    }
                    if (searchquery.length > 0) {
                        data.level = 6;
                    }
                    if (data.bericht != "") {
                        var id = sn(data);
                        if (data.index == popupIndex) {
			  //popupPlaats(data.lat, data.lng, data.pla);
                            var markerKey = data.lat + "T" + data.lng;
                            nieuwsKoppenNieuws(markerKey, id);
                        }
                    }
                }
                document.getElementById("GoogleMapLoader").style.visibility = "hidden";
            }
        }
    }
}

function showClusterMarker(key, level) {
    if (level == clusterMarker[key].zoomLevel) {
        return true;
    } else {
        return false;
    }
}

function showMessage(key, idx, level) {
    if (dataModus == 1) {
        for (var i in tabShow) {
            if (tabShow[i] == marker[key].nuinrank[idx] && level >= marker[key].zoomLevel[idx]) {
                return true;
            }
        }
    } else {
        if (level >= marker[key].zoomLevel[idx]) {
            return true;
        }
    }
    return false;
}

function showMarkerObj(key, level, obj) {
    if (obj) {
        if (marker[key].lat < obj.latlow || marker[key].lat > obj.latup || marker[key].lng < obj.lnglow || marker[key].lng > obj.lngup) {
            return false;
        }
        var count = 0;
        var maxnuin = 0;
        var type = 0;
        var maxnuinidx = 0;
        for (var i = 0; i < marker[key].aantalBerichten; ++i) {
            if (showMessage(key, i, level) == true) {
                count++;
                if (marker[key].nuinrank[i] > maxnuin) {
                    maxnuinidx = i;
                    maxnuin = marker[key].nuinrank[i];
                }
            }
        }
        if (count > 0) {
            marker[key].singleIdx = maxnuinidx;
            obj.type = marker[key].type[maxnuinidx];
            obj.number = count;
            return true;
        }
    }
    return false;
}

function showMarker(key, level, obj) {
    if (obj) {
        var maxnuin = -10000;
        var maxnuinidx = 0;
        var count = 0;
        for (var i = 0; i < marker[key].aantalBerichten; ++i) {
            if (showMessage(key, i, level) == true) {
                count++;
                if (marker[key].nuinrank[i] > maxnuin) {
                    maxnuinidx = i;
                    maxnuin = marker[key].nuinrank[i];
                }
            }
        }
        if (count > 0) {
            obj.single = true;
            if (count > 1) {
                obj.single = false;
            }
            obj.type = marker[key].type[maxnuinidx];
            return true;
        }
    }
    return false;
}

function setClusterMarkerImage(idx, number) {
    clusterMarker[idx].theMarker.setImage(config_site_url + "/images_markers/clustermarkers/" + clusterMarkerType + "-" + number + ".png");
}

function setMarkerImage(idx, single, type) {
    ntype = type;
    if (ntype >= 2000 && ntype <= 3000) {
        ntype = "2000";
    }
    if (single == true) {
        marker[idx].theMarker.setImage(config_site_url2 + "/images_markers/" + ntype + ".png");
    } else {
        if (ntype < 15 || ntype == 2000) {
            iconimage = config_site_url2 + "/images_markers/" + ntype + "-meer.png";
        } else {
            iconimage = config_site_url2 + "/images_markers/" + ntype + ".png";
        }
        marker[idx].theMarker.setImage(iconimage);
    }
}

function showMarkers(level) {
    var showObj = new Object;
    showObj.latlow = niuzMap.getBounds().getSouthWest().lat();
    showObj.latup = niuzMap.getBounds().getNorthEast().lat();
    showObj.lnglow = niuzMap.getBounds().getSouthWest().lng();
    showObj.lngup = niuzMap.getBounds().getNorthEast().lng();
    for (var i in marker) {
        marker[i].klikTeller = 0;
        marker[i].kopidx = -1;
        if (showMarkerObj(i, level, showObj) == true) {
            if (showObj.number == 1 && marker[i].single == false) {
                setMarkerImage(i, true, showObj.type);
            } else if (showObj.number > 1 && marker[i].single == true) {
                setMarkerImage(i, false, showObj.type);
            } else if (showObj.type != marker[i].type && marker[i].single == true) {
                setMarkerImage(i, true, showObj.type);
            } else if (showObj.type != marker[i].type && marker[i].single == false) {
                setMarkerImage(i, false, showObj.type);
            }
            marker[i].theMarker.show();
        } else {
            marker[i].theMarker.hide();
        }
    }
    if (showClusterMarkers == 1) {
        for (var i in clusterMarker) {
            if (showClusterMarker(i, level) == true) {
                clusterMarker[i].theMarker.show();
            } else {
                clusterMarker[i].theMarker.hide();
            }
        }
    }
}

function createHeadlines(pagenumber) {
    currentHeadlinePage = pagenumber;
    if (showHeadlines == 1) {
        if (niuzMap) {
            latlow = niuzMap.getBounds().getSouthWest().lat();
            latup = niuzMap.getBounds().getNorthEast().lat();
            lnglow = niuzMap.getBounds().getSouthWest().lng();
            lngup = niuzMap.getBounds().getNorthEast().lng();
        } else {
            latlow = -90;
            latup = 90;
            lnglow = -90;
            lngup = 90;
        }
        url = config_site_url + "/headlines.php?modus=" + currentModus + "&latlow=" + latlow + "&latup=" + latup + "&lnglow=" + lnglow + "&lngup=" + lngup + "&page=" + pagenumber + "&zoomlevel=" + niuzMap.getZoom() + "&code=" + currentCode;
        if (searchquery.length > 0) {
            url += "&sq=" + searchquery;
        }
        fileGet(url, processHeadlines);
    }
}

function updateHeadlines(page) {
    switch (currentModus) {
    case "plaatsbericht":
    case "plaatsnieuws":
        break;
    default:
      switch(dataModus) {
      case 0: click(page, true); break;
      case 1: feedClick(2);
      }
    }
}

function headlineClick(pagenumber) {
    click(pagenumber, true);
}

function click(pagenumber, register) {
    if (automaticReload == true) {
        clearTimeout(reloadTimer);
        statement = "click(" + pagenumber + ", false)";
        reloadTimer = setTimeout(statement, 30000);
    }
    if (pagenumber == 1) {
        getNews(reset);
        showMarkers(niuzMap.getZoom());
    }
    createHeadlines(pagenumber);
    if (register == true) {
        addAClick();
    }
}

function feedClick(code) {
    if (code == 1) {
        showFeedCat(currentCode, "NONE");
    }
    if (code != 1) {
        getNews(reset);
        showMarkers(niuzMap.getZoom());
    }
    addAClick();
}

function searchFeed(pars, subtitle) {
    for (var i in marker) {
        for (var j in marker[i].nuinrank) {
            if (marker[i].nuinrank[j] == "0") {
                marker[i].nuinrank[j] = "2499";
            }
        }
    }
    feedPars = pars;

    tabShow = Array(0, -1);
    document.getElementById("pageSubTitle").innerHTML = subtitle;
    getNews("zoekreset");
    showMarkers(niuzMap.getZoom());
    addAClick();
}

function showFeedCat(cat, subtitle) {
    cat = parseInt(cat);
    
    feedPars = Array(1);
    feedPars[0] = cat;

    tabShow = Array(cat, -1);
    if (subtitle != "NONE") {
        document.getElementById("pageSubTitle").innerHTML = subtitle;
    }
    getNews("reset");
    showMarkers(niuzMap.getZoom());
    addAClick();
}

function vote(index, stars, indexMarker) {
    fileGet3(config_site_url + "/vote.php?modus=" + currentModus + "&index=" + index + "&stars=" + stars, processVote, indexMarker, index, stars);
}

function setBerichtenText() {
    response = fileReq.responseText;
    temp = response.split("----------do-not-remove-this-line----------");
    document.getElementById("column_right_newslist_1").innerHTML = temp[0];
    document.getElementById("column_right_newslist_2").innerHTML = temp[1];
}

function showHeadlineNews(markerKey, index, id, lat, lng, plaatsnaam) {
    if (showHL[index] == true) {
        popupPlaats(lat, lng, plaatsnaam);
	document.getElementById("clusterMarkerMessage").innerHTML = "";
        nieuwsKoppenNieuws(markerKey, id);
    }
}

function headlineMouseOver(lat, lng, plaatsnaam, index) {
    var markerKey = lat + "T" + lng;
    addAClick();
    if (marker[markerKey]) {
        for (var i = 0; i < marker[markerKey].aantalBerichten; ++i) {
            if (marker[markerKey].index[i] == index) {
                showHL[index] = true;
                setTimeout("showHeadlineNews('" + markerKey + "', " + index + "," + i + "," + lat + "," + lng + ",'" + plaatsnaam + "')", "300");
                return;
            }
        }
    }
    url = "" + config_site_url_getnews + "?modus=" + currentModus + "&index=" + index;
    popupIndex = index;
    popupPlaats(lat, lng, plaatsnaam);
    fileGet2(url, processNews);
    document.getElementById("clusterMarkerMessage").innerHTML = "";
}

function displayMessage(lat, lng, index) {
  addAClick();
   var markerKey = lat + "T" + lng;
    if (marker[markerKey]) {
        for (var i = 0; i < marker[markerKey].aantalBerichten; ++i) {
            if (marker[markerKey].index[i] == index) {
	      nieuwsKoppenNieuws(markerKey, i);
	      return;
	    }
        }
    }
    url = "" + config_site_url_getnews + "?modus=" + currentModus + "&index=" + index;
    popupIndex = index;
    fileGet2(url, processNews);
}



function headlineMouseOut(index) {
    showHL[index] = false;
    popdownPlaats();
}

function popupPlaats(lat, lng, plaatsnaam) {
    latlng = new GLatLng(lat, lng, true);
    plaatsx = niuzMap.fromLatLngToDivPixel(latlng).x;
    plaatsy = niuzMap.fromLatLngToDivPixel(latlng).y;
    sw = niuzMap.fromLatLngToDivPixel(niuzMap.getBounds().getSouthWest());
    ne = niuzMap.fromLatLngToDivPixel(niuzMap.getBounds().getNorthEast());
    width = Math.abs(sw.x - ne.x);
    height = Math.abs(sw.y - ne.y);
    posx = plaatsx - sw.x;
    posy = plaatsy - 6 - ne.y;
    estimatedLength = (plaatsnaam.length + 3) * 7;
    estimatedHeight = 20;
    if (posx > width - estimatedLength) {
        posx = width - estimatedLength;
    }
    if (posy > height - estimatedHeight) {
        posy = plaatsy - 38 - ne.y;
    }
    var nk = document.getElementById("GoogleMapPopup");
    nk.style.visibility = "hidden";
    nk.innerHTML = plaatsnaam;
    nk.style.left = posx + "px";
    nk.style.top = posy + "px";
    nk.style.visibility = "visible";
}

function popdownPlaats() {
    document.getElementById("GoogleMapPopup").style.visibility = "hidden";
}

