/* выпадушка */

document.domain='mail.ru';

var _link_a;
var evt_a;
var journal_email_a;
var journal_nick_a;
var journal_dir_a;
var not_show_top;
var not_show_avatar = 0;
var html_groups = "";

function zaglushka()
{
    var div = document.getElementById("userDropDownId");
    // Задаем положение div-а
    div.style.width=190;
    div.style.height=155;
    div.innerHTML = '<div style="width:190px;height:155px;background:#f4f4f4 url(http://img.mail.ru/mail/ru/images/blogs/loading.gif) center center no-repeat;"><spacer/></div>';
    div.style.top = absPosition(_link_a).y + _link_a.offsetHeight;
    div.style.left = (screenSize().w - absPosition(_link_a).x - 190 > 0) ? absPosition(_link_a).x : absPosition(_link_a).x - 190 + _link_a.offsetWidth;
    div.style.display = "";
    return false;
}

function get_friend_status(email, func_callback)
{
    /*if (not_show_top == 1)
    {
        removeHandler(document, "click", userMenuHide);
        bubble();
        userMenuShow(_link_a, evt_a, journal_email_a, journal_nick_a, journal_dir_a,0,0,0,0,not_show_top);
    }
    else
    {*/
        img = _link_a.firstChild;
        if(img.nodeName == "IMG")
        {
            // при открытой какой либо выпадушке
            if(gebi('userDropDownId').style.display =='')
            {
                // при клике на ту же самую выпадушку переветываем(в обычное положение) ее картинку
                if(img.id == 'open_pulldown')
                    changeImg(img);
                userMenuHide_2();
                // при клике на другую выпадушку, перертываем(в обычное положение) ту картинку котрая уже была отктыта ранее
                if(open_img = gebi('open_pulldown'))
                    changeImg(open_img);
                else return false;
            }

            // при клике на выпадушку перевертываем картинку на противоположную
            changeImg(img);
        }

        removeHandler(document, "click", userMenuHide);
        bubble();
        zaglushka();
        perl_get_friend_status(email, func_callback);
    //}
}
function changeImg(img)
{
    var change = 0;
    var not_change;
    var act = 'user_arrow_act.gif';
    var pas = 'user_arrow_pas.gif';
    var act_1 = 'user_arrow_act_1.gif';
    var pas_1 = 'user_arrow_pas_1.gif';

    if(img.id)
        img.id = "";
    else
        img.id = "open_pulldown";

    src = img.src;

    if(src.indexOf(act)!=-1)
    {
        change = act_1;
        not_change = act;
    }
    if(src.indexOf(act_1)!=-1)
    {
        change = act;
        not_change = act_1;
    }
    if(src.indexOf(pas)!=-1)
    {
        change = pas_1;
        not_change = pas;
    }
    if(src.indexOf(pas_1)!=-1)
    {
        change = pas;
        not_change = pas_1;
    }

    if(change)
    {
        src = src.replace(not_change, change);
        img.src = src;
    }
}

function show_friend_group_selector_callback1(groups,has_default_group,div_name,journal_email)
{
    var participate = 0;
    addToFriends(groups,has_default_group,journal_email,participate);
    var div = document.getElementById("divForFriendsId");
    div.style.display = "";
}

function show_participate_group_selector_callback1(groups,has_default_group,div_name,journal_email)
{
    var participate = 1;
    addToFriends(groups,has_default_group,journal_email,participate);
    var div = document.getElementById("divForFriendsId");
    div.style.display = "";
}

function get_journal_email_callback(is_friend, is_subscr, is_community)
{
    var participate = 0;
    //perl_fetch_groups('',journal_email_a,show_friend_group_selector_callback1);
    removeHandler(document, "click", userMenuHide);
    userMenuShow(_link_a, evt_a, journal_email_a, journal_nick_a, journal_dir_a, is_friend, is_subscr, is_community, participate, not_show_top);
}

function get_journal_email_participate_callback(is_friend, is_subscr, is_community)
{
    var participate = 1;
    //perl_fetch_groups('',journal_email_a,show_participate_group_selector_callback1);
    removeHandler(document, "click", userMenuHide);
    userMenuShow(_link_a, evt_a, journal_email_a, journal_nick_a, journal_dir_a, is_friend, is_subscr, is_community, participate, not_show_top);
}

function disable_group_checkboxes1()
{
    var group_selector=document.getElementById("group_selector_form1");
    var radio=document.getElementById("add_without_group1");
    if(group_selector && radio) {
        for(i=0;i<group_selector.elements.length-1;i++)
        if(group_selector.elements[i].name=="group")
            group_selector.elements[i].disabled=radio.checked;
    }
}

function new_group1()
{
    //html_groups = "";
    new_name=prompt("Введите имя новой группы","");
    if(new_name!=undefined) {
        perl_new_group_for_active_user(new_name,new_group_callback1);
    }
}

