
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.slides=[];
 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.slides[this.index];
    sp=slide.getElementsByTagName("span")[0];
    var img=this.makeImg(sp.innerHTML, slide.getElementsByTagName("a")[0]);
   }
   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.slides[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;
  pn=i.parentNode.parentNode;
  i.style.marginLeft=((this.maxw-w)>>1)+"px";
  i.style.marginTop=((this.maxh-h)>>1)+"px";
  pn.style.left="0px";
  pn.style.top="0px";
 }

 var tmpslides=this.target.getElementsByTagName("div");
 for(var i=0; i<tmpslides.length; i++) if(tmpslides[i].className=="slide") this.slides.push(tmpslides[i]);
 this.length=this.slides.length;
 for(var i=0; i<this.length; i++) {
  this.slides[i].style.left="-9999px";
  this.slides[i].style.top="-9999px";
  sp=this.slides[i].getElementsByTagName("span")[0];
  sp.style.display="none";
  if(i==this.index) {
   var img=this.makeImg(sp.innerHTML, this.slides[i].getElementsByTagName("a")[0]);
  }
  this.loaded[i]=0;
 }
 this.maxw=this.target.offsetWidth;
 this.maxh=this.target.offsetHeight;
 this.showSlide();
}

