﻿/* файл содержит набор функция для организации просмотра на клиенте группы картинок */

$( initSlideShow );

var $first;
function imagesLoaded()
{
	var images = $('#slideShow img');
	for( i = 0; i < images.length; i++ )
		if( images[i].src !='' && !images[i].complete )
			return false;

	return true;
}


/* подготовка слайдшоу к работе */
function initSlideShow()
{
	if( !imagesLoaded() )
	{
		window.setTimeout( 'initSlideShow()', 500 );
		return;
	}
	
	speed = 2000;//Number( $("#speed").val() );
	
	/* вычисляется максимальная высота картинки в слайд шоу, чтобы задать размер контэйнера
	и тем самым отодвинуть кнопку закрытия окна куда надо */
	var maxHeight = 0;
	
	/* запоминаются реальные размеры всех картинок */
	$("#slideShow img").each(
		function()
		{
			/* картинки прогружены, теперь их можно скрыть */
			$( this ).css( "display", "none" );
			$( this ).css( "position", "absolute" );
			if( maxHeight < $( this ).height() )
				maxHeight = $( this ).height();
			this.setAttribute( "h", $( this ).height() );
			this.setAttribute( "w", $( this ).width() );
		}
	);
	
	/* проставляется высота контэйнера, чтобы кнопка закрытия окна была под картинками */
	$("#slideShow").height( 300 );
	$("#slideShow").width( 640 );
	
	var $current = $("#slideShow img.current");
	$first = $current
	var $next = $current.next();
	var $prev = $current.prev();
	
	$current.css( "display", "inline" );
	$current.css("z-index", "3").css( { width: $current.attr("w") + "px", height: $current.attr("h") + "px", top: top + "px", margin:  "0 0 0 -" + ($current.width()-15)/2 + "px", left: "50%"  });
	
	window.setTimeout( 'slideShowForward(  )', 5000);
}

/* переход к следующей картинке */
function slideShowForward(  )
{
	/* если параметр auto не передан, значит функция вызвана в результате
	действия пользователя, автоматическая перемотка отключается */
			
	var $current = $("#slideShow img.current");
	var $next = $current.next();
	if ($next.length == 0)
		$next = $first;
		
	/* конечное положение будущей текущей картинки */

	var top =160;
	
	
	$next.css("z-index", "3").css( { width: $next.attr("w") + "px", height: $next.attr("h") + "px", top: top + "px", margin:  "0 0 0 -" + ($next.width()-15)/2 + "px", left: "50%"  });
	
	$current.fadeOut( 
				'slow', 
				function() {
					$next.fadeIn( 'slow' );
				}
			);
	
	$next.addClass("current");
	$current.removeClass("current");
	window.setTimeout( 'slideShowForward(  )', 5000);
}
