function InputTextAutoTab(inputText, inputNext){	//from onkeyup event

	if (inputText.value.length >= inputText.maxLength) inputNext.focus();
}

function InputTextAutoBacktab(inputText, inputPrev, e){	//from onkeyup event

	if (e.keyCode==8) {
		if (InputTextSelectionStart(inputText)==0) 
			InputTextFocusAtEnd(inputPrev);
	}
}

function InputTextSelectionStart(inputText) {

	if ( typeof(inputText.selectionStart)!= "undefined"  )	//nice Gecko
		return inputText.selectionStart;
		
	if ( inputText.createTextRange ) {	//lame IE
		var sourceRange = document.selection.createRange();
		var tempRange = sourceRange.duplicate();
		tempRange.expand("textedit");
		tempRange.setEndPoint( 'EndToEnd', sourceRange );
		return tempRange.text.length - sourceRange.text.length;
	}

	return -1;
}

function InputTextFocusAtEnd(inputText) {
	inputText.focus();
	
	if ( inputText.createTextRange ) {
		var sel = inputText.createTextRange();
		sel.collapse(false)
		sel.select();
	}
}

function SubmitIfHtmlSafe(inForm,inFormFieldNames) {
	if (EnsureHtmlSafe(inForm,inFormFieldNames)) {
		inForm.submit();
	}
}

function EnsureHtmlSafe(inForm,inFormFieldNames) {
  for (var i=0; i<inFormFieldNames.length; i++) {
		var theFieldToCheck=inForm[inFormFieldNames[i]];
		if ( theFieldToCheck!=null && theFieldToCheck.value.indexOf('<')>=0 ) {
			alert('You have entered a problematic character: "<". Please correct it.');
			theFieldToCheck.focus();
			return false;
		}
  }
  return true;
}

