// ////
/*
Gradual-Highlight Image Script II- By J. Mark Birenbaum (birenbau@ugrad.cs.ualberta.ca)
For full source to script, visit http://dynamicdrive.com
Modified, with support for non-IE browsers - no copyright to changes claimed
*/

var nereidFadeObjects=new Object();
var nereidFadeTimers=new Object();

/* object - image to be faded (actual object, not name);
 * destop - destination transparency level (e.g. 80, for mostly solid)
 * rate   - time in milliseconds between transparency changes (best under 100)
 * delta  - amount of change each time (ie 5, for 5% change in transparency)
 */

function nereidFade(object,destOp,rate,delta)
{
   if (!object.sourceIndex) object.sourceIndex=Math.round(Math.random()*10000);

   if (nereidFadeTimers[object.sourceIndex])
      window.clearTimeout(nereidFadeTimers[object.sourceIndex]);

   var again;
   if ((window.is_ie) && (is_ie()))
   {
      if (!object.filters) object.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity='100')";
      if ((!object.filters) || (!object.filters['DXImageTransform.Microsoft.Alpha'])) return;
      var diff=destOp-object.filters['DXImageTransform.Microsoft.Alpha'].opacity;
      var direction=1;
      if (delta>0)
      {
         if (object.filters['DXImageTransform.Microsoft.Alpha'].opacity>destOp)
         {
            direction=-1;
         }
         delta=Math.min(direction*diff,delta);
      } else
      {
         if (object.filters['DXImageTransform.Microsoft.Alpha'].opacity<destOp)
         {
            direction=-1;
         }
         delta=Math.max(direction*diff,delta);
      }
      object.filters['DXImageTransform.Microsoft.Alpha'].opacity+=direction*delta;

      again=(object.filters['DXImageTransform.Microsoft.Alpha'].opacity!=destOp);
   } else
   {
      if (object.style.opacity)
      {
         var diff=(destOp/100.0)-object.style.opacity;
         var direction=1;
         if (delta>0)
         {
            if (object.style.opacity>destOp/100.0)
            {
               direction=-1;
            }
            var new_delta=Math.min(direction*diff,delta/100.0);
         } else
         {
            if (object.style.opacity<destOp/100.0)
            {
               direction=-1;
            }
            var new_delta=Math.max(direction*diff,delta/100.0);
         }
         var temp=parseFloat(object.style.opacity)+direction*new_delta;
         object.style.opacity=temp;

         again=(temp!=destOp/100.0);
      } else again=true;
   }
   if (again)
   {
      nereidFadeObjects[object.sourceIndex]=object;
      nereidFadeTimers[object.sourceIndex]=window.setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
   }
}
// ^^^^

// ===================
// EXPANDED THUMBNAILS
// ===================

function expandImages()
{
   var te_pos=document.URL.indexOf('&te_');
   if (te_pos==-1) return;
   var a=document.URL.indexOf('=1',te_pos);
   var b=document.URL.indexOf('=0',te_pos);
   if (((b<a) && (b!=-1)) || (a==-1)) return;
   var to_do=document.URL.substring(te_pos+4,a);

   if (to_do=='all')
   {
      var i;
      var posts=document.getElementsByTagName('td');
      for (i=0;i<posts.length;i++)
      {
         if (posts[i].id.substring(0,3)=='pe_')
         {
            expandPost(posts[i]);
         }
      }
   } else expandPost(document.getElementById('pe_'+to_do));
}

function expandPost(post)
{
   if (!post) return;

   var i;
   var images=post.getElementsByTagName('img');
   var pass_id,first,second;
   for (i=0;i<images.length;i++)
   {
      first=2;
      pass_id=images[i].id.substring(first+1/*,second*/);
//      second=pass_id.indexOf('_');
//      if (second!=-1) pass_id=pass_id.substring(0,second);
      images[i].src=eval("te_"+pass_id);
      images[i].thumb_expanded=1;
   }
}


