//###############################################################
// 共通モジュール(Cookie情報の設定／参照)
//     2004/01/14 新規          小中
//###############################################################

// SetCookie: クッキー情報の設定
// 引数の説明
//    nam  ... 設定する名前(省略不可)
//    val  ... 設定する値(省略不可)
//    exp  ... 保存期限(省略可：省略時はブラウザ終了迄)
//		ns        n秒後
//		nm        n分後
//		nh        n時間後
//		nd        n日後
//		nM        nケ月後
//		nY        n年後
//		任意時間  指定時間迄(GMT)
//    path ... クッキーを参照するパス名(省略可：省略時は現在のページ)
//    dom  ... クッキーを参照するWEBサーバ名(省略可：省略時は現在のWEBサーバ名)
//             ※ 別ドメインは設定できません
//    sec  ... 省略   : 常にクッキー参照可
//             secure : サーバーとの接続がセキュアである時のみクッキー参照可
// 返値の説明
//    無し
//
function SetCookie(nam,val,exp,path,dom,sec) {

	var day = new Date();
	var et = exp.substr(0, exp.length-1);
	var em = exp.substr(exp.length-1, 1);
	if(em == 's')      {day.setTime(day.getTime()+1000*et);}
	else if(em == 'm') {day.setTime(day.getTime()+1000*60*et);}
	else if(em == 'h') {day.setTime(day.getTime()+1000*60*60*et);}
	else if(em == 'd') {day.setTime(day.getTime()+1000*60*60*24*et);}
	else if(em == 'M') {day.setTime(day.getTime()+1000*60*60*24*30*et);}
	else if(em == 'Y') {day.setTime(day.getTime()+1000*60*60*24*365*et);}

	var args = nam + "=" + escape(val);
	if(em != "")        {args = args + "; expires=" + day.toGMTString();}
	else if(exp != "")  {args = args + "; expires=" + exp;}
	if(path != "")      {args = args + "; path=" + path;}
	if(dom != "")       {args = args + "; domain=" + dom;}
	if(sec == "secure") {args = args + "; secure";}
	document.cookie = args;

	return;
}

// GetCookie: クッキー情報の取得
// 引数の説明
//    nam  ... 取得する名前(省略可：省略時は全ての情報を取得)
// 返値の説明
//    val  ... 取得した値(名前省略時は、全情報を配列で返却)
//
function GetCookie(nam) {
	var key   = nam + "=";
	var ckary = document.cookie.split("; ");
	var val = '';
	if(nam == "") {return ckary;}
	for(var i=0; i<ckary.length; i++) {
		var ckval = unescape(ckary[i]);
		if(ckval.search("^" + key) != -1) {
			val = ckval.replace(key, "");
			break;
		}
	}
	return val;
}

// DelCookie: クッキー情報の削除
// 引数の説明
//    nam  ... 削除する名前(省略可：省略時は全ての情報を削除)
//    path ... クッキーを削除するパス名(省略可：省略時は現在のページ)
//    dom  ... クッキーを削除するWEBサーバ名(省略可：省略時は現在のWEBサーバ名)
//             ※ 別ドメインは設定できません
//    sec  ... 省略   : 常にクッキー削除可
//             secure : サーバーとの接続がセキュアである時のみクッキー削除可
// 返値の説明
//    無し
//
function DelCookie(nam,path,dom,sec) {
	var day = "Thu, 01-Jan-1980 00:00:00 GMT";
	var mod_args = '';
	if(path != "")      {mod_args = mod_args + "; path=" + path;}
	if(dom != "")       {mod_args = mod_args + "; domain=" + dom;}
	if(sec == "secure") {mod_args = mod_args + "; secure";}

	if(nam != "") {document.cookie = nam + "=; expires=" + day + mod_args;}
	else {
		var ckary = document.cookie.split("; ");
		for(var i=0; i<ckary.length; i++) {
			var ckval = unescape(ckary[i]);
			var delary = ckval.split("=");
			document.cookie = delary[0] + "=; expires=" + day + mod_args;
		}
	}
	return;
}