/*mv_library.js*/
var isIE     = (navigator.appName.indexOf('Microsoft')   != -1);
var isIE4    = (navigator.appVersion.indexOf('MSIE 4')   != -1);
var isIE55   = (navigator.appVersion.indexOf('MSIE 5.5') != -1);
var Netscape = (navigator.appName == 'Netscape');

var cal_obj2 = null;
var datum_id = '';
 
//var format = '%j %M %Y %H:%i';
var format = '%d-%m-%Y';
 
// show calendar
function show_cal(el,veld_id) {
 
	if (cal_obj2) return;
 
	var text_field = document.getElementById(veld_id);
 	datum_id = veld_id;
	cal_obj2 = new RichCalendar();
	cal_obj2.start_week_day = 1;
	cal_obj2.show_time = false;
//	cal_obj2.show_time = true;
	cal_obj2.language = 'en';
	cal_obj2.user_onchange_handler = cal2_on_change;
	cal_obj2.user_onclose_handler = cal2_on_close;
	cal_obj2.user_onautoclose_handler = cal2_on_autoclose;
 
	cal_obj2.parse_date(text_field.value, format);
 
	cal_obj2.show_at_element(text_field, "adj_right-center");
//	cal_obj2.change_skin('alt');
 
}
 
// user defined onchange handler
function cal2_on_change(cal, object_code) {
	if (object_code == 'day') {
		document.getElementById(datum_id).value = cal.get_formatted_date(format);
		cal.hide();
		cal_obj2 = null;
	}
}
 
// user defined onclose handler (used in pop-up mode - when auto_close is true)
function cal2_on_close(cal) {
//	if (window.confirm('Are you sure to close the calendar?')) {
		cal.hide();
		cal_obj2 = null;
//	}
}
 
// user defined onautoclose handler
function cal2_on_autoclose(cal) {
	cal_obj2 = null;
}

var popup;

function hideMessage()
{  
 	popup.hide();
}

function autofocus(where) 
{	
 	where.focus()
}

function openpopup(msg)
{
    var hoogte = 24 * (msg.length/30);
	var lengte = 250;    
	var objX; // breedte window    
	var objY; // hoogte window    
	var X; // x-positie van het popup venster    
	var Y;
	if (isIE) 
		X = eval(window.event.clientX + 8);    
	if (isIE) 
		Y = eval(window.event.clientY + 17);
	if (isIE) { 
	 	objX = document.body.clientWidth
	} else {
	    objX = window.innerWidth;
	}
	if (isIE) objY = document.body.clientHeight;    
	else objY = window.innerHeight;	
	if ((X + lengte) > objX) {
	 	X = (objX - lengte) - 5;		
	}	
	if ((Y + hoogte) > objY) { 
		Y = (objY - hoogte) - 5;
	}
	popup = window.createPopup();
	var popupBody = popup.document.body;
	popupBody.style.border = "solid 2px black";
	popupBody.style.padding = "2px";    
	popupBody.innerHTML = "<p>"+msg+"</p>";    
	popup.show(X,Y,lengte,hoogte,popupBody);
}

function show_schaal(id) {
	id = id+1;
	document.getElementById('cschaal').innerHTML=id;
}

function show_uren(naam) {
	if (document.getElementById(naam).style.display=='none') {
		document.getElementById(naam).style.display='block';
	} else {
		document.getElementById(naam).style.display='none';
	}
}

function selectOption(optie) {
	var selObj = document.getElementById('duur_id');
	if (optie == 1) {
		selObj.selectedIndex = 3;
	} else {
		selObj.selectedIndex = 0;
	}
}

function toggle_select(v) {
	if (v == 1) {
		if (document.getElementById('select').style.display='none') {
			document.getElementById('select').style.display='block';
		} else {
			document.getElementById('select').style.display='none';
		}
	} else {
		document.getElementById('select').style.display='none';
	}
}

