$.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    $("<img>").attr("src", arguments[i]);
  }
}

$.preloadImages("/img/other/tooltip/tooltip-narrow-top.png", "/img/other/tooltip/tooltip-narrow-mid.png",
"/img/other/tooltip/tooltip-narrow-bot.png", "/img/other/tooltip/tooltip-wide-top.png", "/img/other/tooltip/tooltip-wide-mid.png", "/img/other/tooltip/tooltip-wide-bot.png");

$(document).ready(function() {

	var tooltipTimeout;
	//add tooltip markup 
	$("body").append("<div id='tooltipWrapper-N'><div id='tooltipTop-N'></div><div id='tooltipContent-N'></div><div id='tooltipBot-N'></div></div>");
	$("body").append("<div id='tooltipWrapper-W'><div id='tooltipTop-W'></div><div id='tooltipContent-W'></div><div id='tooltipBot-W'></div></div>");
	// add IE6 png fix
	$("body").append("<!--[if IE 6]><scr"+"ipt src='/js/DD_belatedPNG_0.0.7a-min.js'></scr"+"ipt><scr"+"ipt>DD_belatedPNG.fix('div#tooltipTop-N, div#tooltipContent-N, div#tooltipBot-N, div#tooltipTop-W, div#tooltipContent-W, div#tooltipBot-W');</scr"+"ipt><![endif]-->");
	
	function clearTooltips(){
        $("#tooltipWrapper-N, #tooltipWrapper-W").hide();
        $("#tooltipContent-N, #tooltipContent-W, #tooltipTop-N, #tooltipTop-W").empty();	
	}
	
	$(".tooltip-narrow, .tooltip-wide").hover(
      function () {
        if ($(this).hasClass("tooltip-click")){
        	return false;
        }
        clearTimeout(tooltipTimeout);
		clearTooltips();
        var offset = $(this).offset();
        if ($(this).hasClass("tooltip-wide")){
        	var tooltipWidth = "-W";
        }else{
        	var tooltipWidth = "-N";
        }
        $("#tooltipContent"+tooltipWidth).append($(this).find("span").html());
        $("#tooltipWrapper"+tooltipWidth).show();
        $("#tooltipWrapper"+tooltipWidth).bgiframe();
        var contentHeight = $("#tooltipContent"+tooltipWidth).height() + 65;
        $("#tooltipWrapper"+tooltipWidth).css({'top' : offset.top-contentHeight});
		$(this).mousemove(function(e){
			
			
	        if ($(this).hasClass("tooltip-wide")){
	        	$("#tooltipWrapper"+tooltipWidth).css({'left' : e.pageX-145});
	        }else{
	        	$("#tooltipWrapper"+tooltipWidth).css({'left' : e.pageX-35});
	        }			
			
	    });  
      }, 
      function () {
        if ($(this).hasClass("tooltip-click")){
        	return false;
        }
        
        if ($(this).hasClass("tooltip-wide")){
        	var tooltipWidth = "-W";
        }else{
        	var tooltipWidth = "-N";
        } 
        function hideTooltip(){$("#tooltipWrapper"+tooltipWidth).hide();$("#tooltipContent"+tooltipWidth).empty();}
        tooltipTimeout = setTimeout(hideTooltip,250);
        
      }
    );    

    $(".tooltip-narrow, .tooltip-wide").click(function () { 
        if ($(this).hasClass("tooltip-click")){
			clearTooltips();
			var offset = $(this).offset();
	        if ($(this).hasClass("tooltip-wide")){
	        	var tooltipWidth = "-W";
	        	var contentWidth = 145;
	        }else{
	        	var tooltipWidth = "-N";
	        	var contentWidth = 28;
	        }
	        $("#tooltipContent"+tooltipWidth).append("<div class='tooltip-close'><img src='/img/other/tooltip/icon-close.gif' /></div>");
	        $("#tooltipContent"+tooltipWidth).append($(this).find("span").html());
	        $("#tooltipWrapper"+tooltipWidth).show();
	        var contentHeight = $("#tooltipContent"+tooltipWidth).height() + 65;
	        $("#tooltipWrapper"+tooltipWidth).css({'top' : offset.top-contentHeight, 'left' : offset.left-contentWidth});
	        $("#tooltipWrapper"+tooltipWidth).bgiframe();
        	
        } 
    });
    
    $(".tooltip-close").live("click", function(){ 
		clearTooltips();		 
    });
});