/**
 * ÆÄÀÏ¸í : util.js
 * ¸ñ  Àû : È­¸é¿¡ °øÅëÀ¸·Î ¾²ÀÏ javascript
 * ÀÛ¼ºÀÚ : Kim Kyoung Jin ( ceylon76@hotmail.com )
 * ³»  ¿ë :
 */

var formIndex = 0;
var elementIndex = 0;

//###################################################
//# ³¯Â¥°ü·Ã Util
//###################################################

// ÇöÀç ½Ã°¢À» Time Çü½ÄÀ¸·Î ¸®ÅÏ
function getCurrentTime() {
    return toTimeString(new Date());
}

// ÇöÀç Ò´À» YYYYÇü½ÄÀ¸·Î ¸®ÅÏ
function getYear() {
    return getCurrentTime().substr(0,4);
}

// ÇöÀç êÅÀ» MMÇü½ÄÀ¸·Î ¸®ÅÏ
function getMonth() {
    return getCurrentTime().substr(4,2);
}

// ÇöÀç ìíÀ» DDÇü½ÄÀ¸·Î ¸®ÅÏ
function getDay() {
    return getCurrentTime().substr(6,2);
}

// ÇöÀç Ò´êÅÀ» separator ·Î ±¸ºÐÇÏ¿© ¸®ÅÏ
function getYYYYMM(separator) {
    return getYear() + separator + getMonth();
}

// ÇöÀç êÅìíÀ» separator ·Î ±¸ºÐÇÏ¿© ¸®ÅÏ
function getMMDD(separator) {
    return getMonth() + separator + getDay();
}

// ÇöÀç Ò´êÅìíÀ» separator ·Î ±¸ºÐÇÏ¿© ¸®ÅÏ
function getYYYYMMDD(separator) {
    return getYear() + separator + getMonth() + separator + getDay();
}

// ÇöÀç ãÁ¸¦ HHÇü½ÄÀ¸·Î ¸®ÅÏ
function getHour() {
    return getCurrentTime().substr(8,2);
}

/*
 * ¿À´Ã³¯Â¥¿¡ ÇØ´çÇÏ´Â ¿äÀÏÀ» ±¸ÇÑ´Ù.
 */
function getDayOfWeek() {
    
  var now = new Date();

  var day = now.getDay();
  var week = new Array("ÀÏ", "¿ù", "È­", "¼ö", "¸ñ", "±Ý", "Åä");

  return week[day];
  
}

/*
 * ¿¬¿ù(YYYYMM)ÀÇ À¯È¿¼ºÀ» Ã¼Å©ÇÏ°í Ç¥ÁØ ³¯Â¥ Æ÷¸Ë (YYYY/MM) À¸·Î º¯È¯ÇÏ¿© ¸®ÅÏ
 * (ÁÖÀÇ : ÀÌ ÇÔ¼öÀÇ ÆÄ¶ó¹ÌÅÍ´Â °´Ã¼ÀÓ (input object))
 */
function format_YYYYMM(object) {
    
    var year, month;
    var val = object.value;   
    while (val.search("/") != -1) {	
		val = val.replace("/","");
	}
	
	if ( isNumeric(val) ) {
	    window.alert("¼ýÀÚ·Î¸¸ ÀÛ¼ºÇÏ¼Å¾ß ÇÕ´Ï´Ù");
		object.focus();
		return;
	}
	
    if( val != 0 && (val.length >= 5 && val.length <= 6)) {
        
        year  = val.substring(0,4);
        month = val.substring(4);
        
        if ( isValidMonth(month) == false ) {
            
            alert("À¯È¿ÇÏÁö ¾ÊÀº ¿ùÀÔ´Ï´Ù.");
         	object.focus();
         	return;
         	
        }
        
        if (val.length == 6) {
            
        	val = year+"/"+month;
        	
        } else if (val.length==5) {	
            
        	val = year+"/"+"0"+month;
        	
        }
        
    } else {
        
		window.alert("³â¿ù ÀÔ·ÂÇü½Ä ¿À·ùÀÔ´Ï´Ù.");
		object.focus();
        return;
        
    }	
    
    return val;
    
}

/*
 * ³¯Â¥ Æ÷¸Ë (YYYY/MM) À¸·Î º¯È¯ÇÏ¿© ¸®ÅÏ
 *  cf.) onKeyUp ÀÌº¥Æ®½Ã¿¡ ±¸ºÐÀÚ »ðÀÔ
 */
function formatYYYYMM( obj ) {
    
    obj.value = formatMask(obj.value, "####/##");
    
}

/*
 * ¿¬¿ùÀÏ(YYYYMMDD)ÀÇ À¯È¿¼ºÀ» Ã¼Å©ÇÏ°í Ç¥ÁØ ³¯Â¥ Æ÷¸Ë (YYYY/MM/DD) À¸·Î º¯È¯ÇÏ¿© ¸®ÅÏ 
 * (ÁÖÀÇ : ÀÌ ÇÔ¼öÀÇ ÆÄ¶ó¹ÌÅÍ´Â °´Ã¼ÀÓ (input object))
 */
