/******************************************************************************
  so-net blog用コメント絵文字機能追加スクリプト　Ver.1.2

  revision: 1.0 create
            1.1 for safari2.0.3 and secret images
            1.2 not change images in case of big size

original script by youmode | modified by にのしん

youmode
	http://blog.so-net.ne.jp/youmode/
にのしん
	http://cesilia-pangya.blog.so-net.ne.jp/

画像入手先 http://pepper.oops.jp/
******************************************************************************/

imgList = new Array();

function setImgList() {
	imgList[imgList.length] = new Array("まじ","http://cecilia.kuronowish.com/blog/emoji/001.gif");
	imgList[imgList.length] = new Array("あせ","http://cecilia.kuronowish.com/blog/emoji/002.gif");
	imgList[imgList.length] = new Array("わら","http://cecilia.kuronowish.com/blog/emoji/003.gif");
	imgList[imgList.length] = new Array("しょぼ","http://cecilia.kuronowish.com/blog/emoji/004.gif");
	imgList[imgList.length] = new Array("にや","http://cecilia.kuronowish.com/blog/emoji/005.gif");
	imgList[imgList.length] = new Array("いかり","http://cecilia.kuronowish.com/blog/emoji/006.gif");
	imgList[imgList.length] = new Array("びっくり","http://cecilia.kuronowish.com/blog/emoji/007.gif");
	imgList[imgList.length] = new Array("ん","http://cecilia.kuronowish.com/blog/emoji/008.gif");
	imgList[imgList.length] = new Array("ういんく","http://cecilia.kuronowish.com/blog/emoji/009.gif");
	imgList[imgList.length] = new Array("ぐらさん","http://cecilia.kuronowish.com/blog/emoji/010.gif");
	imgList[imgList.length] = new Array("すき","http://cecilia.kuronowish.com/blog/emoji/011.gif");
	imgList[imgList.length] = new Array("かなし","http://cecilia.kuronowish.com/blog/emoji/012.gif");
	imgList[imgList.length] = new Array("わーん","http://cecilia.kuronowish.com/blog/emoji/013.gif");
	imgList[imgList.length] = new Array("うる","http://cecilia.kuronowish.com/blog/emoji/014.gif");
	imgList[imgList.length] = new Array("はず","http://cecilia.kuronowish.com/blog/emoji/015.gif");
	imgList[imgList.length] = new Array("ぎょ","http://cecilia.kuronowish.com/blog/emoji/016.gif");
	imgList[imgList.length] = new Array("げー","http://cecilia.kuronowish.com/blog/emoji/017.gif");
	imgList[imgList.length] = new Array("あれ","http://cecilia.kuronowish.com/blog/emoji/018.gif");
	imgList[imgList.length] = new Array("ぺこ","http://cecilia.kuronowish.com/blog/emoji/019.gif");
	imgList[imgList.length] = new Array("にこ","http://cecilia.kuronowish.com/blog/emoji/020.gif");
	imgList[imgList.length] = new Array("むふ","http://cecilia.kuronowish.com/blog/emoji/021.gif");
	imgList[imgList.length] = new Array("ひょえ","http://cecilia.kuronowish.com/blog/emoji/022.gif");
	imgList[imgList.length] = new Array("気まずい","http://cecilia.kuronowish.com/blog/emoji/023.gif");
	imgList[imgList.length] = new Array("拍手","http://cecilia.kuronowish.com/blog/emoji/024.gif");
	imgList[imgList.length] = new Array("ううん","http://cecilia.kuronowish.com/blog/emoji/025.gif");
	imgList[imgList.length] = new Array("三角帽子","http://cecilia.kuronowish.com/blog/emoji/026.gif");
	imgList[imgList.length] = new Array("はーと","http://cecilia.kuronowish.com/blog/emoji/027.gif");
	imgList[imgList.length] = new Array("だめだ","http://cecilia.kuronowish.com/blog/emoji/028.gif");
	imgList[imgList.length] = new Array("けーき","http://cecilia.kuronowish.com/blog/emoji/029.gif");
	imgList[imgList.length] = new Array("おくりもの","http://cecilia.kuronowish.com/blog/emoji/030.gif");
	imgList[imgList.length] = new Array("めーる","http://cecilia.kuronowish.com/blog/emoji/031.gif");
	imgList[imgList.length] = new Array("くち","http://cecilia.kuronowish.com/blog/emoji/032.gif");
	imgList[imgList.length] = new Array("ばら","http://cecilia.kuronowish.com/blog/emoji/033.gif");
	imgList[imgList.length] = new Array("にんじん","http://cecilia.kuronowish.com/blog/emoji/034.gif");
	imgList[imgList.length] = new Array("びーる","http://cecilia.kuronowish.com/blog/emoji/035.gif");
	imgList[imgList.length] = new Array("こーひー","http://cecilia.kuronowish.com/blog/emoji/036.gif");
	imgList[imgList.length] = new Array("わいん","http://cecilia.kuronowish.com/blog/emoji/037.gif");
	imgList[imgList.length] = new Array("ぺんぎん","http://cecilia.kuronowish.com/blog/emoji/038.gif");
	imgList[imgList.length] = new Array("ほね","http://cecilia.kuronowish.com/blog/emoji/039.gif");
	imgList[imgList.length] = new Array("でんき","http://cecilia.kuronowish.com/blog/emoji/040.gif");
	imgList[imgList.length] = new Array("でんわ","http://cecilia.kuronowish.com/blog/emoji/041.gif");
	imgList[imgList.length] = new Array("おんぷ","http://cecilia.kuronowish.com/blog/emoji/042.gif");
	imgList[imgList.length] = new Array("あくま","http://cecilia.kuronowish.com/blog/emoji/043.gif");
	imgList[imgList.length] = new Array("てんし","http://cecilia.kuronowish.com/blog/emoji/044.gif");
	imgList[imgList.length] = new Array("たいよう","http://cecilia.kuronowish.com/blog/emoji/045.gif");
	imgList[imgList.length] = new Array("ほのお","http://cecilia.kuronowish.com/blog/emoji/046.gif");
	imgList[imgList.length] = new Array("ゆき","http://cecilia.kuronowish.com/blog/emoji/047.gif");
	imgList[imgList.length] = new Array("なみだ","http://cecilia.kuronowish.com/blog/emoji/048.gif");
	imgList[imgList.length] = new Array("あめ","http://cecilia.kuronowish.com/blog/emoji/049.gif");
	imgList[imgList.length] = new Array("かみなり","http://cecilia.kuronowish.com/blog/emoji/050.gif");
	imgList[imgList.length] = new Array("ほし","http://cecilia.kuronowish.com/blog/emoji/051.gif");
	imgList[imgList.length] = new Array("かさ","http://cecilia.kuronowish.com/blog/emoji/052.gif");
	imgList[imgList.length] = new Array("時間","http://cecilia.kuronowish.com/blog/emoji/053.gif");
	imgList[imgList.length] = new Array("PP","http://cecilia.kuronowish.com/blog/emoji/054.gif");
	imgList[imgList.length] = new Array("爆竹","http://cecilia.kuronowish.com/blog/emoji/055.gif");
	imgList[imgList.length] = new Array("ケータイ","http://cecilia.kuronowish.com/blog/emoji/056.gif");
	imgList[imgList.length] = new Array("ちょき","http://cecilia.kuronowish.com/blog/emoji/057.gif");
	imgList[imgList.length] = new Array("ぐー","http://cecilia.kuronowish.com/blog/emoji/058.gif");
	imgList[imgList.length] = new Array("ぱー","http://cecilia.kuronowish.com/blog/emoji/059.gif");
	imgList[imgList.length] = new Array("ぴーす","http://cecilia.kuronowish.com/blog/emoji/060.gif");
	imgList[imgList.length] = new Array("ぐっど","http://cecilia.kuronowish.com/blog/emoji/061.gif");
	imgList[imgList.length] = new Array("ぶー","http://cecilia.kuronowish.com/blog/emoji/062.gif");
	imgList[imgList.length] = new Array("おーけー","http://cecilia.kuronowish.com/blog/emoji/063.gif");
	imgList[imgList.length] = new Array("まて","http://cecilia.kuronowish.com/blog/emoji/064.gif");
	imgList[imgList.length] = new Array("それ","http://cecilia.kuronowish.com/blog/emoji/065.gif");
	imgList[imgList.length] = new Array("ケン","http://cecilia.kuronowish.com/blog/emoji/ken.png");
	imgList[imgList.length] = new Array("エリカ","http://cecilia.kuronowish.com/blog/emoji/erika.png");
	imgList[imgList.length] = new Array("ダイスケ","http://cecilia.kuronowish.com/blog/emoji/daisuke.png");
	imgList[imgList.length] = new Array("セシリア","http://cecilia.kuronowish.com/blog/emoji/cecilia.png");
	imgList[imgList.length] = new Array("マックス","http://cecilia.kuronowish.com/blog/emoji/max.png");
	imgList[imgList.length] = new Array("クー","http://cecilia.kuronowish.com/blog/emoji/kooh.png");
	imgList[imgList.length] = new Array("アリン","http://cecilia.kuronowish.com/blog/emoji/arin.png");
	imgList[imgList.length] = new Array("カズ","http://cecilia.kuronowish.com/blog/emoji/kaz.png");
	imgList[imgList.length] = new Array("ルーシア","http://cecilia.kuronowish.com/blog/emoji/lucia.png");
	imgList[imgList.length] = new Array("赤影","http://cecilia.kuronowish.com/blog/emoji/akakage.gif");
	imgList[imgList.length] = new Array("白光","http://cecilia.kuronowish.com/blog/emoji/rea.png");
}

