// Name : ChkDate
// ±â´É : ³¯Â¥ ÀÔ·Â°ªÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÏ°í, ¿¬µµ4ÀÚ¸®-¿ù2ÀÚ¸®-ÀÏ2ÀÚ¸®ÀÇ Çü½ÄÀ¸·Î º¯°æÇØÁØ´Ù.
// Parameter
//    1. fld : input object
Function ChkDate(fld)
	IF trim( fld.value ) <> "" Then
		If not IsDate(fld.value) Then
			alert "³â(4)-¿ù(2)-ÀÏ(2) Çü½ÄÀ¸·Î ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À"
			
			fld.value = ""
			//fld.focus
		else
			fld.value = Year(fld.value) & "-" & right( "00"&month(fld.value), 2) & "-" & right( "00"&day(fld.value), 2)
		end if
	END IF
End Function


function DateCheck(obj)
  mask = "-"
  value = trim(obj.value)
  if value <> "" then
    if len(value) > 1 and len(value) <= 10 then
      value = replace(value,".","-")
      value = replace(value,"/","-")
      value = replace(value,",","-")
      value = replace(value,"~","-")
      arr_value = split(value,"-")
  
      select case ubound(arr_value)
        case 0
          if len(value) <= 8 and isnumeric(value) then
            select case len(value)
              case 2
                TempDate = year(Date())          & mask & MonthCheck(left(value,1))  & mask & DayCheck(MonthCheck(left(value,1)), right(value,1))
              case 3
                TempDate = year(Date())          & mask & MonthCheck(left(value,1))  & mask & DayCheck(MonthCheck(left(value,1)), right(value,2))
              case 4
                TempDate = year(Date())          & mask & MonthCheck(left(value,2))  & mask & DayCheck(MonthCheck(left(value,2)), right(value,2))
              case 5
                TempDate = "20" & left(value,2)  & mask & MonthCheck(mid(value,3,1)) & mask & DayCheck(MonthCheck(mid(value,3,1)), right(value,2))
              case 6
                TempDate = "20" & left(value,2)  & mask & MonthCheck(mid(value,3,2)) & mask & DayCheck(MonthCheck(mid(value,3,2)), right(value,2))
              case 8
                TempDate = left(value,4)         & mask & MonthCheck(mid(value,5,2)) & mask & DayCheck(MonthCheck(mid(value,5,2)), right(value,2))
            end select

          else
            TempDate = ""
          end if

        case 1
          if isnumeric(arr_value(0)) and isnumeric(arr_value(1)) then
            TempDate = year(Date()) & mask & MonthCheck(arr_value(0))  & mask & DayCheck(MonthCheck(arr_value(0)), arr_value(1))
          else
            TempDate = ""
          end if
        case 2
          TempDate = YearCheck(arr_value(0)) & mask & MonthCheck(arr_value(1)) & mask & DayCheck(MonthCheck(arr_value(1)), arr_value(2))
          
        case else
          TempDate = ""
      end select    
    else
      TempDate = ""
    end if
  
    if isDate(TempDate) then
      DateCheck = TempDate
    else
      alert("³¯Â¥Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.")
      obj.focus
      DateCheck = ""
    end if
  else
    DateCheck = ""
  end if
end function

//************************************************
//****************ÃÖ ¶ô ½Â*************************
// ÀÛ¼ºÀÚ : ÃÖ¶ô½Â
// Name : Auto_DateDash
// ±â´É : ³¯Â¥ ÀÔ·Â°ªÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÏ°í, ¿¬µµ4ÀÚ¸®-¿ù2ÀÚ¸®-ÀÏ2ÀÚ¸®ÀÇ Çü½ÄÀ¸·Î º¯°æÇØÁØ´Ù.
//		  ±×¸®°í ÀÔ·ÂÇÑ ³¯Â¥°¡ ¿À´Ã ÀÌÀüÀÏÀÚ´Â ÀÔ·Â ºÒ°¡´ÉÇÏ°Ô ÇÑ´Ù
// Parameter
//    1. fld : input object
Function Auto_DateInput(fld)
	
	IF trim( fld.value ) <> "" Then
		valueCnt = len(fld.value)
		checkValue = mid(fld.value,valueCnt,1)
		on error resume next
			chgeint = Cint(checkValue)
			if valueCnt = 4 then
				fld.value = fld.value & "-" 
			elseif valueCnt = 7 then
				fld.value = fld.value & "-" 
			end if
			
		if err<>0 then
			fld.value = left(fld.value,valueCnt-1)
		End if
	END IF

