// コメントにカスタマイズ絵文字入力機能：画像設定
function getCommentEmojiList() {
    var list = new Array();
    // 画像名、画像URLの設定
    list[list.length] = new Array('汗だく', 'http://mico.chu.jp/emoji/asease.gif');
    list[list.length] = new Array('汗たら', 'http://mico.chu.jp/emoji/asetara.gif');
    list[list.length] = new Array('ガーン', 'http://mico.chu.jp/emoji/ga-n.gif');
    list[list.length] = new Array('プチッ', 'http://mico.chu.jp/emoji/puti.gif');
    list[list.length] = new Array('ブチ！', 'http://mico.chu.jp/emoji/puti2.gif');
    list[list.length] = new Array('ハート', 'http://mico.chu.jp/emoji/heart1.gif');
    list[list.length] = new Array('ポヨハート', 'http://mico.chu.jp/emoji/heart3.gif');
    list[list.length] = new Array('切れハート', 'http://mico.chu.jp/emoji/heart4.gif');
    list[list.length] = new Array('おんぷ', 'http://mico.chu.jp/emoji/onpu.gif');
    list[list.length] = new Array('ハビ', 'http://mico.chu.jp/emoji/habi.gif');
    list[list.length] = new Array('ハテナ', 'http://mico.chu.jp/emoji/hatena.gif');
    list[list.length] = new Array('びっくり', 'http://mico.chu.jp/emoji/bikkuri.gif');
    list[list.length] = new Array('超びっくり', 'http://mico.chu.jp/emoji/bikkuri2.gif');
    list[list.length] = new Array('おやすみ', 'http://mico.chu.jp/emoji/zz.gif');
    list[list.length] = new Array('キラキラ', 'http://mico.chu.jp/emoji/kirakira.gif');
    list[list.length] = new Array('ダッシュ', 'http://mico.chu.jp/emoji/dash.gif');
    list[list.length] = new Array('チョキ', 'http://mico.chu.jp/emoji/choki.gif');
    list[list.length] = new Array('グー', 'http://mico.chu.jp/emoji/goo.gif');
    list[list.length] = new Array('グッド', 'http://mico.chu.jp/emoji/good.gif');
    list[list.length] = new Array('パー', 'http://mico.chu.jp/emoji/pa.gif');
    list[list.length] = new Array('ひだり', 'http://mico.chu.jp/emoji/hidari.gif');
    list[list.length] = new Array('みぎ', 'http://mico.chu.jp/emoji/migi.gif');
    list[list.length] = new Array('うえ', 'http://mico.chu.jp/emoji/ue.gif');
    list[list.length] = new Array('した', 'http://mico.chu.jp/emoji/sita.gif');
    list[list.length] = new Array('けいたい', 'http://mico.chu.jp/emoji/keitai.gif');
    list[list.length] = new Array('パソコン', 'http://mico.chu.jp/emoji/pc.gif');
    list[list.length] = new Array('マウス', 'http://mico.chu.jp/emoji/mause.gif');
    list[list.length] = new Array('メール', 'http://mico.chu.jp/emoji/mail.gif');
    list[list.length] = new Array('ビール', 'http://mico.chu.jp/emoji/beer.gif');
    list[list.length] = new Array('カップ', 'http://mico.chu.jp/emoji/cap.gif');
    list[list.length] = new Array('病院', 'http://mico.chu.jp/emoji/byouin.gif');
    list[list.length] = new Array('カメラ', 'http://mico.chu.jp/emoji/camera.gif');
    list[list.length] = new Array('ヤバイ', 'http://mico.chu.jp/emoji/yabai.gif');
    list[list.length] = new Array('アヒャ', 'http://mico.chu.jp/emoji/ahya.gif');
    list[list.length] = new Array('あやしい', 'http://mico.chu.jp/emoji/kiran.gif');
    list[list.length] = new Array('バーン', 'http://mico.chu.jp/emoji/ba-n.gif');
    list[list.length] = new Array('ボーー', 'http://mico.chu.jp/emoji/boo.gif');
    list[list.length] = new Array('ブチュ', 'http://mico.chu.jp/emoji/buchu.gif');
    list[list.length] = new Array('あせる', 'http://mico.chu.jp/emoji/aseru.gif');
    list[list.length] = new Array('デヘヘ', 'http://mico.chu.jp/emoji/dehehe.gif');
    list[list.length] = new Array('エーン', 'http://mico.chu.jp/emoji/e-n.gif');
    list[list.length] = new Array('エエーッ', 'http://mico.chu.jp/emoji/ee.gif');
    list[list.length] = new Array('エヘ', 'http://mico.chu.jp/emoji/ehe.gif');
    list[list.length] = new Array('ゲーン', 'http://mico.chu.jp/emoji/ge-n.gif');
    list[list.length] = new Array('ハッ！', 'http://mico.chu.jp/emoji/ha.gif');
    list[list.length] = new Array('ハァ？', 'http://mico.chu.jp/emoji/haa.gif');
    list[list.length] = new Array('キャー', 'http://mico.chu.jp/emoji/kyaa.gif');
    list[list.length] = new Array('マジ？', 'http://mico.chu.jp/emoji/maji.gif');
    list[list.length] = new Array('ムププ', 'http://mico.chu.jp/emoji/mupupu.gif');
    list[list.length] = new Array('んー', 'http://mico.chu.jp/emoji/n-.gif');
    list[list.length] = new Array('オーホッホッ', 'http://mico.chu.jp/emoji/ohoho.gif');
    list[list.length] = new Array('オイオイ', 'http://mico.chu.jp/emoji/oioi.gif');
    list[list.length] = new Array('パチパチ', 'http://mico.chu.jp/emoji/patipati.gif');
    list[list.length] = new Array('キー', 'http://mico.chu.jp/emoji/ki.gif');
    list[list.length] = new Array('プププ', 'http://mico.chu.jp/emoji/pupupu.gif');
    list[list.length] = new Array('ショボーン', 'http://mico.chu.jp/emoji/shobon.gif');
    list[list.length] = new Array('スキ', 'http://mico.chu.jp/emoji/suki.gif');
    list[list.length] = new Array('チィース！', 'http://mico.chu.jp/emoji/thi-su.gif');
    list[list.length] = new Array('トホホ', 'http://mico.chu.jp/emoji/tohoho.gif');
    list[list.length] = new Array('ウレシー', 'http://mico.chu.jp/emoji/uresi.gif');
    list[list.length] = new Array('ウゥゥ', 'http://mico.chu.jp/emoji/kusun.gif');
    return list;
}

function getCustmizeEmojiAttribute() {
    // 画像タグに含める属性値（alt属性以外）
    var att = 'border="0" style="vertical-align:middle" style="margin:0px 5px 0px 0px"';

    // ***************** 設定ここまで *****************
    att = (att != '') ? (' ' + att) : '';
    return att;
}

function writeCustmizeEmojiTagList(textarea) {

    // ***************** 設定ここまで *****************
    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(commentAreaIdName, commentAreaTag, commentBodyClassName) {

    // ***************** 設定ここまで *****************
    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] + '" class="emoji" />');
    }
    return s;
}
