//<script language="JavaScript">
// Leave this SCRIPTtag here! It enables colorcoding for
// external .JS files in InterDev

var		oXMLhttp;
var		sCurrentlyViewed = '';
var		sAllOn	= true;
var		oWindow	= false;
var		objTimeOut;
var     bFormDirty = false;

function fnFormCheckAndSubmit(oFrm,arrRequired,arrTitles)
{

	//var arrRequired = new Array('Naam','Voornaam','Achternaam','eMail','Username','Password');
	//var arrTitles	= new Array('Bedrijfsnaam','Voornaam','Achternaam','Emailadres','Gebruikersnaam','Wachtwoord');

	for (var iCnt=0;iCnt<arrRequired.length;iCnt++)
	{
		bHasValue = false;
		switch ( oFrm[arrRequired[iCnt]].type )
		{
			case 'hidden':
				if (oFrm[arrRequired[iCnt]].value != '')
					bHasValue = true;
				break;
			case 'text':
				if (oFrm[arrRequired[iCnt]].value != '')
					bHasValue = true;
				break;
			case 'password':
				if (oFrm[arrRequired[iCnt]].value != '')
					bHasValue = true;
				break;
			case 'checkbox':
				if ( oFrm[arrRequired[iCnt]].checked )
					bHasValue = true;
				break;
		}

		if (!bHasValue)
		{
			alert('Het veld ' + arrTitles[iCnt] + ' is verplicht');
			if (oFrm[arrRequired[iCnt]].type != 'hidden')
				oFrm[arrRequired[iCnt]].focus();
			return false;
		}
	}
	oFrm.submit();
}

//===========================================================

function fnOrderCheckAndSubmit(oFrm)
{
	if (document.getElementById('leverdatum2').checked)
	{
		if (document.getElementById('tmpDeliveryDate').value == '' && document.getElementById('tmpDeliveryTime').value != '')
		{
			alert('U heeft geen gewenste leverdatum opgegeven. Bij het bestellen van een ontbijt is dit wel verplicht.');
			return false;
		}

		if (document.getElementById('tmpDeliveryDate').value == '')
		{
			alert('U heeft geen gewenste leverdatum opgegeven. Doe dit alsnog of selecteer de optie \'Zo snel mogelijk\'.');
			return false;
		}

		oFrm['DeliveryDate'].value = document.getElementById('tmpDeliveryDate').value;
		oFrm['DeliveryTime'].value = document.getElementById('tmpDeliveryTime').value;	
	}
	else
	{
		var today = new Date();
		var year  = today.getUTCFullYear();
				
		var month = today.getMonth() + 1;
		var day  = today.getDate() + 1;

		if (month <= 9) month = "0" + month;
		if (day <= 9)		day		= "0" + day;

		oFrm['DeliveryDate'].value = "'" + year + "-" + month + "-" + day + "'";
		//alert(oFrm['DeliveryDate'].value);
		//return false;
	}

	switch ( oFrm['payMethod'].value )
	{
		case 'oprekening_user':
			//var arrRequired = new Array('adres_Rg','Email','order_orderedby','akkoordverkoopvw');
			//var arrTitles	= new Array('Factuuradres','E-mail','Naam Besteller','Gaat u akkoord met de verkoopvoorwaarden');
			var arrRequired = new Array('adres_Rg','order_orderedby','akkoordverkoopvw');
			var arrTitles	= new Array('Factuuradres','Naam Besteller','Gaat u akkoord met de verkoopvoorwaarden');

			break;
			
		case 'ideal':
			var arrRequired = new Array('Adres','Postcode','Plaats','Telefoon','Email','akkoordideal');
			var arrTitles	= new Array('Adres','Postcode','Plaats','Telefoon','E-Mail','Gaat u akkoord met de verkoopvoorwaarden');
			break;	
			
		case 'CreditCard':
			var arrRequired = new Array('Adres','Postcode','Plaats','Telefoon','Email','akkoordcard');
			var arrTitles	= new Array('Adres','Postcode','Plaats','Telefoon','E-Mail','Gaat u akkoord met de verkoopvoorwaarden');
			break;	

		case 'oprekening':
			var arrRequired = new Array('Naam','Adres','Postcode','Plaats','Kvk','Telefoon','Email','order_orderedby','akkoordverkoopvw');
			var arrTitles	= new Array('Bedrijfsnaam','Adres','Postcode','Plaats','KvK Nummer','Telefoon','E-mail','Naam Besteller','Gaat u akkoord met de verkoopvoorwaarden');
			break;

		case 'incasso':
			var arrRequired = new Array('bestelnaam','besteltelefoon','Adres','Postcode','Plaats','Email','incassobank','incassonummer','incassohouder','akkoordverkoopvw','akkoordincasso');
			var arrTitles	= new Array('Uw naam','Uw telefoonnummer','Adres','Postcode','Plaats','E-mail','Naam van de bank','Het rekeningnummer','Naam rekeninghouder','Gaat u akkoord met de verkoopvoorwaarden','Gaat u akkoord met een eenmalige incasso');

			break;

		case 'vooruit':
			var arrRequired = new Array('Adres','Postcode','Plaats','Telefoon','Email','akkoordverkoopvw');
			var arrTitles	= new Array('Adres','Postcode','Plaats','Telefoon','E-Mail','Gaat u akkoord met de verkoopvoorwaarden');

			break;
	}

	for (var iCnt=0;iCnt<arrRequired.length;iCnt++)
	{
		bHasValue = false;
		switch ( oFrm[arrRequired[iCnt]].type )
		{
			case 'checkbox':
				if ( oFrm[arrRequired[iCnt]].checked )
					bHasValue = true;
				break;

			default:
				if (oFrm[arrRequired[iCnt]].value != '')
					bHasValue = true;
				break;
		}

		if (!bHasValue)
		{
			alert('Het veld ' + arrTitles[iCnt] + ' is verplicht');
			return false;
		}
	}
	oFrm.submit();
}

