// Version : 05.02.00
  var escapeString="";
  var escapePos;
  var byteCheckMode = 0;
  var enableAutoComplete = 0;
  var decimalFormatMode = 0;
  var moveFocusMaxLengthMode = 1;
  var dispErrorMsgLine = -1;
  var lastErrorId = "";
  var lastErrorCond = "";
	function unFormat(formatedString){
		var stringBeforeFormat;
		if ( formatedString.length <= 10 && formatedString.indexOf("/") == 4
					&& (formatedString.lastIndexOf("/") == 7 || formatedString.lastIndexOf("/") == 6))  
			stringBeforeFormat = date(formatedString);
		else
			stringBeforeFormat = undate(formatedString);
		return stringBeforeFormat;
	}
	function undate(formatedString){
		var	index;
		var tempChar;
		var stringBeforeFormat="";
		var isNumber=0;
		var isdate = false;
		formatedString = formatedString.toString();
		var strLength = formatedString.length;
		for(index = 0; index < strLength; index++){
			tempChar = formatedString.charAt(index);
			if( tempChar >= '0' && tempChar <='9'){
				stringBeforeFormat += tempChar;
			}
			if( tempChar == '-' ){
				if( index == 0 ) {
					stringBeforeFormat += tempChar;
					isNumber = 1;
				}	else{
					if( (formatedString.charAt(index-1) < '0' || formatedString.charAt(index-1) > '9')
							&& index < strLength-1 && formatedString.charAt(index+1) >= '0'
							&& formatedString.charAt(index+1) <= '9'	 ){
						stringBeforeFormat += tempChar;
						isNumber = 1;
					}
				}
			}
			if (tempChar == '.'){
				if( index > 0 && index < strLength-1){
					if( formatedString.charAt(index-1) >= '0'
							&& formatedString.charAt(index-1) <= '9'
							&& formatedString.charAt(index+1) >= '0'
							&& formatedString.charAt(index+1) <= '9' ) {
						stringBeforeFormat += tempChar;
						isNumber = 1;
					}
				}
			}
		}
		if (isNumber ==1){
	        if( charPosition('.', stringBeforeFormat) != -1 ){
	          stringBeforeFormat = removeEndingChars('0', stringBeforeFormat);
			}
	        stringBeforeFormat = removeEndingChars('.', stringBeforeFormat);
		}
		return stringBeforeFormat;
	}
	function date(formatedString){
		var stringBeforeFormat="";
		var xx;
		if(formatedString.length == 0 )
			return stringBeforeFormat;
		xx = formatedString.match(/(\d+)\D(\d+)\D(\d+)/);
	    stringBeforeFormat += RegExp.$1 ;
	    if(RegExp.$2.length ==2)
	    	stringBeforeFormat += RegExp.$2 ;
	    else
	    	stringBeforeFormat += '0'+ RegExp.$2;
	    if(RegExp.$3.length ==2)
	    	stringBeforeFormat += RegExp.$3 ;
	    else
	    	stringBeforeFormat += '0'+ RegExp.$3;
		return stringBeforeFormat;
	}
function doFormat( stringToBeFormatted, format) {
    var output = "";
    var moneySymbol = "";
    var hasSignInFormat = false;
    var signCharInFormat = '+';
    var hasSignInInput = false;
    var signCharInInput = '+';
	var unformat = "";
		if( !IsDecimal( stringToBeFormatted ) )
			return stringToBeFormatted;
    if ( stringToBeFormatted.length <= 0 ){
    	return output;
    }
    if (isTimeFormat(stringToBeFormatted, format)) {
      return formatTime(stringToBeFormatted, format);
    }
    if (stringToBeFormatted.indexOf('.') != -1 || hasPeriod(format))
      output = formatNumeral(stringToBeFormatted, format);
    else
      output = formatNoneNumeral(stringToBeFormatted, format);
    output = removeCommaAndSign(output);
    output = removeDelChars(output);
    return output;
  }
 function removeEscapeChars( input) {
    var output = "";
    var len = input.length;
    var ch;
	var i;
    for ( i = 0; i < len; i++) {
      if ((ch = input.charAt(i)) ==  '\\' && i + 1 < len) {
        i++;
      }
        output += input.charAt(i);
    }
    return output;
  }
  function hasPeriod( input) {
    for (var i = 0; i < input.length; i++)
      if (input.charAt(i) == '.' && i<input.length-1 && i>0
          && ( input.charAt(i-1) == '#' || input.charAt(i-1) == '0' )
          && ( input.charAt(i+1) == '#' || input.charAt(i+1) == '0' ) )
        return true;
    return false;
  }
  function periodPosition( input) {
    for (var i = 0; i < input.length; i++)
      if (input.charAt(i) == '.' && i<input.length-1 && i>0
          && ( input.charAt(i-1) == '#' || input.charAt(i-1) == '0' )
          && ( input.charAt(i+1) == '#' || input.charAt(i+1) == '0' ) )
        return i;
    return -1;
  }
function removeLeadingChars(chRemove, input) {
    var output = "";
    var remove = true;
    var ch;
	var i;
    for (i = 0; i < input.length; i++) {
      ch = input.charAt(i);
      if (ch != chRemove)
        remove = false;
      if (ch != chRemove || !remove)
        output += ch;
    }
    return output;
  }
function removeEndingChars(chRemove, input) {
    var output = "";
    var remove = true;
    var ch;
	var i;
    for ( i = input.length - 1; i >= 0 ; i--) {
      ch = input.charAt(i);
      if (ch != chRemove)
        remove = false;
      if (ch != chRemove || !remove)
        output = ch + output;
    }
    return output;
  }
