var ar_weer_markers = [];
var ar_parking_markers = [];
var ar_tankstations_markers = [];
var ar_campings_markers = [];

var weerMarkertjesGeladen = 0;
var parkingMarkertjesGeladen = 0;
var tankstationMarkertjesGeladen = 0;
var campingMarkertjesGeladen = 0;

function toggleWeerbericht() {
  if (weerMarkertjesGeladen == 0) {	
    xmlWeersverwachting();
	weerMarkertjesGeladen = 1;
  }
	
  if (document.getElementById("chk-weer").checked == false) {

    for (i=0;i<ar_weer_markers.length;i++) {
      var marker_weer = ar_weer_markers[i]; 
	  marker_weer.hide();
	}

  }
  else if (document.getElementById("chk-weer").checked == true) {

    for (i=0;i<ar_weer_markers.length;i++) {
      var marker_weer = ar_weer_markers[i]; 
	  marker_weer.show();
	}

  }
}

function toggleParkings() {
  if (parkingMarkertjesGeladen == 0) {	
    xmlParkings();
	parkingMarkertjesGeladen = 1;
  }
	
  if (document.getElementById("chk-parkings").checked == false) {

    for (i=0;i<ar_parking_markers.length;i++) {
      var marker_parking = ar_parking_markers[i]; 
	  marker_parking.hide();
	}

  }
  else if (document.getElementById("chk-parkings").checked == true) {

    for (i=0;i<ar_parking_markers.length;i++) {
      var marker_parking = ar_parking_markers[i]; 
	  marker_parking.show();
	}

  }
}

function toggleTankstations() {
  if (tankstationMarkertjesGeladen == 0) {	
    xmlTankstations();
	tankstationMarkertjesGeladen = 1;
  }
	
  if (document.getElementById("chk-tankstations").checked == false) {

    for (i=0;i<ar_tankstations_markers.length;i++) {
      var marker_tankstation = ar_tankstations_markers[i]; 
	  marker_tankstation.hide();
	}

  }
  else if (document.getElementById("chk-tankstations").checked == true) {

    for (i=0;i<ar_tankstations_markers.length;i++) {
      var marker_tankstation = ar_tankstations_markers[i]; 
	  marker_tankstation.show();
	}

  }
}

function toggleCampings() {
  if (campingMarkertjesGeladen == 0) {	
    xmlCampings();
	campingMarkertjesGeladen = 1;
  }
	
  if (document.getElementById("chk-campings").checked == false) {

    for (i=0;i<ar_campings_markers.length;i++) {
      var marker_camping = ar_campings_markers[i]; 
	  marker_camping.hide();
	}

  }
  else if (document.getElementById("chk-campings").checked == true) {

    for (i=0;i<ar_campings_markers.length;i++) {
      var marker_camping = ar_campings_markers[i]; 
	  marker_camping.show();
	}

  }
}

function xmlParkings() {
	
  if (xmlhttp) {	
	
    var url="/xml/p-en-r.xml";
    xmlhttp.open("GET",url,true);

    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
	      var xmldata = GXml.parse(xmlhttp.responseText);
          var markers = xmldata.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
		    var tekst = markers[i].getAttribute("pr");
		    var marker_parking = createMarkerParking(lat,lng,tekst);
			ar_parking_markers.push(marker_parking);
            map.addOverlay(marker_parking);
		  }
        }
	  }
    }
	
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(null);
    return false;
  
  }
}

function xmlWeersverwachting() {
	
  if (xmlhttp) {	
	
    var url="/weer.xml";
    xmlhttp.open("GET",url,true);

    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
	      var xmldata = GXml.parse(xmlhttp.responseText);
          var markers = xmldata.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
		    var tekst = markers[i].getAttribute("weer");
		    var marker_weerbericht = createMarkerWeerbericht(lat,lng,tekst);
			ar_weer_markers.push(marker_weerbericht);
            map.addOverlay(marker_weerbericht);
		  }
        }
	  }
    }
	
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(null);
    return false;
  
  }
}

