/***********************************************************************************************************
* AJAX http request
************************************************************************************************************/

/*function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();*/

function maakAjaxObjectAan() {
    if(window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    if (window.ActiveXObject) {
        // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
return null;
}

http = maakAjaxObjectAan()
if( http==null ) {
  alert ("Your browser does not support XMLHTTP!");
}

/***********************************************************************************************************
* checkForm
************************************************************************************************************/
function checkForm() {    
    var approved=true;

    // fill array for checked form fields
    var fld = new Array("bron","ingangsdatum_maand","betaalper","bankrek","achternaam","voorletters","adres","huisnummer","postcode","woonplaats","email");                
    
    for (i=0;i<fld.length;i++){
       if(document.forms['contactform'].elements[fld[i]].value == '' || document.forms['contactform'].elements[fld[i]].value == null) {
           //document.forms['contactform'].elements[fld[i]].style.border="1px solid red";
           elm = fld[i];
           document.getElementById("contactform_"+elm).innerHTML = "<img src='/_img/exclamation.png'>";
           approved = false;
       }
       else {
           //document.forms['contactform'].elements[fld[i]].style.border="0px;";
           elm = fld[i];
           document.getElementById("contactform_"+elm).innerHTML = "";
       }
    }
    
    // Huisnummer check (mag alleen cijfers wezen, 1 of meer) rest moet ik toevoegsel
     rExpHuisNr = /^[0-9]{1,}$/;
     if (!rExpHuisNr.exec(document.forms['contactform'].elements['huisnummer'].value)) {
        document.getElementById("contactform_huisnummer").innerHTML = "<img src='/_img/exclamation.png'>";
        approved = false;
      }
    else {
        document.getElementById("contactform_postcode").innerHTML = "";
    }
    
    // Postcode check
    //country = nl = 161"
    if(document.forms['contactform'].elements['land'].value==161)
    {
         rExp = /[0-9]{4}[a-z|A-Z]{2}/;
         if (!rExp.exec(document.forms['contactform'].elements['postcode'].value)) {
            document.getElementById("contactform_postcode").innerHTML = "<img src='/_img/exclamation.png'>";
            approved = false;
          }
          else {
            document.getElementById("contactform_postcode").innerHTML = "";
          }
    }
    else
    {
        if(document.forms['contactform'].elements['postcode'].value == "")
        {
            document.getElementById("contactform_postcode").innerHTML = "<img src='/_img/exclamation.png'>";
            approved = false;
        }
        else
        {
            document.getElementById("contactform_postcode").innerHTML = "";
        }
            
    }
   
    
    // check email
    if( checkEmail() == false ) {
        approved = false;
    }
    
    // 11 proef op bankrekening als het nederlandse inschrijving is
    if(document.forms['contactform'].elements["land"].value==161){
        var bnk = document.forms['contactform'].elements["bankrek"].value;        
        // verwijder alle tekens die geen cijfers zijn
        bnk=bnk.replace(/\D/, "");
        if( bnk.length >= 10 ) {
            document.getElementById("contactform_bankrek").innerHTML = "<img src='/_img/exclamation.png'>";
            approved = false;
        }
        else{
            if(bnk.length>=8){
                var som=0;
                // loop door de 9 cijfers met de 11 proef formule
                for (i=1; i<10; i++) {
                    getal=bnk.charAt(i-1);
                    som+=getal*(10-i);
                } 
                // geef resultaat van check terug
                if (som % 11!=0){
                    document.getElementById("contactform_bankrek").innerHTML = "<img src='/_img/exclamation.png'>";
                    approved = false;
                } // end if
            } // end if
        } // end else
    } // end if
    if ( approved == false ) {
        alert("U heeft een aantal velden niet ingevuld, controleer a.u.b. de velden met een uitroepteken ervoor.");
        return false;
    }
    else {
        document.getElementById("submitbutton").disabled = true;
        return true;
    }
}


/***********************************************************************************************************
* send email
************************************************************************************************************/
function sendemail() {
	var approved=true;
	
	// radiobutton
	/*
	if(document.forms['contactform'].elements['betreft']['0'].checked==false && document.forms['contactform'].elements['betreft']['1'].checked==false){
		document.getElementById("contactform_betreft").innerHTML = "<img src='/_img/exclamation.png'>";
	    approved = false;
	}
	else {
		document.getElementById("contactform_betreft").innerHTML = "";
	}
	
	// fill array for checked form fields
	if (document.forms['contactform'].elements['betreft']['1'].checked==true){
		var fld = new Array("bron","achternaam","voorletters","adres","huisnummer","postcode","woonplaats","email");		
	}
	else {
		var fld = new Array("bron","ingangsdatum_maand","betaalper","bankrek","achternaam","voorletters","adres","huisnummer","postcode","woonplaats","email");				
	}
	*/
	// fill array for checked form fields
	var fld = new Array("bron","ingangsdatum_maand","betaalper","bankrek","achternaam","voorletters","adres","huisnummer","postcode","woonplaats","email");				
	
	for (i=0;i<fld.length;i++){
       if(document.forms['contactform'].elements[fld[i]].value == '' || document.forms['contactform'].elements[fld[i]].value == null) {
	       //document.forms['contactform'].elements[fld[i]].style.border="1px solid red";
	       elm = fld[i];
	       document.getElementById("contactform_"+elm).innerHTML = "<img src='/_img/exclamation.png'>";
	       approved = false;
       }
       else {
	       //document.forms['contactform'].elements[fld[i]].style.border="0px;";
	       elm = fld[i];
	       document.getElementById("contactform_"+elm).innerHTML = "";
       }
	}
	
	//Postcode check
	 rExp = /^[1-9]{1}[0-9]{3}[A-Za-z]{2}$/;
	 if (!rExp.exec(document.forms['contactform'].elements['postcode'].value)) {
		document.getElementById("contactform_postcode").innerHTML = "<img src='/_img/exclamation.png'>";
		approved = false;
	  }
	else {
		document.getElementById("contactform_postcode").innerHTML = "";
	}
	
	// check email
	if (checkEmail()==false) {
		approved = false;
	}
	
	// 11 proef op bankrekening als het nederlandse inschrijving is
	if(document.forms['contactform'].elements["land"].value==161){
		var bnk = document.forms['contactform'].elements["bankrek"].value;		
		// verwijder alle tekens die geen cijfers zijn
		bnk=bnk.replace(/\D/, "");
		if(bnk.length>=10){
			document.getElementById("contactform_bankrek").innerHTML = "<img src='/_img/exclamation.png'>";
			approved = false;
		}
		else{
			if(bnk.length>=8){
				var som=0;
				// loop door de 9 cijfers met de 11 proef formule
				for (i=1; i<10; i++) {
					getal=bnk.charAt(i-1);
					som+=getal*(10-i);
				} 
				// geef resultaat van check terug
				if (som % 11!=0){
					document.getElementById("contactform_bankrek").innerHTML = "<img src='/_img/exclamation.png'>";
					approved = false;
				} // end if
			} // end if
		} // end else
	} // end if
	if (approved==false){
		alert("U heeft een aantal velden niet ingevuld, controleer a.u.b. de velden met een uitroepteken ervoor.");
		
	}
	
	// if all okay, send email
	if (approved==true){
	
	//var betreft = SendValue("betreft");
	var geslacht = SendValue("geslacht");
		
	adopt_file = document.forms['contactform'].elements["adopt_file"].value;
	bron = document.forms['contactform'].elements["bron"].value;
	bron2 = document.forms['contactform'].elements["bron2"].value;
	ingangsdatum_maand = document.forms['contactform'].elements["ingangsdatum_maand"].value;
	ingangsdatum_jaar = document.forms['contactform'].elements["ingangsdatum_jaar"].value;
	betaalper = document.forms['contactform'].elements["betaalper"].value;
	bankrek = document.forms['contactform'].elements["bankrek"].value;
	achternaam = document.forms['contactform'].elements["achternaam"].value;
	voorletters = document.forms['contactform'].elements["voorletters"].value;
	tussenvoegsels = document.forms['contactform'].elements["tussenvoegsels"].value;
	geboortedatum_dag = document.forms['contactform'].elements["geboortedatum_dag"].value;
	geboortedatum_maand = document.forms['contactform'].elements["geboortedatum_maand"].value;
	geboortedatum_jaar = document.forms['contactform'].elements["geboortedatum_jaar"].value;
	adres = document.forms['contactform'].elements["adres"].value;
	huisnummer = document.forms['contactform'].elements["huisnummer"].value;
	postcode = document.forms['contactform'].elements["postcode"].value;
	woonplaats = document.forms['contactform'].elements["woonplaats"].value;
	land = document.forms['contactform'].elements["land"].value;
	telefoon = document.forms['contactform'].elements["telefoon"].value;
	email = document.forms['contactform'].elements["email"].value;
	opmerkingen = document.forms['contactform'].elements["opmerkingen"].value;
	
	var geboortedatum;
	if (geboortedatum_jaar==""){
		geboortedatum="";
	}
	else {
		geboortedatum = geboortedatum_jaar+"-";
		geboortedatum += geboortedatum_maand+"-";
		geboortedatum += geboortedatum_dag;
	}
	
	var ingangsdatum;
	if (ingangsdatum_jaar==""){
		ingangsdatum="";
	}
	else {
		ingangsdatum = ingangsdatum_jaar+"-";
		ingangsdatum += ingangsdatum_maand+"-";
		ingangsdatum += "01";
	}
	
    http.open('get', '_inc/process_form.php?adopt_file='+adopt_file+'&bron='+bron+'&bron2='+bron2+'&ingangsdatum='+ingangsdatum+'&betaalper='+betaalper+'&bankrek='+bankrek+'&achternaam='+achternaam+'&voorletters='+voorletters+'&tussenvoegsels='+tussenvoegsels+'&geslacht='+geslacht+'&geboortedatum='+geboortedatum+'&adres='+adres+'&huisnummer='+huisnummer+'&postcode='+postcode+'&woonplaats='+woonplaats+'&land='+land+'&telefoon='+telefoon+'&email='+email+'&opmerkingen='+opmerkingen+'&action=send');
    //http.open('get', '_inc/test.php');
    http.onreadystatechange = stateChanged;
    http.send(null);
	}
}

/***********************************************************************************************************
* submit form
************************************************************************************************************/
function stateChanged() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];
        }
    }
}


