function check_register(f, msg)
{
	document.getElementById("username").className = "";
	document.getElementById("pw").className = "";
	document.getElementById("pw2").className = "";
	var checkFail = false;
	var pw = "";var pw2 = "";
	for (var i = 0; i < f.elements.length; i++)
	{
		switch(f.elements[i].name)
		{
			case "username":
				var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
				if (!regX.test(f.elements[i].value))
				{
					checkFail = true;
					document.getElementById("username").className = "failed";
				}
				else
				{
					document.getElementById("username").className = "normal";
				}
				break;
			case "email":
				var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
				if (!regX.test(f.elements[i].value))
				{
					checkFail = true;
					document.getElementById("email").className = "failed";
				}
				else
				{
					document.getElementById("email").className = "normal";
				}
				break;
			case "company":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("company").className = "failed";
				}
				else
				{
					document.getElementById("company").className = "normal";
				}
				break;
			case "name":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("name").className = "failed";
				}
				else
				{
					document.getElementById("name").className = "normal";
				}
				break;
			case "genderEmployer":
				if (f.elements[i].value == "Vrouw" && !f.elements[i].checked)
				{
					var femaleChecked = false;
				}
				if (f.elements[i].value == "Man" && !f.elements[i].checked)
				{
					var maleChecked = false;
				}
				
				if (femaleChecked == false && maleChecked == false)
				{
					checkFail = true;
					document.getElementById("genderEmployer").className = "failed";
				}
				else
				{
					document.getElementById("genderEmployer").className = "normal";
				}
				break;
			case "firstLetters":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("firstLetters").className = "failed";
				}
				else
				{
					document.getElementById("firstLetters").className = "normal";
				}
				break;
			case "employerFunction":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("employerFunction").className = "failed";
				}
				else
				{
					document.getElementById("employerFunction").className = "normal";
				}
				break;
			case "companyAddress":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("companyAddress").className = "failed";
				}
				else
				{
					document.getElementById("companyAddress").className = "normal";
				}
				break;
			case "companyPostal":
				var regX = new RegExp(/^[1-9]{1}[0-9]{3}\s?[a-zA-Z]{2}$/);
				if (!regX.test(f.elements[i].value) || f.elements[i].value == "1234 XX")
				{
					checkFail = true;
					document.getElementById("companyPostal").className = "failed";
				}
				else
				{
					document.getElementById("companyPostal").className = "normal";
				}
				break;
			case "companyCity":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("companyCity").className = "failed";
				}
				else
				{
					document.getElementById("companyCity").className = "normal";
				}
				break;
			case "companyPhone":
				var regX = new RegExp(/^(\d{3})(\s|[-])(\d{7})|(\d{4})(\s|[-])(\d{6})|\d{10}$/);
				if (!regX.test(f.elements[i].value))
				{
					checkFail = true;
					document.getElementById("companyPhone").className = "failed";
				}
				else
				{
					document.getElementById("companyPhone").className = "normal";
				}
				break;
			case "companyFax":
				if (f.elements[i].value != "")
				{
					var regX = new RegExp(/^(\d{3})(\s|[-])(\d{7})|(\d{4})(\s|[-])(\d{6})|\d{10}$/);
					if (!regX.test(f.elements[i].value))
					{
						checkFail = true;
						document.getElementById("companyFax").className = "failed";
					}
					else
					{
						document.getElementById("companyFax").className = "normal";
					}
				}
				else
				{
					document.getElementById("companyFax").className = "normal";
				}
				break;
			case "companyActivity":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("companyActivity").className = "failed";
				}
				else
				{
					document.getElementById("companyActivity").className = "normal";
				}
				break;
			
			case "password":
				if (f.elements[i].value == "" || f.elements[i].value.length < 6)
				{
					checkFail = true;
					document.getElementById("pw").className = "failed";
				}
				else
					pw = f.elements[i].value
				break;
			case "password2":
				if (f.elements[i].value == "" || f.elements[i].value.length < 6)
				{
					checkFail = true;
					document.getElementById("pw2").className = "failed";
				}
				else
					pw2 = f.elements[i].value
				break;
		}
	}
	
	if (checkFail)
	{
		if (pw != "" && pw2 != "" && pw != pw2)
			window.alert('De twee ingevulde wachtwoorden komen niet overeen.');
		window.alert(msg);
		return false;
	}
	else if (pw != "" && pw2 != "" && pw != pw2)
	{
		window.alert('De twee ingevulde wachtwoorden komen niet overeen.');
		return false;
	}
}

