	var arrowImageHeight = 44;
	var displayWaitMessageVertical=true;
	var previewImage = false;
	var previewImageParent = false;
	var slideSpeedVertical = 0;
	var previewImagePane = false;
	var slideEndMarker = false;
	var galleryContainerVertical = false;
	
	var displayWaitMessageHorizontal=true;
  	var activeImage = false;
	var imageGalleryLeftPos = false;
	var imageGalleryWidth = false;
	var imageGalleryObj = false;
	var maxGalleryXPos = false;
	var slideSpeedHorizontal = 0;
	
	function getTopPos(inputObj)
	{		
		var returnValue = inputObj.offsetTop;
		while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetTop;
		return returnValue;
	}
	
	function getLeftPos(inputObj)
	{
		var returnValue = inputObj.offsetLeft;
		while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
		return returnValue;
	}
		
	function showPreviewVertical(newSrc,imageIndex)
	{
		if(!previewImage){
			var images = document.getElementById('previewPane').getElementsByTagName('IMG');
			if(images.length>0){
				previewImage = images[0];
			}else{
				previewImage = document.createElement('IMG');
				document.getElementById('previewPane').appendChild(previewImage);	
			}
		}
		if(displayWaitMessageVertical){
			document.getElementById('waitMessage').style.display='inline';
		}
		previewImage.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };				
		previewImage.src = newSrc;
		
	}
	
	function initSlide(e)
	{
		if(document.all)e = event;
		if(this.src.indexOf('over')<0)this.src = this.src.replace('.gif','-over.gif');
		slideSpeedVertical = e.clientY + Math.max(document.body.scrollTop,document.documentElement.scrollTop) - getTopPos(this);
		if(this.src.indexOf('down')>=0){
			slideSpeedVertical = (slideSpeedVertical)*-1;	
		}else{
			slideSpeedVertical = arrowImageHeight - slideSpeedVertical;
		}
		slideSpeedVertical = Math.round(slideSpeedVertical * 10 / arrowImageHeight);
	}
	
	function stopSlide()
	{		
		slideSpeedVertical = 0;
		this.src = this.src.replace('-over','');
	}
	
	function startSlide(e)
	{
		if(document.all)e = event;
		var id = this.id;
		this.getElementsByTagName('IMG')[0].src = 'images/global/' + this.id + '_over.gif';	
		if(this.id=='arrow_right'){
			slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeedHorizontal = -1*slideSpeedMultiply;
			slideSpeedHorizontal = Math.max(-10,slideSpeedHorizontal);
		}else{			
			slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeedHorizontal = 1*slideSpeedMultiply;
			slideSpeedHorizontal = Math.min(10,slideSpeedHorizontal);
			if(slideSpeedHorizontal<0)slideSpeedHorizontal=10;
		}
	}
	
	function releaseSlide()
	{
		var id = this.id;
		this.getElementsByTagName('IMG')[0].src = 'images/global/' + this.id + '.gif';
		slideSpeedHorizontal=0;
	}
		
	function gallerySlide()
	{
		if(slideSpeedHorizontal!=0){
			var leftPos = imageGalleryObj.offsetLeft;
			leftPos = leftPos/1 + slideSpeedHorizontal;
			if(leftPos>maxGalleryXPos){
				leftPos = maxGalleryXPos;
				slideSpeedHorizontal = 0;
			}
			if(leftPos<minGalleryXPos){
				leftPos = minGalleryXPos;
				slideSpeedHorizontal=0;
			}
			imageGalleryObj.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlide()',20);
	}
	
	function showImage()
	{
		if(activeImage){
			activeImage.style.filter = 'alpha(opacity=70)';	
			activeImage.style.opacity = 0.7;
		}	
		this.style.filter = 'alpha(opacity=100)';
		this.style.opacity = 1;	
		activeImage = this;	
	}
	
	function slidePreviewPane()
	{
		if(slideSpeedVertical!=0){
			var topPos = previewImagePane.style.top.replace(/[^\-0-9]/g,'')/1;	
			if(slideSpeedVertical<0 && slideEndMarker.offsetTop<(previewImageParent.offsetHeight - topPos)){
				slideSpeedVertical=0;
			}
			topPos = topPos + slideSpeedVertical;
			if(topPos>0)topPos=0;
			previewImagePane.style.top = topPos + 'px';
	 	}
	 	setTimeout('slidePreviewPane()',30);		
	}
	
	function showPreviewHorizontal(imagePath,imageIndex){
		var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
		if(subImages.length==0){
			var img = document.createElement('IMG');
			document.getElementById('previewPane').appendChild(img);
		}else img = subImages[0];
		
		if(displayWaitMessageHorizontal){
			document.getElementById('waitMessage').style.display='inline';
		}
		img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
		img.src = imagePath;
		
	}
	function hideWaitMessageAndShowCaption(imageIndex)
	{
		document.getElementById('waitMessage').style.display='none';	
	}
	
	function revealThumbnail()
	{
		this.style.filter = 'alpha(opacity=100)';
		this.style.opacity = 1;
	}
	
	function hideThumbnail()
	{
		this.style.filter = 'alpha(opacity=70)';
		this.style.opacity = 0.7;
	}
	
	function initGalleryScript()
	{
		previewImageParent = document.getElementById('theImagesVertical');
		previewImagePane = document.getElementById('theImagesVertical').getElementsByTagName('DIV')[0];
		previewImagePane.style.top = '0px';
		galleryContainerVertical  = document.getElementById('galleryContainer_vertical');
		var images = previewImagePane.getElementsByTagName('IMG');
		for(var no=0;no<images.length;no++){
			images[no].onmouseover = revealThumbnail;
			images[no].onmouseout = hideThumbnail;
		}	
		slideEndMarker = document.getElementById('slideEndVertical');
		document.getElementById('arrow_up_image').onmousemove = initSlide;
		document.getElementById('arrow_up_image').onmouseout = stopSlide;
		document.getElementById('arrow_down_image').onmousemove = initSlide;
		document.getElementById('arrow_down_image').onmouseout = stopSlide;
		
		document.getElementById('arrow_left').onmousemove = startSlide;
		document.getElementById('arrow_left').onmouseout = releaseSlide;
		document.getElementById('arrow_right').onmousemove = startSlide;
		document.getElementById('arrow_right').onmouseout = releaseSlide;
		
		imageGalleryObj = document.getElementById('theImagesHorizontal');
		imageGalleryLeftPos = imageGalleryObj.offsetLeft;
		imageGalleryWidth = document.getElementById('galleryContainer_horizontal').offsetWidth - 80;
		maxGalleryXPos = imageGalleryObj.offsetLeft; 
		minGalleryXPos = imageGalleryWidth - document.getElementById('slideEndHorizontal').offsetLeft;
		var slideshowImages = imageGalleryObj.getElementsByTagName('IMG');
		for(var no=0;no<slideshowImages.length;no++){
			slideshowImages[no].onmouseover = showImage;
		}
		
		slidePreviewPane();
		gallerySlide();
	}
	
	window.onload = initGalleryScript;
	