End Function
// ÀÛ¼ºÀÚ : ÃÖ¶ô½Â
// Name : ChkDate_beforeToday
// ±â´É : ³¯Â¥ ÀÔ·Â°ªÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÏ°í, ¿¬µµ4ÀÚ¸®-¿ù2ÀÚ¸®-ÀÏ2ÀÚ¸®ÀÇ Çü½ÄÀ¸·Î º¯°æÇØÁØ´Ù.
//		  ±×¸®°í ÀÔ·ÂÇÑ ³¯Â¥°¡ ¿À´Ã ÀÌÀüÀÏÀÚ´Â ÀÔ·Â ºÒ°¡´ÉÇÏ°Ô ÇÑ´Ù
// Parameter
//    1. fld : input object
Function ChkDate_beforeToday(fld)
	IF trim( fld.value ) <> "" Then
		If not IsDate(fld.value) Then
			alert "³â(4)-¿ù(2)-ÀÏ(2) Çü½ÄÀ¸·Î ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À."
			
			fld.value = ""
			//fld.focus
		else
			fld.value = Year(fld.value) & "-" & right( "00"&month(fld.value), 2) & "-" & right( "00"&day(fld.value), 2)
			if DateDiff("d", Date,cDate(fld.value))  < 0 then
				alert "ÀÔ·ÂÇÏ½Å ³¯Â¥°¡ ÇöÀç ³¯ÀÚº¸´Ù ÀÌÀü³¯Â¥ÀÔ´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇÏ½Ê½Ã¿À."
			end if

			
		end if
	END IF
End Function
// ÀÛ¼ºÀÚ : ÃÖ¶ô½Â
// Name : ChkDate_aftereToday
// ±â´É : ³¯Â¥ ÀÔ·Â°ªÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÏ°í, ¿¬µµ4ÀÚ¸®-¿ù2ÀÚ¸®-ÀÏ2ÀÚ¸®ÀÇ Çü½ÄÀ¸·Î º¯°æÇØÁØ´Ù.
//		  ±×¸®°í ÀÔ·ÂÇÑ ³¯Â¥°¡ ¿À´Ã ÀÌÈÄÀÏÀÚ´Â ÀÔ·Â ºÒ°¡´ÉÇÏ°Ô ÇÑ´Ù
// Parameter
//    1. fld : input object
Function ChkDate_aftereToday(fld)
	IF trim( fld.value ) <> "" Then
		If not IsDate(fld.value) Then
			alert "³â(4)-¿ù(2)-ÀÏ(2) Çü½ÄÀ¸·Î ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À."
			
			fld.value = ""
			//fld.focus
		else
			fld.value = Year(fld.value) & "-" & right( "00"&month(fld.value), 2) & "-" & right( "00"&day(fld.value), 2)
			if DateDiff("d", Date,cDate(fld.value))  > 0 then
				alert "ÀÔ·ÂÇÏ½Å ³¯Â¥°¡ ÇöÀç ³¯ÀÚº¸´Ù ÀÌÈÄ³¯Â¥ÀÔ´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇÏ½Ê½Ã¿À."
			end if

			
		end if
	END IF
End Function
// ÀÛ¼ºÀÚ : ÃÖ¶ô½Â
// Name : ChkOnlyNum
// ±â´É :  ÇÊµå¿¡ ¹Ýµå½Ã ¼ýÀÚ¸¸ µé¾î°¥¼ö ÀÖ°Ô ÇÔ 
//		 
// Parameter
//    1. fld : input object
Function ChkOnlyNum(fld)
	IF trim( fld.value ) <> "" Then
		valueCnt = len(fld.value)
		on error resume next
			CheckInt = Cint(fld.value)
		if err<>0 then
			fld.value = left(fld.value,valueCnt-1)
		End if
	END IF
End Function
//****************ÃÖ ¶ô ½Â*************************
//************************************************


