
function makeVisible(nummer)
{

	if (document.getElementById('categorie'+nummer))
	{
		var bProvincie = false;
		if (document.getElementById('provincie'+nummer + 'Drenthe').checked
			|| document.getElementById('provincie'+nummer + 'Flevoland').checked
			|| document.getElementById('provincie'+nummer + 'Friesland').checked
			|| document.getElementById('provincie'+nummer + 'Gelderland').checked
			|| document.getElementById('provincie'+nummer + 'Groningen').checked
			|| document.getElementById('provincie'+nummer + 'Limburg').checked
			|| document.getElementById('provincie'+nummer + 'Noord-Brabant').checked
			|| document.getElementById('provincie'+nummer + 'Noord-Holland').checked
			|| document.getElementById('provincie'+nummer + 'Overijssel').checked
			|| document.getElementById('provincie'+nummer + 'Utrecht').checked
			|| document.getElementById('provincie'+nummer + 'Zeeland').checked
			|| document.getElementById('provincie'+nummer + 'Zuid-Holland').checked
			) 
			bProvincie = true

		if ( 
			(document.getElementById('categorie'+nummer).selectedIndex != "")  
			&& (document.getElementById('pakket'+nummer).selectedIndex != "") 
			&& (document.getElementById('subcategorie'+nummer).selectedIndex != "") 
			&& bProvincie
			) 
		{
			nummer = parseInt(nummer) + 1;
			document.getElementById('row' + nummer).style.display = '';

		}
	}
}

function makeVisibleDoc(nummer)
{
		if (document.getElementById('doc'+nummer))
		{
			if ( 
				(document.getElementById('docType'+nummer).selectedIndex != "") 
				) 
			{
				nummer = parseInt(nummer) + 1;
				document.getElementById('documentRij' + nummer).style.display = '';
			}
		}
}

/**********************************************************************/
/* Deze functie berekent het bedrag van de pakketten  voor de aanmeld-*/
/* pagina van de gww-gids											  */
/**********************************************************************/

function calcBedrag(){
	var pakketten = new Array();
	var bedragen = new Array();
	var documenten = new Array();
	var documentBedragen = new Array();
	
	pakketten[0] = document.getElementById('pakket0').selectedIndex;
	bedragen[0]= 'bedrag0';

	if (document.getElementById('docType0'))
	{
		documenten[0] = document.getElementById('docType0').selectedIndex;
		documentBedragen[0]= 'bedragDoc0';
	}
	
	for (i = 1; i<11;i++)
	{
		if (document.getElementById('pakket'+i))
		{
			pakketten[i] = document.getElementById('pakket'+i).selectedIndex;				
			bedragen[i] = 'bedrag'+i;
		}
	}
	
	for (i = 1; i<10;i++)
	{
		if (document.getElementById('docType'+i))
		{
			documenten[i] = document.getElementById('docType'+i).selectedIndex;				
			documentBedragen[i] = 'bedragDoc'+i;
		}
	}	

	var totaal;
	totaal = 0;
	var duurstePakket;
	duurstePakket = 7;
	var duurstePakketID;
	duurstePakketID = 0;
	
	//zoek duurste pakket
	for (pakket in pakketten)
	{
		if (pakketten[pakket] < duurstePakket && pakketten[pakket] != 0)
		{
			duurstePakket = pakketten[pakket];
			duurstePakketID = pakket;
		}
	}
	
	var intje = -1;
	for (pakket in pakketten)
	{
		intje++;
		var aantalAangevinkteProvincies = 0;
		var bedragVoorDitPakket = 0;
		if (document.getElementById('provincie'+intje + 'Drenthe').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Flevoland').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Friesland').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Gelderland').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Groningen').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Limburg').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Noord-Brabant').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Noord-Holland').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Overijssel').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Utrecht').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Zeeland').checked) aantalAangevinkteProvincies ++;
		if ( document.getElementById('provincie'+intje + 'Zuid-Holland').checked) aantalAangevinkteProvincies ++;
	

		if (pakketten[pakket] == 0)
		{
			document.getElementById(bedragen[pakket]).innerHTML  = '€ 0,00';							
		}
		if (pakketten[pakket] == 1)
		{
			if (pakket != duurstePakketID)
			{
				bedragVoorDitPakket = 150;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;
				
			}
			else
			{
				bedragVoorDitPakket = 300;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;
			}
		}
		else if (pakketten[pakket] == 2)
		{
			if (duurstePakket <= 2 && pakket != duurstePakketID)
			{
				bedragVoorDitPakket = 120;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;
			}
			else
			{
				bedragVoorDitPakket = 240;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;					
			}
			
		}
		else if (pakketten[pakket] == 3)
		{
			if (duurstePakket <= 3 && pakket != duurstePakketID)
			{
				bedragVoorDitPakket = 90;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;
			}
			else
			{
				bedragVoorDitPakket = 180;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;								
			}
		}
		else if (pakketten[pakket] == 4)
		{
			if (duurstePakket <= 4 && pakket != duurstePakketID)
			{
				bedragVoorDitPakket = 60;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;
			}
			else
			{
				bedragVoorDitPakket = 120;				
				if (aantalAangevinkteProvincies > 0)
					bedragVoorDitPakket = bedragVoorDitPakket + 10 * (aantalAangevinkteProvincies-1)
				document.getElementById(bedragen[pakket]).innerHTML  = '€ ' + bedragVoorDitPakket + ',00';
				totaal = totaal + bedragVoorDitPakket;								
			}
		}
		else 
		{
				document.getElementById(bedragen[pakket]).innerHTML  = '€ 0,00';
		}
		
		
	}

	/* Langs alle documenten wandelen */
	for (doc in documenten)
	{
		if (documenten[doc] != "")
		{
			document.getElementById(documentBedragen[doc]).innerHTML  = '€ 25,00';							
			totaal = totaal + 25;
		}
		else 
			document.getElementById(documentBedragen[doc]).innerHTML  = '€ 0,00';							
	}

	if (document.getElementById('totaal'))
		document.getElementById('totaal').innerHTML = '€ ' + totaal + ',00';
		
	if (document.getElementById('gratis'))
	{

			if(document.getElementById('gratis').checked )
				document.getElementById('totaal').innerHTML = 'Gratis';
	}
}

