//----------------------------------------------------------------------------------
//
// コメントにカスタマイズ絵文字入力機能 at livedoor Blog
//
// ■このスクリプトについて
// 　stroll:blogさんでご紹介されているスクリプトをlivedoor Blog用に最適化したものです。
// 　勝手にひとまとめにさせて頂いたものですので権利など諸々はstrollさんに帰属します。
//
// スクリプトの配布に際し、快く承諾して頂いたstrollさんには心から感謝感謝です！
// stroll:blog - http://melrose.jugem.cc/
//
//----------------------------------------------------------------------------------


//--------画像設定スクリプトココから
function getCommentEmojiList() {
	var list = new Array();
	// 画像名、画像URLの設定
	list[list.length] = new Array('無言', 'http://blog.pekebatu.com/img/00.gif');
	list[list.length] = new Array('ハート', 'http://blog.pekebatu.com/img/01.gif');
	list[list.length] = new Array('汗タラー', 'http://blog.pekebatu.com/img/02.gif');
        list[list.length] = new Array('ガビン', 'http://blog.pekebatu.com/img/03.gif');
	list[list.length] = new Array('怒り', 'http://blog.pekebatu.com/img/04.gif');
	list[list.length] = new Array('音符', 'http://blog.pekebatu.com/img/05.gif');
        list[list.length] = new Array('？', 'http://blog.pekebatu.com/img/06.gif');
	list[list.length] = new Array('ビックリ', 'http://blog.pekebatu.com/img/07.gif');
	list[list.length] = new Array('汗汗', 'http://blog.pekebatu.com/img/08.gif');
        list[list.length] = new Array('ピコン', 'http://blog.pekebatu.com/img/09.gif');
	list[list.length] = new Array('失恋', 'http://blog.pekebatu.com/img/10.gif');
	list[list.length] = new Array('ラブラブ', 'http://blog.pekebatu.com/img/11.gif');
        list[list.length] = new Array('ドクロ', 'http://blog.pekebatu.com/img/12.gif');
	list[list.length] = new Array('普通', 'http://blog.pekebatu.com/img/00a.gif');
	list[list.length] = new Array('ニコ', 'http://blog.pekebatu.com/img/01a.gif');
        list[list.length] = new Array('アハ', 'http://blog.pekebatu.com/img/02a.gif');
	list[list.length] = new Array('困った', 'http://blog.pekebatu.com/img/03a.gif');
	list[list.length] = new Array('ニヤリ', 'http://blog.pekebatu.com/img/04a.gif');
        list[list.length] = new Array('めがね', 'http://blog.pekebatu.com/img/05a.gif');
	list[list.length] = new Array('ウェーン', 'http://blog.pekebatu.com/img/06a.gif');
	list[list.length] = new Array('アイタ', 'http://blog.pekebatu.com/img/07a.gif');
        list[list.length] = new Array('ポカーン', 'http://blog.pekebatu.com/img/08a.gif');
	list[list.length] = new Array('ムスッ', 'http://blog.pekebatu.com/img/09a.gif');
	list[list.length] = new Array('あーあ', 'http://blog.pekebatu.com/img/10a.gif');
        list[list.length] = new Array('LOVE', 'http://blog.pekebatu.com/img/11a.gif');
	list[list.length] = new Array('ふーん', 'http://blog.pekebatu.com/img/12a.gif');
	list[list.length] = new Array('ギョロ目', 'http://blog.pekebatu.com/img/13a.gif');
        list[list.length] = new Array('んー', 'http://blog.pekebatu.com/img/14a.gif');
	list[list.length] = new Array('ゲソッ', 'http://blog.pekebatu.com/img/15a.gif');
	list[list.length] = new Array('アングリ', 'http://blog.pekebatu.com/img/16a.gif');
        list[list.length] = new Array('チュッ', 'http://blog.pekebatu.com/img/17a.gif');
	list[list.length] = new Array('落ち込む', 'http://blog.pekebatu.com/img/18a.gif');
	list[list.length] = new Array('鼻水', 'http://blog.pekebatu.com/img/19a.gif');
        list[list.length] = new Array('晴れ', 'http://blog.pekebatu.com/img/sunny.gif');
	list[list.length] = new Array('晴くもり', 'http://blog.pekebatu.com/img/ptcloudy.gif');
        list[list.length] = new Array('雨', 'http://blog.pekebatu.com/img/showers.gif');
	list[list.length] = new Array('雷', 'http://blog.pekebatu.com/img/tstorms.gif');
	list[list.length] = new Array('あられ', 'http://blog.pekebatu.com/img/ice.gif');
	list[list.length] = new Array('雪', 'http://blog.pekebatu.com/img/snow.gif');
        list[list.length] = new Array('またね〜', 'http://blog.pekebatu.com/img/bye03ani.gif');
        list[list.length] = new Array('ウインク', 'http://blog.pekebatu.com/img/wink02ani.gif');
        list[list.length] = new Array('どぼじで〜', 'http://blog.pekebatu.com/img/nakuani.gif');
        list[list.length] = new Array('なんだよ〜', 'http://blog.pekebatu.com/img/ikari01ani.gif');
        list[list.length] = new Array('おやすみ', 'http://blog.pekebatu.com/img/zzz02ani.gif');
        list[list.length] = new Array('ガ〜ン', 'http://blog.pekebatu.com/img/ga-n01ani.gif');
        list[list.length] = new Array('えっえっ！', 'http://blog.pekebatu.com/img/bikkuri01ani.gif');
        list[list.length] = new Array('メモメモ', 'http://blog.pekebatu.com/img/memo01ani.gif');
        list[list.length] = new Array('鼻血ブ〜', 'http://blog.pekebatu.com/img/hanaji03ani.gif');
        list[list.length] = new Array('ガクブル', 'http://blog.pekebatu.com/img/ga-n03ani.gif');
        list[list.length] = new Array('', 'http://blog.pekebatu.com/entry-img/space10.jpg');
	list[list.length] = new Array('フリフリ', 'http://blog.pekebatu.com/img/konami-com.gif');
	list[list.length] = new Array('叫び', 'http://blog.pekebatu.com/img/munku.gif');
	list[list.length] = new Array('orz...', 'http://blog.pekebatu.com/img/orz.gif');
	list[list.length] = new Array('もっとorz...', 'http://blog.pekebatu.com/img/orz2.gif');
        list[list.length] = new Array('', 'http://blog.pekebatu.com/entry-img/space10.jpg');
	list[list.length] = new Array('あちゃ〜', 'http://blog.pekebatu.com/img/emjblue.gif');
	list[list.length] = new Array('愛してる', 'http://blog.pekebatu.com/img/emjheart.gif');
	list[list.length] = new Array('ハナ歌♪', 'http://blog.pekebatu.com/img/emjonpu.gif');
	list[list.length] = new Array('にゃ〜ん', 'http://blog.pekebatu.com/img/emjsmile.gif');
        return list;
}