/// Name : ChkNum
// ±â´É : ¼ýÀÚ ÀÔ·Â°ªÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÏ°í, °ªÀÇ À¯Çü¿¡ µû¶ó ¼Ò¼ýÁ¡ ÀÚ¸® Ç¥±â. number type Çü½ÄÀ¸·Î º¯°æÇØÁØ´Ù.
// Parameter
//    1. fld : input object
//    2. typ : ¼ýÀÚ °ªÀÇ type
Function ChkNum(fld, typ)		
	
	Dim diswrd, pntcnt
	
	If typ="dan" Then
		diswrd = "´Ü°¡"
		pntcnt = 4
	elseif typ="sixdan" Then
		diswrd = "´Ü°¡"
		pntcnt = 6
	elseif typ="qty" Then
		diswrd = "¼ö·®"
		pntcnt = 3
	elseif typ="amt" Then
		diswrd = "±Ý¾×"
		pntcnt = 3
	elseif typ="twoamt" Then
		diswrd = "±Ý¾×"
		pntcnt = 2
	elseif typ="rate" Then
		diswrd = "Rate"
		pntcnt = 2
	elseif typ="kyu" Then
		diswrd = "Áß·®"
		pntcnt = 1
	elseif typ="int" Then
		diswrd = "¼öÄ¡"
		pntcnt = 0
	else
		diswrd = "¼öÄ¡"
		pntcnt = 0
	end if
	If Trim(fld.value) = emtpy Then
		ChkNum=0
	else
		If not IsNumeric(fld.value) Then
			alert diswrd & "¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù."
			ChkNum=0
		else
			ChkNum = FormatNumber(fld.value, pntcnt) 
		end if
	end if
	fld.value = ChkNum
	
	fld.style.backgroundColor=""
End Function

