window.onload = init;

function init() {
	//externalAnchors();
	disableAnchors();
	forms();
	nieuwsbrief();
}

function externalAnchors() {
	var anchors = document.getElementsByTagName('A');
	for (i = 0; i < anchors.length; i++) {
		if (anchors[i].href.indexOf('kennispodium.org') == -1 && anchors[i].href.indexOf('@') == -1 && anchors[i].href) {
			anchors[i].target = '_blank';
		//	anchors[i].style.color = 'green';
			anchors[i].style.fontStyle = 'italic';
		}
	}
}

function disableAnchors() {
	var anchors = document.getElementsByTagName('A');
	for (i = 0; i < anchors.length; i++) {
	//	if (anchors[i].href.slice(this.length-1) == '#') {
		if (anchors[i].href == document.location) {
			anchors[i].onclick = function() {
				return false
			}
		}
	}
}

function forms() {
	// if (document.inschrijven) {
	// 	document.inschrijven.onsubmit = inschrijfCheck;
	// }
	// if (document.partners) {
	// 	document.partners.onsubmit = partnerCheck;
	// }
	// if (document.inschrijven) {
	// 	document.inschrijven.via.onchange = toggleField;
	// }
	// if (document.nieuwsbrief) {
	// 	document.nieuwsbrief.onsubmit = nieuwsCheck;
	// }
	if (document.kaart) {
		document.kaart.onsubmit = kaartCheck;
	}
	if (document.workshop) {
		document.workshop.onsubmit = workshopCheck;
	}
	
	if (document.test) {
		document.test.onsubmit = testCheck;
	}
}

var form_submitted = false;

function submitOnce() {
	// Submit once
	if (form_submitted) {
	//	alert ("U heeft het formulier al verstuurd...");
		setTimeout('form_submitted = false', 10000);
		return false;
	}
	else {
		form_submitted = true;
	//	alert("verstuurd");
		return true;
	}
}

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

function validMail(str) {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str)) {
		return true;
	}
}

function validNum(str) {
	var filter = /^([0-9]+)$/i;
	if (filter.test(str)) {
		return true;
	}
}

function validLetter(str) {
	var filter = /^([a-z]+)$/i;
	if (filter.test(str)) {
		return true;
	}
}

function radioSelected(radio) {
	var count = -1;
	for (var i=radio.length-1; i>-1; i--) {
		if (radio[i].checked) {
			count = i; i = -1;
		}
	}
	if (count == -1) {
		return false;
	}
	else {
		return true;
	}
}

function inschrijfCheck() {
	if (!trim(document.inschrijven.achternaam.value)) {
		alert("Vul uw achternaam in...");
		document.inschrijven.achternaam.focus();
		return false;
	}
	if (!trim(document.inschrijven.voorletters.value)) {
		alert("Vul uw voorletter(s) in...");
		document.inschrijven.voorletters.focus();
		return false;
	}
	if (!radioSelected(document.inschrijven.aanhef)) {
		alert("Vul uw aanhef in...");
		return false;
	}
	if (!trim(document.inschrijven.organisatie.value)) {
		alert("Vul uw organisatie in...");
		document.inschrijven.organisatie.focus();
		return false;
	}
	if (!trim(document.inschrijven.functie.value)) {
		alert("Vul uw functie in...");
		document.inschrijven.functie.focus();
		return false;
	}
	if (!trim(document.inschrijven.adres.value)) {
		alert("Vul uw adres in...");
		document.inschrijven.adres.focus();
		return false;
	}

	if (document.inschrijven.pc_cijfers) {	
		if (!validNum(document.inschrijven.pc_cijfers.value)) {
			alert("Vul uw postcode en plaats in...");
			document.inschrijven.pc_cijfers.focus();
			return false;
		}
		if (!validLetter(document.inschrijven.pc_letters.value)) {
			alert("Vul uw postcode en plaats in...");
			document.inschrijven.pc_letters.focus();
			return false;
		}
	}

	if (document.inschrijven.zip) {
		if (!document.inschrijven.zip.value) {
			alert("Vul uw postcode en plaats in...");
			document.inschrijven.zip.focus();
			return false;
		}
	}

	if (!trim(document.inschrijven.plaats.value)) {
		alert("Vul uw postcode en plaats in...");
		document.inschrijven.plaats.focus();
		return false;
	}

	if (document.inschrijven.land) {
		if (!document.inschrijven.land.value) {
			alert("Vul uw land in...");
			document.inschrijven.land.focus();
			return false;
		}
	}

	if (!trim(document.inschrijven.telefoon.value)) {
		alert("Vul uw telefoonnummer in...");
		document.inschrijven.telefoon.focus();
		return false;
	}
	if (!validMail(document.inschrijven.email.value)) {
		alert("Vul een geldig e-mailadres in...");
		document.inschrijven.email.focus();
		return false;
	}
	if (!radioSelected(document.inschrijven.sessie)) {
		alert("Maak een keuze uit verdiepingssessie 1 en 2...");
		return false;
	}


	return submitOnce();
//	return true;
}

