/**
 * return the value of given parameter extracted from URL QueryString.
 */
function getParameter(name) {

	var s, i, j, k;
	s = self.location.search;
	i = s.indexOf(name + '=');
	if(i<0) {
		return '';
	}

	j = i + name.length + 1;
	k = s.indexOf('&', j);

	return (k<0)? s.substr(j) : s.substring(j, k);
}

/**
 * ¹®ÀÚ¿­ ÁÂÃø, ¿ìÃø °ø¹éÁ¦°Å.
 *
 * @param str ¹®ÀÚ¿­
 * @return ¹®ÀÚ¿­
 */
function trim(str)
{
    if(str != null && str.length > 0)
    {
        return str.replace(/(^\s*)|(\s*$)/g, "");
    }
    else
    {
        return "";
    }
}

/**
 * ¹®ÀÚ¿­ ÁÂÃø °ø¹éÁ¦°Å.
 *
 * @param str ¹®ÀÚ¿­
 * @return ¹®ÀÚ¿­
 */
function ltrim(str)
{
    if(str != null && str.length > 0)
    {
        return str.replace(/(^\s*)/, "");
    }
    else
    {
        return "";
    }
}

/**
 * ¹®ÀÚ¿­ ¿ìÃø °ø¹éÁ¦°Å.
 *
 * @param str ¹®ÀÚ¿­
 * @return ¹®ÀÚ¿­
 */
function rtrim(str)
{
    if(str != null && str.length > 0)
    {
        return str.replace(/(\s*$)/, "");
    }
    else
    {
        return "";
    }
}

/**
 * ¹®ÀÚ¿­ÀÌ ÀÔ·ÂµÈ ¹ÙÀÌÆ®º¸´Ù Å«Áö Ã¼Å©ÈÄ
 * Å©´Ù¸é ÀÔ·ÂµÈ ¹ÙÀÌÆ®¸¸Å­ Àß¶ó¼­ ¸®ÅÏ.
 * (ÇÑ±Û 3byte)
 *
 * @param chkInput ÄÁÆ®·Ñ
 * @param chk_size ¹ÙÀÌÆ®Å©±â
 * @param chk_size Ãâ·Â¹®ÀÚ¿­
 */
function msgByteCheck(chkInput, chk_size, msg)
{
    var len = getByteLen(chkInput.value);

    if(len > chk_size)
    {
        alert(msg + " ÃÖ´ë " + chk_size + "byteÀÌ¹Ç·Î ÃÊ°úµÈ ±ÛÀÚ ¼ö´Â ÀÚµ¿À¸·Î »èÁ¦µË´Ï´Ù.");
        chkInput.value = chkInput.value.replace(/\r\n$/, "");
        chkInput.value = getByteSubstring(chkInput.value, chk_size);

        return false;
    }
    else
    {
        return true;
    }
}

/**
 * ¹®ÀÚ¿­ÀÇ byte ±æÀÌ ¹ÝÈ¯.
 * (ÇÑ±Û 2byte)
 *
 * @param str ¹®ÀÚ¿­
 * @return int
 */
function getByteLen(str)
{
    var nbyte = 0;

    if(str != null && str.length > 0)
    {
        for(var i=0; i<str.length; i++)
        {
            var ch = str.charAt(i);

            if(escape(ch).length > 4)
            {
                nbyte += 2;
            }
            else
            {
                nbyte += 1;
            }
        }
    }

    return nbyte;
}

/**
 * ¹®ÀÚ¿­À» ÀÔ·ÂµÈ ¹ÙÀÌÆ®Å©±â·Î ÀÚ¸¥´Ù.
 * (ÇÑ±Û 2byte)
 *
 * @param message ¹®ÀÚ¿­
 * @param maxLen  ±æÀÌ
 */
function getByteSubstring(message, maxLen)
{
    var inc = 0;
    var nbytes = 0;
    var msg = "";
    var msglen = message.length;

    for(i=0; i<msglen; i++)
    {
        var ch = message.charAt(i);
        if(escape(ch).length > 4)
        {
            inc = 2;
        }
        else
        {
            inc = 1;
        }

        if((nbytes + inc) > maxLen)
        {
            break;
        }

        nbytes += inc;
        msg += ch;
    }

    return msg;
}

