/*
	================================================================================
	= Naam             : Object Functions 2.0                                      =
	= Programmeur      : Rob Timmers                                               =
	= Laatst gewijzigd : 24 september 2006                                         =
	= Omschrijving     : Functies om de standaard Form elementen te manipuleren    =
	= Afhankelijkheden : string_functions.js                                       =
	================================================================================
	
	================================================================================
	= Changes																	   =
	================================================================================
	
	2007-10-18
	----------
	De functies TextValidateIsEmpty en TextIsEmpty zijn hernoemd naar
	TextValidateIsNotEmpty en TextIsNotEmpty. Dit omdat deze functies precies op
	een tegenovergestelde wijze werkten als de varianten voor de andere objecten.
	De functies zullen nu dus true terug geven indien een veld gevuld is en false
	indien een veld leeg is.
	
	De functie TextValue is hernoemd naar TextGetValue, omdat het niet duidelijk
	was of deze functie een waarde ophaalde of wegschreef.
	
	De functie TextGetValue zal bij het niet bestaan van het object undefined terug
	gaan geven in plaats van de gewoonlijke false. Dit omdat de functie de inhoud
	van een input text op dient te halen en false een waarde is.
	
	De functie TextEnabled is hernoemd naar TextSetEnabled, omdat het niet duidelijk
	was of deze functie iets instelde of ophaalde. De functie TextGetEnabled is
	toegevoegd om op te halen of een input text enabled is.
	
	
	================================================================================
	= Overzicht functies per object                                                =
	================================================================================
	
	Algemene functies
	=================
	
	ObjectSetFocus(strIDObject)
	ObjectEnable(strIDObject)
	ObjectDisable(strIDObject)
	ObjectGetEnabled(strIDObject)
	ObjectSetEnabled(strIDObject, blnEnabled)
	ObjectExists(strIDObject)
	
	
	Text
	====
	
	TextValidateIsNotEmpty(strIDText, blnTrimValue, blnUpdateText, blnMustEnter, blnShowAlerts, strAlertMessage, blnBackToText)
	TextIsNotEmpty(strIDText, blnTrimValue, blnUpdateText)
	TextGetValue(strIDText, blnTrimValue)
	TextSetValue(strIDText, strValue)
	TextClearValue(strIDText)
	TextEnable(strIDText)
	TextDisable(strIDText)
	TextGetEnabled(strIDText)
	TextSetEnabled(strIDText, blnEnabled)
	TextExists(strIDText)
	
	
	Checkbox
	========
	
	CheckboxIsChecked(strIDCheckbox)
	CheckboxClearCheck(strIDCheckbox)
	CheckboxEnable(strIDCheckbox)
	CheckboxDisable(strIDCheckbox)
	CheckboxGetEnabled(strIDCheckbox)	
	CheckboxSetEnabled(strIDCheckbox, blnEnabled)
	CheckboxExists(strIDCheckbox)
	
	
	Radio
	=====
	
	RadioEnable(strIDRadio)
	RadioDisable(strIDRadio)
	RadioEnabled(strIDRadio, blnEnabled)
	RadioExists(strIDRadio)
	RadioGroupValidateIsChecked(strNameRadioGroup, blnMustEnter, blnShowAlerts, strAlertMessage, blnBackToRadioGroup)
	RadioGroupIsChecked(strNameRadioGroup)
	RadioGroupGetValue(strNameRadioGroup, strNoChoiceValue)
	RadioGroupClearChecks(strNameRadioGroup)
	RadioGroupEnable(strNameRadioGroup)
	RadioGroupDisable(strNameRadioGroup)
	RadioGroupGetEnabled(strNameRadioGroup)
	RadioGroupSetEnabled(strNameRadioGroup, blnEnabled)
	RadioGroupExists(strNameRadioGroup)
	
	
	Select
	======
	
	SelectValidateIsSelected(strIDSelect, blnMustEnter, strEmptyValue, blnShowAlerts, strAlertMessage, blnBackToSelect)
	SelectIsSelected(strIDSelect, strEmptyValue)
	SelectSelectByValue(strIDSelect, strValue)
	SelectSelectByLabel(strIDSelect, strLabel)
	SelectGetValue(strIDSelect)
	SelectClearOptions(strIDSelect)
	SelectEnable(strIDSelect)
	SelectDisable(strIDSelect)
	SelectGetEnabled(strIDSelect)
	SelectSetEnabled(strIDSelect, blnEnabled)
	SelectExists(strIDSelect)
	
*/