function format_YYYYMMDD(object) {

    var num, year, month, day;
    num=object.value;
    
    while (num.search("/") != -1){	
		num = num.replace("/","");
	}
		
	if ( isNumeric(num) ) {        
		window.alert("¼ýÀÚ·Î¸¸ ÀÛ¼ºÇÏ¼Å¾ß ÇÕ´Ï´Ù");
		object.focus();
		return "";
	}
		 
    if( num != 0 && num.length == 8 ) {
        
        year  = num.substring( 0, 4 );
        month = num.substring( 4, 6 );  
        day   = num.substring(6);
        
		if( isValidDate(year,month,day) == false ) {
		    
	        num = "";
	        window.alert("À¯È¿ÇÏÁö ¾Ê´Â ÀÏÀÚÀÔ´Ï´Ù.");
    	    object.focus();
        	return "";
        	
		}
		
        num = year+"/"+month + "/" + day;
        
    } else {
        
        num = "";
        window.alert("³¯Â¥ ÀÔ·ÂÇü½Ä ¿À·ùÀÔ´Ï´Ù.");
        object.focus();
        return "";
        
    }	
    
    return num;
}

/*
 * ³¯Â¥ Æ÷¸Ë (YYYY/MM/DD) À¸·Î º¯È¯ÇÏ¿© ¸®ÅÏ
 *  cf.) onKeyUp ÀÌº¥Æ®½Ã¿¡ ±¸ºÐÀÚ »ðÀÔ
 */
function formatYYYYMMDD( obj ) {
    
    obj.value = formatMask(obj.value, "####/##/##");
    
}

/*
 * Time ½ºÆ®¸µÀ» ÀÚ¹Ù½ºÅ©¸³Æ® Date °´Ã¼·Î º¯È¯  parameter time: Time Çü½ÄÀÇ String
 */
function toTimeObject(time) { //parseTime(time)
    var year  = time.substr(0,4);
    var month = time.substr(4,2) - 1; // 1¿ù=0,12¿ù=11
    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);
}

/*
 * ÀÚ¹Ù½ºÅ©¸³Æ® Date °´Ã¼¸¦ Time ½ºÆ®¸µÀ¸·Î º¯È¯ 
 * parameter date: JavaScript Date Object
 */
function toTimeString(date) {
    
    var year  = date.getFullYear();
    var month = date.getMonth() + 1; // 1¿ù=0,12¿ù=11ÀÌ¹Ç·Î 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)
}

/**
 * ÁÖ¾îÁø Time °ú y³â m¿ù dÀÏ h½Ã Â÷ÀÌ³ª´Â TimeÀ» ±¸ÇÑ´Ù.
 *
 * @param time	Time °´Ã¼
 * @param y		y³â Â÷ÀÌ
 * @param m		m¿ù Â÷ÀÌ
 * @param d		dÀÏ Â÷ÀÌ
 * @param h		h½Ã Â÷ÀÌ
 * @return
 */
function shiftTime(time, y, m, d, h) {
  var date = toTimeObject(time);

  date.setFullYear(date.getFullYear() + y); // y³âÀ» ´õÇÔ
  date.setMonth(date.getMonth() + m); // m¿ùÀ» ´õÇÔ
  date.setDate(date.getDate() + d); // dÀÏÀ» ´õÇÔ
  date.setHours(date.getHours() + h); // h½Ã¸¦ ´õÇÔ

  return toTimeString(date);
}

/**
 * curHour·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(befHour)ÀÇ ÀÌÀü½Ã°£À» ±¸ÇÑ´Ù.
 *
 * @param   nHour   ½Ã°£
 * @return
 */
function getHourBefore(curHour, befHour)
{
	return shiftTime(curHour, 0, 0, 0, -befHour);
}

/**
 * curDay·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(befDay)ÀÇ ÀÌÀüÀÏÀ» ±¸ÇÑ´Ù.
 *
 * @param   nDay    ÀÏ
 * @return
 */
function getDayBefore(curDay, befDay)
{
	return shiftTime(curDay, 0, 0, -befDay, 0);
}

/**
 * curMonth·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(befMonth)ÀÇ ÀÌÀü¿ùÀ» ±¸ÇÑ´Ù.
 *
 * @param nMonth    ¿ù
 * @return
 */
function getMonthBefore(curMonth, befMonth)
{
	return shiftTime(curMonth, 0, -befMonth, 0, 0);
}

/**
 * curYear·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(befYear)ÀÇ ÀÌÀü¿¬µµ¸¦ ±¸ÇÑ´Ù.
 *
 * @param nYear     ¿¬
 * @return
 */
function getYearBefore(curYear, befYear)
{
	return shiftTime(curYear, -befYear, 0, 0, 0);
}

/*
 * curHour·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(aftHour)ÀÇ ÀÌÈÄ½Ã°£À» ±¸ÇÑ´Ù.
 *
 * @param curHour ±âÁØ½Ã°£
 * @param aftHour ½Ã°£
 * @return
 */
