(function() {
	
	//set general variables
	var triggerContainer = document.getElementById('print-images');
	var mainImage = document.getElementById('main-image');
	var imageLink = document.getElementById('image-link');
	var imageTitlePlaceholder = document.getElementById('image-title')
	var imageNumber = document.getElementById('image-number');
	var allImageTitles = triggerContainer.getElementsByTagName('img');
	var imageCount = allImageTitles.length;
	
	//get image titles
	for (y = 0; y < allImageTitles.length; y++) {
		allImageTitles[y].getAttribute('title');
	}
			
	var init = function () {						
		initializeOverlay();
		addEventHandlers();
		advanceImage();	
		decreaseImage();		
	};
	
	// creates overlay		
	var initializeOverlay = function () {
		mcd.Overlay.manager.overlays['image-overlay'] = new mcd.Overlay('image-overlay');
			mcd.Overlay.manager.overlays['image-overlay'].configure(
				{position: {y:15,x:15},
					terminators : {"image-overlay-close" : function () {
					return true
					}
				}
			});
			
			mcd.Overlay.manager.overlays['image-overlay'].setPosition();
	};

	var addEventHandlers = function () {
		
		var overlayTriggers = triggerContainer.getElementsByTagName('a');
		for (var i = 0; i < overlayTriggers.length; i++) {
			
			mcd.event.add(overlayTriggers[i], 'click', function(event) {
				mcd.event.preventDefault(event);
				scroll(0,100);
				
				//updates the image title
				imageTitlePlaceholder.innerHTML = this.getAttribute('title');
				
				//finds which image to display and sets title attribute
				var whichDiv = this.href;
				var mainImage = document.getElementById('main-image');
				mainImage.src = whichDiv;
				var mainImageTitle = mainImage.getAttribute('title');
				mainImageTitle = this.getAttribute('title');
				mainImage.setAttribute('title', mainImageTitle);

				//updates the image number
				var num = whichDiv.split('/images/image')[1].split('.jpg')[0];
				imageNumber.innerHTML = num;

				//creates overlay
				mcd.Overlay.manager.overlays['image-overlay'].show()
				
			});
		};
	};
	
	
	var advanceImage = function () {
		var imageForward = document.getElementById('image-forward-link');
		mcd.event.add(imageForward, 'click', function(event) {
			mcd.event.preventDefault(event);
			var imageNumber = document.getElementById('image-number').innerHTML;
			var nextImageNumber = parseFloat(imageNumber)+1;
			nextImageNumber = nextImageNumber.toString();
			if (nextImageNumber == imageCount + 1) {
				nextImageNumber = 1;
			};
			mainImage.src = "/press-room/images/image" + nextImageNumber + ".jpg";
			var imageNumber = document.getElementById('image-number');
			imageNumber.innerHTML = nextImageNumber;
			var imageTitlePlaceholder = document.getElementById('image-title')
			var titleNumber = nextImageNumber - 1;
			imageTitlePlaceholder.innerHTML = allImageTitles[titleNumber].getAttribute('title');
			mainImage.setAttribute('title', imageTitlePlaceholder.innerHTML);
		});
	};
	
	var decreaseImage = function () {
		var imageDecrease = document.getElementById('image-back-link');
		mcd.event.add(imageDecrease, 'click', function(event) {
			mcd.event.preventDefault(event);
			var imageNumber = document.getElementById('image-number').innerHTML;
			var nextImageNumber = parseFloat(imageNumber)-1;
			nextImageNumber = nextImageNumber.toString();
			if (nextImageNumber == 0) {
				nextImageNumber = imageCount;
			};
			mainImage.src = "/press-room/images/image" + nextImageNumber + ".jpg";
			var imageNumber = document.getElementById('image-number');
			imageNumber.innerHTML = nextImageNumber;
			var imageTitlePlaceholder = document.getElementById('image-title')
			var titleNumber = nextImageNumber - 1;
			imageTitlePlaceholder.innerHTML = allImageTitles[titleNumber].getAttribute('title');
			mainImage.setAttribute('title', imageTitlePlaceholder.innerHTML);
		});
	};
	
	
		
	mcd.dom.ready(function() {
		init();
	});
				
})();