function formatNoneNumeral( stringToBeFormatted,  format) {
    var output = "";
		var formatCount;
		var inputCount;
		var inputChar = '0';
    var formatChar;
    var formatEscChar;
    var storeData = "";
    var storeFormat = "";
    var formatData = "";
    var signInInput = ' ';
    if( stringToBeFormatted.length!=0 && ( stringToBeFormatted.charAt(0) == '+'
        || stringToBeFormatted.charAt(0) == '-') ){
      signInInput = stringToBeFormatted.charAt(0);
      stringToBeFormatted = stringToBeFormatted.substring(1);
    }
		inputCount = stringToBeFormatted.length;
    formatCount = format.length;
    while (formatCount > 0) {
      if( formatCount >=2 )
        formatEscChar = format.charAt(formatCount - 2);
      else
        formatEscChar = ' ';
      formatChar = format.charAt(formatCount - 1);
      if (inputCount > 0)
        inputChar = stringToBeFormatted.charAt(inputCount - 1);
      else
        inputChar = '0';
      if( formatEscChar == '\\'){
        storeFormat = ""+ formatEscChar + formatChar;
        for( var i = formatCount-2; i > 0; i-- ){
          if( format.charAt(i-1)== '\\' ){
            storeFormat = format.charAt(i-1) + storeFormat;
          } else {
            break;
          }
        }
        if( storeFormat.length == Math.floor(storeFormat.length/2)*2 ){
          for( var j=1; j < storeFormat.length; j=j+2 ){
            formatData += storeFormat.charAt(j);
          }
          output = formatData + output;
          formatData = "";
          formatCount = formatCount - storeFormat.length;
          continue;
        }
      }
      if( formatChar == '-' ){
        if( signInInput == '-' ){
          output = signInInput + output;
        }
        formatCount--;
        continue;
      }
      if( formatChar == '+' ){
        if( signInInput == '+' || signInInput == '-' )
          output = signInInput + output;
        else
          output = '+' + output;
        formatCount--;
        continue;
      }
      if( formatChar == ',' ){
        var flag = false;
        if( inputCount >0 ){
          var left = stringToBeFormatted.substring(0,inputCount);
          for( var k=0; k<left.length; k++ ){
            if( left.charAt(k) != '0' ){
              flag = true;
            }
          }
        }
        if( flag){
            output = formatChar + storeData + output;
            storeData = "";
        }
        formatCount--;
        continue;
      }
      if (formatChar == '#' || formatChar == '0') {
        if (inputCount > 0) {
          if( formatChar == '0' ){
            output = inputChar + storeData + output ;
            storeData = "";
            inputCount--;
            formatCount--;
          } else {
            if( formatChar == '#' ){
              if( inputChar == '0' ){
                storeData = inputChar + storeData;
                inputCount--;
                formatCount--;
              } else {
                output = inputChar + storeData + output ;
                storeData = "";
                inputCount--;
                formatCount--;
              }
            }
          }
        }
        else {
          if( formatChar == '#' )
            formatCount--;
          else {
            output = formatChar+ storeData + output;
            storeData = "";
            formatCount--;
          }
        }
      }
      else {
        output = formatChar + output;
        formatCount--;
      }
    }
    return output;
  }
function formatNumeral( stringToBeFormatted, format) {
    var preChar = "";
    var posChar = "";
    var numFormat = "";
    var formatInteger = "";
    var formatFloat = "";
    var output = "";
    var cutString = "";
    var integerPart = "", floatPart = "";
    var hasComma = false;
    var hasPeriodInFormat = false;
    var posPeriodInFormat;
    var rgexp = new RegExp("([^\\#,0123456789\.\+\-]*)([\\#,0123456789\.\+\-]*)([^\\#,0123456789\.\+\-]*)");
    format.match(rgexp);
    preChar = RegExp.$1; numFormat = RegExp.$2; posChar = RegExp.$3;
    numFormat = format;
    if (decimalFormatMode != 1) {
      cutString = cutNumeral(stringToBeFormatted, numFormat);
      if (cutString != "")
        stringToBeFormatted = cutString;
    }
    posPeriodInFormat = periodPosition(numFormat);
    if (posPeriodInFormat != -1) {
      hasPeriodInFormat = true;
      formatInteger = numFormat.substring(0, posPeriodInFormat);
    }
    else
      formatInteger = numFormat;
    integerPart = formatIntegerPart(stringToBeFormatted, formatInteger);
    if (hasPeriodInFormat) {
      formatFloat = formatFloatPart(stringToBeFormatted, numFormat.substring(posPeriodInFormat+1, numFormat.length)) ;
    }
    if( formatFloat != "" && formatFloat.charAt(0) >= '0' && formatFloat.charAt(0) <= '9' )
      output = integerPart + "." + formatFloat;
    else
      output = integerPart + formatFloat;
    return output;
  }
 function  charPosition( ch,  input) {
 	var i;
    for ( i = 0; i < input.length; i++) {
      if (ch == input.charAt(i))
        return i;
    }
    return -1;
  }
function formatIntegerPart( stringToBeFormatted,  format) {
    var output;
    if (stringToBeFormatted.indexOf('.') != -1)
      stringToBeFormatted = stringToBeFormatted.substring(0, charPosition('.', stringToBeFormatted));
    output = formatNoneNumeral(stringToBeFormatted, format);
    return output;
  }
function formatFloatPart( stringToBeFormatted,  format) {
    var output = "";
    var storeData = "";
    var periodPosInInput;
    var inputCount, inputLen;
    var formatCount, formatLen;
    var formatChar;
    var inputChar;
    periodPosInInput = charPosition('.', stringToBeFormatted);
    if (periodPosInInput != -1)
      stringToBeFormatted = stringToBeFormatted.substring(periodPosInInput + 1, stringToBeFormatted.length);
    else
      stringToBeFormatted = "";
    formatCount = 0;
    formatLen = format.length;
    inputCount = 0;
    inputLen = stringToBeFormatted.length;
    while (formatCount < formatLen) {
      formatChar = format.charAt(formatCount);
      if (inputCount < inputLen)
        inputChar = stringToBeFormatted.charAt(inputCount);
      else
        inputChar = '0';
      if( formatChar == '\\'){
        formatCount++;
        if ( formatCount < formatLen ){
          formatChar = format.charAt(formatCount);
          output += formatChar;
          formatCount++;
        }
        continue;
      }
      if (formatChar != '#' && formatChar != '0') {
        output +=  formatChar;
        formatCount++;
      }
      else {
        if (inputCount < inputLen) {
          if( formatChar == '0' ){
            output = output + storeData + inputChar;
            inputCount++;
            formatCount++;
            storeData = "";
          } else {
            if( formatChar == '#' ){
              if( inputChar == '0' ){
                storeData += inputChar;
                inputCount++;
                formatCount++;
              } else {
                output = output + storeData + inputChar;
                storeData = "";
                inputCount++;
                formatCount++;
              }
            }
          }
        }
        else {
          if( formatChar == '#' ){
            formatCount++;
          } else {
            output += formatChar;
            storeData = "";
            formatCount++;
          }
        }
      }
    }
    return output;
  }
