// id: vgc3ti469rof
var fnochk;
function locize(x){
	var i=x.indexOf('#');
	var xid=x.substring(0,i);
	var s=locmsgs[xid];
	if (!s)
		s=x.substring(i+1);
	i=0;
	while ((i=s.indexOf('$',i))!=-1){
		var c=s.charAt(i+1);
		var n=null;
		if(c=='$')
			n='$'
		if(c>='1'&&c<='9')
			n=''+arguments[parseInt(c)];
		if(n){
			s=s.substring(0,i)+n+s.substring(i+2);
			i+=n.length;
		}else
			i++;
	}
	return s;
}
function trim(v){if(!v)return "";var i=0,j=v.length;while(i<j&&v.charAt(i)==" ")i++;while(j--&&v.charAt(j)==" ");return v.substring(i,j+1)}
function fv(f){
	f=f.form[f.name]||f;
	if(f.length)
		for(var x=0;x<f.length;x++)
			if(f[x].checked)return f[x].value;
	if(f.type&&f.type=="checkbox"&&!f.checked)return "";
	if(f.value!=null)return trim(f.value);
	if(f.options&&f.selectedIndex>=0)return f.options[f.selectedIndex].value;
	return "";
}
function fvn(f){
	f=f.form[f.name];
	var n=0;
	if(f.length)
		for(var x=0;x<f.length;x++)
			if(f[x].checked)n++;
	if(f.options){
		var os=f.options;
		for(var x=0;x<os.length;x++)
			if(os[x].selected)n++;
	}
	return n;
}
function def(f){var i=vdefs.indexOf('|'+f+'~')+1,j=vdefs.indexOf('|',i);return vdefs.substring(i,j)}
function getv(vs,v){var i=vs.indexOf('~'+v)+4;if(i>3)return vs.substring(i,vs.indexOf('~',i));return""}
function dy(d){return d.getFullYear?d.getFullYear():d.getYear()+1900}
function fmtd(d){return d.getDate()+"-"+(d.getMonth()+1)+"-"+dy(d)}
function check(f,isfin){
	var fn=f.name;
	if(fn&&fn.substring(0,7)=="chklst_")fn=fn.substring(7);
	var d=def(fn);
	if (d=="")
		return 0;
	var v=fv(f);
	var msg,s;
	var dsc=getv(d,"y02");
	var fe=f.form[f.name];
	if (isfin&&(fe.options||fe.length)&&(getv(d,"e3s")||getv(d,"y7b")||getv(d,"y12"))){
		var n=fvn(f);
		var nmin=getv(d,"e3s")?getv(d,"e3s")*1:(getv(d,"y12")?1:0);
		var nmax=getv(d,"y7b")==""?-1:getv(d,"y7b")*1;
		if((n<nmin||(nmax>=0&&n>nmax))&&(nmin!=1||nmax!=-1||f.type=="checkbox")) {
			if(nmin&&nmax>=0)
				msg=locize('#In het veld "$1" is een onjuist aantal keuzes gemaakt. Het aantal keuzes moet tussen $2 en $3 liggen.',dsc,""+nmin,""+nmax);
			else if (nmin)
				msg=locize('#In het veld "$1" is een onjuist aantal keuzes gemaakt. Het aantal keuzes moet minimaal $2 zijn.',dsc,""+nmin);
			else
				msg=locize('#In het veld "$1" is een onjuist aantal keuzes gemaakt. Het aantal keuzes mag maximaal $2 zijn.',dsc,""+nmax);
		}
	}
	if (v==""&&!msg) {
		if(f.form[f.name+"_hasdata"])return 0;
		if(getv(d,"y12")!="")
			if (dsc=="")
				msg=locize('#In dit veld moet altijd wat ingevuld worden.');
			else
				msg=locize('vgc3rvu0cfwb#In het veld "$1" moet altijd wat ingevuld worden.',dsc);
	} else {
		if ((s=getv(d,"y30"))!="") {
			s=eval(s+"(v)");
			if(s){if(s.charAt(0)=="=")v=s.substring(1);else msg=s;}
		}
		var lmin=getv(d,"y21");
		if (lmin!=""&&v.length<lmin)
			msg=locize('vgc3rvu0cfwc#Het veld "$1" bevat nu $2 teken(s), maar moet tenminste $3 tekens bevatten.',
				dsc, v.length, lmin);
		if (!msg&&getv(d,"y24")=="n") {
			var nmin=getv(d,"y3a"),nmax=getv(d,"y3b");
			var i=v.indexOf(",");if(i!=-1)v=v.substring(0,i)+"."+v.substring(i+1);
			var n=v==""?0:parseFloat(v);
			if(n!=n)
				msg=locize('vgc3rvu0cfwd#Het veld "$1" bevat geen getal.', dsc);
			else if(n||getv(d,"y12")!="") {
				if (nmin!=""&&n<nmin)
					msg=locize('vgc3rvu0cfwe#Het veld "$1" bevat een te lage waarde. De minimale waarde is $2.', dsc, nmin);
				else if (nmax!=""&&n>nmax)
					msg=locize('vgc3rvu0cfwf#Het veld "$1" bevat een te hoge waarde. De maximale waarde is $2.', dsc, nmax);
			}
		}
		if (!msg&&getv(d,"y24")=="d"&&getv(d,"y41")!="") {
			var i=v.indexOf("-"),j=v.indexOf("-",i+1);
			var y=v.substring(j+1)*1,m=v.substring(i+1,j)*1,t=v.substring(0,i)*1;
			var n=new Date(y,m-1,t);
			if(y!=dy(n)||m!=(n.getMonth()+1)||t!=n.getDate())
				msg=locize('vgc3rvu1ifwg#Het veld "$1" bevat een ongeldige datum. De datum moet in DD-MM-JJJJ formaat ingevoerd worden, bijvoorbeeld 30-03-2000.', dsc);
			else {
				var nmin=getv(d,"y3a"),nmax=getv(d,"y3b");
				n=n.getTime();
				if (nmin!=""&&n<nmin*1)
					msg=locize('vgc3rvu1ifwh#Het veld "$1" bevat een te vroege datum. De minimale datum is $2.', dsc, fmtd(new Date(nmin*1)));
				else if (nmax!=""&&n>nmax*1)
					msg=getv(d,"f4z")||locize('vgc3rvu1ifwi#Het veld "$1" bevat een te late datum. De maximale datum is $2.', dsc, fmtd(new Date(nmax*1)));
			}
		}
		if (!msg&&(s=getv(d,"y4o"))!="") {
			var ext=v.toLowerCase().substring(v.lastIndexOf(".")+1);
			if ((";"+s+";").indexOf(";" + ext + ";")==-1)
				msg=locize('vgc3rvu1ifwj#Het veld "$1" bevat een ongeldige bestandsnaam. De bestandsnaam moet de extensie $2 hebben.', dsc, s.split(";").join(" of "));
		}
	}
	if(f.type&&f.type=="text")f.value=v;
	if (msg) {
		alert(msg);
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
	try {
@end @*/
		f.focus();
/*@if (@_jscript_version >= 5)
	} catch (e) {}
@end @*/
		if(f.select)f.select();
		return 1;
	}
}

function checkall(es) {
	if(fnochk){fnochk=0;return true;}
	for (var i=0;i<es.length;i++)
		if (check(es[i],true))
			return false;
	return true;
}

function vnum(f){return parseFloat("0"+trim(f.value))}
function Empty(){}
function dlgrecalc(es) {
	var nval=new Empty();
	for (var i=0;i<es.length;i++) {
		var e=es[i];
		var r=def(e.name);
		var m=getv(r,"y4c"),en=getv(r,"y4d"),op=getv(r,"y4e"),mn=getv(r,"y4f");
		if(op==""||en=="")
			continue;
		var v=vnum(e);
		if(m!="")v*=m;
		if(mn!="")v*=vnum(es[mn]);
		if(!nval[en])nval[en]=0;
		if(op=="-")nval[en]-=v;else nval[en]+=v;
	}
	for (var n in nval)
		if(es[n])es[n].value=nval[n];
}