function validateForm(form) {
// 	verplichte velden meegeven in een hidden string met de naam velden delimiter ; scheidingen
	var alert_txt = "";
	var error = false;
	var velden = form.elements["velden"].value;
	var verplichte_velden = velden.split(";")
	for (var i = 0 ; i < verplichte_velden.length; i++) {
		code = verplichte_velden[i];
		if (document.getElementById(code)) {
			document.getElementById(code).innerHTML='';
		}
	}

	for (var i = 0 ; i < verplichte_velden.length; i++) {
	 	var veld = verplichte_velden[i];
	 	if (form.elements[veld]) {
			var e = form.elements[veld];
			if ((e.type == "text") || (e.type == "textarea")) {
				if ((e.value == null) || (e.value == "") || (isblank(e.value))) {
					error = true;
					document.getElementById(veld).innerHTML = 'niet ingevuld';
				} else {
					if (veld == 'telefoon' || veld == 'telefoon2') {
						var telefoonwaarde = e.value;
						apos = telefoonwaarde.indexOf("-");
						if (apos > 0) {
				 			telefoonwaarde = telefoonwaarde.replace('-','');
				 		}
				 		var regexp = /\s/g;
			 			telefoonwaarde = telefoonwaarde.replace(regexp,'');
						if (isNaN(telefoonwaarde)) {
							error = true;
							document.getElementById(veld).innerHTML='Het telefoonnummer mag alleen cijfers bevatten';
						}
					} else if (veld == 'email' || veld == 'email2') {
		 				var emailwaarde = e.value;
		 				var regexp = /\s/;
						apos = emailwaarde.indexOf("@");
						dotpos = emailwaarde.lastIndexOf(".");
						if (apos < 1 || dotpos-apos < 2) {
							document.getElementById(veld).innerHTML = 'U hebt een ongeldig e-mailadres opgegeven';
							error = true;
						}
					}
				}
			} else if (e.type == "select-one") {
				if ((e.value == null) || (e.value == "") || (isblank(e.value)) || isNaN(e.value)) {
					error = true;
					document.getElementById(veld).innerHTML = 'niet geselecteerd';
				}
			}
		}
	}

	if (error) {
		return false;
	}
}

function isblank(val){
	if(val==null){return true;}
	if(val.length==0) {return true;}
	return false;     
}

function check_telefoon (e,veld) {
	document.getElementById(veld).innerHTML='';
	var telefoonwaarde = e.value;
	apos = telefoonwaarde.indexOf("-");
	if (apos > 0) {
		telefoonwaarde = telefoonwaarde.replace('-','');
	}
	var regexp = /\s/g;
	telefoonwaarde = telefoonwaarde.replace(regexp,'');
	if (isNaN(telefoonwaarde)) {
		error = true;
		document.getElementById(veld).innerHTML='Het ' + veld + 'nummer mag alleen cijfers bevatten';
	}
}

function open_new_window(url) {
	window.open(url)	
}

function open_in_window(url) {
	window.location.href = url;	
}

function toon2(check,div) {
	if (document.getElementById(div).style.display=="none") {
		document.getElementById(div).style.display="block";
	} else {
		document.getElementById(div).style.display="none";
	}
}

function jump(val, val_, field)
{
	var frm = document.forms[0];
			
	if (val.length == val_)
	{
		frm[field].focus();
	}
}