//===========================================================

function fnCheckAllAddressCheckbox(sTmpAllOn,sOrderLineRg)
{
	// Some variables
	var oFrm			= document.forms['selectAddress'];
	var bUpdated		= false;
	// Remove the text from the select all/none button
	document.getElementById('AllOnOffLink').innerHTML = '';

	// Loop through all input boxes
	for (var iCnt=0,iLen=oFrm.length;iCnt<iLen;iCnt++)
	{
		var oFrmItem = oFrm.elements[iCnt];
		// Only interested in the checkbox ones
		switch (oFrmItem.type)
		{
		case 'checkbox':
			if (oFrmItem.checked != sTmpAllOn)
			{
				oFrmItem.checked = (sTmpAllOn == true) ? true : false ;
				fnCheckAddressCheckbox(oFrmItem.id, sOrderLineRg, oFrmItem.value, '', false);
				bUpdated = true;
			}
			break;
		}
	}

	if (sTmpAllOn)
	{
		sAllOn	= false;
		if (!bUpdated)
			document.getElementById('AllOnOffLink').innerHTML = 'Geen';
		else
			setTimeout("document.getElementById('AllOnOffLink').innerHTML = 'Geen'",2500);
	}
	else
	{
		sAllOn	= true;
		setTimeout("document.getElementById('AllOnOffLink').innerHTML = 'Alle'",2500);
	}
}

//===========================================================

