	/************************************************************************************************************
	(C) www.dhtmlgoodies.com, November 2005
	
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	
	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.
	
	Thank you!
	
	www.dhtmlgoodies.com
	Alf Magne Kalleland
	
	************************************************************************************************************/
	var arrowImageHeight = 18;	// Height of arrow image in pixels;
	var arrowImageWidth = 61; // Height of arrow image in pixels;
	var displayWaitMessage=true;	// Display a please wait message while images are loading?
	
	var bScrollV = true;
	var previewImage = false;
	var previewImageParent = false;
	var slideSpeed = 0;
	var previewImagePane = false;
	var slideEndMarker = false;
	var galleryContainer = false;
	var imageGalleryCaptions = new Array();
	
	var objPreviewPrev = false;
	var objPreviewNext = false;
	
	function initPreviewButtons() {
	  objPreviewPrev = document.getElementById('div_previewPrev');
	  objPreviewNext = document.getElementById('div_previewNext');
	  if (objPreviewPrev) {
	    objPreviewPrev.style.visibility = 'hidden';
	  }
	  if (objPreviewNext) {
      objPreviewNext.style.visibility = 'hidden';
    }
	  refreshPreviewButtons(1);
	}
	
	function refreshPreviewButtons(_intIndex) {
	  
	  if (objPreviewPrev && objPreviewNext) {
	    var images = previewImagePane.getElementsByTagName('IMG');
	    var _newIndex = 1;
      if (_intIndex > 1) {
        _newIndex = _intIndex;
        _newIndex--;
        var objA = objPreviewPrev.getElementsByTagName('A')[0];
        objA.onclick= images[_newIndex-1].parentNode.onclick;
        objA.getElementsByTagName('IMG')[0].src = images[_newIndex-1].src;
        objPreviewPrev.style.visibility = 'visible';
      }
      else {
        objPreviewPrev.style.visibility = 'hidden';
      }                  
      if (_intIndex < images.length ) {
        _newIndex = _intIndex;
        _newIndex++;
        var objA = objPreviewNext.getElementsByTagName('A')[0];
        objA.onclick= images[_newIndex-1].parentNode.onclick;
        objA.getElementsByTagName('IMG')[0].src = images[_newIndex-1].src;
        objPreviewNext.style.visibility = 'visible';
      }
      else {
        objPreviewNext.style.visibility = 'hidden';
      }      
	  }	
	}
	
	
	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 showPreview(newSrc,imageIndex, intUID)
	{
	
	  if (intUID > 0) {
      var objTmp = document.getElementById('linkVoting');
      if (objTmp) {             
        objTmp.onclick = function onclick(event) { return openVotePopup(intUID); };                
        //objTmp.onclick = alert();
      }   
    }
    
		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(displayWaitMessage){
			document.getElementById('waitMessage').style.display='inline';
		}
		document.getElementById('largeImageCaption').style.display='none';
		previewImage.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };				
		previewImage.src = newSrc;
		
		refreshPreviewButtons(imageIndex);
		
	}
	function hideWaitMessageAndShowCaption(imageIndex)
	{
		document.getElementById('waitMessage').style.display='none';	
		document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
		document.getElementById('largeImageCaption').style.display='block';
		
	}	
	
	
	
	
	
	
	
	function initSlide(e)
	{
		if(document.all)e = event;
		
		if(this.src.indexOf('over')<0)this.src = this.src.replace('.gif','-over.gif');
		if (bScrollV) {
      slideSpeed = e.clientX + Math.max(document.body.scrollLeft,document.documentElement.scrollLeft) - getLeftPos(this);          
    }
    else {
		  slideSpeed = e.clientY + Math.max(document.body.scrollTop,document.documentElement.scrollTop) - getTopPos(this);
		}
		if(this.src.indexOf('down')>=0){
			slideSpeed = (slideSpeed)*-1;	
		}else{
		  if (bScrollV) {
		    slideSpeed = arrowImageWidth - slideSpeed;
		  }
		  else {
			  slideSpeed = arrowImageHeight - slideSpeed;
		  }
		}
		if (bScrollV) {
		  slideSpeed = Math.round(slideSpeed * 10 / arrowImageWidth);
		}
		else {
		  slideSpeed = Math.round(slideSpeed * 10 / arrowImageHeight);
		}
	}
	
	function stopSlide()
	{		
		slideSpeed = 0;
		this.src = this.src.replace('-over','');
	}
	
	function slidePreviewPane()
	{
		if(slideSpeed!=0){
		
		  if (bScrollV) {		    
		    var leftPos = previewImagePane.style.left.replace(/[^\-0-9]/g,'')/1;  
        
        if(slideSpeed<0 && (previewImageParent.offsetWidth + previewImagePane.offsetLeft) < 0) {
          slideSpeed=0;
        }
                       
        leftPos = leftPos + slideSpeed;
        if(leftPos>0)leftPos=0;
        
        previewImagePane.style.left = leftPos + 'px';
                
		  }
		  else {
				var topPos = previewImagePane.style.top.replace(/[^\-0-9]/g,'')/1;	
			
				if(slideSpeed<0 && slideEndMarker.offsetTop<(previewImageParent.offsetHeight - topPos)){
					slideSpeed=0;
				
				}
				topPos = topPos + slideSpeed;
				if(topPos>0)topPos=0;
	
			 	previewImagePane.style.top = topPos + 'px';
			}
	 	
		}
	 	setTimeout('slidePreviewPane()',30);		
	}
	
	function revealThumbnail()
	{
		this.style.filter = 'alpha(opacity=100)';
		this.style.opacity = 1;
	}
	
	function hideThumbnail()
	{
		this.style.filter = 'alpha(opacity=50)';
		this.style.opacity = 0.5;
	}
	
	function initGalleryScript()
	{
		previewImageParent = document.getElementById('theImages');
		previewImagePane = document.getElementById('theImages').getElementsByTagName('DIV')[0];
		
		if (bScrollV) {
		  previewImagePane.style.left = '0px';        
		}
		else {
		  previewImagePane.style.top = '0px';
		}
		
		galleryContainer  = document.getElementById('galleryContainer');
		var images = previewImagePane.getElementsByTagName('IMG');
		for(var no=0;no<images.length;no++){
			images[no].onmouseover = revealThumbnail;
			images[no].onmouseout = hideThumbnail;
		}	
		slideEndMarker = document.getElementById('slideEnd');		
		
		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;
		var divs = previewImageParent.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
		}		
		slidePreviewPane();
		initPreviewButtons();
		
	}
	
	
	window.onload = initGalleryScript;
