/*-----------------------------------------------------------------------------
最近のコメント

$Id$
Copyright (C) 2004 OKAMURA Yuji, All rights reserved.
-----------------------------------------------------------------------------*/
/*------
コメントURL から EntryUUID を取り出す
	HaloScan 用
------*/
function HaloScanURL2EntryUUID(url) {
	if (url.match(/^http:\/\/www\.haloscan\.com\/comments\/[a-zA-Z_]+\/(E\d+)\/$/)) {
		return RegExp.$1;
	}

	return false;
}

// コメントURL から EntryUUID を取り出す関数
var URL2EntryUUID = HaloScanURL2EntryUUID;

// 一つのコメントを囲む div タグのクラス
var	CommentDivClass = 'commentLink';

// サポートされていないブラウザへの警告文字列
//	もしこの文字列が空ならそういうブラウザではなにもしない。
var	UnSupportAlertString = 'ご免なさい。\nあなたのブラウザには対応してないんです。';

function ReplaceCommentLinks(elmtID, blogBaseURL) {
	// DOM サポートのチェック
	if (!document.getElementsByTagName || !document.getElementById) {
		if (UnSupportAlertString) {
			alert(UnSupportAlertString);
		}
		return false;
	}

	var	place;
	var	entries = new Array;
	var	comments = new Array;
	var	i;

	// ジャンプ先候補の URL を収集する。
	{

		// ジャンプ先候補を探す対象を決める。
		place = document.getElementById(elmtID);

		// ジャンプ先候補をリストアップする。
		var	anchor = place.getElementsByTagName('a');
		var	entryUUID;
		var	categoryUUID;
	
		for (i = 0; i < anchor.length; i++) {
			entryUUID = URL2EntryUUID(String(anchor[i].href));
			if (entryUUID) {
				categoryUUID = getCategoryUUIDForEntry(entryUUID);
				if (categoryUUID) {
					entries[entries.length] = blogBaseURL+'/'+categoryUUID+'/'+entryUUID+'/index.html';
					//comments[comments.length] = String(anchor[i].href);
					comments[comments.length] = anchor[i];
				}
			}
		}
	}

	var	html = '';

	for (i = 0; i < entries.length; i++) {
		html += '<div class="'+CommentDivClass+'"><a href="'+String(comments[i].href)+'" target="'+comments[i].target+'">'+comments[i].innerHTML+'</a> [<a href="'+entries[i]+'">E</a>]</div>';
	}

	place.innerHTML = html;

	return true;
}
