var isIntValues       = '0123456789';
var isUpperChar       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var isLowerChar       = 'abcdefghijklmnopqrstuvwxyz';
var isIntAlphaValues  = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var isSpecialChar     = '~`!@#$%%^&*()-_=+\|[{]};:\'\",<.>/?';
var endDayOfMonth     = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

function fReplaceCuteChar(vInputString){
    var vReturnString;
    vReturnString = vInputString.replace(/\'/gi,"&acute;");
    vReturnString = vInputString.replace(/\"/gi,"&quot;");

    return vReturnString;
}

function isNull(input) {
    if (input.value == null || input.value == "") {
        return true;
    }
    return false;
}

function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}

function containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}

function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}

function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

function isKorean(ch) {
    var numUnicode = ch.charCodeAt(0);
    if ( 44032 <= numUnicode && numUnicode <= 55203 ) return true;
    return false;
}

function isKoreanAll(input_val) {

    if (input_val.length != getByteLengthVal(input_val)) {
        return true;
    } else {
        return false;
    }
}

function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}

function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}

function rmChar(strString, strChar) {
    var i;
    var delChar = strChar;
    var strTmp = "";
    for(i=0;i<strString.length;i++){
        if(strString.charAt(i) != delChar) {
            strTmp += strString.charAt(i);
        }
    }

    return strTmp;
}

function trim( arg ) {
   var st = 0;
   var len = arg.length;

   while((st < len) && (arg.charCodeAt(st) == 32)) {
      st++;
   }

   while((st < len) && (arg.charCodeAt(len-1) == 32)) {
      len--;
   }
   return ((st > 0) || (len < arg.length)) ? arg.substring(st, len) : arg;
}

function chkNumber(num , fName) {

   var numTemp   = Number(num);
   var errorMesg = fName+" °ªÀ» ¼ýÀÚ·Î ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä!";
   var nullMesg  = fName+" °ªÀ» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä!";
   
   if(num != "") {
      
      if(isNaN(numTemp)) {
         if("" == fName){}
         else {
            alert(errorMesg);
         }
         return false;
      } else { 
         return true;
      }
   } else {
      if(fName == ""){}
      else {
         alert(nullMesg);
      }
      return false;
   }
}

function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}

function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}

function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}

function isFloat(input) {
    var numstr = "0123456789.-";
    var dotstr = ".";
    var thischar;
    var count = 0;
    var countdot = 0;
    var violation = 0;

    for ( var i=0; i < input.value.length; i++ ) {
        thischar = input.value.substring(i, i+1 );

        if ( numstr.indexOf( thischar ) != -1 )
            count++;

        if ( dotstr.indexOf( thischar ) != -1 )
            countdot++;

        if(i==0 && thischar == '.') {
            violation++;
        }

        if(i!=0 && thischar == '-') {
            violation++;
        }
    }

    if ( count == input.value.length && countdot <= 1 && violation == 0)
        return(true);
    else
        return( false );
}

function numbersonly(){
       if (event.keyCode<48 || event.keyCode>57)
           return false
}

function pad_zero(Which) {
    DaysObject = eval("document.main." + Which);
    var vpn = DaysObject.value;
        if (vpn.length == 1)
        vpn = '0' + vpn;
    DaysObject.value = vpn;
}

function pad_zero2(Which,idx) {
    DaysObject = eval("document.main." + Which);
    try {
        var vpn = DaysObject[idx].value;
        if (vpn.length == 1)
        vpn = '0' + vpn;
        DaysObject[idx].value = vpn;
    } catch (e) {
        pad_zero(Which);
    }

}

function Zero2Space(SrcObj, DstObj) {
   DstObj.value = parseInt(SrcObj.value, 10);
}

function Space2Zero(vSrcObj, vDstObj) {
   vDstObj.value = vSrcObj.value.replace(/ /g, 0);
}

function isInteger(str) {
    if (str != "") {
        for (j=0; (j<str.length); j++) {
            if (((str.substring(j,j+1) < "0")||(str.substring(j,j+1) > "9"))
            && (str.substring(j,j+1)!="-")
            && (str.substring(j,j+1)!="/")
            && (str.substring(j,j+1)!=",")) {
                return false;
            }
        }
    } else {
      return false;
    }
    return true;
}

function isValidMonth(mm) {
    var m = parseInt(mm,10);
    return (m >= 1 && m <= 12);
}

function isValidDay(yyyy, mm, dd) {
    var m = parseInt(mm,10) - 1;
    var d = parseInt(dd,10);

    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
        end[1] = 29;
    }

    return (d >= 1 && d <= end[m]);
}

function isValidHour(hh) {
    var h = parseInt(hh,10);
    return (h >= 0 && h <= 24);
}

function isValidMin(mi) {
    var m = parseInt(mi,10);
    return (m >= 0 && m <= 60);
}

