/* AJAX auto form aanvullen */
function createRequestObject() {
	var req;
	if(window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert('Helaas geen goede browser');
	}
	return req;
}

var http = createRequestObject(); 


/*
======================================================
=================== Winkelwagen ======================
======================================================
*/

// betaalmogelijkheden ophalen
function betaalmogelijkheden_ophalen(verzendmogelijkheid_id, gekozen_betaalmogelijkheid) {
	var url = "/includes/ajax/winkelwagen.php";
	var params = "actie=betaalmogelijkheden_tonen&verzendmogelijkheid_id=" + verzendmogelijkheid_id + "&betaalmogelijkheid_id=" + gekozen_betaalmogelijkheid;
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = toon_betaalmogelijkheden;
	http.send(params);
}

function toon_betaalmogelijkheden() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			document.getElementById('betaalmogelijkheid_span').innerHTML = http.responseText;
			extra_kosten_ophalen(document.getElementById('verzendmogelijkheid').options[document.getElementById('verzendmogelijkheid').selectedIndex].value, document.getElementById('betaalmogelijkheid').options[document.getElementById('betaalmogelijkheid').selectedIndex].value);
		}
	}
}

// extra kosten ophalen
function extra_kosten_ophalen(verzendmogelijkheid_id, betaalmogelijkheid_id) {
	var url = "/includes/ajax/winkelwagen.php";
	var params = "actie=extra_kosten_tonen&verzendmogelijkheid_id=" + verzendmogelijkheid_id + "&betaalmogelijkheid_id=" + betaalmogelijkheid_id;
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = toon_extra_kosten;
	http.send(params);
}

function toon_extra_kosten() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			var vars						= http.responseText.split(' ');
			var verzendkosten				= vars[0];
			var betaalkosten				= vars[1];
			var subtotaal					= document.getElementById('subtotaal').innerHTML.replace(",", ".");
			
			var verzend_administratiekosten	= parseFloat(verzendkosten) + parseFloat(betaalkosten);
			var verzend_administratiekosten	= verzend_administratiekosten.toFixed(2);
			var totaalbedrag				= parseFloat(subtotaal) + parseFloat(verzend_administratiekosten);
			var totaalbedrag				= totaalbedrag.toFixed(2);
			document.getElementById('verzendkosten').innerHTML	= verzend_administratiekosten.replace(".", ",");
			document.getElementById('totaalbedrag').innerHTML	= totaalbedrag.replace(".", ",");
		}
	}
}

// artikel aantal verhogen of verlagen
function artikel_aantal_kosten(aantal_veld, oud_aantal, nieuw_aantal) {
	if(parseInt(document.getElementById(aantal_veld).value) > 0) {
		var url = "/includes/ajax/winkelwagen.php";
		var params = "actie=artikel_aantal&aantal_veld=" + aantal_veld + "&oud_aantal=" + oud_aantal + "&nieuw_aantal=" + nieuw_aantal;
		http.open("POST", url, true);
		//Send the proper header information along with the request
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", params.length);
		http.setRequestHeader("Connection", "close");
		
		http.onreadystatechange = toon_aantal_kosten;
		http.send(params);
	}
}

function toon_aantal_kosten() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			var vars						= http.responseText.split(' ');
			var aantal_id					= vars[0];
			var nieuw_aantal				= vars[1];
			var totaalprijs					= parseFloat(document.getElementById('stukprijs_' + aantal_id).innerHTML.replace(",",".")) * nieuw_aantal;
			var totaalprijs					= totaalprijs.toFixed(2);
			var verschil_totaalprijs		= totaalprijs - parseFloat(document.getElementById('totaalprijs_' + aantal_id).innerHTML.replace(",","."));
			var verschil_totaalprijs		= verschil_totaalprijs.toFixed(2);
			
			var huidig_subtotaal			= parseFloat(document.getElementById('subtotaal').innerHTML.replace(",","."));
			var nieuw_subtotaal				= huidig_subtotaal + parseFloat(verschil_totaalprijs);
			var nieuw_subtotaal				= nieuw_subtotaal.toFixed(2);
			
			var huidig_totaalbedrag			= parseFloat(document.getElementById('totaalbedrag').innerHTML.replace(",","."));
			var nieuw_totaalbedrag			= huidig_totaalbedrag + parseFloat(verschil_totaalprijs);
			var nieuw_totaalbedrag			= nieuw_totaalbedrag.toFixed(2);
			
			document.getElementById('totaalprijs_' + aantal_id).innerHTML	= totaalprijs.replace(".", ",");
			document.getElementById('subtotaal').innerHTML					= nieuw_subtotaal.replace(".", ",");
			document.getElementById('totaalbedrag').innerHTML				= nieuw_totaalbedrag.replace(".", ",");
		}
	}
}