// Name : ChkCodeWord
// ±â´É : EDI ÄÚµå ÀÔ·Â°ª¿¡ »ç¿ëºÒ°¡ ¹®ÀÚ°¡ ÀÖ´ÂÁö È®ÀÎÇÏ°í, ´ë¹®ÀÚ·Î º¯°æÇÑ´Ù.
// Parameter
//    1. fld : code input object
//    2. tit : message box ¿¡ Ç¥±âµÇ´Â Ç×¸ñ ÀÌ¸§.
Function ChkCodeWord(fld, tit)
    Dim s, p
    
    s = fld.value
    p = instr(s,"~")+instr(s,"!")+instr(s,"@")+instr(s,"#")+instr(s,"$")+instr(s,"^")+instr(s,"{")+instr(s,"}")+instr(s,"[")+instr(s,"]")
    p = p+instr(s,"?")+instr(s,"|")+instr(s,"_")+instr(s,"\")+instr(s,"`")
    
    if p > 0 Then
	s = replace( s, "~", "")
	s = replace( s, "!", "")
	s = replace( s, "@", "")
	s = replace( s, "#", "")
	s = replace( s, "$", "")
	s = replace( s, "^", "")
	s = replace( s, "{", "")
	s = replace( s, "}", "")
	s = replace( s, "[", "")
	s = replace( s, "]", "")
	s = replace( s, "?", "")
	s = replace( s, "|", "")
	s = replace( s, "_", "")
	s = replace( s, "\", "")
	s = replace( s, "`", "")
    	alert tit & "Àº(´Â) ¼ýÀÚ¿Í ¹®ÀÚ¸¸ »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù."
    end if
    fld.value = Ucase(s)

End Function

//***********************************************************************
//
//   Function Name   : AutoDangaDan
//
//   Description     : ´Ü°¡´ÜÀ§ ÀÚµ¿ÀÔ·Â
//
//   Input Params    : 1. fld1 : ¼ö·®´ÜÀ§ object
//                     2. fld2 : ´Ü°¡´ÜÀ§ object
//
//   return value    : none
//
//   Modification Date    : 2001/08/06
//
//   Modification Authors : ÀÌÀ±ÀÚ                                        
//***********************************************************************

Function AutoDangaDan(fld1, fld2)
	Dim rv
	
	rv = ChkCodeWord(fld1, "¼ö·®´ÜÀ§ÄÚµå")

	fld2.value = fld1.value
End Function

// Name : ChkTextArea
// ±â´É : typeÀÌ TextAreaÀÎ input object¿¡ »ç¿ëºÒ°¡ ¹®ÀÚ°¡ ÀÔ·ÂµÇ¾ú´ÂÁö È®ÀÎ.
// Parameter
//    1. fld : TextArea object
//    2. tit : message box ¿¡ Ç¥±âµÇ´Â Ç×¸ñ ÀÌ¸§.
Function ChkTextArea(fld, tit)
    Dim s, p
    
    s = fld.value
    p = instr(s,"~")+instr(s,"!")+instr(s,"@")+instr(s,"#")+instr(s,"$")+instr(s,"^")+instr(s,"{")+instr(s,"}")+instr(s,"[")+instr(s,"]")
    p = p+instr(s,"?")+instr(s,"|")+instr(s,"_")+instr(s,"\")+instr(s,"`")
    
    if p > 0 Then
    	alert tit & "Àº(´Â) ¼ýÀÚ¿Í ¹®ÀÚ¸¸ »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù."
    end if
End Function

// Name : QtyDanCal
// ±â´É : offer, meddec ¹®¼­¿¡¼­ ¼ö·®, ´Ü°¡°¡ ÀÔ·Â, ¼öÁ¤µÇ¸é ±Ý¾× ÀÚµ¿°è»ê
// Parameter
//    1. docu : ¹®¼­ Á¾·ù
//    2. fqty : ¼ö·® object
//    3. fdan : ´Ü°¡ object
//    4. famt : ±Ý¾× object
Function QtyDanCal(docu, fqty, fdan, famt)
	Dim vqty, vdan, vdanqty, vamt
	
	vqty = ChkNum(fqty, "qty")
	vdan = ChkNum(fdan, "dan")
	
	If docu = "offer" Then
		vdanqty = 1
	elseif  docu = "meddec" Then
		vdanqty = ChkNum(frmmeddec.dndanqty, "int")
	elseif  docu = "meddecm" Then
		vdanqty = ChkNum(frmmeddecm.dndanqty, "int")
	end if
	
	vamt = ( vqty / vdanqty ) * vdan 
	famt.value = FormatNumber( vamt, 2 )
	
	fqty.style.backgroundColor=""
	fdan.style.backgroundColor=""
	famt.style.backgroundColor=""
End Function

// Name : ChgSelect
// ±â´É : ÄÚµå¿Í ³»¿ëÀÌ ÇÊ¿äÇÑ °æ¿ì. Select object ¿¡¼­ °ªÀ» ¼±ÅÃÇÏ¸é µÎ°³ÀÇ field¿¡ ÄÚµå¿Í ³»¿ëÀÌ µé¾î°£´Ù.
// Parameter
//    1. fld1 : select object
//    2. fld2 : code input object
//    3. fld3 : ³»¿ë input object
Function ChgSelect(fld1, fld2, fld3)
	Dim strarry
	
	strarry = Split( trim(fld1.value), "$")
	fld2.value = trim(strarry(0))
	fld3.value = trim(strarry(1))
End Function

// »ç¿ëÇÏÁö ¾ÊÀ½. Text ¿ëÀÌ¾úÀ½.
Function ChkBadWord(fld)
	Dim wrd, pos
	
	wrd = fld.value
	pos = Instr(wrd, "$")
	if pos > 0 Then
		alert "EDI ¹®¼­´Â [$] ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù."
		fld.focus
	End if		
End Function

function CvtSeq(num, size)
  'crtSize = len(num)
  
  if isnumeric(num) then
    num = cint(num)
    for r=1 to size-len(num)
      seqCode = seqCode & "0"
    next
    CvtSeq = seqCode & num
  else
    CvtSeq = ""
  end if
end function

function YearCheck(value)
  value = trim(value)
  if len(value) <=4 and isnumeric(value) then
    value = cint(value)
    select case len(value)
      case 1
        YearCheck = left(Date(),2) & "0" & value
      case 2
        YearCheck = left(Date(),2) & value
      case 4
        YearCheck = value
      case else
        YearCheck = ""
    end select
  elseif len(value) = 0 then
    YearCheck = ""
  else
    YearCheck = ""
  end if
end function



function MonthCheck(value)
  value = trim(value)
  if len(value) <= 2 and isnumeric(value) then
    if cint(value) >=1 and cint(value) <=12 then
      select case len(value)
        case 1
          MonthCheck = "0" & value
        case 2
          MonthCheck = value
        case else
          MonthCheck = ""
      end select
    else
      MonthCheck = ""
    end if
  elseif len(value) = 0 then
    MonthCheck = ""
  else
    MonthCheck = ""
  end if
end function



function DayCheck(value1, value2)
  value1 = trim(value1)  ' ¿ù
  value2 = trim(value2)  ' ÀÏ
  
  if len(value2) <= 2 and isnumeric(value2) then
    if cint(value2) >=1 and cint(value2) <=31 then
      
      value1 = MonthCheck(value1)
      select case value1
        case "01", "03", "05", "07", "08", "10", "12"
          DayCheck = CvtSeq(value2,2)
        case "02", "04", "06", "09", "11"
          if cint(value2) >=1 and cint(value2) <=30 then
            DayCheck = CvtSeq(value2,2)
          else
            DayCheck = ""
          end if
        case else
          DayCheck = CvtSeq(value2,2)
      end select
    else
      DayCheck = ""
    end if
  elseif value2 = "" then
    DayCheck = ""
  else
    DayCheck = ""
  end if
end function

Function DateCheck(obj)
  mask = "-"
  value = trim(obj.value)
  if value <> "" then
    if len(value) > 1 and len(value) <= 10 then
      value = replace(value,".","-")
      value = replace(value,"/","-")
      value = replace(value,",","-")
      value = replace(value,"~","-")
      arr_value = split(value,"-")
  
      select case ubound(arr_value)
        case 0
          if len(value) <= 8 and isnumeric(value) then
            select case len(value)
              case 2
                TempDate = year(Date())          & mask & MonthCheck(left(value,1))  & mask & DayCheck(MonthCheck(left(value,1)), right(value,1))
              case 3
                TempDate = year(Date())          & mask & MonthCheck(left(value,1))  & mask & DayCheck(MonthCheck(left(value,1)), right(value,2))
              case 4
                TempDate = year(Date())          & mask & MonthCheck(left(value,2))  & mask & DayCheck(MonthCheck(left(value,2)), right(value,2))
              case 5
                TempDate = "20" & left(value,2)  & mask & MonthCheck(mid(value,3,1)) & mask & DayCheck(MonthCheck(mid(value,3,1)), right(value,2))
              case 6
                TempDate = "20" & left(value,2)  & mask & MonthCheck(mid(value,3,2)) & mask & DayCheck(MonthCheck(mid(value,3,2)), right(value,2))
              case 8
                TempDate = left(value,4)         & mask & MonthCheck(mid(value,5,2)) & mask & DayCheck(MonthCheck(mid(value,5,2)), right(value,2))
            end select

          else
            TempDate = ""
          end if

        case 1
          if isnumeric(arr_value(0)) and isnumeric(arr_value(1)) then
            TempDate = year(Date()) & mask & MonthCheck(arr_value(0))  & mask & DayCheck(MonthCheck(arr_value(0)), arr_value(1))
          else
            TempDate = ""
          end if
        case 2
          TempDate = YearCheck(arr_value(0)) & mask & MonthCheck(arr_value(1)) & mask & DayCheck(MonthCheck(arr_value(1)), arr_value(2))
          
        case else
          TempDate = ""
      end select    
    else
      TempDate = ""
    end if

    if isDate(TempDate) then
      DateCheck = TempDate
    else
      alert("³¯Â¥Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.")
      obj.focus
      DateCheck = ""
    end if
  else
    DateCheck = ""
  end if
End Function


'############################################################################
' File Desc. : ¾ç½ÄÈ­µÈ ¼ýÀÚ¸¦ °è»ê°¡´ÉÇÑ ÀÏ¹Ý ¼ýÀÚ·Î ¹ÝÈ¯ÇÑ´Ù.
'              ex) 123,456.789   =>   123456.789
' Caution    : 
'
'############################################################################
function toNumber(value)
  value = replace(value,",","")
  value = replace(value," ","")
  if not isnumeric(value) then
    value = 0
  end if
  toNumber = cdbl(value)
end function


function formatNum(value, length)
  if value = "" then
    value = 0
  end if
  formatNum = FormatNumber(value, length)
end function
