var xmlreqs = new Array();

function CXMLReq(type, xmlhttp) {
	this.type = type;
	this.xmlhttp = xmlhttp;
}

function xmlreqGET(url) {
	var xmlhttp=false;

	if (window.XMLHttpRequest) { // Mozilla, etc.
		xmlhttp=new XMLHttpRequest();
		xmlhttp.open("GET",url,true);
		xmlhttp.onreadystatechange = xmlhttpChange;
		xmlhttp.send(null);
	} else if (window.ActiveXObject) { // IE
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if (xmlhttp) {
			xmlhttp.open("GET",url,true);
			xmlhttp.onreadystatechange = xmlhttpChange;
			xmlhttp.send();
		}
	}
	var xmlreq = new CXMLReq('', xmlhttp);
	xmlreqs.push(xmlreq);
}
function xmlreqPOST(func, url, data, async) {
	var xmlhttp=false;
	
	if (window.XMLHttpRequest) { // Mozilla etc.
		xmlhttp=new XMLHttpRequest();
		xmlhttp.open("POST",url,async);
		xmlhttp.onreadystatechange=func;
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; Charset=utf-8;");
		xmlhttp.send(data);
	} else if (window.ActiveXObject) { // IE
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if (xmlhttp) {
			xmlhttp.open("POST",url,async);
			xmlhttp.onreadystatechange=func;
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; Charset=utf-8;");
			xmlhttp.send(data);
		}
	}
	var xmlreq = new CXMLReq('', xmlhttp);
	xmlreqs.push(xmlreq);
}

function domeinExtensies() {
	if (typeof(window['xmlreqs']) == "undefined") return;

	var teller=0;
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				var response = xmlreqs[i].xmlhttp.responseText.split(',');
				var token = response[0].split('=');
				
				teller++;

				document.getElementById("vrij_"+token[0]).innerHTML = token[1];
				if (token[1] == response[2]) {
					document.getElementById("knop_"+token[0]).innerHTML = '<input type="button" name="bestel_'+token[0]+'" value="'+response[1]+'" onClick="bestelDomein('+token[0]+');" />';
				}
				if (token[1] == response[3]) {
					document.getElementById("knop_"+token[0]).innerHTML = '<input type="button" name="verhuis_'+token[0]+'" value="'+response[1]+'" onClick="verhuisDomein('+token[0]+');" />';
				}
				
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
	
	for (var i=0; i < teller; i++) {
		semaphoreDown();
	}
}

function domeinSelectie() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				if (xmlreqs[i].xmlhttp.responseText != 0) {
					document.getElementById("domeinselectie").innerHTML = xmlreqs[i].xmlhttp.responseText;
				}
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function winkelWagen() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				if (xmlreqs[i].xmlhttp.responseText != 0) {
					document.getElementById("winkelwagen").innerHTML = xmlreqs[i].xmlhttp.responseText;
				}
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function winkelWagenK() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				if (xmlreqs[i].xmlhttp.responseText != 0) {
					document.getElementById("koppelingen").innerHTML = xmlreqs[i].xmlhttp.responseText;
				}
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function winkelWagenRV() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				if (xmlreqs[i].xmlhttp.responseText != 0) {
					document.getElementById("verhuisbestel").innerHTML = xmlreqs[i].xmlhttp.responseText;
				}
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function gegevensInvoer() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				document.getElementById("sub_gegevensinvoer").innerHTML = xmlreqs[i].xmlhttp.responseText;
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function noAction() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function updateKoppelingen() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				document.getElementById("sub_koppelingen").innerHTML = xmlreqs[i].xmlhttp.responseText;
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function updateRegistratieVerhuizing() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				document.getElementById("sub_verhuisbestel").innerHTML = xmlreqs[i].xmlhttp.responseText;
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function semaphoreAjax() {
	if (typeof(window['xmlreqs']) == "undefined") return;
	
	for (var i=0; i < xmlreqs.length; i++) {
		if (xmlreqs[i].xmlhttp.readyState == 4) {
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
				// 200 OK
				// get response info here before splicing
				document.forms['menu_next'].semaphore.value = xmlreqs[i].xmlhttp.responseText;
				xmlreqs.splice(i,1); i--;
				//handle_response();
			} else {
				// error
				xmlreqs.splice(i,1); i--;
			}
		}
	}
}

function vulDomeinen(idLijst, extensieLijst) {
    var form = document.forms['domein'];
    var domeinnaam = form.domeinnaam.value;
    if (domeinnaam.indexOf('.') > 0) domeinnaam = domeinnaam.substring(0, domeinnaam.indexOf('.'));
    
    for (i=0; i < idLijst.length; i++) {
		document.getElementById("naam_"+idLijst[i]).innerHTML = domeinnaam+"<b>"+extensieLijst[i]+"</b>";
		document.getElementById("vrij_"+idLijst[i]).innerHTML = '<img src="/icons/pbar.gif" alt="" />';
		document.getElementById("knop_"+idLijst[i]).innerHTML = '';
    }
}

