// JavaScript Document

var rwObjectFade = {

	addListeners: function () {

		// set objects
		if (document.getElementById('prjExisting')) {
			rwObjectFade.objImage = document.getElementById('prjExisting');
			
			// preload first image
			var tmpImage = new Image();
			tmpImage.src = './images/projects/' + amgExisting.strProject + '/existing/1.jpg';
			rwObjectFade.objImage.src = './images/projects/' + amgExisting.strProject + '/existing/1.jpg';
			
			// set initial transparency
			rwObjectFade.objImage.style.opacity = 0;
			rwObjectFade.objImage.style.KhtmlOpacity = 0; 
			rwObjectFade.objImage.style.filter = "alpha(opacity=0)";
	
			rwObjectFade.intCurrent = 1;
		}
		rwObjectFade.blnInitialised = true;
	},
	
	fadeIn: function (intImage) {
		if (rwObjectFade.blnInitialised != true) {
			rwObjectFade.addListeners();
		}

		if (intImage == amgExisting.intCount) {
			intImage = 1;
			rwObjectFade.intNextImage = 2;
		} else {
			intImage ++;
			rwObjectFade.intNextImage = intImage + 1;
		}
		
		
		if (intImage == amgExisting.intCount - 1) {
			rwObjectFade.intCycle = 1;
		}
		
		rwObjectFade.objImage.src = './images/projects/' + amgExisting.strProject + '/existing/' + intImage + '.jpg';
		
		// set interval
		rwObjectFade.lngInterval = setInterval(rwObjectFade.fadeObjects, 40);
		rwObjectFade.strANIM_State = "fadingIn";
		
		// preload next image
		if (rwObjectFade.intCycle == 0) {
			var tmpImage = new Image();
			tmpImage.src = './images/projects/' + amgExisting.strProject + '/existing/' + rwObjectFade.intNextImage + '.jpg';
		}
	},
	
	fadeOut: function () {
		rwObjectFade.lngInterval = setInterval(rwObjectFade.fadeObjects, 40);
		rwObjectFade.strANIM_State = 'fadingOut';
	},
	
	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.strANIM_State == 'full') {
				clearInterval(rwObjectFade.lngInterval);
				// Wait for call from Flash function
			}
		}
	},
	
	lngInterval: 0,
	intANIM_Speed: 4,
	strANIM_State: "none",
	intANIM_Alpha: 0,
	intCycle: 0,
	objImage: {},
	intNextImage: 0,
	blnInitialised: false
	
};

rwScript.addEvent(window, 'unload', EventCache.flush, false);
