function updatePagination(elTarget, nTotalPages, htOptions) {
        if (nTotalPages <= 0){
            return;
        }

        var welTarget = $(elTarget);
        var htData = htOptions || {};

        htData.url = htData.url || document.URL;
        htData.firstPage = htData.firstPage || 1;
        htData.totalPages = nTotalPages;
        htData.paramNameForPage = htData.paramNameForPage || 'pageNum';
        htData.current = !rxDigit.test(htData.current) ? _getPageNumFromUrl(htData) : htData.current;
        htData.hasPrev = (typeof htData.hasPrev === "undefined") ? htData.current > htData.firstPage : htData.hasPrev;
        htData.hasNext = (typeof htData.hasNext === "undefined") ? htData.current < htData.totalPages : htData.hasNext;

        validateOptions(htData);

        welTarget.html('');
        welTarget.addClass('page-navigation-wrap');

        // prev/next link
        var welPagePrev = _getPrevPageLink(htData);
        var welPageNext = _getNextPageLink(htData);

        // page input box
        var welPageInput = _getPageInputBox(htData);
        var welPageInputWrap = $('<li class="page-num">').append(welPageInput);
        var welDelimiter = $('<li class="page-num delimiter">').text('/');
        var welTotalPages = $('<li class="page-num">').text(nTotalPages);

        // fill #pagination
        var welPageList = $('<ul class="page-nums">');
        welPageList.append([welPagePrev, welPageInputWrap, welDelimiter, welTotalPages, welPageNext]);
        welTarget.append(welPageList);
    }
Update pagination

@param {HTMLElement} elTarget
@param {Number} nTotalPages
@param {Hash Table} htOpt