//	================================================================================
//	= Algemene functies                                                            =
//	================================================================================

function ObjectSetFocus(strIDObject) {
	var l_objObject = document.getElementById(strIDObject);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objObject) == null) {alert("Bad Object Reference: " + strIDObject + "\n\nFunction: ObjectSetFocus"); return(false);}

	// Het object selecteren.
	l_objObject.focus();
	return(true);
}


function ObjectEnable(strIDObject) {
	var l_objObject = document.getElementById(strIDObject);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objObject) == null) {alert("Bad Object Reference: " + strIDObject + "\n\nFunction: ObjectEnable"); return(false);}

	// Het object selecteren.
	l_objObject.disabled = false;
	return(true);
}


function ObjectDisable(strIDObject) {
	var l_objObject = document.getElementById(strIDObject);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objObject) == null) {alert("Bad Object Reference: " + strIDObject + "\n\nFunction: ObjectDisable"); return(false);}

	// Het object selecteren.
	l_objObject.disabled = true;
	return(true);
}

function ObjectGetEnabled(strIDObject) {
	var l_objObject = document.getElementById(strIDObject);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objObject) == null) {alert("Bad Object Reference: " + strIDObject + "\n\nFunction: ObjectGetEnabled"); return;}

	// Het object selecteren.
	return(!l_objObject.disabled);
}

function ObjectSetEnabled(strIDObject, blnEnabled) {
	var l_objObject = document.getElementById(strIDObject);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objObject) == null) {alert("Bad Object Reference: " + strIDObject + "\n\nFunction: ObjectSetEnabled"); return(false);}

	// Het object selecteren.
	l_objObject.disabled = !blnEnabled;
	return(true);
}

function ObjectExists(strIDObject) {
	var l_objObject = document.getElementById(strIDObject);
	
	return(eval(l_objObject) != null);
}


//	================================================================================
//	= Text fields functies                                                         =
//	================================================================================

function TextValidateIsNotEmpty(strIDText, blnTrimValue, blnUpdateText, blnMustEnter, blnShowAlerts, strAlertMessage, blnBackToText) {
	var l_objText = document.getElementById(strIDText);
	var l_strTextValue = new String();
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextValidateIsNotEmpty"); return(false);}
	
	// De waarde van de input text converten naar een string.
	l_strTextValue = l_objText.value.toString();
	
	// Indien gewenst worden spaties voor en na de waarde van de input text verwijderd.
	if (blnTrimValue) {
		l_strTextValue = Trim(l_strTextValue);
		// Indien gewenst de waarde in de input text vervangen door de nieuwe waarde.
		if (blnUpdateText) l_objText.value = l_strTextValue;
	}
	
	// Controleren of de waarde een lege string is.
	if (l_strTextValue.length == 0) {
		if (blnMustEnter) {
			// Indien gewenst de gebruiker het opgegeven bericht tonen.
			if (blnShowAlerts) alert(strAlertMessage);
			// Indien gewenst de input text (weer) selecteren.
			if (blnBackToText) l_objText.focus();
			// De waarde is een lege string.
			return(false);
		}
		else
			return(true);
	}
	else // De waarde is geen lege string.
		return(true);
}