function cutNumeral( stringToBeFormatted,  format) {
    var output = "";
    var floatLenInInput;
    var floatLenInFormat = 0;
    var cutCharPos;
    var addValue;
    var cutString="";
    var cutChar = '0';
    var cutStringValue;
    var f;
    var cutCount;
    if( stringToBeFormatted.indexOf('.') == -1  )
      return "";
    floatLenInInput = stringToBeFormatted.length - charPosition('.', stringToBeFormatted) - 1;
		if( charPosition('.', format) != -1 ) {
	    for( var i=charPosition('.', format)+1; i< format.length;i++ ){
	      var ch = format.charAt(i);
	      if( !(ch == '#' || ch == '0') ) break;
	      else  floatLenInFormat ++;
	    }
	  }
    if (floatLenInFormat >= floatLenInInput)
      return "";
    cutCharPos = charPosition('.', stringToBeFormatted) + floatLenInFormat + 1;
    cutChar = stringToBeFormatted.charAt(cutCharPos);
    if (decimalFormatMode == 2) {
      if (cutChar == '0')
        return "";
    }
    else {
      if (cutChar <= '4')
        return "";
    }
    cutString = stringToBeFormatted.substring(0, cutCharPos);
    output = Add1(cutString);
    return output;
  }
function Add1(input) {
    var output = "";
    var cutCount;
    var cutChar;
    var addValue;
    cutCount = input.length;
    while (cutCount > 0) {
      cutChar = input.charAt(cutCount - 1);
      if (cutChar >= '0' && cutChar <= '9') {
        addValue = Number(cutChar) ;
        addValue++;
        if (addValue <= 9) {
          cutChar = addValue.toString();
          output = cutChar + output;
          cutCount--;
          break;
        }
        else {
          cutChar = (addValue - 10).toString();
          output = cutChar + output;
          cutCount--;
          if (cutCount == 0)
            output = '1' + output;
        }
      }
      else {
        if (cutChar == '.') {
          output = cutChar + output;
          cutCount--;
        }
        else {
          output = '1' + output;
          output = cutChar + output;
          cutCount--;
          break;
        }
      }
    }
    while (cutCount > 0) {
      output = input.charAt(cutCount - 1) + output;
      cutCount--;
    }
    return output;
  }
function removeCommaAndSign( input) {
    var output = "";
    var remove = true;
    var delCharFlag = "\u0001";
    var ch;
	var i;
    for ( i = 0; i < input.length; i++) {
      ch = input.charAt(i);
      if (ch != ',' && ch != '#')
        remove = false;
      if ((ch == ',' || ch == '#') && remove)
        output += delCharFlag;
      else
        output += ch;
    }
    return output;
  }
  function addMoneyChar(input, moneySymbol) {
    var output;
    if (moneySymbol.length == 0)
      return input;
    output = moneySymbol + input;
    return output;
  }
function hasMoneySymbol(input) {
    var ch;
    ch = input.charAt(0);
    if (ch == '$' || ch =='\\')
      return true;
    return false;
  }
function formEscapeString( input) {
    var inputCount = 0;
    var inputChar;
    var escapeCharsNum = 0;
    var posCount = 0;
    var indexCount = 0;
    var output = "";
    var markString = "";
    var markChar = "\u0000";
    var markCount = 0;
    escapeString = "";
    inputCount = 0;
    while (inputCount < input.length) {
      inputChar = input.charAt(inputCount);
      if (inputChar == '\\' && inputCount + 1 < input.length) {
        escapeString = input.charAt(inputCount + 1) + escapeString;
        escapeCharsNum++;
        inputCount += 2;
        markString += markChar;
      } else {
        inputCount++;
        markString += inputChar;
        output += inputChar;
      }
    }
    escapePos = new Array(escapeCharsNum);
    markCount = markString.length;
    indexCount = 0;
    while (markCount >0) {
      inputChar = markString.charAt(markCount - 1);
      posCount++;
      if (inputChar == markChar) {
        escapePos[indexCount] = posCount - 1;
        posCount = 0;
        indexCount++;
      }
      markCount--;
    }
    return output;
  }
  function insertZeroCharsForEscapeString( input) {
    var output = input;
    var insPos = 0;
    var insertChar;
    var i;
    if (escapeString.length == 0)
      return output;
    for ( i = 0; i < escapeString.length; i++) {
      insPos += escapePos[i];
      insertChar = '\u0000';
      if (insPos > output.length) {
        output = insertChar + output;
      }
      else {
        output = output.substring(0, output.length - insPos) + insertChar +
                output.substring(output.length - insPos, output.length);
      }
      insPos++;
    }
    return output;
  }
  function restoreEscapeChars( input) {
    var output = "";
    var inputCount = 0;
    var ch;
    var indexCount = 0;
    inputCount = input.length;
    while (inputCount > 0) {
      ch = input.charAt(inputCount - 1);
      if (ch == "\u0000") {
        output = escapeString.charAt(indexCount) + output;
        indexCount++;
      }
      else
        output = ch + output;
      inputCount--;
    }
    return output;
  }
  function removeDelChars( input) {
    var output = "";
    var ch;
	var i;
    for ( i = 0; i < input.length; i++) {
      ch = input.charAt(i);
      if (ch != "\u0001")
        output += ch;
    }
    return output;
  }
function removeChars( removeChar,  input) {
    var output = "";
    var ch;
	var i;
    for ( i = 0; i < input.length; i++) {
      ch = input.charAt(i);
      if (ch != removeChar)
        output += ch;
    }
    return output;
  }
