﻿///<reference path='https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js' />


(function ($) {
    $.fn.toggleSlide = function (options) {
        var opts = $.extend({}, $.fn.toggleSlide.defaults, options);
        var $this = $(this);
        var $box = $($this.attr("href"));

        var slideDown = null;
        var slideUp = null;
        $this.hover(function () {
            if (slideDown == null) {
                slideDown = setTimeout(function () {
                    $box.slideDown('fast');
                    slideDown = null;
                }, opts.delay);
            }

        }, function () {
            if (slideUp == null) {
                slideUp = setTimeout(function () {
                    if (slideDown == null) {
                        $box.slideUp();
                    } else {
                        clearTimeout(slideDown);
                    }
                    slideUp = null;
                    slideDown = null;
                }, 100);
            }
        });

        $box.mouseleave(function () {
            $box.slideUp('fast');
            slideDown = null;
            slideUp = null;
        }).mouseenter(function () {
            if (slideUp != null) {
                clearTimeout(slideUp);
            }
            slideDown = null;
            slideUp = null;

        });

        $box.find('.close-button').click(function () {
            $box.slideUp('fast');
            slideDown = null;
            slideUp = null;
        });
    };

    $.fn.toggleSlide.defaults = {
        delay: 800
    };
})(jQuery);