function check_courseRegister(f, msg)
{
	var checkFail = false;
	for (var i = 0; i < f.elements.length; i++)
	{
		switch(f.elements[i].name)
		{
			case "email":
				var regX = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
				if (!regX.test(f.elements[i].value))
				{
					checkFail = true;
					document.getElementById("email").className = "failed";
				}
				else
				{
					document.getElementById("email").className = "normal";
				}
				break;
			case "trainingName":
				if (f.elements[i].value == "" && f.elements[i].value != "maak een keuze")
				{
					checkFail = true;
					document.getElementById("training").className = "failed";
				}
				else
				{
					document.getElementById("training").className = "normal";
				}
				break;
			case "location":
				if (f.elements[i].value == "" && f.elements[i].value != "maak een keuze")
				{
					checkFail = true;
					document.getElementById("location").className = "failed";
				}
				else
				{
					document.getElementById("location").className = "normal";
				}
				break;
			case "company":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("company").className = "failed";
				}
				else
				{
					document.getElementById("company").className = "normal";
				}
				break;
			case "name":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("name").className = "failed";
				}
				else
				{
					document.getElementById("name").className = "normal";
				}
				break;
			case "genderEmployer":
				if (f.elements[i].value == "vrouw" && !f.elements[i].checked)
				{
					var femaleChecked = false;
				}
				if (f.elements[i].value == "man" && !f.elements[i].checked)
				{
					var maleChecked = false;
				}
				
				if (femaleChecked == false && maleChecked == false)
				{
					checkFail = true;
					document.getElementById("genderEmployer").className = "failed";
				}
				else
				{
					document.getElementById("genderEmployer").className = "normal";
				}
				break;
			case "firstLetters":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("firstLetters").className = "failed";
				}
				else
				{
					document.getElementById("firstLetters").className = "normal";
				}
				break;
			case "employerFunction":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("employerFunction").className = "failed";
				}
				else
				{
					document.getElementById("employerFunction").className = "normal";
				}
				break;
			case "companyAddress":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("companyAddress").className = "failed";
				}
				else
				{
					document.getElementById("companyAddress").className = "normal";
				}
				break;
			case "companyPostal":
				var regX = new RegExp(/^[1-9]{1}[0-9]{3}\s?[a-zA-Z]{2}$/);
				if (!regX.test(f.elements[i].value) || f.elements[i].value == "1234 XX")
				{
					checkFail = true;
					document.getElementById("companyPostal").className = "failed";
				}
				else
				{
					document.getElementById("companyPostal").className = "normal";
				}
				break;
			case "companyCity":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("companyCity").className = "failed";
				}
				else
				{
					document.getElementById("companyCity").className = "normal";
				}
				break;
			case "companyPhone":
				var regX = new RegExp(/^(\d{3})(\s|[-])(\d{7})|(\d{4})(\s|[-])(\d{6})|\d{10}$/);
				if (!regX.test(f.elements[i].value))
				{
					checkFail = true;
					document.getElementById("companyPhone").className = "failed";
				}
				else
				{
					document.getElementById("companyPhone").className = "normal";
				}
				break;
			case "companyFax":
				if (f.elements[i].value != "")
				{
					var regX = new RegExp(/^(\d{3})(\s|[-])(\d{7})|(\d{4})(\s|[-])(\d{6})|\d{10}$/);
					if (!regX.test(f.elements[i].value))
					{
						checkFail = true;
						document.getElementById("companyFax").className = "failed";
					}
					else
					{
						document.getElementById("companyFax").className = "normal";
					}
				}
				else
				{
					document.getElementById("companyFax").className = "normal";
				}
				break;
			case "companyActivity":
				if (f.elements[i].value == "")
				{
					checkFail = true;
					document.getElementById("companyActivity").className = "failed";
				}
				else
				{
					document.getElementById("companyActivity").className = "normal";
				}
				break;
			case "addressType":
				if (f.elements[i].value == 1)
					var addressType = true;
				else if (f.elements[i].value == 0)
					var addressType = false;
				break;
			case "invoiceAddress":
				if (addressType == false)
				{
					if (f.elements[i].value == "")
					{
						checkFail = true;
						document.getElementById("invoiceAddress").className = "failed";
					}
					else
					{
						document.getElementById("invoiceAddress").className = "normal";
					}
				}
				else
				{
					document.getElementById("invoiceAddress").className = "normal";
				}
				break;
			case "invoicePostal":
				var regX = new RegExp(/^[1-9]{1}[0-9]{3}\s?[a-zA-Z]{2}$/);
				if (addressType == false)
				{
					if (!regX.test(f.elements[i].value) || f.elements[i].value == "")
					{
						checkFail = true;
						document.getElementById("invoicePostal").className = "failed";
					}
					else
					{
						document.getElementById("invoicePostal").className = "normal";
					}
				}
				else
				{
					document.getElementById("invoicePostal").className = "normal";
				}
				break;
			case "invoiceCity":
				if (addressType == false)
				{
					if (f.elements[i].value == "")
					{
						checkFail = true;
						document.getElementById("invoiceCity").className = "failed";
					}
					else
					{
						document.getElementById("invoiceCity").className = "normal";
					}
				}
				else
				{
					document.getElementById("invoiceCity").className = "normal";
				}
				break;
			case "accept":
				if (!f.elements[i].checked)
				{
					checkFail = true;
					var accept = false;
				}
				else
				{
					var accept = true;
				}
				break;			
		}
	}
	
	var count = 0;
	if (!document.register.totalUsers)
		count = 1;
	else
		count = document.register.totalUsers.options[document.register.totalUsers.selectedIndex].value;
	
	var n = 0;
	var k = 0;
	var el = '';
	for (var j = 0; j < count; j++)
	{
		if (j == 0)
		{
			n = 1;
			el = document.getElementById('user' + n);
			k++;
		}
		else if (j >= 1)
		{
			n = k * 8;
			el = document.getElementById('user' + n);
			k++;
		}
		
		if (el && el.style.display != 'none')
		{
			//alert(el.id);
			if (eval("document.register.username" + k + ".value == ''"))
			{
				checkFail = true;
				eval("document.getElementById('username" + k + "'). className = 'failed'");
			}
			else
			{
				eval("document.getElementById('username" + k + "'). className = 'normal'");
			}
			
			if (eval("document.register.firstLetter" + k + ".value == ''"))
			{
				checkFail = true;
				eval("document.getElementById('firstLetter" + k + "'). className = 'failed'");
			}
			else
			{
				eval("document.getElementById('firstLetter" + k + "'). className = 'normal'");
			}
			
			var regX = new RegExp(/^\d{2}[-]\d{2}[-]\d{4}$/);
			if (!regX.test(eval("document.register.birthdate" + k + ".value")))
			{
				checkFail = true;
				eval("document.getElementById('birthdate" + k + "'). className = 'failed'");
			}
			else
			{
				eval("document.getElementById('birthdate" + k + "'). className = 'normal'");
			}
			
			if (eval("document.register.birthplace" + k + ".value == ''"))
			{
				checkFail = true;
				eval("document.getElementById('birthplace" + k + "'). className = 'failed'");
			}
			else
			{
				eval("document.getElementById('birthplace" + k + "'). className = 'normal'");
			}
			
			if (eval("document.register.function" + k + ".value == ''"))
			{
				checkFail = true;
				eval("document.getElementById('function" + k + "'). className = 'failed'");
			}
			else
			{
				eval("document.getElementById('function" + k + "'). className = 'normal'");
			}
			
			if (eval("document.register.gender" + k))
			{			
				if (eval("document.register.gender" + k + "[0].checked") == false && eval("document.register.gender" + k + "[1].checked") == false)
				{
					checkFail = true;
					eval("document.getElementById('gender" + k + "'). className = 'failed'");
				}
				else
				{
					eval("document.getElementById('gender" + k + "'). className = 'normal'");
				}
			}
		}
	}
	
	if (checkFail)
	{
		if (accept == false)
		{
			msg = 'U heeft de algemene voorwaarden niet geaccepteerd.';
			window.alert(msg);
		}
		else
		{
			window.alert(msg);
		}
		return false;
	}
	
}

