function addFavorite(workId) {
    jQuery.post(
            '/ajax/favorite',
            {
                workId: workId,
                mode: 'add'
            },
            function(data, textStatus, XMLHttpRequest){
            if(data){
                alert("気になるリストへの追加が完了いたしました。\r\n気になるリストへは、ページ最上部の気になるリストのボタンを押してください。\r\n");
            }
        }
    );
};

function removeFavorite(workId) {
    jQuery.post(
        '/ajax/favorite',
        {
            workId: workId,
            mode: 'remove'
        },
        function(data, textStatus, XMLHttpRequest){
            if(data){
                alert('気になるリストから削除しました。');
            }
        }
    );
};

function switchFavorite(id)
{
    var detailAdd = 'add_Mid';
    var recommendAdd = '';
    var searchAdd = 'kininaru_join';
    var name = 'favorite_button_'+id;
    var objs = document.getElementsByName(name);
    var obj_name = objs[0].className.toString();
    if (obj_name == detailAdd || obj_name == recommendAdd || obj_name == searchAdd) {
        addFavorite(id);
    } else {
        removeFavorite(id)
    }
    flipFavoriteButton(objs);
};

function flipFavoriteButton(objs)
{
    for (var i = 0; i < objs.length; i++) {
        doFlipFavoriteButton(objs[i]);
    }
};

function doFlipFavoriteButton(object)
{
    var detailAdd = 'add_Mid';
    var detailRemove = 'add_Mid_off';
    var recommendAdd = '';
    var recommendRemove = 'erase';
    var searchAdd = 'kininaru_join';
    var searchRemove = 'kininaru_out';
    switch (object.className.toString()) {
        case detailAdd:
            object.className = detailRemove;
            break;
        case detailRemove:
            object.className = detailAdd;
            break;
        case recommendAdd:
            object.className = recommendRemove;
            break;
        case recommendRemove:
            object.className = recommendAdd;
            break;
        case searchAdd:
            object.className = searchRemove;
            break;
        case searchRemove:
            object.className = searchAdd;
            break;
    }
};
