/**
 * навигация новостей.
 */
$().ready(function () {
    var NewsNav = {
        left: $("#news_box_left"),
        right: $("#news_box_right"),
        target: null,
        preload: function () {
            this.left.text('');
            this.right.text('');
            if (this.target == 'companies') {
                $("#newsnav-by-companies").attr('class', 'act');
                $("#newsnav-by-portal").attr('class', '');
                $("#newsnav-by-all").attr('href', base_url+'news/companies');

            } else if (this.target == 'portal') {
                $("#newsnav-by-portal").attr('class', 'act');
                $("#newsnav-by-companies").attr('class', '');
                $("#newsnav-by-all").attr('href', base_url+'news/portal');

            }
            $('<img src="'+base_url+'images/loading.gif" alt="loading..." />').appendTo(this.left);
            $('<img src="'+base_url+'images/loading.gif" alt="loading..." />').appendTo(this.right);
        },
        showlist: function (data) {
            if ( data == null || data.length == 0 )
                this.right.html('<p>Новостей нет</p>');
            else
            {
                this.right.text('');
                for (var i=0; i<data.length; i++) {
                    var item = data[i];
                    $('<p><a href="' + base_url + 'onenews/' + item.id + '" >' + item.title + '</a><p>')
                            .appendTo(NewsNav.right);
                }
            }
        },
        showlast: function (data) {
            if ( data == null )
                this.left.html('<p>Новостей нет</p>');
            else
            {
                this.left.text('');
                $('<p class="title"><a href="' + base_url + 'onenews/' + data.id + '" >' + data.title + '</a></p>' +
                '<p class="date">' + data.date_created + '</p>' +
                '<p>' + data.short_body + '<a href="' + base_url + 'onenews/' + data.id + '" >подробнее</a></p>').appendTo(NewsNav.left);
            }
        },
        errreport: function (obj) {
            alert('Ajax request was failed!');
        },
        change: function (target) {
            this.target = target;
            this.preload();
            $.post(base_url + 'news/shortlist/' + target + '.json', function (data) { NewsNav.showlist(data); }, 'json');
                    //.error(function () { alert('Ajax request was failed!'); });
            $.post(base_url + 'news/last/' + target + '.json', function (data) { NewsNav.showlast(data); }, 'json');
                    //.error(function () { alert('Ajax request was failed!'); });
        }
    };

    $("a[id^=newsnav]").bind('click', function () {
        var id = $(this).attr('id');
        var target = id.substr(id.lastIndexOf('-') + 1);
        NewsNav.change(target);
    });
    NewsNav.change('portal');
});
