//------------------------------------------------------------
// セッションクッキー：キー名定義
//------------------------------------------------------------
var COOKIE_USERID = "USER_ID"; //ユーザ識別番号
var COOKIE_LAN_CODE = "LANGUAGE_CODE"; //言語区分
var COOKIE_NAME = "CHARGE_NAME"; //氏名
var COOKIE_AGENT_PTN = "AGENT_PATTERN"; //代理店形態
var COOKIE_TIME_ZONE_ID = "TIME_ZONE_ID"; //タイムゾーンID
var COOKIE_AGREEMENT = "AGREEMENT"; //ダウンロード同意書

//------------------------------------------------------------
// セッションオプション情報
//------------------------------------------------------------
var nExpTime = 1*24*60*60*1000; //クッキーの有効期限（1日)
var cookiePath = "/"; //クッキーの有効パス
var blnCookieFlg = 1; //クッキーフラグ（通常のクッキー：0、ブラウザクッキー：1）

//------------------------------------------------------------
// 表示リンク
//------------------------------------------------------------
//ロゴ画像
var LINK_LOGO = '　<a href="/jpja/index.html" target="_top">' + 
					'<img src="/jpja/member/images/rogo.gif" width="69" height="16" />' + 
				'</a>　';
//ログイン
var LINK_LOGIN = '　<a href="https://www.idec.com/membersite/member/Login.do?lang=ja_jp" target="_top">' + 
					'<img src="/jpja/member/images/login.gif" width="69" height="16" />' + 
				 '</a>　';
//ログアウト
var LINK_LOGOUT = '　<a href="javascript:cmdLogout()" target="_top">' + 
					'<img src="/jpja/member/images/logout.gif" width="69" height="16" />' + 
				  '</a>　';
//パスワードを忘れた方
var LINK_PASS = '　<a href="/membersite/member/PasswordReset.do?lang=ja_jp" target="_top">' + 
					'<img src="/jpja/member/images/reminder.gif" width="123" height="16" />' + 
				'</a>　';
//新規登録
var LINK_MEMBER_ENTRY = '　<a href="/jpja/member/terms_and_conditions/index.html" target="_brank">' + 
							'<img src="/jpja/member/images/new.gif" width="69" height="16" />' + 
						'</a>　';
//メンバートップ
var LINK_MEMBER_TOP = '　<a href="/jpja/member/mypage.html" target="_top">' + 
						'<img src="/jpja/member/images/member_top.gif" width="69" height="16" />' + 
					  '</a>　';
//直接代理店トップ
var LINK_DIRECT_AGENT_TOP = '　<a href="/jpja/member/partnership.html" target="_top">' + 
								'<img src="/jpja/member/images/distoributr1.gif" width="69" height="16" />' + 
							'</a>　';
//間接代理店トップ
var LINK_INDIRECT_AGENT_TOP = '　<a href="/jpja/member/s_partnership.html" target="_top">' + 
								'<img src="/jpja/member/images/distoributr2.gif" width="69" height="16" />' + 
							  '</a>　';
//プロファイル変更
var LINK_PROFILE_MOD = '　<a href="/membersite/member/ProfileChange.do?lang=ja_jp" target="_top">' + 
							'<img src="/jpja/member/member_site/images/profile.gif" width="69" height="16" />' + 
					   '</a>　';

//表示用HTML
var LINK_HTML = "";

