﻿/// <reference path="../JQuery/JQuery-1.6.1-vsdoc.js"/>

jQuery.fn.OverlayPanel = function (Panel, Delay) {
	Delay = Delay || 500;

	var $Panel = $(Panel);
	var Timer = null;

	this.mouseenter(function (e) {
		if (Timer != null) {
			clearTimeout(Timer);
			Timer = null;
		}

		Timer = setTimeout(function () {
			$Panel.fadeIn(600, 'linear');
		}, Delay);
	});

	this.mouseleave(function (e) {
		if (Timer != null) {
			clearTimeout(Timer);
			Timer = null;
		}

		Timer = setTimeout(function () {
			$Panel.fadeOut(600, 'linear');
		}, Delay);
	});

	this.click(function (e) {
		e.preventDefault();

		if (Timer != null) {
			clearTimeout(Timer);
			Timer = null;
		}

		$Panel.fadeIn(600, 'linear');
	});

	$Panel.mouseenter(function (e) {
		if (Timer != null) {
			clearTimeout(Timer);
			Timer = null;
		}
	});

	$Panel.mouseleave(function (e) {
		Timer = setTimeout(function () {
			$Panel.fadeOut(600, 'linear');
		}, Delay);
	});
}
