/*------------------------------------------------------------------------------
 * PulldownMenu on jQuery(jquery-1.3.2.min.js)
 *------------------------------------------------------------------------------
 * @copylight : (C) 2009 H.Takeuchi
 * @author    : H.Takeuchi
 * @version   : ver 1.0.0 (2009.04.01)
 *------------------------------------------------------------------------------
 */
$(document).ready(function()
{
	$(".PulldownMenu").each(function(){PulldownMenu(this)});
});
var PulldownMenu = function(trigger)
{
	var trigger  = $(trigger);
	var params   = $(trigger).attr("rel").split(",");
	var target   = $("#" + params[0]);
	var duration = params[1] ? params[1] : 500;
	var opacity1 = params[2] ? params[2] : 0.8;
	var opacity2 = 0;
	var showimg  = params[3] ? params[3] : null;
	var hideimg  = trigger.attr("src") ? trigger.attr("src") : null;
	var imgswitchtimer = null;
	
	var menuShow = function()
	{
		if(showimg && hideimg)
		{
			clearTimeout(imgswitchtimer);
			trigger.attr("src" , showimg);
		}
		target.stop();
		target.css("visibility" , "visible");
		target.animate({opacity : opacity1} , duration , "linear" , function(){});
	}
	var menuHide = function()
	{
		if(showimg && hideimg)
		{
			imgswitchtimer = setTimeout(function(){trigger.attr("src" , hideimg)} , duration / 2);
		}
		target.stop();
		target.animate({opacity : opacity2} , duration , "linear" , function(){target.css("visibility" , "hidden");});
	}
	target.css("visibility" , "hidden");
	target.css("opacity"    , 0);
	
	if(showimg && hideimg)
	{
		var preloadimg1 = new Image();
		var preloadimg2 = new Image();
		preloadimg1.src = showimg;
		preloadimg2.src = hideimg;
	}
	trigger.mouseover(menuShow);
	trigger.mouseout(menuHide);
	target.mouseover(menuShow);
	target.mouseout(menuHide);
}
