bName = navigator.appName;
bVer = parseInt(navigator.appVersion);
browser = "";
version = "";

//controleer merk en versienummer van de browser
function check_browser() {
	if (navigator.userAgent.indexOf("Opera")!=-1) { //Opera
		browser = "OP";
		temp=navigator.userAgent.split("Opera");
		version = parseFloat(temp[1]);
	}
	else {
		if (bName == "Netscape") {//netscape
			browser = "NS";
			version = parseFloat(navigator.appVersion);
		}
		else {
			if (navigator.appVersion.indexOf("MSIE")!=-1){
				browser = "IE";
				temp=navigator.appVersion.split("MSIE");
				version=parseFloat(temp[1]);
			}
			else { // unknown browser
			browser = "??";
			version = " ";
			}
		} 
	}
}

function CheckLengte(veld, boodschap)
// Deze functie controleert de woordlengte van een tekst.
// Woorden mogen maximaal 50 karakters lang zijn, dit om vervorming van de layout te voorkomen. 
{
	var wordsArray = veld.split(" ");
	if (boodschap == "") boodschap = "Uw tekst bevat zulke lange woorden dat deze niet meer op de pagina kunnen worden weergegeven. Probeer uw tekst aan te passen door woorden korter te maken of af te breken.";
	for (var k = 0; k < wordsArray.length; k += 1)
	{
		if (wordsArray[k].length > 50)
		{
		if (wordsArray[k].substring(0,5).toLowerCase() != "href=" && wordsArray[k].substring(0,4).toLowerCase() != "src=") {
			alert(boodschap)
			return false;
			}
		}
	}
	return true;
}

function CheckScript(waarde)
// Deze functie controleert of de tekst javascript bevat
{	
	waarde = waarde.toLowerCase();
	if (waarde.indexOf("<scrip") > -1){
		alert("Uw tekst mag geen javascript bevatten.");
		return false;
	}
	return true;
}

function isGevuld()
//Deze functie controleert of de tekst wel ingevuld is. Zo nee wordt een boodschap getoond.
//Geef per veld 2 variabelen mee: het veld zelf en de te tonen tekst
{
	for (var i = 0; i < arguments.length; i += 2)
	{
		if (!trim(arguments[i]))
		{
			alert(arguments[i+1]);
			return false;
		}
	}
	return true;
}

function isMail(email,boodschap)
// Deze functie toont een boodschap als het geen geldig email adres is
{
	if(!checkMail(email)){
		alert(boodschap);
		return(false);
	}
	return true;
}
function checkMail(str) {
  // Deze functie controleert of een invoerveld een geldig email adres bevat
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function trim(value) {
/* Functie om spaties te verwijderen */
	/* Eerst voorloop spaties verwijderen */
	startposn=0;
	while((value.charAt(startposn)==" ")&&(startposn<value.length)) {
		startposn++;
	}
	if(startposn==value.length) {
		value="";
	} else {
		/* Als er nog iets over is ook de achterliggende spaties */
		value=value.substring(startposn,value.length);
		endposn=(value.length)-1;
		while(value.charAt(endposn)==" ") {
			endposn--;
		}
		value=value.substring(0,endposn+1);
	}
	return(value);
}
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function isDate (day,month,year) {
// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

function Warning(text){
// toon standaard  alert box
	window.alert(text);
}

function Message(text){
// toon standaard message box
	temp = window.confirm(text);
	return temp;
}
// onderstaande functies worden gebruikt om het intikken van niet-toegestane tekens te voorkomen.
// aanroepen vanaf het betreffende formfield met onkeypress="return key...()"
// keycodes:
// backspace 8
// spatie 32
// !	33 
// #	35
// $	36 
// %	37 
// &	38
// (	40
// )	41
// *	42
// +	43
// ,	44
// -	45
// .	46
// \	47
// 0-9	48-57
// = 	61
// ? 	63
// @	64
// a-z 97-122 A-Z 65-90 
// \	92
// _	95
function keyNumber()
{
// voorkomt het invullen van letters in numerieke velden (alleen cijfers zijn toegestaan
	bName = navigator.appName;
	if (bName != "Netscape"){
		if (event.keyCode==8||event.keyCode==44||event.keyCode==45||event.keyCode==46)
			return true;
		if (event.keyCode<48||event.keyCode>57)
			return false;
	}
}   
function keyPassword()
{
// voorkomt het invullen van ongeldige tekens in een passwordveld.
	bName = navigator.appName;
	if (bName != "Netscape"){
		if (event.keyCode==8||event.keyCode==42||event.keyCode==45||event.keyCode==95||event.keyCode==43)
			return true;
		if (event.keyCode>32&&event.keyCode<39)
			return true;
		if (event.keyCode>96&&event.keyCode<123)
			return true;	
		if (event.keyCode>62&&event.keyCode<91)
			return true;
		if (event.keyCode<48||event.keyCode>57){
			window.alert("u heeft een ongeldig teken ingetypt");
			return false;
		}
	}
} 
function keyTelephone()
{
// voorkomt het invullen van letters en niet-toegestane tekens bij telefoonnummers 
// (alleen cijfers, +, -, spatie en () zijn toegestaan
	bName = navigator.appName;
	if (bName != "Netscape"){
		if (event.keyCode==8||event.keyCode==43||event.keyCode==45||event.keyCode==40||event.keyCode==41)
			return true;
		if (event.keyCode<48||event.keyCode>57)
			return false;
	}
} 

// forceer een form submit wanneer de bezoeker op enter drukt in een formulierveld
// let op, als er eerst nog controles uitgevoerd moeten worden, roep die functies dan eerst aan of maak een locale variant
// aanroepen met onKeyPress="return keyEnter(this,event)"
function keyEnter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.submit();
   return false;
   }
else
   return true;
}