function TextIsNotEmpty(strIDText, blnTrimValue, blnUpdateText) {
	var l_objText = document.getElementById(strIDText);
	var l_strTextValue = new String();
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextIsNotEmpty"); return(false);}
	
	// De waarde van de input text converten naar een string.
	l_strTextValue = l_objText.value.toString();
	
	// Indien gewenst worden spaties voor en na de waarde van de input text verwijderd.
	if (blnTrimValue) {
		l_strTextValue = Trim(l_strTextValue);
		// Indien gewenst de waarde in de input text vervangen door de nieuwe waarde.
		if (blnUpdateText) l_objText.value = l_strTextValue;
	}
	
	return(l_strTextValue.length > 0);
}


function TextGetValue(strIDText, blnTrimValue) {
	var l_objText = document.getElementById(strIDText);
	var l_strValue = new String();
							
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextGetValue"); return;}
	
	l_strValue = l_objText.value.toString();
	if (blnTrimValue) l_strValue = Trim(l_strValue);
	return(l_strValue);
}


function TextSetValue(strIDText, strValue) {
	var l_objText = document.getElementById(strIDText);
				
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextSetValue"); return(false);}

	l_objText.value = strValue;
	return(true);
}


function TextClearValue(strIDText) {
	var l_objText = document.getElementById(strIDText);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextClearValue"); return(false);}

	l_objText.value = ""
	return(true);
}


function TextEnable(strIDText) {
	var l_objText = document.getElementById(strIDText);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextEnable"); return(false);}

	l_objText.disabled = false;
	return(true);
}


function TextDisable(strIDText) {
	var l_objText = document.getElementById(strIDText);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) { alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextDisable"); return(false); }

	l_objText.disabled = true;
	return(true);
}


function TextGetEnabled(strIDText) {
	var l_objText = document.getElementById(strIDText);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextGetEnabled"); return;}
	
	return(!l_objText.disabled);
}


function TextSetEnabled(strIDText, blnEnabled) {
	var l_objText = document.getElementById(strIDText);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {alert("Bad Object Reference: " + strIDText + "\n\nFunction: TextSetEnabled"); return(false);}

	l_objText.disabled = !blnEnabled;
	return(true);
}


function TextExists(strIDText) {
	var l_objText = document.getElementById(strIDText);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objText) == null) {
		return(false);
	} else if (l_objText.tagName.toUpperCase() == "INPUT" && l_objText.type.toUpperCase() == "TEXT") {
		return(true);
	} else {
		alert("Bad Object Type: " + strIDText + "\n\nFunction: TextExists");
		return(false);
	}
}



//	================================================================================
//	= Checkbox functies                                                            =
//	================================================================================

function CheckboxIsChecked(strIDCheckbox) {
	var l_objCheckbox = document.getElementById(strIDCheckbox)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {alert("Bad Object Reference: " + strIDCheckbox + "\n\nFunction: CheckboxIsChecked"); return;}
	
	return (l_objCheckbox.checked);
}


function CheckboxSetCheck(strIDCheckbox) {
	var l_objCheckbox = document.getElementById(strIDCheckbox)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {alert("Bad Object Reference: " + strIDCheckbox + "\n\nFunction: CheckboxSetCheck"); return(false);}
	
	if (!l_objCheckbox.checked) l_objCheckbox.checked = true;
	return(true);
}


function CheckboxClearCheck(strIDCheckbox) {
	var l_objCheckbox = document.getElementById(strIDCheckbox)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {alert("Bad Object Reference: " + strIDCheckbox + "\n\nFunction: CheckboxClearCheck"); return(false);}
	
	if (l_objCheckbox.checked) l_objCheckbox.checked = false;
	return(true);
}


function CheckboxEnable(strIDCheckbox) {
	var l_objCheckbox = document.getElementById(strIDCheckbox)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {alert("Bad Object Reference: " + strIDCheckbox + "\n\nFunction: CheckboxEnable"); return(false);}
	
	l_objCheckbox.disabled = false;
	return(true);
}