function getCustmizeEmojiAttribute() {
	// 画像タグに含める属性値（alt属性以外）
	var att = 'border="0" style="vertical-align:middle; margin:0px auto 3px;"';
	
	// ***************** 設定ここまで *****************
	att = (att != '') ? (' ' + att) : '';
	return att;
}
//--------画像設定スクリプトココまで

//--------画像リスト出力スクリプトココから
function writeCustmizeEmojiTagList() {
	// コメントを入力するテキストエリアを指定
	var textarea = 'document.comment_form.body';

	// ***************** 設定ここまで *****************
	var list = getCommentEmojiList();
	var att = getCustmizeEmojiAttribute();
	for (var i = 0; i < list.length; i++) {
		window.document.write('<a href="javascript:;" onClick="addCustmizeEmoji(' + textarea + ', \'' + list[i][0] + '\');"><img src="' + list[i][1] + '"' + att + ' alt="' + list[i][0] + '" /></a>');
	}
}

// reference from jugem.jp (c)
function addCustmizeEmoji(obj, tag) {
	var item = '[' + tag + ']';
	if (document.selection) {
		obj.focus();
		sel = document.selection.createRange();
		sel.text = item;
	} else if (obj.selectionStart || obj.selectionStart == '0') {
		var startPos = obj.selectionStart;
		var endPos = obj.selectionEnd;
		obj.value = obj.value.substring(0, startPos)
		+ item + obj.value.substring(endPos, obj.value.length);
	} else {
		obj.value += item;
	}
}
//--------画像リスト出力スクリプトココまで

//--------画像変換スクリプトココから
function changeCustmizeEmojiTag() {
	// （１）コメント全体のタグの id 属性
	var commentAreaIdName = '';
	// （２）コメント全体のタグ名
	var commentAreaTag = 'div';
	// （３）各コメントの class 属性
	var commentBodyClassName = 'commenttext';
	
	// ***************** 設定ここまで *****************
	var list = getCommentEmojiList();
	var att = getCustmizeEmojiAttribute();
	var objComArea;
	var classComArea;
	var objComBody = new Array();
	if (commentAreaIdName != '') {
		objComArea = document.getElementById(commentAreaIdName);
	if (!objComArea || !objComArea.innerHTML) return;
		classComArea = objComArea.getElementsByTagName(commentAreaTag);
	} else {
		classComArea = document.getElementsByTagName('*');
	}
	for (var i = 0; i < classComArea.length; i++) {
		if (classComArea[i].className == commentBodyClassName) objComBody[objComBody.length] = classComArea[i];
	}
	for (var i = 0; i < objComBody.length; i++) {
		objComBody[i].innerHTML = getStringCustmizeEmojiTag(list, objComBody[i].innerHTML, att);
	}
}

function getStringCustmizeEmojiTag(list, s, att) {
	for (var i = 0; i < list.length; i++) {
		s = s.split('[' + list[i][0] + ']').join('<img src="' + list[i][1] + '"' + att + ' alt="' + list[i][0] + '" />');
	}
	return s;
}
//--------画像変換スクリプトココまで