function getHourAfter(curHour, aftHour)
{
	return shiftTime(curHour, 0, 0, 0, aftHour);
}

/*
 * curDay·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(aftDay)ÀÇ ÀÌÈÄ½Ã°£À» ±¸ÇÑ´Ù.
 *
 * @param curDay ±âÁØÀÏ
 * @param aftDay ÀÏ
 * @return
 */
function getDayAfter(curDay, aftDay)
{
	return shiftTime(curDay, 0, 0, aftDay, 0);
}

/*
 * curMonth·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(aftMonth)ÀÇ ÀÌÈÄ¿ùÀ» ±¸ÇÑ´Ù.
 *
 * @param curMonth ±âÁØ¿ù
 * @param aftMonth ¿ù
 * @return
 */
function getMonthBefore(curMonth, aftMonth)
{
	return shiftTime(curMonth, 0, aftMonth, 0, 0);
}

/*
 * curYear·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­(aftYear)ÀÇ ÀÌÈÄ³âµµÀ» ±¸ÇÑ´Ù.
 *
 * @param curYear ±âÁØ³â
 * @param aftYear ³â
 * @return
 */
function getYearBefore(curYear, aftYear)
{
	return shiftTime(curYear, aftYear, 0, 0, 0);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÀü½Ã°£À» ±¸ÇÑ´Ù.
 *
 * @param   nHour   ½Ã°£
 * @return
 */
function getCurHourBefore(nHour)
{
	return shiftTime(getCurrentTime(), 0, 0, 0, -nHour);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÀüÀÏÀ» ±¸ÇÑ´Ù.
 *
 * @param   nDay    ÀÏ
 * @return
 */
function getCurDayBefore(nDay)
{
	return shiftTime(getCurrentTime(), 0, 0, -nDay, 0);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÀü¿ùÀ» ±¸ÇÑ´Ù.
 *
 * @param nMonth    ¿ù
 * @return
 */
function getCurMonthBefore(nMonth)
{
	return shiftTime(getCurrentTime(), 0, -nMonth, 0, 0);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÀü¿¬µµ¸¦ ±¸ÇÑ´Ù.
 *
 * @param nYear     ¿¬
 * @return
 */
function getCurYearBefore(nYear)
{
	return shiftTime(getCurrentTime(), -nYear, 0, 0, 0);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÈÄ½Ã°£À» ±¸ÇÑ´Ù.
 *
 * @param nHour ½Ã°£
 * @return
 */
function getCurHourAfter(nHour)
{
	return shiftTime(getCurrentTime(), 0, 0, 0, nHour);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÈÄÀÏ¸¦ ±¸ÇÑ´Ù.
 *
 * @param nDay      ÀÏ
 * @return
 */
function getCurDayAfter(nDay)
{
	return shiftTime(getCurrentTime(), 0, 0, nDay, 0);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÈÄ¿ùÀ» ±¸ÇÑ´Ù.
 *
 * @param nMonth    ¿ù
 * @return
 */
function getCurMonthBefore(nMonth)
{
	return shiftTime(getCurrentTime(), 0, nMonth, 0, 0);
}

/**
 * ÇöÀç³¯Â¥·ÎºÎÅÍ ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ÀÌÈÄ¿¬µµ¸¦ ±¸ÇÑ´Ù.
 *
 * @param nYear     ¿¬
 * @return
 */
function getCurYearBefore(nYear)
{
	return shiftTime(getCurrentTime(), nYear, 0, 0, 0);
}

/**
 * µÎ ½Ã°£ÀÌ ¸î °³¿ù Â÷ÀÌÀÎÁö ±¸ÇÑ´Ù.
 *
 * @param time1
 * @param time2
 * @return
 */
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);
}

/**
 * µÎ ½Ã°£ÀÌ ¸îÀÏ Â÷ÀÌÀÎÁö ±¸ÇÑ´Ù.
 *
 * @param time1
 * @param time2
 * @return
 */
function getDayInterval(time1, time2)
{
  var date1 = toTimeObject(time1);
  var date2 = toTimeObject(time2);
  var day   = 1000 * 3600 * 24;

  return parseInt((date2 - date1) / day, 10);
}

/**
 * µÎ ½Ã°£ÀÌ ¸î½Ã°£ Â÷ÀÌÀÎÁö ±¸ÇÑ´Ù.
 *
 * @param time1
 * @param time2
 * @return
 */
function getHourInterval(time1, time2)
{
  var date1 = toTimeObject(time1);
  var date2 = toTimeObject(time2);
  var hour  = 1000 * 3600;

  return parseInt((date2 - date1) / hour, 10);
}

/*
 * strÀ» maskÇüÅÂ·Î º¯°æ
 * ex) str : 1234567890, mask : ###-##-#####
 *     => 123-45-67890
 */
function formatMask(str, mask) {

    if ( event.keyCode != 8 ) {

        var sStr = str.replace(/(\$|\^|\*|\(|\)|\+|\.|\?|\\|\{|\}|\||\[|\]|-|:|\/)/g,"");
        var tStr = "";
        var j=0;
        
        for ( var i = 0; i < sStr.length; i++ ) {
        
            tStr += sStr.charAt(i);
            j++;
            if ( j < mask.length && mask.charAt(j) != "#" )
                tStr += mask.charAt(j++);
        }

         return tStr;
         
    } else {
        
        return str;
        
    }

}
	
//###################################################
// ³¯Â¥ °ü·Ã Util End
//###################################################

//###################################################
// checkbox °ü·Ã Util
//###################################################

/*
 * checkbox ¸ðµÎ ¼±ÅÃ
 */
function allCheck ( name ) {
    
    var obj = document.all[name];

    if ( isArray ( obj ) ) {
        
        for ( var i = 0; i < obj.length; i++ ) {
            obj[i].checked = true;
        }
        
    } else {
        
        obj.checked = true;
        
    }
    
    return;
    
}

/*
 * checkbox ¸ðµÎ ¼±ÅÃÇØÁ¦
 */
function allNotCheck ( name ) {
    
    var obj = document.all[name];

    if ( isArray ( obj ) ) {
        
        for ( var i = 0; i < obj.length; i++ ) {
            obj[i].checked = false;
        }
        
    } else {
        
        obj.checked = false;
        
    }
    
    return;
    
}

/*
 * checkboxÀÇ check»óÅÂ¸¦ ¹ÝÀü½ÃÅ´
 */
function checkboxToggle ( name ) {
    
    var obj = document.all[name];

    if ( isArray ( obj ) ) {
        
        for ( var i = 0; i < obj.length; i++ ) {
            
            if ( obj[i].checked ) {
                obj[i].checked = false;
            } else {
                obj[i].checked = true;
            }
        }
        
    } else {
        
        if ( obj.checked ) {
            obj.checked = false;
        } else {
            obj.checked = true;
        }
        
    }
    
    return;
    
}

/*
 * checkboxÀÇ check¿©ºÎ¸¦ return
 */
function isCheckboxCheck ( name ) {
    
    var checkYN = false;
    var obj = document.all[name];
    
    if ( isArray ( obj ) ) {
        
        for ( var i = 0; i < obj.length; i++ ) {
            
            if ( obj[i].checked ) {
                checkYN = true;
                break;
            }
        }
        
    } else {
        
        if ( obj.checked ) {
            checkYN = true;
        }
        
    }
    
    return checkYN;
    
}

/*
 * ¿À¸¥ÂÊ¿¡ ch¹®ÀÚ·Î Ã¤¿ì±â
 */
function rpad( newValue, len, ch ) {
    
	var strlen = trim(newValue).length;
	var ret = "";
	var alen = len - strlen;
	var astr = "";	
	
	//ºÎÁ·ÇÑ ¼ýÀÚ¸¸Å­ len Å©±â·Î ch ¹®ÀÚ·Î Ã¤¿ì±â
	for (i=0; i<alen; ++i) {
	    
		astr = astr + ch;
		
	}
	
	ret = trim(newValue) + astr;	//µÚ¿¡¼­ Ã¤¿ì±â
	
	return ret;
	
}

/*
 * ¿À¸¥ÂÊ¿¡ °ø¹é¹®ÀÚ·Î Ã¤¿ì±â
 */
function rpad(newValue, len){
	return rpad(newValue, len, " ");
}

/*
 * ¿ÞÂÊ¿¡ ch ¹®ÀÚ Ã¤¿ì±â
 */
function lpad(newValue, len, ch){
    
	var strlen = trim(newValue).length;
	var ret = "";
	var alen = len - strlen;
	var astr = "";	
	
	//ºÎÁ·ÇÑ ¼ýÀÚ¸¸Å­  len Å©±â·Î ch ¹®ÀÚ·Î Ã¤¿ì±â
	for (i=0; i<alen; ++i)
	{
		astr = astr + ch;
	}
	
	ret = astr + trim(newValue);	//¾Õ¿¡¼­ Ã¤¿ì±â
	return ret;
	
}

/*
 * ¿ÞÂÊ¿¡ °ø¹é¹®ÀÚ·Î Ã¤¿ì±â
 */
function lpad(newValue, len){
	return lpad(newValue, len, " " );
}

/*
 * null ÀÏ °æ¿ì, °ª ´ëÃ¼
 */
function nvl(value, replacer) {
	if ( value == null ) {
		return replacer;
	}else{
		return value;
	}
}

/*
 * ¹®ÀÚ¿­¾çÂÊ³¡¿¡ Á¸ÀçÇÏ´Â È­ÀÌÆ®½ºÆäÀÌ½º Á¦°Å
 */
function trim( val ) {
    
	if ( typeof(val) == 'undefined' ) return "";

	val = val.replace(/^\s+/g,'').replace(/\s+$/g,'');
	
	return val;
}

/*
 * ¹®ÀÚ¿­»çÀÌ¿¡ Á¸ÀçÇÏ´Â ÇÏ³ª ÀÌ»óÀÇ ¿¬¼ÓµÈ È­ÀÌÆ® ½ºÆäÀÌ½º Á¦°Å
 */
function nTrimOne( val ) {
    
	if ( typeof(val) == 'undefined' ) return "";

	val = trim( val );
	val = val.replace(/\s+/g, ' ');
	
	return val;
	
}

/*
 * ¹®ÀÚ¿­»çÀÌ¿¡ Á¸ÀçÇÏ´Â ¸ðµç È­ÀÌÆ® ½ºÆäÀÌ½º Á¦°Å
 */
function allTrim( val ) {
  
	if ( typeof(val) == 'undefined' ) return "";

	val = val.replace(/\s/g, '');
	
	return val;
	
}

/*
 * ¹®ÀÚ¿­ ¿ÞÂÊ¿¡ Á¸ÀçÇÏ´Â È­ÀÌÆ®½ºÆäÀÌ½º Á¦°Å
 */
function ltrim( str ) {
    
 var len = 0;
 
 while (str.substring(len,len+1) == ' ' || str.substring(len,len+1) == '¡¡')
    i = i + 1;
    
 return str.substring(i);
}

/*
 * ¹®ÀÚ¿­ ¿À¸¥ÂÊ¿¡ Á¸ÀçÇÏ´Â È­ÀÌÆ®½ºÆäÀÌ½º Á¦°Å
 */
function rtrim( str ) {
    
    var len = srt.length - 1;
 
    while (len >= 0 && (srt.substring(len,len+1) == ' ' || srt.substring(len,len+1) == '¡¡'))
        len = len - 1;
    
    return srt.substring(0,len+1);
 
}


/*
 * ¹®ÀÚ¿­¿¡¼­ ch ¹®ÀÚ¸¦ Á¦°ÅÇÑ´Ù.
 *  ¿¹) ,  - µîµî
 */
function removeChar( val, ch ) {
    
	var len = val.length;
	var ret = "";
	
	for ( i = 0; i < len; ++i ) {
	    
		if (val.substring(i,i+1) != ch)
			ret = ret + val.substring(i,i+1);
			
	}
	
	return ret;
}

/**
 * ¼Ò¼öÁ¡À» Æ÷ÇÔÇÑ ¼ýÀÚ¸¦ ¼Ò¼öÁ¡À» Á¦°ÅÇÑ Á¤¼ö·Î º¯È¯ÇÑ´Ù.
 *
 * @param str	¹®ÀÚ¿­
 * @return
 */
function toInteger(str) {
    
	if ( str.indexOf(",") != -1 ) {
	    
	    removeChar( str, ',' );
	    
	    if(str.indexOf(".") == -1)
	    	return setFormatCurrency(str, ',');
	    else
	        return setFormatCurrency(str.substring(0, str.indexOf(".")), ',');
	    	
    } else {
        
	    if(str.indexOf(".") == -1)
	    	return str;
	    else
	    	return str.substring(0,  str.indexOf("."));
	    	
    }
}

/**
 * ¼Ò¼öÁ¡À» Æ÷ÇÔÇÏÁö ¾ÊÀº ¼ýÀÚ¸¦ ¼Ò¼öÁ¡À» Æ÷ÇÔÇÑ ½Ç¼ö·Î º¯È¯ÇÑ´Ù.
 *
 * @param str	¹®ÀÚ¿­
 * @return
 */
function toReal(str)
{
	if ( str.indexOf(",") != -1 ) {
	    
	    removeChar( str, ',' );
	    
	    if(str.indexOf(".") == -1)
	    	return setFormatCurrency(str + ".0", ',');
	    	
	    else if(str.indexOf(".") == str.length-1)
	        return setFormatCurrency(str + "0", ',');
	        
	    else
	        return setFormatCurrency(str, ',');
	    	
	} else {
	    
	    if(str.indexOf(".") == -1)
	    	return str + ".0";
	    	
	    else if(str.indexOf(".") == str.length-1)
	    	return str + "0";
	    	
	    else
	    	return str;
	    	
	}
	
		
}

/*
 * »ç¾÷ÀÚµî·Ï¹øÈ£¿¡ '-' »ðÀÔ
 *
 * ex) 1234567890 => 123-45-67890
 */
function setFormatBizno( obj ) {
    
    obj.value = formatMask( obj.value, '###-##-#####' );
    
}

/*
 * strÀ» ±Ý¾×ÇüÅÂ·Î º¯°æ
 *
 * ex) 1234567890 => 1,234,567,890
 */
function setFormatCurrency( val, sep ) {
    
	var str = trim( val );

	str = str.replace( /\,/g, "" );
    
    var size    = 3;
	var strMain = "";
    var strTail = "";
	var strTemp = "";
	var strSep  = sep;
	
    var signFlag = false;
    
    if(str.indexOf("-") != -1) {
        
    	str = str.replace( /\-/g, "" );
        signFlag = true;
        
    }

    // ¼Ò¼ýÁ¡À» Æ÷ÇÔÇÏ´Â °æ¿ì
    if ( str.indexOf(".") != -1 ) {
        
        strMain = str.substring(0, str.indexOf("."));
        strTail = str.substring(str.indexOf("."));
        
        var strMainLength  = strMain.length;

        if ( strMainLength > size ) {
            
            var divLength = parseInt( (strMainLength) / size );
            var remLength = parseInt( (strMainLength) % size );

            if (remLength > 0) {
                strTemp = strMain.substring(0, remLength) + strSep;
            }

            for ( var i = 0; i < divLength; i++ ) {
                
                if (i == 0) {
                    
                    strTemp = strTemp + strMain.substring(remLength, remLength + size);
                    
                } else {
                    
                    strTemp = strTemp + strSep + strMain.substring(remLength + (size * i), remLength + (size * i) + size);
                    
                }
            }
            
        } else {
            
            strTemp = strMain;
            
        }

        val = ( signFlag ? "-" : "" ) + strTemp + strTail;
        
    }
    // Æ÷ÇÔÇÏÁö ¾Ê´Â°æ¿ì
    else {
        
        strMain = str;
        
        var strMainLength = strMain.length;
        
        // 3ÀÚ¸®¸¦ ÃÊ°úÇÏÁö ¾ÊÀ»°æ¿ì -> ±×´ë·Î º¹»ç
        if(strMainLength <= size) {
            
            strTemp = strMain;
            
        }
        // 3ÀÚ¸®¸¦ ÃÊ°úÇÒ °æ¿ì -> ,(Comma)·Î ºÐÇÒÇÑ´Ù.
        else {
            
            var divLength = parseInt((strMainLength)/ size);
            var remLength = parseInt((strMainLength)% size);

            if (remLength > 0) {
                strTemp = strMain.substring(0, remLength) + strSep;
            }

            for ( var i = 0; i < divLength; i++ ) {
                
                if (i == 0) {
                    
                    strTemp = strTemp + strMain.substring(remLength, remLength + size);
                    
                } else {
                    
                    strTemp = strTemp + strSep + strMain.substring(remLength + (size * i), remLength + (size * i) + size);
                    
                }
            }
        }

        val = ( signFlag ? "-" : "" ) + strTemp + strTail;
        
    }
    
    return val;
    
}

/*
 * ÀüÈ­¹øÈ£ format
 *
 * ex ) tel : 1234567890, sep : '-'
          1234567890  => 123-456-7890
 *        12345678901 => 123-4567-8901
 */
function formatTel ( tel, sep ) {
    
	var telPre   = "";
	var telAfter = "";
	
	tel = trim( tel );
	tel = tel.replace( /\-/g, "" );
	
	if ( tel.length > 3 ) {
	    
	    if ( tel.substr(0, 2) == "02" ) {
	      
	      telPre = tel.substring(0, 2) + sep;
	      
	      for ( var i = tel.length; i > 2; i-- ) {
	          
	          if ( i == tel.length - 4 ) {
	              telAfter = sep + telAfter;
	          } 
	          
	          telAfter = tel.substring(i-1, i) + telAfter;
        
	      }
	      
	    } else {
	      
	      telPre = tel.substring(0, 3) + sep;
	      
	      for ( var i = tel.length; i > 3; i-- ) {
	          
	          if ( i == tel.length - 4 ) {
	              telAfter = sep + telAfter;
	          } 
	          
	          telAfter = tel.substring(i-1, i) + telAfter;
        
	      }
	      
	    }
	    
	} else {
	    
	    telPre = tel;
	    
	}
	
	tel = telPre + telAfter;
	
	return tel;
	
}


/*
 * input boxÀÇ °ªÀÌ size¸¸Å­ µÇ¸é next Object·Î focus ÀÌµ¿
 *   param : obj ÇöÀç focus¸¦ °¡Áö°í ÀÖ´Â input box
 *           size focus¸¦ ÀÌµ¿ÇÒ ±âÁØÀÌ µÇ´Â size
 */
function nextFocusMove( curObj, nextObj, size ) {

    var str = curObj.value;

    if ( str.length == size ) {

        nextObj.focus();

    }

    return;

}

/*
 * obj¿Í µ¿ÀÏÇÑ objectÀÇ elementIndex¿Í object°¡ ¼ÓÇØÀÖ´Â formIndex¸¦
 * elementIndex, formIndex¿¡ setting
 *   param : obj elementIndex, formIndex¸¦ Ã£À» object
 *
 */
function setElementIndex ( obj ) {

    for(i = 0; i < document.forms.length; i++) {

        var form = document.forms[i];

        formIndex = i;

        for(j = 0; j < form.elements.length; j++) {

            if (document.form.elements[j] == obj) {
                elementIndex = j;
                return;
            }

        }
    }

    return;

}

/* ÁÖ¹Îµî·Ï¹øÈ£¿¡¼­ ¼ºº°À» ÃßÃâÇÑ´Ù. */
function getGender( regno ) {
    
    var gender = '';
    
    if ( regno != "1111111111111" ) {
      
      var gender = regno.substring(6,7);
      
      if ( '1/3/5/7'.indexOf(gender) < 0 )
  	      gender = '2';
      else
  	      gender = '1';
  	      
  	}
  	
  	return gender;
  	    
}

/*
 * º¸Çè¿¬·É °è»ê
 *
 *   regno  : ÁÖ¹Îµî·Ï¹øÈ£
 *   polidt : °è¾àÀÏ ("YYYYMMDD", "YYYY/MM/DD" ÇüÅÂ¸¸ °¡´É)
 *
 */
 
function getInsuAge(jumin_id) {
  
  if ( jumin_id != '1111111111111' ) {
    
  	var toyy = getYear();
  	var tomm = getMonth();
  	var todd = getDay();
  	
  	var datechk = false;
  	
  	var juyy = eval(jumin_id.substring(0,2));
  	var jumm = eval(jumin_id.substring(2,4));
  	var judd = eval(jumin_id.substring(4,6));
  	var juwm = eval(jumin_id.substring(6,7));
  
  	if( "1/2/5/6".indexOf(juwm) < 0 ) 
  	  juyy = juyy + 2000;
    else
      juyy = juyy + 1900;
  
  	if (   ((tomm == 1 || tomm == 3 || tomm == 5 || tomm == 7 || tomm ==8 || tomm == 10 || tomm == 12 ) && todd == 31)
  		|| ((tomm == 4 || tomm == 6 || tomm == 9 || tomm == 11) && todd==30 )
  		|| (tomm == 2 && (todd==28 || todd == 29 ))  )  datechk = true;
  	var caldd = eval(todd) - eval(judd);
  
  	if ( caldd < 0 && datechk == false)  tomm = tomm - 1
  
  	var calmm = eval(tomm) - eval(jumm);
  	if (calmm < 0 ) {
  		toyy = toyy - 1 ;
  		calmm = calmm + 12;
  	}
  	calyy = eval(toyy) - eval(juyy);
  	if (calmm > 5 ) calyy = calyy + 1;
  	
  } else {
    
    calyy = 0;
    
  }
  
	return calyy;

}


/*
 * º¸Çè¿¬·É °è»ê
 *
 *   regno  : ÁÖ¹Îµî·Ï¹øÈ£
 *   polidt : °è¾àÀÏ ("YYYYMMDD", "YYYY-MM-DD" ÇüÅÂ¸¸ °¡´É)
 *
 */
 
function getInsuAgeContDt(regno, polidt) {
  
  if ( regno != '1111111111111' ) {
    
  	var tmp = removeChar(polidt, '-');
  	
  	var toyy = tmp.substring(0, 4);
  	var tomm = tmp.substring(4, 6);
  	var todd = tmp.substring(6, 8);
  	
  	var datechk = false;
  	
  	var juyy = eval(regno.substring(0,2));
  	var jumm = eval(regno.substring(2,4));
  	var judd = eval(regno.substring(4,6));
  	var juwm = eval(regno.substring(6,7));
  
  	if( "1/2/5/6".indexOf(juwm) < 0 ) 
  	  juyy = juyy + 2000;
    else
      juyy = juyy + 1900;
  
  	if (   ((tomm == 1 || tomm == 3 || tomm == 5 || tomm == 7 || tomm ==8 || tomm == 10 || tomm == 12 ) && todd == 31)
  		|| ((tomm == 4 || tomm == 6 || tomm == 9 || tomm == 11) && todd==30 )
  		|| (tomm == 2 && (todd==28 || todd == 29 ))  )  datechk = true;
  	var caldd = eval(todd) - eval(judd);
  
  	if ( caldd < 0 && datechk == false)  tomm = tomm - 1
  
  	var calmm = eval(tomm) - eval(jumm);
  	if (calmm < 0 ) {
  		toyy = toyy - 1 ;
  		calmm = calmm + 12;
  	}
  	calyy = eval(toyy) - eval(juyy);
  	if (calmm > 5 ) calyy = calyy + 1;
  	
  } else {
    
    calyy = 0;
    
  }
  
	return calyy;

}


/* 
 * ¸¸¿¬·É °è»ê
 *
 *   regno  : ÁÖ¹Îµî·Ï¹øÈ£
 *
 */
function getCurRealAge ( regno ) {
    
    //try {
        
        if ( regno == "0000000000000" || regno == "1111111111111" ) {       //¹ýÁ¤»ó¼ÓÀÎ ¶Ç´Â ÅÂ¾Æ
            return "0";
        }
        
        //»ý³â¿ùÀÏ °è»ê
        var birthYear = regno.substring(0,2)*1;
        
        var gender = '1';       //µðÆúÆ® ¼ºº°: ³²ÀÚ.
        if ( regno.length >= 7 ) {
            gender = regno.substring(6,7);
        }
        
        if ( "1/2/5/6".indexOf(gender) > -1 ) {
            
            birthYear += 1900;
            
        } else if ( "7/8".indexOf(gender) > -1 ) {
            
            //¿©±ÇÀ¸·Î Á¶¸³ÇÑ ¿Ü±¹ÀÎÀÎ °æ¿ì ¹«Á¶°Ç 7,8·Î Á¶¸³µÊ. »ý³â(³¡2ÀÚ¸®)ÀÌ ¿ÃÇØ(³¡2ÀÚ¸®)º¸´Ù Å©¸é 1900³â»ýÀ¸·Î °£ÁÖ
            var currDate = new Date();
            
            if ( birthYear > (currDate.getYear()%2000) )
                birthYear += 1900;
            else
                birthYear += 2000;
                
        } else {
            
            birthYear += 2000;
            
        }
        
        var birthdt = birthYear + regno.substring(2,6);
        polidt = getYear() + getMonth() + getDay();
        var interval = getMonthInterval(birthdt, polidt);
        return Math.floor(interval /12.0);
        
    //} catch( x ) {
    //    
    //    return 0;
    //    
    //}
    
}


/* 
 * ¸¸¿¬·É °è»ê
 *
 *   regno  : ÁÖ¹Îµî·Ï¹øÈ£
 *   polidt : °è¾àÀÏ ("YYYYMMDD", "YYYY/MM/DD" ÇüÅÂ¸¸ °¡´É)
 *
 */
function getRealAge ( regno, polidt ) {
    
    try {
        
        if ( regno == "0000000000000" || regno == "1111111111111" ) {       //¹ýÁ¤»ó¼ÓÀÎ ¶Ç´Â ÅÂ¾Æ
            return "0";
        }
        
        //»ý³â¿ùÀÏ °è»ê
        var birthYear = regno.substring(0,2)*1;
        
        var gender = '1';       //µðÆúÆ® ¼ºº°: ³²ÀÚ.
        if ( regno.length >= 7 ) {
            gender = regno.substring(6,7);
        }
        
        if ( "1/2/5/6".indexOf(gender) > -1 ) {
            
            birthYear += 1900;
            
        } else if ( "7/8".indexOf(gender) > -1 ) {
            
            //¿©±ÇÀ¸·Î Á¶¸³ÇÑ ¿Ü±¹ÀÎÀÎ °æ¿ì ¹«Á¶°Ç 7,8·Î Á¶¸³µÊ. »ý³â(³¡2ÀÚ¸®)ÀÌ ¿ÃÇØ(³¡2ÀÚ¸®)º¸´Ù Å©¸é 1900³â»ýÀ¸·Î °£ÁÖ
            var currDate = new Date();
            
            if ( birthYear > (currDate.getYear()%2000) )
                birthYear += 1900;
            else
                birthYear += 2000;
                
        } else {
            
            birthYear += 2000;
            
        }
        
        var birthdt = birthYear + regno.substring(2,6);
        //polidt = numberParse(polidt);
        
        var interval = getMonthInterval(birthdt, polidt);

        return Math.floor(interval /12.0);
        
    } catch( x ) {
        
        return 0;
        
    }
    
}

/*
 * ½ÇÁ¦ ¹®ÀÚ¿­ÀÇ ±æÀÌ
 */
function realStrLen ( str ) {
    
    var len = 0;
    
    // String ±æÀÌ¸¦ ±¸ÇÏ´Â ºÎºÐ
    for( var i = 0; i < str.length; i++ ) {
        
        if ( str.charCodeAt(i) > 255 )
            len += 2;
        else
            len++;
            
    }
    
    return len;
    
}

/*
 * ¼ýÀÚ¸¸ ³²±â°í ¸ðµÎ Á¦°ÅÇÑ´Ù.
 */
function numberParse(value) {
    return value.replace(/\D/g,"");
}

//¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
// filter¿¡ ÇØ´çÇÏ´Â ¹®ÀÚ¸¸ ÀÔ·Â°¡´É
//¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
function inputTypeFilter( sFilter ) {

	var re = new RegExp(sFilter);    
    var sKey = String.fromCharCode(event.keyCode); 
    
	if ( !re.test(sKey) )
		event.returnValue = false;   

}

function modalPopup( pUrl, pWidth, pHeight ) {
    
    var paramObj = new Object();
    
    paramObj.src = pUrl;
    
    var feature  = "dialogWidth:"+pWidth+"px;dialogHeight:"+pHeight+"px;help:No;resizable:No;status:No;scroll:No;center:yes";
    var rtnValue = window.showModalDialog ("/html/common/popup/commonModalPopup.html", paramObj, feature );
    
    if ( rtnValue ) {
        return rtnValue;
    } else {
        
        return;
    }
        
}

function openWindow( uri, w, h, sc, rs, windowname ) { 
    
	var wct = (screen.width - w) / 2;
	var hct= (screen.height - h) / 2;
    var winObj = window.open(uri,windowname, ('scrollbars='+sc+',resizable='+rs+', width='+w+ ',height='+h+',top=' +hct+',left='+wct));
    	
    return winObj;
    
}

function getCookie( name ) {

	var nameOfCookie = name + "=";
	var x = 0;
	while ( x <= document.cookie.length )
	{
		var y = (x+nameOfCookie.length);
		if ( document.cookie.substring( x, y ) == nameOfCookie ) {
			if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
				endOfCookie = document.cookie.length;
			return unescape( document.cookie.substring( y, endOfCookie ) );
		}
		x = document.cookie.indexOf( " ", x ) + 1;
		if ( x == 0 )
			break;
	}
	return "";
}