/*===========================================
   Ajax Tooltip
=========================================== */ 

   if( typeof FUEL == "undefined"  ) var FUEL = {};
   
   $(document).ready( function()
   {
      new FUEL.ajaxtip( '.tip', { keep: false, sticky: true, x: -15, y: -5 } );
      //new FUEL.ajaxtip( '.tipkeep', { keep: true, hideout: true } );
      //new FUEL.ajaxtip( '.portfolio-help', { keep: false, sticky: true, x: -1, y: -28 } );
      
      /*
      if( $("#portfolio-chooser").length > 0 && $("#portfolio-chooser").attr("tiptxt").length > 0)
      {
         new FUEL.ajaxtip( '#portfolio-chooser', { keep: true, sticky: false, hideout: true, xAbsolute: $("#portfolio-chooser").offset().left, yAbsolute: $("#portfolio-chooser").offset().top+$("#portfolio-chooser").height()+0 } );
      }
      */
   }); 
   
   FUEL.ajaxtip = function( classname, options )
   {
      var that = this;
      options = options || {};
      this.sticky = options.sticky || false;
      this.keep = options.keep || false;
      this.hideout = options.hideout || false;
      this.x = options.x || 15;
      this.y = options.y || 5;
      this.xAbsolute = options.xAbsolute || null;
      this.yAbsolute = options.yAbsolute || null;
      
      $(classname).click( function(){ return false; } );
      $(classname).mouseover( function(e){ that.create( this, e ); } );
      
      if( this.keep == false ) { $(classname).mouseout( function(){ FUEL.ajaxtip.close(); } ); }
      if( this.sticky ) { $(classname).mousemove( function(e){ that.set_position(e); } ); }
   };
   
   FUEL.ajaxtip.prototype =
   {
      create: function( that, e )
      {
         var url = $(that).attr('href');
         var offset = $(that).offset();
         var id = $(that).attr('class') + offset.left + offset.top;
         var box = $('<div id="'+id+'" class="ajax-tip ajax-tip-loading"><div class="ajax-tip-inside"></div></div>');
         
         if( $('#'+id).length == 0 )
         {
            FUEL.ajaxtip.close();
            $(box).appendTo("body");
            this.set_position(e);
            
            if( this.hideout )
            {
               $("div.ajax-tip").mouseover( function(){ $("div.ajax-tip").hover( function(){}, function(){ FUEL.ajaxtip.close(); } ) } );
            }
            
            $(box).html( $(that).attr("tiptxt") );
         }
      },
      
      set_position: function(e) 
      { 
         var top = (e.pageY-this.y);
         var left = (e.pageX-this.x);
         
         if (this.xAbsolute != null && this.yAbsolute != null)
         {
            top = this.yAbsolute;
            left = this.xAbsolute;
         }
         
         $("div.ajax-tip").css( { top: top+"px", left: left+"px", position: 'absolute' } ); 
      }
   };
   
   FUEL.ajaxtip.close = function()
   {
      $('div.ajax-tip').remove();
   };
