var map;
var feedurl = "http://www.leidenlokaal.nl/feed/";
var gemeenten = new Array;
var trefwoorden = new Array;
var periode = new Date();

window.addEvent('domready', function() {
	var status = {'true': 'open','false': 'close' };
	var meer_tags = new Fx.Slide('meer_tags').hide();
	var map_canvas = new Fx.Slide('map_canvas').hide();
	var block_kaart_klein = new Fx.Slide('block_kaart');
	var block_kaart_groot = new Fx.Slide('block_kaart_groot').hide();
	$('block_kaart').addEvent('mouseover', function(e){ $('block_kaart').setStyle('background-color', '#BA0001'); });
	$('block_kaart').addEvent('mouseout', function(e){ $('block_kaart').setStyle('background-color', '#000'); });
	$('kop_meer_tags').addEvent('click', function(e){ 
		e.stop(); 
		meer_tags.toggle();  
		});
	$('block_kaart').addEvent('click', function(e){ 
		e.stop(); 
		block_kaart_klein.toggle();  
		block_kaart_groot.toggle(); 
		map_canvas.show(); 
		});
	$('kaart_knop').addEvent('click', function(e){ 
		e.stop(); 
		block_kaart_groot.toggle(); 
		block_kaart_klein.toggle();
		map_canvas.hide();
		});		
	$('zoek_kop').addEvent('click', function(e){$('searchform').submit(); });

}); 
 
function initialize() {
 	  if (GBrowserIsCompatible()) {
	   map = new GMap2(document.getElementById("map_canvas"));
       map.setCenter(new GLatLng(52.162877,4.49049), 12);  
       map.setUIToDefault();
       haalXML();  
 	  }
} 

function haalXML() {
	if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest();}
	else { xhttp=new ActiveXObject("Microsoft.XMLHTTP");}
	xhttp.open("GET",feedurl,false);
	xhttp.send("");
	xmlDoc=xhttp.responseXML; 
	nieuweSelectie();
}	

function parseXML() {
	var berichten = xmlDoc.getElementsByTagName("item");
	for (i=0;i<berichten.length;i++) {
		var match = false;
		var bericht = berichten[i];
		var pubdate = bericht.getElementsByTagName("pubDate")[0].childNodes[0].nodeValue;
		var datum = new Date(pubdate); 					
		if (datum > periode) {												// check op datum
			var tags = bericht.getElementsByTagName("category");
				var gemeente = tags[0].childNodes[0].nodeValue; 			// check op gemeente
				for (g=0;g<gemeenten.length;g++) {
					if (gemeenten[g] == gemeente) { 						// check op tag
						for (t=0;t<tags.length;t++) {
							var tag = tags[t].childNodes[0].nodeValue;
							for (a=0;a<trefwoorden.length;a++) {
								if (trefwoorden[a] == tag || trefwoorden[a] == 'alle' && match == false) { 
									match = true;
									maakMarker(bericht);					// aan alle voorwaarden voldaan? maar marker!
								}
							}	
						}	
					}
				}		
			}
	  }
}

function maakMarker(bericht) {
		//var foo = bericht.getElementsByTagName("georss:point").length;
		//alert('waarde is: ' + foo);
		if (bericht.getElementsByTagName("georss:point")){
			var title = bericht.getElementsByTagName("title")[0].childNodes[0].nodeValue;
			var description = bericht.getElementsByTagName("description")[0].childNodes[0].nodeValue;
			var link = bericht.getElementsByTagName("guid")[0].childNodes[0].nodeValue;
			var geo = bericht.getElementsByTagName("georss:point")[0].childNodes[0].nodeValue;
			lat = geo.split(' ')[0];
			long = geo.split(' ')[1]; 
			plaatsMarker(lat,long, title, description, link);
		}
}	

function plaatsMarker(lat,long, title, description, link){
	var location = new GLatLng(lat,long);
	var marker = new GMarker(location);
	GEvent.addListener(marker, "click", function() {
           marker.openInfoWindow('<div class="infowindow"><strong><a href="'+link + '</a>' + title+'</a></strong><br />'+description+'</div>');
           marker.openInfoWindowHtml.maxWidth=100;
         });
	map.addOverlay(marker);
}

function nieuweSelectie(){
	map.clearOverlays(); 
	gemeenten.length = 0;
	trefwoorden.length = 0;
	var dag = 1000*60*60*24;
	var boxesPeriode = document.selectiePeriode.periode;
	for (i=0;i<boxesPeriode.length;i++){
		if (boxesPeriode[i].checked==true) {
			var vandaag = new Date();
			periode.setTime(vandaag.getTime()-(boxesPeriode[i].value)*dag);
		}
	}	
	var boxesGemeenten = document.selectieGemeenten.getElementsByTagName('input');
	for (b=0;b<boxesGemeenten.length;b++) {
		if (boxesGemeenten[b].checked == true){
			gemeenten.push(boxesGemeenten[b].value);
		}
	}
	var boxesTags = document.selectieTags.getElementsByTagName('input');
	for (b=0;b<boxesTags.length;b++) {
		if (boxesTags[b].checked == true){
			trefwoorden.push(boxesTags[b].value);
		}
	}
	parseXML();	
}

function alleGemeenten(){
	var waarde;
	var boxesGemeenten = document.selectieGemeenten.getElementsByTagName('input');
	if (boxesGemeenten[0].checked == true) {waarde = true} else {waarde = false}
	for (b=1;b<boxesGemeenten.length;b++) {
		boxesGemeenten[b].checked = waarde;
		boxesGemeenten[b].disabled = waarde;
	}
	nieuweSelectie();
}

function alleTags(){
	var waarde;
	var boxesTags = document.selectieTags.getElementsByTagName('input');
	if (boxesTags[0].checked == true) {waarde = true} else {waarde = false}
	for (b=1;b<boxesTags.length;b++) {
		boxesTags[b].checked = waarde;
		boxesTags[b].disabled = waarde;
	}
	nieuweSelectie();
}

