﻿/// <reference path="jquery-1.4.1.js" />

jQuery(document).ready(function(){
    $().mousemove(function(e){
        window.mouseXPos = e.pageX;
        window.mouseYPos = e.pageY;
    });
})

function containsMouse(element) {
    var offset = element.position();
    return offset.top > window.mouseYPos && offset.left > window.mouseXPos && window.mouseYPos < offset.top + element.height() && window.mouseXPos < offset.left + element.width();
}

var $currentlyVisibleDropDown = null;
$.fn.dropdown = function ($visibilityElement, $parent) {
    $visibilityElement.css("margin-left", $(this).offset().left - $($parent).offset().left);
    $visibilityElement.hover(function () { }, function () {
        if (!(($parent != null && containsMouse($parent)) && containsMouse($visibilityElement))) {
            $visibilityElement.fadeOut();
            if ($currentlyVisibleDropDown == $visibilityElement) {
                $currentlyVisibleDropDown = null;
            }
        };
    });

    $(this).hover(function () {
        if ($visibilityElement.css("display") == "none") {
            if ($currentlyVisibleDropDown != null) {
                $currentlyVisibleDropDown.fadeOut();
            }

            $visibilityElement.fadeIn();
            $currentlyVisibleDropDown = $visibilityElement;
        }
    }, function () {
    });

    return $(this).each(function () {
    });
}