// extra kosten ophalen
function artikel_mogelijkheden_prijzen(artikel_id) {
	var keuze_velden	= '';
	for(i=0; i<document.forms['artikel_' + artikel_id].elements.length; i++) {
		if(document.forms['artikel_' + artikel_id].elements[i].name.indexOf('keuze_') == 0) {
			keuze_velden	= keuze_velden + "&" + document.forms[0].elements[i].id + "=" + document.getElementById(document.forms[0].elements[i].id).options[document.getElementById(document.forms[0].elements[i].id).selectedIndex].value;
		}
	}
	
	var url = "/includes/ajax/artikel.php";
	var params = "actie=mogelijkheden_prijzen&artikel_id=" + artikel_id + keuze_velden;
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = toon_mogelijkheid_prijs;
	http.send(params);
}

function toon_mogelijkheid_prijs() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			document.getElementById('artikel_prijs').innerHTML	= http.responseText;
		}
	}
}


/*
======================================================
======= Beurzen behorende bij deze branche ophalen =========
======================================================
*/

function beurzen_ophalen(branche) {
	var url = "/includes/ajax/beurzen_selectlist.php";
	var params = "branche=" + branche;
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = handleResponse;
	http.send(params);
}

function handleResponse() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			document.getElementById('beurzen').innerHTML = http.responseText; 
		}
	}
}

/*
======================================================
======= Standhouder koppelingen =========
======================================================
*/

// lijst met koppelingen ophalen
function koppelingen_ophalen(standhouder) {
	var url = "/includes/ajax/standhouder_koppelingen.php";
	var params = "actie=1&standhouder_id=" + standhouder;
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = toon_koppelingen;
	http.send(params);
}

function toon_koppelingen() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			document.getElementById('koppelingen').innerHTML = http.responseText; 
		}
	}
}

// openen voor wijzigen
function open_koppeling(koppeling_id) {
	var url = "/includes/ajax/standhouder_koppelingen.php";
	var params = "actie=2&koppeling_id=" + koppeling_id;
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = toon_koppeling;
	http.send(params);
}

function toon_koppeling() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			document.getElementById('branche').style.display	= 'none';
			document.getElementById('beurzen').style.display	= 'none';
			var ajax_inhoud	= http.responseText.split(',');
			document.getElementById('koppeling_id').value 		= ajax_inhoud[0];
			document.getElementById('date1').value				= ajax_inhoud[1];
			document.getElementById('date2').value				= ajax_inhoud[2];
		}
	}
}

// verwijderen
function verwijder_koppeling(koppeling_id, standhouder_id) {
	if(confirm("Wilt u deze koppeling verwijderen?")) {
		var url = "/includes/ajax/standhouder_koppelingen.php";
		var params = "actie=3&koppeling_id=" + koppeling_id + "&standhouder_id=" + standhouder_id;
		http.open("POST", url, true);
		//Send the proper header information along with the request
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", params.length);
		http.setRequestHeader("Connection", "close");
		
		http.onreadystatechange = koppeling_verwijderd;
		http.send(params);
	}
}

function koppeling_verwijderd() {
	if(http.readyState == 4 && http.status == 200) {
		koppelingen_ophalen(http.responseText);
		koppeling_annuleren();
	}
}

// koppeling opslaan
function koppeling_opslaan() {
	var url = "/includes/ajax/standhouder_koppelingen.php";
	var params = "actie=4&koppeling_id=" + document.getElementById('koppeling_id').value + "&standhouder_id=" + document.getElementById('standhouder_id').value + "&beurs=" + document.getElementById('beurs').value + "&start_datum=" + document.getElementById('date1').value + "&eind_datum=" + document.getElementById('date2').value;
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = koppeling_opgeslagen;
	http.send(params);
}

function koppeling_opgeslagen() {
	if(http.readyState == 4 && http.status == 200) {
		koppelingen_ophalen(http.responseText);
		koppeling_annuleren();
	}
}

function koppeling_annuleren() {
	document.getElementById('branche').style.display 	= 'block';
	document.getElementById('beurzen').style.display 	= 'block';
	document.getElementById('koppeling_id').value		= '';
	document.getElementById('date1').value				= '';
	document.getElementById('date2').value				= '';
}


/*
======================================================
================ Standhouders zoeken ===================
======================================================
*/

function zoek_standhouders(zoekwoord, beurs_id) {
	if(zoekwoord == '') {
		document.getElementById('resultaten').innerHTML = document.getElementById('temp_resultaten').innerHTML;
		return false;
	}
	
	if(document.getElementById('temp_resultaten').innerHTML == '') {
		document.getElementById('temp_resultaten').innerHTML = document.getElementById('resultaten').innerHTML;
	}
	
	var params = "zoekwoord=" + zoekwoord + "&beurs_id=" + beurs_id;
	
	http.open('POST', '/includes/ajax/standhouders_zoeken.php', true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = standhouder_handleResponse;
	http.send(params);
}

function standhouder_handleResponse() {
	if(http.readyState == 4 && http.status == 200) {
		if(http.responseText) {
			document.getElementById('resultaten').innerHTML		= http.responseText;
		}
	}
}
