function setppd() {
	if ((document.getElementById('xOB_Opleidingsprijs').value.length > 0) && (document.getElementById('xOpl_Uren').value.length > 0)) {
	    document.getElementById('ppd').innerText = "€ " + (document.getElementById('xOB_Opleidingsprijs').value.replace(",", ".") / document.getElementById('xOpl_Uren').value.replace(",", ".")).toFixed(2).replace(".", ",");
	}
}
function setppd2() {
	if ((document.getElementById('xA_Opleidingsprijs').value.length > 0) && (document.getElementById('xA_Uren').value.length > 0)) {
	    var ppd = (document.getElementById('xA_Opleidingsprijs').value.replace(",", ".") / document.getElementById('xA_Uren').value.replace(",", ".")).toFixed(2).replace(".", ",");
		if (ppd != 'NaN') {
			document.getElementById('ppd').innerText = "€ " + ppd;
		}
	}
}

function chkformPNO(frm) {
	var message = 'Sommige velden zijn niet correct of niet volledig ingevoerd:\n\n';
	
	if (frm.xOG_Groep_ID.value.length == 0) message += '- Cluster\n';
	if (frm.xOpl_SubClusterNaam.value.length == 0) message += '- Subcluster\n';
	if (frm.xOpl_MaxUurPrijs.value.length == 0) message += '- Maximale subsidiable uurprijs\n';
	if (message != 'Sommige velden zijn niet correct of niet volledig ingevoerd:\n\n') {
		alert(message);
		return false;
	}
	return true;
}

function chkform(frm) {
	var message = 'Sommige velden zijn niet correct of niet volledig ingevoerd:\n\n';
	
	if (frm.xOpl_Naam.value.length == 0) message += '- Opleidingsnaam\n';
	if (frm.xOpl_Groep_ID.value.length < 2) message += '- Subcluster\n';
	if (frm.xOB_Opleidingsprijs.value.length == 0) message += '- Prijs per deelname\n';
	if (frm.xOpl_Uren.value.length == 0) message += '- Duur opleiding in contacturen\n';
	if (frm.xOpl_Niveau_ID.value.length == 0) message += '- Niveau van de opleiding\n';
	if (frm.xOB_OplType_ID.value.length == 0) message += '- EVC/Cursussen\n';
	if (frm.xOpl_Doelgroep.value.length == 0) message += '- Voor wie is de opleiding?\n';
	if (frm.xOpl_Vervolg.value.length == 0) message += '- Doel van de opleiding\n';
	if (frm.xOpl_Beschrijving.value.length == 0) message += '- Omschrijving van de inhoud\n';
	if (frm.xOpl_Examen.value.length == 0) message += '- Wijze van toetsing\n';
	if (frm.xToegankelijk.type=='checkbox') {
		if (!frm.xToegankelijk.checked) message += '- Opleider verklaart hierbij dat de opleiding algemeen toegankelijk is.\n';
	}
	if (message != 'Sommige velden zijn niet correct of niet volledig ingevoerd:\n\n') {
		alert(message);
		return false;
	}
	return true;
}

function validateFile(id) {
	if (id.value.length == 0) {
		alert('Klik op bladeren en selecteer het door u gevulde importbestand met kandidaten!');
		return false;
	}
	else {
		if (id.value.lastIndexOf('Import.xls') == -1) {
			alert('Ongeldig bestand gekozen. U dient het bestand \'Import.xls\' te gebruiken zoals hierboven te downloaden. Het bestand dient ook deze naam te houden.');
			return false;
		}						
	}	
	return true;
}

function validateImgUpload(id) {
	if (id.value.length == 0) {
		alert('Selecteer eerst een jpeg of een gif bestand dat u als logo wilt gebruiken');
		return false;
	}
	else {
		if (!(id.value.toUpperCase().lastIndexOf('.GIF') != -1 || id.value.toUpperCase().lastIndexOf('.JPG') != -1))  {
			alert('Ongeldig bestand gekozen. U dient een gif of een jpg bestand te gebruiken');
			return false;
		}		
	}	
	return true;
}


function IsDatumInPeriode(startPeriode, eindPeriode, controledatumID) {
	var start = '' + startPeriode.substr(3,2) +'/' + startPeriode.substr(0,2) + '/' + startPeriode.substr(6);
	var eind  = '' + eindPeriode.substr(3,2) +'/' + eindPeriode.substr(0,2) + '/' + eindPeriode.substr(6);
	var controle  = '' + document.getElementById(controledatumID).value.substr(3,2) +'/' + document.getElementById(controledatumID).value.substr(0,2) + '/' + document.getElementById(controledatumID).value.substr(6);
	if( Date.parse(controle) < Date.parse(start) || Date.parse(controle) > Date.parse(eind) ) {
	   alert('Deze datum ligt niet binnen de vereiste periode (' + startPeriode + ' t/m ' + eindPeriode + ') om in aanmerking te komen voor ESF.');
	   document.getElementById(controledatumID).focus();
	   return false;
	}
	return true;
}

