var foutKleur = '#ffffa0';

function validateAfspraakForm(theForm) {
	var reason = "";
	reason += validateDatum(theForm.af_datum);
	reason += validateTijd(theForm.af_begintijd,false);
	reason += validateTijd(theForm.af_eindtijd,false);
	reason += validateLengte(theForm.af_locatie,50);
	reason += validateEmpty(theForm.af_onderwerp,60);
	reason += validateLengte(theForm.af_omschrijving,1024);
	reason += validateNietNul(theForm.af_persoon_id);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateAgendaForm(theForm) {
	var reason = "";
	reason += validateDatum(theForm.ag_datum);
	reason += validateTijd(theForm.ag_begintijd,false);
	reason += validateTijd(theForm.ag_eindtijd,false);
	reason += validateLengte(theForm.ag_locatie,50);
	reason += validateEmpty(theForm.ag_onderwerp,60);
	reason += validateLengte(theForm.ag_omschrijving,1024);
	reason += validateKeuze(theForm.ag_alleen_leden);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateArtikelForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.ar_titel,60);
	reason += validateEmpty(theForm.ar_tekst,5000);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateBerichtForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.be_titel,60);
	reason += validateEmpty(theForm.be_tekst,5000);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateContactForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.co_naam,50);
	reason += validateEmail(theForm.co_email);
	reason += validateEmpty(theForm.co_vraag,256);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateFunctiesForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.fu_omschrijving,50);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateForumForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.fo_naam,50);
	reason += validateEmail(theForm.fo_email);
	reason += validateEmpty(theForm.fo_bericht,2000);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateGuestbookForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.gu_naam,50);
	reason += validateEmail(theForm.gu_email);
	reason += validateEmpty(theForm.gu_bericht,1024);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateGroepenForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.gr_omschrijving,50);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateInloggenForm(theForm) {
	var reason = "";
	reason += validateEmail(theForm.in_email);
	reason += validateWachtwoord(theForm.in_wachtwoord);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateLinkForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.li_clubnaam,50);
	reason += validateEmpty(theForm.li_url,50);
	reason += validateEmpty(theForm.li_plaats,50);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateLidMuterenForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.pe_voornaam,50);
	reason += validateLengte(theForm.pe_tussenvoegsel,25);
	reason += validateEmpty(theForm.pe_achternaam,50);
	reason += validateEmpty(theForm.pe_adres,50);
	reason += validatePostcode(theForm.pe_postcode);
	reason += validateEmpty(theForm.pe_woonplaats,50);
	reason += validateEmail(theForm.pe_email);
	reason += validateTelefoon(theForm.pe_telefoon, false);
	reason += validateTelefoon(theForm.pe_mobiel, false);
	reason += validateDatum(theForm.pe_geboortedatum);
	reason += validateKeuze(theForm.pe_geslacht);
	reason += validateNietNul(theForm.pe_type_lid);
	reason += validateKeuze(theForm.pe_erelid);
	reason += validateKeuze(theForm.pe_actief);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateMijnGegevensForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.pe_voornaam,50);
	reason += validateLengte(theForm.pe_tussenvoegsel,25);
	reason += validateEmpty(theForm.pe_achternaam,50);
	reason += validateEmpty(theForm.pe_adres,50);
	reason += validatePostcode(theForm.pe_postcode);
	reason += validateEmpty(theForm.pe_woonplaats,50);
	reason += validateTelefoon(theForm.pe_telefoon, false);
	reason += validateTelefoon(theForm.pe_mobiel, false);
	reason += validateDatum(theForm.pe_geboortedatum);
	reason += validateKeuze(theForm.pe_geslacht);
	reason += validateLengte(theForm.pe_typespeler,50);
	reason += validateLengte(theForm.pe_lengte,10);
	reason += validateLengte(theForm.pe_shirt,2);
	reason += validateLengte(theForm.pe_hyves,50);
	reason += validateLengte(theForm.pe_msn,50);
	reason += validateLengte(theForm.pe_varia,5000);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateRechtenForm(theForm) {
	var reason = "";
	
	reason += validateNietNul(theForm.re_persoon_id);
	reason += validateNietNul(theForm.re_functie_id);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateRegistratieForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.pe_voornaam,50);
	reason += validateLengte(theForm.pe_tussenvoegsel,25);
	reason += validateEmpty(theForm.pe_achternaam,50);
	reason += validateEmpty(theForm.pe_adres,50);
	reason += validatePostcode(theForm.pe_postcode);
	reason += validateEmpty(theForm.pe_woonplaats,50);
	reason += validateEmail(theForm.pe_email);
	reason += validateTelefoon(theForm.pe_telefoon, false);
	reason += validateTelefoon(theForm.pe_mobiel, false);
	reason += validateDatum(theForm.pe_geboortedatum);
	reason += validateKeuze(theForm.pe_geslacht);
	reason += validateNietNul(theForm.pe_type_lid);
	reason += validateKeuze(theForm.pe_erelid);
	reason += validateKeuze(theForm.pe_actief);
	reason += validateWachtwoord(theForm.pe_wachtwoord);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateRolverdelingForm(theForm) {
	var reason = "";
	
	reason += validateNietNul(theForm.persoon_id);
	reason += validateNietNul(theForm.functie_id);
	reason += validateNietNul(theForm.groep_id);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateRouteForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.ro_adres,50);
	reason += validateEmpty(theForm.ro_woonplaats,50);
 
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateSponsorsForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.sp_naam,50);
	reason += validateLengte(theForm.sp_url,50);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateTeamRolverdelingForm(theForm) {
	var reason = "";
	
	reason += validateNietNul(theForm.ct_persoon_id);
	reason += validateNietNul(theForm.ct_functie_id);
	reason += validateNietNul(theForm.ct_vcvteam_id);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateTeamsForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.te_poule,1);
	reason += validateEmpty(theForm.te_naam,50);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateToernooiForm(theForm) {
	var reason = "";
	reason += validateEmpty(theForm.to_naam,50);
	reason += validateEmail(theForm.to_email);
	reason += validateDatum(theForm.to_datum);
	reason += validateEmpty(theForm.to_omschrijving,5000);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateBuitentoernooiForm(theForm) {
	var reason = "";
	
	reason += validateEmpty(theForm.bu_contact,50);
	reason += validateEmpty(theForm.bu_adres,50);
	reason += validatePostcode(theForm.bu_postcode);
	reason += validateEmpty(theForm.bu_woonplaats,50);
	reason += validateEmail(theForm.bu_email);
	reason += validateTelefoon(theForm.bu_telefoon, true);
	reason += validateKeuze(theForm.bu_teamkeuze);
	
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateVerslagForm(theForm) {
	var reason = "";
	reason += validateNietNul(theForm.be_vcvteam_id);
	reason += validateEmpty(theForm.be_titel,60);
	reason += validateEmpty(theForm.be_tekst,5000);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateVetUitslagForm(theForm) {
	var reason = "";
	reason += validateUitslag(theForm.we_thuis_pnt,theForm.we_uit_pnt);
	reason += validateDatum(theForm.we_datum);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateVetUpdateForm(theForm) {
	var reason = "";
	reason += validateDatum(theForm.we_datum);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateWachtwoordForm(theForm) {
	var reason = "";
	reason += validateWachtwoord(theForm.ni_wachtwoord);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function validateWachtwoordVergetenForm(theForm) {
	var reason = "";
	reason += validateEmail(theForm.wa_email);

	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function trim(s) {
	return s.replace(/^\s+|\s+$/, '');
} 

// nou de afzonderlijke checks ---------------------------------------------------->>
function validateDatum(fld) {
	var error = "";
	var objRegExp = /^\d{2}-\d{2}-\d{4}/;
	
	if (fld.value == "") {
		fld.style.background = foutKleur; 
		error = "Je bent vergeten een " + fld.name.substring(3) + " in te vullen.\n";
	}
	else if (!objRegExp.test(fld.value)) {
		fld.style.background = foutKleur; 
		error = "Kenmerk "+ fld.name.substring(3) + " moet als volgt worden geschreven: 21-07-1990.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validateEmail(fld) {
	var error="";
	var objRegExp = /^[\w\.\-]+@([\w\-]+\.)*[\w\-]{2,63}\.[a-zA-Z]{2,4}$/;
	var tfld = trim(fld.value); // value of field with whitespace trimmed off
	
	if (fld.value == "") {
		fld.style.background = foutKleur;
		error = "Je bent vergeten een " + fld.name.substring(3) + " in te vullen.\n";
	}
	else if (!objRegExp.test(fld.value)) {
		fld.style.background = foutKleur;
		error = "Ingevulde E-mailadres is niet valide.\n";
	} 
	else {
		fld.style.background = 'White';
	}
	return error;
}

function validateEmpty(fld, veldlengte) {
	var error = "";
		
	if (fld.value == "") {
		fld.style.background = foutKleur; 
		error = "Je bent vergeten een " + fld.name.substring(3) + " in te vullen.\n";
	} 
	else if ((fld.value.length < 1) || (fld.value.length > veldlengte)) {
		fld.style.background = foutKleur; 
		error = "Kenmerk "+ fld.name.substring(3) + " mag niet langer zijn dan " + veldlengte + " karakters.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validateKeuze(fld) {
	var error = "Je bent vergeten een keuze te maken.\n";
	for (i=0; i < fld.length; i++) { 
		if (fld[i].checked) { 
			error = "";
		} 
	} 
	return error;
}

function validateLengte(fld, veldlengte) {
	var error = "";
  
	if ((fld.value.length < 0) || (fld.value.length > veldlengte)) {
		fld.style.background = foutKleur; 
		error = "Kenmerk "+ fld.name.substring(3) + " mag niet langer zijn dan " + veldlengte + " karakters.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validateNietNul(fld) {
	var error = "";
  
	if (fld.selectedIndex == 0) {
		fld.style.background = foutKleur; 
		error = "Je moet bij " + fld.name.substring(3) + " een keuze maken uit de picklist.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validatePostcode(fld) {
	var error = "";
	var objRegExp = /(^\d{4} ?[a-zA-Z]{2}$)/;
	
	if (fld.value == "") {
		fld.style.background = foutKleur; 
		error = "Je bent vergeten een " + fld.name.substring(3) + " in te vullen.\n";
	}
	else if (!objRegExp.test(fld.value)) {
		fld.style.background = foutKleur; 
		error = "Kenmerk "+ fld.name.substring(3) + " moet 4 cijfers, spatie en dan 2 hoofdletters bevatten.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validateTelefoon(fld, verplicht) {
	var error = "";
	var objRegExp = /(0\d{1})-(\d{8})|(0\d{2})-(\d{7})|(0\d{3})-(\d{6})|(0\d{4})-(\d{5})/;
	
	if ((fld.value == "") && (verplicht == true)) {
		fld.style.background = foutKleur; 
		error = "Je bent vergeten een " + fld.name.substring(3) + " in te vullen.\n";
	}
	else if ((!objRegExp.test(fld.value)) && (fld.value != "")) {
		fld.style.background = foutKleur; 
		error = "Kenmerk "+ fld.name.substring(3) + " moet 10 cijfer en een streepje bevatten.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validateTijd(fld, verplicht) {
	var error = "";
	var objRegExp = /^\d{2}:\d{2}/;
	
	if ((fld.value == "") && (verplicht == true)) {
		fld.style.background = foutKleur; 
		error = "Je bent vergeten een " + fld.name.substring(3) + " in te vullen.\n";
	}
	else if ((!objRegExp.test(fld.value)) && (fld.value != "")) {
		fld.style.background = foutKleur; 
		error = "Kenmerk "+ fld.name.substring(3) + " moet als volgt worden geschreven: 20:30.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validateUitslag(thuis, uit) {
	var error = "";
	// mogelijkheden: 4-0 3-1 3-2 2-3 1-3 0-4
	var objRegExp = /([4][0]|[3][1]|[3][2]|[2][3]|[1][3]|[0][4])/;
  
	if (thuis.value == "") {
		thuis.style.background = foutKleur; 
		error = "Je bent vergeten een uitslag in te vullen.\n";
	} else if (!objRegExp.test(thuis.value+ uit.value)) {
		thuis.style.background = foutKleur;
		uit.style.background = foutKleur;
		error = "Uitslag klopt niet.\n";
	} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

function validateWachtwoord(fld) {
	var error = "";
	// var objRegExp = /^[a-zA-Z].{5,15}$/;
	
	if (fld.value == "") {
		fld.style.background = foutKleur; 
		error = "Je bent vergeten een " + fld.name.substring(3) + " in te vullen.\n";
	}
	//else if (!objRegExp.test(fld.value)) {
	//	fld.style.background = foutKleur;
	//	error = "Kenmerk "+ fld.name.substring(3) + " moet groter dan 5 en kleiner dan 15 tekens zijn.\n";
	//} 
	else {
		fld.style.background = 'White';
	} 
	return error;
}

// smileys
function invoegen_smiley(tekstgebied,smiley) {
	tekstgebied.focus();
	var geselecteerde_tekst = document.selection.createRange();
	geselecteerde_tekst.text = geselecteerde_tekst.text+smiley;
}

function invoegen_tags(tekstgebied,tag) { 
	tekstgebied.focus(); 
	var geselecteerde_tekst = document.selection.createRange(); 
	//tekst voorzien van tags 
	geselecteerde_tekst.text = "["+tag+"]" + geselecteerde_tekst.text + "[/"+tag+"]";   
}
