
function getPager(func_name,per_page,all_page_count,page_num,mk_link){
    //リンク数を求める
    link_num = Math.ceil(all_page_count/per_page);

    //入力値チェック
    if(!isNumeric(per_page) || !isNumeric(all_page_count) || !isNumeric(page_num) || !isNumeric(mk_link)){
        return '';
    }
    if(link_num == 1){
        return '';
    }
    else if((page_num > link_num) || (page_num < 1)){
        return '';
    }

    var s ='';

    // 1. 最初へのリンク作成
    //最初のページのとき
    if(page_num==1){
        s = s + '最初&nbsp;';
    } else {
        s = s + '<a href="javascript:' + func_name + '(1);" >最初</a>&nbsp;'
    }

    // 2. 前へのリンク作成
    if(page_num==1){
        s = s + '前へ&nbsp;';
    } else {
        pre_number = page_num - 1;
        s = s + '<a href="javascript:' + func_name + '(' + pre_number + ');" >前へ</a>&nbsp;'
    }

    // 3. ページ番号のリンク作成
    var start = page_num - mk_link;

    if(start < 1){
        start = 1;
    }
    end = 2 * mk_link + start ;

    if(end > link_num){
        end = link_num;
    }
    if(page_num + mk_link > link_num){
        start = end - 2 * mk_link;
    }
    if(start < 1){
        start = 1;
    }

    //「…」で「前へ」と同じリンクの作成
    if(start > 1){
        pre_number = page_num - 1;
        s = s + '<a href="javascript:' + func_name + '(' + pre_number + ');" >…</a>&nbsp;'
    }

    for(var i=start; i<=end; i++){
        //現在のページはリンクにしない
        if (i == page_num ) {
            s = s + i + "&nbsp;";
        } else {

            s =  s + '<a href="javascript:' + func_name +'(' + i  + ');">' + i  + '</a>&nbsp;'
        }
    }

    //「…」で「次へ」と同じリンクを作る
    if(end < link_num){
        next_number = page_num + 1;
        s = s + '<a href="javascript:' + func_name + '(' + next_number + ');" >…</a>&nbsp;'
    }

    // 4. 次へのリンク作成
    if(page_num==link_num){
        s = s + '次へ&nbsp;';
    } else {
        next_number = page_num + 1;
        s = s + '<a href="javascript:' + func_name + '(' + next_number + ');" >次へ</a>&nbsp;'
    }

    // 5. 最後へのリンク作成
    if(page_num==link_num){
        s = s + '最後&nbsp;';
    } else {
        s = s + '<a href="javascript:' + func_name + '(' + link_num + ');" >最後</a>&nbsp;'
    }

    return s;
}

//整数かどうかチェックする関数
function isNumeric(value) {
    var str = value.toString();             // 文字列に変換
    var regex = /[^0-9]/;                   // 正の整数以外
    if (str.match(regex)) return false;  // 戻り値 false
    return true;                                // 戻り値 true
}