function IsDatumInPeriode2(startPeriode, eindPeriode, StartDatumID, EindDatumID) {
	var start = '' + startPeriode.substr(3,2) +'/' + startPeriode.substr(0,2) + '/' + startPeriode.substr(6);
	var eind  = '' + eindPeriode.substr(3,2) +'/' + eindPeriode.substr(0,2) + '/' + eindPeriode.substr(6);
	var startdatum  = '' + document.getElementById(StartDatumID).value.substr(3,2) +'/' + document.getElementById(StartDatumID).value.substr(0,2) + '/' + document.getElementById(StartDatumID).value.substr(6);
	var einddatum  = '' + document.getElementById(EindDatumID).value.substr(3,2) +'/' + document.getElementById(EindDatumID).value.substr(0,2) + '/' + document.getElementById(EindDatumID).value.substr(6);
	if( Date.parse(startdatum) > Date.parse(einddatum) ) {
		alert('De ingevulde einddatum ligt voor de startdatum.');
		document.getElementById(EindDatumID).focus();
		return false;
	}
	if( Date.parse(startdatum) < Date.parse(start) || Date.parse(startdatum) > Date.parse(eind) ) {
		alert('De startdatum ligt niet binnen de vereiste periode (' + startPeriode + ' t/m ' + eindPeriode + ') om in aanmerking te komen voor ESF.');
		document.getElementById(StartDatumID).focus();
		return false;
	}
	if( Date.parse(einddatum) < Date.parse(start) || Date.parse(einddatum) > Date.parse(eind) ) {
		if (document.getElementById('xG_BBL').value == 'ja') {
			alert('Deze datum ligt niet binnen de vereiste periode (' + startPeriode + ' t/m ' + eindPeriode + ') om in aanmerking te komen voor ESF.');
			document.getElementById(EindDatumID).focus();
			return false;
		} else {
			alert('De einddatum van de opleiding valt buiten de projectperiode die loopt tot en met ' + eindPeriode + '. Dit betekent dat uw opleidingskosten slechts deels voor subsidie in aanmerking komen. Opleidingskosten worden naar rato van de duur van de opleiding opgenomen in het project. Hiervoor is een volledige en correcte presentielijst van de gehele opleiding noodzakelijk. Denkt u hieraan!\n\nLet op: Ga tevens na of het subsidievoordeel opweegt tegen de kosten voor deelname!');
			return false;
		}
	}
	return true
}

function IsDatumInPeriodeBBL(startPeriode, eindPeriode, StartDatumID, EindDatumID) {
	var start = '' + startPeriode.substr(3,2) +'/' + startPeriode.substr(0,2) + '/' + startPeriode.substr(6);
	var eind  = '' + eindPeriode.substr(3,2) +'/' + eindPeriode.substr(0,2) + '/' + eindPeriode.substr(6);
	var startdatum  = '' + document.getElementById(StartDatumID).value.substr(3,2) +'/' + document.getElementById(StartDatumID).value.substr(0,2) + '/' + document.getElementById(StartDatumID).value.substr(6);
	var einddatum  = '' + document.getElementById(EindDatumID).value.substr(3,2) +'/' + document.getElementById(EindDatumID).value.substr(0,2) + '/' + document.getElementById(EindDatumID).value.substr(6);
	if( Date.parse(startdatum) < Date.parse(start) || Date.parse(startdatum) > Date.parse(eind) ) {
	   alert('De ingevulde startdatum ligt niet binnen de vereiste periode (' + startPeriode + ' t/m ' + eindPeriode + ') om in aanmerking te komen voor ESF. Als de opleiding eerder is begonnen dan de startdatum van het project, vul dan de startdatum van het project (' + startPeriode + ') in.');
	   document.getElementById(StartDatumID).focus();
	   return false;
	}
	if( Date.parse(einddatum) < Date.parse(start) || Date.parse(einddatum) > Date.parse(eind) ) {
	   alert('De ingevulde einddatum ligt niet binnen de vereiste periode (' + startPeriode + ' t/m ' + eindPeriode + ') om in aanmerking te komen voor ESF. Als de opleiding later eindigt dan de einddatum van het project, vul dan de einddatum van het project (' + eindPeriode + ') in.');
	   document.getElementById(EindDatumID).focus();
	   return false;
	}
	return true;
}

