// クッキー
function getCookie( key ) {
//	var string = document.cookie+";";
//alert(unescape(string));
	var list = document.cookie.split("; ");		// '; '
	var count = 0;

	for ( var i=0; i<list.length; i++ ) {
		var v = list[i].split("=");
		if ( v[0] == key ) {
			if ( typeof v[1] != "undefined" ) {
				count++;
			}
		}
	}
//alert(count);

	if ( count == 0 ) return null;

	// 複数あった場合は削除する
	for ( var i=1; i<count; i++ ) {
		deleteCookie( key );
	}

	for ( var i=0; i<list.length; i++ ) {
		var v = list[i].split("=");
		if ( v[0] == key ) {
			if ( typeof v[1] != "undefined" )
				return unescape(v[1]);
		}
	}

	return null;
}

/*
function getCookie( key ) {
	string = document.cookie+";";
	var oExp = new RegExp(" ", "g");			// すべての半角スペースを表す正規表現
//	var list = document.cookie.split("; ");		// '; '
	var list = document.cookie.split(";");		// '; '
	for ( var i=0; i<list.length; i++ ) {
		var v = list[i].split("=");
		v[0] = v[0].replace(oExp, "");              // 半角スペース除去
		if ( v[0] == key ) {
		//	if ( typeof v[1] == "undefined" ) return null;	//"";
		//	return unescape(v[1]);
			if ( typeof v[1] != "undefined" )
				return unescape(v[1]);
		}
	}

	return null;
}
*/

/*
function getCookie( key ) {
	string = document.cookie+";";
	var list = document.cookie.split("; ");		// '; '
	for ( var i=0; i<list.length; i++ ) {
		var v = list[i].split("=");
		if ( v[0] == key ) {
		//	if ( typeof v[1] == "undefined" ) return null;	//"";
		//	return unescape(v[1]);
			if ( typeof v[1] != "undefined" )
				return unescape(v[1]);
		}
	}

	return null;
}
*/

function makeCookieValue( name, value ) {
	var argv = makeCookieValue.arguments;
	var argc = makeCookieValue.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)) +
	 "; path=/" +
	 ((domain == null)  ? "" 	: ("; domain=" + domain)) +
	 ((secure == true)  ? "; secure" : "");
}


function setCookie( name, value ) {
	deleteCookie( name );
	var expdate = new Date();
	// 有効期限（１２ヶ月 ｘ ５）
	expdate.setTime( expdate.getTime() + (24 * 60 * 60 * 1000 * 31 * 12 * 5) );
	makeCookieValue( name, value, expdate );
}

function deleteCookie( key ) {
	if (document.cookie == "") {
//		alert("このサーバによるCookieはありません。")
	} else {
		var list = document.cookie.split("; ");		// '; '
		acDate = new Date();
		acDate.setYear(acDate.getYear() - 1);
		for ( var i=0; i<list.length; i++ ) {
			temp1 = list[i].split("=")[0];
			if ( temp1 == key ) {
//alert("delete cookie : " + temp1);
				document.cookie = temp1 + "=;acDate=" + acDate.toGMTString();
			}
		}
//		alert ("このサーバによるCookieを削除しました。");
	}
}


