var screenwidth = 874;
var minwidth = 257;
function StartPage() {
	if(windowWidth() - minwidth < screenwidth) {
		gettingClass('cs_hughr').className = "cs_hugh";
		gettingClass('cs_hughl').className = "cs_hugh";
	} else {
		gettingClass('cs_hughr').className = "cs_hughright";
		gettingClass('cs_hughl').className = "cs_hughleft";
	}
}

function PageBack(level) {
	if(level == 1) {
		document.forms['cs_form00'].cs_submit.value = 0;
		document.forms['cs_form00'].cs_subsubmit.value = 0;
	} else {
		document.forms['cs_form00'].cs_submit.value = 0;
		document.forms['cs_form00'].cs_subsubmit.value = 1;
	}
	document.forms['cs_form00'].submit();
}

function ResizePage() {
	if(windowWidth() - minwidth < screenwidth) {
		gettingClass('cs_hughr').className = "cs_hugh";
		gettingClass('cs_hughl').className = "cs_hugh";
	} else {
		gettingClass('cs_hughr').className = "cs_hughright";
		gettingClass('cs_hughl').className = "cs_hughleft";
	}
}

function AddPerson(radio, layer) {
	if(radio.value == "ja") {
		pricecalculator(2);
		getStyle(layer).display = "block";
		eval("document.forms['cs_form00'].cs_persp1.value=1;");
	} else {
		pricecalculator(1);
		getStyle(layer).display = "none";
		eval("document.forms['cs_form00'].cs_persp1.value=0;");
	}
}

function ShowDiv(layer) {
	getStyle(layer).display = "block";
}
function HideDiv(layer) {
	getStyle(layer).display = "none";
}

var bool = new Array(100);
function GetDiv(layer, div) {
	if(bool[layer]) {
		gettingClass(div).innerHTML = "[wijzig]";
		getStyle(layer).display = "none";
		bool[layer] = false;
	} else {
		gettingClass(div).innerHTML = "[verberg]";
		getStyle(layer).display = "block";
		bool[layer] = true;
	}
}

function printYears(start, name, checked, active) {
	var datobj = new Date();
	var thisyear = datobj.getFullYear();
	document.writeln("<select name='"+name+"'><option value='0'>Kies jaartal</option>");
	for(var i = start; i <= thisyear; i++) {
		if(checked != false && i == checked) {
			document.writeln("<option value='"+i+"' selected=\"selected\">"+i+"</option>");
		} else {
			document.writeln("<option value='"+i+"'>"+i+"</option>");
		}
	}
	document.writeln("</select>");
}




/* Validation Tests */

function checkVals(form) {
	/* Controleer of de aanheffing is gezet */
	if(!checkRadio(form.cs_tit, "Aanheffing")) return false;			// Aanheffing
	/* Controleer persoonsgegevens */
	if(!validateAlpha(form.cs_lname, 1)) return false;						// Achternaam
	if(!validateAlpha(form.cs_first, 1)) return false;						// Voorletters
	if(!validateAlpha(form.cs_fname, 1)) return false;						// Roepnaam
	//if(!validateAlpha(form.cs_addn, 1)) return false;							// Tussenvoegsels (Niet-verplicht)
	/* Controleer adresgegevens */
	if(!validateAlpha(form.cs_street, 1)) return false;						// Straatnaam
	if(!validateNumeric(form.cs_nr, 1)) return false;							// Huisnummer
	//if(!validateAlphaNumeric(form.cs_add, 1)) return false;				// Toevoegsels (Niet-verplicht)
	if(!validatePC(form.cs_pc, 1)) return false;									// Postcode
	if(!validateAlpha(form.cs_city, 1)) return false;							// Woonplaats
	//if(!validatePhone(form.cs_tp, 1)) return false;								// Telefoonnummer ( Is er niet meer)
	/* Controleer bank-/girogegevens */
	if(!eleventest(form.cs_bg, 1)) return false;									// Rekeningnummer
	if(!validateAlpha(form.cs_rfn, 1)) return false;							// Naam rekeninghouder
	if(!validateAlpha(form.cs_rc, 1)) return false;								// Woonplaat rekeninghouder
	/* Controleer inloggevens */
	if(!validateEmail(form.cs_email, 1)) return false;						// E-mailadres
	if(form.cs_persp1.value == "1") {
		/* Controleer of de aanheffing is gezet */
		if(!checkRadio(form.cs_titp1, "Aanheffing van uw gast")) return false;			// Aanheffing
		/* Controleer persoonsgegevens */
		if(!validateAlpha(form.cs_lnamep1, 1)) return false;						// Achternaam
		if(!validateAlpha(form.cs_firstp1, 1)) return false;						// Voorletters
		if(!validateAlpha(form.cs_fnamep1, 1)) return false;						// Roepnaam
	}
	/*if(!validatePW(form.cs_pw, form.cs_rpw, 1)) return false;			// Controleer beide wachtwoorden
	/* Controleer relatie's mbt michael */
	if(!checkPersons()) return false;															// Alle personen worden gecontroleerd
	/* Controleer het aantal mensen */
	//if(!checkCards(form.cs_cards, 1)) return false;								// Het aantal kaarten
	
	return true;
}