function chkformnewopl(frm) {
	var message = 'Sommige velden zijn niet correct of niet volledig ingevoerd:\n\n';
	
	if (frm.xU_Voorletters.value.length == 0) message += '- Voorletters\n';
	if (frm.xU_Naam.value.length == 0) message += '- Achternaam\n';
	if (frm.xU_Telefoon.value.length == 0) message += '- Telefoon\n';
	if (frm.xU_Email.value.length == 0) message += '- Emailadres\n';
	if (frm.xB_KvK.value.length == 0) message += '- KvK-nummer\n';
	if (frm.xB_naam.value.length == 0) message += '- Bedrijfsnaam\n';
	if (frm.xB_adres.value.length == 0) message += '- Adres\n';
	if (frm.xB_postcode.value.length == 0) message += '- Postcode\n';
	if (frm.xB_plaats.value.length == 0) message += '- Plaats\n';	
	if (frm.xB_Tekenbevoegde.value.length == 0) message += '- Tekenbevoegd persoon\n';
	if (!frm.xAkkoord.checked) message += '- Akkoordverklaring\n';
	
	if (message != 'Sommige velden zijn niet correct of niet volledig ingevoerd:\n\n') {
		alert(message);
		return false;
	}
	return true;
}

function setSelected(id_listbox,value) {
var obj = document.getElementById(id_listbox);
	for( var i = 0; i < obj.length; i++ ) {
		if( obj.options[i].value == value ) {
			obj.options[i].selected = true;
			return;
		}
	}
}

function SetFirstCharToUpper(input)
{
	if (input.value.length>1) {
		input.value = input.value.substring(0,1).toUpperCase() + input.value.substring(1,input.value.length);
	}
}

function getInt(x) {
	if (Left(x,1) == '0') {
		x = Right(x,1);
	}
	return parseInt(x);
}
										
function V_Def_Aanmelding() {
	if (document.getElementById('xG_Startdatum').value == "") { 
		document.getElementById('xG_Startdatum').focus(); 
		alert("U heeft het tekstvak \"Werkelijke startdatum opleiding\" vergeten in te vullen.");return (false); 
	}
	if (document.getElementById('xG_Einddatum').value == "") { 
		document.getElementById('xG_Einddatum').focus(); 
		alert("U heeft het tekstvak \"Werkelijke einddatum opleiding\" vergeten in te vullen.");return (false); 
		return false;
	}
	var tweemaanden = true;
	var arr = document.getElementById('xG_Startdatum').value.split('-');
	if (arr.length > 2) {
		var startjaar = getInt(arr[2]);
		var startmaand = getInt(arr[1]);
		var startdag = getInt(arr[0]);
		
		// Opleidingen maximaal van één maand geleden toestaan
		var arr = document.getElementById('grensdatum').value.split('-');
		grensjaar = getInt(arr[2]);
		grensmaand = getInt(arr[1]);
		grensdag = getInt(arr[0]);
		if (grensjaar > startjaar || (grensjaar == startjaar && grensmaand > startmaand) || (grensjaar == startjaar && grensmaand == startmaand && grensdag > startdag)) {
			alert('De startdatum mag maximaal één maand in het verleden liggen.');return(false);
		}
	} else {
		tweemaanden = false;
	}
	var arr = document.getElementById('xG_Einddatum').value.split('-');
	if (arr.length > 2) {
		var eindjaar = getInt(arr[2]);
		var eindmaand = getInt(arr[1]);
		var einddag = getInt(arr[0]);
	} else {
		tweemaanden = false;
	}
	if (tweemaanden) {
		if (startjaar > eindjaar || (startjaar == eindjaar && startmaand > eindmaand) || (startjaar == eindjaar && startmaand == eindmaand && startdag > einddag)) {
			alert('De ingevulde startdatum ligt na de einddatum.');return(false);
		}
	} else {
		alert('De ingevoerde datums zijn ongeldig (dd-mm-yyyy).');return(false);
	}
	if (!isNaN(parseInt(document.getElementById('xAantalDeelnemers').value)) && !isNaN(parseInt(document.getElementById('xResterendAantalDeelnemers').value))) {
		if (parseInt(document.getElementById('xAantalDeelnemers').value) > parseInt(document.getElementById('xResterendAantalDeelnemers').value)){alert("Het aantal aanmeldingen per gebruiker is gemaximeerd op € 50.000 aan opleidingskosten per opleiding, per opleider. De opleidingskosten hierboven zijn niet subsidiabel. Probeer minder deelnemers aan te melden zodat u onder de € 50.000 aan opleidingskosten komt per opleiding, per opleiding. Of kies voor een ander opleidingsinstituut uit ons webportal.\n\nU kunt maximaal " + document.getElementById('xResterendAantalDeelnemers').value + " deelnemers aanmelden.");return (false);}
	}
	if (!document.getElementById('ESFakk').checked) { alert('U dient eerst akkoord te gaan met de ESF-voorwaarden. Vink daarvoor hierboven het hokje aan.'); return false; }
}

