/* shwFade.js (c)2008 SugarHill Works LLC - http://www.sugarhillworks.com */
/* v20081120_AR_1 [auto-run, no user controls, no thumbs, single init] */


var ss_interval = [];
// -------- SETTINGS -----------

//----- init the slideshows
addEvent(window, 'load', function() { 
	window.setTimeout("multi_ss_init('"+ssns[0]+"')", (500));
//	multi_ss_init(ssns[0]);
	ss_interval[ssns[0]] = 2500;
});
addEvent(window, 'load', function() { 
	window.setTimeout("multi_ss_init('"+ssns[1]+"')", (6000));
//	multi_ss_init(ssns[1]);
	ss_interval[ssns[1]] = 3000;
});
addEvent(window, 'load', function() { 
	window.setTimeout("multi_ss_init('"+ssns[2]+"')", (9000));
//	multi_ss_init(ssns[2]);
	ss_interval[ssns[2]] = 3000;
});
addEvent(window, 'load', function() { 
	window.setTimeout("multi_ss_init('"+ssns[3]+"')", (12000));
//	multi_ss_init(ssns[3]);
	ss_interval[ssns[3]] = 3000;
});
//addEvent(window, 'load', function() { 
//	window.setTimeout("multi_ss_init('"+ssns[0]+"')", (4000));
////	multi_ss_init(ssns[0]);
//	ss_interval[ssns[0]] = 2500;
//});
//addEvent(window, 'load', function() { 
//	window.setTimeout("multi_ss_init('"+ssns[1]+"')", (8000));
////	multi_ss_init(ssns[1]);
//	ss_interval[ssns[1]] = 4000;
//});
//addEvent(window, 'load', function() { 
//	window.setTimeout("multi_ss_init('"+ssns[2]+"')", (12000));
////	multi_ss_init(ssns[2]);
//	ss_interval[ssns[2]] = 4000;
//});
//addEvent(window, 'load', function() { 
//	window.setTimeout("multi_ss_init('"+ssns[3]+"')", (16000));
////	multi_ss_init(ssns[3]);
//	ss_interval[ssns[3]] = 4000;
//});

// randomize the order
//imageFilenames.sort( randOrd );

// -----------------------------

var imgs = [];
var ssRunning = [];
var fadeComplete = [];
var ss_p = [];
var info_divs = [], info_h5s = [], info_ps = [], hasInfo = [];
var ssn = [];
var ssCount = [];
// = slideshow[ss_p_id].length;
//var ss_p_id = [];
function multi_ss_init(ss_p_id) {
	imgs[ss_p_id] = [];
	ssRunning[ss_p_id] = null; 
	fadeComplete[ss_p_id] = true;
	ss_p[ss_p_id] = [];
	ssn[ss_p_id] = slideshow[ss_p_id].length;
	ssCount[ss_p_id] = 0;
	info_divs[ss_p_id] = [];
	info_h5s[ss_p_id] = [];
	info_ps[ss_p_id] = [];
	hasInfo[ss_p_id] = [];	
	ss_init(ss_p_id);
}

function ss_init(ss_p_id) {
	if (!d.getElementById || !d.createElement) {
		return;
	}
	ss_p[ss_p_id] = d.getElementById(ss_p_id);
	if (slideshow[ss_p_id][0].info) { hasInfo[ss_p_id] = true; } else { hasInfo[ss_p_id] = false; }

	for (var i = 0; i < ssn[ss_p_id]; i++) {
		imgs[ss_p_id][i] = d.createElement('img');
//		imgs[ss_p_id][i].id = 'ss_img_' + i;
		imgs[ss_p_id][i].src = slideshow[ss_p_id].sPicsFolder + slideshow[ss_p_id][i].image;
	}
	
	if (hasInfo[ss_p_id] === true) {
		for (var i = 0; i < ssn[ss_p_id]; i++) {
			if(d.getElementById(ss_p_id + '_default_info')) { ss_p[ss_p_id].removeChild(d.getElementById(ss_p_id + '_default_info')); }
			info_divs[ss_p_id][i] = d.createElement('div');
			info_divs[ss_p_id][i].className = ss_p_id + '_info';
			info_h5s[ss_p_id][i] = d.createElement('h5');
			if (slideshow[ss_p_id][i].caption !== '') {
				info_h5s[ss_p_id][i].innerHTML = slideshow[ss_p_id][i].caption;
			} else { info_h5s[ss_p_id][i].innerHTML = '&nbsp;' }
			info_ps[ss_p_id][i] = d.createElement('p');
			info_ps[ss_p_id][i].innerHTML = slideshow[ss_p_id][i].info;
			info_divs[ss_p_id][i].appendChild(info_h5s[ss_p_id][i]);
			info_divs[ss_p_id][i].appendChild(info_ps[ss_p_id][i]);
//			info_p[ss_p_id].id = 'ss_info_p_' + i;
		}
	} 

	// setup image styles
	for (var i = 0; i < imgs[ss_p_id].length; i++) {
		var img = imgs[ss_p_id][i];
		var info_div = info_divs[ss_p_id][i];
		if (i === 0) {
			img.xOpacity = 0.99;
			img.style.filter = "alpha(opacity=99)";
			img.style.MozOpacity = "0.99";
			img.style.opacity = "0.99";
			ss_p[ss_p_id].appendChild(img);
			if (hasInfo[ss_p_id]) {
				info_div.xOpacity = 0.99;
				info_div.style.filter = "alpha(opacity=99)";
				info_div.style.MozOpacity = "0.99";
				info_div.style.opacity = "0.99";
				ss_p[ss_p_id].appendChild(info_div);
			}
		}
		else {
			img.xOpacity = 0;
			img.style.filter = "alpha(opacity=0)";
			img.style.MozOpacity = "0";
			img.style.opacity = "0";
			if (hasInfo[ss_p_id]) {
				info_div.xOpacity = 0;
				info_div.style.filter = "alpha(opacity=0)";
				info_div.style.MozOpacity = "0";
				info_div.style.opacity = "0";
			}
		}
	}
	//start slideshow
	safeStart(1,ss_p_id);
	return ssRunning[ss_p_id];
}
function safeStart(n,ss_p_id) {
	if (n >= imgs[ss_p_id].length) { //this code block only happens when all the images have loaded.
		if (fadeComplete[ss_p_id] === true) {
			if (ssRunning[ss_p_id]) { clearTimeout(ssRunning[ss_p_id]); }
			getImgsToFade(0, ss_p_id);
			return;
		} else {
			window.setTimeout("safeStart("+n+",'"+ss_p_id+"')", 25);
			return n;
		}
	}
	if (imgs[ss_p_id][n].complete === false) {
		window.setTimeout("safeStart("+n+",'"+ss_p_id+"')", 250);
	} else {
		n++;
		safeStart(n, ss_p_id);
	}
}

