﻿
/* PortableCMS Client Side Engine for pager client events. */
/* Written By   :   Deepu               */
/* Date         :   05:45 PM 24/03/2011 */


function OnPagerNextClick(sender, listView) {
    var current = getCurrentPageNumber(listView)
    if (getMaxPageCount(listView) > current) {
        setCurrentPageNumber(listView, current + 1);
        triggerPagingEvent(listView);
    }
}

function OnPagerPrevClick(sender, listView) {
    var current = getCurrentPageNumber(listView)
    if (current > 1) {
        setCurrentPageNumber(listView, current - 1);
        triggerPagingEvent(listView);
    }
}

function OnPagerItemClick(sender, listView) {
    setCurrentPageNumber(listView, $('#' + listView + '_Pager a').index($(sender)));
    triggerPagingEvent(listView);
}

function getCurrentPageNumber(listView) {
    return parseInt($('#' + listView + '_PageNumber').val());
}

function setCurrentPageNumber(listView, pageNumber) {
    $('#' + listView + '_PageNumber').val(pageNumber);
}

function getMaxPageCount(listView) {
    return $('#' + listView + '_Pager a').length - 2;
}

function getPageID(listView) {
    return $('#' + listView + '_PageID').val();
}

function triggerPagingEvent(listView) {
    var pageNumber = getCurrentPageNumber(listView);
    $('#' + listView + '_Pager a.active').removeClass('active');
    $($('#' + listView + '_Pager a').not(':first,:last')[pageNumber - 1]).addClass('active');
    getPagedContent(pageNumber, listView);
}

function getPagedContent(pageNumber, listView) {
    $.get('portablecms/ajax/listmodules.aspx?action=getpagedlist&pageid=' + getPageID(listView) + '&contentpane=' + listView + '&pagenumber=' + pageNumber, function(data) {
        $('#' + listView).html(data);
    });
}