function V_Voorlopige_Aanmelding() {
	if (document.getElementById('xBedrijf_ID').value == ""){ document.getElementById('xBedrijf_ID').focus();alert("U heeft geen opleider gekozen. Kies hiervoor eerst een cluster en daarna een opleiding. Vervolgens kunt u de gewenste opleider selecteren.");return (false); }
	if (document.getElementById('xG_Startdatum').value == "") { 
		document.getElementById('xG_Startdatum').focus();
		alert("U heeft het tekstvak \"Geplande startdatum opleiding\" vergeten in te vullen. \n\nTekstvakken met een sterretje (*) hebben wij nodig voor een goede afhandeling van uw vraag.");return (false); 
	}
	//else {
	//	return IsDatumInPeriode('01-04-2009', '01-04-2010', 'xG_Startdatum');
	//}
	if (document.getElementById('xG_AantalDeelnemers').value == ""){ document.getElementById('xG_AantalDeelnemers').focus();alert("U heeft het tekstvak \"Verwacht aantal deelnemers\" vergeten in te vullen.");return (false); }
	if (!isNaN(parseInt(document.getElementById('xOplBedr_ID').options[document.getElementById('xOplBedr_ID').selectedIndex].resterendaantaldeelnemers))) {
		if (parseInt(document.getElementById('xG_AantalDeelnemers').value) > parseInt(document.getElementById('xOplBedr_ID').options[document.getElementById('xOplBedr_ID').selectedIndex].resterendaantaldeelnemers)){ document.getElementById('xG_AantalDeelnemers').focus();alert("Het aantal aanmeldingen per gebruiker is gemaximeerd op € 50.000 aan opleidingskosten per opleiding, per opleider. De opleidingskosten hierboven zijn niet subsidiabel. Probeer minder deelnemers aan te melden zodat u onder de € 50.000 aan opleidingskosten komt per opleiding, per opleiding. Of kies voor een ander opleidingsinstituut uit ons webportal.\n\nU kunt maximaal " + document.getElementById('xOplBedr_ID').options[document.getElementById('xOplBedr_ID').selectedIndex].resterendaantaldeelnemers + " deelnemers aanmelden.");return (false); }
	}
	if (document.getElementById('xOplBedr_ID').value == ""){ document.getElementById('xOplBedr_ID').focus();alert("Deze opleider biedt deze opleiding in meerdere varianten aan. U heeft hierin geen keuze gemaakt.");return (false); }
}

function V_BBL_Aanmelding() {
	if (document.getElementById('xBedrijf_ID').value == ""){ document.getElementById('xBedrijf_ID').focus();alert("U heeft geen opleider gekozen. Kies hiervoor eerst een cluster en daarna een opleiding. Vervolgens kunt u de gewenste opleider selecteren.");return (false); }
	if (document.getElementById('xG_Startdatum').value == "") { 
		document.getElementById('xG_Startdatum').focus();
		alert("U heeft het tekstvak \"Werkelijke startdatum opleiding\" vergeten in te vullen. \n\n");return (false); 
	}
	//else {
	//	return IsDatumInPeriode('01-04-2009', '01-04-2010', 'xG_Startdatum');
	//}
	if (document.getElementById('xG_Einddatum').value == "") { 
		document.getElementById('xG_Einddatum').focus();
		alert("U heeft het tekstvak \"Werkelijke einddatum opleiding\" vergeten in te vullen. \n\n");return (false); 
	}
	//else {
	//	return IsDatumInPeriode('01-04-2009', '01-04-2010', 'xG_Startdatum');
	//}
	var sStartdatum = document.getElementById('xG_Startdatum').value;
	var sEinddatum = document.getElementById('xG_Einddatum').value;
	var tweemaanden = true;
	var arr = sStartdatum.split('-');
	if (arr.length > 2) {
		var startjaar = getInt(arr[2]);
		var startmaand = getInt(arr[1]);
		var startdag = getInt(arr[0]);
	} else {
		tweemaanden = false;
	}
	var arr = sEinddatum.split('-');
	if (arr.length > 2) {
		var eindjaar = getInt(arr[2]);
		var eindmaand = getInt(arr[1]);
		var einddag = getInt(arr[0]);
	} else {
		tweemaanden = false;
	}
	if (tweemaanden) {
		if (startjaar > eindjaar || (startjaar == eindjaar && startmaand > eindmaand) || (startjaar == eindjaar && startmaand == eindmaand && startdag > einddag)) {
			alert('De ingevulde startdatum ligt na de einddatum.');return(false);
		}
		var duur = document.getElementById('nominaleduur').innerHTML;
		if (duur == '' || duur == '0 weken' || duur == '1 week' || duur == '2 weken' || duur == '3 weken') {
			alert('De minimale looptijd van een BBL traject moet 4 volledige weken zijn.');return(false);
		}
	} else {
		alert('De ingevoerde datums zijn ongeldig (dd-mm-yyyy).');return(false);
	}
	if (document.getElementById('xOplBedr_ID').selectedIndex == 0){
		if (document.getElementById('xOplBedr_ID').style.display != 'none') {
			document.getElementById('xOplBedr_ID').focus();
			alert("Deze opleider biedt deze opleiding in meerdere varianten aan. U heeft hierin geen keuze gemaakt.");
			return (false);
		}
	}
	getEsfSubsidie(document.getElementById('nominaleduur'), document.getElementById('projectperiode'), document.getElementById('nettoresultaat'), document.getElementById('xOplBedr_ID').value, sStartdatum, sEinddatum);
	if (!datumsOK)	{
		return false;
	}
	if (!document.getElementById('ESFakk').checked) { alert('U dient eerst akkoord te gaan met de ESF-voorwaarden. Vink daarvoor hierboven het hokje aan.'); return false; }
	return confirm('Weet u zeker dat u deze deelnemer(s) definitief wilt aanmelden?\n\nPer deelnemer wordt € '+document.getElementById('xAdministratiekosten').value+' (excl. BTW) in rekening gebracht.');
}	