/***********************************************************************************************************
* check valid email address
************************************************************************************************************/
function checkEmail() {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(document.contactform.email.value)){
	return true;
}
	document.getElementById("contactform_email").innerHTML = "<img src='/_img/exclamation.png'>";
	return false;
}

/***********************************************************************************************************
* function to check choices and visible
************************************************************************************************************/
function checkVisibleSource() {
	
	if(document.forms['contactform'].elements["bron"].options.selectedIndex==8 || document.forms['contactform'].elements["bron"].options.selectedIndex==5){
		document.getElementById("visible_bron2").style.display = "block";
	}
	else {
		document.getElementById("visible_bron2").style.display = "none";
	}
}

/***********************************************************************************************************
* function to check choices and visible
************************************************************************************************************/
function checkVisibleInformation() {
	
	if(document.forms['contactform'].elements['betreft']['0'].checked==true){
		document.getElementById("visible_row1").style.display = "";
		document.getElementById("visible_row2").style.display = "";
		document.getElementById("visible_row3").style.display = "";
		document.getElementById("visible_row4").style.display = "";
	}
	else if(document.forms['contactform'].elements['betreft']['1'].checked==true) {
		document.getElementById("visible_row1").style.display = "none";
		document.getElementById("visible_row2").style.display = "none";
		document.getElementById("visible_row3").style.display = "none";
		document.getElementById("visible_row4").style.display = "none";
	}
}

/***********************************************************************************************************
* Send value from radio button
************************************************************************************************************/
function SendValue(elm) {
	var value;	
	for (var i=0; i < document.forms['contactform'].elements[elm].length; i++) {
		if (document.forms['contactform'].elements[elm][i].checked==true) {
			var value = document.forms['contactform'].elements[elm][i].value;
		}
	}
	if (value==undefined) {
		value=0;
	}
	return value;
}


