/* お気に入り掲示板に登録 */
function favorites(bbs_id){

    if(!confirm('お気に入り掲示板に登録します。\n宜しいですか？')){
        return;
    }

    var date = new Date();
    var timestamp = date.getTime();

    var params = { 'action_bbs_ajax' : true,
                   'mode' : 'favorites',
                   'bbs_id' : bbs_id,
                   'time' : timestamp
                 }

    return send_request(params);
}

/* 拍手を送る*/
function clap(bbs_id, bbs_comment_id, uniqid){

    if(!confirm('投票しますが、\n宜しいですか？')){
        return;
    }

    var date = new Date();
    var timestamp = date.getTime();

    var params = { 'action_bbs_ajax' : true,
                   'mode' : 'clap',
                   'bbs_id' : bbs_id,
                   'bbs_comment_id' : bbs_comment_id,
                   'uniqid' : uniqid,
                   'time' : timestamp
                }

    return send_request(params);
}

/* 不適切*/
function poor(bbs_id, bbs_comment_id, uniqid){

    if(!confirm('投票しますが、\n宜しいですか？')){
        return;
    }

    var date = new Date();
    var timestamp = date.getTime();

    var params = { 'action_bbs_ajax' : true,
                   'mode' : 'poor',
                   'bbs_id' : bbs_id,
                   'bbs_comment_id' : bbs_comment_id,
                   'uniqid' : uniqid,
                   'time' : timestamp
                }

    return send_request(params);
}

/* Ajax */
function send_request(params){

    // callback
    var processResponse = function(response){

        if(response==2){
            alert('すでに登録済みです。');
            return;
        }
        if(response==1){
            alert('登録が完了しました。');

            // 不適切の場合は違反報告を行うかの確認を行う
            if(params['mode']=='poor'){
                if(confirm('「不適切」として登録しました。\nこの不適切な投稿内容に関して、\n管理者に違反報告を行いますか？')){
                    location.href='?action_bbs_violations_form=true&bbs_id='+params['bbs_id']+'&bbs_comment_id='+params['bbs_comment_id']+'&time='+params['time'];
                    return;
                }
            }

        }
        location.reload();
        return;
    }
    var notifyFailure = function(){
        alert("An error occurred.");
        return;
    }

    // Ajax
    $.ajax({
        'type' : "POST",
        'cache' : false,
        'data' : params,
        'success' : processResponse,
        'error' : notifyFailure
    });
}
