
// ==== Asynchronous JavaScript and XML :) ===============================

function ajaxFunction(){
  var xmlHttp;
  try {
	// Firefox, Opera 8.0+, Safari
	xmlHttp=new XMLHttpRequest();
  } catch(e){
	// Internet Explorer
	try {
	  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  } catch(e){
	try {
	  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  } catch(e){
	  alert("Uw browser ondersteund geen AJAX!");
	  return false;
	  }
	}
  }
  return xmlHttp;
}

// ==== AJAX-FUNCTIES VOOR PRO-DOGS ==========================

function bestellen(id, productnaam){
		
	document.getElementById('showAlert').innerHTML = "<div style='margin:5px;'><h2 style='font-variant:normal;'>In winkelwagentje plaatsen</h2><br /><strong>"+productnaam+"</strong><br />Aantal: <input type='text' class='input' maxlength='4' style='width:30px;' value='1' id='productaantal'><br /><center><input type='button' value='Annuleer' onClick='annuleren();'> <input type='button' value='Plaats' onClick=\"bestelling_plaatsen('"+id+"', document.getElementById('productaantal').value, '"+productnaam.replace(/'/, '\\\'')+"');\"></center></div>";
	
	overShade();
	showAlert();
	
	return true;
	
}
function verwijderen(id, productnaam){
	
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			
			var melding = xmlHttp.responseText.split('|');
			
			document.getElementById('showAlert').innerHTML = "<div style='margin:5px;'><h2 style='font-variant:normal;'>Melding</h2><br />"+melding[0]+"<br /><center><input type='button' value='Ok' onClick='annuleren();'></center></div>";

			document.getElementById('bestel').innerHTML = "<h1 style='font-size:13px;'><a href='javascript:void(0);' onClick=\"bestellen('"+id+"', '"+productnaam.replace(/'/, '\\\'')+"');\" style='text-decoration:none;'>Plaats in winkelwagentje &raquo;</a></h1>";

			overShade();
			showAlert();

			update_winkelwagencontainer();
			
		}
	}
	
	xmlHttp.open("GET", "/ajax.inc.php?action=verwijderen&id="+id, true);
	xmlHttp.send(null);
	
	return true;
}
function annuleren(){
	document.getElementById('overShade').style.display = 'none';
	document.getElementById('showAlert').style.display = 'none';
}
	