function checkDomeinen(strURL, idLijst, extensieLijst, voeg_toe, ja, nee) {
	var form = document.forms['domein'];
    var domeinnaam = form.domeinnaam.value;
	vulDomeinen(idLijst, extensieLijst);
	for (i=0; i < idLijst.length; i++) {
    	xmlreqPOST(domeinExtensies, strURL, 'domeinnaam='+escape(domeinnaam)+'&id='+idLijst[i]+'&ext='+extensieLijst[i], true);
    }
}

function checkDomein(strURL, id, extensie, voeg_toe, ja, nee) {
	var form = document.forms['domein'];
    var domeinnaam = form.domeinnaam.value;
    if (domeinnaam.indexOf('.') > 0) domeinnaam = domeinnaam.substring(0, domeinnaam.indexOf('.'));

    xmlreqPOST(domeinExtensies, strURL, 'domeinnaam='+escape(domeinnaam)+'&id='+id+'&ext='+extensie+
    			'&voeg_toe='+voeg_toe+'&ja='+ja+'&nee='+nee, true);
}

function bestelDomein(id) {
	var form = document.forms['domein'];
    var domeinnaam = form.domeinnaam.value;
    
    document.getElementById("knop_"+id).innerHTML = '';
	xmlreqPOST(winkelWagen, 'ajax/bestel.php', 'domeinnaam='+escape(domeinnaam)+'&id='+id, true);
}

function verhuisDomein(id) {
	var form = document.forms['domein'];
    var domeinnaam = form.domeinnaam.value;
    
    document.getElementById("knop_"+id).innerHTML = '';
	xmlreqPOST(winkelWagen, 'ajax/verhuis.php', 'domeinnaam='+escape(domeinnaam)+'&id='+id, true);
}

function bestelHostingpakket(id) {
	xmlreqPOST(winkelWagen, 'ajax/hostingpakket.php', 'id='+id, true);
}

function koppelDomeinHosting(id, value) {
	xmlreqPOST(winkelWagen, 'ajax/koppel.php', 'id='+id+'&value='+value, true);
}

function veranderType(id, type) {
	xmlreqPOST(winkelWagen, 'ajax/type.php', 'id='+id+'&type='+escape(type), true);
}

function loginKlant(name, pass) {
	xmlreqPOST(gegevensInvoer, 'ajax/login.php', 'name='+name+'&pass='+pass, true);
}

function removeElement(stap, id) {
	if (stap == 2) {
		xmlreqPOST(winkelWagenK, 'ajax/remove_k.php', 'id='+id, true);
	} else if (stap == 3) {
		xmlreqPOST(winkelWagenRV, 'ajax/remove_rv.php', 'id='+id, true);
	} else if (stap == 5) {
		document.getElementById('domein_geg_'+id).innerHTML = '';
		xmlreqPOST(winkelWagen, 'ajax/remove.php', 'id='+id, true);
	} else {
		xmlreqPOST(winkelWagen, 'ajax/remove.php', 'id='+id, true);
	}
}

function addPromoCode(stap) {
	var form = document.forms['promocode'];
    var code = form.code.value;
    
    if (stap == 1 ) {
    	xmlreqPOST(noAction, 'ajax/promocode_ds.php', 'code='+escape(code), false);
    } else {
		xmlreqPOST(winkelWagen, 'ajax/promocode.php', 'code='+escape(code), true);
	}
	return true;
}

function opslaanVerhuisBestel(aantal) {
	for (var i=1; i <= aantal; i++) {
		var f = document.forms["uitbesteden_"+i];
		if (f) {
			//xmlreqPOST(noAction, 'ajax/uitbesteden.php', 'uitbesteden='+f.radio_uitbesteden+'&volgnr='+i, false);
		}
	}
	return true;
}