function V_RCP() {
	if (document.getElementById("xRocContactPersoon_ID").selectedIndex == 0){ document.getElementById("xRocContactPersoon_ID").focus();alert("U heeft geen contactpersoon opleider gekozen.");return (false); }
	if (document.getElementById("xRCP_Voornaam").value == ""){ document.getElementById("xRCP_Voornaam").focus();alert("U heeft het tekstvak \"Voornaam\" vergeten in te vullen.");return (false); }
	if (document.getElementById("xRCP_Achternaam").value == "") { document.getElementById("xRCP_Achternaam").focus();alert("U heeft het tekstvak \"Achternaam\" vergeten in te vullen.");return (false);}
	if (document.getElementById("xRCP_Geslacht").value == ""){ document.getElementById("xRCP_Geslacht").focus();alert("U heeft de keuzelijst \"Geslacht\" vergeten in te vullen.");return (false); }
	if (document.getElementById("xRCP_Telefoonnummer").value == ""){ document.getElementById("xRCP_Telefoonnummer").focus();alert("U heeft het tekstvak \"Telefoonnummer\" vergeten in te vullen.");return (false); }
	if (document.getElementById("xRCP_Emailadres").value == ""){ document.getElementById("xRCP_Emailadres").focus();alert("U heeft het tekstvak \"E-mailadres\" vergeten in te vullen.");return (false); }
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("xRCP_Emailadres").value))){ document.getElementById("xRCP_Emailadres").focus();alert("U heeft geen geldig e-mailadres ingevuld.");return (false); }
}

function V_BBL_Groep_Uitschrijven(s) {
	if (document.getElementById('xG_Einddatum').value=='') {alert('U heeft geen einddatum ingevuld.');return false;}
	var arr = document.getElementById('xG_Einddatum').value.split('-');
	var tweemaanden = true;
	if (arr.length > 2) {
		var eindjaar = getInt(arr[2]);
		var eindmaand = getInt(arr[1]);
		var einddag = getInt(arr[0]);
	} else {
		tweemaanden = false;
	}
	var arr = document.getElementById('MaxEinddatum').value.split('-');
	if (arr.length > 2) {
		var maxjaar = getInt(arr[2]);
		var maxmaand = getInt(arr[1]);
		var maxdag = getInt(arr[0]);
	} else {
		tweemaanden = false;
	}
	if (tweemaanden) {
		if (eindjaar > maxjaar || (eindjaar == maxjaar && eindmaand > maxmaand) || (eindjaar == maxjaar && eindmaand == maxmaand && einddag > maxdag)) {
			alert('De ingevoerde einddatum mag niet na de oorspronkelijke einddatum ('+document.getElementById('MaxEinddatum').value+') liggen.');
			if (!s) {
				document.getElementById('xG_Einddatum').focus();
			}
			return(false);
		}
	} else {
		alert('De ingevoerde einddatum is ongeldig (dd-mm-yyyy).');
		if (!s) {
			document.getElementById('xG_Einddatum').focus();
		}
		return(false);
	}
	if (s) {
		if (document.getElementById('xIN_UitschrReden_ID').selectedIndex==0) {alert('U heeft geen uitschrijfreden gekozen.');return false;}
	}
	return true;
}