/**
 *  ¼ýÀÚ Ã¼Å©
 *
 * @param str ¹®ÀÚ¿­
 * @return boolean
 */
function isNum(str)
{
    for(var i=0; i<str.length; i++)
    {
        var c = str.charCodeAt(i);

        if(!(0x30 <= c && c <= 0x39))
        {
            return false ;
        }
    }

    return true ;
}

/**
 * ÇÑ±Û Ã¼Å©
 *
 * @param str ¹®ÀÚ¿­
 * @return boolean
 */
function isHan(str)
{
    for(var i=0; i<str.length; i++)
    {
        var c = str.charCodeAt(i);

        // ( 0xAC00 <= c && c <= 0xD7A3 ) ÃÊÁßÁ¾¼ºÀÌ ¸ðÀÎ ÇÑ±ÛÀÚ
        // ( 0x3131 <= c && c <= 0x318E ) ÀÚÀ½ ¸ðÀ½

        if(!((0xAC00 <= c && c <= 0xD7A3) || (0x3131 <= c && c <= 0x318E )))
        {
            return false ;
        }
    }

    return true;
}

/**
 * ¿µ¹®ÀÎÁö Ã¼Å©
 *
 * @param str ¹®ÀÚ¿­
 * @return boolean
 */
function isEng(str)
{
    for(var i=0; i<str.length; i++)
    {
        var c = str.charCodeAt(i);

        if(!((0x61 <= c && c <= 0x7A) || (0x41 <= c && c <= 0x5A)))
        {
            return false ;
        }
    }

    return true;
}

/**
 * ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
 *
 * @param str ¹®ÀÚ¿­
 * @return boolean
 */
function isJumin(str)
{
    if(str != null && (str.length == 13 || str.length == 14))
    {
        var num = '';

        if(str.length == 13)
        {
            num = str;
        }
        else
        {
            num = str.substring(0, 6) + str.substring(7, 14);
        }

        var sum = 0;
        var last = num.charCodeAt(12) - 0x30;
        var bases = "234567892345";

        for(var i=0; i<12; i++)
        {
            if (isNaN(num.substring(i,i+1))) return false;
            sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
        }

        var mod = sum % 11;

        return ((11 - mod) % 10 == last) ? true : false;
    }
    else
    {
        return false;
    }
}

/**
 * »ç¾÷ÀÚ µî·Ï¹øÈ£ Ã¼Å©
 *
 * @param str »ç¾÷ÀÚ µî·Ï¹øÈ£ ¹®ÀÚ¿­
 * @return boolean
 */
function isVendor(str) {

	var strNumb = str;

   if( strNumb.length != 10 ) {

     	return false;
  	}
       
   sumMod  =   0;
   sumMod  +=  parseInt(strNumb.substring(0,1));
   sumMod  +=  parseInt(strNumb.substring(1,2)) * 3 % 10;
   sumMod  +=  parseInt(strNumb.substring(2,3)) * 7 % 10;
   sumMod  +=  parseInt(strNumb.substring(3,4)) * 1 % 10;
   sumMod  +=  parseInt(strNumb.substring(4,5)) * 3 % 10;
   sumMod  +=  parseInt(strNumb.substring(5,6)) * 7 % 10;
   sumMod  +=  parseInt(strNumb.substring(6,7)) * 1 % 10;
   sumMod  +=  parseInt(strNumb.substring(7,8)) * 3 % 10;
   sumMod  +=  Math.floor(parseInt(strNumb.substring(8,9)) * 5 / 10);
   sumMod  +=  parseInt(strNumb.substring(8,9)) * 5 % 10;
   sumMod  +=  parseInt(strNumb.substring(9,10));
       
 	if( sumMod % 10 != 0 ) {

		return false;
 	}
   return true;
}

/**
 * ÀÌ¸ÞÀÏÁÖ¼Ò Ã¼Å©
 *
 * @param str ¹®ÀÚ¿­
 * @return boolean
 */
function isEmail(str)
{
	var value = str;
	var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;

    return (pattern.test(value)) ? true : false;
}

/**
 * Ã³À½½ÃÀÛ 1ÀÚ¸®´Â ¿µ¹®, 4ÀÚÀÌ»ó 20ÀÚ ¹Ì¸¸, ¿µ¹®, ¼ýÀÚ, _¸¸ »ç¿ë.
 *
 * @param str ¹®ÀÚ¿­
 * @return boolean
 */