// Function that adds an address to the orderline
// using javascript calling an file that handles the request
function fnCheckAddressCheckbox(frmItem, sOrderlineRg, sSavedAddressRg, sNoneSavedAddressRg,bAantalChange)
{
	var oXMLhttp	= fnXMLObject();
	var tmpDate		= new Date();

	if (frmItem != '')
	{
		var iAantal		= document.getElementById('aantal'+ frmItem).value;

		if (!bAantalChange)
		{
			if (!document.getElementById(frmItem).checked)
			{
				iAantal = 0;
				document.getElementById('aantal'+ frmItem).value = '';
			}
			else
			{
				iAantal = 1;
				document.getElementById('aantal'+ frmItem).value = iAantal;
			}
		}
		else
		{
			if (!iAantal > 0)
			{
				iAantal = 0;
				document.getElementById('aantal'+ frmItem).value = '';
			}
		}
		// build the the be requested URL. Including a timestamp avoiding caching(somehow it did some caching before)
		sURL = '/shop/xmlget.asp?a=setOrderAddress&sOrder='+sOrderlineRg +'&sSavedA='+sSavedAddressRg+'&sA='+sNoneSavedAddressRg+'&iAantal='+iAantal+'&timeStamp='+tmpDate.getHours()+'_'+tmpDate.getMinutes()+'_'+tmpDate.getSeconds();

	}
	else
	{
		var iAantal = 0
		sURL = '/shop/xmlget.asp?a=&sOrder='+sOrderlineRg +'&sSavedA='+sSavedAddressRg+'&sA='+sNoneSavedAddressRg+'&iAantal='+iAantal+'&timeStamp='+tmpDate.getHours()+'_'+tmpDate.getMinutes()+'_'+tmpDate.getSeconds();
	}



	// Check if XML component is available
	if (oXMLhttp)
	{
		// Request URL
		oXMLhttp.open("GET",sURL,true);
		oXMLhttp.onreadystatechange=function() {
			// Action is fired when state is changed
			// state 4 = request complete
			if (oXMLhttp.readyState==4)
				eval(oXMLhttp.responseText);
		}
		oXMLhttp.setRequestHeader('Accept','message/x-formresult');
		oXMLhttp.send(null);
	}
	return false;
}

//===========================================================
// Function for removing an address directly from the
// page viewing the cart. Remove address returns document.reload
// so webpage is also updated
function fnRemoveAddressFromOrderline(sOrderlineRg, sSavedAddressRg, sNoneSavedAddressRg)
{
	var oXMLhttp	= fnXMLObject();
	var tmpDate		= new Date();

	// build the the be requested URL. Including a timestamp avoiding caching(somehow it did some caching before)
	sURL = '/shop/xmlget.asp?a=removeaddress&sOrder='+sOrderlineRg +'&sSavedA='+sSavedAddressRg+'&sA='+sNoneSavedAddressRg+'&timeStamp='+tmpDate.getHours()+'_'+tmpDate.getMinutes()+'_'+tmpDate.getSeconds();

	// Check if XML component is available
	if (oXMLhttp)
	{
		// Request URL
		oXMLhttp.open("GET",sURL,true);
		oXMLhttp.onreadystatechange=function() {
			// Action is fired when state is changed
			// state 4 = request complete
			if (oXMLhttp.readyState==4)
				eval(oXMLhttp.responseText);
		}
		oXMLhttp.setRequestHeader('Accept','message/x-formresult');
		oXMLhttp.send(null);
	}
	return false;
}

//===========================================================
// Function for removing an address directly from the
// page viewing the cart. Remove address returns document.reload
// so webpage is also updated
function fnRemoveAddressFromOrderline(sOrderlineRg, sSavedAddressRg, sNoneSavedAddressRg)
{
	var oXMLhttp	= fnXMLObject();
	var tmpDate		= new Date();

	// build the the be requested URL. Including a timestamp avoiding caching(somehow it did some caching before)
	sURL = '/shop/xmlget.asp?a=removeaddress&sOrder='+sOrderlineRg +'&sSavedA='+sSavedAddressRg+'&sA='+sNoneSavedAddressRg+'&timeStamp='+tmpDate.getHours()+'_'+tmpDate.getMinutes()+'_'+tmpDate.getSeconds();

	// Check if XML component is available
	if (oXMLhttp)
	{
		// Request URL
		oXMLhttp.open("GET",sURL,true);
		oXMLhttp.onreadystatechange=function() {
			// Action is fired when state is changed
			// state 4 = request complete
			if (oXMLhttp.readyState==4)
				eval(oXMLhttp.responseText);
		}
		oXMLhttp.setRequestHeader('Accept','message/x-formresult');
		oXMLhttp.send(null);
	}
	return false;
}

