function isFilled(invoer) {
	if (invoer.value == "" || invoer.value == null) {
		return false;
	} else {
		return true;
	}
}
	
function isInt(invoer, min, max) {

	if (invoer.value == "" ||	invoer.value == null) {
		return false;
	}
		
	if (!isNaN(invoer.value)) {
		getal = parseInt(invoer.value);
		if (getal >= min && getal <=max) {
			return true;
		} else {
			return false;	
		}
	} else {
		return false;	
	}
}

// controle van radio button lijst
// nb, geen .focus() hierna, gaat JS stuk van
function isChecked(invoer) {
	blnChecked = false;
	for (i=0; i<invoer.length; i++) {
		if (invoer[i].checked == true) {
			blnChecked = true;
		}	
	}
	return blnChecked;
}

// controleer of invoer een datum is in dd-mm-yyyy
function isDate(invoer) {
	dateStr = invoer.value; 

	var datePat = /^(\d{1,2})-(\d{1,2})-(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null || matchArray[1]==null || matchArray[2]==null || matchArray[3]==null) {
		return false;
	} 

	day = matchArray[1];
	month = matchArray[2]; 
	year = matchArray[3];

	if (month < 1 || month > 12)  { // check month range
		 return false;
	}

	if (day < 1 || day > 31) {
 		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false;
	}

	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			return false;
		}
	}
	// All OK if we get here
	return true; 
}

// controleer of invoer een tijd is in hh:mm
function isTime(invoer) {
	timeStr = invoer.value;
	
	var timePat = /^(\d{1,2}):(\d{2})$/;

	var matchArray = timeStr.match(timePat);
	if (matchArray == null) {
		return false;
	}
	
	hour = matchArray[1];
	minute = matchArray[2];

	if (hour < 0  || hour > 23) {
		return false;
	}

	if (minute < 0 || minute > 59) {
		return false;
	}

	return true;
}

// controleer of invoer de eerste 4 cijfers van postcode is
function isPostcode(invoer) {
	postcodeStr = invoer.value;
	
	var postcodePat = /^(\d{4}).*$/;

	var matchArray = postcodeStr.match(postcodePat);
	if (matchArray == null) {
		return false;
	}
	
	return true;
}

// controleer of een datum in het verleden ligt
function isOldDate(invoer) {
	strDatum = invoer.value;
	var datePat = /^(\d{1,2})-(\d{1,2})-(\d{4})$/;
	var matchArray = strDatum.match(datePat); // is the format ok?
	if (matchArray == null) {
		return false;
	}
	
	day = matchArray[1];
	month = matchArray[2] -1;
	year = matchArray[3];
	
	datum = new Date(year, month, day);
	today = new Date();
	today.setMilliseconds(0);
	today.setSeconds(0);
	today.setMinutes(0);
	today.setHours(0);
 
	// getTime geeft datum in Unix milliSeconden
	diff = datum.getTime() - today.getTime();
	
	if (diff < 0) {
		// vandaag is recenter, dus een old date
		return true;
	} else {
		return false;	
	}
}


// controleer of een email adres is ingevoerd
function isEmail(invoer) {
	emailStr = invoer.value;
	
	var emailPat = /^.+@.+\.(nl|com|net|org|be|nu|info)$/i;

	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) {
		return false;
	}
	
	return true;
}

// controleer of telefoon nummer ingevoerd
function isPhone(invoer) {
	phoneStr = invoer.value;
	
	var phonePat = /^\d{2,4}(-|\s*|.)\d{6,8}$/i;

	var matchArray = phoneStr.match(phonePat);
	if (matchArray == null) {
		return false;
	}
	
	return true;
}

function isBankRekening(invoer) {
	if (invoer.value == "" || invoer.value == null) {
		return false;
	}
	
	cijfer = invoer.value
	cijfer = cijfer.replace(/[^0-9]/g,"");
	if (cijfer.length < 9 || cijfer.length > 10) {
		return false;
	}
	
	totaal = 0;
	len = cijfer.length;
	for (i = 0; i < len ; i++) {
		pos = len - i - 1;
     	num =  cijfer.substr(pos,1);
     	totaal += (i+1) * num;
	}
	if (totaal % 11 == 0) {
		return true;
	} else {
		return false;
	}
}