// hulpfuncties controle

function IsTelefoon(sText)
{
   var ValidChars = "0123456789-";
   var IsTelefoon = true;
   var Char;
   for (i = 0; i < sText.length && IsTelefoon == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsTelefoon = false;
      }
   }
   return IsTelefoon;
}

function IsPostcode(sText)
{
   var Numeriek = "0123456789";
   var Alfabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var IsPostcode = true;
   var Char;
   var hText;
   if (sText.length > 5)
   {
		if (sText.length == 6)
			hText = sText.toUpperCase() + ' ';
		else
			hText = sText.toUpperCase();
   }
   else 
		IsPostcode = false;
   if (IsPostcode == true)
   {
		if (Numeriek.indexOf(hText.charAt(0)) == -1) IsPostcode = false;
		if (Numeriek.indexOf(hText.charAt(1)) == -1) IsPostcode = false;
		if (Numeriek.indexOf(hText.charAt(2)) == -1) IsPostcode = false;
		if (Numeriek.indexOf(hText.charAt(3)) == -1) IsPostcode = false;
   // a: formaat 1234 AB
	   if (hText.charAt(4) == ' ')
	   {
			if (Alfabet.indexOf(hText.charAt(5)) == -1) IsPostcode = false;
			if (Alfabet.indexOf(hText.charAt(6)) == -1) IsPostcode = false;
	   }
	   // b: formaat 1234AB
	   else
		{
 			if (Alfabet.indexOf(hText.charAt(4)) == -1) IsPostcode = false;
			if (Alfabet.indexOf(hText.charAt(5)) == -1) IsPostcode = false;
			if (hText.charAt(6) != ' ') IsPostcode = false;
	   }
   }
   return IsPostcode;
}

function checkEmail(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		//alert("Invalid E-mail ID")
		return false
	 }
	 return true					
}
function Soficon(sophie)
{
	var valida = 0;
	if (sophie.length == 8)
	{
		var inx = 0;
		var A = 0;
		var B = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var C = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var D = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var E = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var F = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var G = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var H = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var I = parseInt(sophie.substring(inx,inx+1));
		valida = 1;
	}
	if (sophie.length == 9)
	{
		var inx = 0;
		var A = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var B = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var C = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var D = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var E = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var F = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var G = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var H = parseInt(sophie.substring(inx,inx+1));
		inx++;
		var I = parseInt(sophie.substring(inx,inx+1));
		valida = 1;
	}
	if (valida == 1)
	{
		
		A = A * 9;
		B = B * 8;
		C = C * 7;
		D = D * 6;
		E = E * 5;
		F = F * 4;
		G = G * 3;
		H = H * 2;

		X = A + B + C + D + E + F + G + H;
		Y = X % 11;

		if (Y == I) valida = 3;
	}

	if ((valida == 3) || (sophie == "350044"))
		return ('OK');
	else
		return ('NOK');
}

function proef11 (bankreki)
{
	var bankrek =  bankreki;
    var resultaat = false;
	var csom = 0;                            // variabele initialiseren 
    var pos = 9;                             // het aantal posities waaruit een bankrekeningnr hoort te bestaan
    for (var i = 0; i < bankrek.length; i++) 
	{
		var num = bankrek.substring(i,i+1);
		if ((num>=0) && (num<=9)) 
		{           // controleer of het karakter numeriek is
			csom = csom + (num * pos);                        // bereken somproduct van het cijfer en diens positie 
			pos = pos -1;                           // naar de volgende positie
		}
    }
    if ((pos > 1) && (pos < 7)) resultaat = true;    // True als resterende posities tussen 1 en 7 => Postbank
    else
	{
		mod = csom % 11;                                        // bereken restwaarde van somproduct/11. 
		if ((pos == 0) && (mod == 0))  resultaat = true; 
	}
	return (resultaat);  // True als het een postbanknr is of restwaarde=0 zonder resterende posities
}

 // Ajax
 
function xmlhttpPost(soort,strURL) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(soort,self.xmlHttpReq.responseText);
        }
    }
    self.xmlHttpReq.send(getquerystring(soort));
}