//===========================================================
function fnArticleDetailOrderDiv(sDiv)
{
	objDiv = document.getElementById(sDiv + '_div');
	objTekst = document.getElementById(sDiv + '_bestelDIV');
	dTekst = false;
	if (objTekst != null)
		dTekst = true;
	// Lets check if the selected object is allready viewed
	if (objDiv.style.display == 'block')
	{	// Hide object
		objDiv.style.display = 'none';
		if (dTekst)
			objTekst.style.display = 'inline';
	}
	else
	{	// Show object
		objDiv.style.display = 'block';
		if (dTekst)
			objTekst.style.display = 'none';
	}

	// If currently viewed object exists AND is different
	// then the new object than hide currently viewed object
	if (sCurrentlyViewed != '')
	{
		if (typeof(document.getElementById(sCurrentlyViewed + '_div')) != 'undefined' && sCurrentlyViewed != sDiv)
		{
			document.getElementById(sCurrentlyViewed + '_div').style.display = 'none';

			try
			{
				//alert( typeof(document.getElementById(sCurrentlyViewed + '_bestelDIV')) )
				document.getElementById(sCurrentlyViewed + '_bestelDIV').style.display = 'block';
			}
			catch(ev)
			{
				return true;
			}
		}
	}
	// Assign new to var for reminding
	sCurrentlyViewed = sDiv;
}


//===========================================================
// Function for caculating a price from an pricingtable
// returning only the price
function fnGetLowest(objAantal,sFrm,arrStaffel)
{
	if (arrStaffel.length > 0)
	{
		objAantal.value = arrStaffel[0];
	}
	else
	{
		objAantal.value = '1';
	}

	eval("document.getElementById('" + sFrm + "_subarticles').value=fnFormatCurrency(fnCalculateFromPriceTable('"+sFrm+"',objAantal,objAantal.value,arrLst_"+sFrm+",arrPrs_"+sFrm+",true))");
	fnUpdatePrices(sFrm);
}

//===========================================================
// Function for caculating a price from an pricingtable
// returning only the price
function fnCalculateFromPriceTable(objForm,objAantal,flToBeOrdered, arrStaffel, arrStaffelPijzen, bArticle)
{
	sPrijs							= 0;
	flToBeOrdered				= parseFloat( (flToBeOrdered) );
	iCountFrom					= 1;
	iArrLength					= arrStaffel.length;
	iToBeOrdered				= parseFloat(flToBeOrdered);
	blnDone							= false;
	iPrijseenheid				= 1;
	iBestelEenheid			= 1;


	iBestelEenheid			= parseInt( eval("document." + objForm + ".besteleenheid.value") );
	iPrijseenheid				= parseInt( eval("document." + objForm + ".prijseenheid.value") );

	if (iArrLength > 0 && arrStaffel.length == arrStaffelPijzen.length)
	{
		for (var iCount=iArrLength-1; iCount >= 0; iCount--)
		{
			iCountFrom	= arrStaffel[iCount];
			//alert( iToBeOrdered + ">=" + iCountFrom + " && (" + flToBeOrdered * iPrijseenheid + ")%" + iBestelEenheid + "==0) : " + flToBeOrdered + "*" + iPrijseenheid + " = " + (flToBeOrdered*iPrijseenheid)%iPrijseenheid );
			if (iToBeOrdered >= iCountFrom && (flToBeOrdered*iPrijseenheid)%iBestelEenheid==0)
			{
				if (arrStaffelPijzen[iCount] != '')
					sPrijs = iToBeOrdered * arrStaffelPijzen[iCount];
				else
					sPrijs = '';

				//alert( sPrijs + ' = ' + iToBeOrdered + ' * ' + arrStaffelPijzen[iCount] );
				blnDone = true;
				break;
			}
		}
	}

	//alert(sPrijs);
	if (sPrijs != '' && sPrijs < 0)
		sPrijs = 0;

	//alert(sPrijs);
	if (bArticle)
	{
		if (!blnDone)
		{
			try
			{
				document.getElementById(objForm+'_errorTD1').innerHTML		= '!';
				document.getElementById(objForm+'_errorTD1').style.display	= 'block';

				//document.getElementById(objForm+'_errorTD2').innerHTML		= 'U kunt dit artikel bestellen per '+iPrijseenheid+' en heeft een minimumaantal van ' + iCountFrom*iPrijseenheid + ' stuks.';
				document.getElementById(objForm+'_errorTD2').innerHTML		= 'U kunt dit artikel bestellen per '+iBestelEenheid+' en heeft een minimumaantal van ' + iCountFrom*iPrijseenheid + ' stuks.';
				document.getElementById(objForm+'_errorTD2').style.display	= 'block';
			}
			catch(ev)
			{
				return sPrijs;
			}
		}
		else
		{
			try
			{
				document.getElementById(objForm+'_errorTD1').innerHTML		= '';
				document.getElementById(objForm+'_errorTD1').style.display	= 'none';

				document.getElementById(objForm+'_errorTD2').innerHTML		= '';
				document.getElementById(objForm+'_errorTD2').style.display	= 'none';
			}
			catch(ev)
			{
				return sPrijs;
			}
		}
	}
	return sPrijs;

}

