function agreeOnTos(checkBox) {
    $('#user_create_submit').attr('disabled', !checkBox.checked);
}

if (typeof _GADGET == 'undefined') {
    var _GADGET = {};
}

_GADGET.selectedGadgetId = 0;

_GADGET.selectedItems = {};
_GADGET.selectItem = function(res) {
    if (_GADGET.selectedItems[res.url]) {
        return;
    }
    var endPoint = '/item/add?format=json';
    var data = {
        "item_url": res.url,
        "gadget_id": _GADGET.selectedGadgetId,
        "one_time_token": $('input[name="one_time_token"]:first').val()
    };
    $.ajax({
        "type": "POST",
        "url": endPoint,
        "data": data,
        "success": function(json) {
            json = eval('(' + json + ')');
            if (json.result == 'success') {
                $('<a>').attr('href', res.url)
                        .text(res.titleNoFormatting)
                        .appendTo($('<li>').val(res.url)
                                           .appendTo('#selected_items'));
                _GADGET.selectedItems[res.url] = true;
            }
        }
    });
}

_GADGET.stripGadget = function(gadgetId) {
    var endPoint = '/gadget/strip?format=json';
    var data = {
        'gadget_id': gadgetId,
        'one_time_token': $('input[name="one_time_token"]:first').val()
    };
    $.ajax({
        "type": "POST",
        "url": endPoint,
        "data": data,
        "success": function(json) {
            json = eval('(' + json + ')');
            if (json.result == 'success') {
                $('#_equiped_' + json.gadget.id).hide();
            }
        }
    });
}

_GADGET.photo = {};
_GADGET.photo.remove = function(button, photoId) {
    if (!confirm('この写真を削除しますか？')) {
        return false;
    }
    button.disabled = true;
    var endPoint = '/gadget/photo_delete.json';
    var data = {
        'photo_id': photoId,
        'one_time_token': $('input[name="one_time_token"]:first').val()
    };
    $.ajax({
        "type": "POST",
        "url": endPoint,
        "data": data,
        "success": function(json) {
            json = eval('(' + json + ')');
            if (json.result == 'success') {
                location.reload();
            } else {
                alert('削除に失敗しました');
            }
        }
    });
    return false;
}

_GADGET.blog = {};
_GADGET.blog.remove = function(form) {
    if (confirm('削除を実行します。よろしいですか？')) {
        form.submit();
    }
    return false;
}

_GADGET.updateGadgetOrder = function() {
    var data = {};
    var order = $('#gadget-sortable-list > li').size();
    $('#gadget-sortable-list > li').each(function() {
        $(this).attr('id').match(/_(\d+)$/);
        data[RegExp.$1] = order;
        order--;
    });
    data['one_time_token'] = $('input[name="one_time_token"]:first').val();

    var endPoint = '/gadget/update_order?format=json';

    $.ajax({
        "type": "POST",
        "url": endPoint,
        "data": data,
        "success": function(json) {
            json = eval('(' + json + ')');
            if (!json.result) {
                alert('Error: fail to drag and drop');
            }
        }
    });
}

_GADGET.article = {};
_GADGET.article.showAddForm = function(gadgetId) {
    $('#article_add_form_' + gadgetId).show();
    $('#article_add_link_' + gadgetId).hide();
}
_GADGET.article.hideAddForm = function(gadgetId) {
    $('#article_add_form_' + gadgetId).hide();
    $('#article_add_link_' + gadgetId).show();
}

$(function() {
    if ($('#gadget-sortable-list').size() > 0) {
        $('#gadget-sortable-list').sortable({
            stop: function(event, ui) {
                _GADGET.updateGadgetOrder();
            }
        });
        $('#gadget-sortable-list').disableSelection();
    }
});

_GADGET.SLIDE_VALUE = 95;
$(document).ready(function() {
    $('label').inFieldLabels({"fadeOpacity": 0.1});
    $('#slide-next').click(function() {
        nextleft = parseInt($('#slide-inner').css("margin-left")) - _GADGET.SLIDE_VALUE;
        $('#slide-inner').animate({
            "marginLeft": nextleft + 'px'
        }, 500);
    });
    $('#slide-back').click(function() {
        nextleft = parseInt($('#slide-inner').css("margin-left")) + _GADGET.SLIDE_VALUE;
        $('#slide-inner').animate({
            "marginLeft": nextleft + 'px'
        }, 500);
    });
});