function isUserid(str)
{
	var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9_]{3,20}$/;

    return (pattern.test(str)) ? true : false;
}

/**
 * Ã³À½½ÃÀÛ 1ÀÚ¸®´Â ¿µ¹®, 4ÀÚÀÌ»ó 10ÀÚ ¹Ì¸¸, ¿µ¹®, ¼ýÀÚ¸¸ »ç¿ë.
 *
 * @param str ¹®ÀÚ¿­
 * @return boolean
 */
function isPass(str)
{
	//var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9]{3,10}$/;
    var pattern = /^[a-zA-Z0-9]{4,10}$/;

    return (pattern.test(str)) ? true : false;
}

/**
 * keyCode¸¦ °¡Á®¿Â´Ù.
 *
 * @param e event °´Ã¼
 * @return Å°ÄÚµå°ª
 */
function getKeyCode(e)
{
    if(window.event) // IE
    {
        return e.keyCode;
    }
    else if(e.which) // Firefox
    {
        return e.which;
    }
    else
    {
        return 0;
    }
}

/**
 * ¿£ÅÍÅ°°ªÀ» Ã¼Å©ÇÑ´Ù
 *
 * @param ¸®ÅÏÇÒ ÇÔ¼ö¸í
 * @return ÇÔ¼öÈ£Ãâ
 */
function isEnter(rtnFunc)
{
    //alert(getKeyCode(event));
    if(getKeyCode(event) == 13)
    {
        if(rtnFunc)
        {
            rtnFunc();
        }
    }
}

/**
 * 3ÀÚ¸®¸¶´Ù , ¸¦ Âï¾î¼­ ¹ÝÈ¯
 *
 * @param str ¹®ÀÚ¿­
 * @return ¹®ÀÚ¿­
 */
function commaToMoney(str)
{
    var num = trim(str);

    while((/(-?[0-9]+)([0-9]{3})/).test(num))
    {
        num = num.replace((/(-?[0-9]+)([0-9]{3})/), "$1,$2");
    }

    return num;
}

/**
 * ¿øº»¹®ÀÚ¿­¿¡¼­ oldStr->newStr·Î º¯°æÇÑ´Ù.
 *
 * @param orgStr ¿øº» ¹®ÀÚ¿­
 * @param oldStr º¯°æ ¹®ÀÚ¿­
 * @param newStr »õ·Î¿î ¹®ÀÚ¿­
 */
function replace(orgStr, oldStr, newStr)
{
	var i = 0;
	var str = "";

	if(orgStr != "")
	{
		str = orgStr;

		while((i = str.indexOf(oldStr)) > -1)
		{
			str = str.substring(0, i) + newStr + str.substring(i+1, str.length);
		}
	}

	return str;
}

/**
 * ¹®ÀÚ¿­¿¡¼­ " -> &#34; ' -> &#39;·Î º¯°æ
 *
 * @param str ¹®ÀÚ¿­
 * @return ¹®ÀÚ¿­
 */