function infoOver(selObj, msg)
{
	var IE = document.all?true:false;
	var el = document.getElementById('infoDiv');
	var x = 0;
	x += selObj.offsetLeft;
	var y = 0;
	y += selObj.offsetTop;
	el.innerHTML = msg;
	el.style.display = 'block';
	el.style.left = (x - (el.offsetWidth / 2)) + 'px';
	el.style.top = (y - (el.offsetHeight + 5)) + 'px';
}

function infoOut(selObj, msg)
{
	var el = document.getElementById('infoDiv');
		
	el.style.left = 0 + 'px';
	el.style.top = 0 + 'px';
	el.style.display = 'none';
	el.innerHTML = msg;
}

function toggleInvoice()
{
	var el = document.getElementById('invoice');
	if (el.style.display == 'none')
	{
		el.style.display = 'block';
		document.register.addressType.value = '0';
	}
	else
	{
		el.style.display = 'none';
		document.register.invoiceAddress.value = '';
		document.getElementById('invoiceAddress').className = 'normal';
		document.register.invoicePostal.value = '';
		document.getElementById('invoicePostal').className = 'normal';
		document.register.invoiceCity.value = '';
		document.getElementById('invoiceCity').className = 'normal';
		document.register.addressType.value = '1';
	}
}

function toggle(div_id) 
{
	var el = document.getElementById(div_id);
	if ( el.style.display == 'none' ) {	el.style.display = 'block';}
	else {el.style.display = 'none';}
}