function bestelling_plaatsen(id, aantal, productnaam){
	
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			
			var melding = xmlHttp.responseText.split('|');
			
			annuleren();
			
			document.getElementById('showAlert').innerHTML = "<div style='margin:5px;'><h2 style='font-variant:normal;'>Melding</h2><br />"+melding[0]+"<br /><center><input type='button' value='Ok' onClick='annuleren();'></center></div>";

			document.getElementById('bestel').innerHTML = "<h1 style='font-size:13px;'><a href='javascript:void(0);' onClick=\"verwijderen('"+id+"', '"+productnaam.replace(/'/, '\\\'')+"');\" style='text-decoration:none;'>Verwijder uit winkelwagentje &raquo;</a></h1>";

			overShade();
			showAlert();

			update_winkelwagencontainer();
			
		}
	}
	
	xmlHttp.open("GET", "/ajax.inc.php?action=bestellen&id="+id+"&aantal="+aantal, true);
	xmlHttp.send(null);
	
	return true;
	
}
function update_winkelwagencontainer(){
	
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			
			var data = xmlHttp.responseText.split('|');
			
			var container = document.getElementById('winkelwagentje_container');
			var producten = document.getElementById('winkelwagentje_producten');
			var totaalprijs = document.getElementById('winkelwagentje_totaalprijs');
			var verzendkosten = document.getElementById('winkelwagentje_verzendkosten');

			producten.innerHTML = data[0];
			totaalprijs.innerHTML = data[1];
			verzendkosten.innerHTML = data[2];
			if(data[3] == 'show'){
				container.style.display = 'block';
			} else {
				container.style.display = 'none';
			}
			
		}
	}
	
	xmlHttp.open("GET", "/ajax.inc.php?action=winkelwagentje_ophalen", true);
	xmlHttp.send(null);
	
	return true;	
	
}
function update_winkelwagentje(id, aantal){
	
	if(aantal == ""){
		aantal = document.getElementById('aantal_'+id).value;
	}
	
	if(aantal == 0){
		
		if( confirm('Weet u zeker dat u dit product uit de winkelwagen wilt verwijderen?') ){

			var xmlHttp = ajaxFunction();

			xmlHttp.onreadystatechange = function() {
				if (xmlHttp.readyState == 4) {
				
					var data = xmlHttp.responseText.split('|');

					var melding 	= data[0];
					var totaalprijs = data[1];
					var btw			= data[2].split(":");

					if(totaalprijs == "0,00"){
						document.location.reload();
					} else {

						document.getElementById('product_'+id).style.display = 'none';

						document.getElementById('totaalprijs').innerHTML = totaalprijs;
						
						for(i=0; i<=btw.length; i++){
							document.getElementById('btw'+i).innerHTML = btw[i];
						}
						
						// toch maar ff refreshen
						location.href = location.href;
						
					}

				}
			}

			xmlHttp.open("GET", "/ajax.inc.php?action=verwijderen&id="+id, true);
			xmlHttp.send(null);

			return true;
			
		}

	} else {
	
		var xmlHttp = ajaxFunction();

		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState == 4) {
			
				var data = xmlHttp.responseText.split('|');
			
				var melding 	= data[0];
				var prijs 		= data[1];
				var totaalprijs = data[2];
				var btw			= data[3].split(":");
				
				document.getElementById('prijs_'+id).innerHTML = prijs;
				document.getElementById('totaalprijs').innerHTML = totaalprijs;
				
				var i=0;
				for(i=0; i<btw.length; i++){
					document.getElementById('btw'+i).innerHTML = btw[i];
				}
			
			}
		}
	
		xmlHttp.open("GET", "/ajax.inc.php?action=bestellen&id="+id+"&aantal="+aantal, true);
		xmlHttp.send(null);
	
		return true;

	}
	
}

function set_validation(naam, validation){
	
	if(document.getElementById(naam).value){
		document.getElementById(naam).title = "Validatie gefaald!";

		check_gegeven(naam, validation);
	}
	
	return true;
}

function check_gegeven(naam, validation, waarde){
	
	if(document.getElementById(naam).title == "Succesvol gevalideerd!" || document.getElementById(naam).title == "Validatie gefaald!" || naam == "aanhef" || naam == "bezorgadres" || naam == "klant_type" ){
	
		if(!waarde || waarde == "undefined"){
			var waarde 	= document.getElementById(naam).value;
		}
	
		if(naam == "wachtwoord"){
			var waarde2 = document.getElementById('gebruikersnaam').value;
		}
		if(naam == "wachtwoord2"){
			var waarde2 = document.getElementById('wachtwoord1').value;
		}
		
		var xmlHttp = ajaxFunction();

		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState == 4) {
	
				var data = xmlHttp.responseText.split('|');

				var validated = data[0];
				var melding = data[1];

				if(validated != "neutral"){

					var input	= document.getElementById(naam);

					if(naam == "postcode" || naam == "plaats"){
						var validationnaam = "postcodeplaats";
					} else if(naam == "b_postcode" || naam == "b_plaats"){
						var validationnaam = "b_postcodeplaats";
					} else {
						var validationnaam = naam;
					}
			
					var icon 	= document.getElementById('validation_'+validationnaam);
			
					if(validated == "failed"){
			
						icon.style.background = "url('/files/validation_failed_icon.png') no-repeat";
						input.style.border = "#FF0000 1px solid";
						icon.innerHTML = melding;
						input.title = 'Validatie gefaald!';
			
					} else if(validated == "passed") {
				
						icon.style.background = "url('/files/validation_passed_icon.png') no-repeat";
						input.style.border = "#DDDDDD 1px solid";
						icon.innerHTML = '';
						input.title = 'Succesvol gevalideerd!';
					}
				}
	
			}
		}

		xmlHttp.open("GET", "/ajax.inc.php?action=update_gegeven&naam="+naam+"&waarde="+waarde+"&validation="+validation+"&waarde2="+waarde2, true);
		xmlHttp.send(null);

		return true;
		
	}
	
}

