﻿/*trigger function for menu items*/
/*keep the tiem really short for these, and you cannot use hoverIntent*/
$(function() {
    $('.JqvDdTabDrop').each(function() {

        // options
        var distance = 5;
        var time = 100;
        var hideDelay = 100;

        var hideDelayTimer = null;

        // tracker
        var beingShown = false;
        var shown = false;

        var trigger = $($(this), this);
        var popup = $($(this).next(), this).css('opacity', 0);

        $([trigger.get(0), popup.get(0)]).hover(function() {
            //goAlert(); //debug

            // stops the hide event so the pop stays open while your over it
            if (hideDelayTimer) { clearTimeout(hideDelayTimer); }

            // don't trigger the animation again if we're being shown, or already visible
            if (beingShown || shown) {
                return;
            } else {
                beingShown = true;
                // reset position of dropdown box
                popup.css({
                    top: trigger.position().top + 25,
                    left: trigger.position().left,
                    display: 'block' // brings the popup back in to view
                })

                // (we're using chaining on the popup) now animate it's opacity and position
        .animate({
            top: '-=' + distance + 'px',
            opacity: 1
        }, time, 'swing', function() {
            // once the animation is complete, set the tracker variables
            beingShown = false;
            shown = true;
        });
            }
        }, function() {

            // reset the timer if we get fired again - avoids double animations
            if (hideDelayTimer) clearTimeout(hideDelayTimer);

            // store the timer so that it can be cleared in the mouseover if required
            hideDelayTimer = setTimeout(function() {
                hideDelayTimer = null;
                popup.animate({
                    top: '-=' + distance + 'px',
                    opacity: 0
                }, time, 'swing', function() {
                    // once the animate is complete, set the tracker variables
                    shown = false;
                    // hide the popup entirely after the effect (opacity alone doesn't do the job)
                    popup.css('display', 'none');
                });
            }, hideDelay);
        });
    });
});



