﻿
Type.registerNamespace('Relational.IndexPager');

Relational.IndexPager.updateCurrentPage = function (evt, context) 
{
    var currentPageHolder = $get(context.currentPageHolderId);
    currentPageHolder.value = context.targetPageIndex;
}

Relational.IndexPager.initIndexPager = function (backButtonId, nextButtonId, firstButtonId, lastButtonId, currentPageHolderId, currentPageIndex, lastPageIndex) 
{
    var backButton = $get(backButtonId);
    var context = null;
    var clickCallback = null;
    if(backButton) {
        context = { targetPageIndex : (currentPageIndex - 1), currentPageHolderId : currentPageHolderId };
        clickCallback = Function.createCallback(Relational.IndexPager.updateCurrentPage, context);
        $addHandler(backButton, 'click', clickCallback);
    }
    var nextButton = $get(nextButtonId);
    if (nextButton) {
        context = { targetPageIndex : (currentPageIndex + 1), currentPageHolderId : currentPageHolderId };
        clickCallback = Function.createCallback(Relational.IndexPager.updateCurrentPage, context);
        $addHandler(nextButton, 'click', clickCallback);
    }
    var firstButton = $get(firstButtonId);
    if (firstButton) {
        context = { targetPageIndex : 0, currentPageHolderId : currentPageHolderId };
        clickCallback = Function.createCallback(Relational.IndexPager.updateCurrentPage, context);
        $addHandler(firstButton, 'click', clickCallback);
    }
    var lastButton = $get(lastButtonId);
    if (lastButton) {
        context = { targetPageIndex : lastPageIndex, currentPageHolderId : currentPageHolderId };
        clickCallback = Function.createCallback(Relational.IndexPager.updateCurrentPage, context);
        $addHandler(lastButton, 'click', clickCallback);
    }
}

// Notify ScriptManager that this is the end of the script.
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();