function category_subscribe(cat_id,flag)
{
    var params = new Object();
    params["module"] = 'Category';
    params["action"] = 'Subscribe';
    params["id"] = cat_id;

    $.get(baseUrl, params,
        function (data, textStatus) {
            // Меняем ссылочку
            if (flag)
                $('#blog_subscribe').html('<a title="Больше не получать уведомлений о новых сообщениях этого блога" href="javascript:category_subscribe('+cat_id+',false)"><img src="/images/unsubscribe.png" align="absmiddle" /> отписаться</a>');
            else
                $('#blog_subscribe').html('<a title="Получать уведомление о новых записях этого блога" href="javascript:category_subscribe('+cat_id+',true)"><img src="/images/subscribe.png" align="absmiddle" /> подписаться</a>');
     			
        }
        );
    
}

function blog_subscribe(blog_id,flag)
{
    var params = new Object();
    params["module"] = 'Blogs';
    params["action"] = 'Subscribe';
    params["id"] = blog_id;

    $.get(baseUrl, params,
        function (data, textStatus) {
            // Меняем ссылочку
            if (flag)
                $('#blog_subscribe').html('<a title="Больше не получать уведомлений о новых комментариях этой записи" href="javascript:blog_subscribe('+blog_id+',false)"><img src="/images/unsubscribe.png" align="absmiddle" /> отписаться</a>');
            else
                $('#blog_subscribe').html('<a title="Получать уведомление о новых комметариях этой записи" href="javascript:blog_subscribe('+blog_id+',true)"><img src="/images/subscribe.png" align="absmiddle" /> следить за ответами</a>');
        }
        );
}

function deleteTopic(id) {
    $del = function(id) {
        var params = new Object();
        params["id"] = id;
        params["action"] = 'DelAjax';
        params["module"] = 'Blogs';

        $.get(baseUrl, params,
            function (data, textStatus) {
                $("#blog_" + id).html(data);
                $("#blog_" + id + '> *').fadeIn("slow");
            }
            );
    }
    $("#blog_" + id + ' > *').fadeOut("slow", $del(id));
    return false;
}



function SetRate(id, action) {
    var params = new Object();
    $("#plus_" + id).html('+').attr('class', 'rate_disabled');
    $("#minus_" + id).html('-').attr('class', 'rate_disabled');
    params["id"] = id;
    params["action"] = action;
    params["module"] = 'Blogs';

    $.get(baseUrl, params,
        function (data, textStatus) {
            $("#RateValue_" + id).html(data);
        }
        );
    return false;
}

function ToFavorites(id) {
    var params = new Object();

    params["id"] = id;
    params["action"] = 'ToFavorites';
    params["module"] = 'Blogs';

    $.get(baseUrl, params,
        function (data, textStatus) {
            $("#Fav_" + id).attr('class', 'fav_desabled');
            $("#Fav_" + id).attr('onclick', '');
            $("#Fav_" + id).click(function () {
                return FromFavorites(id);
            });
        });
    return false;
}

function FromFavorites(id) {
    var params = new Object();

    params["id"] = id;
    params["action"] = 'FromFavorites';
    params["module"] = 'Blogs';

    $.get(baseUrl, params,
        function (data, textStatus) {
            $("#Fav_" + id).attr('class', 'fav_enebled');
            $("#Fav_" + id).attr('onclick', '');
            $("#Fav_" + id).click(function () {
                return ToFavorites(id);
            });
        });
    return false;
}

function getSelectedText(){
    if(window.getSelection){
        return window.getSelection().toString();
    }
    else if(document.getSelection){
        return document.getSelection();
    }
    else if(document.selection){
        return document.selection.createRange().text;
    }
}



function ResponseForm(topicid, id) {
    $('.responseFormArea').hide();
    $('#commentform').hide();
    $('#commentLink').show();
    $('#htmlarea').attr('id', 'htmlareaForm');
    $('#divResponseForm' + id).remove();
    f = $('#divResponseForm').clone();
    f.attr('id', 'divResponseForm' + id);
    f.find('form').attr('class', 'responseForm' + id);
    f.find('#htmlareaResponse').attr('id', 'htmlarea');
    f.find('#submitFormButton').click(function() {
        return AddResponse(id)
        });
    f.find('#responceId').val(id);
    f.find('#responceTID').val(topicid);
    //alert(f.html());
    $('#responseFormArea' + id).append(f);
    $('#responseFormArea' + id).show();
    f.show();
    return false;
}

