//################################################################################################//
//     cookie制御関数郡                                                                           //
//                                                                                                //
//################################################################################################//

//************************************************************************************************//
//     cookie保存                                                                                 //
//                                                                                                //
//     :name  保存用の名前                                                                        //
//     :value 保存するデータ                                                                      //
//************************************************************************************************//
function SetCookie(name,value)
{
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path    = (argc > 3) ? argv[3] : null;
	var domain  = (argc > 4) ? argv[4] : null;
	var secure  = (argc > 5) ? argv[5] : false;

	document.cookie = name + "="  + escape(value) +
	 ((expires == null) ? ""		: ("; expires=" + expires.toGMTString())) +
	 ((path == null)    ? ""		: ("; path=" + path)) +
	 ((domain == null)  ? "" 	: ("; domain=" + domain)) +
	 ((secure == true)  ? "; secure" : "");
}


//************************************************************************************************//
//     cookie保存                                                                                 //
//                                                                                                //
//     :name     保存用の名前                                                                     //
//     :put_data 保存するデータ                                                                   //
//************************************************************************************************//
function set_data(name,put_data)
{
	var expdate = new Date();
	expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 31 * 10));
	SetCookie(name,put_data,expdate);
}

//************************************************************************************************//
//     cookie読込み                                                                               //
//                                                                                                //
//     :name 読込むcookie名                                                                       //
//************************************************************************************************//
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 getCookieVal (offset)
{
	var endstr = document.cookie.indexOf(";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;

	return unescape(document.cookie.substring(offset,endstr));
}

//************************************************************************************************//
//     cookie削除                                                                                 //
//                                                                                                //
//     :name 削除するcookie名                                                                     //
//************************************************************************************************//
function DeleteCookie(name)
{
	var exp = new Date();
	exp.setTime(exp.getTime() - 1);
	var cval = GetCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}