var defaultEmptyOK = false;
var whitespace = " \t\n\r";
var mPrefix = "Het veld "
var mSuffix = " is leeg.\nDit is een verplicht veld. Vul dit veld alsnog in."
var decimalPointDelimiter = ","

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}


function IsEmail(oField, layoutName)
{
	var sErrorMessage = 'Het veld \'' + layoutName + '\' is geen geldig e-mailadres.\nDit is een verplicht veld. Vul dit veld alsnog in.';
	
	if(oField.value == "")
		return true;
		
	var x = oField.value
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	if (filter.test(x))
	{
		return true;
	}
	else
	{
		
		alert(sErrorMessage);
		oField.focus();
		return false;
	}
}
function checkString(theField, s, emptyOK)
{   
    if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value)) 
       return warnEmpty (theField, s);
    else return true;
}

function checkRadioButton(oField, layoutName)
{
	for(i=0;i<oField.length;i++)
	{
		if(oField[i].checked == true)
			return true;
	}
	alert(mPrefix + layoutName + mSuffix);

	return false;
}


function checkCheckBox(oField, layoutName)
{
	var iLength;
	iLength = oField.length;
	
	if(!oField.length)
	{
		if(oField.checked == false)
		{
			alert(layoutName + " moet aangevinkt zijn.");
			return false;
		}
	}
	else
	{
		for(i=0;i<oField.length;i++)
		{
			if(oField[i].checked == true)
				return true;
		}
		alert("Er moet minimaal een " + layoutName + " aangevinkt zijn.");
		return false;
	}
	
	return true;

}

function warnEmpty (theField, s)
{  
	theField.focus()
    alert(mPrefix + s + mSuffix)
    return false
}

function isWhitespace (s)
{   
	var i;

    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}


function isPhone(oField,layoutName,type){
	var v		= oField.value
	var v		= v.replace(/ /g,'')
	var l 		= v.length
	var allowed = '1234567890-'
	var bPhone	= true
	
	var nS		= 0
	for (var i=0;i<l;i++){
		var char = v.charAt(i)
		if (allowed.match(char)==null){
			bPhone = false
		}
		if (char=='-'){
			nS += 1
		}
		if (i==0 && char!=0){
			bPhone = false
		}
	}
	
	if (bPhone==true){
		if (nS==0){
			if (type==1 && l!=10){
				bPhone = false
			}
		}
		else if(nS==1){
			if (type==1 && l!=11){
				bPhone = false
			}
		}
		else{
			bPhone = false
		}
	}
	
	if (bPhone==false){
		var sError = 'Het veld ' +layoutName+ ' mag alleen cijfers & "-" bevatten.\nBovendien moet het beginnen met een "0"'
		if (type==1){
			sError += ' en moeten er 10 cijfers gebruikt worden.'
		}
		alert(sError);
	}
	return bPhone;
}


function CheckDate(oDate, oLayout)
{
	var dDate;
		
	//dDate = makeDate2(document.frm[oDate][0],document.frm[oDate][1],document.frm[oDate][2]);
	dDate = makeDate2(document.frm.birthday.value,document.frm.birthmonth.value,document.frm.birthyear.value,oLayout);
		
	if(dDate == "")
	{
		return false;
	}
		
	if(dDate != "false")
	{
		document.frm["_" + oDate].value = dDate;
		return true;
	}
		
	return false;
		
}
function makeDate2(Day, Month, Year, oLayout)
{	

	if(Day == "" && Month == "" && Year == "")
	{
		alert(oLayout + isRequiredField);
		return false;
	}
	
	if(Day == "")
	{
		alert(oLayout + ' - ' + dayNotCorrect);
		return false;
	}
	if(Month == "")
	{
		alert(oLayout + ' - ' + monthNotCorrect);
		return false;
	}
	if(Year == "")
	{
		alert(oLayout + ' - ' + yearNotCorrect);
		return false;
	}
	if(Year < 1900)
	{
		alert(oLayout + ' - ' + yearToSmall);
		return false;
	}
	if(isNaN(Year))
	{
		alert(oLayout + ' - ' + yearNumeric);
		return false;
	}
	if(Year.length != 4)
	{
		alert(oLayout + ' - ' + yearFormat);
		return false;
	}
	
	return Day + '-' + Month + '-' + Year;
}





function CheckDateNew(oDate,oLayout,isReq){
	//isReq = 1 --> verplicht
	
	var vDay 	= document.getElementById("birthday"+oDate).value
	var vMonth 	= document.getElementById("birthmonth"+oDate).value
	var vYear 	= document.getElementById("birthyear"+oDate).value
	
	if ((isReq==0)&&(vDay=="")&&(vMonth=="")&&(vYear=="")){
		return true
	}
	else{
		if ((vDay=="")&&(vMonth=="")&&(vYear=="")){
			alert(mPrefix +oLayout+ mSuffix)
			return false
		}
		if (vDay==""){
			alert(mPrefix +oLayout+ " - " + uDay + mSuffix)
			return false
		}
		if (vMonth==""){
			alert(mPrefix +oLayout+ " - " + uMonth + mSuffix)
			return false
		}
		if (vYear==""){
			alert(mPrefix +oLayout+ " - " + uYear + mSuffix)
			return false
		}
		
		
		if (((vMonth==2)||(vMonth==4)||(vMonth==6)||(vMonth==9)||(vMonth==11))&&(vDay==31)){
			alert(monthOf +oLayout+ no31days + "\n" + adjustThis)
			return false
		}
		if ((vMonth==2)&&(vDay==30)){
			alert(monthOf +oLayout+ no30days + "\n" + adjustThis)
			return false
		}
		
		var schrikkelYear	= String(vYear/4)
		var matchyear		= schrikkelYear.indexOf(".")
		
		if (matchyear>0){
			if ((vMonth==2)&&(vDay==29)){
				alert(februariOf +oLayout+ no29days + "\n" + adjustThis)
				return false
			}
		}
		
		
		document.getElementById("Geboortedatum"+oDate).value = (vMonth + "/" + vDay + "/" + vYear)
		//document.getElementById("Geboortedatum"+oDate).value = "aaaaa"
		return true
		
	}

}

function checkPhone(oField, sName) {

	var sOldValue = oField.value.replace("+31", "0");
	var sNewValue = sOldValue.replace(/[^0-9]+/g, "");
	
	oField.value = sOldValue;
	
	if(sNewValue.length != 10) {
		alert("Het veld " + sName + " moet uit 10 cijfers bestaan.");
		return false;
	}
	
	if(sNewValue.substring(0,1) != "0") {
		alert("Het veld " + sName + " moet beginnen met een '0'.");
		return false;
	}
	
	if(sNewValue.substring(0,2) == "06") {
		// mobiel
		
		sFormat = "## ## ## ## ##";
	} else {
		// vast
		// omdat ze alleen aanmeldingen uit de regio Den Haag krijgen mag het format altijd op de ### (bv. 070) manier gedaan worden.
		
		sFormat = "### ### ## ##";
	}
	
	var sSetValue = "";
	var z = 0;
	
	for(var i=0; i<sFormat.length; i++) {
		if(sFormat.substr(i,1) == "#") {
			sSetValue += sNewValue.substr(z,1);
			z++;
		} else {
			sSetValue += " ";
		}
	}
	
	oField.value = sSetValue;
	
	return true;

}
