Gerar números de página usando javascript / jquery?

Como gerar números de página como o abaixo usando javascript / jquery?

Se a 5ª página for selecionada, tenho que mostrar 3,4 e 6,7 e também 1, última página com prev, next ... Qualquer sugestão ....

EDITAR:

Como trabalhar com dados json que usam essas div de paginação? (ou seja) Meus dados json contêm 50 registros que eu quero 10 na página 1 e assim por diante ... Como paginar dados json com esses números ...

Eu quero que uma função jquery passecurrentpageno,lastpagenumber e a função deve me gerar números de página como o abaixo para mim

Se é a primeira página

istpage http://img156.imageshack.us/img156/2527/1pagel.jpg

Se estiver no meio,

Pager http://img98.imageshack.us/img98/7278/pagersy.jpg

Se é a última página,

lastpage http://img204.imageshack.us/img204/541/lastpage.jpg

Segunda edição:

Eu tentei esta função, mas parece não obter o resultado desejado

function generatePages(currentPage, LastPage) {
    if (LastPage <= 5) {
        var pages = '';
        for(var i=1;i<=5;i++)
        {
            pages += "<a class='page-numbers' href='#'>" + i + "</a>"
        }
        $("#PagerDiv").append(pages);
    }
    if (LastPage > 5) {
        var pages = '';
        for (var i = 1; i <= 5; i++) {
            pages += "<a class='page-numbers' href='#'>" + i + "</a>"
        }
        $("#PagerDiv").append(pages);
    }
}

Eu tenho olastPage ecurrentPage valores por favor me ajude a conseguir isso ...

questionAnswers(4)

yourAnswerToTheQuestion