function CheckboxDisable(strIDCheckbox) {
	var l_objCheckbox = document.getElementById(strIDCheckbox)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {alert("Bad Object Reference: " + strIDCheckbox + "\n\nFunction: CheckboxDisable"); return(false);}
	
	l_objCheckbox.disabled = true;
	return(true);
}


function CheckboxGetEnabled(strIDCheckbox) {
	var l_objCheckbox = document.getElementById(strIDCheckbox)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {alert("Bad Object Reference: " + strIDCheckbox + "\n\nFunction: CheckboxGetEnabled"); return;}
	
	return(!l_objCheckbox.disabled);
}


function CheckboxSetEnabled(strIDCheckbox, blnEnabled) {
	var l_objCheckbox = document.getElementById(strIDCheckbox)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {alert("Bad Object Reference: " + strIDCheckbox + "\n\nFunction: CheckboxSetEnabled"); return(false);}
	
	l_objCheckbox.disabled = !blnEnabled;
	return(true);
}


function CheckboxExists(strIDCheckbox) {
	var l_objCheckbox = document.getElementById(strIDCheckbox);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {
		return(false);
	} else if (l_objCheckbox.tagName.toUpperCase() == "INPUT" && l_objCheckbox.type.toUpperCase() == "CHECKBOX") {
		return(true);
	} else {
		alert("Bad Object Type: " + strIDCheckbox + "\n\nFunction: CheckboxExists");
		return(false);
	}
}



//	================================================================================
//	= Radio buttons functies                                                       =
//	================================================================================

function RadioEnable(strIDRadio) {
	var l_objRadio = document.getElementById(strIDRadio);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objRadio) == null) {alert("Bad Object Reference: " + strIDRadio + "\n\nFunction: RadioEnable"); return(false);}

	l_objRadio.disabled = false;
	return(true);
}


function RadioDisable(strIDRadio) {
	var l_objRadio = document.getElementById(strIDRadio);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objRadio) == null) {alert("Bad Object Reference: " + strIDRadio + "\n\nFunction: RadioDisable"); return(false);}

	l_objRadio.disabled = true;
	return(true);
}


function RadioGetEnabled(strIDRadio) {
	var l_objRadio = document.getElementById(strIDRadio);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objRadio) == null) {alert("Bad Object Reference: " + strIDRadio + "\n\nFunction: RadioGetEnabled"); return;}

	return(!l_objRadio.disabled);
}


function RadioSetEnabled(strIDRadio, blnEnabled) {
	var l_objRadio = document.getElementById(strIDRadio);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objRadio) == null) {alert("Bad Object Reference: " + strIDRadio + "\n\nFunction: RadioSetEnabled"); return(false);}

	l_objRadio.disabled = !blnEnabled;
	return(true);
}


function RadioExists(strIDRadio) {
	var l_objCheckbox = document.getElementById(strIDCheckbox);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objCheckbox) == null) {
		return(false);
	} else if (l_objCheckbox.tagName.toUpperCase() == "INPUT" && l_objCheckbox.type.toUpperCase() == "RADIO") {
		return(true);
	} else {
		alert("Bad Object Type: " + strIDRadio + "\n\nFunction: RadioExists");
		return(false);
	}
}


function RadioGroupValidateIsChecked(strNameRadioGroup, blnMustEnter, blnShowAlerts, strAlertMessage, blnBackToRadioGroup) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)
	
	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				// Indien de radio button is aangevinkt dit teruggeven.
				if (l_objRadioGroup.item(i).checked) return(true);
			}
		}
		
		if (blnMustEnter) {
			// Indien gewenst de gebruiker informeren met het opgegeven bericht.
			if (blnShowAlerts) alert(strAlertMessage);
			// Indien gewenst de eerst radio button uit de groep (weer) selecteren.
			if (blnBackToRadioGroup) {
				for (var i = 0; i < l_objRadioGroup.length; i++) {
					// Controleren of het element een radio button is.
					if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
						// De radio selecteren.
						l_objRadioGroup.item(i).focus();
						return(false);
					}
				}
				return(false);
			}
		}
		else
			return(true);
	}
	else {
		alert("Bad Object Reference: " + strNameRadioGroup + "\n\nFunction: RadioGroupValidateIsChecked");
		return(false);
	}
}