function xmlTankstations() {
	
  if (xmlhttp) {	
	
    var url="/xml/tankstations.xml";
    xmlhttp.open("GET",url,true);

    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
	      var xmldata = GXml.parse(xmlhttp.responseText);
          var markers = xmldata.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
		    var tekst = markers[i].getAttribute("tankstation");
		    var marker_tankstation = createMarkerTankstation(lat,lng,tekst);
			ar_tankstations_markers.push(marker_tankstation);
            map.addOverlay(marker_tankstation);
		  }
        }
	  }
    }
	
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(null);
    return false;
  
  }
}

function xmlCampings() {
	
  if (xmlhttp) {	
	
    var url="/xml/campings.xml";
    xmlhttp.open("GET",url,true);

    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
	      var xmldata = GXml.parse(xmlhttp.responseText);
          var markers = xmldata.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
		    var tekst = markers[i].getAttribute("camping");
		    var marker_camping = createMarkerCamping(lat,lng,tekst);
			ar_campings_markers.push(marker_camping);
            map.addOverlay(marker_camping);
		  }
        }
	  }
    }
	
    xmlhttp.setRequestHeader('Accept','message/x-formresult');
    xmlhttp.send(null);
    return false;
  
  }
}

function createMarkerWeerbericht(x,y,tekst) {
  var latlng = new GLatLng(x, y);
  var class_container = "container-marker-weer";
  var icon = new GIcon();
  icon.image = "/img/kaart/ico-weer.png";
  icon.iconSize = new GSize(70, 70);
  icon.iconAnchor = new GPoint(35, 35);
  icon.infoWindowAnchor = new GPoint(35, 35);
  
  tekst = tekst.replace(/amp;/gi,"");

  opts = {
    "icon": icon,
    "clickable": false,
    "labelText": tekst,
	"labelClass": class_container,
    "labelOffset": new GSize(-30, -20)
  };
 
  var markertje = new LabeledMarker(latlng, opts);
	
  return markertje;
}

function createMarkerParking(x,y,tekst) {
  var latlng = new GLatLng(x, y);
  var class_container = "container-marker-parking";
  var icon = new GIcon();
  icon.image = "/img/kaart/ico-pr.png";
  icon.iconSize = new GSize(12, 12);
  icon.iconAnchor = new GPoint(6, 6);
  icon.infoWindowAnchor = new GPoint(6, 6);
  
  tekst = tekst.replace(/amp;/gi,"");

  opts = {
    "icon": icon,
    "clickable": false,
    "labelText": "",
	"labelClass": class_container,
    "labelOffset": new GSize(0, 0)
  };
 
  var markertje = new LabeledMarker(latlng, opts);
	
  return markertje;
}

function createMarkerTankstation(x,y,tekst) {
  var latlng = new GLatLng(x, y);
  var class_container = "container-marker-tankstation";
  var icon = new GIcon();
  icon.image = "/img/kaart/ico-tankstations.png";
  icon.iconSize = new GSize(12, 12);
  icon.iconAnchor = new GPoint(6, 6);
  icon.infoWindowAnchor = new GPoint(6, 6);
  
  tekst = tekst.replace(/amp;/gi,"");

  opts = {
    "icon": icon,
    "clickable": false,
    "labelText": "",
	"labelClass": class_container,
    "labelOffset": new GSize(0, 0)
  };
 
  var markertje = new LabeledMarker(latlng, opts);
	
  return markertje;
}

function createMarkerCamping(x,y,tekst) {
  var latlng = new GLatLng(x, y);
  var class_container = "container-marker-camping";
  var icon = new GIcon();
  icon.image = "/img/kaart/ico-campings.png";
  icon.iconSize = new GSize(12, 12);
  icon.iconAnchor = new GPoint(6, 6);
  icon.infoWindowAnchor = new GPoint(6, 6);
  
  tekst = tekst.replace(/amp;/gi,"");

  opts = {
    "icon": icon,
    "clickable": false,
    "labelText": "",
	"labelClass": class_container,
    "labelOffset": new GSize(0, 0)
  };
 
  var markertje = new LabeledMarker(latlng, opts);
	
  return markertje;
}