/*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 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];
		document.getElementById(code).innerHTML='';
	}

	for (var i = 0 ; i < verplichte_velden.length; i++) {
	 	var 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))) {
				error = true;
				document.getElementById(veld).innerHTML = veld + ' 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(veld).innerHTML='Het telefoonnummer mag alleen cijfers bevatten';
					}
				} else if (veld == 'email') {
	 				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 = veld + ' niet geselecteerd';
			}
		}
	}
	
	if (form.elements['nr_of_fields']) {
		var nr = form.elements['nr_of_fields'].value;
		for (var i=1;i<=nr;i++) {
			error_veld = 'datumfout'+i;
			document.getElementById(error_veld).innerHTML = '';
			veld = 'datum_af'+i;
			datum_aflevering=form.elements[veld].value;
			if ((datum_aflevering == null) || (datum_aflevering == "") || (isblank(datum_aflevering))) {
				document.getElementById(error_veld).innerHTML = '<br />Datum is niet ingevuld!';	
				error = true;
			}
			veld = 'datum_op'+i;
			datum_ophalen=form.elements[veld].value;
			if ((datum_ophalen == null) || (datum_ophalen == "") || (isblank(datum_ophalen))) {
				document.getElementById(error_veld).innerHTML = '<br />Datum is niet ingevuld!';	
				error = true;
			}
			goed = check_datum(datum_ophalen,datum_aflevering);
			if (goed == false) {
				document.getElementById(error_veld).innerHTML = '<br />Ophaaldatum kan niet kleiner zijn dan de afleverdatum!';	
				error = true;
			}
		}
	}
	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 check_datum(d2,d1) {
	var datum2 = d2.split("-");
	dag2 = parseInt(datum2[0]);
	maand2 = parseInt(datum2[1]);
	jaar2 = parseInt(datum2[2]);
	js_datum2 = new Date(jaar2,maand2,dag2);
	var datum1 = d1.split("-");
	dag1 = parseInt(datum1[0]);
	maand1 = parseInt(datum1[1]);
	jaar1 = parseInt(datum1[2]);
	js_datum1 = new Date(jaar1,maand1,dag1);
	if (js_datum2 < js_datum1) {
		return false;
	} else {
		return true;
	}
}