function new_group_callback1(group_id,name,name_wo_wbr)
{
    var innerHTML="<input type=checkbox name=group value=\""+group_id+"\" id=group_"
        +group_id+" checked>&nbsp;<label for=group_"+group_id+">"+name+"</label><br>";
    var span=document.createElement("span");
    span.id="group_span_"+group_id;
    span.innerHTML=innerHTML;
    var groups_checkboxes=document.getElementById("groups_checkboxes1");
    if(groups_checkboxes) {
        groups_checkboxes.appendChild(span);
    }
    var radio=document.getElementById("add_with_group1");
    if(radio) {
        radio.disabled=false;
        radio.checked=true;
    }
    disable_group_checkboxes1();
}

// Функция для определения размеров видимой области окна браузера
function screenSize() {
    var w, h; // Объявляем переменные, w - длина, h - высота
    w = window.document.body.clientWidth;
    h = window.document.body.clientHeight;
    return {w:w, h:h};
}
// Функция для предотвращения всплывания событий
function bubble() {
    if (window.event != undefined) window.event.cancelBubble = true;
    else evt_a.cancelBubble = true;
}
// Функция генерации надписи и ссылки для подписки/отписки от обновлений
function posts_subscribe_namelink(is_subscr, is_community, email) {
    var subscr;
    var link_subscr;
    var onfunc;
    if (is_subscr == 0) {
        subscr = '<img class="icon IEpng" src="http://img.mail.ru/r/blogs/ico_subscribe.png" align="absmiddle" width="16" height="16" alt="Подписаться на обновления" border="0" />Подписаться на обновления';
        if (is_community == 1) {
            link_subscr = 'http://r.mail.ru/cln3598/';
            // выдрать вообще? на мае нет такой ссылки, только аякс
            link_subscr += (PerlVar_BlogsPerlHost + PerlVar_ACTION_DIR + 'jcommentssubscribe?user=' + email + '&posts=1&' + PerlVar_back);
        } else {
            link_subscr = 'http://r.mail.ru/cln3590/';
            link_subscr += (PerlVar_BlogsPerlHost + PerlVar_ACTION_DIR + 'jcommentssubscribe?user=' + email + '&posts=1&' + PerlVar_back);
        }
    } else {
        subscr = '<img class="icon IEpng" src="http://img.mail.ru/r/blogs/ico_unsubscribe.png" align="absmiddle" width="16" height="16" alt="Отписаться от обновлений" border="0" />Отписаться от обновлений';
        if (is_community == 1) link_subscr = 'http://r.mail.ru/cln3599/';
        else link_subscr = 'http://r.mail.ru/cln3591/';
        link_subscr += (PerlVar_BlogsPerlHost + PerlVar_ACTION_DIR + 'jcommentssubscribe?user=' + email + '&remove=1&posts=1&' + PerlVar_back);
    }
    onfunc = 'posts_subscribe_ajaxcall(\''+email+'\','+is_subscr+','+is_community+')';
    return [subscr,link_subscr,onfunc];
}
// Функция показывает div с информацией
function userMenuShow(_link, evt, journal_email, journal_nick, journal_dir, is_friend, is_subscr, is_community, participate, not_show_top) {
    var friend;
    var subscr;
    var link_subscr;
    var link_subscr_func;
    var link_friend;
    if (participate == 1) {
        link_friend = 'http://r.mail.ru/cln3597/' + PerlVar_BlogsPerlHost + PerlVar_ACTION_DIR + 'jaddfriend?participate=1&user=' + journal_email + '&' + PerlVar_back;
        //link_friend = 'http://r.mail.ru/cln3597/' + (is_community ? ('my.mail.ru' + journal_dir) : (PerlVar_BlogsPerlHost + PerlVar_ACTION_DIR + 'j')) + 'addfriend?participate=1&leave=1&user=' + journal_email + '&' + PerlVar_back;
    } else {
        link_friend = 'http://r.mail.ru/cln3589/' + PerlVar_BlogsPerlHost + PerlVar_ACTION_DIR + 'jaddfriend?user=' + journal_email + '&' + PerlVar_back;
        //link_friend = 'http://r.mail.ru/cln3589/' + (is_community ? ('my.mail.ru' + journal_dir) : (PerlVar_BlogsPerlHost + PerlVar_ACTION_DIR + 'j')) + 'addfriend?leave=1&user=' + journal_email + '&' + PerlVar_back;
    }
    if (is_friend == 0) {
        friend = 'Добавить в друзья';
    } else {
        friend = 'Удалить из друзей';
        link_friend += '&leave=1';
    }
    var a = posts_subscribe_namelink(is_subscr, is_community, journal_email);
    subscr = a[0];
    link_subscr = a[1];
    link_subscr_func = a[2];
    var today = new Date();
    // Формируем HTML-код div-а
    var HTML = [];
    HTML.push('<div class="userinfo">');
    if (is_community == 1) {
        HTML.push('<a href="http://r.mail.ru/cln3595/' + PerlVar_BlogsPerlHost + journal_dir + 'info"><img class="icon IEpng" src="http://img.mail.ru/r/blogs/ico_info.png" align="absmiddle" width="16" height="16" alt="Информация о сообществе" border="0" />Информация о сообществе</a><br />');
        HTML.push('<a href="' + journal_dir + 'jcommunities-invitation"><img src="http://img.mail.ru/r/blogs/ico_add_friend.png" class="icon IEpng" align="absmiddle" width="16" height="16" alt="Пригласить друзей" border="0" />Пригласить друзей</a><br />');
        //HTML.push('<a href="http://r.mail.ru/cln3595/my.mail.ru' + journal_dir + 'info"><img class="icon IEpng" src="http://img.mail.ru/r/blogs/ico_info.png" align="absmiddle" width="16" height="16" alt="Информация о сообществе" border="0" />Информация о сообществе</a><br />');
        //HTML.push('<a href="http://my.mail.ru' + journal_dir + 'communities-invitation"><img src="http://img.mail.ru/r/blogs/ico_add_friend.png" class="icon IEpng" align="absmiddle" width="16" height="16" alt="Пригласить друзей" border="0" />Пригласить друзей</a><br />');
        HTML.push('<a ' + (is_friend==1 ? '' : 'onclick="return show_friend_group(1);"') + 'href="'+link_friend+'" mc=1><img class="icon IEpng" src="http://img.mail.ru/r/blogs/'+(is_friend==1?'ico_quit_comm.png':'ico_enter_comm.png')+'" align="absmiddle" width="16" height="16" alt="" border="0" />'+(is_friend==1?'Покинуть':'Вступить в сообщество')+'</a><br />');
        //HTML.push('<a href="'+link_friend+'"><img class="icon IEpng" src="http://img.mail.ru/r/blogs/'+(is_friend==1?'ico_quit_comm.png':'ico_enter_comm.png')+'" align="absmiddle" width="16" height="16" alt="" border="0" />'+(is_friend==1?'Покинуть':'Вступить в сообщество')+'</a><br />');
        HTML.push('<div id="divForFriendsId" style="display: none"></div>');
        HTML.push('<a href="'+link_subscr+'" id="linkForSubscribe" onclick="return '+link_subscr_func+'" mc=1>'+subscr+'</a><br />');
    } else {
            if (not_show_top == 0) {
                if (not_show_avatar == 0) {
                    HTML.push('<div><img src="http://img.mail.ru/0.gif" width="1" height="5" border="0" /></div>');
                    HTML.push('<table cellpadding="0" cellspacing="0"><tr>');
                    HTML.push('<td><img src="http://avt.foto.mail.ru' + journal_dir + '_avatar" border="0" /></td><td class="pl7">');
                    HTML.push('<a href="http://r.mail.ru/cln3618/my.mail.ru'+journal_dir+'?from_commercial=18"><img src="http://img.mail.ru/r/blogs/ico_my.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>&nbsp;&nbsp;<a href="http://my.mail.ru'+journal_dir+'?from_commercial=18" style="color:#FE7E00;font-size:95%;" target="_blank">Мир</a><br />');
                    HTML.push('<a href="http://r.mail.ru/cln3617/blogs.mail.ru'+journal_dir+'"><img src="http://img.mail.ru/r/blogs/ico_blogs_all.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>&nbsp;&nbsp;<a href="'+journal_dir+'" style="color:#FE7E00;font-size:95%;">Блог</a><br />');
                    HTML.push('<a href="http://r.mail.ru/cln3554/foto.mail.ru'+journal_dir+'" target="_blank"><img src="http://img.mail.ru/r/blogs/ico_foto.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>&nbsp;&nbsp;<a href="http://foto.mail.ru'+journal_dir+'" style="color:#FE7E00;font-size:95%;" target="_blank">Фото</a><br />');
                    HTML.push('<a href="http://r.mail.ru/cln3555/video.mail.ru'+journal_dir+'" target="_blank"><img src="http://img.mail.ru/r/blogs/ico_video.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>&nbsp;&nbsp;<a href="http://video.mail.ru'+journal_dir+'" style="color:#FE7E00;font-size:95%;" target="_blank">Видео</a><br />');
                    HTML.push('</td></tr></table><br />');
                } else {
                    HTML.push('<div><img src="http://img.mail.ru/0.gif" width="1" height="5" border="0" /></div>');
                    HTML.push('<div align="center">');
                    HTML.push('<a style="margin-right:5px;" href="http://r.mail.ru/cln3618/my.mail.ru'+journal_dir+'?from_commercial=18"><img src="http://img.mail.ru/r/blogs/ico_my.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>');
                    HTML.push('<a style="margin-right:5px;" href="http://r.mail.ru/cln3617/blogs.mail.ru'+journal_dir+'"><img src="http://img.mail.ru/r/blogs/ico_blogs_all.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>');
                    HTML.push('<a style="margin-right:5px;" href="http://r.mail.ru/cln3554/foto.mail.ru'+journal_dir+'" target="_blank"><img src="http://img.mail.ru/r/blogs/ico_foto.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>');
                    HTML.push('<a style="margin-right:5px;" href="http://r.mail.ru/cln3555/video.mail.ru'+journal_dir+'" target="_blank"><img src="http://img.mail.ru/r/blogs/ico_video.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" vspace="2" /></a>');
                    HTML.push('</div>');
                    HTML.push('<div class="line"><img src="http://img.mail.ru/0.gif" width="1" height="1" border="0" /></div>');
                }
            }
            HTML.push('<a href="http://r.mail.ru/cln3586/' + PerlVar_BlogsPerlHost + journal_dir + 'info"><img class="icon IEpng" src="http://img.mail.ru/r/blogs/ico_info.png" align="absmiddle" width="16" height="16" alt="О пользователе" border="0" />О пользователе</a><br />');
            //HTML.push('<a href="'+link_friend+'" onclick="return journal_addfriend(' + is_friend + ', 1, this, this.href);" mc=1><img class="icon IEpng" src="http://img.mail.ru/r/blogs/'+(is_friend==1?'ico_deletefriend.gif':'ico_add_friend.png')+'" align="absmiddle" width="16" height="16" alt="'+friend+'" border="0" />'+friend+'</a><br />');
            HTML.push('<div id="divForFriendsId" style="display:none"></div>');
            HTML.push('<a href="'+link_subscr+'" id="linkForSubscribe" onclick="return '+link_subscr_func+'" mc=1>'+subscr+'</a><br />');
            HTML.push('<div class="line"><img src="http://img.mail.ru/0.gif" width="1" height="1" border="0" /></div>');
            HTML.push('<a class="grey" href="http://www.mail.ru/agent?message&to='+journal_email+'"><img class="icon" src="http://img.mail.ru/r/blogs/ico_add_in_agent.png" class="IEpng" align="absmiddle" width="16" height="16" alt="Добавить в агент" border="0" />Добавить в агент</a><br />');
            HTML.push('<a class="grey" href="http://r.mail.ru/cln3593/win.mail.ru/cgi-bin/sentmsg?To='+journal_email+'"><img class="icon2" src="http://img.mail.ru/r/blogs/ico_write_letter.png" class="IEpng" align="absmiddle" width="18" height="17" alt="Написать письмо" border="0">Написать письмо</a><br />');
            HTML.push('<a class="grey" href="http://r.mail.ru/cln3594/cards.mail.ru/rnd_card.html?G=4&E=29&sendername=Test&senderemail=' +  PerlVar_ActiveEmail + '&rcptname='+journal_nick+'&rcptemail='+journal_email+'&send_day='+today.getDate()+'&send_mon='+(today.getMonth()+1)+'&send_year='+today.getFullYear()+'"><img class="icon IEpng" src="http://img.mail.ru/r/blogs/ico_post_card.png" align="absmiddle" width="16" height="17" alt="Отправить открытку" border="0">Отправить открытку</a><br />');
        }
    // Покажем div
    HTML.push('</div>');
    var div = document.getElementById('userDropDownId');
    div.style.width = '190px';
    div.style.height = '';
    div.innerHTML = HTML.join('');
    // Задаем положение div-а
    div.style.top = absPosition(_link).y + _link.offsetHeight;
    div.style.left = (screenSize().w - absPosition(_link).x - div.offsetWidth > 0) ? absPosition(_link).x : absPosition(_link).x - div.offsetWidth + _link.offsetWidth;
    div.style.display = '';
    // Запрещаем всплывание событий при клике по ДИВу
    removeHandler(div, 'click', evf);
    addHandler(div, 'click', evf);
    // Добавим обработку клика
    addHandler(document, 'click', userMenuHide);
	try {grepLinks(div);} catch(e) {}; // create My (529441)
    return false;
}
function evf(e) { e = e || window.event; e.cancelBubble = true; }

