﻿/*------------ALGEMENE DATUM FUNKTIES ----------------------------------------------------------------------------------------------------------*/

/* functie krijgt als input een datum in formaat yy/mm/dd en geeft als output het begin van de week als date object */
function berekenstartweek(datum)
	{
	var datumitems=datum.split("/");
	var weekdagdatum=new Date(datumitems[0],datumitems[1]-1,datumitems[2]);
	var tellerstartdatum=weekdagdatum.getDay();
	if (tellerstartdatum==0)
		{
		tellerstartdatum=7;
		}
	var offset=tellerstartdatum-1;
	var dateoffset=(24*60*60*1000)*offset;
	var beginweekdatum=new Date();
	beginweekdatum.setTime(weekdagdatum.getTime()-dateoffset);
	return(beginweekdatum);
	}



/* functie krijgt als input een datum in formaat yy/mm/dd en geeft als output het einde van de week als date object */
function berekeneindeweek(datum,aantalweken)
	{
	var datumitems=datum.split("/");
	var weekdagdatum=new Date(datumitems[0],datumitems[1]-1,datumitems[2]);
	var tellerstartdatum=weekdagdatum.getDay();
	if (tellerstartdatum==0)
		{
		tellerstartdatum=7;
		}
	var offset=(aantalweken-1)*7+(7-tellerstartdatum);
	var dateoffset=(24*60*60*1000)*offset;
	var eindeweekdatum=new Date();
	eindeweekdatum.setTime(weekdagdatum.getTime()+dateoffset);
	return(eindeweekdatum);
	}



/* ontvangt datum in formaat YYYY,mm,dd en retourneert leesbare datum */
function formatdate(dag,maand,jaar,type)
	{
	var d=new Date(jaar,maand-1,dag);
	var weekdag=d.getDay();
  	var days = new Array('Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag');
	var shortdays=new Array('Zo','Ma','Di','Wo','Do','Vr','Za');
	var months = new Array('Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December');
	var shortmonths=new Array('Jan','Feb','Mar','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec');
	if (type=='lang')
		{
 		formatteddate =  days[weekdag] + " " +  dag + " " + months[maand-1] + " " + jaar;
		}
	if(type=='kort')
		{
		formatteddate =  shortdays[weekdag] + " "+ dag + " " + shortmonths[maand-1] + " "+ jaar;
		}
	if(type=='zeerkort')
		{
		formatteddate =  dag + " " + shortmonths[maand-1] ;
		}
	return formatteddate;
	}

/* kontroleert de geldigheid van datum entries (dag/maand/jaar) in invoervelden op basis van min-max waarden*/
function controleerdatumentry(veld,min,max)
	{
	if (veld.value=='')
		{
		}
	else
		{
		var waarde=parseInt(veld.value);
		if (isNaN(waarde))
			{
			alert('Geen geldige waarde !');
			veld.value="";
			veld.focus();
			}
		else
			{
			if ((waarde < min) || (waarde > max))
				{
				alert('Geen geldige waarde !');
				veld.value="";
				veld.focus();
				}
			}
		}
	}
