	var opacitySpeed = 2;	// Speed of opacity - switching between large images - Lower = faster
	var opacitySteps = 10; 	// Also speed of opacity - Higher = faster
	var slideSpeed = 5;	// Speed of thumbnail slide - Lower = faster
	var slideSteps = 8;	// Also speed of thumbnail slide - Higher = faster
	var columnsOfThumbnails = 4;	// Hardcoded number of thumbnail columns, use false if you want the script to figure it out dynamically.
	
	/* Don't change anything below here */
	var PHgallery_largeImage = false;
	var PHgallery_imageToShow = false;
	var PHgallery_currentOpacity = 100;
	var PHgallery_slideWidth = false;
	var PHgallery_thumbTotalWidth = false;
	var PHgallery_viewableWidth = false;
	
	var currentUnqiueOpacityId = false;
	var PHgallery_currentActiveImage = false;
	var PHgallery_thumbDiv = false;
	var PHgallery_thumbSlideInProgress = false;
	
	var browserIsOpera = navigator.userAgent.indexOf('Opera')>=0?true:false;
	var leftArrowObj;
	var rightArrowObj;
	var thumbsColIndex = 1;
	var thumbsLeftPos = false;
	
	function initGalleryScript()
	{
		leftArrowObj = document.getElementById('PHgallery_leftArrow');		
		leftArrowObj.style.visibility='hidden';
		rightArrowObj = document.getElementById('PHgallery_rightArrow');	
		leftArrowObj.style.cursor = 'pointer';	
		rightArrowObj.style.cursor = 'pointer';	
		leftArrowObj.onclick = moveThumbnails;
		rightArrowObj.onclick = moveThumbnails;
		PHgallery_largeImage = document.getElementById('PHgallery_largeImage').getElementsByTagName('IMG')[0];
		var innerDiv = document.getElementById('PHgallery_thumbs_inner');
		PHgallery_slideWidth = innerDiv.getElementsByTagName('DIV')[0].offsetWidth;
		PHgallery_thumbDiv = document.getElementById('PHgallery_thumbs_inner');
		PHgallery_thumbDiv.style.left = '0px';
		
		var subDivs = PHgallery_thumbDiv.getElementsByTagName('DIV');
		PHgallery_thumbTotalWidth = 0;
		var tmpLeft = 0;
		for(var no=0;no<subDivs.length;no++){
			if(subDivs[no].className=='strip_of_thumbnails'){
				PHgallery_thumbTotalWidth = PHgallery_thumbTotalWidth + PHgallery_slideWidth;
				subDivs[no].style.left = tmpLeft + 'px';
				subDivs[no].style.top = '0px';
				tmpLeft = tmpLeft + subDivs[no].offsetWidth;
			}
		}

		PHgallery_viewableWidth = document.getElementById('PHgallery_thumbs').offsetWidth;
		
		
		PHgallery_currentActiveImage = PHgallery_thumbDiv.getElementsByTagName('A')[0].getElementsByTagName('IMG')[0];
		PHgallery_currentActiveImage.className='activeImage';
	}
	
	function moveThumbnails()
	{
		if(PHgallery_thumbSlideInProgress)return;
		PHgallery_thumbSlideInProgress = true;
		if(this.id=='PHgallery_leftArrow'){
			thumbsColIndex--;
			rightArrowObj.style.visibility='visible';
			if(PHgallery_thumbDiv.style.left.replace('px','')/1>=0){
				leftArrowObj.style.visibility='hidden';
				PHgallery_thumbSlideInProgress = false;
				return;
			}
			
			slideThumbs(slideSteps,0);
			
		}else{
			thumbsColIndex++;
			leftArrowObj.style.visibility='visible';
			var left = PHgallery_thumbDiv.style.left.replace('px','')/1;	
			var showArrow = true;
			if(PHgallery_thumbTotalWidth + left - PHgallery_slideWidth <= PHgallery_viewableWidth)showArrow = false;
			if(columnsOfThumbnails)showArrow = true;
				
			if(!showArrow)	
			{
				rightArrowObj.style.visibility='hidden';
				PHgallery_thumbSlideInProgress = false;
				return;
			}	
			
			slideThumbs((slideSteps*-1),0);
		}	
		
	}
	
	function slideThumbs(speed,currentPos)
	{
		var leftPos;
		if(thumbsLeftPos){
			leftPos= thumbsLeftPos;
		}else{
			var leftPos = PHgallery_thumbDiv.style.left.replace('px','')/1;
			thumbsLeftPos = leftPos;
		}
		currentPos = currentPos + Math.abs(speed);		
		var tmpLeftPos = leftPos;
		leftPos = leftPos + speed;
		thumbsLeftPos = leftPos;
		PHgallery_thumbDiv.style.left = leftPos + 'px';
		if(currentPos<PHgallery_slideWidth)setTimeout('slideThumbs(' + speed + ',' + currentPos + ')',slideSpeed);else{
			if(tmpLeftPos>=0 || (columnsOfThumbnails && thumbsColIndex==1)){
				document.getElementById('PHgallery_leftArrow').style.visibility='hidden';
			}	
			var left = tmpLeftPos;		
			var showArrow = true;
			if(PHgallery_thumbTotalWidth + left - PHgallery_slideWidth <= PHgallery_viewableWidth)showArrow=false;
			if(columnsOfThumbnails){
				if((thumbsColIndex+1)<columnsOfThumbnails)showArrow=true; else showArrow = false;				
			}			
			if(!showArrow){
				document.getElementById('PHgallery_rightArrow').style.visibility='hidden';
			}					
			PHgallery_thumbSlideInProgress = false;
		}
	
	}
	
	function showPreview(imagePath,inputObj)
	{		
		if(PHgallery_currentActiveImage){
			if(PHgallery_currentActiveImage==inputObj.getElementsByTagName('IMG')[0])return;
			PHgallery_currentActiveImage.className='';
		}
		PHgallery_currentActiveImage = inputObj.getElementsByTagName('IMG')[0];
		PHgallery_currentActiveImage.className='activeImage';
		
		PHgallery_imageToShow = imagePath;
		var tmpImage = new Image();
		tmpImage.src = imagePath;
		currentUnqiueOpacityId = Math.random();
		moveOpacity(opacitySteps*-1,currentUnqiueOpacityId);
	}
	
	function setOpacity()
	{
		if(document.all)
		{
			PHgallery_largeImage.style.filter = 'alpha(opacity=' + PHgallery_currentOpacity + ')';
		}else{
			PHgallery_largeImage.style.opacity = PHgallery_currentOpacity/100;
		}		
	}
	function moveOpacity(speed,uniqueId)
	{
		
		if(browserIsOpera){
			PHgallery_largeImage.src = PHgallery_imageToShow;
			return;
		}
		
		PHgallery_currentOpacity = PHgallery_currentOpacity + speed;
		if(PHgallery_currentOpacity<=5 && speed<0){
		
			var tmpParent = PHgallery_largeImage.parentNode; 
			PHgallery_largeImage.parentNode.removeChild(PHgallery_largeImage);
			PHgallery_largeImage = document.createElement('IMG');
			tmpParent.appendChild(PHgallery_largeImage);
			setOpacity();
			PHgallery_largeImage.src = PHgallery_imageToShow;
		
			speed=opacitySteps;
		}
		if(PHgallery_currentOpacity>=99 && speed>0)PHgallery_currentOpacity=99;		
		setOpacity();	
		if(PHgallery_currentOpacity>=99 && speed>0)return;		
		if(uniqueId==currentUnqiueOpacityId)setTimeout('moveOpacity(' + speed + ',' + uniqueId + ')',opacitySpeed);		
	}
