var XFadeBoxID       = 'slideshow';
     var XFadeItemClass   = 'xfadeitem';   
     
     var XFadeInterval    = 3000;  //msec
     var XFadeDuration    = 1000;  //msec   
     
     var invalidateLinks  = true;  // disable links during the crossfade transition?
     
     
     function invalidateLink()
     {
        // disables link (click event) during the xfade transition
        return !invalidateLinks;
     }
         
     function xfade() 
     {
        xfade_items = $('#' + XFadeBoxID + ' .' + XFadeItemClass);
        
        if ( xfade_items.filter(':hidden').size() > 0 )
        {
            // fading in the next item 
            xfade_items.filter(':hidden').slice(0,1)
              .bind('click', invalidateLink)
              .fadeIn(XFadeDuration, function cb() { $(this).unbind('click', invalidateLink); } );    
        }
        else
        {
            // fading out the last item, showing only the first
            xfade_items.not(':first').not(':last').hide();
            xfade_items.filter(':last')
              .bind('click', invalidateLink)            
              .fadeOut(XFadeDuration, function cb() { $(this).unbind('click', invalidateLink); } );
        }  
   
     }
     
     // init
     $(document).ready( function() {
        
        // show the first item only
        $('#' + XFadeBoxID + ' .' + XFadeItemClass)
          .hide()
          .slice(0,1).show();          
          
        // set the repetitive xfade function
        xfade_interval = window.setInterval('xfade()', XFadeInterval);
     
     } );
