function swap (picPlace, changeInterval, picPoolSize, rowNumber, columnNumber, rootAddress, order, setup) {
	if (setup == 0) {
		document.write ('<table style="background-color: #ffffff; border: 0; margin: 10px auto; width: 100%;"><tr><td>');
		document.write ('<center><table style="border: 0;">');
		for (var i = 0; i < rowNumber; i++) {
			document.write ('<tr>');
			for (var j = 1; j <= columnNumber; j++) {
				var label = (i * columnNumber) + j;
				var labelOffset = ((j > picPoolSize) || (label > picPoolSize)) ? label - (Math.floor ((label - 1) / picPoolSize) * picPoolSize) : label;
				var sampler = rootAddress + labelOffset + ".jpg";
				document.write ('<td><img src="' + sampler + '" alt="Thumbnail image of sample photograph" id="pic' + label + '" name="pic' + label + '" style="filter: RevealTrans(Transition=0)" /></td>');
			}
			document.write ('</tr>');
		}
		document.write ('</table><center>');
		document.write ('</td></tr></table>');
	}
	setup++;
	if (setup > picPoolSize) {
		setup = 1;
	}	
	var picTotal = rowNumber * columnNumber;
	var swapMethod = 10;
	var swapBoxInterval = 1;
	if (document.all) {
		userBrowser = "IE";
	}
	else if (!document.all && document.getElementById) {
		userBrowser = "OK";
	}
	else {
		userBrowser = "unsupported";
	}
	var picID = "pic" + picPlace;
	var selectSourceLabel = (order == "sequence") ? setup : rand (picPoolSize);
	var selectSourceName = rootAddress + selectSourceLabel + ".jpg";
	if (userBrowser == "IE") {
		var p = eval ("document.all." + picID);
		p.filters.RevealTrans.Apply ();
		p.filters.RevealTrans.Transition = swapMethod;
		p.filters.RevealTrans.Duration = swapBoxInterval;
		p.src = selectSourceName;
		p.filters.RevealTrans.Play ();
	}
	else if (userBrowser == "OK") {
		var p = eval ('document.getElementById("' + picID + '")');
		p.src = selectSourceName;
	}
	else if (userBrowser == "unsupported") {
		alert ("Your browser doesn't support all features intended for this page!");
	}
	picPlace++;
	if (picPlace > picTotal) {
		picPlace = 1;
	}
	setTimeout ("swap (" + picPlace + ", " + changeInterval + ", " + picPoolSize + ", " + rowNumber + ", " + columnNumber + ", '" + rootAddress + "', '" + order + "', " + setup + ")", changeInterval);
}