//===========================================================
var sCurrentMethod = '';
function fnSwitchPayMethod(sNewMethod)
{
	var locationOld 
	var locationNew
	var selectedDate
	var selectedTime
	
	if (sCurrentMethod != sNewMethod)
	{
		if (sCurrentMethod != '')
			document.getElementById(sCurrentMethod).style.display = 'none';

		document.getElementById(sNewMethod).style.display = 'block';
	}

	//document.location.href	= '#' + sNewMethod;
	//document.location.href = '&betaalmethode=' + sNewMethod 
	sCurrentMethod			= sNewMethod;
	
	selectedDate = document.getElementById('tmpDeliveryDate').value;
	selectedTime = document.getElementById('tmpDeliveryTime').value.replace(":","~");
	
	locationOld = location.href;
	/*Hier de oude string met betaalmethode weer weghalen en vervolgens de nieuwe er achterplakken.
	anders komen ze allemaal achter elkaar en gaat het fout.*/
		
	//Eerst controleren of &betaalmethode in de string aanwezig is.
	if (locationOld.indexOf('&betaalmethode=')== -1){
		//Niet aanwezig dan er achter plaatsen.
		document.location = locationOld + '&betaalmethode=' + sNewMethod + '&leverdatum=' + selectedDate + '&tijd=' + selectedTime + '#' + sNewMethod;
	}else{
		//Reeds aanwezig, dan verwijderen en opnieuw plaatsen.
		var plaats
		plaats = locationOld.indexOf('&betaalmethode=');
		locationNew = locationOld.substr(0, plaats);		
		document.location = locationNew + '&betaalmethode=' + sNewMethod + '&leverdatum=' + selectedDate + '&tijd=' + selectedTime + '#' + sNewMethod;
	}
	
	document.location.reload;	
	return true;
}

//===========================================================
// Open a URL, if window.closed then
// the opener is reloaded to get latest data
function fnOpenUrlInWindow(sURL,sAction)
{
	var sOptions;
	var reload = false;

	switch (sAction)
	{
		case 'addaddress':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=650,height=630,resizeable=1,scrollbars=yes';
			break;
		case 'listaddresses':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=650,height=630,resizeable=1,scrollbars=yes';
			reload		= true;
			break;
		case 'viewUploadImage':
			//sOptions	= 'dialogWidth:310px;dialogHeight:240px;resizeable:1';
			sOptions	= 'status=1,toolbar=0,navigation=0,width=310,height=240,resizeable=1,scrollbars=auto';
			break;
		case 'viewUploadAddressImport':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=310,height=200,resizeable=1,scrollbars=auto';
			break;
		case 'listusers':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=650,height=630,resizeable=1,scrollbars=yes';
			break;
		case 'VerkoopVW':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=550,height=630,resizeable=1,scrollbars=yes';
			break;
		case 'aanvraagformulier':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=410,height=600,resizeable=1,scrollbars=yes';
			break;
		case 'grotefoto':
			sOptions	= 'status=0,toolbar=0,navigation=0,width=300,height=350,resizeable=1,scrollbars=no';
			break;
		case 'listsimpleaddresses':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=432,height=630,resizeable=1,scrollbars=yes';
			break;
		case 'orderlist':
			sOptions	= 'status=1,toolbar=0,navigation=0,width=650,height=630,resizeable=1,scrollbars=yes';
			break;
		default:
			sOptions = '';
			break;
	}
		

	//if (sAction = 'viewUploadImage')
	//	oWindow = window.showModelessDialog(sURL, sAction, sOptions);
	//else
		oWindow = window.open(sURL,sAction,sOptions);
	//if (oWindow && sAction == 'grotefoto')
	//{
	//	alert( oWindow.images.length );
		//oWindow.resizeTo( oWindow.images[0].width.value ,oWindow.document.images[0].height.value );

	//}

	if ( !oWindow )
		alert('Uw computer(browser) blokkeerd popups, houd de CTRL toets ingedrukt en klik opnieuw op de link om de pagina te openen.');
	else if (reload)
		fnCheckWindow();
}

