try {
 var $j = jQuery.noConflict();
}
catch(e) {
 alert('JAEGER requires jQuery to be loaded first!');
}
$j(document).ready(function() { 
         
 $j('.puff_main > a, .puff > a').each(function(i) {
  // get heights etc for each item
  this.myHeight = $j(this).children('img').outerHeight() + $j(this).children('span.panel').children('strong').outerHeight(); // dimensions plugin dependency
  this.inPos = this.myHeight - $j(this).children('span.panel').children('strong').outerHeight();
  this.outPos = this.myHeight - $j(this).children('span.panel').outerHeight();
  // reposition link text elements at bottom (part overflowing)
  $j(this).parent().css({
   height: this.myHeight + 'px',
   overflow: 'hidden'
  });
  $j(this).children('span.panel').css({
   'position' : 'absolute',
   'top' : this.inPos + 'px'
  });
  $j(this)
   /* binding */
   .bind("mouseenter focus", function() {
    var $outPos = this.outPos;
    $j(this).children('span.panel')
     .stop()
     .animate({ 'top' : $outPos + 'px' }, 300, 'easeOutQuad'); // easing plugin
   })
   .bind("mouseleave blur", function() {
    var $inPos = this.inPos;
    $j(this).children('span.panel')
     .stop()
     .animate({ 'top' : $inPos + 'px' }, 300, 'easeOutQuad'); // easing plugin
   })
  });
});