// Функция для скрытий div-a по клику на документ
function userMenuHide() {
    if(open_img = gebi('open_pulldown'))
        changeImg(open_img);

    var div = document.getElementById("userDropDownId");
    removeHandler(document, "click", userMenuHide);
    div.style.display = "none";
}

// Функция для скрытий div-a по клику на иконку выпадушки
function userMenuHide_2() {
    var div = document.getElementById("userDropDownId");
    removeHandler(document, "click", userMenuHide);
    div.style.display = "none";
}

// Добавление друзей
function show_friend_group(participate) {
    if (participate == 1)
    {
        perl_fetch_groups('',journal_email_a,show_participate_group_selector_callback1);
    }
    else
    {
        perl_fetch_groups('',journal_email_a,show_friend_group_selector_callback1);
    }
    //var div = document.getElementById("divForFriendsId");
    //div.style.display = "";
    return false;
}

function addToFriends(groups,has_default_group,journal_email,participate) {
    var div = document.getElementById("divForFriendsId");
    var html = "<form id='group_selector_form1' style='margin:0px;' action='" + PerlVar_ACTION_DIR + "jaddfriend'>";
    html += "<input type=\"hidden\" name=\"user\" value=\""+journal_email+"\">";
    html += "<input type=\"hidden\" name=\"back\" value=\"" +  PerlVar_back_value + "\">";
    html += "<input type=\"hidden\" name=\"participate\" value=\""+participate+"\">";
    html +="<h3><input type=radio name='add_with_group' id=\"add_with_group1\" value=\"1\" onclick=\"disable_group_checkboxes1(this);\" " +(groups.length>0 && has_default_group!=0?"checked ":" ")+(groups.length<=0?"disabled=1":"")+"><label for=add_with_group1>В группу</label></h3>";
    html += "<div id='groups_checkboxes1' class='widthCheckBox'>";
    for (var i = 0; i < groups.length; i++) {
        html += "<input "+(has_default_group==0?"disabled=1":"")+" "+(groups[i]["Default"]!=0?"checked":"")+" name=group type='checkbox' value='" + groups[i]["ID"] + "' id='chcbid_" + i + "'><label for='chcbid_" + i + "'>" + (groups[i]["Default"]!=0?"<span class=green_c>":"") + groups[i]["Name"] + (groups[i]["Default"]!=0?"</span>":"") + "</label><br>";
    }
    html += "</div>";
    html += "<div class='newGroup'><a onclick=\"new_group1(); return false;\" href=''>Новая группа</a></div>";
    html += "<h3><input type=radio name=\"add_with_group\" id='add_without_group1' value=\"0\" onclick=\"disable_group_checkboxes1(this);\" " +(groups.length<=0 || has_default_group==0?"checked":"")+">&nbsp;<label for=add_without_group1>Без группы</label></h3>";
    html += "<div class='forButt'><input type='submit' value='ОК'>&nbsp;&nbsp;<input onclick='userMenuHide()' type='button' value='Отмена'></div>";
    html += "</form>";
    html_groups = html;
    div.innerHTML = html;
    //div.style.display = "";
}