//===========================================================
// function that checks if the opened window still exists
// if NOT then the opener of the window is reloaded
function fnCheckWindow()
{
	//alert( oWindow.closed );
	if ( !oWindow.closed )
		setTimeout("fnCheckWindow();",500);
	else
		document.location.reload();
}

//===========================================================
// Format a nice price!
function fnFormatCurrency(dValue)
{
	dValue = dValue.toString().replace(/\$|\,/g,'');

	if (isNaN(dValue))
		dValue = "0";

	sign	= (dValue == (dValue = Math.abs(dValue)));
	dValue	= Math.floor(dValue*100+0.50000000001);
	cents	= dValue%100;
	dValue	= Math.floor(dValue/100).toString();

	if (cents<10)
		cents = "0" + cents;

	//alert(dValue);
	return ( ((sign)?'':'-') + dValue+ '.' + cents );
}

//===========================================================
function fnUpdatePrices(frm)
{
	sTmpTotal = 0;
	sTmpVal = 0;

	objFrm = document.forms[frm];

	// Loop het gehele formulier door
	for (i=0;i < objFrm.length; i++)
	{
		// De checkboxes bepalen de geselecteerde opties, dus alleen die bekijken
		// de naam van het item mag niet eindigen op "_waarde"
		if (objFrm[i].type == 'checkbox' && String(objFrm[i].name).substring(String(objFrm[i].name).length, String(objFrm[i].name).length - 7) != '_waarde')
		{
				// Als het subtotaal van het artikel 0 is of de
				// checbox unchecked dan is het subtotaal van deze optie 0
				if (!objFrm[i].checked || !parseFloat(document.getElementById(frm + '_subarticles').value) > 0)
					sTmpVal = 0;
				else // anders gaat hij op basis van het array(met staffels) bij deze optie de juiste prijs selecteren
					sTmpVal = fnCalculateFromPriceTable(frm,document.getElementById(frm + '_user_aantal'), document.getElementById(frm + '_user_aantal').value, eval('arrLst_'+ objFrm[i].name) , eval('arrPrs_'+ objFrm[i].name), false );

				// als checkbox aan, en TmpVal = 0 dan is het een gratis op
				// LET OP! Als sTmpVal leeg is dan is de optie NIET gratis maar op nacalculatie
				if (sTmpVal.toString() != '' && sTmpVal == 0 && objFrm[i].checked)
					document.forms[frm].elements[objFrm[i].name+'_subtotaal'].value = 'gratis';
				else
				{
					// Prijs van de optie weergeven als TmpVal > 0 (en niet leeg)
					// tevens het totaal ophogen met TmpVal
					if (sTmpVal.toString() != '' && sTmpVal > 0)
					{
						document.forms[frm].elements[objFrm[i].name+'_subtotaal'].value = fnFormatCurrency(sTmpVal);
						sTmpTotal = parseFloat(sTmpTotal) + sTmpVal;
					}
					else // Anders niets weergeven achter de optie (waar normaal de prijs staat)
						document.forms[frm].elements[objFrm[i].name+'_subtotaal'].value = '';
			}
		}
	}
	// De totaalprijs weergeven in het formulier
	document.getElementById(frm + '_total').value = fnFormatCurrency(parseFloat(document.getElementById(frm + '_subarticles').value) + sTmpTotal);
}

//===========================================================

