/***** 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
*****/
window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs = new Array(), zInterval = null, current=0, pause=false, imgCs = new Array(), pos = new Array();

function so_init() {
	if(!d.getElementById || !d.createElement)return;

	// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
	// http://slayeroffice.com/code/imageCrossFade/xfade2.css
	css = d.createElement("link");
	css.setAttribute("href","/include/xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);

  i=0;
  var divs = document.getElementsByTagName('div');
  for(c=0;c<divs.length;c++) {
    d_id = divs[c].id;
    d_id = d_id.substring(0,7);
    if(d_id=="imgFade") {
      imgCs[i] = divs[c];
      i++;
    }
  }
  //alert(imgCs.length);
  
	for(j=0;j<imgCs.length;j++) {
    //imgs = d.getElementById("imageContainer").getElementsByTagName("img");
    imgs = imgCs[j].getElementsByTagName("img");
	  for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
	  imgs[0].style.display = "block";
	  imgs[0].xOpacity = .99;
  	setTimeout(do_xfade,1000);
  }
}

function do_xfade() {
  j=0;
	for(j=0;j<imgCs.length;j++) {
	  c_id = imgCs[j].id;
	  if (document.getElementById(c_id).getElementsByTagName("img").length>1) {
      if (pos[c_id]==undefined) {
        so_xfade(c_id);
      }
    }
  }
}

function so_xfade(c_id) {
  if (pos[c_id]==undefined) {
    pos[c_id] = 0;
  }
  lcurrent = pos[c_id];
  limgs = document.getElementById(c_id).getElementsByTagName("img");
  l_id = "imgFadeLbls_"+c_id.substring(8);
  lbls = document.getElementById(l_id).getElementsByTagName("span");
  
  for(i=0;i<lbls.length;i++) {
    lbl = lbls[i];
    lbl.style.display = "none";
  }
  
	cOpacity = limgs[lcurrent].xOpacity;
	nIndex = limgs[lcurrent+1]?lcurrent+1:0;

  lbl = lbls[nIndex];
  lbl.style.display = "";

	nOpacity = limgs[nIndex].xOpacity;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	limgs[nIndex].style.display = "block";
	limgs[lcurrent].xOpacity = cOpacity;
	limgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(limgs[lcurrent]); 
	setOpacity(limgs[nIndex]);
	
	if(cOpacity<=0) {
		limgs[lcurrent].style.display = "none";
		lcurrent = nIndex;
    pos[c_id] = lcurrent;
		setTimeout(function(){so_xfade(c_id);},2000);
	}
  else {
		setTimeout(function(){so_xfade(c_id);},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) + ")";
	}	
}
