/*** @author Theo van Oostrum theo@a2.nl* @version 1.0* @copyright A2 Automatisering B.V. 30-12-2008*/document.cursistCount = 0;
document.checkedPaspoort = false;
//URL_PREFIX used to fix mod_rewrite issues (not supported so solved by using GET), set empty for developing at localhostvar URL_PREFIX = '/training/?url=';//var URL_PREFIX = '';
function getCursusInputs(){	var cursus_form = document.getElementById('cursus');	cursus_inputs = cursus_form.getElementsByTagName('input');	var cursus_selects = cursus_form.getElementsByTagName('select');		//convert cursist_inputs from arrayLikeObject to array	//cursus_inputs = Array.prototype.slice.call(cursus_inputs);	cursus_input = toArray(cursus_inputs);	//cursus_selects = Array.prototype.slice.call(cursus_selects);	cursus_selects = toArray(cursus_selects);		fields = {};		for (input in cursus_inputs)	{		input = cursus_inputs[input];		fields[input.name] = input.value;	}		for ( select in cursus_selects )	{		select = cursus_selects[select];		fields[select.name] = select.value;	}		return fields;}//Get all input elements from the cursist to be added to the tablefunction getCursistInputs(){	var cursist_form = document.getElementById('cursist');	var cursist_inputs = cursist_form.getElementsByTagName('input');		//convert cursist_inputs from arrayLikeObject to array	//cursist_inputs = Array.prototype.slice.call(cursist_inputs);	cursist_inputs = toArray(cursist_inputs);	//Remove the last input which is a button	cursist_inputs.pop();		return cursist_inputs;}function setCursistInputs(values){	for (value in values)	{		value_id = value.substring(value.lastIndexOf('[')+1, value.lastIndexOf(']'));		input_element = document.getElementById('id_'+value_id);		input_element.value = values[value];	}}//Add a cursist to the cursisten tablefunction addCursist(){		/*	if(!document.checkedPaspoort)
	{	
		this.checkPaspoort(true);		return;
	}
	*/


	var cursus_form = document.getElementById('cursus');	var cursist_inputs = getCursistInputs();		var table = document.getElementById('cursisten_body');	var row = document.createElement('tr');	var cursist_id = 'cursisten['+document.cursistCount+']';	row.setAttribute('id', cursist_id);		cursistFields = {};		for(input in cursist_inputs)	{		input = cursist_inputs[input];		var name = input.getAttribute('name');		var value = input.value;				cursistFields[name] = value;	}		var result = validate(cursistFields);	if(result != true)	{		//document.checkedPaspoort = false;		return showMsg(result);	}		hideMsg();		//Create a table column for each input element of a cursist	for(input in cursist_inputs)	{		input = cursist_inputs[input];		var name = input.getAttribute('name');		var value = input.value;		var col = document.createElement('td');		col.setAttribute('id', cursist_id+'['+name+']');		col.innerHTML = value;				row.appendChild(col);			input.value = '';		input.className = ""; 	}						//Add edit and remove buttons to the table	var editcol = document.createElement('td');	var edit = document.createElement('div');	edit.setAttribute('onclick', 'editCursist("'+cursist_id+'")')	edit.setAttribute('class', 'edit');	edit.innerHTML = '';	editcol.appendChild(edit);	row.appendChild(editcol);		var removecol = document.createElement('td');	var remove = document.createElement('div');	remove.setAttribute('onclick', 'removeCursist("'+cursist_id+'", false)');	remove.setAttribute('class', 'remove');	remove.innerHTML = '';	removecol.appendChild(remove);	row.appendChild(removecol);		table.appendChild(row);		document.cursistCount++;		//document.checkedPaspoort = false;}//Get the table row of the cursist with the given idfunction getCursistRow(id){	var row = document.getElementById(id);	var cols = row.getElementsByTagName('td');		//convert cols from arrayLikeObject to array	//cols = Array.prototype.slice.call(cols);	cols = toArray(cols);	//Remove the last two cols which are the edit and remove links	cols.pop();	cols.pop();		var colValues = {};		for ( col in cols )	{		var colId = cols[col].id;		var key = colId.substring(id.length+1, colId.length-1);		colValues[colId] = cols[col].innerHTML;	}		return colValues;}function editCursist(id){	var values = getCursistRow(id);	setCursistInputs(values);	removeCursist(id, true);}function removeCursist(id, force){	var paspoort = document.getElementById(id+"[paspoort_nr]").innerHTML;		if ( ! force )	{		var proceed = confirm("Weet u zeker dat u de deelnemer met paspoort nr. '"+paspoort+"' wilt verwijderen?");	}	if( force || proceed )	{		var row = document.getElementById(id);		row.parentNode.removeChild(row);				if(document.cursistCount > 0)		{			document.cursistCount--;		}		}	}function checkMerk(){	var merk = document.getElementById("id_cursus[merk]").value;	if(merk == 'anders')	{		unhideMerk();	}	else	{		hideMerk();	}}function unhideMerk(){	document.getElementById("hiddenmerk").style.display = "block";}function hideMerk(){	document.getElementById("hiddenmerk").style.display = "none";}function sendForm(){		var fields = [];		var cursus_form = document.getElementById('cursus');	var cursusFields = getCursusInputs();			var result = validate(cursusFields);		if(result != true)	{		return showMsg(result);	}			var table = document.getElementById('cursisten');	var rows = table.getElementsByTagName('tr');		//convert rows from arrayLikeObject to array	//rows = Array.prototype.slice.call(rows);	rows = toArray(rows);	//Remove the firs row which is the table header	rows.shift();		if (rows.length == 0 )	{		//geen cursisten toegevoegd.		return showMsg('Er zijn geen deelnemers toegevoegd');	}		var proceed = confirm("Na 'OK' worden de gegevens verstuurd, deze kunnen niet meer worden gewijzigd.");		if( ! proceed )	{		return false;	}		var allRowFields = [];		for(row in rows)	{		row = rows[row];		rowid = row.getAttribute('id');				rowFields = getCursistRow(rowid);		allRowFields[allRowFields.length] = rowFields;	}			setFormFields(allRowFields);		return true;}function setFormFields(cursistRows){		var hidden_form = document.getElementById('hiddencursist');		hidden_form.innerHTML = "";		for (row in cursistRows)	{		row = cursistRows[row];				for(col in row)		{			var name = col;			var value = row[col];						var hidden = document.createElement('input');			hidden.setAttribute('type', 'hidden');			hidden.setAttribute('name', name);			hidden.setAttribute('value', value);						hidden_form.appendChild(hidden);		}	}}function logout(){	var proceed = confirm("Weet u zeker dat u wilt uitloggen?");		if( proceed )	{		window.location.href = URL_PREFIX + '/Training/logout';	}	}function checkPaspoort(addCursist){	if(!document.checkedPaspoort)	{		var paspoort = document.getElementById('id_paspoort_nr').value;				if ( validate ({'paspoort_nr':paspoort}) == true )		{			getPaspoortData(paspoort, addCursist);		}	}	}function getPaspoortData(paspoortNr, addCursist){					NCVajax	({		charset : 'UTF-8' ,		accept : 'json',		callbacks:function(data)		{			paspoortResponse ( data, addCursist );		}, 		url:URL_PREFIX + '/Training/paspoort/'+paspoortNr	});	   }function paspoortResponse(data, addCursist){	if(data != "")	{		if(data.paspoort != false)		{			for(field in data.paspoort)			{				value = data.paspoort[field];				nodeInput = document.getElementById('id_'+field);				nodeInput.value = value;			}		}					//if(addCursist)		//{		//	document.checkedPaspoort = true;		//	this.addCursist();		//}				/*		var elem = document.createElement('div');		elem.innerHTML = data;				var nodes = elem.childNodes;		//nodes = Array.prototype.slice.call(nodes);		nodes = toArray(nodes)				console.log(nodes);				for ( node in nodes )		{			node = nodes[node];						console.log(node);						name = node.getAttribute('name');			value = node.innerHTML;						nodeInput = document.getElementById('id_'+name);			nodeInput.value = value;		}		*/	}	//else	//{
	//	document.fetchedPaspoort = true;		//}}

