/*****

Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com

Please leave this notice intact. 

Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html


*****/

function fisherYates(myArray)
{
  var i = myArray.length;
  if(i == 0) return false;
  while(--i)
  {
    var j = Math.floor(Math.random() * ( i + 1 ));
    var tempi = myArray[i];
    var tempj = myArray[j];
    myArray[i] = tempj;
    myArray[j] = tempi;
  }
}

var imgs = [], img_objs = [], so_current=0, pause=false;

function so_init(img1, img2, img3)
{
  var img;
  
  css = document.createElement("link");
	css.setAttribute("href","/stylesheets/xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	document.getElementsByTagName("head")[0].appendChild(css);
	
	// Image 1
	
	img = new Image();
  img.src = img1;
  img_objs.push(img);
	
	// Image 2
	
	img = new Image();
  img.src = img2;
  img_objs.push(img);
  
	// Image 3
	
	img = new Image();
  img.src = img3;
  img_objs.push(img);
	
  // for(var i = 1; i <= 3; i++)
  // {
  //   var img = new Image();
  //   img.src = "/images/banners/banner" + i + ".jpg";
  //   img_objs.push(img);
  // }
  
  fisherYates(img_objs);
  
  document.getElementById("imageContainer").innerHTML = "";
  for(var i = 2; i >= 0; i--) document.getElementById("imageContainer").innerHTML = "<img src='" + img_objs[i].src + "' class='rotating_img' />" + document.getElementById("imageContainer").innerHTML;

  imgs = document.getElementById("imageContainer").getElementsByTagName('img');

  for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;

  setTimeout(so_xfade,5000);
}

function so_xfade() {
	cOpacity = imgs[so_current].xOpacity;
	nIndex = imgs[so_current+1]?so_current+1:0;

	nOpacity = imgs[nIndex].xOpacity;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[so_current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs[so_current]); 
	setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[so_current].style.display = "none";
		so_current = nIndex;
		setTimeout(so_xfade,5000);
	} else {
		setTimeout(so_xfade,50);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
	
}