function isValidTimeFormat(time) {
    return (!isNaN(time) && time.length == 12);
}

function isValidTime(time) {
    var re = /-/g
    time = time.replace(re,"");
    var re = /:/g
    time = time.replace(re,"");
    var year  = time.substring(0,4);
    var month = time.substring(4,6);
    var day   = time.substring(6,8);
    var hour  = time.substring(8,10);
    var min   = time.substring(10,12);

    if (parseInt(year,10) >= 1900  && isValidMonth(month) &&
        isValidDay(year,month,day) && isValidHour(hour)   &&
        isValidMin(min)) {
        return true;
    }
    return false;
}

function isValidDate(time) {
    var re = /-/g
    time = time.replace(re,"");
    var year  = time.substring(0,4);
    var month = time.substring(4,6);
    var day   = time.substring(6,8);

    if (parseInt(year,10) >= 1000  && isValidMonth(month) &&
        isValidDay(year,month,day)) {
        return true;
    }
    return false;
}

function isValidDate1(time) {
    var re = /-/g
    time = time.replace(re,"");
    var year  = '';
    var month = '01';
    var day   = '01';

    if (time.length >= 8) {
        year  = time.substring(0,4);
        month = time.substring(4,6);
        day   = time.substring(6,8);
    } else if (time.length >= 6) {
        year  = time.substring(0,4);
        month = time.substring(4,6);
    } else if (time.length >= 4) {
        year  = time.substring(0,4);
    } else {
        return false;
    }

    if (parseInt(year,10) >= 1000  && isValidMonth(month) &&
        isValidDay(year,month,day)) {
        return true;
    }
    return false;
}

function toTimeObject(time) { //parseTime(time)
    var year  = time.substr(0,4);
    var month = time.substr(4,2) - 1; 
    var day   = time.substr(6,2);
    var hour  = time.substr(8,2);
    var min   = time.substr(10,2);

    return new Date(year,month,day,hour,min);
}

function toTimeString(date) { //formatTime(date)
    var year  = date.getFullYear();
    var month = date.getMonth() + 1; 
    var day   = date.getDate();
    var hour  = date.getHours();
    var min   = date.getMinutes();

    if (("" + month).length == 1) { month = "0" + month; }
    if (("" + day).length   == 1) { day   = "0" + day;   }
    if (("" + hour).length  == 1) { hour  = "0" + hour;  }
    if (("" + min).length   == 1) { min   = "0" + min;   }

    return ("" + year + month + day + hour + min)
}

function isFutureTime(time) {
    return (toTimeObject(time) > new Date());
}

function isPastTime(time) {
    return (toTimeObject(time) < new Date());
}

function shiftTime(time,y,m,d,h) { //moveTime(time,y,m,d,h)
    var date = toTimeObject(time);

    date.setFullYear(date.getFullYear() + y); 
    date.setMonth(date.getMonth() + m);       
    date.setDate(date.getDate() + d);         
    date.setHours(date.getHours() + h);       

    return toTimeString(date);
}

function getMonthInterval(time1,time2) { 
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);

    var years  = date2.getFullYear() - date1.getFullYear();
    var months = date2.getMonth() - date1.getMonth();
    var days   = date2.getDate() - date1.getDate();

    return (years * 12 + months + (days >= 0 ? 0 : -1) );
}

function getDayInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var day   = 1000 * 3600 * 24; 

    return parseInt((date2 - date1) / day, 10);
}

function getHourInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var hour  = 1000 * 3600; 

    return parseInt((date2 - date1) / hour, 10);
}

function getCurrentTime() {
    return toTimeString(new Date());
}

function getRelativeTime(y,m,d,h) {

    return shiftTime(getCurrentTime(),y,m,d,h);
}

function getYear() {

    return getCurrentTime().substr(0,4);
}

function getMonth() {

    return getCurrentTime().substr(4,2);
}

function getDay() {

    return getCurrentTime().substr(6,2);
}

function getHour() {

    return getCurrentTime().substr(8,2);
}

function getDayOfWeek() {
    var now = new Date();

    var day = now.getDay(); 
    var week = new Array('ÀÏ','¿ù','È­','¼ö','¸ñ','±Ý','Åä');

    return week[day];
}

function check_num() { 
  if ((event.keyCode >= 48 && event.keyCode <=111)
    ||(event.keyCode >= 187) || (event.keyCode == 32))  {
      if(event.keyCode >= 96) event.keyCode = parseInt(event.keyCode - 48);
      if(isNaN(String.fromCharCode(event.keyCode))) {
        event.returnValue = false;
      }
  }
}