function posts_subscribe_ajaxcallback(remove,email)
{
    if(remove<0) return;
    if(remove) remove=0; else remove=1;
    var link = document.getElementById('linkForSubscribe');
    var subscr,link_subscr;
    if(link) {
        var a = posts_subscribe_namelink(remove,is_community,email);
        subscr = a[0];
        link_subscr = a[1];
        link.innerHTML = subscr;
        link.href = link_subscr;
        link.onclick=function() { return posts_subscribe_ajaxcall(email,remove,is_community); };
    }
}

function posts_subscribe_ajaxcall(email,remove,community)
{
    var link = document.getElementById('linkForSubscribe');
    if(link) {
        link.innerHTML=link.innerHTML.replace(/[^>]+$/,'Выполняется...');
        link.onclick=function() { return false; };
        is_community = community;
    }
    perl_posts_comments_subscribe(1,remove,0,email,posts_subscribe_ajaxcallback);
    return false;
}

var is_community = 0;
var not_top = 0;

function open_dropdown_all(a, event, email, dir, nick, not_top, is_community)
{
    _link_a = a;
    evt_a = event;
    not_show_top = not_top;
    journal_email_a = email;
    journal_dir_a = dir;
    journal_nick_a= nick;
    if(is_community) func = get_journal_email_participate_callback;
    else func = get_journal_email_callback;
    get_friend_status(email, func);
}

