var DestinationMenu = {
    destinations: null,
    menus: null,
    tabMenu: null,
    detailBox: null,
    activeMenu: null,
    activeTab: null,
    currentTab: 0,
    currentMenu: 0,

    init: function() {
        $(document).ready(DestinationMenu._init);
    },

    _init: function() {
        DestinationMenu.destinations = $('#menuRight .top .menuList a');
        DestinationMenu.menus = $('#menuHotelList .menuHotelBox');
        DestinationMenu.tabMenu = $('#menuHotelList .menuHotelBox ul li a');
        DestinationMenu.detailBox = $('#menuHotelList .menuHotelBox .detail');

        if (!DestinationMenu.destinations || !DestinationMenu.menus) return;

        if (DestinationMenu.destinations.size() != DestinationMenu.menus.size()) {
            alert('Menu item not match');
        }

        DestinationMenu.menus.each(function(index) {
            $(this).hide();
        });

        $('#menuHotelList').show();

        DestinationMenu.tabMenu.each(function(index) {
            $(DestinationMenu.detailBox[index]).hide();

            $(this).click(function() {
                if (DestinationMenu.activeTab)
                    $(DestinationMenu.activeTab).hide();

                $(DestinationMenu.tabMenu[index]).parent().parent().children().removeClass('active');
                $(DestinationMenu.tabMenu[index]).parent().addClass('active');

                DestinationMenu.activeTab = DestinationMenu.detailBox[index];

                $(DestinationMenu.activeTab).show();

                return false;
            });
        });

        DestinationMenu.destinations.each(function(index) {
            $(this).click(function() {
                if (!$(this).hasClass('active')) {
                    if (DestinationMenu.activeMenu)
                        $(DestinationMenu.activeMenu).hide();

                    $(DestinationMenu.destinations[DestinationMenu.currentMenu]).removeClass('active');
                    DestinationMenu.currentMenu = index;
                    $(this).addClass('active');

                    DestinationMenu.hideAllTab();
                    DestinationMenu.activeTab = $('#menuHotelList .menuHotelBox .detail_box').get(index);
                    DestinationMenu.activeTab = $(DestinationMenu.activeTab).children(':first');
                    $(DestinationMenu.activeTab).show();

                    DestinationMenu.activeMenu = DestinationMenu.menus[index];
                    $(DestinationMenu.activeMenu).fadeIn('slow');

                } else {
                    $(this).removeClass('active');
                    if (DestinationMenu.activeMenu)
                        $(DestinationMenu.activeMenu).fadeOut();
                }
                return false;
            });
        });

		/*
        DestinationMenu.menus.each(function(index) {
            $(this).mouseleave(function() {
                DestinationMenu.activeMenu = null;
                $(DestinationMenu.destinations[DestinationMenu.currentMenu]).removeClass('active');
                DestinationMenu.currentMenu = 0;
                $(this).fadeOut();
                return false;
            });
        });
		*/
    },
    hideAllTab: function() {
        DestinationMenu.detailBox.each(function(index) {
            $(this).hide();
        });
        DestinationMenu.tabMenu.each(function(index) {
            $(DestinationMenu.tabMenu[index]).parent().removeClass('active');
            if ($(DestinationMenu.tabMenu[index]).parent().hasClass('first')) {
                $(DestinationMenu.tabMenu[index]).parent().addClass('active');
    }
        });
    }
}

DestinationMenu.init();