// JavaScript Document

var rwObjectFade = {

	addListeners: function () {

		// set objects
		if (document.getElementById('imgMain')) {
			rwObjectFade.objImage = document.getElementById('imgMain');
			
			// preload first two images
			var tmpImage = new Image();
			tmpImage.src = './images/' + eblImages.strFolder + '/1.jpg';
			rwObjectFade.objImage.src = './images/' + eblImages.strFolder + '/1.jpg';

			tmpImage.src = './images/' + eblImages.strFolder + '/2.jpg';

			// set initial transparency
			rwObjectFade.objImage.style.opacity = 0; 
			rwObjectFade.objImage.style.KhtmlOpacity = 0; 
			rwObjectFade.objImage.style.filter = "alpha(opacity=0)";
	
			// set timeout
			rwObjectFade.strANIM_State = "fadingIn";
			rwObjectFade.lngInterval = setInterval(rwObjectFade.fadeObjects, 40);
			
			rwObjectFade.intCurrent = 1;
		}
	},
	
	fadeIn: function() {
		var strNewSource = './images/' + eblImages.strFolder + '/' + eblImages.arrImages[rwObjectFade.intCurrent];
		rwObjectFade.objImage.src = strNewSource;
		rwObjectFade.strANIM_State = "fadingIn";
		rwObjectFade.intCurrent++;
		if (rwObjectFade.intCurrent == eblImages.intCount) {
			rwObjectFade.intCycle = 1;
			rwObjectFade.intCurrent = 0;
		}
		
		// preload next image
		if (rwObjectFade.intCycle == 0) {
			var tmpImage = new Image();
			tmpImage.src = './images/' + eblImages.strFolder + '/' + eblImages.arrImages[rwObjectFade.intCurrent];
		}
	},
	
	fadeOut: function() {
		// set interval
		rwObjectFade.strANIM_State = 'fadingOut';
		rwObjectFade.lngInterval = setInterval(rwObjectFade.fadeObjects, 40);
	},
	
	fadeObjects: function () {
		
		if (rwObjectFade.strANIM_State == "none" || rwObjectFade.strANIM_State == "full") {
			// do nothing
		} else {
			if (rwObjectFade.strANIM_State == 'fadingOut') {
				rwObjectFade.intANIM_Alpha -= (rwObjectFade.intANIM_Speed);
				if (rwObjectFade.intANIM_Alpha <= 0) {
					rwObjectFade.strANIM_State = 'none';
					rwObjectFade.intANIM_Alpha = 0;
				}
			} else if (rwObjectFade.strANIM_State == 'fadingIn') {
				rwObjectFade.intANIM_Alpha += (rwObjectFade.intANIM_Speed);
				if (rwObjectFade.intANIM_Alpha >= 100) {
					rwObjectFade.strANIM_State = 'full';
					rwObjectFade.intANIM_Alpha = 100;
				}
			}
			rwObjectFade.objImage.style.opacity = (rwObjectFade.intANIM_Alpha / 100);
			rwObjectFade.objImage.style.KhtmlOpacity = (rwObjectFade.intANIM_Alpha / 100);
			rwObjectFade.objImage.style.filter = "alpha(opacity=" + rwObjectFade.intANIM_Alpha + ")";
			
			if (rwObjectFade.strANIM_State == 'none') {
				rwObjectFade.fadeIn();
			} else if (rwObjectFade.strANIM_State == 'full') {
				clearInterval(rwObjectFade.lngInterval);
				rwObjectFade.lngTimeout = setTimeout(function() { rwObjectFade.fadeOut(); }, rwObjectFade.intANIM_Persist);
			}
		}
	},
	
	intCycle: 0,
	lngTimeout: 0,
	lngInterval: 0,
	intANIM_Speed: 4,
	strANIM_State: "none",
	intANIM_Alpha: 0,
	intANIM_Persist: 4000,
	intCycle: 0,
	intCurrent: 0,
	objImage: {}
	
};

rwScript.addEvent(window, 'load', rwObjectFade.addListeners, false);
rwScript.addEvent(window, 'unload', EventCache.flush, false);
