/*****

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;
var afbStart;
var try_init = 0;
var sNoImg = '/images/shownoimg.gif';
var sHttpNoImg = location.protocol + '//' + location.host + sNoImg;

function so_init() {
	if(!d.getElementById || !d.createElement){
  	// in de timing kennelijk iets 'mis'
    try_init += 1;
    if (try_init < 10) setTimeout(so_init,1000);
    
    return;
  }
/*	
	css = d.createElement("link");
	css.setAttribute("href","/css/xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);
*/	
	if(!d.getElementById("imageContainer")) {
		return
	}
	imgs = d.getElementById("imageContainer").getElementsByTagName("img");
	if (!imgs) {
  	// ? iets mis met de pagina
    try_init += 1;
    setTimeout(so_init,1000);
    return;
  }
  
	var randStart= afbStart - 1; //wordt in template 66 gevuld
  
  // for sure..
	if (isNaN(randStart)) randStart = 0;
  if (randStart < 0) randStart = 0; 
	
	for(i=0;i<imgs.length;i++) imgs[i].xOpacity = 0;

  // bepaal de image om mee te starten
  // begin bij de afbStart - 1 (deze is vast of random bepaald)
	
  var iCntNoImg = 0;
	while (((imgs[randStart].src==sHttpNoImg) || (imgs[randStart].src==sNoImg)) && (iCntNoImg < 20)) {
		// imgs[x+1]; als deze bestaat... anders de 0-de
    iCntNoImg += 1;
		randStart = imgs[randStart+1]?randStart+1:0;
	}

  // gevonden
	imgs[randStart].style.display = "block";
	imgs[randStart].xOpacity = .99;	
	current=randStart;
	setTimeout(so_xfade,5000);  // hier stond 000  dus ...
} 

function so_xfade() {

	// de volgende image ...
  
  // neem de xOpacity over van het actuele plaatje (current)
	cOpacity = imgs[current].xOpacity;

  // het volgende plaatje: x+1 of 0
	nIndex = imgs[current+1]?current+1:0;
	
  var iCntNoImg = 0;
	while (((imgs[nIndex].src==sHttpNoImg) || (imgs[nIndex].src==sNoImg)) && (iCntNoImg < 20)) {
  	// het volgende plaatje zoeken indien shownoimg.gif
    iCntNoImg += 1;
		nIndex = imgs[nIndex+1]?nIndex+1:0;
	}
	if (iCntNoImg == 20)
  {
  	// gewoon de volgende noimg pakken
  	nIndex = imgs[current+1]?current+1:0;
  }
  
  // (next)
	nOpacity = imgs[nIndex].xOpacity;
	
	cOpacity-=.02; // afnemen
	nOpacity+=.02; // toenemen
	
	imgs[nIndex].style.display = "block"; // display de nieuwe
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
    // nieuw plaatje
		current = nIndex;
		setTimeout(so_xfade,5000);
	} else {
    // huidig plaatje
		setTimeout(so_xfade,100);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
    // misschien loopt die fout bij -0...
		if(obj.xOpacity<0) {
			return;
		}
    
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
	
}



window.addEventListener?window.addEventListener("load",so_init2,false):window.attachEvent("onload",so_init2);


var d2=document, imgs2 = new Array(), zInterval2 = null, current2=0, pause2=false;
var afbStart2;
var try_init2 = 0;
var sNoImg2 = '/images/shownoimg.gif';
var sHttpNoImg2 = location.protocol + '//' + location.host + sNoImg2;



function so_init2() {
	if(!d2.getElementById || !d2.createElement){
  	// in de timing kennelijk iets 'mis'
    try_init2 += 1;
    if (try_init2 < 10) setTimeout(so_init2,1000);
    
    return;
  }
/*	
	css = d.createElement("link");
	css.setAttribute("href","/css/xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);
*/	
	if(!d2.getElementById("imageContainer2")) {
		return
	}
	imgs2 = d2.getElementById("imageContainer2").getElementsByTagName("img");
	if (!imgs2) {
  	// ? iets mis met de pagina
    try_init2 += 1;
    setTimeout(so_init2,1000);
    return;
  }
  
	var randStart2= afbStart2 - 1; //wordt in template 66 gevuld
  
  // for sure..
	if (isNaN(randStart2)) randStart2 = 0;
  if (randStart2 < 0) randStart2 = 0; 
	
	for(i=0;i<imgs2.length;i++) imgs2[i].xOpacity = 0;

  // bepaal de image om mee te starten
  // begin bij de afbStart - 1 (deze is vast of random bepaald)
	
  var iCntNoImg2 = 0;
	while (((imgs2[randStart2].src==sHttpNoImg) || (imgs2[randStart2].src==sNoImg2)) && (iCntNoImg2 < 20)) {
		// imgs[x+1]; als deze bestaat... anders de 0-de
    iCntNoImg2 += 1;
		randStart2 = imgs2[randStart2+1]?randStart2+1:0;
	}

  // gevonden
	imgs2[randStart2].style.display = "block";
	imgs2[randStart2].xOpacity = .99;	
	current2=randStart2;
	setTimeout(so_xfade2,5000);  // hier stond 000  dus ...
} 


function so_xfade2() {

	// de volgende image ...
  
  // neem de xOpacity over van het actuele plaatje (current)
	cOpacity = imgs2[current2].xOpacity;

  // het volgende plaatje: x+1 of 0
	nIndex = imgs2[current2+1]?current2+1:0;
	
  var iCntNoImg2 = 0;
	while (((imgs2[nIndex].src==sHttpNoImg) || (imgs2[nIndex].src==sNoImg2)) && (iCntNoImg2 < 20)) {
  	// het volgende plaatje zoeken indien shownoimg.gif
    iCntNoImg2 += 1;
		nIndex = imgs2[nIndex+1]?nIndex+1:0;
	}
	if (iCntNoImg2 == 20)
  {
  	// gewoon de volgende noimg pakken
  	nIndex = imgs2[current2+1]?current2+1:0;
  }
  
  // (next)
	nOpacity = imgs2[nIndex].xOpacity;
	
	cOpacity-=.02; // afnemen
	nOpacity+=.02; // toenemen
	
	imgs2[nIndex].style.display = "block"; // display de nieuwe
	imgs2[current2].xOpacity = cOpacity;
	imgs2[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs2[current2]); 
	setOpacity(imgs2[nIndex]);
	
	if(cOpacity<=0) {
		imgs2[current2].style.display = "none";
    // nieuw plaatje
		current2 = nIndex;
		setTimeout(so_xfade2,5000);
	} else {
    // huidig plaatje
		setTimeout(so_xfade2,100);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
    // misschien loopt die fout bij -0...
		if(obj.xOpacity<0) {
			return;
		}
    
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
	
}