// check browsertype
var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 &&
                parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.") >= 0) ? 1 : 0;
var isNS6 = (navigator.userAgent.indexOf("Gecko")    > 0) ? 1 : 0;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1);

//if (isMinNS4) {alert ('isMinNS4');};
//if (isMinIE4) {alert ('isMinIE4');};
//if (isMinIE5) {alert ('isMinIE5');};
//if (isNS6) {alert ('isNS6');};
//if (this.opera) {alert ('isOpera');}; 

// bepaald variabelen voor later gebruik
if (isMinNS4 || isNS6) {
	doc="document.";				// document
	val = ".value";					// waarde
	stijl="";						// stijl
	horz=".left";					// horizontale afstand
	vert=".top";					// vertikale afstand
	innerW="window.innerWidth";		// breedte scherm
	innerH="window.innerHeight";	// hoogte scherm
	offsetX="window.pageXOffset";	// offset breedte
	offsetY="window.pageYOffset";	// offset hoogte
};
if (isMinIE4){
	doc="";
	val = ".value";
	stijl=".style";
	horz=".pixelLeft";
	vert=".pixelTop";
	innerW="document.body.clientWidth";
	innerH="document.body.clientHeight";
	offsetX="document.body.scrollLeft";
	offsetY="document.body.scrollTop";
};

// functie om form te submitten + verplichte velden controle + zonder disable submitknop
// getriigerd door een externe button
// getest: ie5.5 ok, ie6.0 ok, ns4.7 ok, ns6.2 ok, opera5.12 ok,
// gebruik: in form tag: onclick="checkverplicht2('formuliernaam','naam van 
// velden','titel van velden');" 
function checkverplicht(formulier,reqlijstveld,reqlijstnaam) {
var Checkveld = reqlijstveld;
var Checknaam = reqlijstnaam;
var isok ='ja';
form = formulier;
if (Checkveld != '') {
var CheckveldArray = Checkveld.split(",");
var ChecknaamArray = Checknaam.split(","); 
for (var i=0; i<CheckveldArray.length; i++)
	{
	var naam = ChecknaamArray[i];
	veld = "."+CheckveldArray[i]+"";
	waarde = eval(doc+form+veld+val);
		if (waarde == ''|| waarde == null) {
		alert(''+naam+' is een verplicht veld!');
		var isok = 'nee';
		};
	};
};
if (isok == 'nee') {
}else
{
eval(doc+form+".submit()");
};
};

// functie om form te submitten + verplichte velden controle +verander submit-image
// getest: ie5.5 ok, ie6.0 ok, ns4.7 ok, ns6.2 ok, opera5.12 ok,
// gebruik: in form tag: onSubmit="return checkverplicht('formuliernaam','naam van 
// velden','titel van velden','image src van verstuur','image src van geduld');" 

function checkmetimage(formulier,reqlijstveld,reqlijstnaam,imageverstuur,imagegeduld) {
var Checkveld = reqlijstveld;
var Checknaam = reqlijstnaam;
var Checkimageverstuur = imageverstuur;
var Checkimagegeduld = imagegeduld;
var isok ='ja';
form = formulier;
eval("document.images.opslaan.src='"+Checkimagegeduld+"'");
eval("document.images.opslaan.disabled=true");
if (Checkveld != '') {
var CheckveldArray = Checkveld.split(",");
var ChecknaamArray = Checknaam.split(","); 
for (var i=0; i<CheckveldArray.length; i++)
	{
	var naam = ChecknaamArray[i];
	veld = "."+CheckveldArray[i]+"";
	waarde = eval(doc+form+veld+val);
		if (waarde == ''|| waarde == null) {
		alert(''+naam+' is een verplicht veld!');
		var isok = 'nee';
		};
	};
};
if (isok == 'nee') {
eval("document.images.opslaan.src='"+Checkimageverstuur+"'");
eval("document.images.opslaan.disabled=false");
}else
eval(doc+form+".submit()");
};


// functie om value van paswoord met tweede veld te checken
// getest: ie5.5 ok, ie6.0 ok, ns4.7 ok, ns6.2 ok, opera5.12 ok,
// gebruik: validpaswoord('naam van veld','naam van veld');
function validpaswoord(field,field2) {
var str = field.value;
var str2 = field2.value;
if (str != ""){
	if (str != str2) {
		field2.focus();
		alert('Je moet tweemaal hetzelfde paswoord ingeven.');
		field.value='';
		field2.value='';
		return false;
		}
 	return true;	
	}
return true;
};


