// JavaScript Document
/*****

Based on :

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, currIx=0, newIx=1; pause=false;
var ixImage=0;
var nextLoaded=0;
var inFade=0;
var FADE_INTER_IMAGE=3000;
var FADE_INTERVAL=10;
var FADE_STEP=.01;
var nFades=0;
function so_init() {
	if(!d.getElementById || !d.createElement) return;
/*	
	css = d.createElement("link");
	css.setAttribute("href","xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);
*/	
	imgs = d.getElementById("fading").getElementsByTagName("img");
	for(i=1;i<imgs.length;i++) 
		imgs[i].xOpacity = 0;

	Preload(imgs[currIx]);
	imgs[currIx].style.display = "block";
	imgs[currIx].xOpacity = .99;
	
	Preload(imgs[newIx]);
	setTimeout(so_xfade,FADE_INTER_IMAGE/2);
}

function so_xfade() {
    if (inFade==0){
		if (nextLoaded==0){
			setTimeout(so_xfade,250);
			return;
		}
	}
	inFade=1;
	
	currOpacity = imgs[currIx].xOpacity;
	newOpacity = imgs[newIx].xOpacity;
	
	currOpacity-=FADE_STEP;
	newOpacity+=FADE_STEP;
	
	imgs[newIx].style.display = "block";
	imgs[currIx].xOpacity = currOpacity;
	imgs[newIx].xOpacity = newOpacity;
	
	setOpacity(imgs[currIx]); 
	setOpacity(imgs[newIx]);
	
	if(currOpacity<=0) {
		imgs[currIx].style.display = "none";
		Preload(imgs[currIx]);
		currIx= newIx;
		newIx=currIx== 0 ? 1 : 0;

		var interval=FADE_INTER_IMAGE;
		if (nFades<10-FADE_INTER_IMAGE/10)
			interval=FADE_INTER_IMAGE/10+nFades;		// Los primeros van rapidos que se entere que esto va cambiando

	//	alert(interval);

		setTimeout(so_xfade,interval);
		inFade=0;
	} else {
		setTimeout(so_xfade,FADE_INTERVAL);
	}
	
	nFades++;
	
	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) + ")";
	}
	
}
function Preload(img){
//debugger;
			img.src=dirImages + "/" + pathsImages[ixImage++];
			if (ixImage>=pathsImages.length)
				ixImage=0;
			nextLoaded=0;
			img.onload=OnLoadImg;
}	
function OnLoadImg(){
	nextLoaded=1;
}

function fadd(path){
		pathsImages.push(path);
}
