function HTB_KeyPress(e) {
	if (event.srcElement.readOnly)
		return false;
		
	if(document.selection.createRange().text != '')
		document.selection.clear();
	var keyCode = event.keyCode;

	var decPlaces = parseInt(event.srcElement.decPlaces);
	var decSign = event.srcElement.decSign;

	if((keyCode >= 48 && keyCode <= 57) || keyCode == 13 || keyCode == 8) {
		if(decPlaces == -1 || event.srcElement.isReal == 'false' || keyCode == 13 || keyCode == 8)
			return true;
		else {
			var tempVal = event.srcElement.value;
			if(tempVal.indexOf(decSign, 0) == -1)
				return true;
			else {
				if((tempVal.length - tempVal.indexOf(decSign, 0)) <= decPlaces)
					return true;
				else
					return false;
			}
		}
	} else if(keyCode == 45 || keyCode == 46 || keyCode == 44) {
		if(keyCode == 45) {
			var tempVal = event.srcElement.value + "-";
			if(tempVal.indexOf("-") == 0 && tempVal.indexOf("-", 1) == -1) {
				if(event.srcElement.isPos == 'true')
					return false;
				else
					return true;
			} else
				return false;
		} else if(keyCode == 46 && decSign == "."){
			var tempVal = event.srcElement.value;
			if(tempVal.indexOf(".", 0) == -1) {
				if(event.srcElement.isReal == 'true')
					return true;
				else
					return false;
			} else
				return false;
		} else if(keyCode == 44 && decSign == ",") {
			var tempVal = event.srcElement.value;
			if(tempVal.indexOf(",", 0) == -1) {
				if(event.srcElement.isReal == 'true')
					return true;
				else
					return false;
			} else
				return false;
		} else
			return false;
	} else
		return false;
}

function HTB_Paste(e) {
	if (event.srcElement.readOnly)
		return false;
	var pasteData = window.clipboardData.getData("Text");
	var expr = event.srcElement.valExpr;
	
	eval("var re = /" + expr + "/;");	
	
	if(re.test(pasteData) || pasteData.length == 0) {
		event.srcElement.value = pasteData;
		return false;
	} else
		return false;
}

function HTB_PasteCode(e) {
	if (event.srcElement.readOnly)
		return false;
	var pasteData = window.clipboardData.getData("Text");
	var expr = "^[0-9a-zA-Z]";
	var uCase = event.srcElement.upperCase;
	
	eval("var re = /" + expr + "/;");	
	
	if(re.test(pasteData) || pasteData.length == 0) {
		if (uCase == 'true' )
			event.srcElement.value = pasteData.toUpperCase();
		else
			event.srcElement.value = pasteData.toLowerCase();
		return true;
	} else
		return false;
}

function HTB_KeyPressCode(e) {
	if (event.srcElement.readOnly)
		return false;
	if(document.selection.createRange().text != '')
		document.selection.clear();
	var keyCode = event.keyCode;
	var uCase = event.srcElement.upperCase;

	if((keyCode >= 48 && keyCode <= 57) || keyCode == 13 || keyCode == 8 ) 
		return true;
	if (keyCode >= 65 && keyCode <= 90)
	{
		if(uCase == 'false')
			event.keyCode = keyCode + 32;
		return true;
	}
	if (keyCode >= 97 && keyCode <= 122)
	{
		if(uCase == 'true')
			event.keyCode = keyCode - 32;
		return true;
	}
	return false;
}

function HTB_PasteTime(e) {
	if (event.srcElement.readOnly)
		return false;
	var pasteData = window.clipboardData.getData("Text");
	var expr = "^[0-9:]";
	var uCase = event.srcElement.upperCase;
	
	eval("var re = /" + expr + "/;");	
	
	if(re.test(pasteData) || pasteData.length == 0) {
		return true;
	} else
		return false;
}

function HTB_KeyPressTime(e) {
	if (event.srcElement.readOnly)
		return false;
		
	//':'.charCodeAt(0) = 58
	
	if(document.selection.createRange().text != '')
		document.selection.clear();
	var keyCode = event.keyCode;

	if((keyCode >= 48 && keyCode <= 57) || keyCode == 13 || keyCode == 8) {
		if( keyCode == 13 || keyCode == 8)
			return true;
		else {
			var tempVal = event.srcElement.value;
			if(tempVal.indexOf(':', 0) == -1)
				return true;
			else {
				if((tempVal.length - tempVal.indexOf(':', 0)) <= 2)
					return true;
				else
					return false;
			}
		}
	} else if(keyCode == 58) {
		var tempVal = event.srcElement.value;
		if(tempVal.indexOf(":", 0) == -1 && tempVal.length > 0) 
			return true;
		else
			return false;
	} else
		return false;
}

//add by zhangl 2005-12-12 04:45:13
//to control the textarea's max length
function HTA_KeyPressLength(maxLen){
      var str=event.srcElement.value;
      var oSR=document.selection.createRange();

      if(str.length<maxLen){
		return true;
      }
	  else if(oSR.text.length>0){
        return true;
      }
	  else{
        return false;
      }
}

function HTA_PasteLength(maxLen){
      var str=event.srcElement.value;
      var oSR=document.selection.createRange();

      var strData=clipboardData.getData('text');
      var iLenPaste=maxLen-str.length+oSR.text.length;

      oSR.text=strData.substring(0,iLenPaste);

      return false;
}
