var markerClusterer = '';

function dbRequest(action, file, var1, var2, preURL){
    file = '/requests/'+file;

	var req = null; 
	if (window.XMLHttpRequest){
			req = new XMLHttpRequest();
			if (req.overrideMimeType){
				req.overrideMimeType('text/xml');
			}
		} 
		else if (window.ActiveXObject) 
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
	        	}

		req.onreadystatechange = function()
		{ 
			
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					switch(action){    	    							
 					   case 'getVacatures':	case 'getMas':	 
 					     $('#numberHolder').html(req.responseText); 
 					     
 					     var numInMap = $('#numInMap').html();
 					     if(numInMap!=0) numInMap = numInMap+" resultaten op de kaart";
 					     else numInMap = "Geen resultaten op de kaart";
 					     
 					     $('#numInMapHolder').html("<span>"+numInMap+"</span>");
 					     
 					     
 					     $.goMap.clearMarkers();
 					     if(markerClusterer) {
 					       markerClusterer.clearMarkers();
 					     }
 					    
 					     
 					     //for(i=0;i<66;i++)
 					     $('#xml a').each(function(){
 					       var lat = $(this).attr('lat');
 					       var lng = $(this).attr('lng');
 					       var title = $(this).attr('title');
 					       var url = $(this).attr('href');
 					       var html = "<h2>"+title+"</h2><a href="+url+">Bekijk vacature</a>";


 					       $.goMap.createMarker({
 					       latitude: lat,
 					       longitude: lng,
 					       title: title, 
 					       icon: '/img/ui/pin.png',
 					       html:{
 					       		content: html, 
 					       		popup: false
 					       		}
 					       }); 
 					     });
 					     

 					     
 					     var markers = [];

				  		 for (var i in $.goMap.markers) {
				  		 	var temp = $($.goMap.mapId).data($.goMap.markers[i]);
				  		 	markers.push(temp);
				  		 }
 					     
 					     var styles = [{
   						     url: '/img/ui/pin.png',
   						     height: 32,
   						     width: 31,
   						     anchor: [3, 0],
   						     textSize: 11,
   						     textColor: 'black'
   						   },
   						   {
   						     url: '/img/ui/pin_wide.png',
   						     height: 32,
   						     width: 32,
   						     anchor: [3, 0],
   						     textColor: 'black'
   						   },
   						   {
   						     url: '/img/ui/pin_wider.png',
   						     height: 32,
   						     width: 32,
   						     anchor: [2, 0],
   						     textColor: 'black'
      					 }];
 					     
 					     markerClusterer = new MarkerClusterer($.goMap.map, markers, {gridSize: 40, styles: styles});
 					     
 					   break;
 					   case 'getVrijwilligers':	 elm('numberHolder').innerHTML = req.responseText; break;
 					   case 'checkEmail':	  elm('tfEmailError').innerHTML = req.responseText; break;				
 					   case 'keepSessionAlive':  setTimeout("keepSessionAlive();", 120000); break;							   
 					   case 'setColor':	 $('#row_'+var1).attr('class','color_'+var2);  $('#labelPopup_'+var1).toggle(); break;
					}
				}		
			} 
		} 
		req.open("GET", file, true); 
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		req.send(null);
}


function toggleDisplaySetting(listId, value)
{
   var file = "../requests/toggleListDisplay.php";
   file += "?listId="+listId+"&value="+value;
   dbRequest('', file, 0, 0);
}

function getMas(onlyNum){
   elm('numberHolder').innerHTML = "<img src='/img/ui/loader.gif' /><br />Bezig met zoeken naar vacatures..";
   var file = "../requests/getVacatures.php";
   var action = "getMas";
   
   var gemeenteId = elm('sbGemeenteId').value;
   var steunpuntId = elm('hfSteunpuntId').value;
   var keywords = elm('tfKeywords').value;
   var startFrom = elm('hfStartFrom').value;
   
   file += "?steunpuntId="+steunpuntId+"&gemeenteId="+gemeenteId+"&keywords="+keywords+"&startFrom="+startFrom;
   if(onlyNum==true) file += "&onlyNum=true";

   dbRequest(action, file, 0, 0);
}

function getVacatures(onlyNum){
   elm('numberHolder').innerHTML = "<img src='/img/ui/loader.gif' /><br />Bezig met zoeken naar vacatures..";
   var file = "../requests/getVacatures.php";
   var action = "getVacatures";
   
   var gemeenteId = elm('sbGemeenteId').value;
   var steunpuntId = elm('hfSteunpuntId').value;
   var doelgroepId = elm('sbDoelgroepId').value;
   var activiteitId = elm('sbActiviteitId').value;
   var werksoortId = elm('sbWerksoortId').value;
   var periodeId = elm('sbPeriodeId').value;
   var keywords = elm('tfKeywords').value;
   var startFrom = elm('hfStartFrom').value;
   var cityPartId = elm('sbCityPart').value;

   var showReg = 0; if($('#cbShowReg:checked').val()=='on') {showReg = 1;}
   var showJng = 0; if($('#cbShowJng:checked').val()=='on') {showJng = 1;}
   var showMas = 0; if($('#cbShowMas:checked').val()=='on') {showMas = 1;}
   
   file += "?steunpuntId="+steunpuntId+"&gemeenteId="+gemeenteId+"&doelgroepId="+doelgroepId+"&cityPartId="+cityPartId+"&activiteitId="+activiteitId+"&werksoortId="+werksoortId+"&periodeId="+periodeId+"&keywords="+keywords+"&startFrom="+startFrom+"&showReg="+showReg+"&showJng="+showJng+"&showMas="+showMas;
   
   if(onlyNum==true)
   file += "&onlyNum=true";

        
   dbRequest(action, file, 0, 0);
}

function getVrijwilligers()
{
   var file = "../requests/getVrijwilligers.php";
   var action = "getVrijwilligers";
   
   var gemeenteId = elm('sbGemeenteId').value;
   var doelgroepId = elm('sbDoelgroepId').value;
   var activiteitId = elm('sbActiviteitId').value;
   var werksoortId = elm('sbWerksoortId').value;

   var keywords = elm('tfKeywords').value;
   

   
   file += "?gemeenteId="+gemeenteId+"&doelgroepId="+doelgroepId+"&activiteitId="+activiteitId+"&werksoortId="+werksoortId+"&keywords="+keywords;

   //alert(file);
        
   dbRequest(action, file, 0, 0);
}

function setColor(id, color, table){
   var file = "../requests/setColor.php";
   file += "?id="+id;
   file += "&color="+color;
   file += "&table="+table;
   var action = "setColor";
   
   dbRequest(action, file, id, color);
}


function checkIfExists(address)
{
   var file = "../requests/checkEmail.php?address="+address;
   var action = "checkEmail";
   
   dbRequest(action, file, 0, 0);
}

function keepSessionAlive()
{
   var file = "../requests/keepSessionAlive.php";
   var action = "keepSessionAlive";
   dbRequest(action, file, 0, 0);
}
setTimeout("keepSessionAlive();", 4000);

