//ÄíÅ°¸¦ ¸Ô¿©º¸ÀÚ
function js_setcookie(name, value)
{

        var argc = js_setcookie.arguments.length;
        var argv = js_setcookie.arguments;

        var expires = (argc > 2) ? argv[2] : 0;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;

        if(expires != 0) {
                var dd = new Date(expires * 1000);
                var expst = "; expires="+dd.toGMTString();
        } else expst = '';
		
		/*if(expires != 0) {
			var todayDate = new Date(); 
			todayDate.setDate( todayDate.getDate() + expires );
			var expst = "; expires="+todayDate.toGMTString();
		} else expst = '';*/

        var cookstr = name + "=" + value +
                ((expires == 0) ? "" : (expst)) +
                ((path == null) ? "" : ("; path=" + path)) +
                ((domain == null) ? "" : ("; domain=" + domain)) +
                ((secure == true) ? "; secure" : "");

        document.cookie = cookstr;
}

function js_setcookie_main(name, value)
{

        var argc = js_setcookie_main.arguments.length;
        var argv = js_setcookie_main.arguments;

        var expires = (argc > 2) ? argv[2] : 0;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;

        /*if(expires != 0) {
                var dd = new Date(expires * 1000);
                var expst = "; expires="+dd.toGMTString();
        } else expst = '';*/
		
		if(expires != 0) {
			var todayDate = new Date(); 
			todayDate.setDate( todayDate.getDate() + expires );
			var expst = "; expires="+todayDate.toGMTString();
		} else expst = '';

        var cookstr = name + "=" + value +
                ((expires == 0) ? "" : (expst)) +
                ((path == null) ? "" : ("; path=" + path)) +
                ((domain == null) ? "" : ("; domain=" + domain)) +
                ((secure == true) ? "; secure" : "");

        document.cookie = cookstr;
}

function getCookArr(key,arr_name)
{
        var aCookie = document.cookie.split("; ");
        var ret = '';

        for (var i=0; i < aCookie.length; i++) {
                if(!arr_name) {
                        if(aCookie[i].substring(0, key.length) == key) {
                                ret = unescape(aCookie[i].substring(key.length+1));
                                break;
                        }
                } else {
                        if(aCookie[i].substring(0, arr_name.length) == arr_name) {
                                var arCook = aCookie[i].substring(arr_name.length+1).split("|");
                                for( var j=0; j < arCook.length; j++) {
                                        if(arCook[j].substring(0, key.length) == key) {
                                                ret = unescape(arCook[j].substring(key.length+1));
                                                break;
                                        }
                                }
                        }
                }
        }

        if(!ret) ret = '';
        return ret;
}

function setCookArr(key,value,arrayName,until,domain) {
        var cookStr = "";
        var findKey = false;
        var aCookie = document.cookie.split("; ");

        if(!until) until = 0;

        if( !arrayName ) { js_setcookie(key,value,until,"/",domain); return; }

        for (var i=0; i < aCookie.length; i++) {
                if(aCookie[i].substring(0, arrayName.length) != arrayName) { continue; } // arrayName ÀÌ¾Æ´Ï¶ó¸é,
                cookStr = "";
                var arCook = aCookie[i].substring(arrayName.length+1).split("|");                               // arrayName ÀÌ Á¸Àç ÇÑ´Ù¸é,
                for( var j=0; j<arCook.length; j++) {
                        if(arCook[j].substring(0, key.length) != key) { // Key°¡ ¾Æ´Ñ°æ¿ì
                                if(j==0) { cookStr = arCook[j]; }
                                else { cookStr += ("|" + arCook[j]); }
                                continue;
                        }
                        // Key¸¦ Ã£Àº °æ¿ì
                        findKey = true;
                        if( j==0 ) { cookStr = (key + "=" + value); }
                        else { cookStr += ("|" + key + "=" + value); }
                }

                if( findKey ) {
                        js_setcookie(arrayName,cookStr,until,"/",domain);
                } else {        // Key¸¦ ¸ø Ã£Àº °æ¿ì´Â »õ·Î »ðÀÔ ÈÄ
                        cookStr += ("|" + key + "=" + value);
                        js_setcookie(arrayName,cookStr,until,"/",domain);
                }

                return;
        }

        js_setcookie( arrayName , key + "=" + value,until,"/",domain);
}
