//==============================================
// check TextBox
//==============================================
function checkRealChar(event, id_hidden, integer_digit, decimal_digit){//onkeypress 当键盘被按下后又松开时执行脚本
var commitFlg = document.getElementById("commitFlg");
if (commitFlg.value == 1) {
event.returnValue = false;
return event.returnValue;
}
var maxLength = integer_digit + decimal_digit + 1;
event.returnValue=false;
var hiddenObject = document.getElementById(id_hidden);
var range = document.selection.createRange();
var ch_text = range.text;
if (hiddenObject != null && (removeComma(event.srcElement.value).length > maxLength)
&& ch_text != null && ch_text.length == 0) {
event.returnValue = false;
}else {
if(event.keyCode>47 && event.keyCode <58) {
event.returnValue=true;
} else if(event.srcElement.value.indexOf('-')!=-1){
event.returnValue=false;
}else if(event.keyCode==46){
if (hiddenObject.value.length == (maxLength - 1)) {
event.returnValue=false;
}else if(event.srcElement.value.indexOf('.')!=-1){
event.returnValue=false;
}else {
event.returnValue=true;
}
}
}
return event.returnValue;
}
function modifyRealNumber(event,id_hidden, id_text, integer_digit, decimal_digit){//onkeyup 当键盘被松开时执行脚本
var maxLength = integer_digit + decimal_digit + 1;
if((event.keyCode==37)||(event.keyCode==39))
return true;
if((event.keyCode > 47 && event.keyCode < 58) || (event.keyCode > 95 && event.keyCode < 106)
|| event.keyCode == 8 || event.keyCode == 46 || event.keyCode == 189
|| event.keyCode == 190 || event.keyCode == 110){
var dummyNumberObj = document.getElementById(id_text);
var realNumberObj;
if (id_hidden != "") {
realNumberObj = document.getElementById(id_hidden);
}
if (event.keyCode == 190 || event.keyCode == 110){
if(dummyNumberObj.value.indexOf('.')==0){
dummyNumberObj.value = dummyNumberObj.value.substring(dummyNumberObj.value.indexOf('.')+1);
}else if (decimal_digit == 0){
dummyNumberObj.value = dummyNumberObj.value.replace(/[.]/g,"");
}
}
dummyNumberObj.value = removeComma(dummyNumberObj.value) ;
var oldValue = dummyNumberObj.value;
var decimalIndex = oldValue.indexOf('.');
if (decimalIndex != -1){
integerNum = oldValue.substring(0,decimalIndex);
}else {
integerNum = oldValue;
}
if(integerNum.length > integer_digit){
integerNum = integerNum.substring(0,integer_digit);
}
dummyNumberObj.value = appendComma(integerNum) ;
realNumberObj.value = integerNum;
var dotValue = 0;
if (oldValue.indexOf('.')!=-1){
dotValue = oldValue.substring(oldValue.indexOf('.')+1);
if (decimal_digit != -1 && dotValue.length > decimal_digit){
dotValue = dotValue.substring(0,decimal_digit);
}
realNumberObj.value = realNumberObj.value + "." + dotValue;
dummyNumberObj.value = dummyNumberObj.value + "." + dotValue;
}
}
}
function modifyRealNumByCopy(id_hidden, id_text, integer_digit, decimal_digit){
var maxLength = integer_digit + decimal_digit + 1;
var dummyNumberObj = document.getElementById(id_text);
var realNumberObj;
if (id_hidden != "") {
realNumberObj = document.getElementById(id_hidden);
}
if (maxLength == null || maxLength == "") {
maxLength = 15;
}
var oldval = removeComma(dummyNumberObj.value);
//if(oldval.length > maxLength){
// dummyNumberObj.value = oldval.substring(0,maxLength);
//}
oldval = removeComma(dummyNumberObj.value);
var dotValue = 0;
if (oldval.indexOf('.') != -1){
dummyNumberObj.value = oldval.substring(0,oldval.indexOf('.'));
dotValue = oldval.substring(oldval.indexOf('.')+1);
}
if(removeComma(dummyNumberObj.value).length > integer_digit){
var dummyNumber = removeZero(removeComma(dummyNumberObj.value));
dummyNumberObj.value = removeComma(dummyNumber).substring(0,integer_digit);
}
dummyNumberObj.value = appendComma(dummyNumberObj.value, "true");
if (realNumberObj != null) {
realNumberObj.value = removeComma( dummyNumberObj.value );
}
try {
var errorFlg = false;
var realNumber = realNumberObj.value;
if(!checkNumber(realNumber)){
dummyNumberObj.value = '';
realNumberObj.value = '';
}else{
if (oldval.indexOf('.')!=-1){
if(checkNumber(realNumberObj.value)){
if (integer_digit != -1 && realNumberObj.value > integer_digit){
realNumberObj.value = realNumberObj.value.substring(0,integer_digit);
}
}
if(checkNumber(dotValue)){
if (decimal_digit != -1 && dotValue.length > decimal_digit){
dotValue=dotValue.substring(0,decimal_digit);
}
if (dotValue!=""){
var dotValueTemp = parseFloat("0."+ dotValue);
dotValueTemp = dotValueTemp+"";
dotValue = dotValueTemp.substring(dotValueTemp.indexOf('.')+1);
realNumberObj.value = parseFloat(realNumberObj.value,10);
realNumberObj.value = realNumberObj.value + "." + dotValue;
//realNumberObj.value = parseFloat(realNumberObj.value);
if(realNumberObj.value.indexOf('.') != -1){
var integerTemp = realNumberObj.value.substring(0,realNumberObj.value.indexOf('.'));
var decimalTemp = realNumberObj.value.substring(realNumberObj.value.indexOf('.'),realNumberObj.value.length);
dummyNumberObj.value = appendComma(integerTemp) + decimalTemp;
}
}
}
if(realNumberObj.value == 0){
realNumberObj.value = '';
dummyNumberObj.value = '';
}
}else{
if(realNumberObj.value == 0){
realNumberObj.value = '';
dummyNumberObj.value = '';
}
}
}
}catch(e){
}
}
function appendComma(num, removeZeroFlg){
var srcNumber = new String( num ) ;
if( num == null || srcNumber.length == 0 ){
return num ;
}
if (srcNumber.substring(0, 1) == '-'){
srcNumber = '-' + removeMinus(srcNumber);
var nNum = srcNumber.substring(1);
return '-' + appendComma(nNum, removeZeroFlg)};
else
srcNumber = removeMinus(srcNumber);
if (srcNumber == '-')
return srcNumber;
if (removeZeroFlg == "true") {
num = removeZero(num);
}
var isMinus = false ;
if( num < 0 ){
isMinus = true ;
}
if( ( isMinus && srcNumber.length < 3 ) || (!isMinus && srcNumber.length < 4 )){
return num ;
}
var strValue= removeComma( srcNumber );
if (removeZeroFlg == "true") {
strValue = removeZero(strValue) + "";
}
var m = mod(strValue.length,3);
if (m==0)
m=3
else if (isMinus && m==1)
m=4;
var newValue="";
if (strValue.length>3){
newValue=strValue.substring(0,m)+",";
len=0;
if (m==3)
len=Math.floor((strValue.length)/3)-2
else if (isMinus && m==4)
len=Math.floor((strValue.length)/3)-2
else
len=Math.floor((strValue.length)/3)-1
for (i=0;i<len;i++){
newValue =newValue+strValue.substring(m+i*3,m+(i+1)*3)+",";
}
newValue =newValue+strValue.substring(m+(i)*3);
}else{
newValue=strValue;
}
return newValue;
}
function removeComma( src ){
var orgStr = new String( src ) ;
return orgStr.replace(/[,]/g,"").replace(/[ ]/g,"").replace(/[ ]/g,"");
}
function checkNumber(numberStr){
var regObj = /^\d*$/g;
if(regObj.test(numberStr)){
return true;
}else{
return false;
}
}
function removeZero(num) {
var newNum = "";
var indexReal = 0;
for (var i = 0; i < num.length; i++) {
if (num.charAt(i) != '0') {
break;
}
indexReal++;
}
if (indexReal == num.length) {
newNum = 0;
}else {
newNum = num.substring(indexReal, num.length);
}
return newNum;
}