// ==UserScript==
// @name           mixi Name Quoter
// @version        0.2
// @namespace      http://pear.jp/
// @description    quotes commenters' name on your diary
// @include        http://mixi.jp/view_diary.pl?*
// ==/UserScript==

// 名前の前後につける文字列が設定できます
var before = '＞';
var after  = '';

if(document.getElementById('bodyMainArea')){
	// 誰の日記かを取得
	var owner = '';
	var h2s = document.getElementsByTagName('h2');

	for (i = 0; i < h2s.length; i++) {
		var h2 = h2s[i];
		if(h2.innerHTML.match(/の日記/)){ owner = h2.innerHTML.replace('の日記', ''); }
	}

	// bodyMainArea の内部に「日記を書く」があるかないかで自分の日記かどうか判別
	var chkstr = document.getElementById('bodyMainArea').innerHTML;

	if(chkstr.indexOf('日記を書く</a></p>') > 0){
		// あれば自分の日記が開いていると判断→補充を行う
		var spans = document.getElementsByTagName('span');
		var textarea = '';

		for(i = 0; i < spans.length; i++){
			var span = spans[i];

			// span の class 名が commentTitleName なら覚え始める
			if(span.getAttribute('class') === 'commentTitleName'){
				var str = span.innerHTML;
				str = str.replace(/<[^>]+>/gm, '');
				str = str.replace(/[\r\n]/gm, '');

				if(str === owner){
					textarea = '';	// 自分の名前があればレス済と考え初期化
				}
				else{
					textarea = textarea + before + str + after + "\n\n\n";
				}
			}
		}

		// 最後の改行をふたつ削除
		textarea = textarea.replace(/\n\n$/, '');

		// 更新する
		if(document.getElementsByTagName('textarea').length){
			document.getElementsByTagName('textarea')[0].value = textarea;
		}
	}
}

// pear.jp
// admin@pear.jp