//------------------------------------------------------------
// クッキーの有効チェック
//------------------------------------------------------------
function chkCookie()
{
	//クッキーを取得
	var strTemp = document.cookie;
	if (!strTemp) {
		//テストするための文字列
		var strTestData = "CookieTest=Available; ";
		//有効期限の計算
		var dtExpire = new Date();
		dtExpire.setTime(dtExpire.getTime() + nExpTime);
		var strExpTime = "expires=" + dtExpire.toGMTString() + "; ";
		
		//ブラウザクッキーの場合は有効期限を省略
		if (blnCookieFlg == 1) {
			strExpTime = "";
		}

		//クッキーをセット
		document.cookie = strTestData + strExpTime;

		//クッキーを取得
		strTemp = document.cookie;
		if (!strTemp)
		{
			var errMsg = "当サイトはクッキーを使用しています。\n" + 
						 "お手数ですが、クッキーをオフにしている方は、オンにしてください。";
			document.write(errMsg);
			return false;
		}
	}
	return true;
}
//------------------------------------------------------------
// クッキー情報取得
//------------------------------------------------------------
function getCookie()
{
	//クッキーを取得
	var cArr = document.cookie.split("; ");
	//クッキー情報の初期化
	var cookieArr = new Array(cArr.length);
	for (i = 0; i < cArr.length; i++) {
		cookieArr[i] = new Array(2);
		cookieArr[i] = cArr[i].split("=");
		if (!cookieArr[i][1]) {
			cookieArr[i][1] = "";
		}
		//エンコード
		cookieArr[i][1] = decodeURL(cookieArr[i][1]);
	}
	return cookieArr;
}
//------------------------------------------------------------
// ログインチェック
//------------------------------------------------------------
function chkLogin()
{

	//クッキーを取得
	var cookieArr = getCookie();
	var strUserId = "";
	var strName = "";
	var strAgentPattern = "";
	for (i = 0; i < cookieArr.length; i++) {
		//ユーザ識別番号を取得
		if (cookieArr[i][0] == COOKIE_USERID) {
			strUserId = cookieArr[i][1];
		//氏名を取得
		} else if (cookieArr[i][0] == COOKIE_NAME) {
			strName = cookieArr[i][1] + "様　";
		//代理店形態を取得
		} else if (cookieArr[i][0] == COOKIE_AGENT_PTN) {
			strAgentPattern = cookieArr[i][1];
		}
	}

	//リンク部分HTML
	var strLinkHtml = "";
	//ユーザ識別番号が取得できない場合
	if (strUserId == "") {
		//未ログイン状態
		strLinkHtml = LINK_LOGIN +  //ログイン
					LINK_MEMBER_ENTRY +  //新規登録
					LINK_PASS; //パスワードを忘れた方

	//ユーザ識別番号が取得できる場合
	} else {
		//代理店形態が一般会員の場合
		if (strAgentPattern == "0") {
			strLinkHtml = strName + //氏名
						LINK_MEMBER_TOP +  //メンバートップ
						LINK_LOGOUT; //ログアウト

		//代理店形態が直接契約店の場合
		} else if (strAgentPattern == "1") {
			strLinkHtml = strName + //氏名
						LINK_DIRECT_AGENT_TOP +  //直接代理店トップ
						LINK_MEMBER_TOP +  //メンバートップ
						LINK_LOGOUT; //ログアウト

		//代理店形態が間接契約店の場合
		} else if (strAgentPattern == "2") {
			strLinkHtml = strName + //氏名
						LINK_INDIRECT_AGENT_TOP +  //間接代理店トップ
						LINK_MEMBER_TOP +  //メンバートップ
						LINK_LOGOUT; //ログアウト

		}
	}

	//表示HTML
	LINK_HTML = '<table width="450 border="0" cellpadding="0" align="right">' + 
					'<tr>' + 
						'<td height="4"></td>' + 
					'</tr>' + 
					'<tr>' + 
						'<td><div id="str" align="right">' + strLinkHtml + '</div></td>' + 
					'</tr>' + 
				 '</table>';
}

//------------------------------------------------------------
// ログインチェック2
//------------------------------------------------------------
function chkLogin2()
{

	//クッキーを取得
	var cookieArr = getCookie();
	var strUserId = "";
	var strName = "";
	var strAgentPattern = "";
	for (i = 0; i < cookieArr.length; i++) {
		//ユーザ識別番号を取得
		if (cookieArr[i][0] == COOKIE_USERID) {
			strUserId = cookieArr[i][1];
		//氏名を取得
		} else if (cookieArr[i][0] == COOKIE_NAME) {
			strName = cookieArr[i][1] + "様　";
		//代理店形態を取得
		} else if (cookieArr[i][0] == COOKIE_AGENT_PTN) {
			strAgentPattern = cookieArr[i][1];
		}
	}

	//リンク部分HTML
	var strLinkHtml = "";
	//ユーザ識別番号が取得できない場合
	if (strUserId == "") {
		//未ログイン状態
		location.replace("./member.html");
	}

}

