﻿var errorArray = new Array();
var href = '';

// Haal een input element op op bassis van zijn naam.
function getInputElementByNaam(inputElements, naam) {
	for (var i = 0; i < inputElements.length; i++) {
		if (inputElements[i].attributes["naam"] != null) {
			if (inputElements[i].attributes["naam"].value == naam) {
				return inputElements[i];
			}
		}
	}
	return null;
}

// Urenvalidator.
function urenvalidator(controlID, errorLabelID, minvalue, maxvalue) {
	// Voor het berekenen van totalen.
	var inputElements = $("#" + controlID).parents(".urenEnVergoedingenPanel").find('input');
	var spanElements = $("#" + controlID).parents(".urenEnVergoedingenPanel").find('span');
	var totalenArray; // Array met de totaalvelden.
	var totalenArrayTeltVoorGewerkteDagen; // Array met TeltVoorGewerkteDagen van de totaalvelden.
	var totalenArrayIsToeslagUur; // Array met IsToeslagUur van de totaalvelden.
	var vergoedingenArray; // Array met de vergoedingenvelden.
	var elements;
	var i;
	var declaratieComponentID;
	var tariefVeldNm = "";
	var loonVeldNm = "";
	var totaalTariefVeldNm = "";
	var totaalLoonVeldNm = "";
	var tariefVeld;
	var loonVeld;
	var totaalTariefVeld;
	var totaalLoonVeld;

	var control = document.getElementById(controlID);
	var value = control.value.replace(',', '.');
	// Lege waarde wordt als 0 gezien.
	if (value == '') {
		value = "0";
	}

	var errorlabel = document.getElementById(errorLabelID);
	if (value == '' ||
        !(/^[-+]?[0-9]+(\.[0-9]+)?$/.test(value)) ||
        parseFloat(value) > parseFloat(maxvalue) ||
        parseFloat(value) < parseFloat(minvalue)) {

		$(control).css("border", "solid 1px #ff0000");

		errorArray[errorArray.length] = controlID;
	}
	else {
		$(control).css("border", "");

		i = 0;
		while (i < errorArray.length) {
			if (errorArray[i] == controlID) {
				errorArray.splice(i, 1);
			} else {
				i++;
			}
		}
	}

	if (errorArray.length > 0) {
		$(".UpdateCommand").addClass("disabled");
		// [28458] $(".UpdateCommand").css("cursor", "default");
		$(".ActionCommand").addClass("disabled");
		$(".ActionCommand").css("cursor", "default");
	}
	else {
		$(".UpdateCommand").removeClass("disabled");
		// [28458] $(".UpdateCommand").css("cursor", "auto");
		$(".ActionCommand").removeClass("disabled");
		$(".ActionCommand").css("cursor", "default");
	}

	if (control.attributes["naam"] != null) {
		// Totalen berekenen.
		// Bij het berekenen van de totalen hoeven we alleen de totalen van de huidige declaratie
		// (dat is de declaratie waarvan een componentwaarde is gewijzigd) opnieuw uit te rekenen.
		// Voor de declaratie hoeven we alleen het totaal van de betreffende declaratiecomponent
		// (horizontaal), het totaal van de betreffende dag (verticaal) en het declaratie totaal
		// opnieuw te berekenen.
		var waarde = 0.00;
		var inputWaarde = 0.00;

		// Haal de benodigde gegevens uit de naam van uit gewijzigde veld.
		var elementNaam = control.attributes["naam"].value;
		var huidigeDeclaratieID = "";
		var huidigeDeclaratieComponentID = "";

		// Berekeningen urencomponent.
		if (elementNaam.indexOf("DeclComp_") > -1) {
			huidigeDeclaratieID = elementNaam.substring(9, 24);
			huidigeDeclaratieComponentID = elementNaam.substring(25, 40);
			var huidigeDag = elementNaam.substring(41, 43);

			// Bepaal de te wijzigen totaalvelden.
			var totaalDagVeldNm = "Totaal_Dag_" + huidigeDeclaratieID + "_" + huidigeDag;
			var totaalComponentVeldNm = "Totaal_Comp_" + huidigeDeclaratieID + "_" + huidigeDeclaratieComponentID;
			var totaalDCLVeldNm = "Totaal_DCL_" + huidigeDeclaratieID;
			tariefVeldNm = "Totaal_TariefBedrag_" + huidigeDeclaratieComponentID;
			loonVeldNm = "Totaal_LoonBedrag_" + huidigeDeclaratieComponentID;
			totaalTariefVeldNm = "Totaal_Tarief_" + huidigeDeclaratieComponentID;
			totaalLoonVeldNm = "Totaal_Loon_" + huidigeDeclaratieComponentID;
			var totaalTariefDCLVeldNm = "Totaal_Tarief_DCL_" + huidigeDeclaratieID;
			var totaalLoonDCLVeldNm = "Totaal_Loon_DCL_" + huidigeDeclaratieID;
			var totaalDagVeld;
			var totaalComponentVeld;
			var totaalDCLVeld;
			var totaalTariefDCLVeld;
			var totaalLoonDCLVeld;

			// Bouw eventueel array's met de totaalvelden op.
			if (totalenArray == null) {
				totalenArray = new Array();
				totalenArrayTeltVoorGewerkteDagen = new Array();
				totalenArrayIsToeslagUur = new Array();
				for (i = 0; i < spanElements.length; i++) {
					if (spanElements[i].attributes["naam"] != null) {
						if (spanElements[i].attributes["naam"].value.indexOf("Totaal_") > -1) {
							totalenArray.push(spanElements[i]);

							if (spanElements[i].attributes["naam"].value == totaalDagVeldNm) {
								totaalDagVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == totaalComponentVeldNm) {
								totaalComponentVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == totaalDCLVeldNm) {
								totaalDCLVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == tariefVeldNm) {
								tariefVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == totaalTariefVeldNm) {
								totaalTariefVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == totaalTariefDCLVeldNm) {
								totaalTariefDCLVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == loonVeldNm) {
								loonVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == totaalLoonVeldNm) {
								totaalLoonVeld = spanElements[i];
							}
							else if (spanElements[i].attributes["naam"].value == totaalLoonDCLVeldNm) {
								totaalLoonDCLVeld = spanElements[i];
							}

							if (spanElements[i].attributes["TeltVoorGewerkteDagen"] != null) {
								totalenArrayTeltVoorGewerkteDagen.push(spanElements[i].attributes["TeltVoorGewerkteDagen"].value);
							}
							else {
								totalenArrayTeltVoorGewerkteDagen.push("False");
							}
							if (spanElements[i].attributes["IsToeslagUur"] != null) {
								totalenArrayIsToeslagUur.push(spanElements[i].attributes["IsToeslagUur"].value);
							}
							else {
								totalenArrayIsToeslagUur.push("False");
							}
						}
					}
				}
			}

			// Bouw eventueel een array met de vergoedingenvelden op.
			if (vergoedingenArray == null) {
				vergoedingenArray = new Array();
				for (i = 0; i < inputElements.length; i++) {
					if (inputElements[i].attributes["naam"] != null) {
						if (inputElements[i].attributes["naam"].value.indexOf("VergComp_") > -1) {
							vergoedingenArray.push(inputElements[i]);
						}
					}
				}
			}

			// Huidige waarde declaratietotaal.
			var huidigeComponentTotaal = 0.00;
			if (totaalComponentVeld != null) {
				huidigeComponentTotaal = totaalComponentVeld.innerHTML.replace(/,/g, ".");
			}
			if (isNaN(huidigeComponentTotaal)) {
				huidigeComponentTotaal = 0.00;
			}
			var huidigeComponentTariefTotaal = 0.00;
			if (totaalTariefVeld != null) {
				huidigeComponentTariefTotaal = totaalTariefVeld.innerHTML.replace(/,/g, ".").replace("€", "");
			}
			if (isNaN(huidigeComponentTariefTotaal)) {
				huidigeComponentTariefTotaal = 0.00;
			}
			var huidigeComponentLoonTotaal = 0.00;
			if (totaalLoonVeld != null) {
				huidigeComponentLoonTotaal = totaalLoonVeld.innerHTML.replace(/,/g, ".").replace("€", "");
			}
			if (isNaN(huidigeComponentLoonTotaal)) {
				huidigeComponentTariefTotaal = 0.00;
			}

			// Zet totaalvelden op 0.
			totaalDagVeld.innerHTML = "0.00";
			if (totaalComponentVeld != null) {
				totaalComponentVeld.innerHTML = "0.00";
			}

			// Totalen vullen.
			for (i = 0; i < inputElements.length; i++) {
				if (inputElements[i].attributes["naam"] != null) {
					// Loop door alle declaratiecomponent (van de huidige declaratie) input velden.
					if (inputElements[i].attributes["naam"].value.indexOf("DeclComp_" + huidigeDeclaratieID) > -1) {
						// Haal gegevens op uit de naam van het input veld.
						declaratieComponentID = inputElements[i].attributes["naam"].value.substring(25, 40);
						var dag = inputElements[i].attributes["naam"].value.substring(41, 43);

						// Tel de waarde van het input veld op bij het dagtotaal veld.
						if (totaalDagVeld != null && dag == huidigeDag) {
							inputWaarde = parseFloat(inputElements[i].value.replace(/,/g, "."));
							if (isNaN(inputWaarde)) {
								inputWaarde = 0.00;
							}
							waarde = parseFloat(totaalDagVeld.innerHTML.replace(/,/g, "."));
							if (isNaN(waarde)) {
								waarde = 0.00;
							}
							waarde = waarde + inputWaarde;
							totaalDagVeld.innerHTML = waarde.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
						}

						// Tel de waarde van het input veld op bij het componenttotaal veld.
						if (totaalComponentVeld != null && declaratieComponentID == huidigeDeclaratieComponentID) {
							inputWaarde = parseFloat(inputElements[i].value.replace(/,/g, "."));
							if (isNaN(inputWaarde)) {
								inputWaarde = 0.00;
							}
							waarde = parseFloat(totaalComponentVeld.innerHTML.replace(/,/g, "."));
							if (isNaN(waarde)) {
								waarde = 0.00;
							}
							waarde = waarde + inputWaarde;
							totaalComponentVeld.innerHTML = waarde.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
						}

					}
				}
			}

			// Bereken het declaratietotaal veld. Bepaal hiervoor het verschil in waarde van het componenttotaal
			// (nieuwe waarde min oude waarde) en tel dit op bij het declaratietotaal.
			if (totaalComponentVeld != null && totaalDCLVeld != null) {
				var nieuweComponentTotaal = parseFloat(totaalComponentVeld.innerHTML.replace(/,/g, "."));
				if (isNaN(nieuweComponentTotaal)) {
					nieuweComponentTotaal = 0.00;
				}
				waarde = parseFloat(totaalDCLVeld.innerHTML.replace(/,/g, "."));
				if (isNaN(waarde)) {
					waarde = 0.00;
				}
				waarde = waarde + (nieuweComponentTotaal - huidigeComponentTotaal);
				totaalDCLVeld.innerHTML = waarde.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
			}

			// Bereken het nieuwe totaal component loon bedrag.
			if (loonVeld != null && totaalComponentVeld != null && totaalLoonVeld != null) {
				var loon = parseFloat(loonVeld.attributes["Loonbedrag"].value.replace(/,/g, ".").replace("€", ""));
				if (isNaN(loon)) {
					tarief = 0.00;
				}
				waarde = parseFloat(totaalComponentVeld.innerHTML.replace(/,/g, ".").replace("€", ""));
				if (isNaN(waarde)) {
					waarde = 0.00;
				}
				waarde = waarde * loon;
				totaalLoonVeld.innerHTML = "€ " + waarde.toFixed(2).toString().replace(/\./g, ",");
			}

			// Bereken het declaratietotaal loon veld. Bepaal hiervoor het verschil in waarde van het componenttotaal
			// loon (nieuwe waarde min oude waarde) en tel dit op bij het declaratietotaal loon.
			if (totaalLoonVeld != null && totaalLoonDCLVeld != null) {
				var nieuweComponentLoonTotaal = parseFloat(totaalLoonVeld.innerHTML.replace(/,/g, ".").replace("€", ""));
				if (isNaN(nieuweComponentLoonTotaal)) {
					nieuweComponentLoonTotaal = 0.00;
				}
				waarde = parseFloat(totaalLoonDCLVeld.innerHTML.replace(/,/g, ".").replace("€", ""));
				if (isNaN(waarde)) {
					waarde = 0.00;
				}
				waarde = waarde + (nieuweComponentLoonTotaal - huidigeComponentLoonTotaal);
				totaalLoonDCLVeld.innerHTML = "€ " + waarde.toFixed(2).toString().replace(/\./g, ",");
			}

			// Bereken het nieuwe totaal component tarief bedrag.
			if (tariefVeld != null && totaalComponentVeld != null && totaalTariefVeld != null) {
				var tarief = parseFloat(tariefVeld.attributes["Tariefbedrag"].value.replace(/,/g, ".").replace("€", ""));
				if (isNaN(tarief)) {
					tarief = 0.00;
				}
				waarde = parseFloat(totaalComponentVeld.innerHTML.replace(/,/g, ".").replace("€", ""));
				if (isNaN(waarde)) {
					waarde = 0.00;
				}
				waarde = waarde * tarief;
				totaalTariefVeld.innerHTML = "€ " + waarde.toFixed(2).toString().replace(/\./g, ",");
			}

			// Bereken het declaratietotaal tarief veld. Bepaal hiervoor het verschil in waarde van het componenttotaal
			// tarief (nieuwe waarde min oude waarde) en tel dit op bij het declaratietotaal tarief.
			if (totaalTariefVeld != null && totaalTariefDCLVeld != null) {
				var nieuweComponentTariefTotaal = parseFloat(totaalTariefVeld.innerHTML.replace(/,/g, ".").replace("€", ""));
				if (isNaN(nieuweComponentTariefTotaal)) {
					nieuweComponentTariefTotaal = 0.00;
				}
				waarde = parseFloat(totaalTariefDCLVeld.innerHTML.replace(/,/g, ".").replace("€", ""));
				if (isNaN(waarde)) {
					waarde = 0.00;
				}
				waarde = waarde + (nieuweComponentTariefTotaal - huidigeComponentTariefTotaal);
				totaalTariefDCLVeld.innerHTML = "€ " + waarde.toFixed(2).toString().replace(/\./g, ",");
			}

			// Waarden voor vergoedingscomponenten berekenen.
			// Bereken aantal uren, dagen, weken.
			var totaalUren = 0.00;
			var gewerktMa = false;
			var gewerktDi = false;
			var gewerktWo = false;
			var gewerktDo = false;
			var gewerktVr = false;
			var gewerktZa = false;
			var gewerktZo = false;
			var totaalDagen = 0;
			var totaalWeken = 0;

			for (i = 0; i < totalenArray.length; i++) {
				if (totalenArray[i].attributes["naam"].value.indexOf("Totaal_Comp_" + huidigeDeclaratieID) > -1) {
					if (totalenArrayTeltVoorGewerkteDagen[i] == "True") {
						// Totaal uren
						if (totalenArrayIsToeslagUur[i] == "False") {
							waarde = parseFloat(totalenArray[i].innerHTML.replace(/,/g, "."));
							if (isNaN(waarde)) {
								waarde = 0;
							}
							totaalUren = totaalUren + waarde;
						}
						// Totaal dagen
						declaratieComponentID = totalenArray[i].attributes["naam"].value.substring(28, 43);
						if (parseFloat(getInputElementByNaam(inputElements, "DeclComp_" + huidigeDeclaratieID + "_" + declaratieComponentID + "_Ma").value.replace(/,/g, ".")) > 0) {
							gewerktMa = true;
						}
						if (parseFloat(getInputElementByNaam(inputElements, "DeclComp_" + huidigeDeclaratieID + "_" + declaratieComponentID + "_Di").value.replace(/,/g, ".")) > 0) {
							gewerktDi = true;
						}
						if (parseFloat(getInputElementByNaam(inputElements, "DeclComp_" + huidigeDeclaratieID + "_" + declaratieComponentID + "_Wo").value.replace(/,/g, ".")) > 0) {
							gewerktWo = true;
						}
						if (parseFloat(getInputElementByNaam(inputElements, "DeclComp_" + huidigeDeclaratieID + "_" + declaratieComponentID + "_Do").value.replace(/,/g, ".")) > 0) {
							gewerktDo = true;
						}
						if (parseFloat(getInputElementByNaam(inputElements, "DeclComp_" + huidigeDeclaratieID + "_" + declaratieComponentID + "_Vr").value.replace(/,/g, ".")) > 0) {
							gewerktVr = true;
						}
						if (parseFloat(getInputElementByNaam(inputElements, "DeclComp_" + huidigeDeclaratieID + "_" + declaratieComponentID + "_Za").value.replace(/,/g, ".")) > 0) {
							gewerktZa = true;
						}
						if (parseFloat(getInputElementByNaam(inputElements, "DeclComp_" + huidigeDeclaratieID + "_" + declaratieComponentID + "_Zo").value.replace(/,/g, ".")) > 0) {
							gewerktZo = true;
						}
					}
				}
			}

			if (gewerktMa == true) {
				totaalDagen++;
			}
			if (gewerktDi == true) {
				totaalDagen++;
			}
			if (gewerktWo == true) {
				totaalDagen++;
			}
			if (gewerktDo == true) {
				totaalDagen++;
			}
			if (gewerktVr == true) {
				totaalDagen++;
			}
			if (gewerktZa == true) {
				totaalDagen++;
			}
			if (gewerktZo == true) {
				totaalDagen++;
			}
			if (totaalDagen > 0) {
				totaalWeken++;
			}

			// Vergoedingscomponten bijwerken.
			for (i = 0; i < vergoedingenArray.length; i++) {
				var vergoedingComponentNm = vergoedingenArray[i].attributes["naam"].value;
				var vergoedingComponent = vergoedingenArray[i]
				var huidigeVergoedingWaarde = vergoedingComponent.value;

				// Uur vergoedingen.
				if (vergoedingComponentNm.indexOf("VergComp_000021_" + huidigeDeclaratieID) > -1) {
					vergoedingComponent.value = totaalUren.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
				}
				// Dag vergoedingen.
				if (vergoedingComponentNm.indexOf("VergComp_000022_" + huidigeDeclaratieID) > -1) {
					vergoedingComponent.value = totaalDagen.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
				}
				// Week vergoedingen.
				if (vergoedingComponentNm.indexOf("VergComp_000023_" + huidigeDeclaratieID) > -1) {
					vergoedingComponent.value = totaalWeken.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
				}
				// Uur inhoudingen.
				if (vergoedingComponentNm.indexOf("VergComp_000027_" + huidigeDeclaratieID) > -1) {
					vergoedingComponent.value = totaalUren.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
				}
				// Dag inhoudingen.
				if (vergoedingComponentNm.indexOf("VergComp_000028_" + huidigeDeclaratieID) > -1) {
					vergoedingComponent.value = totaalDagen.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
				}
				// Week inhoudingen.
				if (vergoedingComponentNm.indexOf("VergComp_000029_" + huidigeDeclaratieID) > -1) {
					vergoedingComponent.value = totaalWeken.toFixed(2).toString().replace(/\./g, ",").replace(/(,?0?0)$/g, "");
				}

				// Vergoeding totalen bijwerken
				var nieuweVergoedingWaarde = vergoedingComponent.value;
				if (nieuweVergoedingWaarde != huidigeVergoedingWaarde) {
					urenvalidator(vergoedingComponent.id, errorLabelID, -999999999, 999999999);
				}
			}
		}
	}

	// Berekeningen vergoedingencomponent.
	if (elementNaam.indexOf("VergComp_") > -1) {
		var huidigePar2waare = elementNaam.substring(9, 15);
		huidigeDeclaratieID = elementNaam.substring(16, 31);
		huidigeDeclaratieComponentID = elementNaam.substring(32, 47);

		// Bepaal de te wijzigen totaalvelden.
		tariefVeldNm = "Totaal_VergComp_TariefBedrag_" + huidigeDeclaratieComponentID;
		loonVeldNm = "Totaal_VergComp_LoonBedrag_" + huidigeDeclaratieComponentID;
		totaalTariefVeldNm = "Totaal_VergComp_Tarief_" + huidigeDeclaratieComponentID;
		totaalLoonVeldNm = "Totaal_VergComp_Loon_" + huidigeDeclaratieComponentID;

		// Bepaal de totaalvelden.
		for (i = 0; i < spanElements.length; i++) {
			if (spanElements[i].attributes["naam"] != null) {
				if (spanElements[i].attributes["naam"].value.indexOf("Totaal_") > -1) {
					if (spanElements[i].attributes["naam"].value == tariefVeldNm) {
						tariefVeld = spanElements[i];
					}
					else if (spanElements[i].attributes["naam"].value == totaalTariefVeldNm) {
						totaalTariefVeld = spanElements[i];
					}
					else if (spanElements[i].attributes["naam"].value == loonVeldNm) {
						loonVeld = spanElements[i];
					}
					else if (spanElements[i].attributes["naam"].value == totaalLoonVeldNm) {
						totaalLoonVeld = spanElements[i];
					}
				}
			}
		}

		// Huidige waarde
		waarde = control.value;

		// Bereken loontotaal en tarief totaal
		var nieuwLoonTotaal = 0.00;
		if (loonVeld != null) {
			nieuwLoonTotaal = loonVeld.innerHTML.replace(/,/g, ".").replace("€", "");
			nieuwLoonTotaal = nieuwLoonTotaal * waarde;
		}
		if (isNaN(nieuwLoonTotaal)) {
			nieuwLoonTotaal = 0.00;
		}
		var nieuwTariefTotaal = 0.00;
		if (tariefVeld != null) {
			nieuwTariefTotaal = tariefVeld.innerHTML.replace(/,/g, ".").replace("€", "");
			nieuwTariefTotaal = nieuwTariefTotaal * waarde;
		}
		if (isNaN(nieuwTariefTotaal)) {
			nieuwTariefTotaal = 0.00;
		}

		// Invullen nieuwe waarden
		if (totaalLoonVeld != null) {
			totaalLoonVeld.innerHTML = "€ " + nieuwLoonTotaal.toFixed(2).toString().replace(/\./g, ",");
		}
		if (totaalTariefVeld != null) {
			totaalTariefVeld.innerHTML = "€ " + nieuwTariefTotaal.toFixed(2).toString().replace(/\./g, ",");
		}
	}


}