//////////////////////////////////////////////////
function make_comment(PostID, comment) {
    var ThreadID = comment['ID'];
    var UserDir = comment['PosterDir'];
    var IsStar = comment['IsStar'];
    var Immunity = (comment['Immunity'] != 0 && comment['Immunity'] != 'undefined') ? true : false;
    var PosterID = comment['PosterID'];
    var PosterEmail = comment['PosterEmail'];
    var Poster = comment['Poster'];
    var PosterName = comment['PosterName'];
    var PosterDeleted = comment['PosterDeleted'];
    var PosterInfo = comment['PosterInfo'];
    var PosterBirthday = comment['PosterBirthday'];
    var AvatarUrl = comment['AvatarUrl'];
    var JournalID = comment['JournalID'];
    var JournalEmail = comment['JournalEmail'];
    var JournalDir = comment['JournalDir'];
    var IsCommentable = comment['Commentable'];
    var IsScreenable = comment['Screenable'];
    var IsDeletable = comment['Deletable'];
    var IsReadable = comment['Readable'];
    var InBlackList = comment['InBlackList'];
    var ReSubject = comment['ReSubject'];
    var FilteredSubject = comment['FilteredSubject'];
    var CommentText = comment['FilteredComment'];
    var CommentHide = comment['CommentHide'];
    var Time = comment['Time'];
    var CanMakeReadable = comment['CanMakeReadable'];
    var CanMakeCommentable = comment['CanMakeCommentable'];
    var CanEditBlackList = comment['CanEditBlackList'];
    var Screened = comment['Screened'];
    var SomebodyCommentable = comment['SomebodyCommentable'];
    var PublicalyReadable = comment['PublicalyReadable'];
    var ActionDir = comment['ActionDir'];

    var HTML = [];

    HTML.push('<table border=0 class="tred" cellspacing="0" cellpadding="0" width="100%"><tr valign="top"><tr><td class="comment_text comment_bg_color" id="comment_hide_bg_td1_' + ThreadID + '" valign="top">');

    if (!IsReadable) {
        HTML.push('<div class="del_div"><img height="18" align="absmiddle" width="18" alt="Комментарий скрыт" title="Комментарий скрыт" class="IEpng" src="http://img.mail.ru/r/blogs/ico_comment_hidden.png" />&nbsp;&nbsp;Комментарий скрыт</div>');
        return HTML.join('');
    }

    var html1 = [];
    if (AvatarUrl) {
        html1.push('<a href="' + UserDir + '"><img src="' + AvatarUrl + '" border="0"></a>');
    } else {
        if (PosterID) {
            html1.push('<a href="/cgi-bin/journal/nosuchuser?journal_id=' + PosterID + '&post_id=' + PostID + '"><img src="http://img.mail.ru/r/avatars/26deleteduser.jpg" border="0" /></a>');
        } else {
            html1.push('<img src="http://img.mail.ru/r/avatars/00noavatar.jpg" border="0" />');
        }
    }
    html1 = html1.join('');

    if (IsStar) {
        HTML.push('<table cellspacing="0" cellpadding="0" class="star_avatar"><tr><td colspan="3" class="canvt"><img src="http://img.mail.ru/mail/ru/images/blogs/star_border_t.gif" width="15" height="6" /></td></tr><tr><td class="canvl"><img src="http://img.mail.ru/mail/ru/images/blogs/star_border_l.gif" width="5" height="11" /></td><td>');
        HTML.push(html1);
        HTML.push('</td><td class="canvr"><img src="http://img.mail.ru/mail/ru/images/blogs/star_border_r.gif" width="6" height="12" /></td></tr><tr><td colspan="3" class="canvb"><img src="http://img.mail.ru/mail/ru/images/blogs/star_border_b.gif" width="15" height="5" /></td></tr></table>');
        if (PosterEmail) {
            HTML.push('<div class="larger"><nobr><a target="_blank" onclick="show_ava(\'' + AvatarUrl + 'big\',\'' + UserDir + '\'); return false;" href="#">увеличить</a></nobr></div>');
        }
        HTML.push('<br />');
    } else {
        HTML.push('<div class="bord_av sm" style="text-align: center;">');
        HTML.push(html1);
        HTML.push('<br />');
        if (AvatarUrl) {
            HTML.push('<div class="larger"><nobr><a target="_blank" onclick="show_ava(\'' + AvatarUrl + 'big\',\'' + UserDir +'\'); return false;" href="#" style="color: #CCC !important">увеличить</a></nobr></div>');
        }
        HTML.push('</div>');
    }

    HTML.push('</td><td id="comment_hide_bg_td2_' + ThreadID + '" class="cont comment_text comment_bg_color" width="100%" valign="top">');
    if (!PublicalyReadable) {
        HTML.push('<div class=hide_com id="screened_not_readable_' + ThreadID + '">Комментарий скрыт</div>');
    } else {
        if (Screened) {
            HTML.push('<div class=hide_com id="screened_' + ThreadID + '">Комментарий скрыт</div>');
        } else {
            HTML.push('<span id="unscreened_' + ThreadID + '"></span>');
        }
    }
    HTML.push('<table class="autor" cellspacing="0" cellpadding="0" width="100%" border="0"><tr><td nowrap>');
    if (PosterEmail) {
        HTML.push('<a href="http://www.mail.ru/agent?message&to=' + PosterEmail + '"><img src="http://status.mail.ru/?' + PosterEmail + '" width=13 height=13 align=absmiddle border=0></a>&nbsp;&nbsp;<a href="' + UserDir + '">');
        if (PosterDeleted) HTML.push('<s>');
        HTML.push(PosterName);
        if (PosterDeleted) HTML.push('<s>');
        HTML.push('</a>');
        if (IsStar) {
            HTML.push('<img src="http://img.mail.ru/r/blogs/ico_star.png" class="IEpng" alt="Звездные блоги на Mail.Ru" width="10" height="10" border="0" align="texttop">');
        }
        if (PosterBirthday) {
            HTML.push('&nbsp;<a href="' + UserDir + 'birthday.html"><img src="http://img.mail.ru/r/blogs/ico_birthday.png" class="IEpng" width="16" height="16" border="0" alt="день рождения" align="absmiddle" /></a>');
        }
    } else {
        if (PosterID) {
            HTML.push('<img src="http://img.mail.ru/r/blogs/ico_del_user.png" class="IEpng" width="13" height="13" border="0" align="absmiddle">&nbsp;&nbsp;<a href="/cgi-bin/journal/nosuchuser?journal_id=' + JournalID + '&post_id=' + PostID + '"><i>Пользователь удален</i></a>');
        } else {
            if (Poster) {
                HTML.push(Poster);
            } else {
                HTML.push('Анонимно');
            }
        }
    }
    if (PosterInfo) {
        HTML.push('<a class="ml3" onclick="open_dropdown_comment_' + ThreadID + '(this,event); return false;" href="#" target="_blank"><img src="http://img.mail.ru/mail/ru/images/blogs/user_arrow_pas.gif" width="13" height="13" border="0" alt="Меню пользователя" title="Меню пользователя" align="absmiddle" /></a>');
    }

    if (CanEditBlackList) {
        HTML.push('<div style="display: none;"><span id="PosterName_' + ThreadID + '">' + PosterName + '</span></div>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onclick="black_list_confirm(\'' + JournalDir + 'jblacklist?email=' + PosterEmail);
        if (InBlackList) HTML.push('&delete=1');
        HTML.push('&back=' + PerlVar_back_value + ',');
        if (InBlackList) {
            HTML.push("'del'");
        } else {
            HTML.push("'add'");
        }
        HTML.push(',document.getElementById(\'PosterName_' + ThreadID + '\').innerHTML)">');
        if (InBlackList) {
            HTML.push('<img src="http://img.mail.ru/mail/ru/images/blogs/ico_del_bllist.png" class="IEpng" width="16" height="16" align="absmiddle" border="0" title="Удалить из Черного списка" /></a>');
        } else {
            HTML.push('<img src="http://img.mail.ru/mail/ru/images/blogs/ico_add_bllist.png" class="IEpng" width="16" height="16" align="absmiddle" border="0" title="Добавить в Черный список" /></a>');
        }
    }

    HTML.push('</td><td class="info" nowrap>' + Time + '&nbsp;(<a href="' + JournalDir + PostID + '.html?thread=' + ThreadID + '&skip=0">ссылка</a>)</td><td class="info" nowrap><div id="HPost_' + ThreadID + '"><a href="#" onclick="return show_comment(\'' + PostID + '\', \'' + ThreadID + '\');" title="Скрыть"><img height="11" border="0" align="absmiddle" width="11" src="http://img.mail.ru/mail/ru/images/blogs/-.jpg" class="mr5" />Скрыть</a></div></td>');
    HTML.push('<td width="100%" class="icons" nowrap>');

    if (!PublicalyReadable) {
        if (CanMakeReadable) {
            HTML.push('<a onclick="return screen_comment(\'' + ThreadID + '\');" href="' + ActionDir + 'jscreencomment?user=' + JournalEmail + '&id=' + PostID + '&screen=' + ThreadID + '&readable=1&back=' + PerlVar_back_value + '"><img id="screen_img_' + ThreadID + '" src="http://img.mail.ru/r/blogs/ico_comment_show_2.png" class="IEpng" width="18" height="18" border="0" align="absmiddle" alt="Показать комментарий" title="Показать комментарий" /></a>&nbsp;');
        }
    } else {
        if (IsScreenable) {
            if (Screened) {
                HTML.push('<a onclick="return screen_comment(\'' + ThreadID + '\');" href="' + ActionDir + 'jscreencomment?user=' + JournalEmail + '&id=' + PostID + '&screen=' + ThreadID + '&restore=1&back=' + PerlVar_back_value + '"><img id="screen_img_' + ThreadID + '" src="http://img.mail.ru/r/blogs/ico_comment_show_2.png" class="IEpng" width="18" height="18" border="0" align="absmiddle" alt="Показать комментарий" title="Показать комментарий" /></a>&nbsp;');
            } else {
                HTML.push('<a onclick="return screen_comment(\'' + ThreadID + '\');" href="' + ActionDir + 'jscreencomment?user=' + JournalEmail + '&id=' + PostID + '&screen=' + ThreadID + '&back=' + PerlVar_back_value + '" ><img id="screen_img_' + ThreadID + '" src="http://img.mail.ru/r/blogs/ico_comment_hidden.png" class="IEpng" width="18" height="18" border="0" align="absmiddle" alt="Скрыть комментарий" title="Скрыть комментарий" /></a>&nbsp;');
            }
        }
    }
    if (CanMakeCommentable) {
        if (SomebodyCommentable) {
            HTML.push('<a onclick="return change_comment_make_notcommentable(\'' + ThreadID + '\');" href="' + ActionDir + 'jmakecommentnotcommentable?user=' + JournalEmail + '&id=' + PostID + '&comment=' + ThreadID + '&back=' + PerlVar_back_value + '"><img id="commentable_img_' + ThreadID + '" src="http://img.mail.ru/r/blogs/ico_lock_2.png" class="IEpng" width="18" height="18" border="0" align="absmiddle" alt="Запретить комментарии" title="Запретить комментарии" /></a>&nbsp;');
        } else {
            HTML.push('<a onclick="return change_comment_make_notcommentable(\'' + ThreadID + '\');" href="' + ActionDir + 'jmakecommentnotcommentable?user=' + JournalEmail + '&id=' + PostID + '&comment=' + ThreadID + '&restore=1&back=' + PerlVar_back_value + '" ><img id="commentable_img_' + ThreadID + '" src="http://img.mail.ru/r/blogs/ico_unlock_2.png" class="IEpng" width="18" height="18" border="0" align="absmiddle" alt="Разрешить комментарии" title="Разрешить комментарии" /></a>&nbsp;');
        }
    }

    if (IsDeletable) {
		if (Immunity && PerlVar_ActiveEmail != PosterEmail) {
			HTML.push('<b style="color: red;" title="!!!!!!!!! Важная персона - нельзя обижатЬ !!!!!!!!!">VIP</b>&nbsp;');
		}
		else {
        HTML.push('<a id=d_' + ThreadID + ' onclick="return show_del_comment(this,\'' + ThreadID + '\');" href="' + ActionDir + 'jdelcomment?user=' + JournalEmail + '&id=' + PostID + '&delete=' + ThreadID + '&back=' + PerlVar_back_value + '"><img src=http://img.mail.ru/r/blogs/ico_del.png class="IEpng" width="16" height="16" border="0" align="absmiddle" alt="Удалить комментарий" title="Удалить комментарий" /></a>&nbsp;');
		}
    }

	if (ActiveEmail) {
		HTML.push('<a href="#" onclick="showComplainForm(this, \'' + ThreadID + '\', \'' + PostID + '\'); return false;" class="mf_spIco mf_iSpam">Это спам</a>');
	}

    HTML.push('</td></tr></table>');

    HTML.push('<div class="cont"><div class="post_text"><div class="tem">');
    if (FilteredSubject) {
        HTML.push('<b>' + FilteredSubject + '</b>');
    } else {
        HTML.push('( <b>Без темы</b> )');
    }
    HTML.push('</div><span>' + CommentText + '</span></div></div>');

    if (IsCommentable) {
        HTML.push('<input type="hidden" name="subject_text_' + ThreadID + '" id="subject_text_' + ThreadID + '" value="' + ReSubject + '" /><input type="hidden" name="comment_text_' + ThreadID + '" id="comment_text_' + ThreadID + '" value="&lt;i&gt;' + CommentHide + '&lt;/i&gt;" /><p class=gr_sm id="commentable_' + ThreadID + '"><a id="l_' + ThreadID + '" onclick="return show_add_comment(\'' + ThreadID + '\',' + IsScreenable + ',\'' + PerlVar_back_value + '\');" href="#" mc=1>Ответить</a>(<a id="c_' + ThreadID + '" onclick="return show_add_comment(\'' + ThreadID + '\', ' + IsScreenable + ',\'' + PerlVar_back_value + '\',\'yes\');" href="#" mc=1>с цитатой</a>)</p>');
    } else {
        if (InBlackList) {
            HTML.push('<a href="' + JournalDir + 'jblacklisterr"><img src="http://img.mail.ru/r/blogs/ico_not_comment.png" class="IEpng" title="Вы добавлены в Черный список" align="absmiddle" border="0" height="13" width="13" /></a>&nbsp;&nbsp;<a class="gr_sm" href="' + JournalDir + 'jblacklisterr">Комментарии запрещены</a>');
        } else {
            HTML.push('<p class=gr_sm id="notcommentable_' + ThreadID + '"><img src="http://img.mail.ru/r/blogs/ico_lock.png" class="IEpng" width="16" height="16" border="0" align="absmiddle" />&nbsp;Комментарии запрещены</p>');
        }
    }
    HTML.push('</td></tr><tr><td id="add_' + ThreadID + '" class="f_q" colspan="2"></td></tr></table>');

    return HTML.join('');
}