function opslaanGegevens1() {
	var f = document.forms["gegevensinvoer"];
	var betaling=-1;
	if (f.betaling[0] && f.betaling[0].checked) betaling = f.betaling[0].value;
	else if (f.betaling[1] && f.betaling[1].checked) betaling = f.betaling[1].value;
	else if (f.betaling[2] && f.betaling[2].checked) betaling = f.betaling[2].value;
	else if (f.betaling[3] && f.betaling[3].checked) betaling = f.betaling[3].value;
	else if (f.betaling[4] && f.betaling[4].checked) betaling = f.betaling[4].value;
	else if (f.betaling && f.betaling.checked) betaling = f.betaling.value;
	var reknr=-1;
	if (f.rekeningnummer) reknr = f.rekeningnummer.value;
	
	xmlreqPOST(noAction, 'ajax/opsl_geg1.php', 'klantnummer='+f.klantnummer.value+
												'&bedrijfsnaam='+escape(f.bedrijfsnaam.value)+
												'&voornaam='+escape(f.voornaam.value)+
												'&achternaam='+escape(f.achternaam.value)+
												'&straatnaam='+escape(f.straatnaam.value)+
												'&huisnummer='+f.huisnummer.value+
												'&postcode='+f.postcode.value+
												'&woonplaats='+escape(f.woonplaats.value)+
												'&landcode='+f.landcode.value+
												'&emailadres='+f.emailadres.value+
												'&telefoonnummer='+f.telefoonnummer.value+
												'&faxnummer='+f.faxnummer.value+
												'&betaling='+betaling+
												'&rekeningnummer='+reknr+
												'&opmerkingen='+escape(f.opmerkingen.value)
												, false);
}

function opslaanGegevens2(aantal) {
	xmlreqPOST(noAction, 'ajax/opsl_geg2.php', 'clear=1', false);
	for (var i=1; i <= aantal; i++) {
		if (document.getElementById("radio_a_"+i)) {
			if (document.getElementById("radio_a_"+i).checked) {
				var f = document.forms["gegevensdomein_"+i];
				var fi = document.forms["gegevensdomein_"+i+"_it"];
				if (fi) { // .it domein
					xmlreqPOST(noAction, 'ajax/opsl_geg2.php', 'klantnummer='+f.klantnummer.value+
																'&bedrijfsnaam='+escape(f.bedrijfsnaam.value)+
																'&voornaam='+escape(f.voornaam.value)+
																'&achternaam='+escape(f.achternaam.value)+
																'&straatnaam='+escape(f.straatnaam.value)+
																'&huisnummer='+f.huisnummer.value+
																'&postcode='+f.postcode.value+
																'&woonplaats='+escape(f.woonplaats.value)+
																'&landcode='+f.landcode.value+
																'&emailadres='+f.emailadres.value+
																'&telefoonnummer='+f.telefoonnummer.value+
																'&faxnummer='+f.faxnummer.value+
																'&btwnummer='+fi.btwnummer.value+
																'&geboortedatum='+fi.geboortedatum.value+
																'&geboorteplaats='+escape(fi.geboorteplaats.value)+
																'&geboorteland='+escape(fi.geboorteland.value)+
																'&sofinummer='+fi.sofinummer.value+
																'&standplaats='+escape(fi.standplaats.value)+
																'&standland='+escape(fi.standland.value)+
																'&volgnr='+i
																, false);
				} else {
					xmlreqPOST(noAction, 'ajax/opsl_geg2.php', 'klantnummer='+f.klantnummer.value+
																'&bedrijfsnaam='+escape(f.bedrijfsnaam.value)+
																'&voornaam='+escape(f.voornaam.value)+
																'&achternaam='+escape(f.achternaam.value)+
																'&straatnaam='+escape(f.straatnaam.value)+
																'&huisnummer='+f.huisnummer.value+
																'&postcode='+f.postcode.value+
																'&woonplaats='+escape(f.woonplaats.value)+
																'&landcode='+f.landcode.value+
																'&emailadres='+f.emailadres.value+
																'&telefoonnummer='+f.telefoonnummer.value+
																'&volgnr='+i
																, false);
				}
				continue;
			}
		}
		var fi = document.forms["gegevensdomein_"+i+"_it"];
		if (fi) { // .it domein
			xmlreqPOST(noAction, 'ajax/opsl_geg2.php', 'btwnummer='+fi.btwnummer.value+
														'&geboortedatum='+fi.geboortedatum.value+
														'&geboorteplaats='+escape(fi.geboorteplaats.value)+
														'&geboorteland='+escape(fi.geboorteland.value)+
														'&sofinummer='+fi.sofinummer.value+
														'&standplaats='+escape(fi.standplaats.value)+
														'&standland='+escape(fi.standland.value)+
														'&volgnr='+i+
														'&contractant=1'
														, false);
		}
	}
}

function showWinkelwagenAjax(aan) {
	xmlreqPOST(noAction, 'ajax/winkelwagen.php', 'aan='+aan, true);
}

function showExtensiesAjax(aan) {
	xmlreqPOST(noAction, 'ajax/extensies.php', 'aan='+aan, true);
}

function semaphoreUp() {
	xmlreqPOST(semaphoreAjax, 'ajax/semaphore.php', 'up=1&down=0', true);
}

function semaphoreDown() {
	xmlreqPOST(semaphoreAjax, 'ajax/semaphore.php', 'up=0&down=1', true);
}

function semaphoreZero() {
	return (document.forms['menu_next'].semaphore.value == 0);
}