function createREQ()
{
	var req = false;
	try {
	req = new XMLHttpRequest(); // firefox, safari, …
	}
	catch (err1) { try {
	req = new ActiveXObject("Msxml2.XMLHTTP"); // sommige IE
	}
	catch (err2) { try {
	req = new ActiveXObject("Microsoft.XMLHTTP"); // meeste IE
	}
	catch (err3) {
	req = false;
	alert("Deze browser ondersteunt geen Ajax.");
	}}}
	return req;
}

function laadReizen()
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById("reizen_overzicht");
	var url = "ajax.blog/laadReizen.php?rand="+rand;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;
		if(http.readyState == 4) div.innerHTML = resultaat;
		else div.innerHTML = "<p><strong>Reizen laden...</strong></p>";
	}

	http.open("GET", url);
	http.send(null);
}

/**************************/
/* functies voor blog.php */
/**************************/

function plaatsReactie()
{

	var http = createREQ();
	var laden = document.getElementById('reactie_laden');
	var schrijven = document.getElementById('reactie_schrijven');
	
	var bericht = document.getElementById('form_bericht').value;
	var lid = document.getElementById('form_lid').value;
	var naam = document.getElementById('form_naam').value;
	var text = document.getElementById('form_text').value;
	http.onreadystatechange = function()
	{
		if(http.readyState == 4)
		{
			laden.style.display = "block";
			schrijven.style.display = "none";
			laadReacties(bericht);
		}
	}
	
	http.open("POST", "/ajax/plaatsReactieBericht.php");
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.send('bericht='+bericht+'&lid='+lid+'&naam='+naam+'&text='+text);

}


function plaatsReactieFoto()
{

	var http = createREQ();
	var laden = document.getElementById('reactie_laden');
	var schrijven = document.getElementById('reactie_schrijven');
	
	var foto = document.getElementById('form_foto').value;
	var lid = document.getElementById('form_lid').value;
	var naam = document.getElementById('form_naam').value;
	var text = document.getElementById('form_text').value;
	http.onreadystatechange = function()
	{
		if(http.readyState == 4)
		{
			document.getElementById("reactie_schrijven").innerHTML = "<p><img src='/images/icons/tick.png' alt='Succes' title='Reactie succesvol toegevoegd!' class='icon'/> Uw reactie is succesvol toegevoegd!</p>";
			laadReactiesFoto(foto);
		}
	}
	
	http.open("POST", "/ajax/plaatsReactieFoto.php");
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.send('foto='+foto+'&lid='+lid+'&naam='+naam+'&text='+text);

}


function feedControle(waarde)
{
	var waarde = waarde;
	var at = waarde.indexOf("@");
	var dot = waarde.indexOf(".", at);

	if(at == -1 || dot == -1)
	{
		document.getElementById('kies').style.display = "none";
		document.getElementById('feedsubmit').disabled = true;
	}
	else
	{
		document.getElementById('feedinfo').style.display = "none";
		document.getElementById('kies').style.display = "block";
		document.getElementById('feedsubmit').disabled = false;
	}
}

function voegFeedToe()
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById("feed_form");
	var email = document.getElementById("rss_email").value;
	var lid = document.getElementById("feed_lid").value;
	
	if(document.getElementById("cbox_foto").checked == true) var foto = 1;
	else var foto = 0;
	if(document.getElementById("cbox_ber").checked == true) var bericht = 1;
	else var bericht = 0;
	if(document.getElementById("cbox_rea").checked == true) var reactie = 1;
	else var reactie = 0;
	
	var url = "/ajax/voegFeedToe.php?rand="+rand+"&lid="+lid+"&email="+email+"&foto="+foto+"&bericht="+bericht+"&reactie="+reactie;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;
		if(http.readyState == 4) div.innerHTML = resultaat;
		else div.innerHTML = "<p><strong>Laden...</strong></p>";
	}

	http.open("GET", url);
	http.send(null);
}

function sorteerBerichten(waarde)
{
	var waarde = waarde;
	
	if(waarde == "datum") 
	{
		document.getElementById('berichten_datum').style.display = "block";
		document.getElementById('berichten_land').style.display = "none";
	}
	if(waarde == "land") 
	{
		document.getElementById('berichten_datum').style.display = "none";
		document.getElementById('berichten_land').style.display = "block";
	}
}

/***************************************/
/* functies voor backend/fotoalbum.php */
/***************************************/

function toonControl(waarde)
{
	document.getElementById(waarde).style.display = "block";
}

function verbergControl(waarde)
{
	document.getElementById(waarde).style.display = "none";
}