function stuur_nieuw_wachtwoord(input){
	
	var input = document.getElementById(input).value;
	
	if(!input){
		alert('Gelieve een e-mailadres opgeven!');
	} else {
		
		var xmlHttp = ajaxFunction();

		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState == 4) {

				var returntje = xmlHttp.responseText;
				
				alert(returntje);

				return false;
			}
		}

		xmlHttp.open("GET", "/ajax.inc.php?action=stuur_nieuw_wachtwoord&input="+input, true);
		xmlHttp.send(null);
		
		
	}
}


function controleer_gegevens(){
	
	var bestaande_klant = document.getElementById('bestaande_klant').checked;
	var nieuwe_klant = document.getElementById('nieuwe_klant').checked;
	
	if(bestaande_klant){
		
		var gebruikersnaam 	= document.getElementById('gebruikersnaam').title;
		var wachtwoord		= document.getElementById('wachtwoord').title;
		
		if(gebruikersnaam == "Succesvol gevalideerd!" && wachtwoord == "Succesvol gevalideerd!"){
			return true;
		} else {
			alert('U heeft nog enkele vereiste gegevens niet of incorrect ingevuld!');
			return false;
		}
		
	} else if(nieuwe_klant){
		
		var voornaam 		= document.getElementById('voornaam').title;
		var achternaam		= document.getElementById('achternaam').title;
		var adres			= document.getElementById('adres').title;
		var postcode		= document.getElementById('postcode').title;
		var plaats			= document.getElementById('plaats').title;
		
		var bezorgadres		= document.getElementById('bezorgadres').checked;

			var b_adres		= document.getElementById('b_adres').title;
			var b_postcode	= document.getElementById('b_postcode').title;
			var b_plaats	= document.getElementById('b_plaats').title;

		var emailadres		= document.getElementById('emailadres').title;
		
		var wachtwoord1		= document.getElementById('wachtwoord1').title;
		var wachtwoord2		= document.getElementById('wachtwoord2').title;
		
		
		if(
			voornaam == "Succesvol gevalideerd!" && 
			achternaam == "Succesvol gevalideerd!" && 
			adres == "Succesvol gevalideerd!" && 
			postcode == "Succesvol gevalideerd!" && 
			plaats == "Succesvol gevalideerd!" && 
			emailadres == "Succesvol gevalideerd!" && 
			wachtwoord1 == "Succesvol gevalideerd!" && 
			wachtwoord2 == "Succesvol gevalideerd!"
		){
			if(bezorgadres){
				if(
					b_adres == "Succesvol gevalideerd!" &&
					b_postcode == "Succesvol gevalideerd!" &&
					b_plaats == "Succesvol gevalideerd!"
				){
					return true;
				} else {
					alert('U heeft nog enkele vereiste gegevens niet of incorrect ingevuld!');
					return false;					
				}
			} else {
				return true;
			}
		} else {
			alert('U heeft nog enkele vereiste gegevens niet of incorrect ingevuld!');
			return false;
		}
		
	} else {
		
		alert('Gelieve aangeven of u een nieuwe of bestaande klant bent');
		return false;
		
	}
	
}
function change_verzendkosten(value, betaalmethodes){
		
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			var value = xmlHttp.responseText.split('|');
			
			document.getElementById('verzkstn').innerHTML = value[0];
			document.getElementById('totaalprijs').innerHTML = value[1];
			if(value[2]){
				document.getElementById('btw').innerHTML = value[2];
			}
			
		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=change_verzendkosten&value="+value+"&betaalmethodes="+betaalmethodes, true);
	xmlHttp.send(null);
	
}

function check_verzendmethode(value){
	
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			var value = xmlHttp.responseText;
			
			location.href = location.href;

		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=check_verzendmethode&value="+value, true);
	xmlHttp.send(null);	
	
}

function select_betaalmethode(value){
	
	var next_step = document.getElementById('next_step');
		
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			var value = xmlHttp.responseText;
			
			if(value == 'ideal'){
				next_step.innerHTML = 'Afrekenen';
			} else {
				next_step.innerHTML = 'Bestelling voltooien';
			}
			
		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=select_betaalmethode&value="+value, true);
	xmlHttp.send(null);	
	
}