function checkValsText(form) {
	if(!validateInput(form.cs_sendtitle, 1)) return false;
	if(!validateInput(form.cs_sendsubject, 1)) return false;
	if(!validateNumeric(form.cs_sendyear, 1)) return false;
	if(!validateInput(form.cs_sendtext, 1)) return false;
	if(!validateInput(form.cs_sendauthor, 1)) return false;
	if(!validateEmail(form.cs_sendemail, 1)) return false;
	return true;
}

function checkValsFoto(form) {
	if(!validateInput(form.cs_sendtitle, 1)) return false;
	if(!validateInput(form.cs_sendactivity, 1)) return false;
	if(!validateNumeric(form.cs_sendyear, 1)) return false;
	if(!validateInput(form.cs_sendanecdote, 1)) return false;
	if(!validateEmail(form.cs_sendemail, 1)) return false;
	return true;
}

function checkRadio(radio, output) {
	var radio_value = 0;
	for(var i = 0; i < radio.length; i++) {
		if(radio[i].checked) {
			radio_value = radio[i].value;
		}
	}
	if(radio_value == 0) {
		if(output) {
			alert("U bent de "+output+" vergeten");
		}
		return false;
	}
	return true;
}

function checkBoxen(cb1, sy, ey, le, cb2, edu, gr, st, en, cb3, res, output) {
	/*if(cb1.checked == false && cb2.checked == false && cb3.checked == false) {
		if(output) {
			alert("U bent "+cb1.title+" vergeten");
		}
		return false;
	}*/
	/*if(cb1.checked != false) {
		if(sy.value == 0 || ey.value == 0 || le.value == null) {
			if(output) {
				alert("Uw docent gegevens zijn onvolledig!");
			}
			return false;
		}
	}*/
	var edu_value;
	var gr_value;
	for(var i = 0; i < edu.length; i++) {
		if(edu[i].checked) {
			edu_value = edu[i].value;
		}
	}
	for(var j = 0; j < gr.length; j++) {
		if(gr[j].checked) {
			gr_value = gr[j].value;
		}
	}
	if(edu_value == false || gr_value == false || st.value == 0 || en.value == 0) {
		if(output) {
			alert("Uw leerling gegevens zijn onvolledig!");
		}
		return false;
	}
	/*
	if(cb3.checked != false) {
		if(res.value == "") {
			if(output) {
				alert("Uw heeft geen rede van komst aangegeven");
			}
			res.focus();
			return false;
		}
	}*/
	return true;
}

function checkCards(cards, output) {
	if(cards.value == null || cards.value <= 0 || cards.value > 5) {
		if(output) {
			alert("Dit aantal kaarten is niet mogelijk");
		}
		cards.focus();
		return false;
	}
	return true;
}

function eleventest(cb, output) {
	var accountnumber = cb.value;
	var len = accountnumber.length;
	if(len == 0) {
		if(output) {
			alert("Uw heeft geen bank-/girorekeningnummer opgegeven");
		}
		cb.focus();
		return false;
	}
	var sum = 0;
	if(len >= 9) {
		for(i = 0; i < len; i++) {
			var cha = (accountnumber.charAt(i)) * 1;
			var diff = len - i;
			var prod = diff * cha;
			sum = sum + prod;
		}
		if(sum % 11 != 0) {
			if(output) {
				alert("Uw bankrekeningnummer klopt niet!");
			}
			cb.focus();
			return false;
		}
	}
	return true;
}

function validatePW(pw, pw2, output) {
	if(pw.value.length <= 0 | pw2.value.length <= 0 | pw.value != pw2.value) {
		if(output) {
			alert("De wachtwoorden komen niet overeen");
		}
		pw.focus();
		return false;
	}
	return true;
}

function validatePhone(number, output) {
	if(number.value.length <= 0) {
		if(output) {
			alert("U heeft "+number.title+" niet ingevuld");
		}
		number.focus();
		return false;
	}
	var number_exp = /^[0-9\+ ]*$/;
	if(number.value.match(number_exp) == null) {
		if(output) {
			alert(number.title+" klopt niet");
		}
		number.focus();
		return false;
	}
	return true;
}

function validateInput(input, output) {
	if(input.value.length <= 0) {
		if(output) {
			alert("U heeft "+input.title+" niet ingevuld");
		}
		return false;
	}
	return true;
}