function fotoBewerken(waarde)
{
	var foto = waarde;
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById("foto_bewerken");
	var url = "/ajax/fotoBewerken.php?rand="+rand+"&foto="+foto;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;
		if(http.readyState == 4)
		{
			div.innerHTML = resultaat;
			div.style.display = "block";
		}
		else div.innerHTML = "<img src='images/loading.gif'>";
	}

	http.open("GET", url);
	http.send(null);
}

/*********************************************/
/* functies voor berichten.php & bericht.php */
/*********************************************/

function laadReacties(bericht)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById("reacties");
	var bericht = bericht;
	var url = "/ajax/reactiesLadenBericht.php?rand="+rand+"&id="+bericht;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;
		if(http.readyState == 4)
		{
			div.innerHTML = resultaat;
			var laden = document.getElementById('reactie_laden').style.display = "none";
			var schrijven = document.getElementById('reactie_schrijven').style.display = "block";
		}
			
	}

	http.open("GET", url);
	http.send(null);
}

function laadReactiesFoto(foto)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById("reacties");
	var foto = foto;
	var url = "/ajax/reactiesLadenFoto.php?rand="+rand+"&id="+foto;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;
		if(http.readyState == 4)
		{
			div.innerHTML = resultaat;
		}
			
	}

	http.open("GET", url);
	http.send(null);
}

function reactie_toevoegen()
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div  = document.getElementById('reactie_schrijven');
	var naam = document.getElementById('form_naam').value;
	var text = document.getElementById('form_text').value;
	
	while(text.lastIndexOf('\n') != -1)
		var text = text.replace("\n","<br>");
	
	var bericht = document.getElementById('form_bericht').value;
	var lid = document.getElementById('form_lid').value;

	var url = "/ajax.blog/reactie_toevoegen.php?rand="+rand+"&naam="+naam+"&text="+text+"&lid="+lid+"&bericht="+bericht;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;

		if(http.readyState == 4)
		{
			laadReacties(bericht);
			div.innerHTML = "<div id='bevestiging'><p><strong><img src='images/icons/tick.png' align='absmiddle'> &nbsp; Uw reactie is succesvol toegevoegd!</strong></p></div>";
		}
		else div.innerHTML = "<p><img src='images/icons/loading.gif></p>";
	}

	http.open("GET", url);
	http.send(null);
}


function load(lat,lon,reis)
{
	//<![CDATA[
	var reis = reis;
	var coordinaten = new GLatLng(lat,lon);
	
	if (GBrowserIsCompatible())
	{
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(coordinaten,4);
	}
	
	// polygonen weergeven

		var request = GXmlHttp.create();
		request.open("GET", "xml/reizen.xml", true);
		request.onreadystatechange = function()
		{
			if (request.readyState == 4)
			{
				var xmlDoc = request.responseXML;
				var points = xmlDoc.documentElement.getElementsByTagName("stad");

				for (var i = 0; i < points.length; i++)
				{
					if(points[i].getAttribute("id") == reis)
					{
						var lon = parseFloat(points[i].getAttribute("lng"));
						var lat = parseFloat(points[i].getAttribute("lat"));

						if( points[i+1].getAttribute("id") != reis )
						{
							var lontwee = parseFloat(points[i].getAttribute("lng"));
							var lattwee = parseFloat(points[i].getAttribute("lat"));
						}
						else
						{
							var lontwee = parseFloat(points[i+1].getAttribute("lng"));
							var lattwee = parseFloat(points[i+1].getAttribute("lat"));
						}

						var point_marker = new GPoint(lon,lat);
						var point_poly = [new GLatLng(lat,lon),new GLatLng(lattwee,lontwee)];

							// Icoontje aanpassen
								var baseIcon = new GIcon();
								baseIcon.image = "images/icon.png";
								baseIcon.shadow = "images/icon_shadow.png";
								baseIcon.iconSize = new GSize(9, 18);
								baseIcon.shadowSize = new GSize(16, 18);
								baseIcon.iconAnchor = new GPoint(4, 18);
								baseIcon.infoWindowAnchor = new GPoint(9, 2);
								baseIcon.infoShadowAnchor = new GPoint(18, 25);

						var marker = new GMarker(point_marker,baseIcon);
						var polyline = new GPolyline(point_poly, '#003366', 2, 1);

						map.addOverlay(marker);
						map.addOverlay(polyline);
					}
				}
			}
		}
		request.send(null);
	 //]]>

}

function loadMapLand(lat,lon)
{
	var coordinaten = new GLatLng(lat,lon);

	if (GBrowserIsCompatible())
	{
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(coordinaten,4);
	}
}

