/**
 * @version		1.0.1 - 18 juli 2008
 * 
 * @copyright	1.0.1,	18 juli 2008,	Jan Niemantsverdriet,	Aantal fades tegelijkertijd instelbaar gemaakt
 * @copyright	1.0.0,	16 juli 2008,	Rob Ruigrok,			Gemaakt
 *
 * Afhankelijk van check.js
 */

/**
 * @var array				de id's van de afbeeldingen
 */
var aImageArray = new Array;

/**
 * @var integer				het aantal miliseconden dat een fade mag duren
 */
var iFadeTime;

/**
 * @var integer				het aantal afbeeldingen dat tegelijk in mag faden
 */
var iFadeNr;

/**
 * @var integer				het aantal miliseconden voordat de pagina opnieuw wordt geladen
 */
var iReloadTime;

/**
 * Start de fade in van de afbeeldingen
 * 
 * @param integer a_iFadeTime				het aantal miliseconden dat een fade er over mag doen
 * @param integer a_iFadeNr					het aantal afbeeldingen dat tegelijk ma infaden
 * @param integer a_iReloadTime				het aantal seconden voordat de pagina opnieuw wordt geladen
 */
function vStep1(a_iFadeTime, a_iFadeNr, a_iReloadTime)
{
	var i = 0;
	iFadeTime = a_iFadeTime;
	iFadeNr = a_iFadeNr;
	iReloadTime = a_iReloadTime * 1000;
	while (!bIsNull(document.getElementById('block'+i))){
		var divblock = document.getElementById('block'+i);
		var aImgCollection = divblock.getElementsByTagName('img');
		for (var iCounter = 0; iCounter < aImgCollection.length; iCounter++) {
			if (bIsDefined(aImgCollection[iCounter].id)) 
				aImageArray.push(aImgCollection[iCounter].id);
		} 
		i++;
	}
	
	// door elkaar gooien
	for (var iCounter = 0; iCounter < 20; iCounter++) {
		aImageArray.sort(function() {return 0.5 - Math.random()}); 
	}
	
	vStep2();
}

/**
 * Recrusieve functie de iFadeNr afbeeldingen laat infaden
 */
function vStep2() {
	for (var iCounter = 0; iCounter < iFadeNr; iCounter++) {
		if (aImageArray.length == 0) {
			setTimeout('vReloadHamoen()', iReloadTime);
			return;
		}
		var sId = aImageArray.pop();
		vFade(sId, iFadeTime, 10, 100, 0);
	}
	setTimeout('vStep2()', iFadeTime * 1.1);
}

/**
 * Fade een of twee afbeelding twee afbeeldingen uit
 * 
 * @since 1.0.2 - 22 juli 2008
 */
function vSwitch1() {
	var sId1 = "block" + Math.floor(Math.random() * 63);
	var sId2 = "block" + Math.floor(Math.random() * 63);
	var sImageId1 = sGetThumbnailId(sId1);
	var sImageId2 = sGetThumbnailId(sId2);
	if (bIsNull(sImageId1) && bIsNull(sImageId2)) return vSwitch1();
	if (!bIsNull(sImageId1)) vFade(sImageId1, iFadeTime, 10, 0, 100);
	if (!bIsNull(sImageId2)) vFade(sImageId2, iFadeTime, 10, 0, 100);
	setTimeout("vSwitch2('" + sId1 + "', '" + sId2 + "')", iFadeTime * 1.1);
}

/**
 * Wisselt de innerhtml van twee divs om en fade weer in
 * 
 * @param string a_sId1				de id van de eerste div
 * @param string a_sId2				de id van de tweede div
 * @since 1.0.2 - 22 juli 2008
 */
function vSwitch2(a_sId1, a_sId2) {
	var oDiv1 = document.getElementById(a_sId1);
	var oDiv2 = document.getElementById(a_sId2);
	var sTempHTML = oDiv1.innerHTML;
	oDiv1.innerHTML = oDiv2.innerHTML;
	oDiv2.innerHTML = sTempHTML;
	var sImageId1 = sGetThumbnailId(a_sId1);
	var sImageId2 = sGetThumbnailId(a_sId2);
	if (!bIsNull(sImageId1)) vFade(sImageId1, iFadeTime, 10, 100, 0);
	if (!bIsNull(sImageId2)) vFade(sImageId2, iFadeTime, 10, 100, 0);
	setTimeout("vSwitch1()", 2000);
}

/**
 * Geeft de id van de image in de div met opgegeven id
 *
 * @param string a_sId				de id van de image (null als er geen image is)
 * @since 1.0.2 - 22 juli 2008
 */
function sGetThumbnailId(a_sDivId) {
	var oDiv = document.getElementById(a_sDivId);
	if (oDiv.innerHTML == '') return null;
	var aImg = oDiv.getElementsByTagName('IMG');
	return aImg[0].id;
}

/**
 * Herlaad de pagina als de lightbox niet aktief is
 *
 * @since 1.0.2 - 22 juli 2008
 */
function vReloadHamoen() {
	var oDiv = document.getElementById('lbOverlay');
	if (oDiv.style.display == "none") document.location = document.location;
	else setTimeout('vReloadHamoen()', iReloadTime);
}