function formatTime( input, format) {
    var output = "";
    var ch;
    output = input.substring(0, 4);
    output += '/';
    if (!(input.charAt(4) == '0' && format.charAt(5) == '#'))
      output += input.charAt(4);
    output += input.charAt(5);
    output += '/';
    if (!(input.charAt(6) == '0' && format.charAt(8) == '#'))
      output += input.charAt(6);
    output += input.charAt(7);
    return output;
  }
  function isTimeFormat(input, format) {
    var ch;
	var i;
    if (format.length != 10)
      return false;
    if (input.length != 8)
      return false;
    for ( i = 0; i < 4; i++) {
      ch = format.charAt(i);
      if (!(isDigit(ch) || ch == '#'))
        return false;
    }
    if (format.charAt(4) != '/')
      return false;
    if (format.charAt(7) != '/')
      return false;
    for (i = 5; i <= 6; i++) {
      ch = format.charAt(i);
      if (!(isDigit(ch) || ch == '#'))
        return false;
    }
    for (i = 8; i <= 9; i++) {
      ch = format.charAt(i);
      if (!(isDigit(ch) || ch == '#'))
        return false;
    }
    return true;
  }
function isDigit( ch) {
    if (ch >= '0' && ch <= '9' )
      return true;
    else
      return false;
  }
