
function changeKey(textControl, evt, keyChecker) {
	var keyCode = evt.keyCode ? evt.keyCode : evt.charCode ? evt.charCode
			: evt.which ? evt.which : void 0;
	var key;
	if (keyCode) {
		key = String.fromCharCode(keyCode);
	}
	var keyCheck = keyChecker(keyCode, key);
	if (keyCode && window.event && !window.opera) {
		if (keyCheck.cancelKey) {
			return false;
		} else if (keyCheck.replaceKey) {
			window.event.keyCode = keyCheck.newKeyCode;
			if (window.event.preventDefault) {
				window.event.preventDefault();
			}
			return true;
		} else {
			return true;
		}
	} else if (typeof textControl.setSelectionRange != 'undefined') {
		if (keyCheck.cancelKey) {
			if (evt.preventDefault) {

				evt.preventDefault();
			}
			return false;
		} else if (keyCheck.replaceKey) {
			// cancel the key event and insert the newKey for the current
			// selection
			if (evt.preventDefault) {
				evt.preventDefault();
			}
			var oldSelectionStart = textControl.selectionStart;
			var oldSelectionEnd = textControl.selectionEnd;
			var selectedText = textControl.value.substring(oldSelectionStart,
					oldSelectionEnd);
			var newText = typeof keyCheck.newKey != 'undefined' ? keyCheck.newKey
					: String.fromCharCode(keyCheck.newKeyCode);
			textControl.value = textControl.value.substring(0,
					oldSelectionStart)
					+ newText + textControl.value.substring(oldSelectionEnd);
			textControl.setSelectionRange(oldSelectionStart + newText.length,
					oldSelectionStart + newText.length);
			return false;
		} else {
			return true;
		}
	} else if (keyCheck.cancelKey) {
		if (evt.preventDefault) {
			evt.preventDefault();
		}
		return false;
	} else {
		return true;
	}
}

function lettersToUpperCase(keyCode, key) {
	var newKey = key.toUpperCase();
	if (newKey != key) {
		return {
			replaceKey : true,
			newKeyCode : newKey.charCodeAt(),
			newKey : newKey
		};
	} else {
		return {
			cancelKey : false
		};
	}
}

function selectViewMaster() {
	var selected = getElem("name", "masterViewBean", 0).elements["selected"].checked;
	var url = "/viewMaster.do?selected=" + selected;
	return url;
}

function selectViewExpired() {
	var selected = getElem("name", "expiredViewBean", 0).elements["selected"].checked;
	var url = "/viewExpired.do?selected=" + selected;
	return url;
}

function updateCountry() {
	var selected = getElem("name", "countries.selectedId", 0).value;
	var url = "/changeCountry.do?countries.selectedId=" + selected;
	return url;
}

function updateLanguage() {
	var selected = getElem("name", "languages.selectedId", 0).value;
	var url = "/changeLanguage.do?languages.selectedId=" + selected;
	return url;
}

function setExpirationDays() {
	var selected = getElem("name", "expirationDateBean", 0).elements["searchTO.expirationDays"].value;
	if (selected == '') {

		selected = 'parseError';
	}
	var url = "/setExpirationDays.do?searchTO.expirationDays=" + selected;
	return url;
}

function updateAccessLevel() {
	var selected = getElem("name", "accessLevel.selectedId", 0).value;
	var url = "/changeAccessLevel.do?accessLevel.selectedId=" + selected;
	return url;
}