function getImgsToFade(current, ss_p_id) {
	var fadingOut = current, fadingIn;//,fadingIn_info;
	fadingIn = imgs[ss_p_id][current+1]?current+1:0;
//	fadingIn_info = info_divs[ss_p_id][current+1]?current+1:0;
	ss_p[ss_p_id].appendChild(imgs[ss_p_id][fadingIn]);
	if(hasInfo[ss_p_id] === true) {
		ss_p[ss_p_id].appendChild(info_divs[ss_p_id][fadingIn]);
	}
	ssRunning[ss_p_id] = window.setTimeout("shw_fade("+fadingOut+","+fadingIn+",'"+ss_p_id+"');", ss_interval[ss_p_id]);
	// to 'toggle the slideshow panels, reset the interval...
	if(ss_p_id !== ssns[0]) {
		if(ss_interval[ss_p_id] < 12000) { ss_interval[ss_p_id] = 12000; }
	}
	return ssRunning[ss_p_id];
}
	



function shw_fade(fOut,fIn,ss_p_id) { 
	var fading, fadingOut = imgs[ss_p_id][fOut], fadingIn = imgs[ss_p_id][fIn], fadingOutInfo = info_divs[ss_p_id][fOut], fadingInInfo = info_divs[ss_p_id][fIn];
	if (fOut == fIn) {
		return;
	}
	if (!fadingIn) {
		return;
	}
	cOpacity = fadingOut.xOpacity;
	nOpacity = fadingIn.xOpacity;
	cOpacity -= 0.04; 
	cOpacity.toFixed(2);
	nOpacity += 0.04; 
	nOpacity.toFixed(2);
	fadingOut.xOpacity = cOpacity;
	fadingIn.xOpacity = nOpacity;
	set_Opacity(fadingOut);
	set_Opacity(fadingIn);
	if(hasInfo[ss_p_id] === true) {
		fadingOutInfo.xOpacity = cOpacity;
		fadingInInfo.xOpacity = nOpacity;
		set_Opacity(fadingOutInfo);
		set_Opacity(fadingInInfo);
	}
	if ((cOpacity <= 0) || (nOpacity >= 0.99)) {
		fadingOut.xOpacity = -1;
		fadingIn.xOpacity = 0.99;
		set_Opacity(fadingOut);
		set_Opacity(fadingIn);
		ss_p[ss_p_id].removeChild(fadingOut);
		if(hasInfo[ss_p_id] === true) {
			set_Opacity(fadingOutInfo);
			set_Opacity(fadingInInfo);
			ss_p[ss_p_id].removeChild(fadingOutInfo);
		}
		//------- reset --------
		fOut = fIn;
		fadeComplete[ss_p_id] = true;
		if(ssCount[ss_p_id] == 1) { ss_p[ss_p_id].removeChild(d.getElementById(ss_p_id + '_default_img')); }
		ssCount[ss_p_id] += 1;
		getImgsToFade(fOut,ss_p_id);
		current = fOut;
	} else {
		fadeComplete[ss_p_id] = false;
		fading = window.setTimeout("shw_fade("+fOut+","+fIn+",'"+ss_p_id+"')", 25);
	}
	
	function set_Opacity(obj) {
		if (obj.xOpacity > 0.99) {
			obj.xOpacity = 0.99;
		}
		if (obj.xOpacity < 0) {
			obj.xOpacity = 0;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
}


