   	/***********************************************************************************************
	
	Copyright (c) 2005 - Alf Magne Kalleland post@dhtmlgoodies.com
	
	UPDATE LOG:
	
	March, 10th, 2006 : Added support for a message while large image is loading
	
	Get this and other scripts at www.dhtmlgoodies.com
	
	You can use this script freely as long as this copyright message is kept intact.
	
	***********************************************************************************************/ 
   	
	var displayWaitMessage=true;	// Display a please wait message while images are loading?
  	
   		
	var activeImage = false;
	var imageGalleryLeftPos = false;
	var imageGalleryWidth = false;
	var imageGalleryObj = false;
	var maxGalleryXPos = false;
	var slideSpeed = 0;
	var imageGalleryCaptions = new Array();
	function startSlide(e)
	{
		if(document.all)e = event;
		var id = this.id;
		this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '_over.gif';	
		if(this.id=='arrow_right'){
			slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeed = -1*slideSpeedMultiply;
			slideSpeed = Math.max(-10,slideSpeed);
		}else{			
			slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeed = 1*slideSpeedMultiply;
			slideSpeed = Math.min(10,slideSpeed);
			if(slideSpeed<0)slideSpeed=10;
		}
	}
	
	function releaseSlide()
	{
		var id = this.id;
		this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '.gif';
		slideSpeed=0;
	}
		
	function gallerySlide()
	{
		if(slideSpeed!=0){
			var leftPos = imageGalleryObj.offsetLeft;
			leftPos = leftPos/1 + slideSpeed;
			if(leftPos>maxGalleryXPos){
				leftPos = maxGalleryXPos;
				slideSpeed = 0;
				
			}
			if(leftPos<minGalleryXPos){
				leftPos = minGalleryXPos;
				slideSpeed=0;
			}
			
			imageGalleryObj.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlide()',20);
		
	}
	
	function showImage()
	{
		if(activeImage){
			activeImage.style.filter = 'alpha(opacity=50)';	
			activeImage.style.opacity = 0.5;
		}	
		this.style.filter = 'alpha(opacity=100)';
		this.style.opacity = 1;	
		activeImage = this;	
	}
	
	function initSlideShow()
	{
		/*document.getElementById('arrow_left').onmousemove = startSlide;
		document.getElementById('arrow_left').onmouseout = releaseSlide;
		document.getElementById('arrow_right').onmousemove = startSlide;
		document.getElementById('arrow_right').onmouseout = releaseSlide;   */
		if(document.getElementById('theImages')){
			imageGalleryObj = document.getElementById('theImages');
			imageGalleryLeftPos = imageGalleryObj.offsetLeft;
			imageGalleryWidth = document.getElementById('galleryContainer').offsetWidth - 80;
			maxGalleryXPos = imageGalleryObj.offsetLeft; 
			minGalleryXPos = imageGalleryWidth - document.getElementById('slideEnd').offsetLeft;
			var slideshowImages = imageGalleryObj.getElementsByTagName('IMG');
			for(var no=0;no<slideshowImages.length;no++){
				slideshowImages[no].onmouseover = showImage;
			}
			
			var divs = imageGalleryObj.getElementsByTagName('DIV');
			for(var no=0;no<divs.length;no++){
				if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
			}
			gallerySlide();
		}
	}
	
	function showPreview(imagePath,imageIndex,imageurl,imagename){
        var redigit=/jpg/

        if(imagePath.match(redigit))
        {
		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];
	


		var subA = document.getElementById('previewPane').getElementsByTagName('A');

		if(subA.length==0){
			var a = document.createElement('A');
			document.getElementById('previewPane').appendChild(a);
		}else a = subA[0];
	
	
		if(displayWaitMessage){
			document.getElementById('waitMessage').style.display='inline';
		}
		document.getElementById('largeImageCaption').style.display='none';
		img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1);
 };
 		//alert(imagename);
		
		img.alt =imagename;
		img.title=imagename;
        a.href=imageurl;
        imagename = trim(imagename);
       // if(imagename == '' || imagename == null || !imagename){
        var extension = imagePath.match(redigit);
 
        if(extension == '' || extension == null || !extension){
        	//alert('here');
        	img.src = document.getElementById('base_path').value+'images/image_not_found.jpeg';
        	document.getElementById('largeImage').innerHTML='No caption available';
        } else {
        	img.src = imagePath;
        	document.getElementById('largeImage').innerHTML=imagename;
        }

		}
	}
	function hideWaitMessageAndShowCaption(imageIndex)
	{
		document.getElementById('waitMessage').style.display='none';	
		//document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
		document.getElementById('largeImageCaption').style.display='block';
		
	}
	
	function showPreviewDropdown(imagename){
		var imageArray = imagename.split('###');
		showPreview(imageArray[0]+'-m.jpg','3',imageArray[0]+'-l.jpg',imageArray[1]);
		return false
	}
	
	function showPreviewConfigDropDown(imageinarray) {
		
		var imageArray = imageinarray.split(',');
		var cnt = imageArray.length;
		if(cnt >= 2) {
			
		showPreview(imageArray[6]+'-m.jpg','3',imageArray[6]+'.jpg',imageArray[7]);
		return false;
		}		
	}
	
	window.onload = initSlideShow;

