$(document).ready(function() {
    var pattern = /\/page\/[0-9]+\//;
    var url = $('span.rolling-nav a').attr('href').replace(pattern, '');
    var yr_mo_pattern = /\/([0-9]{4})\/([0-9]{2})$/;
    var yr_pattern = /\/([0-9]{4})$/;
    var auth_pattern = /\/author\/[a-z]+\/([0-9]+)/;
    var year = '';
    var month = '';
    var auth_key = '';
    if(auth_pattern.test(url)) {
        auth = auth_pattern.exec(url);
        auth_key = auth[1];
        url = '/blog';
    }
    if(yr_mo_pattern.test(url)) {
        yr_mo = yr_mo_pattern.exec(url);
        year = yr_mo[1];
        month = yr_mo[2];
        url = '/blog';
    }
    else if(yr_pattern.test(url)) {
        yr = yr_pattern.exec(url);
        year = yr[1];
        month = '';
        url = '/blog';
    }
    var cssObj = {
      'color' : '#666666',
      'font-weight' : 'bold'
    }
    var params = {
        'page_num' : parseInt($('#page-num').text()),
        'year' : year,
        'month' : month,
        'auth_key' : auth_key,
        'uri' : url
    }
    $('#rollingarchives span#prev a').html('&laquo; Older');
    $('#rollingarchives span#next a').html('Newer &raquo;');
    $('span.rolling-nav a').attr('href', 'javascript:void(0)');
    $('span.rolling-nav a').css(cssObj);
    setNavLinks(params.page_num);
    $('span#trim-text').html('Trim');

    // previous pagination
    $('#rollingarchives span#prev a').click(function(event) {
        params.page_num += 1;
        ajaxListReload(params);
        event.preventDefault();
    });

    // next pagination
    $('#rollingarchives span#next a').click(function(event) {
        params.page_num -= 1;
        ajaxListReload(params);
	    event.preventDefault();      
    });

    
    // trim listing bodies
    $('span#trim-text').toggle(
        function(){
            $('span#trim-text').text('Untrim');
            $('.post-content').toggle();
       },
        function(){
            $('span#trim-text').text('Trim');
            $('.post-content').toggle();
        }
    );
});

function ajaxListReload(params, max) {
    $.ajax({
        url: '/blog/newlisting',
        type: 'POST',
        dataType: 'html',
        data: params,
        success: function(data, textStatus, XMLHttpRequest) {
            $('#reload').html(data);
            $('#page-num').text(params.page_num);
            if($.isFunction(window.populateSocialMedia)) {
                populateSocialMedia();
            }
            setNavLinks(params.page_num);
            $('span#trim-text').text('Trim');
            (params.page_num > 1) ? $('span#trim-text').css('display', 'inline') : '';
            if($.isFunction(window.loadEvents)) {
                loadEvents();
            }
        }
    });
}

function setNavLinks(num) {
    var max = parseInt($('#page-max').text());
    if(num < max) {
        $('span#prev').css('display', 'inline');
    } else {
        $('span#prev').css('display', 'none');
    }
    if (num > 1) {
        $('span#next').css('display', 'inline');
    }
    else {
        $('span#next').css('display', 'none');
    }
}
