
var isIE=window.ActiveXObject ? true : false;

function slideshows(i, t, pt) {
 this.index=i;
 this.last=null;
 this.name=t;
 this.target=document.getElementById(t);
 this.current=null;
 this.pt=pt;
 this.loaded=[];
 this.step=0.02;
 this.fr=20;
 this.waiting=null;
 this.maxw=0;
 this.maxh=0;

 this.makeImg=function(url, s) {
  var i=document.createElement("img");
  i.src=url;
  i.setAttribute("alt", this.name);
  s.appendChild(i);
  this.waiting=i;
  return i;
 }

 this.fadeSlide=function(op) {
  op=op+this.step;
  if(op>1) op=1;
  if(isIE) {
   this.current.style.filter=(op==1)?"":"alpha(opacity="+(op*100)+")";
   if(this.last) this.last.style.filter=(op==1)?"":"alpha(opacity="+(100-(op*100))+")";
  }
  else {
   this.current.style.opacity=op;
   if(this.last) this.last.style.opacity=1-op;
  }
  if(op<1) setTimeout(this.name+".fadeSlide("+op+")", this.fr);
  else {
   if(this.last) this.last.style.display="none";
   this.last=this.current;
   this.index=(this.index+1)%this.length;
   if(!this.loaded[this.index]) {
    slide=this.target.getElementsByTagName("a")[this.index];
    sp=slide.getElementsByTagName("span")[0];
    var img=this.makeImg(sp.innerHTML, slide);
    slide.appendChild(img);
   }
   setTimeout(this.name+".showSlide("+i+")", this.pt);
  }
 }

 this.showSlide=function() {
  if(this.waiting && !this.waiting.complete) {
   setTimeout(this.name+".showSlide()", 250);
  }
  else {
   if(this.waiting) this.fiximg(this.waiting);
   this.waiting=null;
   this.loaded[this.index]=1;
   this.current=this.target.getElementsByTagName("a")[this.index];
   if(this.last != null) this.last.style.zIndex=1;
   this.current.style.zIndex=2;
   if(isIE) this.current.style.filter="alpha(opacity=0)";
   else this.current.style.opacity=0;
   this.current.style.display="block";
   this.fadeSlide(0);
  }
 }

 this.fiximg=function(i) {
  w=i.width;
  h=i.height;
  if(w > this.maxw) {
   h=Math.ceil(this.maxw*(h/w));
   w=this.maxw;
  }
  if(h > this.maxh) {
   w=Math.ceil(this.maxh*(w/h));
   h=this.maxh;
  }
  i.width=w;
  i.height=h;
  i.parentNode.style.left=((this.maxw-w)>>1)+"px";
  i.parentNode.style.top=((this.maxh-h)>>1)+"px";
 }

 slides=this.target.getElementsByTagName("a");
 this.length=slides.length;
 for(var i=0; i<this.length; i++) {
  if(slides[i].className=="slide") {
   slides[i].style.left="-9999px";
   slides[i].style.top="-9999px";
   sp=slides[i].getElementsByTagName("span")[0];
   sp.style.display="none";
   if(i==this.index) {
    var img=this.makeImg(sp.innerHTML, slides[i]);
   }
   this.loaded[i]=0;
  }
 }
 this.maxw=this.target.offsetWidth;
 this.maxh=this.target.offsetHeight;
 this.showSlide();
}
