
/*

  ¼­¹ö¿¡¼­ ºÒ·¯¿Ã ¶§ °¡´ÉÇÏ¸é htmlspecialchars() ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.
  <input type="text" name="TEST1" size="10" maxlength="10" class="read0" OnBlur="LwoSetHtml(this)">
  ÇÑ±ÛÀÌ Æ÷ÇÔµÈ ¹®ÀÚ¿­ÀÇ ±æÀÌ¸¦ Á¤È®ÇÏ°Ô ÀÚ¸£°í ", &, <, > Á¦°Å.
  function  LwoSetHtml( Obj )

  ¼­¹ö·Î º¸³»Áø ¼ýÀÚ´Â "," ¸¦ Æ÷ÇÔÇÏ¹Ç·Î ÁÖÀÇ !
  oForm.???.value = LwoParseInt(oForm.???.value) ;
  .read0   { color:blue ; border: 1 solid #999999 ; }
  .read00  { color:blue ; border: 1 solid #999999 ; ime-mode:disabled ; text-align:right ; }
  <input type="text" name="???" size="10" maxlength="11" class="read00" OnKeyUp="LwoGetNumberFormat(this,0,0,99999999)" value="???">
  <input type="text" name="???" size="10" maxlength="11" class="read00" OnKeyUp="Set???(this)"                          value="???">
  function  Set???( Obj )
  {
      LwoGetNumberFormat( Obj, 0, -9999999, 99999999 ) ;
  }



  function  LwoCodeToChar( Code  )
  function  LwoCharToCode( Char  )
  function  LwoReplace( Str, Search, Replace )
  function  LwoNumberFormat( Number, Width, Dec )
  function  LwoParseInt( Int )
  function  IsDigitStr( Str )
  function  SetYMD( Mode, ObjY, ObjM, ObjD )
  function  HanLeft( Obj, LeftLen )
  function  LwoSetText( Obj, LeftLen )
  function  LwoSetText1( Obj, LeftLen )
  function  SetCenter( W, H )
  function  SetCenterParent( W, H )
  function  SetCenterPos( W, H, Xp, Yp )
  function  CloseWindow()
  function  IsEmpty( Str )
  function  Str0( Str, Len )
  function  LwoNumGet( Obj, DotLen, MinValue, MaxValue )
  function  LwoGetNumberFormat( Obj, DotLen, MinValue, MaxValue )
  function  WindowOpenCenter( Href, Name, Width, Height, Scroll, Resize )
  function  WindowOpenCenter1( Href, Name, Width, Height, Scroll, Resize )
  function  LwoLengthCheck( oThis )
  function  LwoLengthCount( Str )
*/


  //  LwoCodeToChar( 65 ) == "A"
  function  LwoCodeToChar( Code  )
  {
      return( String.fromCharCode( Code ) ) ;
  }

  //  LwoCharToCode( "A" ) == 65
  function  LwoCharToCode( Char  )
  {
      return( Char.charCodeAt( 0 ) ) ;
  }

  //  LwoReplace( eval( "oOform.Z_QNT_"+No+".value" ), ',', '' )
  function  LwoReplace( Str, Search, Replace )
  {
      var  Arr = Str.split( Search ) ;
      var  Buf = "" ;


      for( var i=0 ; i<Arr.length-1 ; i++ )
          Buf += Arr[i] + Replace ;

      Buf += Arr[Arr.length-1] ;

      return  Buf ;
  }


  //  LwoNumberFormat( LwoParseInt(oForm.QNT_0.value) - LwoParseInt(oForm.QNT_1.value), 10 )
  function  LwoNumberFormat( Number, Width, Dec )
  {
      var  sBuf = Number + "" ;
      var  sDec = "" ;
      var  sStr = "" ;
      var  nIndex ;
      var  nLen ;
      var  sMinus = "" ;


     if( sBuf.substr(0,1) == "-" )
     {
         sMinus = "-" ;
         sBuf = sBuf.substr(1) ;
     }

      nIndex = sBuf.indexOf( "." ) ;
      if( nIndex != -1 )
      {
          sDec = sBuf.substr(nIndex) ;
          sBuf = sBuf.substr(0,nIndex) ;
      }

      if( sBuf.length > 3 )
      {
          nLen = sBuf.length % 3 ;
          if( nLen > 0 )
          {
              sStr = sBuf.substr(0,nLen) ;
              sBuf = sBuf.substr(nLen) ;
          }

          while( sBuf.length > 0 )
          {
              if( sStr != "" )
                  sStr += "," ;

              sStr += sBuf.substr(0,3) ;
              sBuf = sBuf.substr(3) ;
          }
      }
      else
          sStr = sBuf ;

      if( sStr == "" )
          sStr = "0" ;

      if( Dec != undefined )
      {
          if( sDec == "" )
              sDec = "." ;

          while( sDec.length < Dec+1 )
                 sDec = sDec+"0" ;
      }

      sStr = sMinus + sStr + sDec ;

      if( Width != undefined )
          while( sStr.length < Width )
                 sStr = " "+sStr ;

      return( sStr ) ;
  }


  //  LwoParseInt( oForm.QNT_0.value )
  function  LwoParseInt( Int )
  {
      var  Str = Int + "" ;
      var  nLen = Str.length ;
      var  bMinus = false ;
      var  sInt = "" ;
      var  sBuf ;

      for( var i=0 ; i<nLen ; i++ )
      {
         sBuf = Str.charAt(i) ;

         if( (sBuf >= "1") && (sBuf <= "9") )
             sInt += sBuf ;

         if( sBuf == "0" )
             if( sInt != "" )
                 sInt += sBuf ;

         if( sBuf == "-" )
             if( sInt == "" )
                 bMinus = true ;

         if( sBuf == "." )
             break ;
      }

      if( sInt == "" )
          sInt = "0" ;
      if( bMinus )
          sInt = "-" + sInt ;

      return( parseInt(sInt) ) ;
  }


  //  IsDigitStr( oForm.CODE_CMP.value )
  function  IsDigitStr( Str )
  {
      var  Len = Str.length ;

      for( var i=0 ; i<Len ; i++ )
         if( (Str.charAt(i) < "0") || (Str.charAt(i) > "9") )
             return( false ) ;

      return( true ) ;
  }


  //  <input type="button" value="<" onfocus="SetFocus()" onclick="SetYMD(-1,this.form.dateY,this.form.dateM,this.form.dateD)">
  //  <input type="button" value=">" onfocus="SetFocus()" onclick="SetYMD(+1,this.form.dateY,this.form.dateM,this.form.dateD)">
  function  SetYMD( Mode, ObjY, ObjM, ObjD )
  {
      if( Mode > 0 )
      {
          if( ObjD.selectedIndex == ObjD.length-1 )
          {
              ObjD.selectedIndex = 0 ;

              if( ObjM.selectedIndex == ObjM.length-1 )
              {
                  ObjM.selectedIndex = 0 ;

                  if( ObjY.selectedIndex < ObjY.length-1 )
                      ObjY.selectedIndex++ ;
              }
              else
              {
                  ObjM.selectedIndex++ ;
              }

          }
          else
          {
              ObjD.selectedIndex++ ;
          }
      }
      else
      {
          if( ObjD.selectedIndex == 0 )
          {
              ObjD.selectedIndex = ObjD.length-1 ;

              if( ObjM.selectedIndex == 0 )
              {
                  ObjM.selectedIndex = ObjM.length-1 ;

                  if( ObjY.selectedIndex > 0 )
                      ObjY.selectedIndex-- ;
              }
              else
              {
                  ObjM.selectedIndex-- ;
              }

          }
          else
          {
              ObjD.selectedIndex-- ;
          }
      }
  }


  //  <input type="text" name="TEST1" size="10" maxlength="10" class="read0" OnBlur="HanLeft(this,10)">
  function  HanLeft( Obj, LeftLen )
  {
      var  Str = Obj.value ;
      var  StrLen = Str.length ;
      var  StrLeft = "" ;
      var  CountLen = 0 ;


      if( Str != "" )
      {
          if( LeftLen < 2 )
              LeftLen = 2 ;

          for( var i=0 ; i<StrLen ; i++ )
          {
               if( Str.charCodeAt(i) < 256 )
               {
                   StrLeft += Str.charAt(i) ;
                   CountLen++ ;
               }
               else
               {
                   if( CountLen+2 <= LeftLen )
                   {
                       StrLeft += Str.charAt(i) ;
                       CountLen += 2 ;
                   }
                   else
                   {
                       break ;
                   }
               }

               if( CountLen == LeftLen )
                   break ;

          }

          if( Obj.value != StrLeft )
              Obj.value = StrLeft ;
      }

  }

  function  SetSize( W, H )
  {
      self.resizeTo( W, H ) ;
  }

  function  SetSizeParent( W, H )
  {
      parent.resizeTo( W, H ) ;
  }

  function  SetCenter( W, H )
  {
//      var  X = (screen.availWidth-W)/2 ;
//      var  Y = (screen.availHeight-H)/2 ;
      var  X = Math.floor( (screen.availWidth-W)/2 ) ;
      var  Y = Math.floor( (screen.availHeight-H)/2 ) ;

      self.moveTo( X, Y ) ;
      self.resizeTo( W, H ) ;
  }

  function  SetCenterParent( W, H )
  {
//      var  X = (screen.availWidth-W)/2 ;
//      var  Y = (screen.availHeight-H)/2 ;
      var  X = Math.floor( (screen.availWidth-W)/2 ) ;
      var  Y = Math.floor( (screen.availHeight-H)/2 ) ;

      parent.moveTo( X, Y ) ;
      parent.resizeTo( W, H ) ;
  }

  function  SetCenterPos( W, H, Xp, Yp )
  {
      var  X = (screen.availWidth-W)/2 ;
      var  Y = (screen.availHeight-H)/2 ;

      self.moveTo( X+Xp, Y+Yp ) ;
      self.resizeTo( W, H ) ;
  }


  function  CloseWindow()
  {
     if( confirm( " Á¾·áÇÏ°Ú½À´Ï±î? \n" ) )
         self.close()
  }


  function  IsEmpty( Str )
  {
     var  Len = Str.length ;
     var  Buf ;

     for( var i=0 ; i<Len ; i++ )
     {
        Buf = Str.substr( i, 1 ) ;

        if( (Buf != " ") && (Buf != "\r") && (Buf != "\n") )
            return( false ) ;
     }

     return( true ) ;
  }


  function  Str0( Str, Len )
  {
     var  StrLen = (""+Str).length ;
     var  AddLen = Len - StrLen ;
     var  Buf = "" ;


     if( AddLen > 0 )
     {
         for( var i=0 ; i<AddLen ; i++ )
            Buf += "0" ;

         return( Buf + Str ) ;
     }

     return( Str ) ;
  }


  //  <input type="text" name="TEST1" size="10" maxlength="10" class="read0" OnKeyUp="LwoNumGet(this,0,0,9999999)">
  //  <input type="text" name="TEST2" size="10" maxlength="10" class="read0" OnKeyUp="LwoNumGet(this,2,-999,999999)">
  function  LwoNumGet( Obj, DotLen, MinValue, MaxValue )
  {
      var  Num = "" ;
      var  Str = Obj.value ;
      var  DotPos = -1 ;
      var  StrLen = Str.length ;
      var  Buf ;
      var  Minus = false ;

      for( var i=0 ; i<StrLen ; i++ )
      {
          Buf = Str.substring( i, i+1 ) ;

          if( DotPos == -1 )
          {
              if( (Buf >= "0") && (Buf <= "9") )
              {
                  if( Num == "0" )
                      Num = Buf ;
                  else
                      Num += Buf ;
              }

/*
              if( Buf == "-" )
                  if( MinValue < 0 )
                      if( Num == "" )
                          Num = Buf ;
*/

              if( Buf == "-" )
                  if( MinValue < 0 )
                      Minus = ! Minus ;

              if( Buf == "." )
                  if( DotLen > 0 )
                      if( Num != "" )
                      {
                          Num += Buf ;
                          DotPos++ ;
                      }
          }
          else
          {
              if( (Buf >= "0") && (Buf <= "9") )
                  if( DotPos < DotLen )
                  {
                      Num += Buf ;
                      DotPos++ ;
                  }
              }
          }

      if( Minus )
          Num = Num * (-1) ;

      if( Num < MinValue )
          Num = MinValue ;
      if( Num > MaxValue )
          Num = MaxValue ;

      if( Num == "" )
          Num = "0" ;

      if( Obj.value != Num )
          Obj.value = Num ;
  }


  function  WindowOpenCenter( Href, Name, Width, Height, Scroll, Resize )
  {
      var  Left = (screen.availWidth-Width)/2 - 5 ;
      var  Top = (screen.availHeight-Height)/2 - 5 ;

      var  Win = window.open( Href, Name, "location=no,status=no,top="+Top+",left="+Left+",width="+Width+",height="+Height+",scrollbars="+Scroll+",resizable="+Resize+",menubar=0" ) ;
      Win.focus() ;

      return( Win ) ;
  }

  function  WindowOpenCenter1( Href, Name, Width, Height, Scroll, Resize )
  {
      var  Left = (screen.availWidth-Width)/2 - 5 ;
      var  Top = (screen.availHeight-Height)/2 - 5 ;

      var  Win = window.open( Href, Name, "location=no,status=no,top="+Top+",left="+Left+",width="+Width+",height="+Height+",scrollbars="+Scroll+",resizable="+Resize+",menubar=1" ) ;
      Win.focus() ;

      return( Win ) ;
  }

  //  <input type="text" name="TEST1" size="10" maxlength="10" class="read0" OnBlur="LwoSetText(this,10)">
  //  ÇÑ±ÛÀÌ Æ÷ÇÔµÈ ¹®ÀÚ¿­ÀÇ ±æÀÌ¸¦ Á¤È®ÇÏ°Ô ÀÚ¸£°í ", ', &, <, > Á¦°Å.
  function  LwoSetText( Obj, LeftLen )
  {
      var  Str = Obj.value ;
      var  StrLen = Str.length ;
      var  StrLeft = "" ;
      var  CountLen = 0 ;
      var  Buf


      if( Str != "" )
      {
          if( LeftLen < 2 )
              LeftLen = 2 ;

          for( var i=0 ; i<StrLen ; i++ )
          {
               if( Str.charCodeAt(i) < 256 )
               {
                   Buf = Str.charAt(i) ;
                   if( (Buf != "\"") && (Buf != "'") && (Buf != "&") && (Buf != "<") && (Buf != ">") )
                   {
                       StrLeft += Buf ;
                       CountLen++ ;
                   }
               }
               else
               {
                   if( CountLen+2 <= LeftLen )
                   {
                       StrLeft += Str.charAt(i) ;
                       CountLen += 2 ;
                   }
                   else
                   {
                       break ;
                   }
               }

               if( CountLen == LeftLen )
                   break ;

          }

          if( Obj.value != StrLeft )
          {
              Obj.value = StrLeft ;
              alert( " ÀÔ·ÂÇÑ ³»¿ëÀ» ±Ô°Ý¿¡ ¸Â°Ô º¯°æÇÏ¿´½À´Ï´Ù." ) ;
          }
      }
  }

  //  <input type="text" name="TEST1" size="10" maxlength="10" class="read0" OnBlur="LwoSetText1(this,10)">
  //  ÇÑ±ÛÀÌ Æ÷ÇÔµÈ ¹®ÀÚ¿­ÀÇ ±æÀÌ¸¦ Á¤È®ÇÏ°Ô ÀÚ¸£°í ", &, <, > Á¦°Å.
  function  LwoSetText1( Obj, LeftLen )
  {
      var  Str = Obj.value ;
      var  StrLen = Str.length ;
      var  StrLeft = "" ;
      var  CountLen = 0 ;
      var  Buf


      if( Str != "" )
      {
          if( LeftLen < 2 )
              LeftLen = 2 ;

          for( var i=0 ; i<StrLen ; i++ )
          {
               if( Str.charCodeAt(i) < 256 )
               {
                   Buf = Str.charAt(i) ;
                   if( (Buf != "\"") && (Buf != "&") && (Buf != "<") && (Buf != ">") )
                   {
                       StrLeft += Buf ;
                       CountLen++ ;
                   }
               }
               else
               {
                   if( CountLen+2 <= LeftLen )
                   {
                       StrLeft += Str.charAt(i) ;
                       CountLen += 2 ;
                   }
                   else
                   {
                       break ;
                   }
               }

               if( CountLen == LeftLen )
                   break ;

          }

          if( Obj.value != StrLeft )
          {
              Obj.value = StrLeft ;
              alert( " ÀÔ·ÂÇÑ ³»¿ëÀ» ±Ô°Ý¿¡ ¸Â°Ô º¯°æÇÏ¿´½À´Ï´Ù." ) ;
          }
      }
  }

  //  <input type='text' name='TEXT' value='' size='20' maxlength='20' onblur='LwoLengthCheck(this)'>
  //  »ç¿ëÁ¦ÇÑ 3°¡Áö ¹®ÀÚ  < > &
  //  ÁÖÀÇ : POST·Î ¼­¹ö¿¡ º¸³¾¶§¿¡ '¿Í "´Â ÀÚµ¿À¸·Î \ °¡ ´õÇØÁöÁö¸¸
  //         ¼­¹ö¿¡¼­ ºÒ·¯¿Ã ¶§ °¡´ÉÇÏ¸é htmlspecialchars() ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.
  function  LwoLengthCheck( oThis )
  {
      var  Str = oThis.value ;
      var  StrLen = Str.length ;
      var  MaxLen = oThis.maxLength ;
      var  Len = 0 ;

      for( var i=0 ; i<StrLen ; i++ )
          if( Str.charCodeAt(i) < 256 )
              Len++ ;
          else
              Len += 2 ;

      if( Str.indexOf("&") == -1 && Str.indexOf("<") == -1 && Str.indexOf(">") == -1 )
      {
          if( Len >  MaxLen )
          {
              alert( "¿µ¹®À¸·Î È¯»êÇÏ¿© "+MaxLen+"ÀÚ±îÁö¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.   " ) ;
              oThis.focus() ;
          }
      }
      else
      {
          alert( "\n»ç¿ëÇÒ ¼ö ¾ø´Â ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾ú½À´Ï´Ù.   \n\n¾Æ·¡ÀÇ 3°¡Áö ¹®ÀÚ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.     \n\n              <      >      &" ) ;
          oThis.focus() ;
      }
  }

  function  LwoLengthCount( Str )
  {
      var  StrLen = Str.length ;
      var  Len = 0 ;

      for( var i=0 ; i<StrLen ; i++ )
      {
          if( Str.charCodeAt(i) < 256 )
              Len++ ;
          else
              Len += 2 ;
      }

      return  Len ;
  }








  function  LwoSetHtml( Obj )
  {
      var  Str = Obj.value ;
      var  StrLen = Str.length ;
      var  StrLeft = "" ;
      var  CountLen = 0 ;
      var  Buf
      var  MaxLength = Obj.maxLength ;


      if( Str != "" )
      {
          if( MaxLength < 2 )
              MaxLength = 2 ;

          for( var i=0 ; i<StrLen ; i++ )
          {
               if( Str.charCodeAt(i) < 256 )
               {
                   Buf = Str.charAt(i) ;
                   if( (Buf != "\"") && (Buf != "&") && (Buf != "<") && (Buf != ">") )
                   {
                       StrLeft += Buf ;
                       CountLen++ ;
                   }
               }
               else
               {
                   if( CountLen+2 <= MaxLength )
                   {
                       StrLeft += Str.charAt(i) ;
                       CountLen += 2 ;
                   }
                   else
                   {
                       break ;
                   }
               }

               if( CountLen == MaxLength )
                   break ;

          }

          if( Obj.value != StrLeft )
          {
              Obj.value = StrLeft ;
              alert( "\n»ç¿ëÇÒ ¼ö ¾ø´Â ¹®ÀÚ¸¦ Áö¿ü½À´Ï´Ù.   \n\n¾Æ·¡ÀÇ 4°¡Áö ¹®ÀÚ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.     \n\n       \"      <      >      &" ) ;
          }
      }
  }

  function  LwoGetNumberFormat( Obj, DotLen, MinValue, MaxValue )
  {
      var  Num = "" ;
      var  Str = Obj.value ;
      var  DotPos = -1 ;
      var  StrLen = Str.length ;
      var  Buf ;
      var  Minus = false ;

      for( var i=0 ; i<StrLen ; i++ )
      {
          Buf = Str.substring( i, i+1 ) ;

          if( DotPos == -1 )
          {
              if( (Buf >= "0") && (Buf <= "9") )
              {
                  if( Num == "0" )
                      Num = Buf ;
                  else
                      Num += Buf ;
              }

/*
              if( Buf == "-" )
                  if( MinValue < 0 )
                      if( Num == "" )
                          Num = Buf ;
*/

              if( Buf == "-" )
                  if( MinValue < 0 )
                      Minus = ! Minus ;

              if( Buf == "." )
                  if( DotLen > 0 )
                      if( Num != "" )
                      {
                          Num += Buf ;
                          DotPos++ ;
                      }
          }
          else
          {
              if( (Buf >= "0") && (Buf <= "9") )
                  if( DotPos < DotLen )
                  {
                      Num += Buf ;
                      DotPos++ ;
                  }
              }
          }

      if( Minus )
          Num = Num * (-1) ;

      if( Num < MinValue )
          Num = MinValue ;
      if( Num > MaxValue )
          Num = MaxValue ;

      if( Num == "" )
          Num = "0" ;

      Obj.value = LwoNumberFormat( Num ) ;
  }