// functie om form te submitten + verplichte velden controle +disable submitknop
// getest: ie5.5 ok, ie6.0 ok, ns4.7 ok, ns6.2 ok, opera5.12 ok,
// gebruik: in form tag: onSubmit="return checkverplicht('formuliernaam','naam van 
// velden','titel van velden');" 
function checkverplicht2(formulier,reqlijstveld,reqlijstnaam) {
var Checkveld = reqlijstveld;
var Checknaam = reqlijstnaam;
var isok ='ja';
form = formulier;
var buttontekst = eval(doc+form+".verstuur"+val);
eval(doc+form+".verstuur"+val+"='Even geduld aub'");
eval(doc+form+".verstuur.disabled=true");
if (Checkveld != '') {
var CheckveldArray = Checkveld.split(",");
var ChecknaamArray = Checknaam.split(","); 
for (var i=0; i<CheckveldArray.length; i++)
	{
	var naam = ChecknaamArray[i];
	veld = "."+CheckveldArray[i]+"";
	waarde = eval(doc+form+veld+val);
		if (waarde == ''|| waarde == null) {
		alert(''+naam+' is een verplicht veld!');
		var isok = 'nee';
		};
	};
};
if (isok == 'nee') {
eval(doc+form+".verstuur"+val+"='"+buttontekst+"'");
eval(doc+form+".verstuur.disabled=false");
return false;
}else
{return true};
};

// functie om value van email adres te checkken
// getest: ie5.5 ok, ie6.0 ok, ns4.7 ok, ns6.2 ok, opera5.12 ok,
// gebruik: validemail('naam van veld');
function validemail(field) {
  var str = field.value;
  if (str == "") {
return true;
}
  if (window.RegExp) {
    var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var reg2str =
"^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,4})(\\]?)$";
    var reg1 = new RegExp(reg1str);
    var reg2 = new RegExp(reg2str);
    if (!reg1.test(str) && reg2.test(str)) {
      return true;
    }
    field.focus();
    alert('Geen geldig emailadres.');
    return false;
  } else {
    if(str.indexOf("@") >= 0)
      return true;
    field.focus();
    alert('Geen geldig emailadres.');
    return false;
  }
};


function PopIt(filename, w, h, s){  
	var wp = (screen.width/100)*w;
	var hp = (screen.height/100)*h;
	var midw = (screen.width/2)-(wp/2);
	var midh = (screen.height/2)-(hp/2);
	popup = window.open(filename,"popDialog","left="+midw+" top="+midh+" height="+hp+",width="+wp+",scrollbars=yes resizable=1")  
	if ( popup.document.close() ) {
		popup.document.close()
	}
};

function calcCharLeft(field) {
var maxLength = maximum;
var str = field.value;
var str2 = field2;
         if (str.length > maxLength) {
                str = str.substring(0,maxLength)
                    charleft = 0
         } else {
                        charleft = maxLength - str.length
                }
         field2.value = charleft
};

function validtijd(field) {
var Str = field.value
if (Str == "") {
return true;
}
var Pat = /^(\d{2}):(\d{2})$/;
var matchArray = Str.match(Pat);
if (matchArray == null) {
field.focus();
alert("Tijd moet in hh:mm formaat");
return false;
}
hour = matchArray[1];
minute = matchArray[2];
if (hour <= 0 || hour > 23) {
field.focus();
alert("hh moet een getal zijn tss 00 en 23");
return false;
}
if (minute<0 || minute > 59) {
field.focus();
alert ("mm moet een getal zijn tss 00 en 59");
return false;
}
return true;
};

function validnohttp(field) {
var Str = field.value
if (Str == "") {
return true;
}
var Pat = /(http)/gi;
var matchArray = Str.match(Pat);
if (matchArray == null) {
return true;
}
field.focus();
alert("Url mag niet met http:// beginnen");
return false;
};

// functie om datum te valideren
function checkdate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("Geen juiste datum. Probeer nog eens.");
datefield.focus();
return false;
}
else {
return true;
}
};

// functie om datum te controleren en aan te vullen tot 01/12/2001
function chkdate(objName) {
var runTime = new Date();
var strCurrentYear = runTime.getYear();
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
strDate = datefield.value;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if ((strDateArray.length < 2) || (strDateArray.length > 3)) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
if (strDay.length == 1) {
strDay = '0' + strDay;
}
strMonth = strDateArray[1];
if (strMonth.length == 1) {
strMonth = '0' + strMonth;
}
if (strDateArray.length == 2) 
strYear = strCurrentYear
else
strYear = strDateArray[2];
}
booFound = true;
}
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
}
}
if (strYear == null) {
  return false;
}
if (strYear.length == 1) {
strYear = '0' + strYear
}
if (strYear.length == 2) {
strYear = '20' + strYear;
}
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
err = 3;
return false;
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}
datefield.value = strDay + "/" + strMonth + "/" + strYear;
return true;
};

//functie om schrikkeljaar te vinden
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
};

  function display(id,how) {
  	var div = id;
	div.style.display = ""+how+"";
  };
  
  function display2(id1,how1,id2,how2) {
	var div1 = id1;
	if (how1 == 1) {
	div1.style.display = 'block';
	} else {
	div1.style.display = 'none';
	};
	if (id2 != "") {
	var div2 = id2;
	if (how2 == 1) {
	div2.style.display = 'block';
	} else {
	div2.style.display = 'none';
	};
	};
};
