function createRequestObject() { 
	var req; 
	if(window.XMLHttpRequest){ 
		req = new XMLHttpRequest(); 
	} else if(window.ActiveXObject) { 
		req = new ActiveXObject("Microsoft.XMLHTTP"); 
	} else { 
		alert('Deze website vereist dat uw browser XMLHttpRequests ondersteunt'); 
	} 
	return req; 
}

function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

function trim( value ) {
	return LTrim(RTrim(value));
}

function configPayOptions(nr){
	var obJ = document.getElementById('payInfoDiv');
	if(nr == '3')	obJ.style.display = 'block';
	else			obJ.style.display = 'none';
}

function toMoney(value){
	if(value < 0)			return '€ 0,00';
	value = ''+value+'';
	if(value.length < 3)	return '€ 0,00';
	splitter = value.split('');
	var totaalFormat = '';
	for(i = 0; i < (splitter.length - 2); i ++)
		totaalFormat = totaalFormat+splitter[i];
	totaalFormat = '€ '+totaalFormat+','+splitter[i]+splitter[(i + 1)]
	return totaalFormat;
}

function displayConfirmMsg(close){
	var formObj = document.orderForm;
	var tableObj = document.getElementById('orderTable');
	var overObj = document.getElementById('orderFormTransOverDiv');
	var msgObj = document.getElementById('orderFormConfirmMsgDiv');	
	var betaalMethode;
	var betaalKosten;
	var totaalBedrag;
	var rekeningInfo = '';
	switch(formObj.betaalmethode.value){
		case '0':	betaalMethode = 'iDEAL'; 
					betaalKosten = 000;
					break;
		case '1':	betaalMethode = 'Overboeking';
					betaalKosten = 000;
					break;
		case '2':	betaalMethode = 'Wallie Card';
					betaalKosten = 200;
					break;
		case '3':	betaalMethode = 'Incasso'; 
					betaalKosten = 150;
					rekeningInfo = '1';
					break;
		case '4':	betaalMethode = 'Acceptgiro'; 
					betaalKosten = 300;
					break;
		case '5':	betaalMethode = 'Onder rembours'; 
					betaalKosten = 750;
					break
		case '6':	betaalMethode = 'PayPal'; 
					betaalKosten = 250;
					break;
		case '7':	betaalMethode = 'Telefoon'; 
					betaalKosten = 350;					
					break;			
	}
	totaalBedrag = toMoney((betaalKosten + (formObj.aantalPenningen.value * 1495)));

	overObj.style.top = tableObj.offsetTop+'px';
	overObj.style.left = tableObj.offsetLeft+'px';
	overObj.style.height = tableObj.offsetHeight+'px';
	overObj.style.width = tableObj.offsetWidth+'px';
	msgObj.style.top = (tableObj.offsetTop+10)+'px';
	msgObj.style.left = (tableObj.offsetLeft+60)+'px';
	if(rekeningInfo == '1'){
		rekeningInfo = 
		'<tr>'+
			'<td height="14"></td>'+
			'<td>'+
				formObj.rekeninghouder.value+
			'</td>'+					
		'</tr>'+
		'<tr>'+
			'<td height="14"></td>'+
			'<td>'+
				formObj.bankrekening.value+
			'</td>'+					
		'</tr>';
	}else if(formObj.betaalmethode.value == '0'){
		rekeningInfo = 
		'<tr>'+
			'<td colspan="2" height="14"></td>'+
		'</tr>'+
		'<tr>'+
			'<td valign="top" height="14"><b>Selecteer uw bank:</b></td>'+
			'<td>'+iDealSelectVar+'</td>'+
		'</tr>';
	}else{
		rekeningInfo = 
		'<tr>'+
			'<td height="30" colspan="2"></td>'+				
		'</tr>';		
	}
	msgObj.innerHTML = 
		'<table style="margin:10px">'+
			'<tr>'+
				'<td width="140"></td><td></td>'+					
			'</tr>'+
			'<tr>'+
				'<td height="22" colspan="2">'+
					'<b>Controleer uw gegevens:</b>'+
				'</td>'+					
			'</tr>'+
			'<tr>'+
				'<td height="14" colspan="2"></td>'+					
			'</tr>'+				
			'<tr>'+
				'<td height="14"><b>Persoonlijk:</b></td>'+
				'<td>'+
					formObj.voornaam.value+' '+formObj.achternaam.value+
				'</td>'+					
			'</tr>'+
			'<tr>'+
				'<td height="14"></td>'+
				'<td>'+
					formObj.straat.value+' '+formObj.huisnr.value+
				'</td>'+					
			'</tr>'+
			'<tr>'+
				'<td height="14"></td>'+
				'<td>'+
					formObj.postcode.value+' '+formObj.woonplaats.value+
				'</td>'+					
			'</tr>'+								
			'<tr>'+
				'<td height="14" colspan="2"></td>'+					
			'</tr>'+
			'<tr>'+
				'<td height="14"></td>'+
				'<td>'+
					formObj.telefoonnummer.value+
				'</td>'+					
			'</tr>'+	
			'<tr>'+
				'<td height="14"></td>'+
				'<td>'+
					formObj.emailadres.value+
				'</td>'+					
			'</tr>'+				
			'<tr>'+
				'<td height="14" colspan="2"></td>'+					
			'</tr>'+				
			'<tr>'+
				'<td height="14"><b>Betaalmethode:</b></td>'+
				'<td>'+
					betaalMethode+' ('+toMoney(betaalKosten)+')'+
				'</td>'+
			'</tr>'+
			rekeningInfo+
			'<tr>'+
				'<td height="14" colspan="2"></td>'+					
			'</tr>'+
			'<tr>'+
				'<td height="14"><b>Aantal penningen:</b></td>'+
				'<td>'+
					formObj.aantalPenningen.value+'x ('+toMoney(1495)+' p.s.)'+
				'</td>'+
			'</tr>'+				
			'<tr>'+
				'<td height="14" colspan="2"></td>'+					
			'</tr>'+				
			'<tr>'+
				'<td height="14"><b>Totaalbedrag:</b></td>'+
				'<td>'+
					totaalBedrag+
				'</td>'+
			'</tr>'+
			'<tr>'+
				'<td height="14" colspan="2"></td>'+					
			'</tr>'+				
			'<tr>'+
				'<td height="14"></td>'+
				'<td>'+
					'<input type="button" onClick="displaySubmitMsg(\'close\');" style="background-color:#ff6600; color:#ffffff; height:18px; padding-left:1px; padding-right:1px; cursor:hand;" value="Annuleren">'+
					'<input type="button" value="Bevestigen" style="background-color:#00a4cc; color:#ffffff; height:18px; cursor:hand; margin-left:4px" onClick="validOrderForm(\'submit\')">'+
				'</td>'+
			'</tr>'+				
		'</table>';
	overObj.style.display = 'block';
	msgObj.style.display = 'block';
}