function check_leveringsvoorwaarden(){
	
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			
		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=check_leveringsvoorwaarden", true);
	xmlHttp.send(null);	
	
}

function controleer_bestelling(){
	
	var lv = document.getElementById('lv');
	var bm = document.getElementById('bm');
	
	var melding = "";
	if(!lv.checked){
		melding += "- Gelieve de leveringsvoorwaarden accepteren\n";
	}
	if(!bm.value){
		melding += "- Gelieve een betalingsmethode selecteren\n";
	}
	
	if(melding){
		alert("Melding!\n"+melding);
		return false;
	} else {
		return true;
	}
	
}

function afleveradres_wijzigen(value){

	
	if(value == 1){

		var b_naam 	= document.getElementById('b_naam').innerHTML.replace(/'/,' ');
		var b_adres = document.getElementById('b_adres').innerHTML.replace(/'/,' ');
		var b_postcode = document.getElementById('b_postcode').innerHTML.replace(/'/,' ');
		var b_plaats = document.getElementById('b_plaats').innerHTML.replace(/'/,' ');
		var b_link 	= document.getElementById('b_link').innerHTML;
	
		document.getElementById('b_naam').innerHTML = "<input type='text' class='input' style='width:150px;' id='bz_naam' value='"+b_naam+"'>";
		document.getElementById('b_adres').innerHTML = "<input type='text' class='input' style='width:150px;' id='bz_adres' value='"+b_adres+"'>";
		document.getElementById('b_postcode').innerHTML = "<input type='text' class='input' style='width:45px;' id='bz_postcode' value='"+b_postcode+"'>";
		document.getElementById('b_plaats').innerHTML = "<input type='text' class='input' style='width:90px;' id='bz_plaats' value='"+b_plaats+"'>";
		document.getElementById('b_link').innerHTML = "<a href='javascript:void(0);' onClick=\"afleveradres_wijzigen('2');\" style='text-decoration:none;'>&raquo; Afleveradres opslaan</a>";
		
	} else if(value == 2){
		
		var naam = document.getElementById('bz_naam').value;
		var adres = document.getElementById('bz_adres').value;
		var postcode = document.getElementById('bz_postcode').value;
		var plaats = document.getElementById('bz_plaats').value;

		var xmlHttp = ajaxFunction();

		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState == 4) {
				
				document.getElementById('b_naam').innerHTML = naam;
				document.getElementById('b_adres').innerHTML = adres;
				document.getElementById('b_postcode').innerHTML = postcode;
				document.getElementById('b_plaats').innerHTML = plaats
				document.getElementById('b_link').innerHTML = "<a href='javascript:void(0);' onClick=\"afleveradres_wijzigen('1');\" style='text-decoration:none;'>&raquo; Afleveradres wijzigen</a>";


			}
		}

		xmlHttp.open("GET", "/ajax.inc.php?action=wijzig_afleveradres&naam="+naam+"&adres="+adres+"&postcode="+postcode+"&plaats="+plaats, true);
		xmlHttp.send(null);			
		
	}
	
}

function reminder_instellen(actie, naam, emailadres, maand){
	
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			
			var response = xmlHttp.responseText.split("|");
			
			var melding = response[0];

			if(actie != "afmelden"){
				document.getElementById('remindermaand2').innerHTML = response[1];
			}
			
			if(actie == "aanmelden" || actie == "afmelden"){

				if(melding){
					alert("Melding!\n"+melding);
				}
			}
		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=reminder_instellen&naam="+naam+"&emailadres="+emailadres+"&maand="+maand, true);
	xmlHttp.send(null);
	
}
function winkelwagen_opslaan(){
	
	var xmlHttp = ajaxFunction();

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			
			document.getElementById('opslaantxt').innerHTML = "<em><strong>Winkelwagen opgeslagen!</strong><br />Uw winkelwagentje is succesvol opgeslagen. Als u later nog eens terugkomt, zal de winkelwagen automatisch opgehaald worden.</em>";
			
		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=winkelwagen_opslaan", true);
	xmlHttp.send(null);
	
}



// =======================================================================

