var map;
var centerLatitude = 47.281870;
var centerLongitude = 19.197210;
var startZoom = 7;
var gmarkers=[];
var steden=[];

//Bepaal breedte en hoogte
		function getWindowWidth() {
			var myWidth;
			if( typeof( window.innerWidth ) == 'number' ) {
				//Non-IE
				myWidth = window.innerWidth;
			} else if( document.documentElement && document.documentElement.clientWidth ) {
				//IE 6+ in 'standards compliant mode'
				myWidth = document.documentElement.clientWidth;
			} else if( document.body && document.body.clientWidth) {
				//IE 4 compatible
				myWidth = document.body.clientWidth;
			}
			return myWidth;
		}
		
		function getWindowHeight() {
			var myHeight;
			if( typeof( window.innerHeight ) == 'number' ) {
				//Non-IE
				myHeight = window.innerHeight;
			} else if( document.documentElement && document.documentElement.clientHeight ) {
				//IE 6+ in 'standards compliant mode'
				myHeight = document.documentElement.clientHeight;
			} else if( document.body && document.body.clientHeight ) {
				//IE 4 compatible
				myHeight = document.body.clientHeight;
			}
			return myHeight;
		}

function addMarker(longitude, latitude, description, soort, plaats) {
  var baseIcon = new GIcon();
          baseIcon.iconSize=new GSize(32,32);
          baseIcon.shadowSize=new GSize(56,32);
          baseIcon.iconAnchor=new GPoint(16,32);
          baseIcon.infoWindowAnchor=new GPoint(16,0);
          var icon = new GIcon(baseIcon, "./icons/"+soort+".png", null, null);
	        var marker = new GMarker(new GPoint(longitude, latitude),icon);
					marker.type = soort;		
					steden[steden.length] = plaats;
	        gmarkers.push(marker);
	
	GEvent.addListener(marker, 'click',
		function() {
			marker.openInfoWindowHtml('<div style="width: 20em; padding: 2px; margin: 2px;">' + description + '</div>',{maxWidth:600});
		}
	);
  map.addOverlay(marker);
}

function checkMarkers()
{
// Als de check uitstaat moet deze ook worden verwijderd van de Overlay anders blijven ze maar staan
    for (var x=0;x<gmarkers.length;x++)
		{
		  if ((document.getElementById("id"+gmarkers[x].type).checked==false||document.getElementById("id"+steden[x]).checked==false) && !gmarkers[x].isHidden())
			{
			 gmarkers[x].hide();
			}
    }
}

function init() {
	map = new GMap2(document.getElementById("map"));
        var newwidth = Math.max(getWindowWidth()-(2/100*getWindowWidth()), 0);
        var newheight = Math.max(getWindowHeight()-(2/100*getWindowHeight()), 0);
        document.getElementById("map").style.width = newwidth + 'px';
        document.getElementById("map").style.height = newheight + 'px';


	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
	var encodedPoints = "{qdbH_rfgBriCff}@qpJrpd@piPhyYxmM}nr@haa@h|i@dkqA_mEj~TpvdAnhlAqrqAt|Uiqs@`grAo_uBrk[gppAzn@q{aCgtWi`]i{SedwBsub@}flApdGc~}D_oW_e_@deD}`l@qckAiqs@qhx@gf}@w}gB}qbA{i_Aq`xAg{A}nr@{dXub^eh_@~aOvcA|re@gnYhrV__DttW}o[fuf@f~Hf~vA{ti@hqs@j|M|j_AgxK|nr@nfH|c|@|zp@r~j@h_Nren@r_Irpd@wvShcm@dwXfg`@`wIpm{B~yj@_fBhlM|_iAbm@zdfCyft@p|dBr|Kria@dfo@ae@";
  var encodedLevels = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB";
  var encodedPolyline = new GPolyline.fromEncoded({
                color: "#FF0000",
                weight: 5,
                points: encodedPoints,
                levels: encodedLevels,
                zoomFactor: 32,
                numLevels: 4
        });

        //add polyline to map
        map.addOverlay(encodedPolyline);
		for(id in markers) {
//                  window.alert(markers[id].name);
		  addMarker(markers [id].longitude, markers [id].latitude, markers [id].name, markers [id].soort, markers [id].plaats);			
	  }
//		checkMarkers();
}

function Markers(color){
// map.closeInfoWindow();
map.getInfoWindow().hide()
//   if (document.getElementById("id"+color).checked==false) { // hide the marker
      for (var i=0;i<gmarkers.length;i++) {
//         if (gmarkers[i].type==color)  {
//						gmarkers[i].hide();
//         }
//      }
//   } else { // show the marker again
//      for (var i=0;i<gmarkers.length;i++) {
//         if (gmarkers[i].type==color && gmarkers[i].isHidden() && document.getElementById("id"+steden[i]).checked==true)  {
						gmarkers[i].show();
//         }
//      }
   }
}

function Steden(plaats){
// map.closeInfoWindow();
map.getInfoWindow().hide() 
   if (document.getElementById("id"+plaats).checked==false) { // hide the marker
      for (var i=0;i<gmarkers.length;i++) {
         if (steden[i]==plaats)  {
						gmarkers[i].hide();
         }
      }
   } else { // show the marker again
      for (var i=0;i<gmarkers.length;i++) {
         if (steden[i]==plaats && gmarkers[i].isHidden() && document.getElementById("id"+gmarkers[i].type).checked==true) {
						gmarkers[i].show();
         }
      }
   }
}

function ToonAttractie(id){
// map.closeInfoWindow();
  map.getInfoWindow().hide()
	for (var i=0;i<gmarkers.length;i++) {
         if (gmarkers[i].att_id==id)  {
						gmarkers[i].show();
         }
         else { // show the marker again              
							gmarkers[i].hide();
         }				
      }
}

function unload() {
  GUnload();
}
