﻿
// dd-MM-yyyy ?
function IsValidDate(value) {
	var exp = /(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))/;
	var re = new RegExp(exp);
	return value.match(re);
}

// 00:00 - 23:59
function IsValidTime(value) {
	var exp = /([0-1][0-9]|2[0-3]):[0-5][0-9]/;
	var re = new RegExp(exp);
	return value.match(re);
}


function isDate(dateStr) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null) {
		return false;
	}

	day = matchArray[1]; // p@rse date into variables
	month = matchArray[3];
	year = matchArray[5];

	if (month < 1 || month > 12) { // check month range
		return false;
	}

	if (day < 1 || day > 31) {
		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false;
	}

	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			return false;
		}
	}
	return true; // date is valid
}

function writeTips() {
	var today_obj = new Date();
	var today_date = today_obj.getDate();

	var tips = new Array();
	var tiptitle = '';

	//verander hieronder de tips van de dag... voor iedere dag dus een andere 
	tips[1] = '"Een dag geen horoscoop is een dag niet geleefd"';
	tips[2] = '"Nothing in Life is good or bad, thinking makes it so!"';
	tips[3] = '"Op de top moet het eenzaam zijn"';
	tips[4] = '"Grote gedachten komen uit het hart"<br/>Vauvenargues Frans <em>(1715-1747)<'+'/em>';
	tips[5] = '"Luiaards hebben altijd zin om iets te gaan doen"<br/>Vauvenargues Frans <em>(1715-1747)<'+'/em>';
	tips[6] = '"Ik weet slechts &eacute;&eacute;n ding: dat ik niets weet"<br/>Socrates <em>(Grieks filosoof)<'+'/em>';
	tips[7] = '"Het begin is het belangrijkste deel van het werk"<br/>Plato <em>(427 v. C. - 347 v. C.)<'+'/em>';
	tips[8] = '""Humor is een deur naar de eeuwigheid"<br/>Martin Heidegger <em>(1889-1976)<'+'/em>';
	tips[9] = '"De natuur doet niets zonder doel"<br/>Aristoteles <em>(Grieks filosoof)<'+'/em>';
	tips[10] = '"Veel wenst zich de mens, en toch heeft hij slechts weinig nodig"<br/>J. W. von Goethe <em>(1749-1832)<'+'/em>';
	tips[11] = '"Een dag geen horoscoop is een dag niet geleefd"';
	tips[12] = '"Nothing in Life is good or bad, thinking makes it so!"';
	tips[13] = '"Op de top moet het eenzaam zijn"';
	tips[14] = '"Grote gedachten komen uit het hart"<br/>Vauvenargues Frans <em>(1715-1747)<'+'/em>';
	tips[15] = '"Luiaards hebben altijd zin om iets te gaan doen"<br/>Vauvenargues Frans <em>(1715-1747)<'+'/em>';
	tips[16] = '"Ik weet slechts &eacute;&eacute;n ding: dat ik niets weet"<br/>Socrates <em>(Grieks filosoof)<'+'/em>';
	tips[17] = '"Het begin is het belangrijkste deel van het werk"<br/>Plato <em>(427 v. C. - 347 v. C.)<'+'/em>';
	tips[18] = '""Humor is een deur naar de eeuwigheid"<br/>Martin Heidegger <em>(1889-1976)<'+'/em>';
	tips[19] = '"De natuur doet niets zonder doel"<br/>Aristoteles <em>(Grieks filosoof)<'+'/em>';
	tips[20] = '"Veel wenst zich de mens, en toch heeft hij slechts weinig nodig"<br/>J. W. von Goethe <em>(1749-1832)<'+'/em>';
	tips[21] = '"Een dag geen horoscoop is een dag niet geleefd"';
	tips[22] = '"Nothing in Life is good or bad, thinking makes it so!"';
	tips[23] = '"Op de top moet het eenzaam zijn"';
	tips[24] = '"Grote gedachten komen uit het hart"<br/>Vauvenargues Frans <em>(1715-1747)<'+'/em>';
	tips[25] = '"Luiaards hebben altijd zin om iets te gaan doen"<br/>Vauvenargues Frans <em>(1715-1747)<'+'/em>';
	tips[26] = '"Ik weet slechts &eacute;&eacute;n ding: dat ik niets weet"<br/>Socrates <em>(Grieks filosoof)<'+'/em>';
	tips[27] = '"Het begin is het belangrijkste deel van het werk"<br/>Plato <em>(427 v. C. - 347 v. C.)<'+'/em>';
	tips[28] = '""Humor is een deur naar de eeuwigheid"<br/>Martin Heidegger <em>(1889-1976)<'+'/em>';
	tips[29] = '"De natuur doet niets zonder doel"<br/>Aristoteles <em>(Grieks filosoof)<'+'/em>';
	tips[30] = '"Veel wenst zich de mens, en toch heeft hij slechts weinig nodig"<br/>J. W. von Goethe <em>(1749-1832)<'+'/em>';
	tips[31] = '"Grote gedachten komen uit het hart"<br/>Vauvenargues Frans <em>(1715-1747)<'+'/em>';
	
	document.write(tiptitle);
	document.write(tips[today_date]);
}

function email_valid(email) {
	var re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	if (email.match(re))
		return true;
	return false;
}

function check_form_chi() {
	if (el = document.getElementById('chi_email')) {
		if (el.value.length == 0)
			return true;
			
		if (!email_valid(el.value)) {
			alert('Het opgegeven e-mailadres is ongeldig!');
			el.focus();
			return false;
		}
		return true;
	}
	return false;
}

function chi_toggle_selects(val) {
	if (el = document.getElementById('chi_day')) { 
		el.disabled = !(val == '-1');
	}
	if (el = document.getElementById('chi_month')) { 
		el.disabled = !(val == '-1');
	}
	if (el = document.getElementById('chi_year')) { 
		el.disabled = !(val == '-1');
	}
}

function check_form_match() {
	if (el = document.getElementById('match_email')) {
		if (el.value.length == 0)
			return true;
			
		if (!email_valid(el.value)) {
			alert('Het opgegeven e-mailadres is ongeldig!');
			el.focus();
			return false;
		}
		return true;
	}
	return false;
}

function check_form_tar() {
	if (el = document.getElementById('tar_email')) {
		if (el.value.length == 0)
			return true;
			
		if (!email_valid(el.value)) {
			alert('Het opgegeven e-mailadres is ongeldig!');
			el.focus();
			return false;
		}
		return true;
	}
	return false;
}

function ValidateEmail(sender, e) {
	e.IsValid = email_valid(e.Value);
}