function fromDate(){ 
    mainf = document.main;
    var fdate   = mainf.fromdate.value;
    if(event.keyCode != 46 && event.keyCode != 8){
        check_num();
        if(fdate.length == 4 || fdate.length == 7){
            if(mainf.fromdate.value.length == 4){
                mainf.fromdate.value = fdate + "-";
            }else if(mainf.fromdate.value.length == 7){
                mainf.fromdate.value = fdate + "-";
            }
            return;
        }
        if(fdate.length == 10){
            mainf.todate.focus();
            return;
        }
        return;

    }
}

function toDate(){  
    mainf = document.main;
    var tdate = mainf.todate.value;
    if(event.keyCode != 46 && event.keyCode != 8){
        check_num();
        if(tdate.length == 4 || tdate.length == 7){
            if(mainf.todate.value.length == 4){
                mainf.todate.value = tdate + "-";
            }else if(mainf.todate.value.length == 7){
                mainf.todate.value = tdate + "-";
            }
            return;
        }
        return;

    }
}


function fmt_date(input) {
    if ((event.keyCode >= 48 && event.keyCode <=111)
      ||(event.keyCode >= 187) || (event.keyCode == 32))  {

      if(event.keyCode >= 96) event.keyCode = parseInt(event.keyCode - 48);
      if(!isNaN(String.fromCharCode(event.keyCode)) && input.value.length <10) {
        input.value += String.fromCharCode(event.keyCode);
        if (input.value.length == 4 || input.value.length == 7) {
          input.value += "-";
        }
      }
      event.returnValue = false;
    }
}

function fmt_time(input) {
    if ((event.keyCode >= 48 && event.keyCode <=111)
      ||(event.keyCode >= 187) || (event.keyCode == 32))  {

      if(event.keyCode >= 96) event.keyCode = parseInt(event.keyCode - 48);
      if(!isNaN(String.fromCharCode(event.keyCode)) && input.value.length <5) {
        input.value += String.fromCharCode(event.keyCode);
        if (input.value.length == 2) {
          input.value += ":";
        }
      }
      event.returnValue = false;
    }
}


function isEmpty_date(Which) {
    YearObject = eval("document.main." + Which + "1");
    MonthObject = eval("document.main." + Which + "2");
    DaysObject = eval("document.main." + Which + "3");
        if (isEmpty(YearObject)
            && isEmpty(MonthObject)
            && isEmpty(DaysObject)){
            return true;
        }
    return false;
}

function pad_datevalue(Which) {
    YearObject = eval("document.main." + Which + "1");
    MonthObject = eval("document.main." + Which + "2");
    DaysObject = eval("document.main." + Which + "3");

    var dateString = '';

    if (YearObject.value.length == 4) {
        dateString = YearObject.value + MonthObject.value + DaysObject.value;
    } else {
        dateString = '0001';
    }

    return dateString;
}

function  chkFromToDay(frYyyy,frMm,frDd,toYyyy,toMm,toDd,chkNull,frName, toName) {
   if (eval(frYyyy+frMm+frDd)==0 && eval(toYyyy+toMm+toDd)==0) {
      return true;
   } else {
      var date1 = chkYyyyMmDd(frYyyy, frMm, frDd, chkNull, frName);
      var date2 = chkYyyyMmDd(toYyyy, toMm, toDd, chkNull, toName);

      var gap = eval(date2) - eval(date1);  
      if(gap < 0 ) {
         return false;
      }
      return true;
   }
}

