function checkStep3() {

	if(document.getElementById('paymentcode_ideal').checked==true)
	{
		document.getElementById('profile_bank').value='';
		document.getElementById('profile_banknr').value='';
		document.getElementById('voorwaarden').checked=false;
		if(document.getElementById('ideal1').checked==true){
			return true;
		}
		else if(document.getElementById('ideal2').checked==true){
			return true;
		}
		else if(document.getElementById('ideal3').checked==true){
			return true;
		}
		else if(document.getElementById('ideal4').checked==true){
			return true;
		}
		else if(document.getElementById('ideal5').checked==true){
			return true;
		}
		else if(document.getElementById('ideal6').checked==true){
			return true;
		}
		else {
			alert("U moet een bank selecteren");
			return false;
		}
	}
	else if(document.getElementById('paymentcode_post').checked==true)
	{
		document.getElementById('profile_bank').value='';
		document.getElementById('profile_banknr').value='';
		document.getElementById('voorwaarden').checked=false;
		return true;
	}
	else if(document.getElementById('paymentcode_gather').checked==true){
		document.getElementById('ideal1').checked=false;
		document.getElementById('ideal2').checked=false;
		document.getElementById('ideal3').checked=false;
		document.getElementById('ideal4').checked=false;
		document.getElementById('ideal5').checked=false;
		
		if(document.getElementById('profile_bank').value==""){
			alert("Naam rekeninghouder is een verplicht veld.");
		}
		else if(document.getElementById('profile_banknr').value==""){
			alert("(postbank)rekening is een verplicht veld.");
		}
		else if(checkNr(document.getElementById('profile_banknr').value)==false){
            alert('(postbank)rekening is incorrect');
		}
		else if(document.getElementById('voorwaarden').checked==false){
			alert("U moet akkoord gaan met automatische incasso.");
		}
		else {
			return true;
		}
		return false;
	}
	alert("U moet een betaalwijze selecteren");
	return false;
}
	
function trim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function chkChr(str, chr)
{
     var IsValid=true;
     var Char;
     for (i = 0; i < str.length && IsValid == true; i++) 
	 {
		Char = str.charAt(i);
		if (chr.indexOf(Char) == -1) 
		{
              IsValid = false;
         }
     }
     return IsValid;
}

function isInt(myNum) {
	var myMod = myNum % 1;
	if (myMod == 0) 	return true;
	else 				return false;
}

  
function checkAddress( adr )
{
	var	item = trim(adr);
	var allowedChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var allowedNum = '0123456789';
	var allowedSpec = "_ '-.";
	
	var Chr = 0;
	var Num = 0;
	var Spe = 0;

	if(item.length < 4) 
	{
		return false;
	}
	else 
	{
		for( j = 0 ; j < item.length ; j++)
		{
			if (chkChr(item.charAt(j),allowedChars))
			{
				Chr = 1;
			}
			if (isInt(item.charAt(j)))
			{
				Num = 1;
			}
			 if (chkChr(item.charAt(j),allowedSpec))
			{
				Spe = 1;
			}
		}
		// alert(Chr+' - '+Num+' - '+Spe);
	}
	if(Chr == 0 )
	{
		return false;
	}
	if(Num == 0 )
	{
		return false;
	}
	if(Spe == 0 )
	{
		return false;
	}
	return true;
}

function checkStep1() {
	if(document.updateForm.profile_firstname.value=='')	
	{
		alert('Voorletter(s) is een verplicht veld.');
		return false;
	}
	else if(document.updateForm.profile_lastname.value=='')	
	{
		alert('Achternaam is een verplicht veld.');
		return false;
	}
	else if(document.updateForm.profile_address.value=='')
	{
		alert('Adres is een verplicht veld.');
		return false;
	}
	else if( checkAddress( document.updateForm.profile_address.value ) == false)
	{
		//else if( check( document.updateForm.profile_address, /^[a-z0-9]{2,}([\s]?([a-z]{1,}|[0-9]{1,}|[\s\-\/]{1})+?)$/i ) == false)
		alert('Adres is een verplicht veld.');
		return false;
	}
	else if( check( document.updateForm.profile_zip , /^[1-9][0-9]{3}\s?[A-Z]{2}$/i ) == false)
	{
		alert('Postcode is een verplicht veld.');
		return false;
	}
	else if(document.updateForm.profile_city.value=='') 
	{
		alert('Woonplaats is een verplicht veld.');
		return false;
	}
	else if(emailCheck(document.updateForm.profile_email.value)==false)
	{
		return false;
	}
	else {
		return true;
	}	
	return false;
}

			function check( element, regex )
			{
				if ( element.value.match( regex ) )
				{
					return true;
				}
				else
				{
					return false;
				}
			}


function showPayway(eID)
{
	var x = document.getElementsByTagName('table');
	for (var i=0;i<x.length;i++) {
		if(x[i].id.indexOf('payt_')!=-1){
			if(x[i].id.indexOf(eID)==-1)
					x[i].style.display = 'none';
				else
					x[i].style.display = 'block';
			}
		}
}

function show_artikel(eID){
	var x = document.getElementsByTagName('select');
	for (var i=0;i<x.length;i++) {
		if(x[i].className.indexOf('hider')!=-1){
			x[i].style.display = 'none';
		}
	}
	var x = document.getElementsByTagName('div');
	for (var i=0;i<x.length;i++) {
		if(x[i].id.indexOf('artikel_')!=-1){
			if(x[i].id.indexOf(eID)==-1)
				x[i].style.display = 'none';
			else
				x[i].style.display = 'block';
		}
	}
}

function hide_artikel(){
	var x = document.getElementsByTagName('div');
	for (var i=0;i<x.length;i++) {
		if(x[i].id.indexOf('artikel_')!=-1){	
			x[i].style.display = 'none';
		}
	}
	var x = document.getElementsByTagName('select');
	for (var i=0;i<x.length;i++) {
		if(x[i].className.indexOf('hider')!=-1){
			x[i].style.display = 'block';
		}
	}
}

function deleteItem(eID){
	document.deleteMiniCart.ID.value=eID;
	document.getElementById('deleteMiniCart').submit();
}
  function checkNr(eID) {  
      var n = eID;   
      if(n=='0000000') 	return false;
      if(n=='000000') 	return false; 
      if(n=='00000') 	return false; 
      if(n=='0000') 		return false; 
      if(n=='000') 		return false; 
      if(n=='00') 		return false; 
      if(n=='0') 			return false;
      n = n.replace(/[^\d\.]/g,'');
        var c = n.replace(/\D/g,'').split(''), a = c.length, e = 0;
        if (a == 9) for (var i = 0; i < 9; i++) e += (9 - i) * c[i];
        if(a < 6 || a == 8 || e % 11 != 0 || a > 9) {
            return false;
        };
        return true;
    }; 
function emailCheck (emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
	alert("Email is incorrect (controleer de @ en de .'s)");
	return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) {
		alert("De gebruikersnaam bevat ongeldige tekens.");
		return false;
   }
}
for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
		alert("De domeinnaam bevat ongeldige tekens.");
		return false;
   }
}
if (user.match(userPat)==null) {
	alert("De gebruikersnaam is onjuist.");
	return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
	for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
			alert("Bestemmings IP adres is incorrect!");
			return false;
	   }
	}
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
	if (domArr[i].search(atomPat)==-1) {
		alert("De domeinnaam is onjuist.");
		return false;
   }
}
if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
	alert("Het adres moet eindigen met een bekend domein of een twee letter " + "landcode.");
	return false;
}
if (len<2) {
	alert("Het adres mist een hostnaam!");
	return false;
}
return true;
}
