/*mv_library.js*/

var cal_obj2 = null;
var datum_id = '';
 
//var format = '%j %M %Y %H:%i';
var format = '%D %j %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 = 6;
	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;
}

function hideMessage()
{  
 	popup.hide();
}
function autofocus(where) 
{	
 	where.focus()
}

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 popup;

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);
		Y = eval(window.event.clientY + 17);
	}    
	if (isIE) { 
	 	objX = document.body.clientWidth;
	 	objY = document.body.clientHeight;
	} else {
	    objX = window.innerWidth;
	    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 open_new_window(url) {	
 	window.open(url)	
}
// Check form-input 
// datum: 29-11-2006
function checkForm(form) {
// 	verplichte velden meegeven in een hidden string met de naam velden delimiter ; scheidingen	
	var alert_txt = ""	
	var error = false
	var velden = verplicht.elements["velden"].value	
	var verplichte_velden = velden.split(";")	
	for (var i = 0 ; i < verplichte_velden.length; i++) {
		veld = verplichte_velden[i]		
		alert(veld+": "+verplicht.elements[veld].type)		
		alert(veld+": "+verplicht.elements[veld].value)		
		if (verplicht.elements[veld].value == "") {
		 	if (!error) {
				verplicht.elements[veld].focus()
				error = true
			} else {
				alert_txt += ", "
			}
			alert_txt += veld
		}	
	}
	if (error) {		
		alert_txt += " verplicht"		
		alert(alert_txt)		
		return false	
	}
	var dag = verplicht.elements["dag"].value 	
	var maand = verplicht.elements["maand"].value 	
	var jaar = verplicht.elements["jaar"].value 	
	var maandnamen = new Array("","januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december")	
	if (maand ==2 && dag > 29) {		
	 	alert("februari heeft maximaal 29 dagen")		
		verplicht.elements['dag'].focus()		
		return false	
	} else if (maand <=7 && (maand % 2) == 0 && dag > 30) {
		alert(maandnamen[maand] + " heeft geen 31 dagen")		
		verplicht.elements['dag'].focus()		
		return false	
	} else if (maand >=8 && (maand % 2 != 0) && dag > 30) {
		alert(maandnamen[maand] + " heeft geen 31 dagen")		
		verplicht.elements['dag'].focus()		
		return false	
	} 	
	var emailwaarde = verplicht.elements['email'].value	
	if (emailwaarde.indexOf("@") == -1) {
		alert("E-mailadres ongeldig")		
		verplicht.elements['email'].focus()		
		return false	
	}
}

function bookmark(address,sitename) {
	if (window.sidebar) {
    	window.sidebar.addPanel(sitename, address,"");
	} else if( document.all ) {
    	window.external.AddFavorite(address, sitename);
	} else if( window.opera && window.print ) {
    	return true;
  	}
}

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 validateForm(form) {
// 	verplichte velden meegeven in een hidden string met de naam velden delimiter ; scheidingen
	var alert_txt = "";
	var error = false;
//	alert (velden)
	var codes = form.elements["span_id"].value;
	var verplichte_codes = codes.split(";");
	for (var i = 0 ; i < verplichte_codes.length; i++) {
		code = verplichte_codes[i];
//		alert (code);
		document.getElementById(code).innerHTML='';
	}
	var meldingen = form.elements["melding"].value;
	var foutmelding = meldingen.split(";");
	var velden = form.elements["velden"].value;
	var verplichte_velden = velden.split(";")

	for (var i = 0 ; i < verplichte_velden.length; i++) {
	 	var veld = verplichte_velden[i];
		var e = form.elements[veld];
		code = verplichte_codes[i];
		melding = foutmelding[i];
//		alert (veld+' '+e.type+ ' value: '+e.value);
		if ((e.type == "text") || (e.type == "textarea")) {
			if ((e.value == null) || (e.value == "") || (isblank(e.value))) {
				error = true;
				document.getElementById(code).innerHTML = melding + ' niet ingevuld';
			} 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(code).innerHTML='Het telefoonnummer mag alleen cijfers bevatten';
					}
				} else if (veld == 'email') {
	 				var emailwaarde = e.value;
	 				var regexp = /\s/;
//	 				alert (e.value)
					apos = emailwaarde.indexOf("@");
					dotpos = emailwaarde.lastIndexOf(".");
					if (apos < 1 || dotpos-apos < 2) {
						document.getElementById(code).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(code).innerHTML = melding + ' niet geselecteerd';
			}
		}
	}

	if (error) {
		return false;
	}
}

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

function externalLinks() {  
 if (!document.getElementsByTagName) return;  
 var anchors = document.getElementsByTagName("a");  
 for (var i=0; i<anchors.length; i++) {  
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") &&  
       anchor.getAttribute("rel") == "extern")  
     anchor.target = "_new";  
 }  
}
