// 初期カウント取得
function readBookmark() {

	var bkcnt;

	// カウント数の取得
	theData		= "";
	theName		= "SG_BKCNT=";
	theCookie	= document.cookie+";";
	start		= theCookie.indexOf(theName,0);
	if (start != -1) {
		end		= theCookie.indexOf(";",start);
		bkcnt	= unescape(theCookie.substring(start+theName.length,end));
	}

	// Check
	if (start == -1) {
		bkcnt = 0;
	}

	// 現在の登録数の表示
	document.bookmark.bkcnt.value = bkcnt;

}

// ブックマーク保存
function writeBookmark(target, tgtid) {

	bkarray = new Array();
	var bklist;

	// 登録確認
	regist = confirm("【 " + target + " 】" + "\nブックマークへ登録してもよろしいですか？");

	// メイン処理
	if (regist) {

		// 旧ブックマークの取得
		theData		= "";
		theName		= "SG_BOOKMARK=";
		theCookie	= document.cookie+";";
		start		= theCookie.indexOf(theName,0);
		if (start != -1) {
			end		= theCookie.indexOf(";",start);
			bklist	= unescape(theCookie.substring(start+theName.length,end));
		}

		// 登録情報があれば重複チェック
		if (bklist) {

			// 値の分割
			var bkarray = bklist.split(":");

			// 既存登録チェック
			for (i=0; i<=bkarray.length-1; i++) {
				if (bkarray[i] == tgtid) {
					alert("既に登録されています。");
					return false;
				}
			}

		}

		// 更新用に値の結合
		bklist = bkarray.join(":");
		if (bkarray.length >= 1) {
			bklist = tgtid + ":" + bklist;
		} else {
			bklist = tgtid;
		}

		// ブックマークの更新
		theName		= "SG_BOOKMARK";
		theValue	= bklist;
		theDay		= 3650;
		setDay		= new Date();
		setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
		expDay		= setDay.toGMTString();
		document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

		// カウント数の更新
		theName		= "SG_BKCNT";
		theValue	= bkarray.length + 1;
		theDay		= 3650;
		setDay		= new Date();
		setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
		expDay		= setDay.toGMTString();
		document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

		// 現在の登録数の表示
		document.bookmark.bkcnt.value = bkarray.length + 1;

		alert("登録を行いました。");

	} else {
		return false;
	}

}

// ブックマーク削除
function eraseBookmark(target, tgtid) {

	bkarray = new Array();
	sparray = new Array();
	var bklist;
	var flag;
	var cnt;

	// 削除カウント用の初期値
	cnt = 0;

	// 削除確認
	erase = confirm("【 " + target + " 】" + "\nブックマークから削除してもよろしいですか？");

	// メイン処理
	if (erase) {

		// 旧ブックマークの取得
		theData		= "";
		theName		= "SG_BOOKMARK=";
		theCookie	= document.cookie+";";
		start		= theCookie.indexOf(theName,0);
		if (start != -1) {
			end		= theCookie.indexOf(";",start);
			bklist	= unescape(theCookie.substring(start+theName.length,end));
		}

		// 登録情報があれば削除
		if (bklist) {

			// 値の分割
			var bkarray = bklist.split(":");

			// 削除処理
			for (i=0; i<=bkarray.length-1; i++) {
				if (bkarray[i] != tgtid) {
					sparray[cnt] = bkarray[i];
					cnt++;
				} else {
					flag = 1;
				}
			}

		} else {
			alert("ブックマークに登録情報がありません。");
			return false;
		}

		// 削除対象なしエラー
		if (!flag) {
			alert("未登録の情報です。");
			return false;
		}

		// 更新用に値の結合
		bklist = sparray.join(":");

		// 値の有無で処理分岐
		if (bklist) {

			// ブックマークの更新
			theName		= "SG_BOOKMARK";
			theValue	= bklist;
			theDay		= 3650;
			setDay		= new Date();
			setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
			expDay		= setDay.toGMTString();
			document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

			// カウント数の更新
			theName		= "SG_BKCNT";
			theValue	= sparray.length;
			theDay		= 3650;
			setDay		= new Date();
			setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
			expDay		= setDay.toGMTString();
			document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

		} else {

			// ブックマークの初期化
			theName		= "SG_BOOKMARK";
			theValue	= bklist;
			theDay		= -1;
			setDay		= new Date();
			setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
			expDay		= setDay.toGMTString();
			document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

			// カウント数のクリア
			theName		= "SG_BKCNT";
			theValue	= "";
			theDay		= -1;
			setDay		= new Date();
			setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
			expDay		= setDay.toGMTString();
			document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

		}

		// 現在の登録数の表示
		document.bookmark.bkcnt.value = sparray.length;

		alert("削除を行いました。\n一覧からブックマークが消えない場合は一度更新を実行してください。");

		// プログラム経由のためリロード
		location.reload();

	} else {
		return false;
	}

}

// ブックマーククリア
function clearBookmark(mode) {

	// クリア確認
	clear = confirm("全てのブックマーク情報を削除してよろしいですか？");

	// メイン処理
	if (clear) {

		// ブックマークのクリア
		theName		= "SG_BOOKMARK";
		theValue	= "";
		theDay		= -1;
		setDay		= new Date();
		setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
		expDay		= setDay.toGMTString();
		document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

		// カウント数のクリア
		theName		= "SG_BKCNT";
		theValue	= "";
		theDay		= -1;
		setDay		= new Date();
		setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
		expDay		= setDay.toGMTString();
		document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";

		// 現在の登録数の表示
		document.bookmark.bkcnt.value = "0";

		// プログラム経由なら再読み込み
		if (mode) {
			alert("初期化を行いました。\n一覧からブックマークが消えない場合は一度更新を実行してください。");
			location.reload();
		} else {
			alert("初期化を行いました。");
		}

	} else {
		return false;
	}

}

