if (CRUD_beheer_js_included != true)
{
	/*
	 * @param {string} id
	 */
	function hideVeld( id )
	{
		if ( id == '' ) return false;
		
		element = document.getElementById( id );
		if ( !element ) return false;
		
		var classes = '';
		if ( element.className )
		{
			classes = element.className;
		}
		if ( classes != '' ) classes += ' hidden';
		else classes = 'hidden';
		element.className = classes; 
	}
	/*
	 * @param {string} id
	 */
	function showVeld( id )
	{
		if ( id == '' ) return false;
		
		element = document.getElementById( id );
		if ( !element ) return false;
		
		if (element.className)
		{
			var classes = new String(element.className);
			classes = classes.replace(/hidden/g, '')
			element.className = classes;
		}
	}
	
	/*
	 * @param {string} id
	 */
	function disableVeld( id )
	{
		if ( id == '' ) return false;
		
		element = document.getElementById( id );
		if ( !element ) return false;
		
		element.disabled = true;
		var classes = '';
		if ( element.className )
		{
			classes = element.className;
		}
		if ( classes != '' ) classes += ' disabled';
		else classes = 'disabled';
		element.className = classes; 
	}
	/*
	 * @param {string} id
	 */
	function enableVeld( id )
	{
		if ( id == '' ) return false;
		
		element = document.getElementById( id );
		if ( !element ) return false;
		if (element.className)
		{
			var classes = new String(element.className);
			classes = classes.replace(/disabled/g,'');
			element.className = classes;
		}
		element.disabled = false;
	}
	
	/*
	 * 
	 * @param {Object} formulier_naam
	 * @param {Object} actie
	 */
	/* Algemene functies */
	function CheckAll(formulier_naam, actie) 
	{
		var formulier = document.getElementById(formulier_naam);
	    for (var i=0;i<formulier.elements.length;i++) 
	    {
	        var e = formulier.elements[i];
	        if (e.type=='checkbox') {
				if (actie == 'selecteer')
				{
					e.checked = true;
					e.parentNode.parentNode.className += ' geselecteerd';
				}
				else if (actie == 'selecteerpagina')
				{
					if (e.checked == false)
					{
						e.checked = true;
						Checkbox(e.id);
					}
				}
				else if ( actie == 'deselecteerpagina')
				{
					if (e.checked == true)
					{
						e.checked = false;
						Checkbox(e.id);
					}
				}
				else
				{
					e.checked = false;
					e.parentNode.parentNode.className = e.parentNode.parentNode.className.replace(/ geselecteerd/g, "");
				}
	        }
	    }
	
	    if (actie == 'selecteer')
	    {
	    	document.getElementById(formulier_naam+'_selecteer').innerHTML = '&nbsp;<img src="'+idem_url+'/img/icon_alles_selecteren.gif"> <a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'deselecteer\');" title="Alles selecteren">Alles selecteren</a>';
			if (formulier_naam == 'form_record') document.getElementById(formulier_naam+'_selecteer').innerHTML = document.getElementById(formulier_naam+'_selecteer').innerHTML + ' <br>&nbsp;&nbsp;&nbsp;&nbsp;<a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'deselecteerpagina\');" title="Pagina selecteren">Pagina selecteren</a>';
	    	if (formulier.selectie_alles != null && typeof(formulier.selectie_alles) != "undefined")
			{
				formulier.selectie.value= '';
				formulier.selectie_alles.value= 'all';
			}
			if (typeof(aantal_geselecteerde_records) != "undefined")
				aantal_geselecteerde_records = 0;
	    }
		else if (actie == 'deselecteer')
	    {
			document.getElementById(formulier_naam+'_selecteer').innerHTML = '&nbsp;<img src="'+idem_url+'/img/icon_alles_selecteren.gif"> <a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'selecteer\');" title="Alles selecteren">Alles selecteren</a>';
			if (formulier_naam == 'form_record') document.getElementById(formulier_naam+'_selecteer').innerHTML = document.getElementById(formulier_naam+'_selecteer').innerHTML + ' <br>&nbsp;&nbsp;&nbsp;&nbsp;<a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'selecteerpagina\');" title="Pagina selecteren">Pagina selecteren</a>';	
	    	if (formulier.selectie_alles != null && typeof(formulier.selectie_alles) != "undefined")
			{	
				formulier.selectie.value= '';
				formulier.selectie_alles.value= '';
			}
			if (typeof(aantal_geselecteerde_records) != "undefined")
				aantal_geselecteerde_records = 0;
	    }
		else if (actie == 'selecteerpagina')
		{
			document.getElementById(formulier_naam+'_selecteer').innerHTML = '&nbsp;<img src="'+idem_url+'/img/icon_alles_selecteren.gif"> <a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'deselecteer\');" title="Alles selecteren">Alles selecteren</a> <br>&nbsp;&nbsp;&nbsp;&nbsp;<a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'deselecteerpagina\');" title="Pagina selecteren">Pagina selecteren</a>';
		}
		else if (actie == 'deselecteerpagina')
		{
			document.getElementById(formulier_naam+'_selecteer').innerHTML = '&nbsp;<img src="'+idem_url+'/img/icon_alles_selecteren.gif"> <a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'selecteer\');" title="Alles selecteren">Alles selecteren</a> <br>&nbsp;&nbsp;&nbsp;&nbsp;<a style="cursor: pointer; cursor: hand;" onclick="CheckAll(\''+formulier_naam+'\', \'selecteerpagina\');" title="Pagina selecteren">Pagina selecteren</a>';
		}
	}
	
	function CheckOne(checkbox)
	{
		if (!document.getElementById(checkbox)) return false;
		var checkbox = document.getElementById(checkbox);
		if (checkbox.checked == true)
		{
			checkbox.parentNode.parentNode.className = checkbox.parentNode.parentNode.className.replace(/ geselecteerd/g, "")
			if (typeof(aantal_geselecteerde_records) != "undefined")
				aantal_geselecteerde_records --;
			checkbox.checked = false;
		}
		else
		{
			checkbox.parentNode.parentNode.className += ' geselecteerd';
			if (typeof(aantal_geselecteerde_records) != "undefined")
				aantal_geselecteerde_records ++;
			checkbox.checked = true;
		}
		_Check(checkbox);
	}
	
	function Checkbox(checkbox)
	{
		var checkbox = document.getElementById(checkbox);
	
		if (checkbox.checked == true)
		{
			checkbox.parentNode.parentNode.className += ' geselecteerd';
			if (typeof(aantal_geselecteerde_records) != "undefined")
				aantal_geselecteerde_records ++;
		}
		else
		{
			checkbox.parentNode.parentNode.className = checkbox.parentNode.parentNode.className.replace(/ geselecteerd/g, "")
			if (typeof(aantal_geselecteerde_records) != "undefined")
				aantal_geselecteerde_records --;
		}
		_Check(checkbox);
	}
	
	//private functie om gezamelijke check dingen af te handelen voor Checkbox en CheckOne
	function _Check(checkbox)
	{
		var _add = function( )
		{
			//checken of al bestaat in array, dan niet toevoegen, anders wel
			if (array_search(checkbox.value, selectie) === false)
			{
				selectie.push(checkbox.value);
			}
		}
		
		var _remove = function( )
		{
			//wanneer bestaat in array, dan eruit mikken
			var waarde = array_search(checkbox.value, selectie);
			if (waarde !== false)
				selectie.splice(waarde, 1);
		}
		
		if (document.getElementById('selectie') != null && typeof(document.getElementById('selectie')) != "undefined" && document.getElementById('selectie_alles') != null && typeof(document.getElementById('selectie_alles')) != "undefined" )
		{
			var selectie = document.getElementById('selectie').value;
			selectie = selectie.split(',');
			if (document.getElementById('selectie_alles').value != 'all')
			{
				if (checkbox.checked == true)	_add();
				else							_remove();
			}
			else
			{
				if (checkbox.checked == true)	_remove();
				else							_add();
			}
			selectie.join(',');	
			document.getElementById('selectie').value = selectie;	
		}
	}
	
	function OneChecked(formulier)
	{
		var formulier = document.getElementById(formulier);
		flg = 0;
		
		for (var i=0;i<formulier.elements.length;i++) 
		{
	        var e = formulier.elements[i];
	        if (e.type=='checkbox') 
	        {
	           if (e.checked == true)
	           {
	          		flg = 1;
	           		break;
	           }
	           else
	            flg = 0;
	        }
	    }
	    
	    if(flg == 0)
			return false;
		else
			return true;
	}
	
	function NumberChecked(formulier)
	{
		var formulier = document.getElementById(formulier);
		flg = 0;
		
		for (var i=0;i<formulier.elements.length;i++) 
		{
	        var e = formulier.elements[i];
	        if (e.type=='checkbox') 
	        {
	           if (e.checked == true)
	           {
	          		flg = flg + 1;
	           }
	        }
	    }
	    
		return flg;
	}
	
	function kopieer(formulier)
	{
		if (formulier != 'form_record')
		{
			if (!OneChecked(formulier))
			{
				alert('U heeft geen selectie gemaakt.');
				return false;
			}
		}
		else
		{		
			var elemformulier = document.getElementById(formulier);
			var bCheck = false;
			var totaal_geselecteerde_records = 0;
			if (elemformulier.selectie_alles.value == 'all')
			{
				bCheck = true;
				totaal_geselecteerde_records = aantal_records + aantal_geselecteerde_records;
			}
			else
			{
				totaal_geselecteerde_records = aantal_geselecteerde_records;
				if (elemformulier.selectie.value == '')
					bCheck = false;
				else
					bCheck = true;
			}
	
			if (bCheck == false)
			{
				alert('U heeft geen selectie gemaakt.');
				return false;
			}
	
			if (!confirm('Weet u zeker dat u '+totaal_geselecteerde_records+' record(s) wilt kopiëren en plakken?'))
			{
				return false;
			}
		
		}
	
		var formulier = document.getElementById(formulier);
		formulier.submit()
	}
	
	function leeg(formulier)
	{
		if (!OneChecked(formulier))
		{
			alert('U heeft geen selectie gemaakt.');
			return false;
		}
		
		var aantal = NumberChecked(formulier);
		var tempform = formulier;
		var item = '';
		if (tempform == 'form_tabel')
			item = 'tabel(len)';
		else
			item = 'formulier(en)';
		if (confirm ("Weet u zeker dat u deze "+aantal+" "+item+" wilt legen? \n - Alle bijbehorende data zal verloren gaan!"))
		{
			var formulier = document.getElementById(formulier);
			if (tempform == 'form_tabel') formulier.pagina.value= 'tabel';
			else	formulier.pagina.value = 'formulier';
			formulier.actie.value = 'multiplelegen';
			formulier.submit()
		}
		else
			return false;
	}
	
	/*
	 * Disabled alle velden op een pagina.
	 * 
	 * Zet de velden eigenlijk op readonly, omdat gedisablede velden niet verstuurd worden
	 * Zet wel de class disabled, zodat de elementen gestyled worden alsof ze gedisabled zijn
	 */
	function disableAlleVelden()
	{
		var disable_maar = function( tagname )
		{
			var elements = document.getElementsByTagName( tagname );
			var teller;
			for( teller=0; teller<elements.length; teller++)
			{
				element = elements[ teller ];
				element.readonly = 'readonly';
				
				var classes = element.className ? element.className : '';
				var classes = classes ? classes += ' disabled' : 'disabled'; 
				element.className = classes;
			}
		}
		
		disable_maar('input');
		disable_maar('select');
		disable_maar('textarea');
		disable_maar('button');
	}
	
	/*
	 * Voor tonen en verbergen van tabbladen met multiforms
	 */
	function tabblad(id_tab,id_tabmenu,id_tabblok)
	{
		for (i=1; i<=10; i++)
		{
			if (document.getElementById('tabblad'+i+'_'+id_tabblok))
			{
				hideVeld('tabblad'+i+'_'+id_tabblok);
				var classes = new String(document.getElementById('tabmenu'+i+'_'+id_tabblok).className);
				classes = classes.replace(/active/g, '')
				document.getElementById('tabmenu'+i+'_'+id_tabblok).className = classes;			
			}
		}	
		if (document.getElementById(id_tabmenu))
			document.getElementById(id_tabmenu).className = "active";
		showVeld(id_tab);
	}
	
	/*
		Maakt het trimmen van strings mogelijk.
		aanroepen als varnaam.trim();
		Zie trim1 en trim11 van http://blog.stevenlevithan.com/archives/faster-trim-javascript/ 
	*/
	if ( typeof String.prototype.trim == 'undefined' )
	{
		String.prototype.trim = function()
		{
			if ( this.length <= 1000 )
			{
				return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
			}
			else
			{
				str = this.replace(/^\s+/, '');
				for (var i = str.length - 1; i > 0; i--)
				{
					if (/\S/.test(str.charAt(i))) 
					{
						str = str.substring(0, i + 1); break; 
					} 
				}
				return str;
			}
		}
	}
	
	
	/*
		Cross-Browser Split v0.1; MIT-style license
		By Steven Levithan <http://stevenlevithan.com>
		An ECMA-compliant, uniform cross-browser split method
	*/
	String.prototype.split = function(separator, limit) {
		var flags = "";
		
		/* Behavior for separator: If it's...
		- Undefined: Return an array containing one element consisting of the entire string
		- A regexp or string: Use it
		- Anything else: Convert it to a string, then use it */
		if (separator === undefined) {
			return [this.toString()]; // toString is used because the typeof this is object
		} else if (separator === null || separator.constructor !== RegExp) {
			// Convert to a regex with escaped metacharacters
			separator = new RegExp(String(separator).replace(/[.*+?^${}()|[\]\/\\]/g, "\\$&"), "g");
		} else {
			flags = separator.toString().replace(/^[\S\s]+\//, "");
			if (!separator.global) {
				separator = new RegExp(separator.source, "g" + flags);
			}
		}
		
		// Used for the IE non-participating capturing group fix
		var separator2 = new RegExp("^" + separator.source + "$", flags);
		
		/* Behavior for limit: If it's...
		- Undefined: No limit
		- Zero: Return an empty array
		- A positive number: Use limit after dropping any decimal value (if it's then zero, return an empty array)
		- A negative number: No limit, same as if limit is undefined
		- A type/value which can be converted to a number: Convert, then use the above rules
		- A type/value which cannot be converted to a number: Return an empty array */
		if (limit === undefined || +limit < 0) {
			limit = false;
		} else {
			limit = Math.floor(+limit);
			if (!limit) return []; // NaN and 0 (the values which will trigger the condition here) are both falsy
		}
		
		var match,
			output = [],
			lastLastIndex = 0,
			i = 0;
		
		while ((limit ? i++ <= limit : true) && (match = separator.exec(this))) {
			// Fix IE's infinite-loop-resistant but incorrect RegExp.lastIndex
			if ((match[0].length === 0) && (separator.lastIndex > match.index)) {
				separator.lastIndex--;
			}
			
			if (separator.lastIndex > lastLastIndex) {
				/* Fix IE to return undefined for non-participating capturing groups (NPCGs). Although IE
				incorrectly uses empty strings for NPCGs with the exec method, it uses undefined for NPCGs
				with the replace method. Conversely, Firefox incorrectly uses empty strings for NPCGs with
				the replace and split methods, but uses undefined with the exec method. Crazy! */
				if (match.length > 1) {
					match[0].replace(separator2, function(){
						for (var j = 1; j < arguments.length - 2; j++){
							if (arguments[j] === undefined) match[j] = undefined;
						}
					});
				}
				
				output = output.concat(this.substring(lastLastIndex, match.index), (match.index === this.length ? [] : match.slice(1)));
				lastLastIndex = separator.lastIndex;
			}
			
			if (match[0].length === 0) {
				separator.lastIndex++;
			}
		}
		
		return (lastLastIndex === this.length)
			? (separator.test("") ? output : output.concat(""))
			: (limit ? output : output.concat(this.substring(lastLastIndex)));
	};
	
	/* Javascript voor type_reperterend_event */
	function type_reperterend_event_displayRepeterend(kolomnaam)
	{
		var type = document.getElementById(kolomnaam+'agenda_repeteren').value;
		document.getElementById(kolomnaam+'agenda_repeterend_niet').style.display 			= 'none';
		document.getElementById(kolomnaam+'agenda_repeterend_wekelijks').style.display 		= 'none';
		document.getElementById(kolomnaam+'agenda_repeterend_maandelijks').style.display 	= 'none';
		document.getElementById(kolomnaam+'agenda_repeterend_jaarlijks').style.display 		= 'none';
		
		if ( type != 'nee' ) 
		{
			document.getElementById(kolomnaam+'datumtabel').style.display = 'block';
			if ( type == 'wekelijks' ) 	document.getElementById(kolomnaam+'agenda_repeterend_wekelijks').style.display 			= 'block';
			if ( type == 'maandelijks') document.getElementById(kolomnaam+'agenda_repeterend_maandelijks').style.display 		= 'block';
			if ( type == 'jaarlijks' )	document.getElementById(kolomnaam+'agenda_repeterend_jaarlijks').style.display 			= 'block';
		} 
		else 
		{
			document.getElementById(kolomnaam+'agenda_repeterend_niet').style.display 			= 'block';
		}
	}
	
	function type_reperterend_event_heleDag(kolomnaam)
	{
		if (document.getElementById(kolomnaam+'hele_dag').checked == false) 
		{
			document.getElementById(kolomnaam+'van_uur').disabled	= false;
			document.getElementById(kolomnaam+'van_min').disabled 	= false;
			document.getElementById(kolomnaam+'tot_uur').disabled 	= false;
			document.getElementById(kolomnaam+'tot_min').disabled 	= false;
		} 
		else 
		{
			document.getElementById(kolomnaam+'van_uur').disabled 	= true;
			document.getElementById(kolomnaam+'van_min').disabled 	= true;
			document.getElementById(kolomnaam+'tot_uur').disabled 	= true;
			document.getElementById(kolomnaam+'tot_min').disabled 	= true;
		}
	}
	
	function type_reperterend_event_updateED(kolomnaam) {
		if (document.getElementById(kolomnaam+'einddatum').value == '' && document.getElementById(kolomnaam+'oneindig').checked == false) {
			document.getElementById(kolomnaam+'einddatum').value = document.getElementById(kolomnaam+'startdatum').value;
		}
	}
	
	function type_reperterend_event_tijdVerandering(kolomnaam) {
		if ((document.getElementById(kolomnaam+'tot_min').selectedIndex == 0 && document.getElementById(kolomnaam+'tot_uur').selectedIndex == 0)) {
			document.getElementById(kolomnaam+'tot_uur').selectedIndex = document.getElementById(kolomnaam+'van_uur').selectedIndex+1;
		}
	}
	
	function type_reperterend_event_vanafBegin(kolomnaam)
	{
		if (document.getElementById(kolomnaam+'vanaf_begin').checked == false) 
		{
			document.getElementById(kolomnaam+'startdatum').value 		= document.getElementById(kolomnaam+'hist_sd').value;
			document.getElementById(kolomnaam+'startdatum').disabled	= false;
			document.getElementById(kolomnaam+'startdatum').style.backgroundColor = '#FFFFFF';
			
			Calendar.setup({
				inputField 	:	kolomnaam+'startdatum',
				ifFormat 	:	'%d-%m-%Y',
				button 		:	kolomnaam+'f_trigger_sd',
				align		:	'Tl',
				singleClick	:	true
			});						
		} 
		else 
		{
			document.getElementById(kolomnaam+'hist_sd').value 		= document.getElementById(kolomnaam+'startdatum').value;
			document.getElementById(kolomnaam+'startdatum').value 	= '';
			document.getElementById(kolomnaam+'startdatum').style.backgroundColor = '#D4D0C8';
			document.getElementById(kolomnaam+'startdatum').disabled 	= true;
	
			Calendar.setup({
				inputField 	:	'',
				ifFormat 	:	'%d-%m-%Y',
				button 		:	kolomnaam+'f_trigger_sd',
				align		:	'Tl',
				singleClick	:	true
			});						
		}					
	}
	
	function type_reperterend_event_totEinde(kolomnaam)
	{
		if (document.getElementById(kolomnaam+'oneindig').checked == false) 
		{
			document.getElementById(kolomnaam+'einddatum').value 		= document.getElementById(kolomnaam+'hist_ed').value;
			document.getElementById(kolomnaam+'einddatum').disabled 	= false;
			document.getElementById(kolomnaam+'einddatum').style.backgroundColor = '#FFFFFF';
			
			Calendar.setup({
				inputField 	:	kolomnaam+'einddatum',
				ifFormat 	:	'%d-%m-%Y',
				button 		:	kolomnaam+'f_trigger_ed',
				align		:	'Tl',
				singleClick	:	true
			});						
		} 
		else 
		{
			document.getElementById(kolomnaam+'hist_ed').value = document.getElementById(kolomnaam+'einddatum').value;
			document.getElementById(kolomnaam+'einddatum').value = '';
			document.getElementById(kolomnaam+'einddatum').style.backgroundColor = '#D4D0C8';
			document.getElementById(kolomnaam+'einddatum').disabled = true;
			
			Calendar.setup({
				inputField 	:	'',
				ifFormat 	:	'%d-%m-%Y',
				button 		:	kolomnaam+'f_trigger_ed',
				align		:	'Tl',
				singleClick	:	true
			});						
		}								
	}
	
	function type_reperterend_event_Int(x) { return Math.floor(x+(x < 0 ? 1 : 0)) }
	/* Einde js type_reperterend_event */
}
var CRUD_beheer_js_included = true;