function RadioGroupIsChecked(strNameRadioGroup) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)
	
	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				// Indien de radio button is aangevinkt dit teruggeven.
				if (l_objRadioGroup.item(i).checked) return(true);
			}
		}
		// Indien de radio button niet is aangevinkt dit teruggeven.
		return(false);
	}
	else {
		alert("Bad Object Reference: " + strNameRadioGroup + "\n\nFunction: RadioGroupIsChecked");
		return(false);
	}
}


function RadioGroupGetValue(strNameRadioGroup, strNoChoiceValue) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)
	
	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				// Indien de radio button is aangevinkt de waarde hiervan teruggeven.
				if (l_objRadioGroup.item(i).checked) return(l_objRadioGroup.item(i).value);
			}
		}
		// Geen van de radiobuttons waren aangevinkt dus strNoChoiceValue teruggeven. 
		return(strNoChoiceValue);
	}
	else {
		alert("Bad Object Reference: " + strIDRadioGroup + "\n\nFunction: RadioGroupGetValue");
		return(strNoChoiceValue);
	}
}


function RadioGroupClearChecks(strNameRadioGroup) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)

	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				if (l_objRadioGroup.item(i).checked) l_objRadioGroup.item(i).checked = false;
			}
		}
		return(true);
	}
	else {
		alert("Bad Object Reference: " + strNameRadioGroup + "\n\nFunction: RadioGroupClearChecks");
		return(false);
	}
}


function RadioGroupEnable(strNameRadioGroup) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)

	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				if (l_objRadioGroup.item(i).disabled) l_objRadioGroup.item(i).disabled = false;
			}
		}
		return(true);
	}
	else {
		alert("Bad Object Reference: " + strNameRadioGroup + "\n\nFunction: RadioGroupEnable");
		return(false);
	}
}


function RadioGroupDisable(strNameRadioGroup) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)

	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				if (!l_objRadioGroup.item(i).disabled) l_objRadioGroup.item(i).disabled = true;
			}
		}
		return(true);
	}
	else {
		alert("Bad Object Reference: " + strNameRadioGroup + "\n\nFunction: RadioGroupDisable");
		return(false);
	}
}


function RadioGroupGetEnabled(strNameRadioGroup) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)

	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				if (l_objRadioGroup.item(i).disabled) return(false);
			}
		}
		return(true);
	}
	else {
		alert("Bad Object Reference: " + strNameRadioGroup + "\n\nFunction: RadioGroupGetEnabled");
		return(false);
	}
}

function RadioGroupSetEnabled(strNameRadioGroup, blnEnabled) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)

	// Controleren of er objecten zijn die de opgegeven naam hebben
	if (l_objRadioGroup.length > 0) {
		for (var i = 0; i < l_objRadioGroup.length; i++) {
			// Controleren of het element een radio button is.
			if (l_objRadioGroup.item(i).tagName.toUpperCase() == "INPUT" && l_objRadioGroup.item(i).type.toUpperCase() == "RADIO") {
				if (l_objRadioGroup.item(i).disabled != blnEnabled) l_objRadioGroup.item(i).disabled = blnEnabled;
			}
		}
		return (true);
	}
	else {
		alert("Bad Object Reference: " + strNameRadioGroup + "\n\nFunction: RadioGroupSetEnabled");
		return (false);
	}
}

function RadioGroupExists(strNameRadioGroup) {
	var l_objRadioGroup = document.getElementsByName(strNameRadioGroup)

	return(l_objRadioGroup.length > 0);
}


//	================================================================================
//	= Select functies                                                              =
//	================================================================================

