// コメントにカスタマイズ絵文字入力機能：画像設定
function getCommentEmojiList() {
    var baseurl = 'http://bond-diary.jp/north/icon/';
    var list = new Array();
    // 画像名、画像URLの設定
    list[list.length] = new Array('em_sun', baseurl + 'i_001.gif');
    list[list.length] = new Array('em_cloudy', baseurl + 'i_002.gif');
    list[list.length] = new Array('em_rain', baseurl + 'i_003.gif');
    list[list.length] = new Array('em_snow', baseurl + 'i_004.gif');
    list[list.length] = new Array('em_thunder', baseurl + 'i_005.gif');
    list[list.length] = new Array('em_typhoon', baseurl + 'i_006.gif');
    list[list.length] = new Array('em_fog', baseurl + 'i_007.gif');
    list[list.length] = new Array('em_eye', baseurl + 'i_008.gif');
    list[list.length] = new Array('em_ear', baseurl + 'i_009.gif');
    list[list.length] = new Array('em_g_hand', baseurl + 'i_010.gif');
    list[list.length] = new Array('em_c_hand', baseurl + 'i_011.gif');
    list[list.length] = new Array('em_p_hand', baseurl + 'i_012.gif');
    list[list.length] = new Array('em_heart', baseurl + 'i_013.gif');
    list[list.length] = new Array('em_smile1', baseurl + 'i_014.gif');
    list[list.length] = new Array('em_worryingly', baseurl + 'i_015.gif');
    list[list.length] = new Array('em_flopped', baseurl + 'i_016.gif');
    list[list.length] = new Array('em_feeldown2', baseurl + 'i_017.gif');
    list[list.length] = new Array('em_smile2', baseurl + 'i_018.gif');
    list[list.length] = new Array('em_good', baseurl + 'i_019.gif');
    list[list.length] = new Array('em_note', baseurl + 'i_020.gif');
    list[list.length] = new Array('em_pig', baseurl + 'i_021.gif');
    list[list.length] = new Array('em_shout', baseurl + 'i_022.gif');
    list[list.length] = new Array('em_pika', baseurl + 'i_023.gif');
    list[list.length] = new Array('em_idea', baseurl + 'i_024.gif');
    list[list.length] = new Array('em_muka', baseurl + 'i_025.gif');
    list[list.length] = new Array('em_mood', baseurl + 'i_026.gif');
    list[list.length] = new Array('em_bad', baseurl + 'i_027.gif');
    list[list.length] = new Array('em_question', baseurl + 'i_028.gif');
    list[list.length] = new Array('em_biccur2', baseurl + 'i_029.gif');
    list[list.length] = new Array('em_asease', baseurl + 'i_030.gif');
    return list;
}

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

    // ***************** 設定ここまで *****************
    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] + '\');" style="border-right:1px solid #ccc;"><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;
}

