function dgebi(element) {
	return document.getElementById(element);
}

function setFocus(element) {
	dgebi(element).focus();
}

function lengthOfValue(element) {
	var sText = getValue(element);

	return (sText.length);
}

function elementExists(element) {
	return !(typeof(getValue(element)) == "undefined");
}

function hasValue(element) {
	return !(lengthOfValue(element) == 0);
}

function getValue(element) {
	return (dgebi(element).value);
}

function getLength(element) {
	return (dgebi(element).length);
}

function putValue(element, value) {
	dgebi(element).value = value;
}

function copyValue(elementFrom, elementTo) {
	putValue(elementTo, getValue(elementFrom));
}

function disableElement(element, disable) {
	dgebi(element).disabled = disable;
}

function getSelectionIndex(element) {
	return (dgebi(element).selectedIndex);
}

function makeSelectionByIndex(element, index) {
	dgebi(element).selectedIndex = index;
}

function hasSelection(element) {
	return !(dgebi(element).selectedIndex == 0);
}

function isChecked(element) {
	return (dgebi(element).checked);
}

function checkBox(element, check) {
	dgebi(element).checked = check;
}

function elementExists(element) {
	return (eval(dgebi(element)));
}

function innerHTML(element, html) {
	dgebi(element).innerHTML = html;
}

function howManySelected(element) {
	var iSelected = 0;
	var iLength = dgebi(element).length - 1;

	for (var iCount = 0; iCount <= iLength; iCount++) {
		dgebi(element).index = iCount;
		if (dgebi(element).options[dgebi(element).index].selected == true) iSelected ++;
	}

	return iSelected;
}

function selectAll(element) {
	var iSelected = 0;
	var iLength = getLength(element) - 1;

	for (var iCount = 0; iCount <= iLength; iCount++) {
		dgebi(element).index = iCount;
		dgebi(element).options[dgebi(element).index].selected = true;
	}
}

function getSelectionText(element) {
	return (dgebi(element).options[getSelectionIndex(element)].text);
}

function limitElement(element, elementCounter, maximum, isValue) {
	var sElement = getValue(element);

	if (sElement.length > maximum) {
		putValue(element, sElement.substring(0, maximum));
	} else {
		if (isValue) {
			putValue(elementCounter, maximum - sElement.length);
		} else {
			dgebi(elementCounter).innerHTML = maximum - sElement.length;
		}
	}
}

function backspaceAtCursor(element) {
	var oElement = dgebi(element);

	if (document.selection) {	// ie
		oElement.focus();
		sel = document.selection.createRange();

		if (sel.text.length > 0) {
			sel.text = "";
		} else {
			sel.moveStart('character', -1);
			sel.text = "";
		}

		sel.select();
	} else if (oElement.selectionStart || oElement.selectionStart == "0") { // gecko
		var startPos = oElement.selectionStart;
		var endPos = oElement.selectionEnd;

		oElement.value = oElement.value.substring(0, startPos-1) + oElement.value.substring(endPos, oElement.value.length);
		oElement.selectionStart = startPos-1;
		oElement.selectionEnd = startPos-1;
		oElement.focus();
	} else {
		oElement.value = oElement.value.substr(0, (oElement.value.length - 1));
		oElement.focus();
	}
}

function displayElement(element, display) {
	if (display) {
		dgebi(element).style.display = "block";
	} else {
		dgebi(element).style.display = "none";
	}
}

function toggleDisplay(element) {
	dgebi(element).style.display == "block" ? displayElement(element, false) : displayElement(element, true);
}