function chkDay(vDay, chkNull, fName) {
   if( trim(vDay) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   if(isNaN(vDay) || vDay > 31 || vDay == 0) {
        if("" == fName){}
        else {
            alert(fName+" ÇÊµå´Â 1-31°ª¸¸ Çã¿ëÇÕ´Ï´Ù.");
        }
        return false;
    }

    if(vDay.length == 1) return "0"+vDay;

    return vDay;
}

function chkMonth(vMonth, chkNull, fName) {
   if( trim(vMonth) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   if(isNaN(vMonth) || vMonth > 12 || vMonth == 0) {
        if("" == fName){}
        else {
            alert(fName+" ÇÊµå´Â 1-12°ª¸¸ Çã¿ëÇÕ´Ï´Ù.");
        }
        return false;
    }

    if(vMonth.length == 1) return "0"+vMonth;
    return vMonth;
}

function chkYear(vYear, chkNull, fName) {
   var yearTemp     = Number(vYear);
   var errorMesg    = fName + "°ªÀ» ¼ýÀÚ·Î ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä!";
   var isYearMsg    = "³âµµ¸¦ 4 ÀÚ¸®·Î ÀÔ·ÂÇÏ½Ã±â ¹Ù¶ø´Ï´Ù";
   var yearCheckMsg = "³âµµ¸¦ È®ÀÎÇÏ½Ã±â ¹Ù¶ø´Ï´Ù";

   if( trim(vYear) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }
      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   if(isNaN(yearTemp)) {
      if("" == fName){}
      else {
         alert(errorMesg);
      }
      return false;
   } else if(vYear.length != 4) {
      if("" == fName){}
      else {
         alert(isYearMsg);
      }
      return false;
   } else {
      if (yearTemp < 1900) {
         alert(yearCheckMsg);
         return false;
      } else {
          return vYear;
      }
   }
}

function chkYyyyMmDd(vYear, vMonth, vDay, chkNull, fName) {
   var date = "";
   var errorMesg1 = fName + "ÀÇ ³âµµ¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001";
   var errorMesg2 = fName + "ÀÇ ¿ù¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001/01/31";
   var errorMesg3 = fName + "ÀÇ ÀÏÀÚ¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001/01/31";


   //³âµµÀÇ 4ÀÚ¸®¼ö Ã¼Å©
   if( vYear.length != 4 ) {
      if("" == fName){}
      else {
         alert(errorMesg1);
      }
      return false;
   }

   if(vMonth < 10 && vMonth.indexOf(0) == -1 ) {
      vMonth = "0" + vMonth;
   }

   if(vDay < 10 && vDay.indexOf(0) == -1 ) {
      vDay = "0" + vDay;
   }

   date = vYear + vMonth + vDay;

   if( date.length != 8 || date.length == 0 ) {
      if( chkNull == "N" || chkNull == "n" )  {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   if( !chkNumber(date, fName)) {
       return false;
   }

   if(vMonth > 12 || vMonth == 0) {
      if("" == fName){}
      else {
         alert(errorMesg2);
      }
      return false;
   }

   if(vMonth == 01 || vMonth == 03 || vMonth == 05 || vMonth == 07 || vMonth == 08 || vMonth == 10 || vMonth == 12) {
      if(vDay > 31 || vDay == 0) {
         if("" == fName){}
         else {
            alert(errorMesg3);
         }
         return false
      }
   } else if(vMonth == 02) {     
      if(((vYear % 4 == 0) && (vYear % 100 != 0)) || (vYear % 400 == 0)) {
         if(vDay > 29 || vDay == 0) {
            if("" == fName){}
            else {
               alert(errorMesg3);
            }
            return false;
         }
      } else {
         if(vDay > 28 || vDay == 0) {
            if("" == fName){}
            else {
               alert(errorMesg3);
            }
            return false
         }
      }
   } else if(vMonth == 04 || vMonth == 06 || vMonth == 09 || vMonth == 11) {
      if(vDay > 30 || vDay == 0) {
         if("" == fName){}
         else {
            alert(errorMesg3);
         }
         return false
      }
   }
   return true;
}

function cntDay ( frYyyyMmDd, toYyyyMmDd, frDdHh24Ss, toDdHh24Ss ) {
    var frDdHh24SsTmp = ( frDdHh24Ss == null || frDdHh24Ss == "" || isNaN ( frDdHh24Ss ) ) ? "000000" : frDdHh24Ss;
    var toDdHh24SsTmp = ( toDdHh24Ss == null || toDdHh24Ss == "" || isNaN ( toDdHh24Ss ) ) ? "000000" : toDdHh24Ss;

    var frDt = new Date( frYyyyMmDd.substring(0, 4),    frYyyyMmDd.substring(4, 6) - 1,
                         frYyyyMmDd.substring(6, 8),    frDdHh24SsTmp.substring(0, 2),
                         frDdHh24SsTmp.substring(2, 4), frDdHh24SsTmp.substring(4, 6));
    var toDt = new Date( toYyyyMmDd.substring(0, 4),    toYyyyMmDd.substring(4, 6) - 1,
                         toYyyyMmDd.substring(6, 8),    toDdHh24SsTmp.substring(0, 2),
                         toDdHh24SsTmp.substring(2, 4), toDdHh24SsTmp.substring(4, 6));

    var tmp    = toDt.getTime() - frDt.getTime();

    var dayCnt = ( tmp  / 24 / 60 / 60 / 1000 );
    dayCnt = dayCnt + 1;
    return dayCnt;
}

function addDays(srcDate, days) {
    //var srcDate = srcDate.getTime();
    var srcDate = new Date(srcDate);
    var srcTime = srcDate.getTime();
    var destDateTmp1 =  new Date( srcTime + (days * 86400000));

    var destDateYear = destDateTmp1.getFullYear();
    var destDateMonth = destDateTmp1.getMonth() + 1;
    var destDateDay = destDateTmp1.getDate();

    var destDateTmp2 = "" + destDateYear;

    if (destDateMonth < 10) {
        destDateTmp2 = destDateTmp2 + "0" + destDateMonth;
    } else {
        destDateTmp2 = destDateTmp2 + destDateMonth;
    }

    destDateTmp2 = destDateTmp2 + destDateDay;

    var destDate = formatDate(destDateTmp2, "/");

    return destDate;
}

function formatDate(sdate, vFormat) {
    var fmtDate = "";

    if(sdate.length == 8) {
       fmtDate = sdate.substring(0, 4) + vFormat + sdate.substring(4, 6)
                 + vFormat + sdate.substring(6, 8);
    } else if (sdate.length == 6) {
       fmtDate = sdate.substring(0, 4) + vFormat + sdate.substring(4, 6);
    }

    return fmtDate;
}

function lastDay(calYear,calMonth) {
    if (((calYear %4 == 0) && (calYear % 100 != 0))||(calYear % 400 == 0))
        endDayOfMonth[1] = 29;
    var nDays = endDayOfMonth[calMonth-1];
    return nDays;
}

function removeComma(input) {
    return input.value.replace(/,/gi,"");
}

function insertComma(str) {
    str = str + "";
    var tmpStr = str+"";
    var underComma = "";

    if (str.indexOf(".") >=0) {
        tmpStr = str.substring(0,tmpStr.indexOf("."));
        underComma = "."+str.substring(str.indexOf(".")+1, str.length);
    }

    var len = tmpStr.length;
    var resultValue = "";
    var sign = "";
    if (str.substring(0,1) == "-") {
       sign = "-";
       len = len -1;
       tmpStr = tmpStr.substring(1);
    }
    for (var i=0 ; i<len ; i++) {
        if (i > 0  && (i % 3) == 0 )
            resultValue = "," + resultValue;

        resultValue = tmpStr.charAt(len - 1 - i) + resultValue;
    }
   return sign+resultValue+underComma;
}

function fmtAmount(str) {
    var saveStr = "" + str;
    if (saveStr.length < 4) return str;
    var revStr = reverseStr(saveStr);
    var newStr = '';
    for (var i=0;i<revStr.length;i++) {
        if (i>0 && (i%3)==0) newStr += ',';
        newStr += revStr.charAt(i);
    }
    return reverseStr(newStr);
}

function delFmtAmount(str) {
    str = rmChar(str, ',');
    if (!chkNumber(str, "")) return false;
    return str;
}

function roundAllFloat( floatNum, intPosition ) {
    var decimalPosition = Math.pow( 10.0, intPosition );

    var returnValue =  ( Math.ceil( floatNum * decimalPosition ) ) / decimalPosition ;

    return returnValue;
}

function roundHalfFloat( floatNum, intPosition ) {
    var decimalPosition = Math.pow( 10.0, intPosition );

    var returnValue = ( Math.round( floatNum * decimalPosition ) ) / decimalPosition ;

    return returnValue;
}

function roundCutFloat( floatNum, integerNum ) {
      //var sTargetFloat = Float.toString(floatNum);
      //var stk          = new StringTokenizer(sTargetFloat, ".");
      //var stk          = new StringTokenizer(floatNum, ".");
      //var sIntPart     = stk.nextToken();
      //var sFloPart     = stk.nextToken();

      //if(integerNum > sFloPart.length()) return floatNum;

      //sFloPart = sFloPart.substring(0, integerNum);
      //var sReturnFloat = sIntPart + "." + sFloPart;

      //return Float.parseFloat(sReturnFloat);

      var vPeriodPos = floatNum.toString().indexOf(".");
      var sIntPart   = floatNum.toString().substring(0, vPeriodPos);
      var sFloPart   = floatNum.toString().substring(vPeriodPos + 1);

      if(vPeriodPos == -1) return floatNum;

      sFloPart = sFloPart.substring(0, integerNum);

      var sReturnFloat = sIntPart + "." + sFloPart;

      return parseFloat(sReturnFloat);
}

function toMoney(vObj)
{
    var txtObj = rmChar(vObj.value, ",");
    if(isNaN(txtObj))
    {
        alert("¼ýÀÚ¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À."); vObj.focus(); return;
    }
    var sObj = Number(!txtObj?0:txtObj);
    vObj.value = fmtAmount(sObj);
}

function formatNumber(numObj,hanObj,howManyUnderDot)
{

    var txtObj = rmChar(numObj.value, ",");
    if(txtObj == ""){
        if(hanObj != null) hanObj.value = "";
        return;
    }
    if(isNaN(txtObj)){
        alert("¼ýÀÚ¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À."); numObj.value = ""; numObj.focus(); return;
    }

    var dotPoint = getPointOfDot(txtObj);
    if(dotPoint == null){ 
        var longPart = Number(!txtObj?0:txtObj);
        numObj.value = fmtAmount(longPart);
    }else{  // ¼Ò¼ýÁ¡ Æ÷ÇÔ
        if(howManyUnderDot == null || howManyUnderDot == "" || howManyUnderDot == 0){
            alert("¼Ò¼ýÁ¡À» ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
            return;
        }
        var longPart = Number(!txtObj.substring(0,dotPoint)?0:txtObj.substring(0,dotPoint));
        var underDotPart = txtObj.substring(dotPoint+1);
        if(underDotPart.length > howManyUnderDot){
            alert("¼Ò¼ýÁ¡ ÀÌÇÏ "+howManyUnderDot+"¹øÂ° ÀÚ¸®±îÁö ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
            underDotPart = underDotPart.substring(0,howManyUnderDot);
        }
        numObj.value = fmtAmount(longPart)+"."+underDotPart;
    }

    if(hanObj != null){

        hanObj.value = longPart;
        var hanLongPart = convHanAMT(hanObj.value);

        if(underDotPart != null){
            hanObj.value = underDotPart;
            var hanUnderDotPart = convHanAMT(hanObj.value);
        }

        if(longPart != "") hanObj.value = hanLongPart + "¿ø";
        if(underDotPart != null && underDotPart != "" && underDotPart != "0" && underDotPart != "00") hanObj.value = hanObj.value + " " + hanUnderDotPart + "Àü";
    }
}

function getPointOfDot(str)
{
    for(var i=0; i<str.length; i++){
        if(str.substring(i,i+1) == ".") return i;
    }
}

function bidTrimLastDot(numObj)
{
    var txtObj = numObj.value;
    if(txtObj == "") return;
    if(txtObj.substring(txtObj.length-1,txtObj.length) == "."){
        numObj.value = txtObj.substring(0,txtObj.length-1);
    }
}

function unformatNumber(numObj)
{
    numObj.value = rmChar(numObj.value,",");
}

function getUnformatNumber(numObj)
{
    var str = numObj.value;
    str = rmChar(str,",");
    return str;
}

function calc(expression, digit) {

    var vRetVal;
    var n;

    vRetVal = String(eval(expression));

    if (vRetVal.length > 16) {
        n=vRetVal.indexOf(".");
        if (n > 0) n=vRetVal.length-n-2;
        if (n > 0) vRetVal=Math.round(eval(vRetVal)*Math.pow(10, n))/Math.pow(10, n);
    }

    vRetVal = roundCutFloat(vRetVal, digit);

    return vRetVal;

}

function calcRound(expression, digit) {

    var vRetVal;
    var n;

    vRetVal = String(eval(expression));

    if (vRetVal.length > 16) {
        n=vRetVal.indexOf(".");
        if (n > 0) n=vRetVal.length-n-2;
        if (n > 0) vRetVal=Math.round(eval(vRetVal)*Math.pow(10, n))/Math.pow(10, n);
    }

    vRetVal = roundHalfFloat(vRetVal, digit);

    return vRetVal;

}

function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true;
    }
    return false;
}

function isValidFormat2(str,format) {
    if (str.search(format) != -1) {
        return true;
    }
    return false;
}

function isValidEmail(input) {
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}

function isValidZip(input) {
    var tel_no = input.split("-");
    if (tel_no[0] == "" && tel_no[1] == "" && tel_no[2] == "") {
        return true;
    }else if (isNaN(tel_no[0]) || isNaN(tel_no[1]) || isNaN(tel_no[2])) {
        return false;
    }else if (tel_no[0].length < 2 || tel_no[1].length < 3 || tel_no[2].length < 4) {
        return false;
    } else {
        return true;
    }
}
function isValidPhone(input) {
    var tel_no = input.split("-");
    if (tel_no[0] == "" && tel_no[1] == "" && tel_no[2] == "") {
        return true;
    }else if (isNaN(tel_no[0]) || isNaN(tel_no[1]) || isNaN(tel_no[2])) {
        return false;
    }else if (tel_no[0].length < 2 || tel_no[1].length < 3 || tel_no[2].length < 4) {
        return false;
    } else {
        return true;
    }
}

function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}

function getRadioValue(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return input[inx].value;
        }
    } else {
        if (input.checked) return input.value;
    }
    return "";
}

function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}

