
	var scrollImageActive = false;
	var scrollImageStart = 0; 
	var scrollImageStop = 0; 
	var scrollImageCurrent = 0; 
	var scrollImageDiv = false;
	var scrollImageDivBorder = false;
	
	var scrollImageHeightTo = 0;
	var scrollImageHeightFrom = 0;
	var scrollImageWidth = 490;
		
	function ScrollImageAction() {
		if (!scrollImageActive) return;
		
		if (scrollImageStart < scrollImageStop) {
			if (scrollImageCurrent > (scrollImageStop + scrollImageStart) / 2) {
				scrollImageCurrent += Math.round(Math.sqrt(scrollImageStop - scrollImageCurrent) * 1.2);
			} else {
				scrollImageCurrent += Math.round(Math.sqrt(scrollImageCurrent - scrollImageStart + 5) * 1.3);
				//scrollImageCurrent += 25;
			}
			
			if (scrollImageCurrent >= scrollImageStop) {
				scrollImageCurrent = scrollImageStop;
				scrollImageActive = false;
			}
		} else {
			scrollImageCurrent -= 20;
			
			if (scrollImageCurrent <= scrollImageStop) {
				scrollImageCurrent = scrollImageStop;
				scrollImageActive = false;
			}
		}
			
		scrollImageDiv.style.marginLeft = (-scrollImageCurrent) + 'px';
		
		var percent = (scrollImageCurrent - scrollImageStart) / (scrollImageStop - scrollImageStart);
		var newHeight = Math.floor((scrollImageHeightTo - scrollImageHeightFrom) * percent) + scrollImageHeightFrom;
		scrollImageDivBorder.style.height = newHeight + 'px';
	}

	setInterval('ScrollImageAction()', 30);


	function ScrollImage(from, to) {
		scrollImageStart = from;
		scrollImageStop = to;
		scrollImageCurrent = from;

		scrollImageActive = true;
	}
	
	var curImage = 0; 
	function MoveImage(delta, direct) {
		newCurImage = delta ? curImage + delta  :  direct;
		if (newCurImage < 0) return;
		if (!document.images['gallery' + newCurImage]) return;
		
		scrollImageHeightFrom = document.images['gallery' + curImage].height;
		scrollImageHeightTo = document.images['gallery' + newCurImage].height;
		
		if (!scrollImageDiv) {
			scrollImageDiv = document.getElementById('divImages');
			scrollImageDivBorder = document.getElementById('divImagesBorder');
		}
		
		if (delta) {
			ScrollImage(curImage * scrollImageWidth, newCurImage * scrollImageWidth);			
		} else {
			scrollImageDiv.style.marginLeft = (-newCurImage * scrollImageWidth) + 'px';		
			scrollImageDivBorder.style.height = scrollImageHeightTo + 'px';
		}
					
			
		if (photoInfo[newCurImage]) {
			if (photoInfo[newCurImage].author) {
				$('#divPhotoAuthor').html('<strong>Фото: </strong>' + photoInfo[newCurImage].author).show();
			} else {
				$('#divPhotoAuthor').hide();
			}
			
			if (photoInfo[newCurImage].desc) {
				$('#divPhotoDescription').html(photoInfo[newCurImage].desc).show();
			} else {
				$('#divPhotoDescription').hide();
			}			
		}
		
		$('#divPhotoCount').html(newCurImage + 1);
		
				
		curImage = newCurImage;		
	}
	
	
	$(document).keydown(function(e) {
		var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
		var ctrlKey = e ? e.ctrlKey : event.ctrlKey;
		
		switch(key) {
			case 27:
			  $('#divPhotoScroller').fadeOut(1000);
			  break;
			case 37: 
			  if (ctrlKey) {
			  	MoveImage(-1);
			  	return false;
			  }
			  break;			
			case 39: 
			  if (ctrlKey) {
			  	MoveImage(1);
			  	return false; 
			  }
			  break;			
		}
	});
	
	
	(function($){
	  $.fn.vCenter = function(options) {
	    var pos = {
	      sTop : function() {
	        return window.pageYOffset || $.boxModel && document.documentElement.scrollTop ||	document.body.scrollTop;
	      },
	      wHeight : function() { 
	        if ( $.browser.opera || ($.browser.safari && parseInt($.browser.version) > 520) ) {
	    			return window.innerHeight - (($(document).height() > window.innerHeight) ? getScrollbarWidth() : 0);
	    		} else if ( $.browser.safari ) {
	    			return window.innerHeight;
	    		}	else {
	          return $.boxModel && document.documentElement.clientHeight || document.body.clientHeight;
	        }
	      }
	    };
	    return this.each(function(index) {
	      if (index == 0) {
	        var $this = $(this);
	        var elHeight = $this.height();
	        $this.css({
	          position: 'absolute',
	          marginTop: '0',
	          top: pos.sTop() +  50 
	        });        
	      }
	    });
	  };
	
	})(jQuery);