function checkForm(form) {
// 	verplichte velden meegeven in een hidden string met de naam velden delimiter ; scheidingen
	var alert_txt = "";
	var error = false;
	var velden = form.elements["velden"].value;
	var verplichte_velden = velden.split(";")
	for (var i = 0 ; i < verplichte_velden.length; i++) {
		code = verplichte_velden[i];
		document.getElementById(code).innerHTML='';
	}
	if (document.getElementById('datumfout')) document.getElementById('datumfout').innerHTML = "";
	if (form.elements['geslacht']) {
		var fel = form.elements['geslacht'];
		var ingevuld = false;
		for (var i = 0; i< fel.length; i++) {
 			if (fel[i].checked) {
				ingevuld = true;
			}	
 		}
 		if (ingevuld == false) {
			document.getElementById('cgeslacht').innerHTML='Geslacht verplicht!';
			error = true;
		}
	}
	for (var i = 0 ; i < verplichte_velden.length; i++) {
	 	veld = verplichte_velden[i];
		var e = form.elements[veld];
		if ((e.type == "text") || (e.type == "textarea")) {
			if ((e.value == null) || (e.value == "") || (isblank(e.value))) {
				if (veld != 'telefoon') {
					error = true;
				}
				if (veld == 'roepnaam') {
					document.getElementById('roepnaam').innerHTML='Roepnaam verplicht!';
				} else if (veld == 'achternaam') {
					document.getElementById('achternaam').innerHTML='Achternaam verplicht!';
				} else if (veld == 'straatnaam') {
					document.getElementById('straat').innerHTML='Straatnaam verplicht!';
				} else if (veld == 'huisnummer') {
					document.getElementById('huisnummer').innerHTML='Huisnummer verplicht!';
				} else if (veld == 'postcode') {
					document.getElementById('postcode').innerHTML='Postcode verplicht!';
				} else if (veld == 'plaats') {
					document.getElementById('plaats').innerHTML='Plaatsnaam verplicht!';
				} else if (veld == 'email') {
					document.getElementById('email').innerHTML = 'E-mailadres verplicht!';
				} else if (veld == 'sofi_bs') {
					document.getElementById('sofi_bs').innerHTML = 'Sofinr. verplicht!';
				} else if (veld == 'bankrekeningnummer') {
					document.getElementById('bankrekeningnummer').innerHTML = 'bankrekeningnummer verplicht!';
 				}
			} else {
				if (veld == 'telefoon') {
					var telefoonwaarde = e.value;
					apos = telefoonwaarde.indexOf("-");
					if (apos > 0) {
			 			telefoonwaarde = telefoonwaarde.replace('-','');
			 		}
			 		var regexp = /\s/g;
		 			telefoonwaarde = telefoonwaarde.replace(regexp,'');
					if (isNaN(telefoonwaarde)) {
						error = true;
						document.getElementById('telefoon').innerHTML='Alleen cijfers!';
					} else if (telefoonwaarde.length < 10) {
						error = true;
						document.getElementById('telefoon').innerHTML='10 cijfers!';
					}
				} else if (veld == 'mobiel') {
					var mobielwaarde = e.value;
					apos = mobielwaarde.indexOf("-");
					if (apos > 0) {
			 			mobielwaarde = mobielwaarde.replace('-','');
			 		}
			 		var regexp = /\s/g;
		 			mobielwaarde = mobielwaarde.replace(regexp,'');
					if (isNaN(mobielwaarde)) {
						error = true;
						document.getElementById('mb').innerHTML='Het mobiele nummer mag alleen cijfers bevatten';
					}
				} else if (veld == 'email') {
	 				var emailwaarde = e.value;
					apos = emailwaarde.indexOf("@");
					dotpos = emailwaarde.lastIndexOf(".");
					if (apos < 1 || dotpos-apos < 2) {
						document.getElementById('email').innerHTML = 'Ongeldig e-mailadres!';
						error = true;
					}
				} else if (veld == 'username') {
	 				var userwaarde = e.value;
					if (userwaarde.length < 6) {
						document.getElementById('username').innerHTML = 'Minimaal 6 karakters!';
						error = true;
					}
				} else if (veld == 'un_password') {
	 				var pwaarde = e.value;
					if (pwaarde.length < 6) {
						document.getElementById('un_password').innerHTML = 'Minimaal 6 karakters!';
						error = true;
					}
				} else if (veld == 'bankrekeningnummer') {
					var bankwaarde = e.value;
					bankwaarde = bankwaarde.replace(/\D/, "");
					if (isNaN(bankwaarde)) {
						document.getElementById('bankrekeningnummer').innerHTML = 'Alleen cijfers.';
						error = true;
					} else if (bankwaarde.length > 9) {
						document.getElementById('bankrekeningnummer').innerHTML = 'Rekeningnummer onjuist.';
						error = true;
					} else if (bankwaarde == 9) {
						check_nummer = elfproef(bankwaarde);
						if (!check_nummer) {
							document.getElementById('bankrekeningnummer').innerHTML = 'Rekeningnummer ongeldig.';
							error = true;
						}
					}
				} else if (veld == 'sofi_bs') {
					var bsn = e.value;
					bsn = bsn.replace(/\D/, "");
					if (isNaN(bsn)) {
						document.getElementById('sofi_bs').innerHTML = 'Alleen cijfers.';
						error = true;
					} else if (bsn.length > 9) {
						document.getElementById('sofi_bs').innerHTML = 'Sofinummer onjuist.';
						error = true;
					} else {
						check_nummer = elfproefs(bsn);
						if (!check_nummer) {
							document.getElementById('sofi_bs').innerHTML = 'Sofinummer ongeldig.';
							error = true;
						}
					}
				}
			}
		} else if (e.type == "select-one") {
			var dag = form.elements["dag"].value 	
			var maand = form.elements["maand"].value 	
			var jaar = form.elements["jaar"].value 	
			var maandnamen = new Array("","januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december")	
			if (dag == 0 || maand == 0 || jaar == 0) {
				error = true;
				document.getElementById('datumfout').innerHTML = "onjuiste datum ingevoerd";
			} else {
				if (maand == 2 && dag > 29) {		
				 	document.getElementById('datumfout').innerHTML = "februari heeft maximaal 29 dagen";		
					error = true;	
				} else if (maand <=7 && (maand % 2) == 0 && dag > 30) {
				 	document.getElementById('datumfout').innerHTML = maandnamen[maand] + " heeft geen 31 dagen";		
					error = true;	
				} else if (maand >=8 && (maand % 2 != 0) && dag > 30) {
				 	document.getElementById('datumfout').innerHTML = maandnamen[maand] + " heeft geen 31 dagen";		
					error = true;	
				}
			} 
		}
	}

	if (error) {
		return false;
	}
	
}

