
function viewPage(page) {
    cpage = document.getElementById('data_page' + currentPage)
    cpage.className = 'hide';
    npage = document.getElementById('data_page' + page)
    npage.className = 'shaded';
    currentPage = page;
    updatePager();
}

function updatePager() {
    txt = pageXofX();
    txt += getFirstLink() + getPrevLink();
    txt += getPageList();
    txt += getNextLink() + getLastLink();
    pager = document.getElementById('data_pager1');
    pager.innerHTML = '<span class="jspager">' + txt + '</span>';
    pager = document.getElementById('data_pager2');
    pager.innerHTML = '<span class="jspager">' + txt + '</span>';

}

function getPageList() {
    pos = getPageListStart();
    pos =  (pos < 1) ? 1 : pos;
    end =  (pos + 4 > pageCount) ? pageCount : pos + 4;
    txt = '';
    while (pos <= end) {
        if (pos == currentPage) {
            txt += ' <span class="current_page">' + pos + '</span> '
        } else {
            txt += ' <a class="other_page" href="javascript:viewPage(' + pos + ');void(0);">' + pos + '</a> '
        }
        pos++;
    }
    return txt;
}

function getPageListStart() {

    if (currentPage == 1) {
        return 1;
    }

    if (currentPage + displayPageOffset  > pageCount) {
        
        if (currentPage + 1 == pageCount) {
            return currentPage - (displayPageOffset + 1);
        } else {
            return currentPage - displayPageOffset * 2;
        }

    }

    if (currentPage - displayPageOffset  > 1) {
        return currentPage - displayPageOffset;
    } else {
        return 1;
    }


}

function pageXofX() {
    return  '<span class="pagexofx">page ' + currentPage + ' of ' + pageCount + '</span>';
}

function getNextLink() {
    if (currentPage < pageCount) {
        next = currentPage + 1
        return ' <a href="javascript:viewPage(' + next  + ');void(0);">&gt;</a>';
    } else {
        return '';
    }

}

function getLastLink() {
    if (currentPage < pageCount) {
        return ' <a href="javascript:viewPage(' + pageCount  + ');void(0);">last <strong>»</strong></a> ';
    } else {
        return '';
    }

}

function getPrevLink() {
    if (currentPage > 1) {
        prev = currentPage - 1
        return '<a href="javascript:viewPage(' + prev  + ');void(0);">&lt;</a> ';
    } else {
        return '';
    }

}

function getFirstLink() {
    if (currentPage > 1) {
        return '<a href="javascript:viewPage(1);void(0);"><strong>«</strong> first</a> ';
    } else {
        return '';
    }

}
