var mainMenuBtn = 0;
var timer;
var isOpenMenu = false;

$(document).ready(function () {
    mainMenuBtn = $('.menu-button').width();
    monthDayHover();
    
    $('#calendar-switch-next, #calendar-switch-prev').click(function () {
        $('#calendar-month .month-day').fadeOut('fast');
        
        dateSplit = $(this).attr('rel').split('-')
        var date = new Date();
        date.setFullYear(dateSplit[0],dateSplit[1]-1,dateSplit[2]);
        var nextMonth = new Date(date);
        nextMonth.setMonth(nextMonth.getMonth()+1);
        var prevMonth = new Date(date);
        prevMonth.setMonth(prevMonth.getMonth()-1);
        
        $('#calendar-switch-month').html(date.format('M Y'));
        $('#calendar-switch-next').attr('rel',nextMonth.format('Y-m-01'));
        $('#calendar-switch-prev').attr('rel',prevMonth.format('Y-m-01'));
        
        $.ajax({
            url: '/ajax/get-month/',
            type: 'POST',
            data: 'month='+date.format('m')+'&year='+date.format('Y'),
            success: function (ret) {
                $('#calendar-month').html(ret);
                monthDayHover();
            }
        });
        
        return false;
    });
    
    // menu
    $('#main-menu-button').hover(function () {
        if(!isOpenMenu){
            var newWidth = $('.menu-button').outerWidth()+$('#main-menu').outerWidth();
            $('.menu-button').animate({width: newWidth+'px'}, { duration: 500, queue: true });
            
            $('#main-menu').css({
                top: $(this).parent().position().top + $(this).parent().outerHeight()-1
            });
            
            /*$('#main-menu').fadeTo(0,0.95);*/
            $('#main-menu').slideDown(500);
            
            isOpenMenu = true;
        }
        return false;
    });
    $('#main-menu-button').click(function () {
        if(isOpenMenu){
            CloseMenu();
        }
        return false;
    });
    
    $('#calendar .menu').hoverIntent({
        sensitivity: 10,
        interval: 100,
        over: OverMenu,
        timeout: 200,
        out: CloseMenu
    });
    
    $('#main-menu li').hover(function () {
            $(this).addClass('main-menu-hover');
            if ($.browser.msie) {
                $(this).siblings('li').children('ul').hide();
            } else {
                $(this).siblings('ul').children('ul').hide();
                $(this).siblings('ul').hide();
            }
            
            $('#sub-'+$(this).attr('id')).css({
                top: $(this).position().top-1,
                left: $(this).parent().innerWidth()
            });
            $('#sub-'+$(this).attr('id')).show();
        }, function () {
            $(this).removeClass('main-menu-hover');
        }
    );
})

function monthDayHover() {
    $('.month-day').hover(
        function () {
            $(this).addClass('month-day-hover');
            if($(this).children('.event').length && $(this).hasClass('has-event')){
                if($(this).hasClass('is-top')){
                    $(this).children('.event').addClass('top-event');
                }
                
                var eventObject = $(this).children('.event');
                
                var maxRight = $('#page').position().left + $('#page').width();
                var eventRight = $(this).position().left + eventObject.outerWidth();
                
                if(maxRight < eventRight){
                    eventObject.css({
                        top: $(this).position().top + $(this).height(),
                        left: $(this).position().left + $(this).width() - eventObject.outerWidth()
                    });
                } else {
                    eventObject.css({
                        top: $(this).position().top + $(this).height(),
                        left: $(this).position().left
                    });
                }
                
                eventObject.show();
            }
        },
        function () {
            $(this).removeClass('month-day-hover');
            $('div.event').hide();
        }
    );
}

function OverMenu() {
}
function CloseMenu() {
    $('.menu-button').animate({width: mainMenuBtn+'px'}, { duration: 500, queue: true });
    $('#main-menu').slideUp(500);
    $('#main-menu li ul').slideUp(150);
    
    isOpenMenu = false;
}

