<!--

//
// Cookie 基礎関数
//


/****************************************************************************
 * Name			:GetCookie													*
 * Description	:Cookieに記録された値を読み込む関数							*
 * Return value	:Cookieに記録された値										*
 * Argument:																*
 *   label		:読み込む値のラベル											*
 ****************************************************************************/
function GetCookie(label)
{
	var tmp1 = " " + document.cookie + ";";
	var len = tmp1.length;
	var start = 0;
	var end = 0;

	//+++++ Cookieを探索 +++++//
	while(start < len){
		end  = tmp1.indexOf(";", start);					// ";"の現れる場所を検索
		tmp2 = tmp1.substring(start + 1, end);				// ";"で区切られた箇所をtmp2に格納
		namenum = tmp2.indexOf("=");						// tmp2の中で"="での現れる場所を検索

		if(tmp2.substring(0,namenum) == label)				// labelとCookieの項目が一致したとき，記録されている値を返す
			return unescape(tmp2.substring(namenum + 1, end - start - 1));

		start = end + 1;									// startの位置を進める
	}

	return "";												// labelが検出できなかった場合
}


/****************************************************************************
 * Name			:SetCookie													*
 * Description	:Cookieに値を書き込む関数									*
 * Return value	:関数に成功すると true を、失敗すると false を返す			*
 * Argument:																*
 *   label		:ラベル														*
 *   value		:書き込む値													*
 ****************************************************************************/
function SetCookie(label, value)
{
	//+++++ 書き込む値を作成 +++++//
	var tmp = label + "=" + escape(value) + "; ";

	//+++++ Cookieを発行するパス名を追加 +++++//
//	tmp += "path=" + location.pathname + "; ";

	//+++++ 有効期限を設定 +++++//
	Expire = 100;											// 有効期限（日）
	D = new Date(); 
	D.setTime(D.getTime()+ Expire * 60 * 60 * 24 * 1000);
	tmp += "expires=" + D.toGMTString() + "; ";

	//+++++ 書き込み +++++//
	document.cookie = tmp;									// Cookieに書き込む

	return true;
}


/****************************************************************************
 * Name			:SetCookie_Array											*
 * Description	:Cookieに値を書き込む関数									*
 *				 （配列をカンマ区切りで書き込む）							*
 * Return value	:関数に成功すると true を、失敗すると false を返す			*
 * Argument:																*
 *   label		:ラベル														*
 *   array		:書き込む値の格納された配列									*
 ****************************************************************************/
function SetCookie_Array(label, array)
{
	//+++++ 引数チェック +++++//
	if(array.length == 0)
		return false;

	//+++++ 書き込む値を作成 +++++//
	var tmp = label + "=" + escape(array[0]);
	for(var i = 1; i < array.length; i++)
		tmp += "," + escape(array[i]);
	tmp += "; ";

	//+++++ Cookieを発行するパス名を追加 +++++//
//	tmp += "path=" + location.pathname + "; ";

	//+++++ 有効期限を設定 +++++//
	Expire = 100;											// 有効期限（日）
	D = new Date(); 
	D.setTime(D.getTime()+ Expire * 60 * 60 * 24 * 1000);
	tmp += "expires=" + D.toGMTString() + "; ";

	//+++++ 書き込み +++++//
	document.cookie = tmp;									// Cookieに書き込む

	return true;
}


/****************************************************************************
 * Name			:SetCookie_Array2											*
 * Description	:Cookieに値を書き込む関数									*
 *				 （配列をカンマ区切りで書き込む）							*
 *				 （SetCookie_Array()の２次元配列版）						*
 * Return value	:関数に成功すると true を、失敗すると false を返す			*
 * Argument:																*
 *   label		:ラベル														*
 *   array		:書き込む値の格納された配列									*
 ****************************************************************************/
function SetCookie_Array2(label, array)
{
	//+++++ 引数チェック +++++//
	if(array.length == 0)
		return false;

	//+++++ 書き込む値を作成 +++++//
	var tmp = label + "=" + escape(array[0][0]);
	for(var j = 1; j < array[0].length; j++)
		tmp += "," + escape(array[0][j]);
	for(var i = 1; i < array.length; i++){
		for(var j = 0; j < array[i].length; j++)
			tmp += "," + escape(array[i][j]);
	}
	tmp += "; ";

	//+++++ Cookieを発行するパス名を追加 +++++//
//	tmp += "path=" + location.pathname + "; ";

	//+++++ 有効期限を設定 +++++//
	Expire = 100;											// 有効期限（日）
	D = new Date(); 
	D.setTime(D.getTime()+ Expire * 60 * 60 * 24 * 1000);
	tmp += "expires=" + D.toGMTString() + "; ";

	//+++++ 書き込み +++++//
	document.cookie = tmp;									// Cookieに書き込む

	return true;
}



/****************************************************************************
 * Name			:ClearCookie												*
 * Description	:Cookieの内容を削除する関数									*
 * Return value	:															*
 * Argument:																*
 *   label		:削除する値のラベル											*
 ****************************************************************************/
function ClearCookie(label)
{
	document.cookie = label + "=" + "; expires=1-Jan-2000 00:00:00;";
}


//-->
