/******************************************************************************************************/
/*** JavaScript functies: *****************************************************************************/
/******************************************************************************************************/
var allowedToShowAll = true;

		document.observe (
			'dom:loaded',
			function(event) {
				Event.observe('window', 'load', leesUrl());
			}
		);


		//Na laden pagina tonen met waarde uit hash
		function leesUrl() {			
			var url = window.location.href;
			
			
			if(url.indexOf("bedrijf") != -1) {
				var urlToArray = url.split('=');
				var bedrijf = urlToArray[urlToArray.length-1];
				applyFiltersBedrijf(bedrijf);
			} else if(url.indexOf("locatie") != -1) {
				var urlToArray = url.split('=');
				var locatie = urlToArray[urlToArray.length-1];
				applyFiltersLocatie(locatie)
			} else if(url.indexOf("groep") != -1) {
				var urlToArray = url.split('=');
				var groep = urlToArray[urlToArray.length-1];
				applyFiltersGroep(groep)
			} else if(url.indexOf("func_spec") != -1) {
				var urlToArray = url.split('=');
				var func_spec = urlToArray[urlToArray.length-1];
				applyFiltersFunctieSpecialisme(func_spec)
			} else{
				toonZonderFilters();
			}
			
			
		}
		
	/**************************************************************************************************/
	/*** Zoeken binnen ECT: ***************************************************************************/
	/**************************************************************************************************/		
		function swapAction(act) {
			//$('ect_zoeken').action = act;
			document.form_zoeken.action = act;
		}

	/**************************************************************************************************/
	/*** Account aanmaken/registreren: ****************************************************************/
	/**************************************************************************************************/

		function checkMail(value) {
			var url    	= 'site/includes/helpers/checkMail.php';
			var rand 	= uniqid();
			var pars 	= 'mail='+escape(value)+'&dummy='+rand;
			var target	= 'emailHead';
			var myAjax 	= new Ajax.Updater(target, url, {method: 'get', parameters: pars});
		}
		
		function uniqid()  
		{
		  var newDate = new Date;  
		  return newDate.getTime();
		}
		
		function showHiddenDiv(id) {
			$(id).style.display = 'inline';
		}

		/**************************************************************************************************/
		/*** Bedrijf: *************************************************************************************/
		/**************************************************************************************************/
		
		function maakPostVeld(s_box) {
			if(s_box.id == 'werkzaamBijBedrijf') {
				if($('bedrijf')) {
					$('bedrijf').value = s_box.value;
				} else {
					$('inputFields').innerHTML += "<input id=\"bedrijf\" type='hidden' name=\"bedrijf_id\" value=\"" + s_box.value + "\"/>\n"				
				}
			} else if(s_box.id == 'werkzaamBijBedrijfLocatie') {
				if($('locatie')) {
					$('locatie').value = s_box.value;
				} else {
					$('inputFields').innerHTML += "<input id=\"locatie\" type='hidden' name=\"locatie_id\" value=\"" + s_box.value + "\"/>\n"				
				}
			}
		}
		
		
		/**************************************************************************************************/
		/*** Bedrijf: *************************************************************************************/
		/**************************************************************************************************/		
		function getBedrijvenLocaties(s_box) {
			var url = '/site/includes/content/helpers/helper_locaties_ophalen.php';
			var pars = 'bedrijf_id=' + escape(s_box.value);		
			var target = 'td_locatieList';
			var myAjax 	= new Ajax.Updater( target, 
											url, 
											{
												method: 'post', 
												parameters: pars, 
												onSuccess: function(transport) {
																$(target).update(transport.responseText);
														   },
												onFailure: function(transport) 
														   {
																alert('connection to '+url+' failed...');
														   }
												}
											);
		}
		
		
		
		
		/**************************************************************************************************/
		/*** Functies: ************************************************************************************/
		/**************************************************************************************************/
	
			/*function functienaamVanIdOphalenUitDatabase(callback, functie) {
				//remember that onComplete is called long after the someFunction is done working. 
				//What you need to do is pass a callback function to the somefunction as a parameter. 
				//This function will be called when the process is done working (ie, onComplete):
				//http://stackoverflow.com/questions/1225667/how-to-return-ajax-response-text
				var result = "";
				var pars = "functie_id=" + functie;
				var url	= '/site/js/php_helpers/helper_functienaam_bij_functieid.php';
				myAjax = new Ajax.Request(url, {
					method: 'post',
					parameters: pars,
					onComplete: function(transport) {
						if (200 == transport.status) {
							result = transport.responseText;
							callback(result);
						}
					}
				});
			}*/
			
			/*function aanmelderFunctieToevoegen() {
				if($('aanmelderFunctieKeuzelijst').value) {
					//showHiddenDiv('div_specialismeList');
					//showHiddenDiv('inputFields');
				}
				
				var functie_id = $('aanmelderFunctieKeuzelijst').value;
				//functienaamVanIdOphalenUitDatabase (function(result) { functieToevoegen(result, functie_id) }, functie_id);
						
				var url = '/site/js/php_helpers/helper_functie_blok_toevoegen.inc.php';
				var pars = 'functie_id=' + functie_id;
				var target = 'theForm';
				var myAjax 	= new Ajax.Request( url, {
													method: 'post', 
													parameters: pars, 
													onSuccess: function(transport) {
																	$(target).innerHTML += transport.responseText;
															   },
													onFailure: function(transport) 
															   {
																	alert('connection to '+url+' failed...');
															   }
													  }
											   );						
			}*/
			
			
			
			
			/*function functieToevoegen(naam, functie_id) {
				var gekozen = $('aanmelderGeselecteerdeFuncties');
				var uitTeKiezen = $('aanmelderFunctieKeuzelijst');
				
				//Escape bij lege selectie:
				if(uitTeKiezen.selectedIndex < 0) {
					return;
				}		
				
				for(var i = 0; i < gekozen.length; i++) {
					if(gekozen[i].value == '-')	{
						//Dummy rij verwijderen;
						gekozen.remove(i);
					} else if(gekozen[i].value == functie_id) {
						//Reeds toegevoegd;
						alert('Functie is al toegevoegd.')
						return;
					}
				}
				
				var elOptNew = document.createElement('option');
				elOptNew.text = naam;
				elOptNew.value = functie_id;
				elOptNew.title = naam;
				
				try {
					gekozen.add(elOptNew, null); // standards compliant; doesn't work in IE
				}
				catch(ex) {
					gekozen.add(elOptNew); // IE only
				}
				
				$('inputFields').innerHTML += "<input id=\"" + functie_id + "\" type='hidden' name=\"aanmelderFuncties[" + functie_id + "]\" value=\"" + naam + "\"/>\n"
				//bron: http://www.mredkj.com/tutorials/tutorial005.html
			}*/
			
			/*function customFunctieToevoegen() {
				var gekozen = $('aanmelderGeselecteerdeFuncties');
			
				if(!$('customFunctie').value) {
					return;
				} else {
					var naam = $('customFunctie').value
					for(var i = 0; i < gekozen.length; i++) {
						if(gekozen[i].value == '-')	{
							//Dummy rij verwijderen;
							gekozen.remove(i);
						} 
					}					
				}
				
				var elOptNew = document.createElement('option');
				elOptNew.text = naam;
				elOptNew.value = "custom_f_" + naam;
				elOptNew.title = naam;
				
				try {
					gekozen.add(elOptNew, null); // standards compliant; doesn't work in IE
				}
				catch(ex) {
					gekozen.add(elOptNew); // IE only
				}
				
				$('inputFields').innerHTML += "<input id=\"custom_f_" + naam + "\" type='hidden' name=\"customFuncties[custom_f_" + naam + "]\" value=\"" + naam + "\"/>\n"				
				$('customFunctie').value = '';
			}*/
			
			/*function verwijderGekozenFunctie()
			{
				var gekozen = $('aanmelderGeselecteerdeFuncties');
				var i;
				for (i = gekozen.length - 1; i>=0; i--) {
					if (gekozen.options[i].selected) {
						var parent = $(gekozen[i].value).parentNode;
						parent.removeChild($(gekozen[i].value))				
						gekozen.remove(i);
					}
				}
			}*/
		
		/**************************************************************************************************/
		/*** Specialismen: ********************************************************************************/
		/**************************************************************************************************/

			function aanmelderSpecialismeToevoegen() {
				var specialisme_id = $('aanmelderSpecialismeKeuzelijst').value;
				specialismenaamVanIdOphalenUitDatabase (function(result) { specialismeToevoegen(result, specialisme_id) }, specialisme_id);				
			}

			function specialismenaamVanIdOphalenUitDatabase(callback, specialisme_id) {
				var result = "";
				var pars = "specialisme_id=" + specialisme_id;
				var url	= '/site/js/php_helpers/helper_specialismenaam_bij_specialismeid.php';
				myAjax = new Ajax.Request(url, {
					method: 'post',
					parameters: pars,
					onComplete: function(transport) {
						if (200 == transport.status) {
							result = transport.responseText;
							callback(result);
						}
					}
				});
			}

			function specialismeToevoegen(naam, specialisme_id) {
				var gekozen = $('aanmelderGeselecteerdeSpecialismen');
				var uitTeKiezen = $('aanmelderSpecialismeKeuzelijst');
				//Escape bij lege selectie:
				if(uitTeKiezen.selectedIndex < 0) {
					return;
				}
				
				for(var i = 0; i < gekozen.length; i++) {
					if(gekozen[i].value == '-')	{
						//Dummy rij verwijderen;
						gekozen.remove(i);
					} else if(gekozen[i].value == specialisme_id) {
						//Reeds toegevoegd;
						alert('Specialisme is al toegevoegd.')
						return;
					}
				}
				
				var elOptNew = document.createElement('option');
				elOptNew.text = naam;
				elOptNew.value = specialisme_id;
				elOptNew.title = naam;
				
				try {
					gekozen.add(elOptNew, null); // standards compliant; doesn't work in IE
				}
				catch(ex) {
					gekozen.add(elOptNew); // IE only
				}
				//bron: http://www.mredkj.com/tutorials/tutorial005.html
				$('inputFields').innerHTML += "<input id=\"" + specialisme_id + "\" type='hidden' name=\"aanmelderSpecialismen[" + specialisme_id + "]\" value=\"" + naam + "\"/>\n"								
				$('customSpecialisme').value = '';				
			}

			function customSpecialismeToevoegen() {
				var gekozen = $('aanmelderGeselecteerdeSpecialismen');
			
				if(!$('customSpecialisme').value) {
					return;
				} else {
					var naam = $('customSpecialisme').value
					for(var i = 0; i < gekozen.length; i++) {
						if(gekozen[i].value == '-')	{
							//Dummy rij verwijderen;
							gekozen.remove(i);
						} 
					}					
				}
				
				var elOptNew = document.createElement('option');
				elOptNew.text = naam;
				elOptNew.value = "custom_s_" + naam;
				elOptNew.title = naam;

				try {
					gekozen.add(elOptNew, null); // standards compliant; doesn't work in IE
				}
				catch(ex) {
					gekozen.add(elOptNew); // IE only
				}
				
				$('inputFields').innerHTML += "<input id=\"custom_s_" + naam + "\" type='hidden' name=\"customSpecialisme[custom_s_" + naam + "]\" value=\"" + naam + "\"/>\n"				
				
			}

			function verwijderGekozenSpecialisme()
			{
				var gekozen = $('aanmelderGeselecteerdeSpecialismen');
				var i;
				for (i = gekozen.length - 1; i>=0; i--) {
					if (gekozen.options[i].selected) {
						var parent = $(gekozen[i].value).parentNode;
						parent.removeChild($(gekozen[i].value))
						
						gekozen.remove(i);
					}
				}
			}
			
			
			
			//Tonen specialismes bij functie:
			
			function showSpecialismes(id, box) {
				if($(id)) {
					switch($(id).style.display) {
						case 'inline':
							$(id).style.display = 'none';
							enableBoxes(box);
							uncheckSpecialismes(id);
						break;
						case 'none':
							$(id).style.display = 'inline';
							disableBoxes(box);							
						break;						
					}
				}
				
			}
			
			function enableBoxes(box) {
				var inputs = $('content').getElementsByTagName('input');
				for(var i = 0; i < inputs.length; i++) {
					if(inputs[i].type == 'checkbox') {
						if(inputs[i].parentNode.nodeName != 'LI') {
							inputs[i].disabled = false;	
						}
					}
				}
			}			
			
			function disableBoxes(box) {
				var inputs = $('content').getElementsByTagName('input');
				for(var i = 0; i < inputs.length; i++) {
					if(inputs[i].type == 'checkbox') {
						if(inputs[i].parentNode.nodeName != 'LI') {
							inputs[i].disabled = true;	
						}
					}
				}
				box.disabled = false;
			}
			
			function uncheckSpecialismes(id) {
				var l = $(id).getElementsByTagName('input').length
				for(var i = 0; i < l; i++) {
					$(id).getElementsByTagName('input')[i].checked = false;
				}
			}
			
	/**************************************************************************************************/
	/*** Sociale Kaart: *******************************************************************************/
	/**************************************************************************************************/			
	
		function resetSelectBoxes(escaped) {
			var selects = $('socialeKaartFilterDiv').getElementsByTagName('select');
			for(var i = 0; i < selects.length; i++) {
				if(selects[i].id != escaped) {
					selects[i].selectedIndex  = 0;
				}
			}		
		}
	
		function applyFiltersBedrijf(bedrijf) {
			var url = '/site/includes/content/helpers/helper_leden_filter.php';
			var pars = 'bedrijf=' + escape(bedrijf);		
			var target = 'socialeKaartResultaatDiv';
			var myAjax 	= new Ajax.Updater( target, 
											url, 
											{
												method: 'post', 
												parameters: pars, 
												onSuccess: function(transport) {
																if(transport.responseText == '') {
																	toonZonderFilters();
																} else {
																	parent.location.hash = "&bedrijf=" + bedrijf;
																	$(target).update(transport.responseText);
																}
														   },
												onFailure: function(transport) 
														   {
																alert('connection to '+url+' failed...');
														   }
												}
											);
			resetSelectBoxes('bedrijven');
		}
		
		function applyFiltersLocatie(locatie) {
			var url = '/site/includes/content/helpers/helper_leden_filter.php';
			var pars = 'locatie=' + escape(locatie);		
			var target = 'socialeKaartResultaatDiv';
			var myAjax 	= new Ajax.Updater( target, 
											url, 
											{
												method: 'post', 
												parameters: pars, 
												onSuccess: function(transport) {
																if(transport.responseText == '') {
																	toonZonderFilters();
																} else {
																	parent.location.hash = "&locatie=" + locatie;
																	$(target).update(transport.responseText);
																}
														   },
												onFailure: function(transport) 
														   {
																alert('connection to '+url+' failed...');
														   }
												}
											);
			resetSelectBoxes('locatie');
		}		
		
		function applyFiltersGroep(groep) {
			var url = '/site/includes/content/helpers/helper_leden_filter.php';
			var pars = 'groep=' + escape(groep);		
			var target = 'socialeKaartResultaatDiv';
			var myAjax 	= new Ajax.Updater( target, 
											url, 
											{
												method: 'post', 
												parameters: pars, 
												onSuccess: function(transport) {
																if(transport.responseText == '') {
																	toonZonderFilters();
																} else {
																	parent.location.hash = "&groep=" + groep;
																	$(target).update(transport.responseText);
																}
														   },
												onFailure: function(transport) 
														   {
																alert('connection to '+url+' failed...');
														   }
												}
											);
			resetSelectBoxes('groep');
		}

	
		function applyFiltersFunctieSpecialisme(func_spec) {
			var url = '/site/includes/content/helpers/helper_leden_filter.php';
			var pars = 'func_spec=' + escape(func_spec);		
			var target = 'socialeKaartResultaatDiv';
			var myAjax 	= new Ajax.Updater( target, 
											url, 
											{
												method: 'post', 
												parameters: pars, 
												onSuccess: function(transport) {
																if(transport.responseText == '') {
																	toonZonderFilters();
																} else {
																	parent.location.hash = "&func_spec=" + func_spec;
																	$(target).update(transport.responseText);
																}
														   },
												onFailure: function(transport) 
														   {
																alert('connection to '+url+' failed...');
														   }
												}
											);
			resetSelectBoxes('func_spec');
		}
	
		function zoekOpNaam(zoeknaam) {
			if(zoeknaam) {
				var url = '/site/includes/content/helpers/helper_leden_filter.php';
				var pars = 'naam=' + escape(zoeknaam);		
				//var target = 'socialeKaartResultaatDiv';
				var target = 'content';
				var myAjax 	= new Ajax.Updater( target, 
												url, 
												{
													method: 'post', 
													parameters: pars, 
													onSuccess: function(transport) {
																	if(transport.responseText == '') {
																		toonZonderFilters();
																	} else {
																		$(target).update(transport.responseText);
																	}
															   },
													onFailure: function(transport) 
															   {
																	alert('connection to '+url+' failed...');
															   }
													}
												);
				//$('naamInvoer').value = '';
				//resetSelectBoxes(null);	
			} else if($('naamInvoer').value != '')	{
				var url = '/site/includes/content/helpers/helper_leden_filter.php';
				var pars = 'naam=' + escape($('naamInvoer').value);		
				var target = 'socialeKaartResultaatDiv';
				var myAjax 	= new Ajax.Updater( target, 
												url, 
												{
													method: 'post', 
													parameters: pars, 
													onSuccess: function(transport) {
																	if(transport.responseText == '') {
																		toonZonderFilters();
																	} else {
																		$(target).update(transport.responseText);
																	}
															   },
													onFailure: function(transport) 
															   {
																	alert('connection to '+url+' failed...');
															   }
													}
												);
				$('naamInvoer').value = '';
				resetSelectBoxes(null);			
			}
		}
		
		function zoekOpBedrijf() {
			if($('bedrijfInvoer').value != '')	{
				var url = '/site/includes/content/helpers/helper_leden_filter.php';
				var pars = 'bedrijfsnaam=' + escape($('bedrijfInvoer').value);		
				var target = 'socialeKaartResultaatDiv';
				var myAjax 	= new Ajax.Updater( target, 
												url, 
												{
													method: 'post', 
													parameters: pars, 
													onSuccess: function(transport) {
																	if(transport.responseText == '') {
																		toonZonderFilters();
																	} else {
																		$(target).update(transport.responseText);
																	}
															   },
													onFailure: function(transport) 
															   {
																	alert('connection to '+url+' failed...');
															   }
													}
												);
				$('bedrijfInvoer').value = '';
				resetSelectBoxes(null);			
			}			
		}
	
		function toonZonderFilters() {
			if(allowedToShowAll) {
				if($('socialeKaartResultaatDiv')) {
					var url = '/site/includes/content/helpers/helper_leden_filter.php';
					var pars = 'toonalles=true';		
					var target = 'socialeKaartResultaatDiv';
					var myAjax 	= new Ajax.Updater( target, 
													url, 
													{
														method: 'post', 
														parameters: pars, 
														onSuccess: function(transport) {
																		$(target).update(transport.responseText);
																   },
														onFailure: function(transport) 
																   {
																		alert('connection to '+url+' failed...');
																   }
														}
													);
				}					
			}
		}
		
	/**************************************************************************************************/
	/*** Zoeken binnen SK: ****************************************************************************/
	/**************************************************************************************************/					
	
		function setSelectBox(id, value) {
			var option = $(id).getElementsByTagName('option');
			for(var i = 0; i < option.length; i++) {
				if(option[i].value == value) {
					option[i].selected = 'selected';
				}
			}
		}
		
		function zoekOpGet(type, value) {
			allowedToShowAll = false;
			var url = '/site/includes/content/helpers/helper_leden_filter.php';
			var pars = escape(type) + '=' + escape(value);		
			var target = 'socialeKaartResultaatDiv';
			var myAjax 	= new Ajax.Updater( target, 
											url, 
											{
												method: 'get', 
												parameters: pars, 
												onSuccess: function(transport) {
																if(transport.responseText == '') {
																	//toonZonderFilters();
																	$(target).update(transport.responseText);	
																
																} else {
																	$(target).update(transport.responseText);
																}
														   },
												onFailure: function(transport) 
														   {
																alert('connection to '+url+' failed...');
														   }
												}
											);
			setSelectBox(type, value);			
			
		}
				
			
			