function getquerystring(soort) {
//    var form     = document.forms['f1'];
//    var word = form.word.value;
	if (soort == 'ins')	word = document.formu.sofi.value;
	if (soort == 'pc') word = document.formu.postcode.value;;
    qstr = 'w=' + escape(word);  // NOTE: no '?' before querystring
    return qstr;
}

function updatepage(soort,str){
	if (soort == 'ins')
	{
		if (str == "0")
			document.formu.submit();
		else
		{
			//var aantal = prompt("Uw aanmelding is al eerder gebeurd, wanneer u zich\nécht nogmaals wilt aanmelden vul 'ja' in","Nee");
			//if (aantal.toUpperCase() == "JA") document.formu.submit();
			alert ("De door u ingevoerde gegevens zijn reeds bekend bij Capabel Onderwijs Groep.\nOm dubbele inschrijving te voorkomen blokkeren wij deze inschrijving.\nWij verzoeken u vriendelijk om de eerst volgende werkdag contact op te nemen met Capabel Onderwijs Groep via 030-2850555.\nHartelijk dank voor uw medewerking!");
		}
	}
	//alert (str);
	if ((soort == 'pc') && (document.formu.woonplaats.value == '')) document.formu.woonplaats.value = str;
	//if ((soort == 'pc') && (document.formu.woonplaats.value == '')) document.formu.woonplaats.value = "flutje";
    //document.getElementById("result").innerHTML = str;
}
 


// Besturing formulier


function vooropl1() 

{
	$('#oppie2').show('slow');		
}

function vooropl2() 
{
	$('#oppie3').show('slow');		
}

function extra() 
{
	if (document.formu.zelf[0].checked == true) { // zelf
		$('#veld').show('slow');		
		//$('#veld2').hide('slow');		
		$('#veld3').show('slow');		
		$('#veld4').hide('slow');		
	}
	
	if (document.formu.zelf[1].checked == true) { // niet zelf, UWV
		$('#veld').hide('slow');		
		//$('#veld2').show('slow');		
		$('#veld3').hide('slow');		
		$('#veld4').show('slow');		
	}
}
function prijsbepalen() 

