
$(document).ready(function() {
    var initialMenuPosition = $('.my-menu').offset().top;

    $(window).scroll(function() {
        if ($(window).scrollTop() > initialMenuPosition) $('.my-menu').animate({marginTop: $(window).scrollTop() - initialMenuPosition + 20 + 'px'}, 50);
        else $('.my-menu').animate({marginTop: '15px'}, 50);
    });

    /**
     * Menu.
     */
    $('.menus li').mouseenter(function() {
        $(this).children('ul').fadeIn(200);
        $(this).children('ul').children().css('z-index', 10).slideDown(200);
    }).mouseleave(function(e) {
        $(this).children('ul').fadeOut(200);
        $(this).children('ul').children().slideUp(100).css('z-index', -1);
    });

    $('#partyDate').datepicker();

});

function toggleItem(menuId, itemId, handler) {
    // do ajax
    $.ajax({
        type: 'POST',
        url: UCMVC_APP_BASE_URL + '/menu-ajax/toggle-item',
        cache: false,
        data: {
            'menuId' : menuId,
            'itemId' : itemId
        },
        dataType: 'json',
        success: function(success) {
            // Calculate the item id and handler id MD5 hashes
            itemMD5 = MD5(itemId.toString());
            handlerMD5 = MD5(handler.attr('id'));

            imgHTML = '<img id="img-' + itemMD5 + '" src="' + UCMVC_APP_BASE_URL + '/media/images/' +
                       (success == true ? 'blue-checkmark' : 'add') + '.png" alt="' + (success == true ? 'Add to' : 'Remove from') + ' Your Menu" />';
            handler.html(imgHTML);

            if (success == true) {
                appendHTML = '';
                appendHTML += '<p class="' + handlerMD5 + '">';
                appendHTML += '<a href="#" onclick="toggleItem(' + menuId + ', ' + itemId + ', $(this)); return false;">';
                appendHTML += '<img src="' + UCMVC_APP_BASE_URL + '/media/images/remove.png" /></a>' + handler.attr('id');
                appendHTML += '</p>';

                $('#' + menuId).append(appendHTML);
            } else {
                handler.parent().remove();
                $('#img-' + itemMD5).attr({ src : UCMVC_APP_BASE_URL + '/media/images/add.png'});

                $('.' + handlerMD5).children('a').bind('click', itemRemoveClickHandler(menuId, itemId, handler));
            }
        }
    })
}

function itemRemoveClickHandler(menuId, itemId, handler) {
            handlerMD5 = MD5(handler.attr('id'));

            imgHTML = '<img id="img-' + itemMD5 + '" src="' + UCMVC_APP_BASE_URL + '/media/images/add.png" alt="Add to Your Menu" />';
            handler.html(imgHTML);
}

