
jQuery(document).ready( function ()
{

	for ( var x=1; x<gallery.length; x++ )
	{
		var gal_x = gallery[x];

		(function(gallery_xx)
		{
			var gallery_x = gallery_xx;
			
			//
			// Настройка рабочей области галереи
			//
			gallery_x_DOM_init(gallery_x);
			
			//
			// Начальное заполнение галереи и показ первой большой картинки
			//
			gallery_x_preview_redraw(gallery_x, 0);
			gallery_x_big_redraw(gallery_x, 0);
			
			//
			// Настройка поведения галлереи
			//
			var delta = ( 0 == gallery_x.config.scroll ) ? gallery_x.config.small.page : 1;
			jQuery("#"+gallery_x.config.id+" .preview")
				.hover(
				function() {jQuery(this).css('cursor', 'hand')},
				function() {jQuery(this).css('cursor', 'hand')}
				);
			jQuery("#"+gallery_x.config.id+" #small-images")
				.find(".navigate a")
					.click( function(e)
					{
						var page = parseInt( jQuery(this).attr("name") ) - 1;
						gallery_x.first = delta * page;
						gallery_x_preview_redraw( gallery_x, gallery_x.first );
						gallery_x_big_redraw( gallery_x, gallery_x.first );
					})
					.end()
				.find("img[id^=small]")
					.click( function(e)
					{
						var n = parseInt( jQuery(this).attr('id').substring(6) );
						gallery_x_big_redraw( gallery_x, gallery_x.first + n )
					})
					.end()
				;
			jQuery("#"+gallery_x.config.id+" a")
				.click( function()
				{
					jQuery("#"+gallery_x.config.id+" a.active").removeClass("active");		
					jQuery(this).addClass("active");
				});
		
		})(gal_x);
	}
	
	//-------------------------------------------------------------------------------
	// FUNCTIONS
	//-------------------------------------------------------------------------------

	function gallery_x_DOM_init(gallery_x)
	{
		var $gal = jQuery("#"+gallery_x.config.id);
		var $big = jQuery("<div/>").attr({ id: "big-image", name:  "big-image" });
		$big.append( jQuery("<img class='big-image' />") );
		$gal.append($big);
		
		var $prv = jQuery("<div/>").attr({ id:  "small-images", name:  "small-images" });
		var num = Math.min( gallery_x.config.small.page, gallery_x.items.length )
		for (var i=0; i<num; i++ )
		{
			var small_cell = jQuery("<img id='small-"+i+"' class='preview' />");
			$prv.append( small_cell );
		}
		
		$prv.append( jQuery("<div class='clear' />") );
		
		var numpages = Math.ceil( gallery_x.items.length / gallery_x.config.small.page );
		if ( numpages>1 )
		{
			var $nav = jQuery("<div class='navigate' />");
			$nav.append( jQuery("<span>Страница</span><br><br>") );
			for (i=0; i<numpages; i++)
			{
				$nav.append( jQuery("<a name="+(i+1)+" class="+(i==0?'active':'')+">"+(i+1)+"</a>") );
			}
			$prv.append( $nav );
		}

		$gal.append($prv);
		
		$gal.append( jQuery("<div/>").addClass("clear") );

		var $text = jQuery("<div/>").addClass("img-text");
		$gal.append($text);
	}
	
	function gallery_x_big_redraw( gallery_x, n )
	{
		jQuery("#"+gallery_x.config.id+" img.big-image").attr( "src", "/null.gif" );
		jQuery("#"+gallery_x.config.id+" .img-text").html( "" );

		n = n || 0;
		if ( n >= gallery_x.items.length ) n = gallery_x.items.length-1;
		if ( n < 0 ) n = 0;

		jQuery("#"+gallery_x.config.id+" img.big-image").attr( "src", gallery_x.config.big.path + gallery_x.items[n].big );
		jQuery("#"+gallery_x.config.id+" .img-text").html( gallery_x.items[n].text );
	}

	function gallery_x_preview_redraw( gallery_x, first )
	{
		var num = Math.min( gallery_x.config.small.page, gallery_x.items.length );
		first = first || 0;
		if ( first >= gallery_x.items.length ) first = gallery_x.items.length-num;
		if ( first < 0 ) first = 0;
		gallery_x.first = first;

		for (var i=0; i<num; i++ )
		{
			var src = "/null.gif";
			if ( (i+gallery_x.first)<gallery_x.items.length ) 
				src = gallery_x.config.small.path + gallery_x.items[i+gallery_x.first].small;
				
			jQuery("#"+gallery_x.config.id+" img#small-"+i+"").attr( "src", src );
		}
	}


	
	{}
});