//------------------------------------------------------------
// リンクHTML書込処理
//------------------------------------------------------------
function writeHtml()
{
	//HTML表示
	document.write(LINK_HTML);
}

//------------------------------------------------------------
// ログアウト処理
//------------------------------------------------------------
function cmdLogout()
{
	//////////////クッキー情報//////////////
	//ユーザ識別番号
	var strUserID = COOKIE_USERID + "=; ";
	//言語区分
	var strLanguageCode = COOKIE_LAN_CODE + "=; ";
	//氏名
	var strName = COOKIE_NAME + "=; ";
	//代理店形態
	var strAgentPattern = COOKIE_AGENT_PTN + "=; ";
	//タイムゾーンID
	var strTimeZoneId = COOKIE_TIME_ZONE_ID + "=; ";
	//ダウンロード同意書
	var strAgreement = COOKIE_AGREEMENT + "=; ";
	////////////////////////////////////

	//Cookieを削除する場合は過去の値を設定
	var dtExpire = new Date();
	dtExpire.setTime(dtExpire.getTime() - nExpTime);
	var strExpTime = "expires=" + dtExpire.toGMTString() + "; ";

	//パス
	var strPath = "path=" + cookiePath + "; ";

	//クッキーをセット
	var setValue = strUserID + strLanguageCode + strName + strAgentPattern + strTimeZoneId + strAgreement;
	setValue = setValue + strExpTime + strPath;
	document.cookie = setValue;

	//JavaScriptで画面をリロードする。
	window.location.href = "http://www.idec.com/jpja/";

}

//------------------------------------------------------------
// URLデコード処理
//------------------------------------------------------------
function decodeURL(encodeStr)
{
	var decodeStr = ""; //デコード済文字列
	var i = 0;
	var j = 0;
	var c = "";
	var cNext = "";
	var hexStr = "";
	var hexNum = 0x00;
	var uChar;
	var f;

	for (i = 0; i < encodeStr.length; i++) { 
		c = encodeStr.charAt(i);
		// "+" → " "
		if (c == "+") {
			decodeStr += " ";
		} else {
			// 変換必要なし
			if (c != "%") {
				decodeStr += c;

			} else {

				uChar = 0;
				f = 1;
				while (true) {
					hexStr = "";

					for (j = 0; j < 2; j++) {
						// 次の文字を取得
						cNext = encodeStr.charAt(++i);
						// 16進数の場合
						if (((cNext >= "0") && (cNext <= "9")) || ((cNext >= "a") && (cNext <= "f"))  || ((cNext >= "A") && (cNext <= "F"))) {
							hexStr += cNext;
						} else {
							--i; 
							break;
						}
					}
					
					// 16進数にキャスト
					hexNum = parseInt(hexStr, 16);

					if (hexNum <= 0x7f) {
						uChar = hexNum;
						f = 1;
					}
					if ((hexNum >= 0xc0) && (hexNum <= 0xdf)) {
						uChar = hexNum & 0x1f;
						f = 2;
					}
					if ((hexNum >= 0xe0) && (hexNum <= 0xef)) {
						uChar = hexNum & 0x0f;
						f = 3;
					}
					if ((hexNum >= 0xf0) && (hexNum <= 0xf7)) {
						uChar = hexNum & 0x07;
						f = 4;
					}
					if ((hexNum >= 0x80) && (hexNum <= 0xbf)) {
						uChar = (uChar << 6) + (hexNum & 0x3f);
						--f;
					}

					if (f <= 1) {
						break;
					}

					if (encodeStr.charAt(i + 1) == "%") {
						i++;
					} else {
						break;
					}
				}
				decodeStr += String.fromCharCode(uChar);
			}
		}
	}
	return decodeStr;
}