function elfproef(waarde) {
	var som = 0;
	for (i=1; i<10; i++) {
		getal = waarde.charAt(i-1);
		som += getal * (10 - i);
	}
	if (som % 11 != 0) {
		return false;
	} else {
		return true;
	}
}

function elfproefs(waarde) {
	var som = 0;
	for (i=1; i<10; i++) {
		getal = waarde.charAt(i-1);
		if (i == 9) {
			som -= getal * (10 - i);
		} else {
			som += getal * (10 - i);
		}
	}
	if (som % 11 != 0) {
		return false;
	} else {
		return true;
	}
// (9 x A) + (8 x B) + (7 x C) + (6 x D) + (5 x E) + (4 x F) + (3 x G) + (2 x H) - (1 x I)
}

function vul_in(invoer1,invoer2) {
	invoer2.value = invoer1.value;
	return true
}

function change_radio(form,sw,veld,id) {
	var waarde=0
	if (document.programma.verplicht[1].checked) waarde=1
	alert('waarde: '+waarde)
//	var URL = 'change.php?value='+which+'&veld='+veld+'&sw='+sw+'&id='+id
//	window.open(URL,'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=100,height=100,left=426,top=357');
	return true	
}

function isblank(val){
	if(val==null){return true;}
	if(val.length==0) {return true;}
	return false;     
}

function NewWindow(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 4;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',location,toolbar,status,scrollbars,menubar,resizable,'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function reset_language(url) {
	
}