function displaySubmitMsg(close){
	var formObj = document.orderForm;
	var overObj = document.getElementById('orderFormTransOverDiv');
	var msgObj = document.getElementById('orderFormConfirmMsgDiv');
	var tableObj = document.getElementById('orderTable');
	if(close){
		overObj.style.display = 'none';
		msgObj.style.display = 'none';
		return;
	}	
	overObj.style.top = tableObj.offsetTop+'px';
	overObj.style.left = tableObj.offsetLeft+'px';
	overObj.style.height = tableObj.offsetHeight+'px';
	overObj.style.width = tableObj.offsetWidth+'px';
	msgObj.style.top = (tableObj.offsetTop+20)+'px';
	msgObj.style.left = (tableObj.offsetLeft+100)+'px';	
	
	overObj.style.display = 'block';
	msgObj.style.display = 'block';	
	window.scrollBy(0, tableObj.offsetTop); 
}

function validOrderForm(submit){
	var formObj = document.orderForm;
	var getalcheck = /(^\d+$)|(^\d+\.\d+$)/;
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;	

	var errorMsg = '';
	if(trim(formObj.voornaam.value)=='')
		errorMsg = errorMsg+'- Voornaam \n';
	if(trim(formObj.achternaam.value)=='')
		errorMsg = errorMsg+'- Achternaam \n';	
	if(trim(formObj.straat.value)=='')
		errorMsg = errorMsg+'- Straat \n';	
	if(trim(formObj.huisnr.value)=='')
		errorMsg = errorMsg+'- Huisnummer \n';	
	if(trim(formObj.postcode.value)=='')
		errorMsg = errorMsg+'- Postcode \n';	
	if(trim(formObj.woonplaats.value)=='')
		errorMsg = errorMsg+'- Woonplaats \n';	
	if(!getalcheck.test(formObj.telefoonnummer.value))
		errorMsg = errorMsg+'- Telefoonnummer \n';	
	if(!filter.test(formObj.emailadres.value))
		errorMsg = errorMsg+'- E-mailadres \n';	
	if(trim(formObj.gevondenMedium[formObj.gevondenMedium.selectedIndex].value) == 'dynAnders' && trim(formObj.mediaOptionsDynamic.value) == '')
		errorMsg = errorMsg+'- Hoe bent u bij Dier-ID gekomen? \n';
	if(formObj.betaalmethode[formObj.betaalmethode.selectedIndex].value=='3'){
		if(trim(formObj.rekeninghouder.value)=='')
			errorMsg = errorMsg+'- Naam rekeninghouder \n';
		if(!getalcheck.test(formObj.bankrekening.value) || trim(formObj.bankrekening.value).length < 7 || 
		trim(formObj.bankrekening.value).length > 9 || formObj.bankrekening.value != formObj.bankrekening2.value)
			errorMsg = errorMsg+'- Rekeningnummer \n';	
	}	
	if(errorMsg != '')	alert('Wilt u de volgende velden nog invullen: \n\n'+errorMsg);
	else if(!formObj.voorwaardenCheck.checked)	alert('U dient akkoord te gaan met de algemene voorwaarden alvorens u uw bestelling kunt verzenden.');
	else if(!submit) displayConfirmMsg();
	else if(submit){
		if(formObj.betaalmethode[formObj.betaalmethode.selectedIndex].value=='0')
			formObj.action = '?pag='+formObj.thisPag.value+'&idealBankId='+document.getElementById('idealBankid').value;
		formObj.submit();
	}
}