/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

function checkNaam(naam) {
	var nFout, n, ch ;
	var sLegal = " 'àáâãäåèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝŸ,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.@";

	if (Trim(naam)!='') {
		nFout = 0;
		for (n=0;n<naam.length;n++) {
			ch = naam.charAt(n)
			if (sLegal.indexOf(ch) == -1)
				nFout++
		}
		if (nFout==0)
			return true
		else
			return false
	} else {
		return true
	}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

function checkPassword(sPassword) {
	var nFout, n, ch ;
	var sLegal = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

	if (Trim(sPassword)!='') {
		nFout = 0;
		if (sPassword.length >= 6 && sPassword.length <=10) {
			for (n=0;n<sPassword.length;n++) {
				ch = sPassword.charAt(n)
				if (sLegal.indexOf(ch) == -1)
					nFout++
			}
		} else
			nFout++
		if (nFout==0)
			return true
		else
			return false
	} else {
		return false
	}
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

function checkEmail(email) {
	var sDomain
	
	r = false

	illegal = " `~!#$%^&*()+=|\][}{:;/>,<\"'"
	
	sLegal = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.@";
	sLegalDomain = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

    if (email != null && email != "") {
        a = email.lastIndexOf("@");		
        b = email.lastIndexOf(".");

        cc = email.indexOf("..");
		dd = email.indexOf(".@");
		ee = email.indexOf("@.");
		ff = email.indexOf(".");

        e = email.substring(0,a);

        f = e.indexOf("@");

        g = email.substring(a+1,email.length);

        l = email.substring(a+1,b);
        m = email.substring(b+1,email.length);
        n = email.substring(0,a);

        zz = 0;
        if (a > b) {zz++};

        for (x=0;x<email.length;x++) {
        	ch = email.charAt(x)
        	if (sLegal.indexOf(ch) == -1)
        		zz++
        }

        if (f != -1) {zz++};

		/* ::::::::::::::: Domein check ::::::::::::::: */
		if ( (email.length-1-b) > 4 || (email.length-b) < 2) {zz++};
		for (x=0;x<m.length;x++) {
        	ch = m.charAt(x)
        	if (sLegalDomain.indexOf(ch) == -1)
        		zz++
		}
		

        if (cc > -1) zz++;
        if (dd > -1) zz++;
        if (ee > -1) zz++;

        if (ff == 0) zz++;

        if (l.length < 2) {zz++};
        if (m.length < 2) {zz++};
        if (n.length < 1) {zz++};
        if (zz == 0) {
            r = true
        }
        else {
           r = false
        }
    }
    else {
		r = false
    }
  	return r;
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

function Trim(s) 
{
  // Remove leading spaces and carriage returns
  
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }

  // Remove trailing spaces and carriage returns

  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

function IsSchrikkeljaar(jaar) {
	with (new Date(jaar, 2, 1)) { 
			setDate(0) ; 
			return getDate()==29 
	}
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
function IsGeldigeDatum(dag,maand,jaar,inVerleden, inToekomst) {

	var lOk, dDatum, dVandaag
	
	lOk = false

	if (isInt(jaar,1870,9999) && isInt(maand,1,12) && isInt(dag,1,31)) {
		if (maand == 1 || maand == 3 || maand == 5 || maand == 7 || maand == 8 || maand == 10 || maand == 12) {
			if (dag <= 31)
				lOk = true;
		}
		else {
			if (maand == 2) {
				if (dag<=28 || (IsSchrikkeljaar(jaar) && dag<=29) )  
					lOk = true;
			}
			else {
				if (dag <= 30)
					lOk = true;
			}
		}
	}
	
	if (lOk) {
		dDatum = new Date(jaar, maand-1,dag)
		dVandaag = new Date()
		if (inVerleden) {
			if (dVandaag>dDatum)
				lOk = true
			else
				lOk = false
		}
		if (lOk && inToekomst) {
			if (dVandaag<dDatum)
				lOk = true
			else
				lOk = false
		}
	}
	return lOk;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
function IsGeldigeDagMaand(dag,maand) {

	var lOk, dDatum, dVandaag
	
	lOk = false

	if (isInt(maand,1,12) && isInt(dag,1,31)) {
		if (maand == 1 || maand == 3 || maand == 5 || maand == 7 || maand == 8 || maand == 10 || maand == 12) {
			if (dag <= 31)
				lOk = true;
		}
		else {
			if (maand == 2) {
				if (dag<=29) 
					lOk = true;
			}
			else {
				if (dag <= 30)
					lOk = true;
			}
		}
	}
	
	return lOk;
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
function isInt(waarde,minWaarde,maxWaarde) {
	var sTemp
	
	sTemp = waarde;
	if (waarde != '') {
		sTemp = parseFloat(waarde)
		if (!isNaN(sTemp)) {
			if (sTemp == parseInt(waarde,'10')) {
				sTemp = parseInt(waarde,'10')
				if (sTemp >= minWaarde && sTemp <= maxWaarde) {
					return true
				} else {
					return false
				}
			}
			else
				return false
		}
		else
			return false
	}
	else
		return false
}