/********************************************************************************************/
/* Deze functie evalueert het formulier, als niet alles is ingevuld wordt een foutmelding 	*/
/* op de juiste plek gezet en wordt het formulier niet gepost								*/
/********************************************************************************************/
function evaluateForm(){
	bool = true;
	/**************************************/
	if (document.getElementById('naam').value == '')
	{		
		bool = false;
		document.getElementById('naamFout').innerHTML = '&nbsp;&nbsp;Er is geen naam ingevuld';
	}
	else 
		document.getElementById('naamFout').innerHTML = '';
	/**************************************/		
	if (document.getElementById('adres').value == '')
	{		
		bool = false;
		document.getElementById('adresFout').innerHTML = '&nbsp;&nbsp;Er is geen adres ingevuld';
	}
	else 
		document.getElementById('adresFout').innerHTML = '';
		
	/**************************************/		
	// regular expression to match required postcode format  
	if (document.getElementById('postcodeCijfers').value == '' || document.getElementById('postcodeLetters').value == '' || document.getElementById('plaats').value == '' )
	{		
		bool = false;
		document.getElementById('postcodeFout').innerHTML = '&nbsp;&nbsp;De postcode en plaats moeten worden ingevuld';
	}
	else 
	{
		postcode = document.getElementById('postcodeCijfers').value + ' ' + document.getElementById('postcodeLetters').value;
		if (validatePostalCode(postcode) == true)
			document.getElementById('postcodeFout').innerHTML = '';		
		else
		{
			bool = false;
			document.getElementById('postcodeFout').innerHTML = 'Een postcode dient van het formaat <1234 AZ> te zijn.';		
		}
	}
	/**************************************/		
	if (document.getElementById('telefoon').value == '')
	{		
		bool = false;
		document.getElementById('telefoonFout').innerHTML = '&nbsp;&nbsp;Er is geen telefoonnummer ingevuld';
	}
	else 
	{
		if (validateTel(document.getElementById('telefoon').value ) == true)
			document.getElementById('telefoonFout').innerHTML = '';		
		else
		{
			bool = false;
			document.getElementById('telefoonFout').innerHTML = '&nbsp;&nbsp;Een telefoonnummer dient van het formaat <06-12345678> of <0123-456789> te zijn.';		
		}		
	}
	/**************************************/		
	if (document.getElementById('fax').value != '')
	{		
		if (validateTel(document.getElementById('fax').value ) == true)
			document.getElementById('faxFout').innerHTML = '';		
		else
		{
			bool = false;
			document.getElementById('faxFout').innerHTML = '&nbsp;&nbsp;Een faxnummer dient van het formaat <026-1234567> of <0123-456789> te zijn.';		
		}		
	}
	else 
		document.getElementById('faxFout').innerHTML = '';		

	/**************************************/			
	if (document.getElementById('logo').value != '')
	{		
		var logo = document.getElementById('logo').value;
		var arrayLogo = logo.split(".");
		arrayLogo[1] = arrayLogo[1].toLowerCase();
		if (!( (arrayLogo[1] == "jpg") || (arrayLogo[1] == "png") || (arrayLogo[1] == "gif") || (arrayLogo[1] == "bmp") || (arrayLogo[1] == "jpeg") ))
		{
			bool = false;
			document.getElementById('logoFout').innerHTML = '&nbsp;&nbsp;Het logo moet van het formaat "jpg", "png", "gif" of "bmp" zijn.';
		}
		else
			document.getElementById('logoFout').innerHTML = '';			
	}
	else 
		document.getElementById('logoFout').innerHTML = '';		
	/**************************************/

	if (document.getElementById('doc0').value != '')
	{		
		var logo = document.getElementById('doc0').value;
		var arrayLogo = logo.split(".");
		if (!( (arrayLogo[1] == "pdf") || (arrayLogo[1] == "pdfx") ))
		{
			bool = false;
			document.getElementById('doc0Fout').innerHTML = '&nbsp;&nbsp;Documenten moeten van het formaat pdf zijn.';
		}
		else
			document.getElementById('doc0Fout').innerHTML = '';			
	}
	else 
		document.getElementById('doc0Fout').innerHTML = '';		
	/**************************************/
	if (document.getElementById('doc1').value != '')
	{		
		var logo = document.getElementById('doc1').value;
		var arrayLogo = logo.split(".");
		if (!( (arrayLogo[1] == "pdf") || (arrayLogo[1] == "pdfx") ))
		{
			bool = false;
			document.getElementById('doc1Fout').innerHTML = '&nbsp;&nbsp;Documenten moeten van het formaat pdf zijn.';
		}
		else
			document.getElementById('doc1Fout').innerHTML = '';			
	}
	else 
		document.getElementById('doc1Fout').innerHTML = '';		
	/**************************************/

	if (document.getElementById('doc2').value != '')
	{		
		var logo = document.getElementById('doc2').value;
		var arrayLogo = logo.split(".");
		if (!( (arrayLogo[1] == "pdf") || (arrayLogo[1] == "pdfx") ))
		{
			bool = false;
			document.getElementById('doc2Fout').innerHTML = '&nbsp;&nbsp;Documenten moeten van het formaat pdf zijn.';
		}
		else
			document.getElementById('doc2Fout').innerHTML = '';			
	}
	else 
		document.getElementById('doc2Fout').innerHTML = '';		
	/**************************************/
	if (document.getElementById('doc3').value != '')
	{		
		var logo = document.getElementById('doc3').value;
		var arrayLogo = logo.split(".");
		if (!( (arrayLogo[1] == "pdf") || (arrayLogo[1] == "pdfx") ))
		{
			bool = false;
			document.getElementById('doc3Fout').innerHTML = '&nbsp;&nbsp;Documenten moeten van het formaat pdf zijn.';
		}
		else
			document.getElementById('doc3Fout').innerHTML = '';			
	}
	else 
		document.getElementById('doc3Fout').innerHTML = '';				
	/**************************************/
	if (document.getElementById('website').value != '')
	{
		if (validateWebsite(document.getElementById('website').value ) == true)
			document.getElementById('websiteFout').innerHTML = '';		
		else
		{
			bool = false;
			document.getElementById('websiteFout').innerHTML = 'Een website dient van het formaat < www.abc.com > te zijn (Zonder http://).';		
		}					
	}	
	/**************************************/		
	var bProvincie = false;
	var nummer = 0;
	if (document.getElementById('provincie'+nummer + 'Drenthe').checked
		|| document.getElementById('provincie'+nummer + 'Flevoland').checked
		|| document.getElementById('provincie'+nummer + 'Friesland').checked
		|| document.getElementById('provincie'+nummer + 'Gelderland').checked
		|| document.getElementById('provincie'+nummer + 'Groningen').checked
		|| document.getElementById('provincie'+nummer + 'Limburg').checked
		|| document.getElementById('provincie'+nummer + 'Noord-Brabant').checked
		|| document.getElementById('provincie'+nummer + 'Noord-Holland').checked
		|| document.getElementById('provincie'+nummer + 'Overijssel').checked
		|| document.getElementById('provincie'+nummer + 'Utrecht').checked
		|| document.getElementById('provincie'+nummer + 'Zeeland').checked
		|| document.getElementById('provincie'+nummer + 'Zuid-Holland').checked
		) 
		bProvincie = true

	
		if (document.getElementById('pakket0').selectedIndex < 1 || document.getElementById('categorie0').selectedIndex < 1 || bProvincie == false)
		{		
			bool = false;
			document.getElementById('pakketFout').innerHTML = 'Er dient minimaal één pakket gekozen te worden';
		}													
		else 
			document.getElementById('pakketFout').innerHTML = '';		
	/**************************************/
	
	if (document.getElementById('contactVoorletters').value == '')
	{		
		bool = false;
		document.getElementById('contactVoorlettersFout').innerHTML = '&nbsp;&nbsp;Er zijn geen voorletters ingevuld';
	}							
	else 
		document.getElementById('contactVoorlettersFout').innerHTML = '';				
	/**************************************/
	/**************************************/
	if (document.getElementById('contactAchternaam').value == '')
	{		
		bool = false;
		document.getElementById('contactAchternaamFout').innerHTML = '&nbsp;&nbsp;Er is geen achternaam ingevuld';
	}							
	else 
		document.getElementById('contactAchternaamFout').innerHTML = '';				
	/**************************************/
	/**************************************/
	if (document.getElementById('contactFunctie').value == '')
	{		
		bool = false;
		document.getElementById('contactFunctieFout').innerHTML = '&nbsp;&nbsp;Er is geen functie ingevuld';
	}							
	else 
		document.getElementById('contactFunctieFout').innerHTML = '';				
	/**************************************/	
	if (document.getElementById('contactTel').value == '')
	{		
		bool = false;
		document.getElementById('contactTelFout').innerHTML = '&nbsp;&nbsp;Er is geen contact-telefoonnummer ingevuld';
	}							
	else 
	{
		if (validateTel(document.getElementById('contactTel').value ) == true)
			document.getElementById('contactTelFout').innerHTML = '';		
		else
		{
			bool = false;
			document.getElementById('contactTelFout').innerHTML = 'Een telefoonnummer dient van het formaat <06-123456789> of <0123-456789> te zijn.';		
		}		
	}	
	/**************************************/
	if (document.getElementById('contactEmail').value == '')
	{		
		bool = false;
		document.getElementById('contactEmailFout').innerHTML = '&nbsp;&nbsp;Er is geen contact-emailadres ingevuld';
	}							
	else 
	{
		if (validateEmail(document.getElementById('contactEmail').value ) == true)
			document.getElementById('contactEmailFout').innerHTML = '';		
		else
		{
			bool = false;
			document.getElementById('contactEmailFout').innerHTML = 'Er dient een correct emailadres te worden opgegeven.';		
		}					
	}
	if (bekijkPakketten() == false)
	{
		bool = false;
		document.getElementById('pakketFout').innerHTML = 'U heeft tweemaal dezelfde categorie, subcategorie en provincie gekozen.';
	}
	else
		document.getElementById('pakketFout').innerHTML = '';
	return bool;
}

