		var sProjectList = '';
		var arrEl = new Array()
		var arrItem = new Array()
		var arrImgSrc = new Array()
		var iItems = 0
		var iPos = 0
		var sPath = ""
		var sID
		var iWidth = 400
		var iHeight = 400
		var iFirstW = 0
		var iFirstH = 0
		

		function openWindow(id,sTitle,sDate,sRPath,wi,he,sProject) {
			sID = id
			sPath = sRPath;
			iFirstW = wi;
			iFirstH = he;
			iPos = 0
			iItems = 0
			closeWindow();
			
			displayLoading();
			var objWindow = document.getElementById("popupwindow")
			scale(-1);
			objWindow.style.display = 'block';
			var objTest = document.getElementById("galleryContent")
			objTest.style.display = '';
			
						
			if (sTitle != ""){
				var objTitle = document.getElementById("windowTitle")
				objTitle.innerHTML = sTitle
			} else {
				var objTitle = document.getElementById("windowTitle")
				objTitle.innerHTML = "";
			}
			
			
			if (sProject != '') {
				sProjectList = sProject
				
				var loader = displayGallery();
				
			}
		
			scale(loader);
								
		}
		
		
		
		function displayLoading() {
			var objOverlay = document.getElementById(sID)
			var objLoadingImage = document.getElementById('loadingImage');
			var arrayPageSize = getPageSize();
			var arrayPageScroll = getPageScroll();
			
			// set height of Overlay to take up whole page and show
			objOverlay.style.height = (arrayPageSize[1] + 'px');
			objOverlay.style.display = 'block';
			
			
			//alert('pageWidth:' + arrayPageSize[0] + ' pageHeight:' + arrayPageSize[1] + ' winWidth:' + arrayPageSize[2] + ' winHeight:' + arrayPageSize[3])
			// center loadingImage if it exists
			//objLoadingImage.style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - objLoadingImage.height) / 2) + 'px');
			//objLoadingImage.style.left = (((arrayPageSize[0] - 20 - objLoadingImage.width) / 2) + 'px');
			//objLoadingImage.style.display = 'block';
			
		}
		
		function scale(loader) {
			var objOverlay = document.getElementById(sID)
			var objWindow = document.getElementById("popupwindow")
			//var objWindowDetails = document.getElementById("windowDetails")
			var objGallery = document.getElementById("gallery")
			var objGalleryContent = document.getElementById("galleryContent")
			var objLoadingImage = document.getElementById('loadingImage');
			var objIframe = document.getElementById('framecontent');
			var objCloseDiv = document.getElementById('closediv');
			var objPreDiv = document.getElementById('prediv');
			
			var arrayPageSize = getPageSize();
			var arrayPageScroll = getPageScroll();
			//alert('pageWidth:' + arrayPageSize[0] + ' pageHeight:' + arrayPageSize[1] + ' winWidth:' + arrayPageSize[2] + ' winHeight:' + arrayPageSize[3])


			if (loader != -1) {
				iWidth = arrImgSrc[loader].width
				iHeight = arrImgSrc[loader].height
				
			} 
			
			if (iPos == 1) {
				iWidth = iFirstW
				iHeight = iFirstH
			}
			
			var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - iHeight) / 2);
			var lightboxLeft = ((arrayPageSize[2] - 20 - iWidth) / 2);
		
			objWindow.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
			objWindow.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";

			//objWindowDetails.style.width = loader.width + 'px';
			objWindow.style.width = iWidth + 'px';
			objGallery.style.width = iWidth + 'px';
			objGalleryContent.style.width = iWidth + 'px';
			objIframe.style.width = iWidth + 'px';
			objIframe.style.height = iHeight + 'px';
			
			objCloseDiv.style.width = ((iWidth)/2) - 70 + 'px';
			
				
				
			
		}
		
		
		
		function displayGallery() {
			var arrEl = sProjectList.split(';');
			iItems = arrEl.length
			iPos = 1
						
			for (counter in arrEl) {
				arrImgSrc[counter] = new Image();
				arrImgSrc[counter].src = sPath + arrEl[counter];
			}
			
			
			var sType = getType(arrImgSrc[0].src)
			if ((sType != 'jpg') && (sType != 'htm')) {
				alert("Invalid file type!")
				return false
			}
			

			if (iItems > 1) {
				var objN = document.getElementById("next")
				objN.style.display = "";
			}
			
			var loader = insertFile(sType, 0)
			return loader
		
		}
		
		function getType(item) {
			var sType = item.slice((item.length)-3)
			return sType
		}
		
		function moveGallery(dir) {
		
			var arrEl = sProjectList.split(';');
			iPos = iPos + dir
			
			//alert(iPos)
			
			//arrItem = arrEl[iPos-1].split('|')
			var sType = getType(arrImgSrc[iPos-1].src)
			if ((sType != 'jpg') && (sType != 'htm')) {
				alert("Invalid file type!")
				return false
			}
			
			//alert(iPos + '<' + iItems)
			if (iPos < iItems) {
				var objN = document.getElementById("next")
				objN.style.display = "";
			} else {
				var objN = document.getElementById("next")
				objN.style.display = "none";
			}
			if (iPos > 1) {
				var objN = document.getElementById("pre")
				objN.style.display = "";
			} else {
				var objN = document.getElementById("pre")
				objN.style.display = "none";
			}
			
			var loader = insertFile(sType,iPos-1)
			
			scale(loader);
		
		}
		
		function insertFile(type, pos) {
			
			if (type == 'jpg') {
				//var preLoad = new Image()
				//preLoad.src = sPath + arrItem[0];
				
				arrImgSrc[pos].onLoad=imageLoaded(pos)
								
				var objGC = document.getElementById("galleryFiles")
				objGC.style.display = 'none';

				return pos	
			}

			if (type == 'htm') {
				var objContent = document.getElementById("framecontent")
				objContent.src = arrImgSrc[pos].src;
				objContent.style.display = "block";
			
				var objGC = document.getElementById("galleryContent")
				objGC.style.display = 'none';
				var objGC = document.getElementById("galleryFiles")
				objGC.style.display = 'block';
				
				return -1;
			
			}
		}
		
		function imageLoaded(pos) {
			var objContent = document.getElementById("galleryContent")
			objContent.innerHTML = '<img src="' + arrImgSrc[pos].src + '">';
			objContent.style.display = "block";
			return
		}
		
		function closeWindow() {
			var objOverlay = document.getElementById(sID)
			var objWindow = document.getElementById("popupwindow")
			var objN = document.getElementById("next")
			var objP = document.getElementById("pre")
			var objTitle = document.getElementById("windowTitle")
			var objIframe = document.getElementById('framecontent');
			
			objIframe.src = "";
			objOverlay.style.display = 'none';
			objWindow.style.display = 'none';
			objN.style.display = "none";
			objP.style.display = "none";
			objTitle.innerHTML = "";
		}
		
		
		function getPageSize(){
	
			var xScroll, yScroll;
			
			if (window.innerHeight && window.scrollMaxY) {	
				xScroll = document.body.scrollWidth;
				yScroll = window.innerHeight + window.scrollMaxY;
			} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
				xScroll = document.body.scrollWidth;
				yScroll = document.body.scrollHeight;
			} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
				xScroll = document.body.offsetWidth;
				yScroll = document.body.offsetHeight;
			}
			
			var windowWidth, windowHeight;
			if (self.innerHeight) {	// all except Explorer
				windowWidth = self.innerWidth;
				windowHeight = self.innerHeight;
			} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
				windowWidth = document.documentElement.clientWidth;
				windowHeight = document.documentElement.clientHeight;
			} else if (document.body) { // other Explorers
				windowWidth = document.body.clientWidth;
				windowHeight = document.body.clientHeight;
			}	
			
			// for small pages with total height less then height of the viewport
			if(yScroll < windowHeight){
				pageHeight = windowHeight;
			} else { 
				pageHeight = yScroll;
			}

			// for small pages with total width less then width of the viewport
			if(xScroll < windowWidth){	
				pageWidth = windowWidth;
			} else {
				pageWidth = xScroll;
			}

			arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
			return arrayPageSize;
		}
		
		function getPageScroll(){

			var yScroll;

			if (self.pageYOffset) {
				yScroll = self.pageYOffset;
			} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
				yScroll = document.documentElement.scrollTop;
			} else if (document.body) {// all other Explorers
				yScroll = document.body.scrollTop;
			}

			arrayPageScroll = new Array('',yScroll) 
			return arrayPageScroll;
		}
		
		function pause(numberMillis) {
			var now = new Date();
			var exitTime = now.getTime() + numberMillis;
			while (true) {
				now = new Date();
				if (now.getTime() > exitTime)
					return;
			}
		}
