function trim(tekst)
{
	tekst = tekst.replace(/^\s+/,''); 
	tekst = tekst.replace(/\s+$/,'');
	return tekst;
}


function controleerIngevuld(veld, melding)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length < 1)
	{
		alert(melding);
		veld.focus();
		return false;
	}
	return true;
}


function controleerWachtwoord(veld)
{
	var geldig = /^([a-zA-Z0-9]{6,12})+$/;
	if(!geldig.test(veld.value))
	{
		alert("Geen geldig wachtwoord ingevoerd!");
		veld.select(); 
		veld.focus(); 
		return false;
	}

	return true;
}


function controleerAchternaam(veld)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length < 1)
	{
		alert('Er is geen achternaam ingevuld.');
		veld.focus();
		return false;
	}

	return true;
}


function controleerVoorletters(veld)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length < 1)
	{
		alert('Er is/zijn geen voorletter(s) ingevuld.');
		veld.focus();
		return false;
	}
	else
	{
		var evl = invoer.charAt(0);
		if ((evl < 'a' || evl > 'z') && (evl < 'A' || evl > 'Z'))
		{
			alert('Er is/zijn geen voorletter(s) ingevuld.');
			veld.focus();
			return false;				
		}
	}

	return true;
}
	

function controleerTelefoon(veld, tekst)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length == 0) return true;

	if (invoer.length < 10)
	{
		alert("Geen geldig " + tekst + " ingevuld!");
		veld.focus();
		return false;
	}

	for (var i=0; i<invoer.length; i++)
	{
		if ((invoer.charAt(i) < '0' || invoer.charAt(i) > '9') && invoer.charAt(i) != '-')
		{
			if (!(i == 0 && invoer.charAt(i) == '+'))
			{
				alert("Geen geldig " + tekst + " ingevuld!");
				veld.focus();
				return false;	
			}
		}
	}

	return true;
}


function controleerEmail(veld)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length == 0) return true;

	var goed = true;
	var geldig = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+([\.a-zA-Z0-9-])+(\.[a-zA-Z]{2,4})+$/;
	if(!geldig.test(invoer)) goed = false;

	if (goed)
	{
		var aba = invoer.indexOf('@');
		var abb = invoer.indexOf('.', aba+2);
		var abc = invoer.indexOf('..');
		var abd = invoer.indexOf('--');
		var abe = invoer.indexOf('.-');
		var abf = invoer.indexOf('-.');
		var abg = invoer.indexOf('._');
		var abh = invoer.indexOf('_.');
		var abi = invoer.indexOf('.@');
		var abj = invoer.indexOf('-@');
		var abk = invoer.indexOf('_@');
		if (invoer.length < 7 || aba < 1 || abb == -1 || abc > -1 || abd > -1 || abe > -1 || abf > -1 || abg > -1 || abh > -1 || abi > -1 || abj > -1 || abk > -1) goed = false;
	}

	if (!goed)
	{
		alert("Geen geldig e-mail adres ingevuld!");
		veld.focus();
		return false;
	}

	return true;
}


function controleerWebsite(veld, aantalSubmappenToestaan)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	lengte = invoer.length;
	if (lengte == 0) return true;

	var goed = true;


	// Voegt http:// indien niet ingevuld aan www.veldmaat-ict.nl
	if (invoer.substr(0, 7) != 'http://')
	{
		invoer = 'http://' + invoer;
		veld.value = invoer;
	}


	// Verwijderd laatst slash:  http://www.veldmaat-ict.nl/
	if (invoer.substr(lengte-1, 1) == '/')
	{
		invoer = invoer.substr(0, lengte-1);
		veld.value = invoer;
	}


	// Kijkt of er ook meer is dan alleen http://www.veldmaat-ict.nl
	// Dus bv. http://www.veldmaat-ict.nl/webdesign/portfolio.html
	var aantalSplit = 0;
	var split = new Array()
	split[aantalSplit] = 0;
	for (var x=0; x<invoer.length; x++)
	{
		if (invoer.substr(x, 1) == '/') split[aantalSplit++] = x;
	}

	if (aantalSplit >= 3)
	{
		restant = invoer.substr(split[aantalSplit-1] +1);
		//alert('restant: ' + restant);
		
		if (restant.indexOf('~')>=0 || restant.indexOf('.') == -1)
		{
			split[aantalSplit++] = invoer.length-1;
		}

	}
	else if (aantalSplit == 2)
	{
		split[2] = invoer.length;
	}

	// Controle domeinnaam:  http://www.veldmaat-ict.nl
	var domeinnaam = invoer.substr(0, split[2]);
 	var geldig = /^(http:\/\/)?(?:[\w-]{2,}\.)+[a-zA-Z]{2,4}$/;
	if(!geldig.test(domeinnaam)) goed = false;
	//alert('domeinnaam: ' + domeinnaam);


	// Controle aantal submappen
	if (aantalSplit-3 > aantalSubmappenToestaan)
	{
		goed = false;
	}

	
	// Controle eventuele submappen
	if (goed && aantalSubmappenToestaan>0 && aantalSplit>3)
	{
		for (var x=2; x<aantalSplit-1; x++)
		{
			start = split[x]+1;
			stop = split[x+1] - split[x] - 1;
			submap = invoer.substr(start, stop);

			if (submap.length > 0)
			{
				var geldig = /^([\w-]{0,})$/;
				if (x==2) geldig = /^([\w-~]{0,})$/;
				if(!geldig.test(submap)) goed = false;
				//alert('submap: ' + submap + '  =' + goed);
			}
		}
	}

	// Controle rest achter domeinnaam indien aanwezig:  webdesign/portfolio.html
	if (goed && aantalSplit > 2)
	{
		bestand = invoer.substr(split[aantalSplit-1] +1);
		//alert('bestand: ' + bestand);
		
		if (bestand.length > 0)
		{
			var geldig = geldig = /^([\w-.]{0,})$/;
			if (restant.indexOf('?')>=0) geldig = /^([\w-?&=.]{0,})$/;
			if(!geldig.test(bestand)) goed = false;
		}
	}

	if (!goed)
	{
		alert("Geen geldige url ingevuld!");
		veld.focus();
		return false;
	}

	return true;
}



function controleerPostcode(veld)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length == 0) return true;

	var geldig = /^([0-9]{4}[a-z,A-Z]{2})+$/;
	if(!geldig.test(invoer))
	{
    	alert("Geen geldige postcode ingevuld!"); 
        veld.focus(); 
        return false;
	}

	return true;
}


function controleerNummer(veld, melding)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length == 0) return true;

	var geldig = /^([0-9])+$/;
	if(!geldig.test(invoer))
	{
    	alert(melding); 
        veld.focus(); 
        return false;
	}

	return true;
}


function controleerBedrag(veld, melding)
{
	invoer = trim(veld.value);
	veld.value = invoer;

	if (invoer.length == 0) return true;

	var geldig = /^([0-9]{1,}[.,]{0,1}[0-9]{0,2})$/;
	if(!geldig.test(invoer))
	{
    	alert(melding); 
        veld.focus(); 
        return false;
	}

	return true;
}