function replaceQuota(str)
{
    return str.replace(/"/g, "&#34;").replace(/'/g, "&#39;");
}

/**
 * ¼ýÀÚ¸¦ Á¦¿ÜÇÑ key ¸ÔÁö ¾Êµµ·ÏÇÑ´Ù (OnKeyPress Àû¿ë)
 */
function onlyNumberKey()
{
   if((event.keyCode < 48) || (event.keyCode > 57))
   {
       event.returnValue = false;
   }
}

/**
 * id ¼Ó¼ºÀÇ °ªÀÌ elementÀÎ ÅÂ±×¸¦ ±¸ÇÑ´Ù.
 *
 * @param elementId ¿ä¼Ò
 */
function getElementById(elementId)
{
    if(elementId != null && elementId != '')
    {
        return document.getElementById(elementId);
    }
    else
    {
        return null;
    }
}

/**
 * element¿¡ ¼Ó¼ºÀ» ¾ò´Â´Ù.
 *
 * @param ctrl ÄÁÆ®·Ñ
 * @param attributeName ¼Ó¼º¸í
 * @return ¼Ó¼º°ª
 */
function getAttribute(ctrl, attributeName)
{
    return ctrl.getAttribute(attributeName);
}

/**
 * element¿¡ ¼Ó¼ºÀ» Ãß°¡ÇÑ´Ù.
 *
 * @param ctrl ÄÁÆ®·Ñ
 * @param attributeName ¼Ó¼º¸í
 * @param attributeValue ¼Ó¼º°ª
 */
function setAttribute(ctrl, attributeName, attributeValue)
{
    ctrl.setAttribute(attributeName, attributeValue);
}

/**
 * name ÅÂ±×¿¡ ÇØ´çÇÏ´Â ¸ðµç elementÀÇ ¸ñ·ÏÀ» ¾ò´Â´Ù.
 *
 * @param tagName ÅÂ±×¸í
 */
function getElementsTagName(tagName)
{
    if(tagName != null && tagName != '')
    {
        return document.getElementsTagName(tagName);
    }
    else
    {
        return null;
    }
}

/**
 * ÆË¾÷Ã¢À» ¶ç¿î´Ù.
 *
 * @param urlWin °æ·Î
 * @param winName ÆË¾÷¸í
 * @param widthWin ÆË¾÷ÀÇ Æø
 * @param heightWin ÆË¾÷ÀÇ ³ôÀÌ
 * @param topWind ÆË¾÷ÀÇ »ó´ÜÀ§Ä¡
 * @param leftWin ÆË¾÷ÀÇ ÁÂÃøÀ§Ä¡
 * @param scrollbarsWin ½ºÅ©·Ñ(yes, no, auto)
 * @param resizableWin ¸®»çÀÌÁî(yes, no)
 * @param centerFlag ÆË¾÷Ã¢ Áß¾ÓÀ§Ä¡(true, false)
 */
function popUpWin(urlWin, winName, widthWin, heightWin, topWind, leftWin, scrollbarsWin, resizableWin, centerFlag)
{
    var x;
    var y;

    var nameWin = (winName != null && winName.length > 0) ? winName : 'winPop1';

    nameWin += getYear() + getMonth() + getDay() + getHour() + getMinute() + getSecond() + getMillisecond();

    if(centerFlag == true)
    {
        x = (screen.availWidth - widthWin) / 2;
        y = (screen.availHeight - heightWin) / 2;
    }
    else
    {
        x = leftWin;
        y = topWind;
    }

    var _popWindObj = window.open(urlWin, nameWin, 'top='+y+',left='+x+',width='+widthWin+",height="+heightWin+',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scrollbarsWin+',resizable='+resizableWin+',copyhistory=no');
    _popWindObj.focus();
}

/**
 * ÆË¾÷Ã¢À» ¶ç¿î´Ù. (ÆûÀ» submit ÇÑ´Ù)
 *
 * @param urlWin °æ·Î
 * @param winName ÆË¾÷¸í
 * @param widthWin ÆË¾÷ÀÇ Æø
 * @param heightWin ÆË¾÷ÀÇ ³ôÀÌ
 * @param topWind ÆË¾÷ÀÇ »ó´ÜÀ§Ä¡
 * @param leftWin ÆË¾÷ÀÇ ÁÂÃøÀ§Ä¡
 * @param scrollbarsWin ½ºÅ©·Ñ(yes, no, auto)
 * @param resizableWin ¸®»çÀÌÁî(yes, no)
 * @param centerFlag ÆË¾÷Ã¢ Áß¾ÓÀ§Ä¡(true, false)
 * @param formObj Æû °´
 */
function popUpWinSumit(urlWin, winName, widthWin, heightWin, topWind, leftWin, scrollbarsWin, resizableWin, centerFlag, formObj)
{
    var x;
    var y;

    var nameWin = (winName != null && winName.length > 0) ? winName : 'winPop2';

    nameWin += getYear() + getMonth() + getDay() + getHour() + getMinute() + getSecond() + getMillisecond();

    if(centerFlag == true)
    {
        x = (screen.availWidth - widthWin) / 2;
        y = (screen.availHeight - heightWin) / 2;
    }
    else
    {
        x = leftWin;
        y = topWind;
    }

    var _popWindObj = window.open('', nameWin, 'top='+y+',left='+x+',width='+widthWin+",height="+heightWin+',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scrollbarsWin+',resizable='+resizableWin+',copyhistory=no');

    formObj.target = nameWin;
    formObj.action = urlWin;
    formObj.submit();

    _popWindObj.focus();
}

/**
 * ³âµµ 4ÀÚ¸®¸¦ ¾ò´Â´Ù
 */
function getYear()
{
    var today = new Date();

    return today.getFullYear().toString();
}

/**
 * ¿ù 2ÀÚ¸®¸¦ ¾ò´Â´Ù
 */
function getMonth()
{
    var today = new Date();

    if((today.getMonth() + 1) < 10)
    {
        return ('0' + (today.getMonth() + 1));
    }
    else
    {
        return (today.getMonth() + 1).toString();
    }
}

/**
 * ÀÏ 2ÀÚ¸®¸¦ ¾ò´Â´Ù.
 */
function getDay()
{
    var today = new Date();
    var d = '';

    if(today.getDate() < 10)
    {
        return ('0' + today.getDate());
    }
    else
    {
        return today.getDate().toString();
    }
}

/**
 * ¿äÀÏÁ¤º¸¸¦ ¾ò´Â´Ù.
 */
function getWeek()
{
	var today = new Date();
    var week = "";
    
	if(parseInt(today.getDay()) == 0)
	{
		week = "ÀÏ";
	}
	else if(parseInt(today.getDay()) == 1)
	{
		week = "¿ù";
	}
	else if(parseInt(today.getDay()) == 2)
	{
		week = "È­";
	}
	else if(parseInt(today.getDay()) == 3)
	{
		week = "¼ö";
	}
	else if(parseInt(today.getDay()) == 4)
	{
		week = "¸ñ";
	}
	else if(parseInt(today.getDay()) == 5)
	{
		week = "±Ý";
	}
	else if(parseInt(today.getDay()) == 6)
	{
		week = "Åä";
	}
	
	return week;
}

/**
 * ³â¿ùÀÏÀ» ±¸ºÎÀÚ·Î ºÐ¸®ÇÏ¿© ¾ò´Â´Ù
 *
 * @param gubun ±¸ºÐÀÚ
 */
function getDate(gubun)
{
    if(gubun != null && gubun != '')
    {
        return (getYear() + gubun + getMonth() + gubun + getDay());
    }
    else
    {
        return (getYear() + "" + getMonth() + "" + getDay());
    }
}

/**
 * 0~23 »çÀÌÀÇ ½Ã°£Á¤º¸ 2ÀÚ¸®¸¦ ¾ò´Â´Ù.
 */
function getHour()
{
    var today = new Date();

    if(today.getHours() < 10)
    {
        return ('0' + today.getHours());
    }
    else
    {
        return today.getHours().toString();
    }
}

/**
 * 0~59 »çÀÌÀÇ ºÐÁ¤º¸ 2ÀÚ¸®¸¦ ¾ò´Â´Ù.
 */
function getMinute()
{
    var today = new Date();

    if(today.getMinutes() < 10)
    {
        return ('0' + today.getMinutes());
    }
    else
    {
        return today.getMinutes().toString();
    }
}

/**
 * 0~59 »çÀÌÀÇ ÃÊÁ¤º¸ 2ÀÚ¸®¸¦ ¾ò´Â´Ù.
 */
function getSecond()
{
    var today = new Date();

    if(today.getSeconds() < 10)
    {
        return ('0' + today.getSeconds());
    }
    else
    {
        return today.getSeconds().toString();
    }
}

/**
 * 100ºÐÀÇ 1ÃÊ 3ÀÚ¸®¸¦ ¾ò´Â´Ù.
 */
function getMillisecond()
{
    var today = new Date();
    var ms = today.getMilliseconds().toString();

    if(ms.length == 0)
    {
        return '000';
    }
    else if(ms.length == 1)
    {
        return ('00' + ms);
    }
    else if(ms.length == 2)
    {
        return ('0' + ms);
    }
    else
    {
        return ms;
    }
}

/**
 * Å¸ÀÌ¸Ó·Î Opacity°ª Á¶Á¤
 *
 * @param opacityValue Opacity°ª (parseFloat(1.0))
 * @param interval Å¸ÀÌ¸ÓÈ£Ãâ°£°Ý
 * @param callFunc Å¸ÀÌ¸Ó È£Ãâ½Ã È£ÃâµÇ´Â ÇÔ¼ö
 * @param resultFunc Å¸ÀÌ¸Ó ¿Ï·á½Ã È£ÃâµÇ´Â ÇÔ¼ö
 * @param str ¹®ÀÚ¿­
 */
function itemDeleteOpacity(opacityValue, interval, callFunc, resultFunc, str)
{
    var opacity = opacityValue - 0.1;

    if(opacity >= 0)
    {
        if(callFunc)
        {
            callFunc(opacity, str);
        }

        setTimeout("itemDeleteOpacity("+opacity+", "+interval+", "+callFunc+", "+resultFunc+", '"+str+"')", interval);
    }
    else
    {
        if(resultFunc)
        {
            resultFunc(str);
        }
    }
}

/**
 * ÆÄÀÏ¹®ÀÚ¿­¿¡¼­ È®ÀåÀÚ¸¦ ¾ò´Â´Ù.
 *
 * @param strFile ¹®ÀÚ¿­
 * @param rtnType 'L'->¼Ò¹®ÀÚ, 'U'->´ë¹®ÀÚ
 * @return ÆÄÀÏÈ®ÀåÀÚ
 */
function getFileExt(strFile, rtnType)
{
    if(rtnType != "L" && rtnType != "U")
    {
        rtnType = "L";
    }

    if(rtnType == "L")
    {
        return ((strFile.indexOf(".") < 0) ? "" : strFile.substring(strFile.lastIndexOf(".") + 1, strFile.length).toLowerCase())
    }
    else if(rtnType == "U")
    {
        return ((strFile.indexOf(".") < 0) ? "" : strFile.substring(strFile.lastIndexOf(".") + 1, strFile.length).toUpperCase())
    }
}

/**
* ÀÔ·Â ¹ÞÀº µÎ ³¯Â¥ÀÇ Â÷ÀÌ¸¦ ¸®ÅÏÇÑ´Ù.
* ½ÃÀÛ time1 Çü½Ä yyyy&MM&dd
* Á¾·á time2 Çü½Ä yyyy&MM&dd
* ºÐÇÒ¹®ÀÚ splitStr À§ &¿¡ ÇØ´çÇÏ´Â ºÐÇÒ ¹®ÀÚ
* return µÎ ³¯Â¥ÀÇ Â÷ÀÌ ÀÏ¼ö
*/
function getDayInterval(time1,time2,splitStr)
{
	var i=0;
	var j=0;
    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	if(time1.length != 10 || time2.length != 10)
	{
		return 0;
	}

	var sTimeArr = time1.split(splitStr);
	var eTimeArr = time2.split(splitStr);

	if(sTimeArr.length != 3 || eTimeArr.length != 3)
	{
		return 0;
	}

	var sDate = new Date(sTimeArr[0],(eval(sTimeArr[1])-1),sTimeArr[2]);
	var eDate = new Date(eTimeArr[0],(eval(eTimeArr[1])-1),eTimeArr[2]);
	//var sDate = new Date(eval(sTimeArr[0])-1,(eval(sTimeArr[1])-1),eval(sTimeArr[2])-1);
	//var eDate = new Date(eval(eTimeArr[0])-1,(eval(eTimeArr[1])-1),eval(eTimeArr[2])-1)
	var sDate = new Date(eval(sTimeArr[0]),(eval(sTimeArr[1])-1),eval(sTimeArr[2])-1);
	var eDate = new Date(eval(eTimeArr[0]),(eval(eTimeArr[1])-1),eval(eTimeArr[2])-1);;
	var day = 1000 * 3600 * 24; //24½Ã°£

	return Math.ceil(eval((eDate.getTime() - sDate.getTime()) / day));
}

function getCookieVal(offset) 
{
	var endstr = document.cookie.indexOf (";", offset);
	
   	if (endstr == -1) 
   	{
   		endstr = document.cookie.length;
   	}
   	
   	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name) 
{
	var arg = name + "=";
   	var alen = arg.length;
   	var clen = document.cookie.length;
   	var i = 0;
   	
   	while (i < clen) 
   	{ 
   		var j = i + alen;
   		
      	if (document.cookie.substring(i, j) == arg)
      	{
      		return getCookieVal (j);
      	}
      	
      	i = document.cookie.indexOf(" ", i) + 1;
      	
      	if (i == 0) 
      	{
      		break;
      	}
   	} 
   
   return null;
}

function SetCookie(name, value, expires, path, domain, secure) 
{
	var argv = SetCookie.arguments;
   	var argc = SetCookie.arguments.length;
   	/*
   	var expires = (2 < argc) ? argv[2] : null;
   	var path = (3 < argc) ? argv[3] : null;
   	var domain = (4 < argc) ? argv[4] : null;
   	var secure = (5 < argc) ? argv[5] : false;
   	*/
   	document.cookie = name + "=" + escape (value) +
      ((expires == null) ? "" : 
         ("; expires=" + expires.toGMTString())) +
      ((path == null) ? "" : ("; path=" + path)) +
      ((domain == null) ? "" : ("; domain=" + domain)) +
      ((secure == true) ? "; secure" : "");
}

//*****************************************************************************
//Description : Æ¯Á¤°ª ÆäÅÏ Ã¼Å©
//Parameter:
//Return:
//Usage:
//*****************************************************************************
function chkPattern(str,type)	//Çü½Ä Ã¼Å©
{
	switch(type)
	{
		case "NUM": //¼ýÀÚ¸¸
			pattern = /^[0-9]+$/;
			break;
	
		case "PHONE" :		// ÀüÈ­¹øÈ£
			pattern = /^[0-9]{2,4}-[0-9]{3,4}-[0-9]{4}$/;
			break;
	
		case "MOBILE" :		// ÈÞ´ëÀüÈ­
			pattern = /^0[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;
			break;
	
		case "ZIPCODE" :	// ¿ìÆí¹øÈ£
			pattern = /^[0-9]{3}-[0-9]{3}$/;
			break;
			
		case "EMAIL": //¸ÞÀÏ
			pattern = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z]{2,4}$/;
			break;
	
		case "DOMAIN": //¿µÀÚ ¼ýÀÚ¿Í	.	´ÙÀ½µµ ¿µÀÚ
			pattern = /^[.a-zA-Z0-9-]+.[a-zA-Z]+$/;
			break;
	
		case "ENG": //¿µÀÚ¸¸
			pattern = /^[a-zA-Z]+$/;
			break;
	
		case "ENGNUM": //¿µÀÚ¿Í	¼ýÀÚ
			pattern = /^[a-zA-Z0-9]+$/;
			break;
			
		case "ACCOUNT": //¼ýÀÚ	¿Í '-'
			pattern = /^[0-9-]+$/;
			break;     
	
		case "HOST": //¿µÀÚ	¿Í '-'
			pattern = /^[a-zA-Z-]+$/;
			break;
			
		case "ID": //Ã¹±ÛÀÚ´Â ¿µÀÚ ±× µÚ¿£ ¿µ¾î¼ýÀÚ 4ÀÌ»ó 15ÀÚ¸®	ÀÌÇÏ
			pattern = /^[a-zA-Z]{1}[a-zA-Z0-9]{4,15}$/;
			break;
	
		case "ID2": //Ã¹±ÛÀÚ´Â	¿µÀÚ ±×µÚ¿£	¿µ¾î¼ýÀÚ 4ÀÌ»ó 15ÀÚ¸®	ÀÌÇÏ
			pattern = /^[a-zA-Z0-9._-]+$/;
			break;
	
		case "DATE": //	Çü½Ä : 2002-08-15
			pattern = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
			break;
	
		case "JUMIN" :		// ÁÖ¹Îµî·Ï¹øÈ£
			pattern = /^[0-9]{13}$/;
			break;
	
		default :
			return false;
	}
	
	return pattern.test(str);
}


//*****************************************************************************
//Description : À¯È¿¼º Ã¼Å©
//Parameter:
//Return:
//Usage:
//*****************************************************************************
function CheckValid(String,	space)
{
	 var retvalue	=	false;
	 for (var	i=0; i<String.length;	i++)
	 {		//StringÀÌ 0(""	ÀÌ³ª null)ÀÌ¸é ¹«Á¶°Ç	false
			if (space	== true)
			{
				 if	(String.charAt(i)	== ' ')
				 {			//StringÀÌ 0ÀÌ ¾Æ´Ò¶§	space°¡	ÀÖ¾î¾ß¸¸ true(valid)
						retvalue = true;
						break;
				 }
			} else {
				 if	(String.charAt(i)	!= ' ')
				 {			//stringÀÌ 0ÀÌ ¾Æ´Ò¶§	space°¡	¾Æ´Ñ ±ÛÀÚ°¡	ÀÖ¾î¾ß¸¸ true(valid)
						retvalue = true;
						break;
				 }
			}
	 }
	 return	retvalue;
}

//*****************************************************************************
//Description : Ç×¸ñÀÌ	ºñ¾îÀÖ´ÂÁö Ã¼Å©
//Parameter: isFocus:°´Ã¼¿¡ focusing¿©ºÎ
//Return:
//Usage:
//*****************************************************************************
function isEmpty(field,	error_msg,isFocus)
{
	// error_msg°¡ ""ÀÌ¸é	alert¿Í	focusingÀ» ÇÏÁö¾Ê´Â´Ù
	if(error_msg ==	"")	{
		if(!CheckValid(field.value,	false))		{
			return true;
		}	else {
			return false;
		}
	}	else {
		if(!CheckValid(field.value,	false))	{
			alert(error_msg);
			if(isFocus!=false) field.focus()	;
			return true;
		}	else {
			return false;
		}
	}
}

//*****************************************************************************
//Description : ¸Þ¼¼Áö Ã³¸®ÈÄ focusing
//Parameter:
//Return:
//Usage:
//*****************************************************************************
function altFocus(field,error_msg,isFocus)
{
	alert(error_msg);
	if(isFocus!=false) field.focus();
	return false;
}


/**
 * ³¯Â¥·Î Á¶È¸½Ã ¿À´Ã³¯Â¥ ±âÁØÀ¸·Î ¼±ÅÃÇÑ ÀÏ¼ö¿¡ µû¸¥ ³¯ÀÚ¸¦ »Ì´Â´Ù.
 * 
 * @param dt_val ÀÏ¼ö
 * @return ³¯Â¥
 * 
 * »ç¿ë¹æ¹ý: dsunfold_util_getPrevDate(0)->´çÀÏ, dsunfold_util_getPrevDate(-7)->7ÀÏ, dsunfold_util_getPrevDate(-30)->3°³¿ù
 */
function dsunfold_util_getPrevDate(dt_val) {
	
	var newdate = new Date();
	var nowdate = new Date();
	var mm;
	var dd;

	var newtimes = newdate.getTime()+(parseInt(dt_val)*24*60*60*1000);	
	newdate.setTime(newtimes);

	if(newdate.getMonth() <9){
		mm = "0" + (newdate.getMonth()+1).toString();
			
	}else{
		mm = (newdate.getMonth()+1).toString();
	}		
	
	if(newdate.getDate() <10 ){
		dd = "0" + newdate.getDate().toString();
	}else{
		dd = newdate.getDate().toString();
	}
	
	return newdate.getYear()+"-"+mm+"-"+dd;
}


/*
 * location.search
 */
function getSearch() {
	
	var args = getSearch.arguments;
	if(args.length==0) {
		return location.search;
	}

	var s = args.length>1? args[0]: location.search;
	var arg = '?' + (args.length>1? args[1]: args[0]);
	if(!s) {
		return arg;
	}

	var search = arg;
	if(s.indexOf('?')==0) {
		s = s.substr(1);
	}
	
	var a = s.split('&');
	var p, k;
	for(var i=0; i<a.length; i++) {
		
		p = a[i].indexOf('=');
		if(p<=0) {
			continue;
		}

		k = a[i].substring(0, p+1);
		if(arg.indexOf(k)<0) {
			search += '&' + a[i];
		}
	}

	return search;
}

/**
 * paging
 *
 * argument, paging
 */
function paging() {

	var a = paging.arguments;
	var cpage = (a.length==0)? 1: a[0];
	//alert(cpage);

	location.search = getSearch('cpage=' + cpage);
}

/**
 * radioCheck
 *
 * argument, paging
 */
function radioCheck(form, field) {

	var a = eval(form+'.'+field);
	var flag = false;
	
	for(var i=0; i<a.length; i++) {
		
		if (a[i].checked == true){
			flag = true;
			break;
		}
	}
	
	return flag;

}