function bekijkPakketten()
{
	var pakketten = new Array(); 
	// alle pakketten in een array
	for (i = 0; i<11;i++)
	{
		if (document.getElementById('categorie'+i))
		{
			if (document.getElementById('categorie' + i).selectedIndex != 0)
			{

				pakketten[i] = document.getElementById('categorie'+i).selectedIndex + ' ' + document.getElementById('subcategorie'+i).selectedIndex + ' ';				
			}
		}
	}
	
	var bool = true;
	//sort de array
	pakketten = pakketten.sort();
	
	for (i = 0; i<11;i++)
	{
		if (pakketten[i+1])
		{
			if (pakketten[i] == pakketten[i+1])
			{
					bool = false;
					break;
			}
		}
	}	
	return bool;
}

/********************************************************************************************/
/* Gooi een hele listbox leeg																*/
/********************************************************************************************/
function clearListBox(listboxid){
	var elSel = document.getElementById(listboxid);
	var i;
	for (i = elSel.length - 1; i>=0; i--) 
			elSel.remove(i);            

}

function validatePostalCode(strPC) {
  return typeof strPC=='string'
    ?strPC.match(/[1-9][0-9]{3} {1}[a-zA-Z]{2}/)==strPC
    :false;
}

function validateTel(strTel) {
  return typeof strTel=='string'
    ?strTel.match(/[0-9]{2,10}-{1}[0-9 ]{2,10}/)==strTel
    :false;
}

function validateEmail(strMail) {
  return typeof strMail=='string'
    ?strMail.match(/[a-zA-Z0-9.]{2,100}@{1}[a-zA-Z0-9-]{2,100}.{1}[a-zA-Z0-9]{2,100}/)==strMail
    :false;
}

function validateWebsite(strWeb) {
  return typeof strWeb=='string'
    ?strWeb.match(/[a-zA-Z0-9]{2,100}.{1}[a-zA-Z0-9-]{2,100}.{1}[a-zA-Z0-9\/-]{2,100}/)==strWeb
    :false;
}
