var FJCommentEx = {};

FJCommentEx.writeReplyLink = function(parent_id, comment_id) {
    document.write('<br /><span class="comment-reply-link"><a onclick="return FJCommentEx.setParentID(' + parent_id + ',' + comment_id + ', false);" href="#">[返信]</a>　</span>');
    document.write('<span class="comment-quote-link"><a onclick="return FJCommentEx.setParentID(' + parent_id + ',' + comment_id + ', true);" href="#">[引用して返信]</a></span>');
};

FJCommentEx.setParentID = function(parent_id, comment_id, quote) {
    var doc = document
    doc.getElementById('parent_id').value = parent_id;
    var p_obj = doc.getElementById('comment-form-parent');
    var reply_cnt_obj = doc.getElementById('comment-thread-' + parent_id);
    var reply_cnt_obj_c = reply_cnt_obj.cloneNode(true);
    reply_cnt_obj_c.removeAttribute('id');
    var reply_copy_to = doc.getElementById('comment-thread-reply-content');
    reply_copy_to.innerHTML = reply_cnt_obj_c.innerHTML;
    reply_copy_to.style.height = '';
    var link_tags = reply_copy_to.getElementsByTagName('span');
    for (var i = 0, j = link_tags.length; i < j; i++) {
        if (link_tags[i].className == 'comment-reply-link') {
            link_tags[i].style.display = 'none';
        }
        if (link_tags[i].className == 'comment-quote-link') {
            var a_obj = link_tags[i].getElementsByTagName('a')[0];
            a_obj.firstChild.nodeValue = '[引用]';
        }
    }
/*    reply_copy_to.removeChild(reply_copy_to.firstChild);*/
    p_obj.style.display = '';



    var text_obj = doc.getElementById('comment-text');
    var comment_obj = doc.getElementById('comment-content-' + comment_id);
    if (comment_obj && quote) {
        var comment_cnt;
        if (comment_obj.innerText) {
            comment_cnt = comment_obj.innerText;
        }
        else if (comment_obj.textContent) {
//            var rng = doc.createRange();
//            rng.setStart(comment_obj, 0);
//            rng.setEnd(comment_obj, comment_obj.childNodes.length);
//            comment_cnt = rng.toString();
            comment_cnt = comment_obj.textContent;
        }
        var comment_lines = comment_cnt.split(/\r?\n/);
        while (comment_lines.length && comment_lines[0] == '') {
            comment_lines = comment_lines.slice(1, comment_lines.length - 1);
        }
        while (comment_lines.length && comment_lines[comment_lines.length - 1] == '') {
            comment_lines = comment_lines.slice(0, comment_lines.length - 1);
        }
        for (var i = 0, j = comment_lines.length; i < j; i++) {
            comment_lines[i] = '＞' + comment_lines[i] + '\n';
        }
        FJCommentEx.setSelection(text_obj, comment_lines.join(''));
    }

    var u = mtGetUser();
    if (!u) {
        location.hash = 'comments-open';
        doc.getElementById('comment-author').focus();
    }
    else {
            location.hash = 'comments-open';
            doc.getElementById('comment-title').focus();
    }
/*
    if ( commenter_name &&
         ( !commenter_id
        || commenter_blog_ids.indexOf("'" + 1 + "'") > -1)) {
            location.hash = 'comments-open';
            doc.getElementById('comment-title').focus();
    }
    else {
        location.hash = 'comments-open';
        doc.getElementById('comment-author').focus();
//        doc.getElementById('comment-text').focus();
    }
*/

//    FJElement.resizeHeight('comment-thread-reply-content', 500);
    return false;
}

FJCommentEx.createNewThread = function() {
    var doc = document
    doc.getElementById('parent_id').value = 0;
    doc.getElementById('comment-form-parent').style.display = 'none';

    var u = mtGetUser();
    if (!u) {
        location.hash = 'comments-open';
        doc.getElementById('comment-author').focus();
    }
    else {
            location.hash = 'comments-open';
            doc.getElementById('comment-title').focus();
    }


    return false;
}

FJCommentEx.setSelection = function(e, v) {
    if (document.selection) {
        e.focus();
        var range = document.selection.createRange();
        range.text = v;
    } else {
        var length = e.textLength;
        var start = e.selectionStart;
        var end = e.selectionEnd;
        if (end == 1 || end == 2 && length != undefined) end = length;
        e.value = e.value.substring(0, start) + v + e.value.substr(end, length);
        e.selectionStart = start + v.length;
        e.selectionEnd = start + v.length;
    }
    e.focus();
}

