riki-tik,
function pagination(b, c, d) {
return Array(d + 1).join("1").split("").map(function(a, b) {
return b + 1
}).filter(function(a, e) {
return c ? 1 == a || a == b || a == d || a <= b + c && a >= b - c : !0
})
};
//pagination(current,step,max ) step = 0 полный диапазон
alert(pagination(13, 2, 14))
alert(pagination( 5, 0 , 14))