// JavaScript Document

var rwObjectFade = {

	addListeners: function () {
		// set objects
		if (document.getElementById('mainImage')) {
			rwObjectFade.objImage = document.getElementById(rwObjectFade.strImageID);
			
			// preload first two images
			var tmpImage = new Image();
			tmpImage.src = rwObjectFade.strImageLocation + '/1.jpg';

			var tmpImage2 = new Image();
			tmpImage2.src = rwObjectFade.strImageLocation + '/2.jpg';

			rwObjectFade.objImage.src = rwObjectFade.strImageLocation + '/1.jpg';
			
			// set initial transparency
			rwObjectFade.intANIM_Alpha = 100;
			rwObjectFade.objImage.style.opacity = 1;
			rwObjectFade.objImage.style.KhtmlOpacity = 1; 
			rwObjectFade.objImage.style.filter = "alpha(opacity=100)";
	
			rwObjectFade.intCurrent = 1;
			setTimeout(rwObjectFade.fadeOut, 4000);
		}
	},
	
	fadeIn: function (intImage) {
		if (intImage == objImages.intCount) {
			intImage = 1;
			rwObjectFade.intNextImage = 2;
		} else {
			intImage ++;
			rwObjectFade.intNextImage = intImage + 1;
		}
		rwObjectFade.intCurrent = intImage;
		
		if (intImage == objImages.intCount) {
			rwObjectFade.intCycle = 1;
		}
		
		rwObjectFade.objImage.src = rwObjectFade.strImageLocation + intImage + '.jpg';
		
		// set interval
		rwObjectFade.strANIM_State = "fadingIn";
		rwObjectFade.lngInterval = setInterval(rwObjectFade.fadeObjects, 40);
		
		// preload next image
		if (rwObjectFade.intCycle == 0) {
			var tmpImage = new Image();
			tmpImage.src = rwObjectFade.strImageLocation + rwObjectFade.intNextImage + '.jpg';
		}
	},
	
	fadeOut: function () {
		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') {
				// Fade next image in
				clearInterval(rwObjectFade.lngInterval);
				rwObjectFade.fadeIn(rwObjectFade.intCurrent);
			}
			
			if (rwObjectFade.strANIM_State == 'full') {
				// Wait, then fade out
				clearInterval(rwObjectFade.lngInterval);
				setTimeout(rwObjectFade.fadeOut, 4000);
			}
		}
	},
	
	lngInterval: 0,
	intANIM_Speed: 4,
	strANIM_State: "none",
	intANIM_Alpha: 0,
	intCycle: 0,
	objImage: {},
	intNextImage: 0,
	blnInitialised: false,
	strImageID: "mainImage",
	strImageLocation: "./images/scrolling/"
	
};

rwScript.addEvent(window, 'load', rwObjectFade.addListeners, false);
rwScript.addEvent(window, 'unload', EventCache.flush, false);
