   	/***********************************************************************************************
	
	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 = 'modules/mod_jeslideshow3/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 = 'modules/mod_jeslideshow3/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()',50);
		
	}
	
	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;
		
		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,sid){
		imagePath1=liveimgpath+imagePath;
		document.getElementById("jeslideleft").style.display="block";
		document.getElementById("Carousel").style.display="none";
		document.getElementById("big_jeslide").style.display="block";
		document.getElementById("album_link").style.display="block";
		//	fadeOut();
//		var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
//	 document.getElementById('previewPane').src=imagePath;
	var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
	//alert(subImages[0].src);
		if(subImages.length==0){
			var img = document.createElement('IMG');
			
			document.getElementById('previewPane').appendChild(img);
		}		else img = document.getElementById("big_jeslide");//.subImages[2];
		
		if(displayWaitMessage){
			document.getElementById('waitMessage').style.display='inline';
		}
		document.getElementById('scroll1').style.display='none';
		img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1,sid); };
		img.src = imagePath1;
		
		imagePath2=liveimgpath_light+imagePath;
	
		if(in_light==1)
		{			 
			document.getElementById("big_jeslide_link").href=imagePath2;
		}
		else
		{
			document.getElementById("big_jeslide_link").href=document.getElementById("slide_link_"+sid).innerHTML;
		}
		
		
		fadeIn();
		
	}
	
      var duration = 1000;  /* 1000 millisecond fade = 1 sec */
      var steps = 20;       /* number of opacity intervals   */
      var delay = 500;     /* 5 sec delay before fading out */

      
      
	 function setOpacity(level) {
	 var element = document.getElementById('big_jeslide');
        element.style.opacity = level;
        element.style.MozOpacity = level;
        element.style.KhtmlOpacity = level;
		 
        element.style.filter = "alpha(opacity=" + (level * 100) + ");";
      }

      function fadeIn(){
        for (i = 0; i <= 1; i += (1 / steps)) {
          setTimeout("setOpacity(" + i + ")", i * duration);
        }
      //  setTimeout("fadeOut()", delay);
      }

      function fadeOut() {
        for (i = 0; i <= 1; i += (1 / steps)) {
          setTimeout("setOpacity(" + (1 - i) + ")", i * duration);
        }
     //   setTimeout("fadeIn()", duration);
      }

	
	function hideWaitMessageAndShowCaption(imageIndex,sid)
	{
		document.getElementById('waitMessage').style.display='none';	
	//	document.getElementById('scroll1').innerHTML = imageGalleryCaptions[imageIndex];		
//		var jdata=imageGalleryCaptions[imageIndex]
		jdata=document.getElementById("slide_desc_"+sid).innerHTML;
		alld=jdata.split(":");
		document.getElementById('jeslide_title').innerHTML = alld[0];		
		
		document.getElementById('slide_desc').innerHTML = "<div id='scroll1' class='scroll'></div>";
		document.getElementById('scroll1').innerHTML = alld[1];		
		document.getElementById('scroll1').style.display='block';
		 ScrollLoad ("slide_desc", "scroll1", false);
//		 var wndo = new dw_scrollObj('wn', 'scroll1');
	//		wndo.setUpScrollbar("dragBar", "track", "v", 1, 1);
		//	wndo.setUpScrollControls('scrollbar');
		
	}
	 