function AddResponse(id) {
    if ($('#htmlarea').val() == '') {
        alert('Введите сообщение');
        return false;
    }
    
    var options = {
        target:        '#Messages',   // target element(s) to be updated with server response
        beforeSubmit:  AddCommentFormRequest,  // pre-submit callback
        success:       AddCommentFormResponse,  // post-submit callback
        resetForm:     true,
        clearForm:     true,
        type:          'POST'
    //dataType:      "json"        // 'xml', 'script', or 'json' (expected server response type)

    };

    // bind to the form's submit event
    $(".responseForm" + id).ajaxSubmit(options);
    return false;
}

// pre-submit callback
function AddResponseFormRequest(formData, jqForm, options) {
    return true;
}

// post-submit callback
function AddResponseFormResponse(responseText, statusText) {
    LoadMessages();
}

function  pagerInit(current_page, count, link, anhor, param) {
    param = param ? param : 'page';
    rg = /.+?\?.*?/;

    param  = rg.test(link) ? '&' + param : '?' + param;

    if (count > 20) {
        anhor = anhor ? anhor : ''
        $("#pagination").pagination(count, {
            items_per_page:20,
            num_edge_entries:2,
            prev_text: '<<',
            next_text: '>>',
            current_page: current_page,
            callback:function(){
                return true;
            },
            link_to: link + param  + "=__id__#" + anhor
        });

    }
}

function  AjaxPagerInit(current_page, count, callback) {
    if (count > 20) {
        $("#pagination").pagination(count, {
            items_per_page:20,
            num_edge_entries:2,
            prev_text: '<<',
            next_text: '>>',
            current_page: current_page,
            callback:callback,
            link_to: "#page__id__"
        });

    }
}

function ajaxJSONRequest(module, action, params, message) {
    var p = params;
    p['module'] = module;
    p['action'] = action;

    if (message.length > 0 && !confirm(message)) {
        return false;
    }

    $.getJSON(baseUrl, p,
        function (data, textStatus) {
            $('#messageArea').show();
            $('#messageArea').html(data.message);
        }
        );


    return false;
}

function ajaxRequest(module, action, params, targetAreaId) {
    var p = params;
    p['module'] = module;
    p['action'] = action;

    $.get(baseUrl, p,
        function (data, textStatus) {
            $('#' + targetAreaId).html(data);
        }
        );

    return false;
}

function showProgressbar(targetAreaId) {
    $('#' + targetAreaId).html('<img src="images/pb.gif" />');
}

function smartyAjaxJSONRequest(module, action, params, message, unique_id) {
    var p = params;
    p['module'] = module;
    p['action'] = action;

    if (message.length > 0 && !confirm(message)) {
        return false;
    }
    var old = $('#' + unique_id).html();
    $('#' + unique_id).html('<img src="/img/throbber.gif" />');
    $.getJSON(baseUrl, p,
        function (data, textStatus) {
            var result = data.result ? data.result : old;
            var messagearea = data.messagearea ? data.messagearea : 'messageArea';
            $('#' + unique_id).html(result);
            $('#' + messagearea).show();
            $('#' + messagearea).html(data.message);
        }
        );
    return false;
}



$().ready(function() {
    $('#sql').jqm({
        trigger: ".jqModalSql",
        closeClass: "jqmSql",
        modal: false
    });
});

function Preview() {
    var options = {
        target:        '#preview',   // target element(s) to be updated with server response
        url: '/blogs/preview/',
        beforeSubmit:  PreviewFormRequest,  // pre-submit callback
        success:       PreviewFormResponse,  // post-submit callback
        resetForm:     false,
        clearForm:     false,
        type:          'POST',
        dataType:      "html"        // 'xml', 'script', or 'json' (expected server response type)

    };

    // bind to the form's submit event
    $("#addBlogForm").ajaxSubmit(options);
    return false;
}
// pre-submit callback
function PreviewFormRequest(formData, jqForm, options) {
    $('#preview').text('Загрузка...');
    return true;
}

// post-submit callback
function PreviewFormResponse(responseText, statusText) {
    $('#preview').html('' + responseText + '');
}


function showMessage(data) {
    var messagearea = data.messagearea ? data.messagearea : 'messageArea';
    setTimeout(function() {
        $('#messageArea').hide()
    }, 5000);
    if (data.message != undefined) {
        $('#' + messagearea).html(data.message);
    }
    $('#' + messagearea).attr('class', data.status == 'ok' ? 'alert' : 'error');
    $('#' + messagearea).show();
}