function make_comment_link(PostID, ThreadID, hide, wait) {
    var link, ID, text;
    if (hide) {
        ID = 'HPost_' + ThreadID;
    } else {
        ID = 'CPost_' + ThreadID;
    }
    link = document.getElementById(ID);
    if (!link) return false;
    if (wait) {
        text = '<div class="grey">подождите</div>';
    } else {
        if (hide) {
            text = '<a href="#" onclick="return show_comment(\'' + PostID + '\', \'' + ThreadID + '\');" class="mr5" title="Скрыть"><img height="11" border="0" align="absmiddle" width="11" src="http://img.mail.ru/mail/ru/images/blogs/-.jpg" class="mr5" />Скрыть</a>';
        } else {
            text = '<a href="#" onclick="return show_comment(\'' + PostID + '\', \'' + ThreadID + '\');" class="mr5" title="Развернуть"><img height="11" border="0" align="absmiddle" width="11" src="http://img.mail.ru/mail/ru/images/blogs/+.jpg" class="mr5" />Развернуть</a>';
        }
    }
    link.innerHTML = text;
    return true;
}

var LoadedThreads = {};
function show_comment(PostID, ThreadID, Page) {
    make_comment_link(PostID, ThreadID, 0, 1);
    make_comment_link(PostID, ThreadID, 1, 1);
    if (LoadedThreads[ThreadID]) {
        var full, small;
        if (document.getElementById('post_small_' + ThreadID).style.display=='none') {
            full = 'none', small = '';
        } else {
            full = '', small = 'none';
        }
        var thread = LoadedThreads[ThreadID];
        var len = thread.length;
        for (var i = 0; i < len; i++) {
            var ID = thread[i];
            if (!ID || !document.getElementById('post_full_' + ID)) continue;
            document.getElementById('post_full_' + ID).style.display = full;
            document.getElementById('post_small_' + ID).style.display = small;
            make_comment_link(PostID, ID, 1, 0);
            make_comment_link(PostID, ID, 0, 0);
        }
        return false;
    }
    perl_show_comment(PostID, ThreadID, Page, show_comments_callback);
    return false;
}

function show_comments_callback(PostID, Data) {
    var ThreadID = Data[0]['ID'];

    var tree = [];
    var comment;
    while (comment = Data.shift()) {
        var cID = comment['ID'];
        var post = document.getElementById('post_full_' + cID);
        if (!post) continue;

        if (!LoadedThreads[cID]) {
            post.innerHTML = make_comment(PostID, comment);
        }
        post.style.display = '';
        var oldPost = document.getElementById('post_small_' + cID);
        oldPost.style.display = 'none';
        make_comment_link(PostID, cID, 1, 0);
        tree.push({ ID: cID, Level: parseInt(comment['SLevel']) });
		try {grepLinks(post);} catch(e) {}; // create My (529441)
    }
    // remember for each comment his childs
    var len = i = tree.length;
    while (i--) {
        var pID = tree[i]['ID'];
        var pLevel = tree[i]['Level'];
        LoadedThreads[pID] = [pID];
        for (var j = i+1; j < len; j++) {
            if (parseInt(tree[j]['Level']) <= pLevel) break;
            LoadedThreads[pID].push(tree[j]['ID']);
        }
    }
}