function partnerCheck() {
	if (!trim(document.partners.naam.value)) {
		alert("Vul uw naam in...");
		document.partners.naam.focus();
		return false;
	}
	if (!radioSelected(document.partners.aanhef)) {
		alert("Vul uw aanhef in...");
		return false;
	}
	if (!trim(document.partners.organisatie.value)) {
		alert("Vul uw organisatie in...");
		document.partners.organisatie.focus();
		return false;
	}
	if (!trim(document.partners.functie.value)) {
		alert("Vul uw functie in...");
		document.partners.functie.focus();
		return false;
	}
	if (!trim(document.partners.telefoon.value)) {
		alert("Vul uw telefoonnummer in...");
		document.partners.telefoon.focus();
		return false;
	}
	if (!validMail(document.partners.email.value)) {
		alert("Vul een geldig e-mailadres in...");
		document.partners.email.focus();
		return false;
	}
		
	return submitOnce();
//	return true;
}

function nieuwsCheck() {
	if (trim(document.nieuwsbrief.naam.value) == 'Naam') {
		alert("Vul uw naam in...");
		document.nieuwsbrief.naam.focus();
		return false;
	}
	if (!validMail(document.nieuwsbrief.email.value)) {
		alert("Vul een geldig e-mailadres in...");
		document.nieuwsbrief.email.focus();
		return false;
	}
		
	return submitOnce();
//	return true;
}

function kaartCheck() {
	if (!trim(document.kaart.naam1.value)) {
		alert("Vul uw naam in...");
		document.kaart.naam1.focus();
		return false;
	}
	if (!trim(document.kaart.naam2.value)) {
		alert("Vul de ontvanger's naam in...");
		document.kaart.naam2.focus();
		return false;
	}
	if (!trim(document.kaart.adres.value)) {
		alert("Vul de ontvanger's adres in...");
		document.kaart.adres.focus();
		return false;
	}
	
	if (!validNum(document.kaart.pc_cijfers.value)) {
		alert("Vul de ontvanger's postcode en plaats in...");
		document.kaart.pc_cijfers.focus();
		return false;
	}
	if (!validLetter(document.kaart.pc_letters.value)) {
		alert("Vul de ontvanger's postcode en plaats in...");
		document.kaart.pc_letters.focus();
		return false;
	}
		
	return submitOnce();
//	return true;
}

function NewWindow(url, windowName, w, h, scroll, resize) {
	var winl=(screen.width - w)/2;
	var wint=(screen.height - h)/2;
	winprops='height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resize+'';
	win=window.open(url, windowName, winprops);
	if (parseInt(navigator.appVersion)>=4) {
		win.window.focus()
	}
}

function toggleField() {
	if (document.getElementById('via').value != 'anders') {
		document.getElementById('via_anders').style.display = 'none';
	} else {
		document.getElementById('via_anders').style.display = 'block';
		document.getElementById('anders').focus();
	}
}