function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}

function getByteLengthVal(input_val) {
    var byteLength = 0;
    for (var inx = 0; inx < input_val.length; inx++) {
        var oneChar = escape(input_val.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}


function cnt_checkbox(form){
  var count = 0

  for (var i = 0; i < form.elements.length; i++){
    var e = form.elements[i];
    if (e.type == 'checkbox')
    {
      if (e.checked) {
              count++;
      }
    }
  }
  return count;
}

function chk_all_checkbox(form){
  var count = 0

  for (var i = 0; i < form.elements.length; i++){
    var e = form.elements[i];
    if (e.type == 'checkbox')
    {
      e.checked = true;
    }
  }
  return count;
}

function unchk_all_checkbox(form){
  var count = 0

  for (var i = 0; i < form.elements.length; i++){
    var e = form.elements[i];
    //alert(e.type);
    if (e.type == 'checkbox')
    {
      e.checked = false;
    }
  }
  return count;
}

function set_readonly(obj) {
  obj.readOnly = true;
}
function release_readonly(obj) {
  obj.readOnly = false;
}


var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
    try {
        var keyCode = (isNN) ? e.which : e.keyCode;
        var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
        if(input.value.length >= len && !containsElement(filter,keyCode)) {
            input.value = input.value.slice(0, len);
            input.form[(getIndex(input)+1) % input.form.length].focus();
        }
    } catch(e) {}
    return true;
}

function containsElement(arr, ele) {
    var found = false, index = 0;
    try {
        while(!found && index < arr.length)
        if(arr[index] == ele)
        found = true;
        else
        index++;
    } catch(e) {}
    return found;
}
function getIndex(input) {
    var index = -1, i = 0, found = false;
    try {
        while (i < input.form.length && index == -1)
        if (input.form[i] == input)index = i;
        else i++;
    } catch(e) {}
    return index;
}

function isObject(object_key) {
    try {
        document.all[object_key].value;
        return true;
    }catch(e) {
        return false;
    }
}

function delSpaceNum(str) {
   var i     = 0;          
   var returnStr  = "";    
   var len = str.length;   

   while (i<len) {
      var sub   = str.substring(i,i+1)    
      var code =  sub.charCodeAt(0)       


      if (code==32) {
      } else {
         var returnStr = returnStr +  sub;
         
         if (code < 48  || code > 57) {
            return false;
         }
      }
      i++;
   }
   return returnStr;
}

function chkStrLen(data) {
   var size = 0;
   var fieldSize = "";

   fieldSize = data.length;

   for(i=0; i<fieldSize; i++) {

      if( data.charCodeAt(i) > 255 ) {
          //size += 2;
          size += 3;
      } else {
         size += 1;
      }
   }
   return size;
}

function chkStr(data , maxSize, chkNull, fName) {
   var size = 0;
   var fieldSize = "";
   var errorMesg = fName + "¿¡ ÀÔ·Â ÇÏ½Å °ªÀÌ ³Ê¹« Å®´Ï´Ù!";

   if( trim(data) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   fieldSize = data.length;

   if( chkSpecialChar(data, chkNull, fName ))  { 
      fieldSize = data.length;

      for(i=0; i<fieldSize; i++) {

         if( data.charCodeAt(i) > 255 ) {
            //size += 2;
            size += 3;
         } else {
            size += 1;
         }
      }

      if( maxSize < size ) {

         if("" == fName){}
         else {
           alert(errorMesg);
         }
         return false;
      } else {
         return true;
      }

   } // if checkSpecialChar(data) == true end
   else {

       if("" == fName){}
       else {
       }

       return false;
   }// if checkSpecialChar(data) == false end

   return true;
}

function chkRegNo(str1, str2, str3) {
	if (chkNumber(str1, "")) return false;
	if (chkNumber(str2, "")) return false;
	if (chkNumber(str3, "")) return false;

	var i;
	var iSum = 0;
	var L11,L12,L13;
	var L21,L22;
	var L31,L32,L33,L34,L35;
	if (isInteger(str1) &&  isInteger(str2) &&  isInteger(str3)) {
		L11 = parseInt(str1.substring(0,1));
		L12 = parseInt(str1.substring(1,2));
		L13 = parseInt(str1.substring(2,3));
		L21 = parseInt(str2.substring(0,1));
		L22 = parseInt(str2.substring(1,2));
		L31 = parseInt(str3.substring(0,1));
		L32 = parseInt(str3.substring(1,2));
		L33 = parseInt(str3.substring(2,3));
		L34 = parseInt(str3.substring(3,4));
		L35 = parseInt(str3.substring(4,5));
		iSum = (L11*1)%10 + (L12*3)%10 + (L13*7)%10 + (L21*1)%10 + (L22*3)%10 + (L31*7)%10 + (L32*1)%10 + (L33*3)%10;
		var i = (L34*5).toString();
		var tmp = 0;
		if (i < 10 ) tmp = 0;
		else tmp = parseInt(i.substring(0,1));
		iSum = iSum + (tmp + (i%10));
		iSum = iSum%10;
	}
	if ( ((10-iSum)%10) != parseInt(L35) ) {
		return false;
	}
    return true;
}

function vndr_reg_no_chk(vndr_reg_no1,vndr_reg_no2,vndr_reg_no3){
    var  v_vndr_reg_no1 = 0;
    var  v_vndr_reg_no2 = 0;
    var  v_vndr_reg_no3 = 0;
    var  v_vndr_reg_no4;
    var  vndr_reg_chk;
    var str= vndr_reg_no1 + vndr_reg_no2 + vndr_reg_no3;
    var j = 0;
    object =  new Array(13)
    for(var i=0;i < 12;i++) {
        ++j;
        object[i] = str.substring(i,i+1)
        if ( j % 2 == 0 )
            v_vndr_reg_no1 = v_vndr_reg_no1 + parseInt(object[i]) * 2;
        else
            v_vndr_reg_no1 = v_vndr_reg_no1 + parseInt(object[i]) * 1;
    }
    v_vndr_reg_no2 = Math.floor(v_vndr_reg_no1 / 10);   
    v_vndr_reg_no3 = parseInt(v_vndr_reg_no1 % 10);     
    var chkdigit = str.substring(12, 13);   
    vndr_reg_chk = 10 - v_vndr_reg_no3;
    if ( vndr_reg_chk == 10 )   vndr_reg_chk = 0;
    if ( chkdigit == vndr_reg_chk ) {
        return true;
    }
    else {
        return false;
    }
}

function chkJuminNo(str1, str2) {
	if (chkNumber(str1, "") == false) return false;
	if (chkNumber(str2, "") == false) return false;

	var x, y, z;
	var L11,L12,L13,L14,L15,L16;
	var L21,L22,L23,L24,L25,L26,L27;

	L11 = parseInt(str1.substring(0,1));
	L12 = parseInt(str1.substring(1,2));
	L13 = parseInt(str1.substring(2,3));
	L14 = parseInt(str1.substring(3,4));
	L15 = parseInt(str1.substring(4,5));
	L16 = parseInt(str1.substring(5,6));
	L21 = parseInt(str2.substring(0,1));
	L22 = parseInt(str2.substring(1,2));
	L23 = parseInt(str2.substring(2,3));
	L24 = parseInt(str2.substring(3,4));
	L25 = parseInt(str2.substring(4,5));
	L26 = parseInt(str2.substring(5,6));
	L27 = parseInt(str2.substring(6,7));
	x = (L11*2) + (L12*3) + (L13*4) + (L14*5) + (L15*6) + (L16*7) + (L21*8) + (L22*9) + (L23*2) + (L24*3) + (L25*4) + (L26*5);
	y = x % 11;
	z = 11 - y;

	if (z == 10) z = 0;
	else if (z == 11) z = 1;
	if (z == parseInt(str2.substring(6,7))) {
		return true;
	} else {
		return false;
	}

	return false;
}

function openWindow(theURL, winName, feature) {
    var tmp_focus;

	if (feature=="" || feature==null) {
		tmpFocus = window.open(theURL, winName );
	} else {
		tmpFocus = window.open(theURL, winName, feature );
	}

	tmpFocus.focus();
}

function openWinSize(theURL, winName, winWidth, winHeight) {
    var tmp_focus;
    var winSize;

	if ((winWidth=="" || winWidth==null) && (winHeight=="" || winHeight==null)) {
		tmpFocus = window.open(theURL, winName );
	}
    else {
        if (winWidth=="" || winWidth==null)
    		winSize = "height="+winWidth;
    	else if (winHeight=="" || winHeight==null)
    		winSize = "height="+winWidth;
    	else
    		winSize = "width="+winWidth+",height="+winWidth;

        tmpFocus = window.open(theURL, winName, winSize );
    }

	tmpFocus.focus();
}

function imageAutoResize(image_URL){
  full_image = new Image();
	full_image["src"] = image_URL;

		
	i = 0;
	img_width = 0;
	img_height = 0;
	var str = "";
	
	do {
   		i += 1;
   			
   		img_width = full_image["width"];
		img_height = full_image["height"];
		str += i + "= width:" + img_width + ", height:" + img_height + "\n";
	} while(i < 40 && (img_width == "0"  || img_height == "0"));

	if(img_width == "0" || img_height == "0")
	{
		img_width = 600;
		img_height = 500
	}
	else
	{	
		if(img_width > 660)
			img_width = 660;
		if(img_height > 500)
			img_height = 500;

		img_width += 40;
		img_height += 45;
	}


	var full_win = window.open(image_URL, "full_image_win", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=yes,Width="+img_width+",Height="+img_height);
	full_win.focus();
}

function imgControll(img){
  if((img1.width!=0)&&(img1.height!=0)){
    viewImage(img);
  }
  else{
    controller="imgControll('"+img+"')";
    intervalID=setTimeout(controller,20);
  }
}

function viewImage(img){
        W=img1.width;
        H=img1.height;
        O="width="+W+",height="+H;
        imgWin=window.open("","",O);
        imgWin.document.write("<html><head><title>È®´ëº¸±â</title></head>");
        imgWin.document.write("<body topmargin=0 leftmargin=0>");
        imgWin.document.write("<img src='"+img+"'  onclick='self.close()'>");
        imgWin.document.close();
} 

function getFlash(url, wid, hei){
	document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' width="+wid+" height="+hei+"><param name='movie' value='"+url+"'><param name='quality' value='high'><param name='allowScriptAccess' value='sameDomain'><param name='wmode' value=transparent><embed src='"+url+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width="+wid+" height="+hei+"></embed></object>");
}