var datumsOK = false;
function updNominaleduur (dropdownlijst) {
	var sStartdatum = document.getElementById('xG_Startdatum').value;
	var sEinddatum = document.getElementById('xG_Einddatum').value;
	var tweedatums = true;
	var arr = sStartdatum.split('-');
	if (arr.length > 2) {
		var startjaar = getInt(arr[2]);
		var startmaand = getInt(arr[1]);
		var startdag = getInt(arr[0]);
	} else {
		tweedatums = false;
	}
	var arr = sEinddatum.split('-');
	if (arr.length > 2) {
		var eindjaar = getInt(arr[2]);
		var eindmaand = getInt(arr[1]);
		var einddag = getInt(arr[0]);
	} else {
		tweedatums = false;
	}
	if (tweedatums) {
		if (startjaar > eindjaar || (startjaar == eindjaar && startmaand > eindmaand) || (startjaar == eindjaar && startmaand == eindmaand && startdag > einddag)) {
			alert('De ingevulde startdatum ligt na de einddatum.');
		} else {
			getEsfSubsidie(document.getElementById('nominaleduur'), document.getElementById('projectperiode'), document.getElementById('nettoresultaat'), document.getElementById('xOplBedr_ID').value, sStartdatum, sEinddatum);
		}
	}
}
var canAlert = true;
function stopAlert() {
	canAlert = false;
	setTimeout('canAlert = true', 500); // disable alert for short time to event blur/focus loop (with alert);
}
function hasNumbers(t)
{
	if (t.length > 0) {
		var regex = /\d/g;
		if (!regex.test(t)) {
			alert('Het adres bevat geen huisnummer!');
			form1.xU_Adres.focus();
			return false
		}
	}
}

function Right(str, n)
{
  if (n <= 0)
	  return "";
  else if (n > String(str).length)
	  return str;
  else
  {
    var iLen = String(str).length;
    return String(str).substring(iLen, iLen - n);
  }
}

function Left(str, n)
{
   if (n <= 0)
         return "";
   else if (n > String(str).length)
         return str;
   else
         return String(str).substring(0,n);
}

function checkForm( f ) { 
	var objTemp;
	var notValid = false;
	for ( var i = 0; i < f.elements.length; i++ ) {
		objTemp = f.elements[i];
		if ( objTemp.type != 'hidden' && objTemp.type != 'submit' && objTemp.id.substring(0,1) =='*' ) {
			if ( objTemp.type == 'text') //TEXTINPUTS
				if ( objTemp.value.length == 0 ) {
					objTemp.style.border = '1px solid #cc0000';
					notValid = true; }
				else 	
					objTemp.style.border = '1px solid #CAD2DE'; 
			if ( objTemp.type == 'select-one') //SELECTLIST
				if ( objTemp.value.length == 0 ) {
					objTemp.options[objTemp.selectedIndex].style.backgroundColor = '#FF0000';
					notValid = true; }
			if ( objTemp.type == 'radio') { //RADIO BUTTONS
				for ( var j = 0; j < objTemp.length; j++ ) {
					if ( objTemp[j].checked ) {
						boolIsValid = true;
						break;
					}
				}
			}		
		}
	}
	if (notValid) {
		alert('De rood geaccentueerde velden zijn niet of niet volledig ingevoerd');
		return false;
	}
	return true;
}

function Tekstaanpassing(mijnobj) {
  while (mijnobj.value.indexOf("'")>-1) 
  {
	  mijnobj.value=mijnobj.value.replace("'","´");
  }	
  while (mijnobj.value.indexOf('"')>-1) 
  {
	  mijnobj.value=mijnobj.value.replace('"','´');
  }	
}

