// JavaScript Document
var _st = window.setTimeout;
var ie = (document.all);

function transition(isEnabled, isRandom, frequency, transition, objPrefix) {
	if(isEnabled) {
		var numPics = document.getElementById(objPrefix + 'picturen').alt;
		var pic1 = document.getElementById(objPrefix + 'picture1');
		var pic2 = document.getElementById(objPrefix + 'picture2');
		setTimeout(crossFade, transition, 100, pic1, pic2, 2, 1, isRandom, frequency, transition, objPrefix);
	}
}

function crossFade(opacity, pic1, pic2, currentPic, prevPic, isRandom, frequency, transition, objPrefix) {
	var pause = document.getElementById('pauseCF');
	var numPics = document.getElementById(objPrefix + 'picturen').alt;
	//var randPic = getRandomPicNum(numPics);
	if(isRandom) {
		var pic1Div = document.getElementById(objPrefix + 'pictureDiv' + prevPic);
		var pic2Div = document.getElementById(objPrefix + 'pictureDiv'  + currentPic);
	}
	else {
		if(currentPic > 1) {
			var pic1Div = document.getElementById(objPrefix + 'pictureDiv' + (currentPic - 1));
			var pic2Div = document.getElementById(objPrefix + 'pictureDiv'  + currentPic);
		}
		else {
			var pic1Div = document.getElementById(objPrefix + 'pictureDiv' + numPics);
			var pic2Div = document.getElementById(objPrefix + 'pictureDiv1');
		}
	}
	var pic1Opacity = opacity;
	var pic2Opacity = 0;
	if(pic1Opacity > 0) {
		if(pause.innerHTML == "Pause") {
			pic1Opacity = opacity - 1;
			pic2Opacity = 100 - opacity + 1;
			if(pic1Opacity < 0) {
				pic1Opacity = 0;
			}
			var pic1OpacityNIE = pic1Opacity/100.0;
			var pic2OpacityNIE = pic2Opacity/100.0;
			if(ie) {
				// IE 5 - 7 opacity.
				pic1.style.filter='alpha(opacity=' + pic1Opacity + ')';
				pic2.style.filter='alpha(opacity=' + pic2Opacity + ')';
				// IE 8 opacity.
				pic1.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + pic1Opacity + ')';
				pic2.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + pic2Opacity + ')';
			}
			else {
				if(pic1OpacityNIE >= 1) {
					pic1OpacityNIE = .999;
				}
				if(pic2OpacityNIE >= 1) {
					pic2OpacityNIE = .999;
				}
				// set the opacity for firefox and netscape
				pic1.style.MozOpacity = pic1OpacityNIE;
				pic2.style.MozOpacity = pic2OpacityNIE;
				// set the opacity for safari prior to 1.2
				pic1.style.KHTMLOpacity = pic1OpacityNIE;
				pic2.style.KHTMLOpacity = pic2OpacityNIE;
				// set the opacity for safari 1.2 and higher and newer firefox
				pic1.style.opacity = pic1OpacityNIE;
				pic2.style.opacity = pic2OpacityNIE;
			}
		}
		setTimeout(crossFade, frequency, pic1Opacity, pic1, pic2, currentPic, prevPic, isRandom, frequency, transition, objPrefix);
		}
	else {
		if(isRandom) {
			prevPic = currentPic;
			currentPic = getRandomPicNum(numPics);
			// If randomizer chooses same number.
			if(currentPic == prevPic) {
				currentPic = getRandomPicNum(numPics);
			}
			// If randomizer chooses same number twice.
			if(currentPic == prevPic) {
				currentPic = getRandomPicNum(numPics);
			}
		}
		else {
			if(currentPic == numPics) {
				currentPic = 1;
			}
			else {
				currentPic++;
			}
		}
		pic1Div = document.getElementById(objPrefix + 'pictureDiv' + currentPic);
		pic1 = document.getElementById(objPrefix + 'picture' + currentPic);
		pic2.style.zIndex = 1000;
		pic1.style.zIndex = 0;
		setTimeout(crossFade, transition, 100, pic2, pic1, currentPic, prevPic, isRandom, frequency, transition, objPrefix);
	}
}

window.setTimeout = function(fRef, mDelay) 
 { 
		if(typeof fRef == "function")
		{  
			var argu = Array.prototype.slice.call(arguments,2); 
			var f = (function(){ fRef.apply(null, argu); }); 
			return _st(f, mDelay); 
		} 
		return _st(fRef,mDelay);
}

function getRandomPicNum(numPics) {
	var rand = Math.floor(Math.random()*numPics);
	if(rand == 0) {
		rand = 1;
	}
	return rand;
}

function cfPause(linkElement) {
	if(linkElement.innerHTML == "Pause") {
		linkElement.innerHTML = "Play";
	}
	else {
		linkElement.innerHTML = "Pause";
	}
}