function fnSubmitAddToCart(frm,frmNext_value)
{
	// Variable for yes/no submitting of form
	blnAantal					= false;
	blnAantal2				= false;
	blnOptionSelectedButEmpty	= false;
	sMessage					= '';
	sOptieRg					= '';

	for (iTmp=0,iTo=frm.length; iTmp<iTo; iTmp++)
	{
		// Only check the fields named "optie_UNIQUEIDENTIFIER"
		if (( frm[iTmp].name.substring(0,6) == 'optie_' ) && ( frm[iTmp].name.length == 38 ))
		{
			if ( sOptieRg != frm[iTmp].name.substring(6,frm[iTmp].name.length) )
			{
				sOptieRg = frm[iTmp].name.substring(6,frm[iTmp].name.length);
				// alert('checked' + frm['optie_' + sOptieRg].checked + ' en optie_' + sOptieRg + '_waarde = ' + frm['optie_' + sOptieRg + '_waarde'] );
				if ( frm['optie_' + sOptieRg].checked && frm['optie_' + sOptieRg + '_waarde'].value == '' )
				{
					blnOptionSelectedButEmpty = true;

					// Give an error depending on the type of the requested input
					switch(frm['optie_' + sOptieRg + '_waarde'].type)
					{
					case 'file':
						sMessage = sMessage + '- De optie \''+frm['optie_' + sOptieRg + '_titel'].value +'\' is aangevinkt, selecteer een foto\n';
						break;
					case 'text':
						sMessage = sMessage + '- De optie \''+frm['optie_' + sOptieRg + '_titel'].value +'\' is aangevinkt, voer een tekst in\n';
						break;
					case 'textarea':
						sMessage = sMessage + '- De optie \''+frm['optie_' + sOptieRg + '_titel'].value +'\' is aangevinkt, voer een tekst in\n';
						break;
					default:
						sMessage = sMessage + '- De optie \''+frm['optie_' + sOptieRg + '_titel'].value +'\' is aangevinkt, voer een waarde in\n';
						break;
					}
				}
			}
		}
	}

	// Form checks
	if (frm[frm.name + '_aantal'].value > 0)
		blnAantal	 = true;
	else
		sMessage = '- Voer een aantal in van minimaal 1\n' + sMessage

	iPrijseenheid	= parseInt( frm.prijseenheid.value );
	iBestelEenheid= parseInt( frm.besteleenheid.value );

	if (frm[frm.name + '_user_aantal'].value%iBestelEenheid==0)
		blnAantal2 = true
	else
		sMessage = '- U kunt dit artikel alleen bestellen per ' + iBestelEenheid + sMessage

	// Assign value to variable for the next step
	frm.next.value=frmNext_value;

	if (blnAantal && blnAantal2 && !blnOptionSelectedButEmpty)
		return true;
	else
	{
		alert('Dit artikel kan niet in het winkelwagentje geplaatst worden met de volgende reden(en):\n\n' + sMessage + '\nPas uw bestelformulier aan en kies opnieuw voor bestel.');
		return false;
	}
}