function tweedecimalen(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function PostcodeCheck(mijnobj) {
	if (mijnobj.value.length==6) { 
		if (mijnobj.value.substr(4,1)>="A" && mijnobj.value.substr(5,1)>="A") mijnobj.value=mijnobj.value.substr(0,4)+" "+mijnobj.value.substr(4,2).toUpperCase();
	} else {
		mijnobj.value=mijnobj.value.toUpperCase();
	}
}

function bValidateSofinummer(obj) { 
	var reSofi = /(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)/; 
	var bValid = false; 
	var array; 
	var lSom = 0;
	if ((obj.value.length == 0) || (obj.value == null)) 
		bValid = false; 
	else { 
		bValid = (reSofi.test(obj.value)); 
		if (bValid) { 
		// 11 proef 
			array = (obj.value.match(reSofi)); 
			for (i=1;i<9;i+=1) 
				lSom += (array[i] * (9-(i-1))); 
				bValid = (((lSom -= array[9]) % 11) == 0) 
		} 
	} 
	if (!bValid && obj.value.length > 0) {
		alert('Incorrect BSN!');
		obj.focus();
		return false;
	}
	return true;
} 

function SofinrCheck(mijnobj) {
	if (mijnobj.value.length==8) if (mijnobj.value.substr(0,1)<="A" && mijnobj.value.substr(1,1)<="A" && mijnobj.value.substr(2,1)<="A" && mijnobj.value.substr(3,1)<="A" && mijnobj.value.substr(4,1)<="A" && mijnobj.value.substr(5,1)<="A" && mijnobj.value.substr(6,1)<="A" && mijnobj.value.substr(7,1)<="A") mijnobj.value="0" + mijnobj.value.substr(0,8);
}
function RekeningCheck(mijnobj) {
	var tot=0
		for (i=0;i<mijnobj.value.length;i+=1) if (mijnobj.value.charCodeAt(i)<48 ||  mijnobj.value.charCodeAt(i)>57) tot=1;
		if (tot!=0) {
			alert("Rekeningnummer mag alleen uit cijfers bestaan!");
			mijnobj.focus();
			return false;
		}
		tot = 0


	if (mijnobj.value.length==9) for (i=0;i<9;i+=1) tot+=mijnobj.value.substr(i,1)*(9-i);
	if (tot%11!=0) {
		alert("Ongeldig bankrekeningnummer!");
		mijnobj.focus();
		return false;
	} else {
		return true;
   	}
}

function Puntje(mijnobj) {
	if (mijnobj.value.substr(mijnobj.value.length-1,1)!='.' && mijnobj.value.length>0 && mijnobj.value.length<12) mijnobj.value=mijnobj.value+".";
}
function NaarHoofdletters(mijnobj) {
	mijnobj.value=mijnobj.value.toUpperCase();
}
function NaarKleineletters(mijnobj) {
	mijnobj.value=mijnobj.value.toLowerCase();
}
function MaakNumeriek(mijnobj) {
   if (mijnobj.value.length>0) mijnobj.value=parseInt(mijnobj.value);
   if (isNaN(mijnobj.value)) mijnobj.value="";
}

function Getalaanpassing(mijnobj) {
  while (mijnobj.value.indexOf(",")>-1) 
  {
	  mijnobj.value=mijnobj.value.replace(",",".");
  }	
  if (mijnobj.value.length==2 && mijnobj.value!=10) mijnobj.value=mijnobj.value.substr(0,1)+"."+mijnobj.value.substr(1,1);
  if (mijnobj.value.length==1) mijnobj.value=mijnobj.value+".0"
}

function controleerbedrag(obj)
{
	if( obj.value.length==0 ) return;
	obj.value = obj.value.replace(/,/g, ".");
	var prijs = parseFloat(obj.value);
	if(isNaN(prijs) || (obj.value.indexOf('.') != obj.value.lastIndexOf('.')) ) {
		obj.focus();
		alert('Geen geldige prijs');
		}
	else
		obj.value = tweedecimalen(prijs);
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '€ ' + num + ',' + cents);
}


function ControleerFloat(mijnobj) 
{
	mijnobj.value = mijnobj.value.replace(/,/g, ".");
	if( isNaN( mijnobj.value ) ) {
		alert('Ongeldige invoer!');
		this.focus();
	}	
}

function ControleerDecimaalteken(mijnobj) 
{
	mijnobj.value = mijnobj.value.replace(/,/g, ".");
}

function controleerdatum(objName,jaarlengte) {
var datefield = objName;
if (chkdate(objName,jaarlengte) == false) {
datefield.select();
alert("Ongeldige datum!");
datefield.focus();
return false;
}
else {
	if (datefield.value.length > 0) {
		var filter = /^[0-9]{2}[\-]{1}[0-9]{2}[\-]{1}[0-9]{4}$/;
		if (!filter.test(datefield.value)) {
			alert("Ongeldige datum!")
			datefield.focus();
			return false;
		}	
	}
	return true;
   }
}

function checkPostcode(id) {
	if (id.value.length>0) {
		var filter = /^[1-9]{1}[0-9]{3} *[a-zA-Z]{2}$/;
		if (!filter.test(id.value)) {
			alert('Voer een geldige postcode in');
			id.focus();
			return false;
		}
		id.value = id.value.toUpperCase();
	}	
}

