   	/***********************************************************************************************
	
	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 = new Array();
	var imageGalleryWidth = new Array();
	var imageGalleryObj = new Array();
	var maxGalleryXPos = new Array();
	var minGalleryXPos = new Array();
	var slideSpeed = 0;
	//var active_gallary = -1;
	var imageGalleryCaptions = new Array();
	var tid = 0;
	function startSlide(e)
	{
		if(document.all){
			e = event;
			e.cancelBubble  = true;
		}
		else e.stopPropagation();
		var id = this.id;
		var arrow = this.id.slice(0,-1);
		active_gallery = this.id.substring(this.id.length-1,this.id.length);
		//console.log(active_gallary);
		this.getElementsByTagName('IMG')[0].src = 'http://www.costerdiamonds.com/assets/cms/File/' + arrow + '_over.gif';	
		if(arrow == 'arrow_right'){
			slideSpeed = -10;
		}else{			
			slideSpeed = 10;
		}
		tid = setInterval('gallerySlide('+active_gallery+')', 20);
		return false;
	}
	
	function releaseSlide(e)
	{
		if(document.all){
			e = event;
			e.cancelBubble  = true;
		}
		else e.stopPropagation();
		var id = this.id;
		var arrow = this.id.slice(0,-1);
		active_gallary = this.id.substring(this.id.length-1,this.id.length);
		this.getElementsByTagName('IMG')[0].src = 'http://www.costerdiamonds.com/assets/cms/File/' + arrow + '.gif';
		slideSpeed=0;
		clearInterval(tid);
		return false;
	}
		
	function gallerySlide(active_gallary)
	{
		if(slideSpeed != 0 ){
			var slideshowImages = imageGalleryObj['g_'+active_gallary].getElementsByTagName('IMG');
			for(var no=0;no<slideshowImages.length;no++){
				slideshowImages[no].onmouseover = showImage;
			}
			
			var divs = imageGalleryObj['g_'+active_gallary].getElementsByTagName('DIV');
			for(var no=0;no<divs.length;no++){
				if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
			}
		
			var leftPos = imageGalleryObj['g_'+active_gallary].offsetLeft;
			leftPos = leftPos/1 + slideSpeed;
			if(leftPos > maxGalleryXPos['g_'+active_gallary]){
				leftPos = maxGalleryXPos['g_'+active_gallary];
				slideSpeed = 0;
				clearInterval(tid);
				document.getElementById('arrow_left'+active_gallary).style.display = 'none';
			}
			else document.getElementById('arrow_left'+active_gallary).style.display = 'block';
			if(leftPos < minGalleryXPos['g_'+active_gallary]){
				leftPos = minGalleryXPos['g_'+active_gallary];
				slideSpeed=0;
				clearInterval(tid);
				document.getElementById('arrow_right'+active_gallary).style.display = 'none';
			}
			else document.getElementById('arrow_right'+active_gallary).style.display = 'block';
			
			imageGalleryObj['g_'+active_gallary].style.left = leftPos + 'px';
		}
	}
	
	function showImage()
	{
		if(activeImage){
			activeImage.style.filter = 'alpha(opacity=100)';	
			activeImage.style.opacity = 1;
		}	
		this.style.filter = 'alpha(opacity=100)';
		this.style.opacity = 1;	
		activeImage = this;	
	}
	
	function initSlideShow()
	{
		for(var no = 0 ; no < 3; no++){
			//alert(no +'='+document.getElementById('theImages'+no).getElementsByTagName('IMG').length);
			
			if(document.getElementById('theImages'+no).getElementsByTagName('IMG').length > 5){
				document.getElementById('arrow_left'+no).onmouseover = startSlide;
				document.getElementById('arrow_left'+no).onmouseout = releaseSlide;
				document.getElementById('arrow_right'+no).onmouseover = startSlide;
				document.getElementById('arrow_right'+no).onmouseout = releaseSlide;
				//console.log('g_'+no);
				imageGalleryObj['g_'+no] = document.getElementById('theImages'+no);
				imageGalleryLeftPos['g_'+no] = imageGalleryObj['g_'+no].offsetLeft;;
				imageGalleryWidth['g_'+no] = document.getElementById('galleryContainer'+no).offsetWidth;
				maxGalleryXPos['g_'+no] = imageGalleryObj['g_'+no].offsetLeft;
				minGalleryXPos['g_'+no] = imageGalleryWidth['g_'+no] - document.getElementById('slideEnd'+no).offsetLeft+5;
			}
			else {
				document.getElementById('arrow_right'+no).style.display = 'none';
			}
			document.getElementById('arrow_left'+no).style.display = 'none';
				
		}
		
		//gallerySlide();
	}
	
	function showPreview(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(displayWaitMessage){
			document.getElementById('waitMessage').style.display='inline';
		}
		document.getElementById('largeImageCaption').style.display='none';
		img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
		img.src = imagePath;
		
	}
	function hideWaitMessageAndShowCaption(imageIndex)
	{
		document.getElementById('waitMessage').style.display='none';	
		document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
		document.getElementById('largeImageCaption').style.display='block';
		
	}
	window.onload = initSlideShow;