$(document).ready(function($) {
    attachPagination();
});

function attachPagination() {
    if ($('.paginationControl').length < 1) {
      return;  
    }
    
    $('.paginationControl').each(function() {
        var context = $(this)[0];
        
        var currentItem = $('.current', content).html();

        $(this).data('currentItem', currentItem);
        $('a[href=#' + currentItem + ']', context).css('font-weight', 'bold');

        $('a.pag_pagenb', context).click(function() {
            var page = $(this).attr('href').replace('#', '');
            page = page.replace(absoluteURL, '');

            var url =  $(this).attr('value');
            var parent = $(this).parent();

            // id's look like pagination-main, or pagination-myTagId. We need the second part (main, myTagId)
            var controlId = parent.attr('id').split('-')[1];
            
            parent.data('currentItem', page);

            $('.ajaxloaderlogin').show();

            $.ajax({
                async: true,
                type: 'GET',
                url:   url,
                dataType: 'html',
                success: function(content) {
                    // if it exists, remove it first
                    content = $('<div>' + content + '</div>');
                    
                    if (controlId == 'main') {
                        $('.admin_table').fadeOut();
                        $('#scroll').html($('#scroll', content).html());
                        $('.admin_table').fadeIn(1500);
                    } else {
                        var newContent = $('.ozimboTag[id$=' + controlId + ']', content).html();
                        var target = $('.ozimboTag[id$=' + controlId + ']');
                        
                        target.fadeOut();
                        target.html(newContent);
                        target.fadeIn();
                        
                    }

                    $('.ajaxloaderlogin').hide();
                    parent.html($('#pagination-' + controlId, content).html());
                    $('.current', parent).html(page);
                    $('a', parent).css('font-weight', 'normal');
                    $('a[href=#' + page + ']', parent).css('font-weight', 'bold');

                    attachPagination();
                }
            });
        });


        // Page link event
        $('.arrows', context).click(paginationControl);

        delete paginationControlDiv;
    });
}

function paginationControl(event) {
    var linkClass = $(this).attr("class");
    var parent = $(this).parent();
    
    var currentItem =  parseInt(parent.data('currentItem'));

    var backId = currentItem - 1;
    var nextId = currentItem + 1;
    var total = parseInt($('.total', parent[0]).html());

    //we are scrolling next element
    if (linkClass.indexOf("pagback") != -1 && backId > 0){
        $('a[href=#' + backId + ']', parent[0]).trigger('click');
    } else if(linkClass.indexOf("pagnext") != -1 && nextId <= total) {
        $('a[href=#' + nextId + ']', parent[0]).trigger('click');
    }

    return false;
}