function SelectValidateIsSelected(strIDSelect, blnMustEnter, strEmptyValue, blnShowAlerts, strAlertMessage, blnBackToSelect) {
	var l_objSelect = document.getElementById(strIDSelect)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectValidateIsSelected"); return;}

	if (l_objSelect.value != strEmptyValue) {
		return(true);
	} else {
		if (blnMustEnter) {
			if (blnShowAlerts) alert(strAlertMessage);
			if (blnBackToSelect) l_objSelect.focus();
			return(false);
		} else {
			return(true);
		}
	}
}


function SelectIsSelected(strIDSelect, strEmptyValue) {
	var l_objSelect = document.getElementById(strIDSelect)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectIsSelected"); return;}
	
	return(l_objSelect.value != strEmptyValue);
}


function SelectSelectByValue(strIDSelect, strValue) {
	var l_objSelect = document.getElementById(strIDSelect)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectSelectByValue"); return(false);}
	// Controleren of het select element options heeft.
	if (l_objSelect.options.length > 0) {
		for (var i = 0; i < l_objSelect.options.length; i++) {
			// Indien de waarde van de option overeen komt met de opgegeven waarde deze selecteren.
			if (l_objSelect.options[i].value == strValue) {
				l_objSelect.options[i].selected = true;
				return (true);
			}
		}
	}
	return(false);
}


function SelectSelectByLabel(strIDSelect, strLabel) {
	var l_objSelect = document.getElementById(strIDSelect)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectSelectByLabel"); return(false);}

	if (l_objSelect.options.length > 0) {
		for (var i = 0; i < l_objSelect.options.length; i++) {
			// Indien de label van de option overeen komt met de opgegeven label deze selecteren.
			if (l_objSelect.options[i].text == strLabel) {
				l_objSelect.options[i].selected = true;
				return(true);
			}
		}
	}
	return(false);
}


function SelectGetValue(strIDSelect) {
	var l_objSelect = document.getElementById(strIDSelect)

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectGetValue"); return(false);}
	
	return(l_objSelect.value);
}


function SelectClearOptions(strIDSelect) {
	var l_objSelect = document.getElementById(strIDSelect)
	var l_lngNumberOfOptions = new Number();
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectClearOptions"); return(false);}
	// Controleren of het select element options heeft.
	if (l_objSelect.length > 0) {
		l_lngNumberOfOptions = l_objSelect.length;
		// Alle options verwijderen.
		for (var i = 0; i < l_lngNumberOfOptions; i++) {
			l_objSelect.remove(0);
		}
	}
}


function SelectEnable(strIDSelect) {
	var l_objSelect = document.getElementById(strIDSelect);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectEnable"); return(false);}

	l_objSelect.disabled = false;
}


function SelectDisable(strIDSelect) {
	var l_objSelect = document.getElementById(strIDSelect);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectDisable"); return(false);}

	l_objSelect.disabled = true;
}


function SelectGetEnabled(strIDSelect) {
	var l_objSelect = document.getElementById(strIDSelect);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectGetEnabled"); return;}
	
	return(!l_objSelect.disabled);
}


function SelectSetEnabled(strIDSelect, blnEnabled) {
	var l_objSelect = document.getElementById(strIDSelect);

	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {alert("Bad Object Reference: " + strIDSelect + "\n\nFunction: SelectSetEnabled"); return(false);}
	
	l_objSelect.disabled = !blnEnabled;
}


function SelectExists(strIDSelect) {
	var l_objSelect = document.getElementById(strIDSelect);
	
	// Controleren of de parameters verwijzen naar bestaande id's van objecten.
	if (eval(l_objSelect) == null) {
		return(false);
	} else if (l_objSelect.tagName.toUpperCase() == "SELECT") {
		return(true);
	} else {
		alert("Bad Object Type: " + strIDSelect + "\n\nFunction: SelectExists");
		return(false);
	}
}