function Trim(targetString){
	return targetString.replace(/^(\s*)(\S.*\S)(\s*)$/, "$2");
}
function isSpaces(targetString){
	var c;
	for ( var i = 0; i < targetString.length; i++ ){
		c = targetString.charCodeAt(i);
		switch(c){
		case 0x0009:	
		case 0x000A:	
		case 0x000C:	
		case 0x000D:	
		case 0x0020:	
		case 0x3000: 	
			break;
		default: 
			return false;
		}
	}
	return true;
}
function isSpacesWithoutTwoByteSP(targetString) {
	for ( var i = 0; i < targetString.length; i++ ){
		c = targetString.charCodeAt(i);
		switch(c){
		case 0x0009:	
		case 0x000A:	
		case 0x000C:	
		case 0x000D:	
		case 0x0020:	
			break;
		default: 
			return false;
		}
	}
	return true;
}
function IsNotNull( targetString ){
	if(isSpacesWithoutTwoByteSP(targetString)){	
		return false;
	} else {
		return true;
	}
}
function RemoveSpaces( targetString ){
	var output = "";
    var ch;
	var begin = 0;
	var end = 0;
	var i;
    end = targetString.length - 1;
	ch = targetString.charCodeAt(begin);
	while((ch == 0x0020 || ch == 0x3000) && begin < targetString.length - 1){
		begin++;
		ch = targetString.charCodeAt(begin);
	}
	ch = targetString.charCodeAt(end);
	while((ch == 0x0020 || ch == 0x3000) && end >= 0 ){
		end--;
		ch = targetString.charCodeAt(end);
	}	
	for (i = begin; i <= end; i++) {
        output += targetString.charAt(i);
    }
    return output;
}
function HasUselessSpaces( targetString ){
	var noSpaceStr;
	noSpaceStr = RemoveSpaces (targetString);
	if(noSpaceStr.length < targetString.length){
		return true;
	}
	else{
		return false;
	}
}
function IsAscii( targetString ){
	var c;
	for ( var i = 0; i < targetString.length; i++ ){
		c = targetString.charCodeAt(i);
                if ((c >= 0x00) && (c <= 0x7F)){
		} else {
			return false;
		}
	}
	return true;
}
function IsHankaku(targetString) {
	var strHankaku  ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｯｬｭｮｰﾞﾟ !#%&()*+,-./:;<=>?@[]^_`{|}~･｢｣$\"\'\\\r\n｡､";
	for ( var i = 0; i < targetString.length; i++ ){
		var c = targetString.charAt(i);
		if ( strHankaku.indexOf(c,0) == -1 ) {
			return false;
		}
	}
	return true;
}
function IsZenkaku(I_str){
    for( var i=0; i < I_str.length; i++ ){
		var c = I_str.charAt(i);
		if( IsHankaku(c) == true && c!='\r' && c!='\n'){
			return false;
		}
	}
	return true;
}
function IsAlphabet(targetString) {
	var strAlphabet  = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	for ( var i = 0; i < targetString.length; i++ ){
		var c = targetString.charAt(i);
		if ( strAlphabet.indexOf(c,0) == -1 ) {
			return false;
		}
	}
	return true;
}
function IsNumber(targetString){
	var strNumber  ="0123456789";
	for ( var i = 0; i < targetString.length; i++ ){
		var c = targetString.charAt(i);
		if ( strNumber.indexOf(c,0) == -1 ) {
			return false;
		}
	}
	return true;
}
function IsAlNum(targetString){
	var strAlnum="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
	for ( var i = 0; i < targetString.length; i++ ){
		var c = targetString.charAt(i);
		if ( strAlnum.indexOf(c,0) == -1 ) {
			return false;
		}
	}
	return true;
}
function IsInteger(targetString){
	var c = '.';
	if( HasUselessSpaces(targetString) == true ){
		return false;
	}
	if( targetString.indexOf('E')>=0 || targetString.indexOf('e')>=0){
		return false;
	}
	if( isNaN(targetString) ){
		return false;
	}else{
		if( targetString.indexOf(c,0) == -1 ){
			return true;
		};
	}
	return false;
}
function IsDecimal(targetString){
	var c = '.';
	if( HasUselessSpaces(targetString) == true ){
		return false;
	}
	if( targetString.indexOf('E')>=0 || targetString.indexOf('e')>=0){
		return false;
	}
	if( isNaN(targetString) ){
		return false;
	}else{
		return true;
	}
}
function IsGreaterThan(targetString,opt){
  var noSpaceStr = "";
  if( HasUselessSpaces(targetString) == true ){
	  return false;
  }
  noSpaceStr = RemoveSpaces(targetString);
  if (noSpaceStr == ""){
    return true;
  } else {
  	var n,m;
	n = Number(targetString);
  	m = Number(opt);
	if( !IsDecimal(targetString) || isNaN(m) ){
		return false;
	}
	if( targetString.indexOf(".") == 0){
		targetString = "0" + targetString;
	}else if ( targetString.indexOf(".") == 1 && targetString.charAt(0) == "+" ){
		targetString = "+0" + targetString.substring(1);
	}else if ( targetString.indexOf(".") == 1 && targetString.charAt(0) == "-" ){
		targetString = "-0" + targetString.substring(1);
	}
	var i ;
	if (targetString.indexOf(".") != -1){
		var targetLen = targetString.length-1;
		for ( i = targetLen ; i > 0 ; i-- ){
			if ( targetString.charAt(i)== '0' ){
				targetString = targetString.substring(0,i);
			}else{
				break;
			}
		}
	}
	if (targetString.indexOf(".") == targetString.length-1){
		targetString = targetString.substring(0,targetString.length-1);
	}
	var targetKigo=targetString.charAt(0);
	var optKigo=opt.charAt(0);
	if( targetKigo<="9" && targetKigo>="0" ){
		targetKigo = "+"
	}else if(targetKigo == "+" || targetKigo == "-"){
		targetString = targetString.substring(1);
	}else{
		return false;
	}
	if( optKigo<="9" && optKigo>="0" ){
		optKigo = "+"
	}else if(optKigo == "+" || optKigo == "-"){
		opt = opt.substring(1);
	}else{
		return false;
	}
	if( targetKigo == "+" &&  optKigo == "-" ){
		return true;
	}else if( targetKigo == "-" &&  optKigo == "+" ){
		return false;
	}
	var r = false;
	var targetInt = targetString;
	var optInt = opt;
	if( targetString.indexOf(".") != -1){
		targetInt = targetString.substring(0, targetString.indexOf("."));
	}
	if( opt.indexOf(".") != -1){
		optInt = opt.substring(0, opt.indexOf("."));
	}
	var targetInt_D = "" + targetInt;
	for ( i = 0 ; i < targetInt.length ; i++ ){
		if(targetInt_D.charAt(0) == '0' && targetInt_D.length != 1){
			targetInt_D = targetInt_D.substring(1);
		}else{
			break;
		}
	}
	targetInt = targetInt_D;
	if( targetString.indexOf(".") != -1 && opt.indexOf(".") != -1){
		if (NumStrCompare(targetInt, optInt) == 1){
			r = true;
		}else if(NumStrCompare(targetInt, optInt) == 0){
			var targetFloat = targetString.substring(targetString.indexOf(".")+1);
			var optFloat = opt.substring(opt.indexOf(".")+1);
			var i=0;
			var l=0;
			if(targetFloat.length > optFloat.length){
				l = targetFloat.length-optFloat.length;
				for(i=0; i<l; i++)    optFloat = optFloat + "0";
			}else if (targetFloat.length < optFloat.length){
				l = optFloat.length-targetFloat.length;
				for(i=0; i<l; i++)    targetFloat = targetFloat + "0";
			}
			if(NumStrCompare(targetFloat, optFloat) == 1){
				r = true;
			}else if(NumStrCompare(targetFloat, optFloat) == 0){
				return false;
			}else{
				r = false;
			}
		}else{
			r = false;
		}
	}else{
		if (NumStrCompare(targetInt, optInt) == 1){
			r = true;
		}else if(NumStrCompare(targetInt, optInt) == 0){
			if(targetString.indexOf(".") != -1){
				r = true;
			}else if(opt.indexOf(".") != -1){
				r = false;
			}else{
				return false;
			}
		}else{
			r = false;
		}
	}	
	if( targetKigo == "+" &&  optKigo == "+" ){
		return r;
	}else if( targetKigo == "-" &&  optKigo == "-" ){
		return !r;
	}else{
		return false;
	}
	}
}
function NumStrCompare(num1, num2){
	var numstr1 = new String(num1);
	var numstr2 = new String(num2);
	if(numstr1.length > numstr2.length){
		return 1;
	}
	if(numstr1.length < numstr2.length){
		return -1;
	}
	var i;
	for(i=0; i<numstr1.length; i++){
		var n1 = numstr1.charAt(i);
		var n2 = numstr2.charAt(i);
		if (n1 > n2){
			return 1;
		}else if(n1 < n2){
			return -1;
		}				
	}
	return 0;
}
function IsGreaterEqualThan(targetString,opt){
  var noSpaceStr = "";
  noSpaceStr = RemoveSpaces(targetString);
  if( HasUselessSpaces(targetString) == true ){
	  return false;
  }
  if (noSpaceStr == ""){  
    return true;
  } else {
  	if( IsGreaterThan(targetString,opt) || IsEqual(targetString,opt)){
	  	return true;
  	} else {
  		return false;
  	}
  	return( IsGreaterThan(targetString,opt) || IsEqual(targetString,opt));
  }
}
function IsLessThan(targetString,opt){
	var noSpaceStr = "";
	if( HasUselessSpaces(targetString) == true ){
		return false;
	}
	noSpaceStr = RemoveSpaces(targetString);
	if(noSpaceStr == "" ) return true;
  	var n,m;
	n = Number(targetString);
  	m = Number(opt);
	if( !IsDecimal(targetString) || isNaN(m) ){
		return false;
	}
	if(IsGreaterThan(targetString, opt) || IsEqual(targetString, opt)){
		  return false;
	}
	return true;
}
function IsLessEqualThan(targetString,opt){
	var noSpaceStr = "";
	if( HasUselessSpaces(targetString) == true ){
		return false;
	}
	noSpaceStr = RemoveSpaces(targetString);
	if(noSpaceStr == "" ) return true;
  	var n,m;
	n = Number(targetString);
  	m = Number(opt);
	if( !IsDecimal(targetString) || isNaN(m) ){
		return false;
	}
	if(IsGreaterThan(targetString, opt)){
    		return false;
 	}
 	return true;
}
function IsEqual(targetString,opt){
	var noSpaceStr = "";
	noSpaceStr = RemoveSpaces(targetString);
	if(noSpaceStr == "" ) return true;
	var n,m;
	n = Number(targetString);
	m = Number(opt);
	if( !IsDecimal(targetString) || isNaN(m) ){
		return false;
	}
	if( targetString.charAt(0)=="+" ){
		targetString = targetString.substring(1);
	}
	if( opt.charAt(0)=="+" ) {
		opt = opt.substring(1);
	}
	if( targetString.indexOf(".") == 0){
		targetString = "0" + targetString;
	}else if ( targetString.indexOf(".") == 1 && targetString.charAt(0) == "-" ){
		targetString = "-0" + targetString.substring(1);
	}else if (targetString.indexOf(".") == targetString.length-1){
		targetString = targetString.substring(0,targetString.length-1);
	}
	var targetInt = targetString;
	var targetFloat = "";
	if( targetString.indexOf(".") != -1){
		targetInt = targetString.substring(0, targetString.indexOf("."));
		targetFloat = targetString.substring(targetString.indexOf(".")+1);
	}
	var targetInt_D = targetInt;
	var targetSign = "";
	if (targetInt_D.charAt(0) == '-'){
		targetSign = "-";
		targetInt_D = targetInt_D.substring(1);
	}
	var i ;
	for ( i = 0 ; i < targetInt.length ; i++ ){
		if(targetInt_D.charAt(0) == '0' && targetInt_D.length != 1){
			targetInt_D = targetInt_D.substring(1);
		}else{
			break;
		}
	}
	targetInt = targetSign + targetInt_D;
	if ( targetFloat != ""){
		var targetFloat_D = targetFloat;
		var len = targetFloat.length-1;
		for ( i = len ; i > 0  ; i-- ){
			if(targetFloat_D.charAt(i) == '0' ){
				targetFloat_D = targetFloat_D.substring(0,i);
			}else{
				break;
			}
		}
		targetFloat = targetFloat_D;
	}
	if ( targetFloat == "0" ) {
		targetFloat = "";
	}
	if (targetFloat != ""){
		targetString = targetInt + "." +targetFloat;
	}else{
		targetString = targetInt;
	}
	if( NumStrCompare(targetString, opt) == 0){
		return true;
	}else{
		return false;
	}
}
function IsDate(targetString) {
	if ( targetString.length <=0 ) return true;
	else if ( targetString.length != 8 )	
		return false;			
	YYYY = new String;
	MM = new String;
	DDay = new String;
	YYYY.value = String(targetString).substring(0,4);
	MM.value = String(targetString).substring(4,6);
	DDay.value = String(targetString).substring(6,8);
	ManthLastDay = new Array(12);
	ManthLastDay[0] = 31; 
	ManthLastDay[1] = 28; 
	ManthLastDay[2] = 31; 
	ManthLastDay[3] = 30; 
	ManthLastDay[4] = 31; 
	ManthLastDay[5] = 30; 
	ManthLastDay[6] = 31; 
	ManthLastDay[7] = 31; 
	ManthLastDay[8] = 30; 
	ManthLastDay[9] = 31; 
	ManthLastDay[10] = 30; 
	ManthLastDay[11] = 31; 
	if ( !(IsNumber(YYYY.value) && IsNumber(MM.value) && IsNumber(DDay.value)) ) {
		return false
	};
	if ( ((Number(YYYY.value) % 100 != 0) && (Number(YYYY.value) % 4 == 0 )) || ((Number(YYYY.value) % 400 == 0) && (Number(YYYY.value) % 4 == 0 )) ) {
		ManthLastDay[1] = 29;
	}
	if ( (Number(YYYY.value) < 1) || (Number(YYYY.value) > 9999) ) {
		return false;
	}
	if ( (Number(MM.value) < 1) || (Number(MM.value) > 12) ) {
		return false;
	}
	if ( (Number(DDay.value) < 1)  || (Number(DDay.value) > ManthLastDay[Number(MM.value)-1])  ) {
		return false;
	}
	return true;
}
function IsRightFormatedString(FormatedString,format){
  if(FormatedString=="") return true;
  var unFormatString = unFormat(FormatedString);
  var strCheckFormatString = doFormat(unFormatString,format);
  if (FormatedString != strCheckFormatString){ 
	return false;
  }	
  return true;
}
function IsRightSize(targetString,opt){
	if(targetString=="") return true;
	var n,m;
	if( byteCheckMode == 1){
		n = getByte(targetString);
	}else{
		n = targetString.length;
	}
	m = Number(opt);
	if( isNaN(n) || isNaN(m) ){
		return false;
	} else if( n == m ){
		return true;
	} else {
		return false;
	}
}
function IsInMaxSize(targetString,opt){
	if(targetString=="") return true;
	var n,m;
	if( byteCheckMode == 1){
		n = getByte(targetString);
	}else{
		n = targetString.length;
	}
	m = Number(opt);
	if( isNaN(n) || isNaN(m) ){
		return false;
	} else if( n <= m ){
		return true;
	} else {
		return false;
	}
}
function getByte(text)
{	
	var count = 0;
	var c;
	var i;
	for (i = 0; i < text.length; i++ ){
		c = text.charAt(i);
		if (IsHankaku(c)){
			count++;
		}else{
			count += 2;
		}
	}
	return count;
}
  function isHankakukana(targetString) {
    var strHankakukana  ="ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｯｬｭｮｰﾞﾟ ";
    for ( var i = 0; i < targetString.length; i++ ){
        var c = targetString.charAt(i);
        if ( strHankakukana.indexOf(c,0) == -1 ) { return false; }
    }
    return true;
  }
  function isZenkakuKana(targetString){
    var strHankakukana  ="アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォッャュョー";
    for ( var i = 0; i < targetString.length; i++ ){
        var c = targetString.charAt(i);
        if ( strHankakukana.indexOf(c,0) == -1 ) { return false; }
    }
    return true;
  }

  function validate(target, constraintName, constraintCondition, mode) {
    var sParam;
    var sArray;
    var retFlag=true;
    
    sParam=new Object();
    if (constraintCondition != "" && constraintCondition != null) {
      sArray=constraintCondition.split(",");
      sParam.length = sArray.length+1;
      for (var i = 0; i < sArray.length; i++) {
        sParam[i+1] = sArray[i];
      }
    } else {
      sParam.length = 1;
    }
    sParam[0]=target;
    sArray=constraintName.split(".");
    constraintName=sArray[sArray.length-1];
    retFlag=eval(constraintName+"\(sParam\)\;");
    if (retFlag != false) {
      retFlag = true;
    }
    
    if (!retFlag) {
      eval(con.errHandler + "\(target, con.messageId, con.condition\)\;");
    }
    return retFlag;
  }
  
  function checkNotNull(targetString) {
    return IsNotNull(formatString(targetString[0]));
  }
  
  function checkHankaku(targetString) {
    return IsHankaku(formatString(targetString[0]));
  }
  
  function checkZenkaku(targetString) {
    return IsZenkaku(formatString(targetString[0]));
  }
  
  function checkAscii(targetString) {
    return IsAscii(formatString(targetString[0]));
  }
  
  function checkAlphabet(targetString) {
    return IsAlphabet(formatString(targetString[0]));
  }
  
  function checkAlNum(targetString) {
    return IsAlNum(formatString(targetString[0]));
  }
  
  function checkNumber(targetString) {
    return IsNumber(formatString(targetString[0]));
  }
  
  function checkInteger(targetString) {
    return IsInteger(formatString(targetString[0]));
  }
  
  function checkDecimal(targetString) {
    return IsDecimal(formatString(targetString[0]));
  }
  
  function checkGreaterThan(targetString) {
    return IsGreaterThan(formatString(targetString[0]), targetString[1]);
  }
  
  function checkGreaterEqualThan(targetString) {
    return IsGreaterEqualThan(formatString(targetString[0]), targetString[1]);
  }
  
  function checkLessThan(targetString) {
    return IsLessThan(formatString(targetString[0]), targetString[1]);
  }
  
  function checkLessEqualThan(targetString) {
    return IsLessEqualThan(formatString(targetString[0]), targetString[1]);
  }
  
  function checkEqual(targetString) {
    return IsEqual(formatString(targetString[0]), targetString[1]);
  }
  
  function checkDate(targetString) {
    return IsDate(formatString(targetString[0]));
  }
  
  function checkRightSize(targetString) {
    return IsRightSize(formatString(targetString[0]), targetString[1]);
  }
  
  function checkInMaxSize(targetString) {
    return IsInMaxSize(formatString(targetString[0]), targetString[1]);
  }
  
  function formatString(target) {
    var targetString = String(target.value);
    var theTarget = String(target.value);
    var unFormatString;
    var reFormatString;
    
    if (enableAutoComplete == 0) {
      targetString = theTarget;
    } else {
      unFormatString = unFormat(theTarget);
      reFormatString = doFormat(unFormatString,fields[getColumnId(target.name)].format);
      if (theTarget == reFormatString) {
        targetString = unFormatString;
      } else {
        targetString = theTarget;
      }
    }
    return targetString;
  }
  
  function defaultErrorHandler(source, messageId, condition) {
    var values = new Array;
    var msgs = "";
    var msg = "";
    var msgline = 0;
    var sources = new Array;
    var messageIds = new Array;
    var conditions = new Array;

    lastErrorCond = condition;
    if (typeof(messageId) == "string") {
      if (brwChkType == 2) {
        lastErrorId = messageId;
        return;
      }
      sources[0] = source;
      messageIds[0] = messageId;
      conditions[0] = condition;
    }
    else {
      sources = source;
      messageIds = messageId;
      conditions = condition;
    }

    if (dispErrorMsgLine <= 0) {
      msgline = sources.length;
    }
    else {
      if (sources.length > dispErrorMsgLine) {
        msgline = dispErrorMsgLine;
      }
      else {
        msgline = sources.length;
      }
    }
    for (idx = 0; idx < msgline; idx++) {
      values[0] = fields[getColumnId(sources[idx].name)].logicalName;
      if (conditions[idx] != null ) {
        values[1] = conditions[idx];
      }
      msg = messages[messageIds[idx]].getFormattedMessage("SHORT");
      msg = messages.substituteMessageVariable(msg, values);
      msgs += msg + "\n";
    }
    alert(msgs);
    sources[0].focus();
    if ((sources[0].type == "file") || (sources[0].type == "password") || (sources[0].type == "text") || (sources[0].type == "textarea")){
      sources[0].select();
    }
  }
  
  function zenkakuInMaxSizeErrorHandler(source, messageId, condition) {
    var values = new Array;
    var msgs = "";
    var msg = "";
    var msgline = 0;
    var sources = new Array;
    var messageIds = new Array;
    var conditions = new Array;

    condition = Math.floor(condition / 2);
    lastErrorCond = "" + condition;

    if (typeof(messageId) == "string") {
      if (brwChkType == 2) {
        lastErrorId = messageId;
        return;
      }
      sources[0] = source;
      messageIds[0] = messageId;
      conditions[0] = condition;
    }
    else {
      sources = source;
      messageIds = messageId;
      conditions = condition;
    }

    if (dispErrorMsgLine <= 0) {
      msgline = sources.length;
    }
    else {
      if (sources.length > dispErrorMsgLine) {
        msgline = dispErrorMsgLine;
      }
      else {
        msgline = sources.length;
      }
    }
    for (idx = 0; idx < msgline; idx++) {
      values[0] = fields[getColumnId(sources[idx].name)].logicalName;
      if (conditions[idx] != null ) {
        values[1] = conditions[idx];
      }
      msg = messages[messageIds[idx]].getFormattedMessage("SHORT");
      msg = messages.substituteMessageVariable(msg, values);
      msgs += msg + "\n";
    }
    alert(msgs);
    sources[0].focus();
    if ((sources[0].type == "file") || (sources[0].type == "password") || (sources[0].type == "text") || (sources[0].type == "textarea")){
      sources[0].select();
    }
  }

  errorHandler = defaultErrorHandler;
  var brwChkType=0;	
	var checkFlag = "";   
  var chkErrReverseDisp = 0; 
  var chkErrColor = "#FFC0CB";
  function validateFieldWithoutNotNullConstraint(target){
    var NotNullConstraintName; 
	NotNullConstraintName = "checkNotNull";
	var z;
    for ( z in fields ) {
      if ( z == getColumnId(target.name) ) {
    for ( var i=1; i<=fields[getColumnId(target.name)].constraints.length; i++){
      con = fields[getColumnId(target.name)].constraints[i];
      if (con.name == NotNullConstraintName) continue;
	  if (( checkFlag != "")&&(checkFlag != target) )  {
	  	target.blur;
	  	return false;
	  }
	  if(chkErrReverseDisp==1){ 
		if(!target.value=="")  target.style.backgroundColor='white';
	  }	
      if (!validate(target,con.name,con.condition, 1)){
        checkFlag = target;   
	 if(chkErrReverseDisp==1) target.style.backgroundColor=chkErrColor;
        return false;
      }
    }
      }
    }
    checkFlag = "";  
    return true;
  }

  function validateAllFields(target, mode) {
    var retFlag = true;
    var message = new Array;
    var cond = new Array;
    var targets = new Array;
    var ecnt = 0;

    for (var i = 0; i < target.elements.length; i++) {
      var e = target.elements[i];
      if ((e.type == "text") || (e.type == "password") || (e.type == "file") || (e.type == "textarea")) {
        var z;
        for (z in fields) {
          if (z == getColumnId(e.name)) {
            if (chkErrReverseDisp == 1) e.style.backgroundColor = 'white';
            if (fields[getColumnId(e.name)].format != "") {
              if (IsRightFormatedString(e.value,fields[getColumnId(e.name)].format)) {
                e.value = unFormat(e.value);
              }
            }
            for (var j = 1; j <= fields[getColumnId(e.name)].constraints.length; j++) {
              con = fields[getColumnId(e.name)].constraints[j];
              if (!validate(e, con.name, con.condition, mode)) {
                if (chkErrReverseDisp == 1) e.style.backgroundColor = chkErrColor;
                if (mode == 1) {
                  return false;
                }
                else {
                  var msgId = con.messageId;
                  targets[ecnt] = e;
                  cond[ecnt] = lastErrorCond;
                  if (msgId != null && msgId != "") {
                    message[ecnt] = msgId;
                  }
                  else {
                    message[ecnt] = lastErrorId;
                  }                  
                  ecnt += 1;
                  retFlag = false;
                }
              }
            }
            validateFieldFormat(e);
          }
        }
      }
    }

    if ((mode == 2) && (!retFlag)) {
       errorHandler(targets, message, cond);
    }

    return retFlag;
  }

  function validateAllFieldsNotNullConstraint(target){
    var NotNullConstraintName = "checkNotNull";
    for (var i=0; i<target.elements.length; i++){
      var e = target.elements[i];
      if ((e.type == "text") || (e.type == "password") || (e.type == "file") || (e.type == "textarea") ) {
        var z;
		for ( z in fields ) {
          if ( z == getColumnId(e.name) ) {
            for (var j=1; j<=fields[getColumnId(e.name)].constraints.length; j++){
              con = fields[getColumnId(e.name)].constraints[j];
              if (con.name == NotNullConstraintName){
	        if(chkErrReverseDisp==1) e.style.backgroundColor='white';
                if (!validate(e, NotNullConstraintName, null, 1)){
	          if(chkErrReverseDisp==1) e.style.backgroundColor=chkErrColor;
                  return false;
                }
              }
            }
          }
        }
      }
    }
    return true;
  }

  function defaultBlurEventHandler(source){
    if ((brwChkType == 1) || (brwChkType == 2)) {
      validateFieldFormat(source);	
      return true;				
    }
    else {
      if (validateFieldWithoutNotNullConstraint(source)){
        validateFieldFormat(source);
        return true;
      }
      else {
        return false;
      }
    }
  }

  function validateFieldFormat(target){
	var z;
    for ( z in fields ) {
     	if ( z == getColumnId(target.name) ) {
		  if (fields[getColumnId(target.name)].format != "")
	    	target.value = doFormat(String(target.value),fields[getColumnId(target.name)].format);
	  	}
		}
	}
  function defaultFocusEventHandler(source){
		if (checkFlag != "") return false;
	var z;
    for ( z in fields ) {
      if ( z == getColumnId(source.name) ) {
	  if ( fields[getColumnId(source.name)].format != ""){
            if(IsRightFormatedString(source.value,fields[getColumnId(source.name)].format)){ 
               source.value = unFormat(source.value);
            }
	  }
      }
    }
	return true;
  }
  function validateAllFieldsUnformat(target){
    for (var i=0; i<target.elements.length; i++){
      var e = target.elements[i];
      if ((e.type == "button") || (e.type == "hidden") || (e.type == "reset") || (e.type == "submit")) continue;
		var z;
    	for ( z in fields ) {
     	    if ( z == getColumnId(e.name) ) {
		if (fields[getColumnId(e.name)].format != "" ){
                   if(IsRightFormatedString(e.value,fields[getColumnId(e.name)].format)){
                        e.value = unFormat(e.value);
                   }
      	    }
      	}
      }
    }
  }

  function defaultSubmitEventHandler(source) {
    if (arguments.length > 1) {
      if (!checkSubmit()) return false;
      if (arguments[1] == 1) {
        if ((brwChkType == 1) || (brwChkType == 2)) {
          if (!validateAllFields(source, brwChkType)) return false;
        }
        else {
          if (!validateAllFieldsNotNullConstraint(source)) return false;
        }
      }
    }
    else {
      if ((brwChkType == 1) || (brwChkType == 2)) {
        if (!validateAllFields(source, brwChkType)) return false;
      }
      else {
        if (!validateAllFieldsNotNullConstraint(source)) return false;
      }
    }
    return true;
  }

  function defaultFocusSelectEventHandler(source){
	  if(defaultFocusEventHandler(source) == true){
		source.select();
		return true;
	  }else{
		  return false;
	  }  
  }
  function defaultBlurTrimEventHandler(source){
	  source.value = RemoveSpaces(source.value);
	  if(defaultBlurEventHandler(source) == true){
		  return true;
	  }else{
		  return false;
	  }
  }
  function defaultGetColumnId(name){
      return name;
  }  
  blurEventHandler   = defaultBlurEventHandler;
  focusEventHandler   = defaultFocusEventHandler;
  submitEventHandler = defaultSubmitEventHandler;
  focusSelectEventHandler   = defaultFocusSelectEventHandler;
  blurTrimEventHandler   = defaultBlurTrimEventHandler;
  getColumnId = defaultGetColumnId;

 function notifyWindowClose() {
   if(confirm("ウィンドウをクローズします。よろしいですか？"))
   {
		document.BRWCTRL._ControlID.value = "SLCCPS" ;
		document.BRWCTRL.submit();
   } 
 }

 function o3w_userUnformat(target){
    var targetString; 
    var tmpString=target.value;
    var unFormatString_user;
	var reFormatString_user;

	if(enableAutoComplete==1 && brwChkType != 1){
	    unFormatString_user = unFormat(tmpString);
	    reFormatString_user = doFormat(unFormatString_user,fields[getColumnId(target.name)].format);
		if(tmpString == reFormatString_user){
			targetString = unFormatString_user;
		}
		else{
			targetString = tmpString;
		}
	}else{
      targetString = tmpString;
	}
   return targetString;
 }