function nieuwsbrief() {
	if (document.nieuwsbrief1) {
		document.nieuwsbrief.naam.onfocus = blankField;
		document.nieuwsbrief.naam.onblur = fillField;
		document.nieuwsbrief.email.onfocus = blankField;
		document.nieuwsbrief.email.onblur = fillField;	
	}
}

function blankField() {
	if ((this.value == 'Naam' || this.value == 'Name') || this.value == 'E-mail') {
		this.value = '';
	}
}

function fillField() {
	if (trim(document.nieuwsbrief.naam.value) == '') {
		this.value = 'Naam';
	}
	if (trim(document.nieuwsbrief.email.value) == '') {
		this.value = 'E-mail';
	}
}


function infoOver(id) {
	document.getElementById(id).style.left = '250px';
}

function infoOut(id) {
	document.getElementById(id).style.left = '';
}

function workshopCheck() {
	if (!trim(document.workshop.achternaam.value)) {
		alert("Vul uw achternaam in...");
		document.workshop.achternaam.focus();
		return false;
	}
	if (!validMail(document.workshop.email.value)) {
		alert("Vul een geldig e-mailadres in...");
		document.workshop.email.focus();
		return false;
	}
	if (!radioSelected(document.workshop.ronde1)) {
		alert("Maak een keuze in ronde 1...");
		return false;
	}
	if (!radioSelected(document.workshop.ronde2)) {
		alert("Maak een keuze in ronde 2...");
		return false;
	}


	return submitOnce();
//	return true;
}


/***************************************************************/

function testCheck() {
	if (!trim(document.test.achternaam.value)) {
		alert("Vul uw achternaam in...");
		document.test.achternaam.focus();
		return false;
	}
	if (!trim(document.test.voorletters.value)) {
		alert("Vul uw voorletter(s) in...");
		document.test.voorletters.focus();
		return false;
	}
	if (!radioSelected(document.test.aanhef)) {
		alert("Vul uw aanhef in...");
		return false;
	}
	if (!trim(document.test.organisatie.value)) {
		alert("Vul uw organisatie in...");
		document.test.organisatie.focus();
		return false;
	}
	if (!trim(document.test.functie.value)) {
		alert("Vul uw functie in...");
		document.test.functie.focus();
		return false;
	}
	if (!trim(document.test.adres.value)) {
		alert("Vul uw adres in...");
		document.test.adres.focus();
		return false;
	}
	
	if (document.test.pc_cijfers) {	
		if (!validNum(document.test.pc_cijfers.value)) {
			alert("Vul uw postcode en plaats in...");
			document.test.pc_cijfers.focus();
			return false;
		}
		if (!validLetter(document.test.pc_letters.value)) {
			alert("Vul uw postcode en plaats in...");
			document.test.pc_letters.focus();
			return false;
		}
	}

	if (document.test.zip) {
		if (!document.test.zip.value) {
			alert("Vul uw postcode en plaats in...");
			document.test.zip.focus();
			return false;
		}
	}
	
	if (!trim(document.test.plaats.value)) {
		alert("Vul uw postcode en plaats in...");
		document.test.plaats.focus();
		return false;
	}
	
	if (document.test.land) {
		if (!document.test.land.value) {
			alert("Vul uw land in...");
			document.test.land.focus();
			return false;
		}
	}
	
	if (!trim(document.test.telefoon.value)) {
		alert("Vul uw telefoonnummer in...");
		document.test.telefoon.focus();
		return false;
	}
	if (!validMail(document.test.email.value)) {
		alert("Vul een geldig e-mailadres in...");
		document.test.email.focus();
		return false;
	}
	if (!radioSelected(document.test.ronde1)) {
		alert("Maak een keuze in ronde 1...");
		return false;
	}
	if (!radioSelected(document.test.ronde2)) {
		alert("Maak een keuze in ronde 2...");
		return false;
	}


	return submitOnce();
}

/***************************************************************/