function blanket_size(popUpDivVar) 
{
	if (typeof window.innerWidth != 'undefined') {
		viewportheight = window.innerHeight;
	} else {
		viewportheight = document.documentElement.clientHeight;
	}
	if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
		blanket_height = viewportheight;
	} else {
		if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
			blanket_height = document.body.parentNode.clientHeight;
		} else {
			blanket_height = document.body.parentNode.scrollHeight;
		}
	}
	var blanket = document.getElementById('overlay');
	blanket.style.height = blanket_height + 'px';
	var popUpDiv = document.getElementById(popUpDivVar);
	popUpDiv_height=blanket_height / 2 - 280;//150 is half popup's height
	popUpDiv.style.top = '161px';
}

function window_pos(popUpDivVar) 
{
	if (typeof window.innerWidth != 'undefined') {
		viewportwidth = window.innerHeight;
	} else {
		viewportwidth = document.documentElement.clientHeight;
	}
	if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) {
		window_width = viewportwidth;
	} else {
		if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) {
			window_width = document.body.parentNode.clientWidth;
		} else {
			window_width = document.body.parentNode.scrollWidth;
		}
	}
	var popUpDiv = document.getElementById(popUpDivVar);
	window_width=window_width / 2 - 280; //150 is half popup's width
	popUpDiv.style.left = window_width + 'px';
}

function popup(windowname, cs, id, objId, name, courseTime, startTime, endTime, location, startDate, trainingData, costs, remark, isFull, incl, bool, startgarantie) 
{
	var isFullOrNot = '';
	if (isFull == false && startDate != '')
	{
		if (bool == false)
			isFullOrNot = 'Schrijf u nu direct in voor deze opleiding! <a href="./index.php?category0=open_opleidingen&category1=inschrijven&cs=' + cs + '&cat=' + id + '&id=' + objId + '">Klik hier</a>';
		else
			isFullOrNot = 'Schrijf u nu direct in voor deze opleiding! <a href="./index.php?category0=open_opleidingen&category1=inschrijven&crs=' + cs + '&loc=' + id + '">Klik hier</a>';
	}
	else if(startDate == '' && isFull == false)
		isFullOrNot = '<b>Inschrijven is alleen mogelijk op aanvraag. Neem contact op met telefoonnr 0492 - 50 79 30 of mail naar <a href="mailto:m.maas@sbkadvies.nl">m.maas@sbkadvies.nl</a> voor meer informatie.</b>';
	else
		isFullOrNot = '<b>Het maximum aantal cursisten is bereikt. Inschrijven is alleen mogelijk op aanvraag. Neem contact op met telefoonnr 0492 - 50 79 30 of mail naar <a href="mailto:m.maas@sbkadvies.nl">m.maas@sbkadvies.nl</a>voor meer informatie.</b>';
	
	var date = '';
	var trainData = '';
	if (trainingData != '')
		trainData = trainingData + '<br />'; 
	if (startDate != '')
		date = '<br /><br /><p style="font-weight: bold;">Trainingsdata</p>' +
		'startdatum: ' + startDate + '<br />' +
		trainData;
	else
		date = '<br />';
	
	var inc = '';
	if (incl != '')
		inc = '<br />Dit is inclusief:<br />' + incl;
	
	var comment = '';
	if (remark != '')
		comment = '<br /><br /><b>Opmerking(en)</b><br />' + remark;
	
	var loc = '';
	if (location != '')
		loc = 'U heeft gekozen voor de lokatie ' + location + '. De lokatiegegevens krijgt u gelijktijdig met de bevestiging binnen.';
	
	var cost = '';
	if (costs != "0,00")
		cost = 'Kosten voor deze opleiding zijn &euro; ' + costs + ' (excl BTW). ' + inc;
	else
		cost = 'Kosten voor deze opleiding zijn op aanvraag';
	
	var text = '';
	if (courseTime != 'incompany')
		text = 'Deze opleiding bestaat uit ' + courseTime + '. ';
	else
		text = 'Deze opleiding is ' + courseTime + '. '
			
	var obj = document.getElementById('popupContent');
	obj.innerHTML = '<p style="font-weight: bold; font-size: 12px;">' + name + '</p>' +
		'<br />' +
		'<br />' +
		'<br />' +
		text + 
		'Van ' + startTime + ' uur tot ' + endTime + ' uur. ' + 
		loc +
		date +
		'<br />' +
		cost +
		comment + 
		'<br />' +
		'<br />' +
		isFullOrNot
		
	var el;
	if (startgarantie)
	{
		el = document.getElementById("startgarantie");
		if (el)
			el.style.display = 'block';
	}		
	else
	{
		el = document.getElementById("startgarantie");
		if (el)
			el.style.display = 'none';
	}
	
	blanket_size(windowname);
	window_pos('shadow');
	window_pos(windowname);
	toggle('overlay');
	toggle('shadow');
	toggle(windowname);
}

