var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function gv(inId)
{
	if (document.getElementById) 
	{		
		return document.getElementById(inId).value;
	}
	else
	{
		return '';
	}
}
function sv(inId, inVal)
{	
	if (document.getElementById) 
		document.getElementById(inId).value = inVal;
}
function d_fcA_datumcheck(inThis)
{	
	if (document.getElementById && inThis.value) 
	{	
		var i_chkdat 	= inThis.value;
		var i_chkid		= inThis.id;
		var i_temp		= 0;
		var i_chk 		= true;
		var i_cmsg		= 'Gelieve het veld met een andere waarde in te vullen!';
		var i_msg		= '';
		// maak dividers uniform 
		i_chkdat 		= i_chkdat.replace(/-|;|:|\\|\.|,/g,'/')
		// zet datum items in array
		if(i_chkdat) 
		{
			var datValues	= new Array();
			for(var i=0; i < i_chkdat.split("/").length; i++) 
			{
				datValues[i] = i_chkdat.split("/")[i];
			}
		}
		//alleen als er drie waardes zijn
		if (i == 3)
		{
			//maak van de waarden integers zonder leading zero
			// de 10 in parseInt zorgt dat een leading zero geaccepteerd wordt.
			var dag 	= parseInt(datValues[0],10);
			var maand 	= parseInt(datValues[1],10);
			var jaar 	= parseInt(datValues[2],10);
			// als tweede positie logischer wijze geen maand kan zijn, wissel dan
			if (maand > 12 && dag < 13)
			{
				i_tmp 	= maand;
				maand	= dag;
				dag		= i_tmp;
			}
			// als jaar niet als 2000 genoteerd is probeer dan maar
			if (jaar < 999)
			{
				i_tmp	= jaar;
				jaar	= i_tmp += 2000;
			}
			//wijzig dagen februari wanneer schrikkeljaar
			if (jaar/4 == parseInt(jaar/4))
			{
				monthLength[1] = 29;
			}
			else
			{
				monthLength[1] = 28;
			}
			//kijk in welke range datum valt
			var now = new Date();
			now = now.getTime(); 
			//NN3
			//niet in het verleden
			var dateToCheck = new Date();
			dateToCheck.setYear(jaar);
			dateToCheck.setMonth(maand-1);
			dateToCheck.setDate(dag);
			var checkDate = dateToCheck.getTime();
			var futureDate = (now < checkDate);
			//minimaal 7 dagen vooruit
			var now7 = new Date();
			now7 = now7.getTime() + 6*24*60*60*1000;
			var shortDate = (now7 < checkDate);
			// niet verder dan een jaar vooruit
			var now365 = new Date();
			now365 = now365.getTime() + 365*24*60*60*1000;
			var longDate = (now365 > checkDate);
			//retourdatum niet eerder dan vertrekdatum
			if(i_chkid == 'fcA_tf_datumretour')
			{
				var t_chk_testdatum = gv('fcA_tf_datumvertrek');
				if (t_chk_testdatum) 
				{
					var datTestValues = new Array();
					for (var i=0; i < t_chk_testdatum.split("/").length; i++) 
					{
						datTestValues[i] = t_chk_testdatum.split("/")[i];
					}
					var t_dag 	= parseInt(datTestValues[0],10);
					var t_maand = parseInt(datTestValues[1],10);
					var t_jaar 	= parseInt(datTestValues[2],10);
					var dateTestCheck = new Date();
					dateTestCheck.setYear(t_jaar);
					dateTestCheck.setMonth(t_maand-1);
					dateTestCheck.setDate(t_dag);
					var t_vertrekcheck = dateTestCheck.getTime();
					var earlyDate = (t_vertrekcheck < checkDate);
				}
			}
			// test de datum op geldig bereik
			if (dag > monthLength[maand-1] || maand > 12)
			{
				i_msg	= 'datum is niet geldig: \\n notatie = dd/mm/jjjj \\n';
				i_cmsg	= i_cmsg + i_msg
				i_chk 	= false;
			}
			if (futureDate == false)
			{
				i_msg	= 'ingegeven datum is in verleden: \\n';
				i_cmsg	= i_cmsg + i_msg
				i_chk 	= false;
			}
			if (shortDate == false)
			{
				i_msg	= 'plan datum minimaal 7 dagen vooruit: \\n';
				i_cmsg	= i_cmsg + i_msg
				i_chk 	= false;
			}
			if (longDate == false)
			{
				i_msg	= 'plan niet langer dan een jaar vooruit: \\n';
				i_cmsg	= i_cmsg + i_msg
				i_chk 	= false;
			}
			if (earlyDate == false)
			{
				i_msg	= 'Retourdatum is eerder gepland dan vertrekdatum: \\n';
				i_cmsg	= i_cmsg + i_msg
				i_chk 	= false;
			}
		}
		else
		{
		// als datum maar twee of minder waardes telt
			i_msg	= 'datum is niet geldig: \\n notatie = dd/mm/jjjj \\n';
			i_cmsg	= i_cmsg + i_msg
			i_chk 	= false
		}
		if (i_chk == false)
		{
			alert(i_cmsg + "u heeft ingevuld: " + inThis.value);
			//setTimeout is nodig om in FF ook focus te krijgen
			setTimeout(function(){document.getElementById(i_chkid).focus();document.getElementById(i_chkid).select();},10);
			sv(i_chkid, '');
			return false;
		}
		else
		{	//plaats leading zeros terug
			if (dag < 10) dag = '0' + dag;
			if (maand < 10) maand = '0' + maand;
			//maak nieuwe datum om terug te plaatsen in veld
			var i_newdate = dag + "/" + maand + "/" + jaar;
			sv(i_chkid, i_newdate);
			//plaats geconverte data in
			switch (i_chkid)
			{
				case 'fcA_tf_datumvertrek':	sv('fcA_hf_dag1', dag);
					sv('fcA_hf_maandjaar1', maand + "/" + jaar);
					break;
				case 'fcA_tf_datumretour':	sv('fcA_hf_dag2', dag);
					sv('fcA_hf_maandjaar2', maand + "/" + jaar);
					break;
				default:
				return false;
			}
			return true;
		}
	}
}
function d_fcA_copydestination(inThis)
{
	if (document.getElementById && inThis.value) 
	{
		var i_chktxt 	= inThis.value;
		var i_chkid		= inThis.id;
		switch (i_chkid)
		{
			case 'fcA_tf_vertrek':
				sv('fcA_hf_des2_apname', i_chktxt);
				break;
			case 'fcA_tf_bestemming':
				sv('fcA_hf_dep2_apname', i_chktxt);
				break;
			default:
				return false;
		}
	}
}
function d_fcA_validate()
{
	if (document.getElementById) 
	{
		var i_chk = true;
		var i_vld = '';
		if(!gv('fcA_tf_vertrek')) 
		{
			i_chk = false;
			i_vld = i_vld + '- Van \n';
		}
		if(!gv('fcA_tf_bestemming'))
		 {
		 	i_chk = false;
			i_vld = i_vld + '- Naar \n';
		}
		if(!gv('fcA_hf_dag1'))
		{
			i_chk = false;
			i_vld = i_vld +'- Vertrekdatum \n';
		}
		if(!gv('fcA_hf_dag2'))
		{
			i_chk = false;
			i_vld = i_vld + '- Retourdatum \n';
		}
		//verwerk de test
		if (i_chk)
		{
			document.getElementById('fcA_form').submit();
		}
		else
		{
			alert(' Het formulier is niet correct of niet volledig ingevuld! \n Veld(en) om te controleren: \n ' + i_vld);
			return false;
		}
	}
}