function validateAlpha(alpha, output) {
	if(alpha.value.length <= 0) {
		if(output) {
			alert("U heeft "+alpha.title+" niet ingevuld");
		}
		alpha.focus();
		return false;
	}
	
	var alpha_exp = /^[^\d]*$/;
	if(alpha.value.match(alpha_exp) == null) {
		if(output) {
			alert(alpha.title+" klopt niet");
		}
		alpha.focus();
		return false;
	}
	return true;
}

function validateAlphaNumeric(alpha, output) {
	if(alpha.value.length <= 0) {
		if(output) {
			alert("U heeft "+alpha.title+" niet ingevuld");
		}
		alpha.focus();
		return false;
	}
	var alpha_exp = /^[\w ˆ‡ŠŽ‘˜—šœŸ•]*$/;
	if(alpha.value.match(alpha_exp) == null) {
		if(output) {
			alert(alpha.title+" klopt niet");
		}
		alpha.focus();
		return false;
	}
	return true;
}

function validateNumeric(num, output) {
	if(num.value.length <= 0) {
		if(output) {
			alert("U heeft "+num.title+" niet ingevuld");
		}
		num.focus();
		return false;
	}
	var num_exp = /^[0-9 \-]*$/;
	if(num.value.match(num_exp) == null) {
		if(output) {
			alert(num.title+" klopt niet");
		}
		num.focus();
		return false;
	}
	return true;
}

function validateEmail(email, output) {
	if(email.value.length <= 0) {
		if(output) {
			alert("Geen E-mailadres ingevuld");
		}
		email.focus();
		return false;
	}
	var splitted = email.value.match("^(.+)@(.+)$");
	if(splitted == null) {
		if(output) {
			alert("E-mailadres klopt niet!");
		}
		email.focus();
		return false;
	}
	if(splitted[1] != null ) {
		var regexp_user = /^\"?[\w-_\.]*\"?$/;
		if(splitted[1].match(regexp_user) == null) {
			if(output) {
				alert("E-mailadres klopt niet!");
			}
			email.focus();
			return false;
		}
	}
	if(splitted[2] != null) {
		var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
		if(splitted[2].match(regexp_domain) == null) {
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if(splitted[2].match(regexp_ip) == null) {
				if(output) {
					alert("E-mailadres klopt niet!");
				}
				email.focus();
				return false;
			}
		}
	}
	return true;
}

function validatePC(pc, output) {
	if(pc.value.length <= 0) {
		if(output) {
			alert("Geen Postcode ingevuld");
		}
		pc.focus();
		return false;
	}
	var regexp_pc = /^[0-9]{4}[ ]{0,}[a-zA-Z]{2}$/;
	if(pc.value.match(regexp_pc) == null) {
		if(output) {
			alert("Postcode klopt niet!");
		}
		pc.focus();
		return false;
	}
	return true;
}

function checkPersons() {
	var cb1 = document.forms['cs_form00'].cs_teacher;
	var sy = document.forms['cs_form00'].cs_syear;
	var ey = document.forms['cs_form00'].cs_eyear;
	var le = document.forms['cs_form00'].cs_lesson;
	var cb2 = document.forms['cs_form00'].cs_student;
	var edu = document.forms['cs_form00'].cs_edu;
	var gr = document.forms['cs_form00'].cs_grade;
	var st = document.forms['cs_form00'].cs_styear;
	var en = document.forms['cs_form00'].cs_enyear;
	var cb3 = document.forms['cs_form00'].cs_res;
	var res = document.forms['cs_form00'].cs_rest;
	if(!checkBoxen(cb1, sy, ey, le, cb2, edu, gr, st, en, cb3, res, 1)) { return false; }
	
	if(document.forms['cs_form00'].cs_persp1.value == "1" && document.forms['cs_form00'].cs_studentp1 == "1") {
		cb1 = document.forms['cs_form00'].cs_teacherp1;
		sy = document.forms['cs_form00'].cs_syearp1;
		ey = document.forms['cs_form00'].cs_eyearp1;
		le = document.forms['cs_form00'].cs_lessonp1;
		cb2 = document.forms['cs_form00'].cs_studentp1;
		edu = document.forms['cs_form00'].cs_edup1;
		gr = document.forms['cs_form00'].cs_gradep1;
		st = document.forms['cs_form00'].cs_styearp1;
		en = document.forms['cs_form00'].cs_enyearp1;
		cb3 = document.forms['cs_form00'].cs_resp1;
		res = document.forms['cs_form00'].cs_restp1;
		if(!checkBoxen(cb1, sy, ey, le, cb2, edu, gr, st, en, cb3, res, 1)) { return false; }
	}
	return true;
}