function showAdress(land,reis,lat,lon)
{
	geocoder = new GClientGeocoder();

	var land = land;
	var reis = reis;
	
	var address = document.getElementById('stad_input').value;
	if (geocoder)
	{
		geocoder.getLatLng(address,function(point)
		{
			if (!point)
			{
				alert("Sorry, "+address + " kan niet gevonden worden...");
			}
			else
			{
				var coo = new Array(point.y,point.x);
				
				var http = createREQ();
				var rand = parseInt(Math.random()*999999);
				var div = document.getElementById('locaties');
				
				var url = "/ajax/voegLocatieToeArray.php?rand="+rand+"&land="+land+"&locatie="+address+"&reis="+reis+"&lat="+coo[0]+"&lon="+coo[1];

				http.onreadystatechange = function()
				{
					var resultaat = http.responseText;

					if(http.readyState == 4)
					{
						toonLocatiesVolgorde(reis);
						loadMap(lat,lon,reis);
					}
				}
				http.open("GET", url);
				http.send(null);
			}
		}
	);
	}
}

function toonSteden(reis,foto,nr)
{
	var reis = reis;
	var foto = foto;
	var nr = nr;
	var div = document.getElementById(foto);
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var url = "/ajax/toonSteden.php?rand="+rand+"&reis="+reis+"&nr="+nr;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;

		if(http.readyState == 4)
		{
			div.innerHTML = resultaat;
			div.style.display = "block";
		}
	}
	http.open("GET", url);
	http.send(null);
}

function controleerLand(land)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var land = land;
	var landkeuze = document.getElementById('landkeuze');

	var url = "/ajax/controleerLand.php?rand="+rand+"&land="+land;

	if(land == "" || land == " ")
	{
		landkeuze.innerHTML = "";
	}
	else
	{
		http.onreadystatechange = function()
		{
			var resultaat = http.responseText;

			if(http.readyState == 4)
				landkeuze.innerHTML = resultaat;
			else
				landkeuze.innerHTML = "<img src='images/loading.gif' align='absmiddle'>";
		}
		http.open("GET", url);
		http.send(null);
	}
}

function toonLocaties(reis)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById('locaties');

	var reis = reis;
	var url = "/ajax/toonLocaties.php?rand="+rand+"&reis="+reis;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;

		if(http.readyState == 4) div.innerHTML = resultaat;
		else div.innerHTML = "<img src='images/loading.gif' align='absmiddle'>";
	}
	http.open("GET", url);
	http.send(null);
}

function toonLocatiesVolgorde(reis)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById('locaties');

	var reis = reis;
	var url = "/ajax/toonLocatiesVolgorde.php?rand="+rand+"&reis="+reis;
	
	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;

		if(http.readyState == 4) div.innerHTML = resultaat;
		else div.innerHTML = "<img src='images/loading.gif' align='absmiddle'>";
	}
	
	http.open("GET", url);
	http.send(null);
}

function voegLocatieToe(land,reis)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var div = document.getElementById('locaties');
	
	var reis = reis;
	var locatie = document.getElementById('stad_input').value;
	
	
	var url = "/ajax/voegLocatieToeArray.php?rand="+rand+"&land="+land+"&locatie="+locatie+"&reis="+reis;

	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;

		if(http.readyState == 4) toonLocaties(reis);
	}
	http.open("GET", url);
	http.send(null);
}

function voegLandToe(waarde)
{
	var waarde = waarde;
	document.getElementById('land_input').value = waarde;
	document.getElementById('landkeuze').innerHTML = "";
}

/*********************************/
/* functies voor registratie.php */
/*********************************/

function toonVlagje(land)
{
	var land = land;
	document.getElementById('vlagje').innerHTML = "<img src='images/vlaggen/"+land+".png' align='absmiddle'>";
}

function controleerww()
{
	var pass1 = document.getElementById('pass1').value;
	var pass2 = document.getElementById('pass2').value;

	if(pass1 == pass2) {
		document.getElementById('pass_controle').innerHTML = "<img src='images/tick.png' align='absmiddle'>";
		document.getElementById('submit').disabled = false;
	}
	else {
		document.getElementById('pass_controle').innerHTML = "<img src='images/error.png' align='absmiddle'>";
		document.getElementById('submit').disabled = true;
	}
}

function controleeremail(email)
{
	var value = email;
	
	at = value.indexOf("@");
	dot = value.lastIndexOf(".");

	if (at < 1 || dot-at < 2) {
		document.getElementById('email_controle').innerHTML = "<img src='images/error.png' align='absmiddle'>";
		document.getElementById('submit').disabled = true;
	}
	else {
		document.getElementById('email_controle').innerHTML = "<img src='images/tick.png' align='absmiddle'>";
		document.getElementById('submit').disabled = false;
	}
}

