﻿
    var showRequested = false;
    var hideRequested = false;
    
    var visible = false;
    
    var triggerPosition;
    var triggerPositionLeft;
    var triggerPositionTop;
    
    var toolTipWidth;
        
    var animate = true;
    var toolTip;
    var passObject;
    
    var openDelay = 425;
    var closeDelay = 250;
    
    var showToolTimer;
    var hideToolTimer;
    
    var additionalClasses = "";
    
    var dialogClass = "center";
    
    function showToolTip(Object, inAdditionalClasses) {
        
        additionalClasses = inAdditionalClasses;
        
        showRequested = true;
        hideRequested = false;
        
        clearTimeout(hideToolTimer);
        
        var toolTipID = "tooltip";
        toolTip = $("#" + toolTipID);

        passObject = Object;

        var slideDownSpeed = 200;
        var slideUpSpeed = 100;
                     
        var verticalOffset = 28;
        var horizontalOffset = 28;
        var horizontalLeftOffset = -22;
        var minLeftClear = 6;
        var minRightClear = 6;
        
        toolTipWidth = $(toolTip).width();
        
        triggerPosition = $(Object).offset(); 
        triggerPositionLeft = triggerPosition.left;
        triggerPositionTop = triggerPosition.top;
        
        var toolTipWidth = $(toolTip).width();
        var triggerWidth = $(Object).width();
        var triggerHeight = $(Object).height();
        
        triggerPositionLeft = (triggerPositionLeft + (triggerWidth / 2))  - (toolTipWidth /2);
        
        if (triggerPositionLeft < minLeftClear) {
            triggerPositionLeft = triggerPosition.left + minLeftClear;
        }
        else {
            if ((triggerPositionLeft + toolTipWidth + minRightClear) > $("body").width())
            {
                triggerPositionLeft = triggerPositionLeft - ((triggerPositionLeft + toolTipWidth + minRightClear) - $("body").width());
                triggerPositionLeft = triggerPositionLeft  - minRightClear;
            }
        }
        
        triggerPositionTop = triggerPositionTop + verticalOffset;
        var toolTipHeight = $(toolTip).height();
        showToolTimer = setTimeout("toolTipShow()", openDelay);
        
    }

    function toolTipShow() {
        
        $(toolTip).css({ top: triggerPositionTop, left: triggerPositionLeft });
        $(toolTip).addClass(additionalClasses);
        $(toolTip).show();
        if (!visible) {
            if (animate) {
             $(toolTip).animate({
                 marginTop: '6px'
                 }, 200, function() {
                 $(toolTip).animate({
                     marginTop: '3px'
                     }, 400, function() {

                 });
             });
            }
            else {

            }
        }
        visible = true;
        showRequested = false;
        populateContent();
    }
    
    function populateContent() {
        var cnt = "<div class=\"toolTip_Content\"></div>";
        $("#tooltip").html(cnt);
        
        var rel = $(passObject).attr('rel');
        if (rel.indexOf("/parts/") > -1) {
             var html;
             var elm = $("#tooltip .toolTip_Content");
                $.ajax({
                url: rel,
                async: true,
                dataType: "html",
                success: function(html){
                    elm.append(html);
                    }
	            });
        }
        else {
            $("#tooltip .toolTip_Content").html("<div class=\"tt_heading\">" + rel + "</div>");
        }
    }
    
    function toolTipHide(doDelay) {
           if (!visible) {
                clearTimeout(showToolTimer);
           }
           hideRequested = true;
           if (doDelay) {
               hideToolTimer = setTimeout("doToolTipHide()", closeDelay);
           }
           else {
               doToolTipHide()
           }
    }
    
    function doToolTipHide() {
         if (animate) {      
//         $("#tooltip").animate({
//             marginTop: '10px'
//             }, 150, function() {
//             $("#tooltip").animate({
//                 marginTop: '5px'
//                 }, 300, function() {
//                 visible = false;
//                 //$("#tooltip").hide();
//                 $("#tooltip").remove();
//                 $("body").append("<div id=\"tooltip\"></div>");
//             });
//         });
         $("#tooltip").animate({
             marginTop: '8px'
             }, 80, function() {
             $("#tooltip").animate({
                 marginTop: '6px'
                 }, 25, function() {
                 visible = false;
                 //$("#tooltip").hide();
                 $("#tooltip").remove();
                 $("body").append("<div id=\"tooltip\"></div>");
             });
         });
        }
        else {
            visible = false;
            $("#tooltip").hide();
        }
    }
    