setImgList();

img = new Array();

for (i=0; i < imgList.length; i++) {
	img[i] = new Image();
	img[i].src = imgList[i][1];
}

/* コメントエリアに絵文字アイコンを挿入 */
function cmtEdit() {
	var limit = 75;
	//var imgText = "<dd>";
	var imgText = "";
	for (i=0; i < imgList.length; i++) {
		imgText += "<a href='javascript:;' onClick='addImageTag("+i+");'><img border='0' src='"+imgList[i][1]+"' name='img"+i+"' alt=\""+imgList[i][0]+"\" /></a>";
		//imgText += "<a href='javascript:;' onClick='addImageTag("+i+");'><img border='0' name='img"+i+"' alt=\""+imgList[i][0]+"\" /></a>";
		if (i==16 || i==33 || i==50 || i==67) imgText += "<br />";
		if (i==limit) break;
	}
	//imgText += "</dd>";
	obj = document.getElementById("comment-write").innerHTML;
	//document.getElementById("comment-write").innerHTML = obj.replace(/(<.*コメント：)/i,"<td><a class=\"site_title\" href=\"http://youmode.blog.so-net.ne.jp/2006-05-21\" target=\"_blank\"><img border=\"0\" src=\"http://www008.upp.so-net.ne.jp/youmode/images/click.gif\" alt=\"by youmode\" /></a></td><td>"+imgText+"<br /><small> [単語のフレーズ] を入力して、<a href=\"http://cecilia.kuronowish.com/blog/code/emoji_list.html\" target=\"_blank\">絵文字</a>を挿入することも可能です。<br />例)   [まじ] [あせ] [わら] など<br /><a href=\"http://cesilia-pangya.blog.so-net.ne.jp/2007-10-24\" target=\"_blank\">コメント絵文字入力スクリプト</a> | original script by <a href=\"http://youmode.blog.so-net.ne.jp/2006-05-21\" target=\"_blank\">youmode</a> | modified by にのしん</small></td>\r\n\t\t</tr><tr>\r\n\t\t\t\t$1");
	if (obj.match(/(<dt.*コメント：)/i)) {
		document.getElementById("comment-write").innerHTML = obj.replace(/(<dt.*コメント：)/i,"<dt><a class=\"site_title\" href=\"http://youmode.blog.so-net.ne.jp/2006-05-21\" target=\"_blank\"><img border=\"0\" src=\"http://www008.upp.so-net.ne.jp/youmode/images/click.gif\" alt=\"by youmode\" /></a></dt><dd>"+imgText+"<br /><small> [単語のフレーズ] を入力して、<a href=\"http://cecilia.kuronowish.com/blog/code/emoji_list.html\" target=\"_blank\">絵文字</a>を挿入することも可能です。<br />例)   [まじ] [あせ] [わら] など<br /><a href=\"http://cesilia-pangya.blog.so-net.ne.jp/2007-10-24\" target=\"_blank\">コメント絵文字入力スクリプト</a> | original script by <a href=\"http://youmode.blog.so-net.ne.jp/2006-05-21\" target=\"_blank\">youmode</a> | modified by にのしん</small></dd>\r\n\t\t\t\t$1");
	} else {
		document.getElementById("comment-write").innerHTML = obj.replace(/(<td.*コメント：)/i,"<td><a class=\"site_title\" href=\"http://youmode.blog.so-net.ne.jp/2006-05-21\" target=\"_blank\"><img border=\"0\" src=\"http://www008.upp.so-net.ne.jp/youmode/images/click.gif\" alt=\"by youmode\" /></a></td><td>"+imgText+"<br /><small> [単語のフレーズ] を入力して、<a href=\"http://cecilia.kuronowish.com/blog/code/emoji_list.html\" target=\"_blank\">絵文字</a>を挿入することも可能です。<br />例)   [まじ] [あせ] [わら] など<br /><a href=\"http://cesilia-pangya.blog.so-net.ne.jp/2007-10-24\" target=\"_blank\">コメント絵文字入力スクリプト</a> | original script by <a href=\"http://youmode.blog.so-net.ne.jp/2006-05-21\" target=\"_blank\">youmode</a> | modified by にのしん</small></td>\r\n\t\t\t\t\t\</tr>\r\n\t\t\t\t\t\t\t$1");
	}

	for (i=0; i < limit+1; i++) {
		setImage("img"+i, img[i].src);
	}
}