function controleerRegistratie()
{
	var email = document.getElementById('reg_email').value;
	var naam = document.getElementById('reg_naam').value;
	var vnaam = document.getElementById('reg_voornaam').value;
	var pass1 = document.getElementById('pass1').value;
	var pass2 = document.getElementById('pass2').value;
	var div = document.getElementById('error');
	
	var con = 0;

		if(email == null || email == "")
		{
			div.innerHTML = "<p>E-mail invullen is verplicht</p>";
			var con = 1;
		}
		if(pass1 == null || pass1 == "" || pass2 == null || pass2 == "")
		{
			div.innerHTML = "<p>Kies een geldig wachtwoord</p>";
			var con = 1;
		}
		if(naam == null || naam == "")
		{
			div.innerHTML = "<p>Naam invullen is verplicht</p>";
			var con = 1;
		}
		if(vnaam == null || vnaam == "")
		{
			div.innerHTML = "<p>Voornaam invullen is verplicht</p>";
			var con = 1;
		}

	if(con == 1) return false;
	else return true;
}

/***************************/
/* functies voor index.php */
/***************************/

function ledigInput()
{
	document.getElementById('zoekterm').value = '';
	document.getElementById('zoekterm').style.color = '#000000'
}

function toonResultaten(waarde)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var zoekterm = waarde;
	var resultaten = document.getElementById('resultaten');
	
	var url = "/ajax/toonResultaten.php?rand="+rand+"&zoekterm="+zoekterm;
	
	http.onreadystatechange = function()
	{
		var resultaat = http.responseText;

		if(http.readyState == 4)
			resultaten.innerHTML = resultaat;
		else
			status.innerHTML = "<img src='images/loading.gif' align='absmiddle'>";
	}
	http.open("GET", url);
	http.send(null);
}

function controleNaam(waarde)
{
	var http = createREQ();
	var rand = parseInt(Math.random()*999999);
	var waarde = waarde;

	var url = "/ajax/controleerNaam.php?rand="+rand+"&naam="+waarde;

	var span = document.getElementById('controleNaam');
	var status = document.getElementById('controleStatus');
	
		// CHARACTERS
		waarde = waarde.replace(' ','_'); waarde = waarde.replace('@','');
		waarde = waarde.replace('\\',''); waarde = waarde.replace('/','');
		waarde = waarde.replace('|',''); waarde = waarde.replace('[','');
		waarde = waarde.replace(']',''); waarde = waarde.replace('(','');
		waarde = waarde.replace(')',''); waarde = waarde.replace('{','');
		waarde = waarde.replace('}',''); waarde = waarde.replace('+','');
		waarde = waarde.replace('=',''); waarde = waarde.replace('~','');
		waarde = waarde.replace('%',''); waarde = waarde.replace(/'/,'');
		waarde = waarde.replace(/"/,''); waarde = waarde.replace('#','');
		waarde = waarde.replace('&',''); waarde = waarde.replace('!','');
		waarde = waarde.replace('?',''); waarde = waarde.replace('*','');
		waarde = waarde.replace(':',''); waarde = waarde.replace(';','');
		waarde = waarde.replace('.',''); waarde = waarde.replace(',','');
		waarde = waarde.replace('>',''); waarde = waarde.replace('<','');
		waarde = waarde.replace('^','');

		// STRINGS
		waarde = waarde.replace(/login/g,'');
		waarde = waarde.replace(/aanmelden/g,'');
		waarde = waarde.replace(/support/g,'');
		waarde = waarde.replace(/admin/g,'');
		waarde = waarde.replace(/registratie/g,'');
		waarde = waarde.replace(/registreren/g,'');
		waarde = waarde.replace(/contact/g,'');
		waarde = waarde.replace(/afmelden/g,'');

		document.getElementById('input_naam').value = waarde;

	if(waarde == " " || waarde == "" || waarde.length <= 1 || waarde.length >= 30) {
		status.innerHTML = "<img src='images/error.png' align='absmiddle'>";
		document.getElementById('reg_submit').disabled = true;
		//document.getElementById('reg_submit').style.background = "url('images/layout/index/start_knop_false.png')";
	}
	else
	{

		http.onreadystatechange = function()
		{
			var resultaat = http.responseText;

			if(http.readyState == 4)
			{
				if(resultaat == "OK") {
					status.innerHTML = "<img src='images/tick.png' align='absmiddle'>";
					document.getElementById('reg_submit').disabled = false;
					//document.getElementById('reg_submit').style.background = "url('images/layout/index/start_knop.png')";
				}
				if(resultaat == "NOK") {
					status.innerHTML = "<img src='images/error.png' align='absmiddle'>";
					document.getElementById('reg_submit').disabled = true;
					//document.getElementById('reg_submit').style.background = "url('images/layout/index/start_knop_false.png')";
				}
			}
			else
				status.innerHTML = "<img src='images/loading.gif' align='absmiddle'>";
		}

		http.open("GET", url);
		http.send(null);
	}
	span.innerHTML = waarde;
}