{

	if (document.formu.betaling[0].checked == true) { //per maand
		document.formu.geldtekst.disabled = false;
		$('#veld').show('slow');
		$('#bankgirogroep').show('slow');
		/*
		document.getElementById('bankgirogroep').style.display="block";
		document.getElementById('veld').style.visibility="visible";
		document.getElementById('veld').style.position="relative";
		document.getElementById('veld2').style.visibility="hidden";
		document.getElementById('veld2').style.position="absolute";
		document.getElementById('veld2').style.top="0";*/
		if (document.formu.opl.value == "kies") document.formu.geldtekst.value = "U heeft nog geen opleiding geselecteerd!";
		if (document.formu.opl.value == "Xb1") document.formu.geldtekst.value = "12 termijnen van euro 356 en koop leermiddelen a euro 451";
		if (document.formu.opl.value == "Xb11") document.formu.geldtekst.value = "12 termijnen van euro 356 en koop leermiddelen a euro 451";
		if (document.formu.opl.value == "Xb21") document.formu.geldtekst.value = "12 termijnen van euro 290 en koop leermiddelen a euro 367";
		if (document.formu.opl.value == "Xb41") document.formu.geldtekst.value = "12 termijnen van euro 337 en koop leermiddelen a euro 598";
		if (document.formu.opl.value == "Xb51") document.formu.geldtekst.value = "12 termijnen van euro 337 en koop leermiddelen a euro 598";
		if (document.formu.opl.value == "Xb61") document.formu.geldtekst.value = "euro 12 termijnen van euro 355";
		if (document.formu.opl.value == "Xb66") document.formu.geldtekst.value = "euro 12 termijnen van euro 307 en koop leermiddelen a euro 400";
		if (document.formu.opl.value == "Xb71") document.formu.geldtekst.value = "7 termijnen van euro 399 en koop leermiddelen a euro 240";
		if (document.formu.opl.value == "Xb81") document.formu.geldtekst.value = "12 termijnen van euro 356 en koop leermiddelen a euro 403";
		if (document.formu.opl.value == "Xb91") document.formu.geldtekst.value = "12 termijnen van euro 337 en koop leermiddelen a euro 250";
		if (document.formu.opl.value == "Xb101") document.formu.geldtekst.value = "12 termijnen van euro 356 en koop leermiddelen a euro 450";
		if (document.formu.opl.value == "Xb111") document.formu.geldtekst.value = "12 termijnen van euro 337 en koop leermiddelen a euro 451";
		if (document.formu.opl.value == "Xb222") document.formu.geldtekst.value = "12 termijnen van euro 356 ";

		
	}
	if (document.formu.betaling[1].checked == true) { //ineens
		document.formu.geldtekst.disabled = false;
		$('#veld').show('slow');
		$('#bankgirogroep').hide('slow');
		/*
		document.getElementById('bankgirogroep').style.display="none";
		document.getElementById('veld').style.visibility="visible";
		document.getElementById('veld').style.position="relative";
		document.getElementById('veld2').style.visibility="hidden";
		document.getElementById('veld2').style.position="absolute";
		document.getElementById('veld2').style.top="0";*/
		if (document.formu.opl.value == "kies") document.formu.geldtekst.value = "U heeft nog geen opleiding geselecteerd!";
		if (document.formu.opl.value == "Xb1") document.formu.geldtekst.value = "euro 3890 en koop leermiddelen a euro 451";
		if (document.formu.opl.value == "Xb11") document.formu.geldtekst.value = "euro 3890 en koop leermiddelen a euro 451";
		if (document.formu.opl.value == "Xb21") document.formu.geldtekst.value = "euro 3350 en koop leermiddelen a euro 367";
		if (document.formu.opl.value == "Xb41") document.formu.geldtekst.value = "euro 3665 en koop leermiddelen a euro 598";
		if (document.formu.opl.value == "Xb51") document.formu.geldtekst.value = "euro 3665 en koop leermiddelen a euro 598";
		if (document.formu.opl.value == "Xb61") document.formu.geldtekst.value = "euro 3890";
		if (document.formu.opl.value == "Xb66") document.formu.geldtekst.value = "euro 3345 en koop leermiddelen a euro 400";
		if (document.formu.opl.value == "Xb71") document.formu.geldtekst.value = "euro 2539 en koop leermiddelen a euro 240";
		if (document.formu.opl.value == "Xb81") document.formu.geldtekst.value = "euro 3890 en koop leermiddelen a euro 403";
		if (document.formu.opl.value == "Xb91") document.formu.geldtekst.value = "euro 3665 en koop leermiddelen a euro 250";
		if (document.formu.opl.value == "Xb101") document.formu.geldtekst.value = "euro 3890 en koop leermiddelen a euro 450";
		if (document.formu.opl.value == "Xb111") document.formu.geldtekst.value = "euro 3665 en koop leermiddelen a euro 451";
		if (document.formu.opl.value == "Xb222") document.formu.geldtekst.value = "euro 3890 ";
	}
}
function opldatum()
{
	var now = new Date();
	var jaarnu = now.getFullYear();
        //jaarnu = 2009;
	for (ii=jaarnu;ii>=jaarnu-40;ii--) {
		if (ii == jaarnu - 2) {
			document.write("<option selected value=\"" + ii + "\">" + ii + "</option>");
			}
		else
			document.write("<option value=\"" + ii + "\">" + ii + "</option>");
	}
}

// controle formulier

