/**
* Title: LiveFromCabo Fader javascript
*
* Funciones para permitir el cambio de imagen de header con efecto Fade.
* Cambio de imagen en 3 estados: preload, fadeout y fadein.
*
* category		- scripts
* file			- fader.js
* author		- Pedro Damian Meza Herrera <pmeza@rednaranja.com>
* copyright		- 2008 Pedro Damian Meza Herrera
* version		- 1.0.20080415
* license		- Uso autorizado para sitio web livefromcabo.com de Jose Lima
* link			- http://www.rednaranja.com
*/

var numeroPics=11; // numero de pics disponibles, se reemplazara numero de pic en el nombre,
					// ejemplo: images/header-1.jpg , images/header-2.jpg , ....
var tiempo=2000; // Milisegundos entre fade y fade
var velocidad=1000; // 1000 = un segundo para el fade
var imgAnterior=""; // nombre de img que esta en el background. Evitar duplicados
var nombreImagen="album/#.jpg";	// patron de busqueda para el nombre de la imagen
var imagenId="SlideShow"; // div al que se reemplazara la imagen background


function fader(id, opInicio, opFin, milisegs) {
	//velocidad por frame
	var speed = Math.round(milisegs / 100);
	var timer = 0;

	opInicio=Math.round(opInicio);
	opFin=Math.round(opFin);
	//determine la direccion del fade
	if(opInicio > opFin) delta=-1;
	else if(opInicio < opFin) delta=1;
	else return;

	i = opInicio;
	while(i != opFin) {
		setTimeout("fade(" + i + ",\'" + id + "\')",(timer * speed));
		timer++;
		i=i+delta;
	}
}

//cambiar la opacidad
function fade(opac, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opac / 100);
	object.MozOpacity = (opac / 100);
	object.KhtmlOpacity = (opac / 100);
	object.filter = "alpha(opacity=" + opac + ")";
}

function fadeout(id) {
	fader(id,100,0,velocidad);
}

function fadein(id) {
	fader(id,0,100,velocidad);
}

function imagenAlAzar() {
	var numero = Math.random();
	numero = numero *numeroPics;
	numero = Math.ceil(numero);
	return nombreImagen.replace("#",numero);
	}

function replImg3(img) {
	elemento=document.getElementById(imagenId);
	elemento.style.backgroundImage="url(\'"+img+"\')";
	fadein(imagenId);
	do {
		imgNombre=imagenAlAzar();
	} while(imgNombre==imgAnterior);

	imgAnterior=imgNombre;
	setTimeout("replImg(\'"+imgNombre+"\')",tiempo);
}
	

function replImg2(img) {
	if(pic1.complete==true) {
		fadeout(imagenId);
		setTimeout("replImg3(\'"+img+"\')",velocidad);
		}
	else setTimeout("replImg2(\'"+img+"\')",200);
	}

function replImg(img) {
	if (document.images) {
		pic1.src=img;
		setTimeout("replImg2(\'"+img+"\')",500);
	} else
		document.getElementById(imagenId).style.backgroundImage="url(\'"+img+"\')";
}

var pic1=new Image;
function iniciarFader() {
	replImg(imagenAlAzar());		// Mostrar primer pic
}