/* コメントを絵文字に変換 */
function cmtChange() {
	c_obj = document.getElementById("comments").innerHTML;
	for (i=0; i < imgList.length; i++) {
		rep = '\\['+imgList[i][0]+'\\]';
		re = new RegExp(rep, "g");
		document.getElementById("comments").innerHTML = c_obj.replace(re, "<img style='vertical-align:middle;float:none;margin:0 0' src='"+imgList[i][1]+"' />");
		c_obj = document.getElementById("comments").innerHTML;
	}
}

/* 絵文字をセット */
function setImage(name, src) {
	if (document.images) {
		//document.images[name].src = src;
	}
}

/* テキストエリアにタグを挿入 */
function addImageTag(no) {
	var f = document.forms[1].article_child__body;
	var tag = "["+imgList[no][0]+"]";
	if (document.selection) {
		f.focus();
		var sel = document.selection.createRange();
		sel.text = tag;
	} else if (f.selectionStart || f.selectionStart == '0') {
		var startPos = f.selectionStart;
		var endPos = f.selectionEnd;
		f.value = f.value.substring(0, startPos) + tag + f.value.substring(endPos);
	} else {
		f.value += tag;
	}
}

/* onload */
function onloadH(e) {
	var blogElements = document.getElementsByTagName("div");
	for (i = 0; i < blogElements.length; i++) {
		if (blogElements[i].id == "comment-write") {
			cmtEdit();
			//コメント量が多ければ変換しない
			var cid = "comments";
			c_obj = document.getElementById(cid).innerHTML;
			//alert(c_obj.length);
			if (c_obj.length > 20000) {
				rep = '(<H4.*/H4>)';
				re = new RegExp(rep, "i");
				document.getElementById(cid).innerHTML = c_obj.replace(re, "$1<input type=\"button\" value=\"絵文字変換\" onClick=\"cmtChange('comments')\">（※PCスペックが低いと時間がかかる場合があります。）");
			} else {
				cmtChange("comments");
			}
			break;
		}
	}
	return true;
}

window.onload = onloadH;