function valideer() 
{
	var fouten = 0;
	if ((fouten == 0) &&
		(document.formu.opl.value == 'kies'))
	{
		alert ('U hebt nog geen opleiding gekozen!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		((document.formu.voornaam.value == '') || (document.formu.achternaam.value == '')))
	{
		alert ('U hebt nog geen voor- en achternaam ingevuld!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		((document.formu.straat.value == '') || (document.formu.huisnr.value == '')))
	{
		alert ('U hebt nog geen straat en huisnumer ingevuld!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		((document.formu.postcode.value == '') || (document.formu.woonplaats.value == '')))
	{
		alert ('U hebt nog geen postcode en woonplaats ingevuld!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(IsPostcode(document.formu.postcode.value) == false))
	{
		alert ('U hebt een onjuiste postcode ingevuld!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.telefoonnr.value == ''))
	{
		alert ('U hebt nog geen telefoonnummer ingevuld!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(IsTelefoon(document.formu.telefoonnr.value) == false))
	{
		alert ('Een telefoonnummer moet bestaan uit cijfers plus eventueel een streepje!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.email.value == ''))
	{
		alert ('U hebt nog geen emailadres ingevuld!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(checkEmail(document.formu.email.value) == false))
	{
		alert ('Uw emailadres is niet correct!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.sofi.value == ''))
	{
		alert ('U hebt nog geen burgerservicenummer ingevuld!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(Soficon(document.formu.sofi.value) == 'NOK')) 
	{
		alert ('Uw burgerservicenummer moet goed zijn ingevuld!');
		fouten = 1;
	}
	var days = 0;
	var difference = 0;
	var gebjaarplus18 = parseInt(document.formu.geb_jaar.value);
	gebjaarplus18 = gebjaarplus18 + 18;
	var gebmaandmin1 = parseInt(document.formu.geb_maand.value);
	gebmaandmin1 = gebmaandmin1 - 1;
	var gebdag = document.formu.geb_dag.value;
	var datum18 = new Date(gebjaarplus18, gebmaandmin1, gebdag); 
	today = new Date();
	difference = datum18 - today;
	days = Math.round(difference/(1000*60*60*24));
	if ((fouten == 0) &&
		(days > 0)) 
	{
		alert ('Capabel geeft volwassenonderwijs. Helaas ben je nog niet volwassen. Je kunt je niet inschrijven!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.vooropleiding1.value == ''))
	{
		alert ('Het is verplicht minimaal één (achter cijfer 1) vooropleiding op te geven!');
		fouten = 1;
	}
	// betaling[0].checked =termijnen
	// betaling[1].checked = ineens
	// zelf[0].checked = ik
	// zelf[1].checked = werkgever
	if ((fouten == 0) &&
		(((document.formu.betaling[0].checked == false) && (document.formu.betaling[1].checked == false) && (document.formu.zelf[0].checked == true)) || 
		((document.formu.zelf[0].checked == false) && (document.formu.zelf[1].checked == false))))
	{
		alert ('Het is verplicht een type betaling op te geven!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.werk_naam.value == '') && (document.formu.zelf[1].checked == true)) 
	{
		alert ('Het is verplicht de naam van de instantie die betaalt op te geven als u de opleiding niet zelf betaalt!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.werk_tel.value == '') && (document.formu.zelf[1].checked == true))
	{
		alert ('Het is verplicht het telefoonnummer van de instantie die betaalt op te geven als u de opleiding niet zelf betaalt!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(IsTelefoon(document.formu.werk_tel.value) == false)  && (document.formu.zelf[1].checked == true))
	{
		alert ('Het telefoonnummer van de instantie die betaalt mag alleen bestaan uit cijfers en uit een streepje!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.werk_adres.value == '') && (document.formu.zelf[1].checked == true))
	{
		alert ('Het is verplicht adres van uw de instantie die betaalt op te geven als u de opleiding niet zelf betaalt!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.werk_pcwoon.value == '') && (document.formu.zelf[1].checked == true))
	{
		alert ('Het is verplicht de postcode en woonplaats van de instantie die betaalt op te geven als u de opleiding niet zelf betaalt!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.werk_contactpers.value == '') && (document.formu.zelf[1].checked == true))
	{
		alert ('Het is verplicht de contactpersoon van de instantie die betaalt op te geven als u de opleiding niet zelf betaalt!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.bankgiro.value == '') && (document.formu.betaling[0].checked == true) && (document.formu.zelf[0].checked == true))
	{
		alert ('Het is verplicht een bankrekening op te geven indien u in termijnen betaalt!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(proef11(document.formu.bankgiro.value) == false) && (document.formu.betaling[0].checked == true) && (document.formu.zelf[0].checked == true))
	{
		alert ('Het opgegeven rekeningnummer is niet correct!');
		fouten = 1;
	}
	if ((fouten == 0) &&
		(document.formu.voor.checked == false) && (document.formu.zelf[0].checked == true))
	{
		alert ('Het is verplicht akkoord te gaan met onze algemene voorwaarden!');
		fouten = 1;
	}
	//alert (fouten);
	if (fouten == 0) 
	
	{
		//alert (0);
	//alert("fouloo");
		xmlhttpPost("ins","ajaxcap/ajaxins.php");//volgende regel commentaar gemaakt R vd TOL 6-9-11
		//document.formu.submit();
	}
}	