function chkTime(id) {
	if (id.value.length>0) {
		id.value = id.value.replace(".", ":");
		if (isNaN(id.value.substr(0,2))) 
			id.value = '0' + id.value;
		var filter = /^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/;
		if (!filter.test(id.value)) {
			alert('Voer een geldige tijd in\nBijvoorbeeld \'09:00\' of \'13:00\'');
			id.focus();
		}
	}	
}


function chkdate(objName,jaarlengte) {
var strNieuweOpmaak;
var strDatum;
var strDatumArray;
var strDag;
var strMaand;
var strJaar;
var intDag;
var intMaand;
var intJaar;
var booGevonden = false;
var datefield = objName;
var strScheidingstekens = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMaandArray = new Array(12);
strMaandArray[0] = "Jan";
strMaandArray[1] = "Feb";
strMaandArray[2] = "Mrt";
strMaandArray[3] = "Apr";
strMaandArray[4] = "Mei";
strMaandArray[5] = "Jun";
strMaandArray[6] = "Jul";
strMaandArray[7] = "Aug";
strMaandArray[8] = "Sep";
strMaandArray[9] = "Okt";
strMaandArray[10] = "Nov";
strMaandArray[11] = "Dec";
strDatum = datefield.value;
if (strDatum.length < 1) {
	return true;
}
for (intElementNr = 0; intElementNr < strScheidingstekens.length; intElementNr++) {
	if (strDatum.indexOf(strScheidingstekens[intElementNr]) != -1) {
		strDatumArray = strDatum.split(strScheidingstekens[intElementNr]);
		if (strDatumArray.length != 3) {
			err = 1;
			return false;
		}
		else {
			strDag = strDatumArray[0];
			strMaand = strDatumArray[1];
			strJaar = strDatumArray[2];
		}
		booGevonden = true;
	}
}
if (booGevonden == false) {
	if (strDatum.length>5) {
		strDag = strDatum.substr(0, 2);
		strMaand = strDatum.substr(2, 2);
		strJaar = strDatum.substr(4);
	}
}

intDag = parseInt(strDag, 10);
if (isNaN(intDag)) {
	err = 2;
	return false;
}
intMaand = parseInt(strMaand, 10);
if (isNaN(intMaand)) {
	for (i = 0;i<12;i++) {
		if (strMaand.toUpperCase() == strMaandArray[i].toUpperCase()) {
			intMaand = i+1;
			strMaand = strMaandArray[i];
			i = 12;
		}
	}
	if (isNaN(intMaand)) {
		err = 3;
		return false;
	}
}
intJaar = parseInt(strJaar, 10);
if (isNaN(intJaar)) {
	err = 4;
	return false;
}
if (intMaand>12 || intMaand<1) {
	err = 5;
	return false;
}
if ((intMaand == 1 || intMaand == 3 || intMaand == 5 || intMaand == 7 || intMaand == 8 || intMaand == 10 || intMaand == 12) && (intDag > 31 || intDag < 1)) {
	err = 6;
	return false;
}
if ((intMaand == 4 || intMaand == 6 || intMaand == 9 || intMaand == 11) && (intDag > 30 || intDag < 1)) {
	err = 7;
	return false;
}
if (intMaand == 2) {
	if (intDag < 1) {
		err = 8;
		return false;
	}
	if (Schrikkeljaar(intJaar) == true) {
		if (intDag > 29) {
			err = 9;
			return false;
		}
	}
	else {
		if (intDag > 28) {
			err = 10;
			return false;
		}
	}
}
if (strJaar.length == 4 && jaarlengte==2) {
	strJaar = strJaar.substr(2,2);
}
if (strJaar.length == 2 && jaarlengte==4) {
	if (parseInt(strJaar, 10)<25) {
		strJaar = "20" + strJaar;
	}
	else {
		strJaar = "19" + strJaar;
	}
}
if (intDag<10) strNieuweOpmaak="0"; else strNieuweOpmaak="";
strNieuweOpmaak=strNieuweOpmaak+intDag;
if (intMaand<10) strNieuweOpmaak=strNieuweOpmaak+"-0"; else strNieuweOpmaak=strNieuweOpmaak+"-";
strNieuweOpmaak =strNieuweOpmaak + intMaand + "-"
if (strJaar.length==1) {if (jaarlengte==4) {strNieuweOpmaak=strNieuweOpmaak+"200";} else {strNieuweOpmaak=strNieuweOpmaak+"0";}}
datefield.value = strNieuweOpmaak + strJaar;
return true;
}

function Schrikkeljaar(intJaar) {
if (intJaar % 100 == 0) {
	if (intJaar % 400 == 0) { return true; }
}
else {
	if ((intJaar % 4) == 0) { return true; }
}
return false;
}