function selectCat(selObj, url)
{	
	location.href = url + '&cat=' + selObj.options[selObj.selectedIndex].value;
}

function changePage(selObj)
{
	location.href = selObj.options[selObj.selectedIndex].value;
}

function selectCourse(selObj, url)
{
	var sel = selObj.options[selObj.selectedIndex].value;
	if (sel != 'maak een keuze')
		location.href = url + '&crs=' + selObj.options[selObj.selectedIndex].value;
	else
		location.href = url;
}

function selectLocation(selObj, url)
{
	var sel = selObj.options[selObj.selectedIndex].value;
	if (sel != 'maak een keuze')
		location.href = url + '&loc=' + selObj.options[selObj.selectedIndex].value;
	else
		location.href = url;
}

function calculateCost(selObj, price)
{
	var id = document.getElementById('totalPrice');
	var i = selObj.options[selObj.selectedIndex].value;
	var result = i * price;
	var out = result.toFixed(2);

	id.innerHTML = '&euro; ' + out;
	document.register.totalCosts.value = out;
	
	addUserInput(i);
}

var prevNum = 1;
function addUserInput(id)
{
	var num = id;
	var count = parseInt(num) + 1;
	
	// hide all users except the first 1
	for (var i = 0; i < 140; i++)
	{	
		var obj = document.getElementById('user' + i);
		if (obj && i != 1)
		{
			obj.style.display = 'none';
		}
	}
	
	// clear fields if not displayed
	if (num < prevNum)
	{
		for (var n = count; n < 21; n++)
		{
			eval("document.register.username" + n + ".value = ''");
			eval("document.register.birthdate" + n + ".value = ''");
			eval("document.register.gender" + n + "[0].checked = false");
			eval("document.register.gender" + n + "[1].checked = false");
			eval("document.register.birthplace" + n + ".value = ''");
			eval("document.register.function" + n + ".value = ''");
			eval("document.register.preTraining" + n + ".value = ''");
			eval("document.register.firstLetter" + n + ".value = ''");
			
			document.getElementById("username" + n).className = 'normal';
			document.getElementById("gender" + n).className = 'normal';
			document.getElementById("birthdate" + n).className = 'normal';
			document.getElementById("birthplace" + n).className = 'normal';
			document.getElementById("function" + n).className = 'normal';
			document.getElementById("firstLetter" + n).className = 'normal';
		}
	}
	
	// display users
	id = id * 8 -7;
	for (i = 0; i < id; i++)
	{
		obj = document.getElementById('user' + i);
		if (obj)
			obj.style.display = 'block';
	}
	
	prevNum = num;
}

function hideShow(input, text)
{
	var el = document.register.uneto;
	var input = document.getElementById(input)
	var text = document.getElementById(text)
	
	if (el[1].checked == false && input.style.display == 'none')
	{
		input.style.display = 'block';
		text.style.display = 'block';
	}
	else
	{
		input.style.display = 'none';
		text.style.display = 'none';
	}
}

function loadForm()
{
	var divObject = document.getElementById("inschrijvenForm");
	if (divObject)
	{
		xajax.call("xajax_getHTML", {context: {
			callback: function(html)
			{
				divObject.innerHTML = html;
			}
		}});
	}
}