// Controleer of er gegevens gewijzigd zijn.
function checkChanged() {
	if (window.hasChanges) {
		if (confirm('De wijzigingen zijn niet opgeslagen. Wilt u verder gaan zonder opslaan?')) {
			window.hasChanges = null;
			return true;
		}
		else {
			if (LoadingPanel) {
				LoadingPanel.Hide();
			}
			return false;
		}
	}
	return true;
	//geen submit vanuit deze functie!
}

function simulateClickOnEnterLink(event, linkid) {
	if (event) {
		var key = (event.which == null) ? event.keyCode : event.which;

		if (key == 13) {

			setTimeout($(linkid).attr("href"), 100);
			return false;
		}
	}
}

function simulateClickOnEnterButton(event, linkid) {
	if (event) {
		var key = (event.which == null) ? event.keyCode : event.which;

		if (key == 13) {
			$(linkid).triggerHandler('click');
			return false;
		}
	}
}

// Zet border bij foute input.
function errorBorder(controlID, error) {
	var control = document.getElementById(controlID);
	if (error == 'ja') {
		control.style.borderColor = "red";
		control.style.borderWidth = "2";
	}

	else {
		control.style.borderColor = "";
		control.style.borderWidth = "";
	}
}

// Selecteer alle tekst in een control.
function selecteerTekst(controlID) {
	var control = document.getElementById(controlID);
	control.select();
}