//===========================================================
// This functions creates a new XML object
// it makes it possible sending requests to the server without completly
// refreshing the page
function fnXMLObject()
{
	var oTmp = false;
	try
    {
        oTmp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
        try
        {
            oTmp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(oc)
        {
            oTmp = false;
        }
    }

	if (!oTmp && typeof XMLHttpRequest != 'undefined')
	{
		try {
			oTmp = new XMLHttpRequest();
		}
		catch (ev) {
			oTmp = false;
		}
	}
	return oTmp;
}

//===========================================================
function fnGrayZoek(toggle) {
	if(toggle) {
			if(document.activeElement.id!='INPUTZOEKID') document.getElementById('IMGZOEKID').style.filter = 'gray()'
		} else {
			document.getElementById('IMGZOEKID').style.filter = ''
		}
}

//===========================================================
//Functie om de radiobutton leverdatum2 aan te zetten.
function checkRadioButton(){	
	var y 
	y = document.getElementById('leverdatum2');
	y.checked = true;
}

//===========================================================
// function AutoFill_Time
// deze functie vult automatisch de tijdinvoer aan
// als 1 getal => 0 ervoor en :00 erachter
// als 2 getallen => :00 erachter
// als 3 getallen en eerste geen 1 => 0 ervoor, : in het midden
// als 3 getallen en eerste wel 1 => 0 erachter, : in het midden
// als 4 getallen => : in het midden
function AutoFill_Time(varobj) {
	var sTimeVal;
	var sTimeSep;
	
	sTimeVal = varobj.value;
	sTimeSep = ':';
	//alert ('sTimeVal=' + sTimeVal);
	//strip alle niet nummers
   sTimeVal = sTimeVal.replace(/[\D]/g,'')
	
	if (sTimeVal.length > 0 ) {
		if (sTimeVal.length == 4) {
			sTimeVal = sTimeVal.substr(0,2) + sTimeSep + sTimeVal.substr(2,2);
		} else if (sTimeVal.length == 3) {
			if ((sTimeVal.substr(0,1) == '1') || (sTimeVal.substr(0,1) == '0')) {
				 sTimeVal = sTimeVal.substr(0,2) + sTimeSep + sTimeVal.substr(2,1) + '0';
			} else {
				 sTimeVal = '0' + sTimeVal.substr(0,1) + sTimeSep + sTimeVal.substr(1,2);
			}
		} else if (sTimeVal.length == 2) {
			if ((sTimeVal.substr(0,1) == '1') || (sTimeVal.substr(0,1) == '0')) {
				sTimeVal = sTimeVal.substr(0,2) + sTimeSep + '00';
			} else {
				sTimeVal = '0' + sTimeVal.substr(0,1) + sTimeSep + sTimeVal.substr(1,1) + '0';
			}
		} else if (sTimeVal.length == 1) {
			sTimeVal = '0' + sTimeVal + sTimeSep + '00';
		}
		varobj.value = sTimeVal;
	} 
}

// End tag to enable InterDev ColorCoding
//</script>

//===========================================================
// function loadIdeal
// Deze functie dient een aparte pagina te openen in een nieuw scherm.
// Hierbij dienen wel enkele gegevens te worden doorgegeven. Het gaat om het ordernummer en het totaalbedrag.

function loadIdeal(ordernummer, totaalbedrag, sha_one ) {			
	window.open('OgonePayment.asp?ordernr=' + ordernummer + '&TotaalBedrag=' + totaalbedrag + '&sha_one=' + sha_one, '_self', 'Betaling middels iDEAL',
	 'width=200,height=100,resizable=yes,scrollbars=yes,toolbar=yes,location=yes'); 

}

//===========================================================
//Function redirectHome 
//Deze functie leidt de klant terug naar de homepage.
function redirectHome(hoofdstukRg, paginaRg){

	var userRg = requestParameter("user_rg");
	var sessionRg = requestParameter("session_rg");	
	var hostDir = location.host
			
//	location = response.redirect "/?l=home&pagina_rg=" & rs("pagina_rg") & "&hoofdstuk_rg=" & rs("hoofdstuk_rg")

location = "/?l=home&pagina_rg=" + paginaRg + "&hoofdstuk_rg=" + hoofdstukRg + "&session_rg=" + sessionRg + "&user_rg=" + userRg;

}

//===========================================================
//Function requestParameter()
function requestParameter(sParam)
{
	var d=document.location.search;
	
	sParam = sParam.toLowerCase();
	
	if(sParam.length==0)
	return null;
	
	if(d.length>=0)
	oParams = d.substring(1).toLowerCase().split("&");
	
	for(var i = 0; i < oParams.length; i++)
	if(oParams[i].indexOf(sParam) == 0)
	return unescape(oParams[i].substring(sParam.length+1));
	
	return "";
}

//===========================================================
//Functie voor het openen van een printbare versie van een bestellingsoverzicht
function loadPrint(ordernr, cartNr, totaalbedrag, taxFree) {	
	var sURL
	var sAction
	var sOptions
	
	sURL = 'shop/orderPrint.asp?nummer=' + ordernr + '&cartNr=' + cartNr + '&totaal=' + totaalbedrag + '&tax=' + taxFree
	sOptions = 'status=1,toolbar=0,navigation=0,width=650,height=630,resizeable=1,scrollbars=yes';
			
	//window.open('shop/orderPrint.asp?nummer=' + ordernr + '&cartNr=' + cartNr + '&totaal=' + totaalbedrag + '&tax=' + taxFree, '_blank', 'Overzicht bestelling', 'menubar=yes,width=200,height=100,resizable=yes,scrollbars=yes,toolbar=yes,location=yes'); 

	window.open(sURL,'overzicht',sOptions);
}

