$(function () {



	$('.goods .row:first-child').css({ background: 'none' });



	/* СЛАЙДЕР НА ГЛАВНОЙ С КНОПКАМИ */
	$.fn.hpSlider = function (options)
	{
		var sBody = $(this);														// общий контейнер
		var total = sBody.find('ul li img').length;				// всего слайдов
		var links = sBody.find('.links');									// контейнер с кнопками
		var autoSlider;
		var autoSliderDelay;

		var settings = {
			speed:					600,													// скорость анимации (смены картинок)
			sleep:						5000,												// пауза между сменой слайдов (авторежим)
			breakTime:			10000,												// время возобновления автоанимации
			currentSlide:		0,														// стартовый номер слайда ( номер первого слайда - 0 )
			slideWidth:			890
		};

		if (options) $.extend(settings, options);

		// создаем нужное количество кнопок
		for ( i = 0; i < total; i++ ) {
			links.append('<a href=""></a>');
		}

		// и присваиваем класс .active нужно кнопке
		links.find('a').eq(settings.currentSlide).addClass('active');

		// прокручиваем слайдер к нужному слайду
		sBody.find('ul').css({ left: -settings.slideWidth * settings.currentSlide });

		// движок листалки
		function engine( index ) {
			if ( !sBody.find('ul').is(':animated') ) {
				links.find('a').eq( index ).addClass('active').siblings().removeClass();
				sBody.find('ul').animate({ left: -settings.slideWidth * index }, settings.speed);
			}
		}

		// функция для листания слайдов на автомате
		function changeSlides () {
			var index = links.find('.active').index();
			var nextIndex;
			nextIndex = index + 1;
			if ( nextIndex > total - 1 ) nextIndex = 0;
			engine( nextIndex );
		}

		// листаем слайды по клику
		links.find('a').click(function () {
			// сбрасываем таймер
			clearInterval(autoSlider);
			clearTimeout(autoSliderDelay);
			// индекс нажатой кнопки + анимация
			var index = $(this).index();
			engine( index );
			// начинаем отсчет для возобновления автослайдера
			autoSliderDelay = setTimeout(function () {
				autoSlider = setInterval(function () {
					changeSlides();
				}, settings.sleep);
			}, settings.breakTime);
			return false;
		});

		// слайдер работает в автоматическом режиме
		autoSlider = setInterval(function () {
			changeSlides();
		}, settings.sleep);

	}; $('.hpSlider').hpSlider();
	// hpSlider() end




	/* СЛАЙДЕР НА ГЛАВНОЙ С ЗАКРУГЛЕННЫМИ КАРТИНКАМИ */
	$.fn.roundedImgSlider = function (options)
	{
		var sBody = $(this);														// общий контейнер
		var pictures = sBody.find('.pics');								// контейнер с картинками
		var nav = sBody.find('.nav');										// контейнер со стрелками
		var total = sBody.find('.pics img').length;				// всего картинок

		var settings = {
			speed:					600,													// скорость анимации (смены картинок)
			currentSlide:		0															// стартовый номер слайда ( номер первого слайда - 0 )
		};

		if (options) $.extend(settings, options);

		// показываем нужную картинку
		pictures.find('div').eq(settings.currentSlide).show().addClass('active');

		// приписываем к стрелкам названия следующей и предыдущей картинок
		function arrowsWords() {
			var index = pictures.find('div.active').index();
			var prevIndex = index - 1;
			var nextIndex = index + 1;
			if ( prevIndex < 0 ) prevIndex = total - 1;
			if ( nextIndex > total - 1 ) nextIndex = 0;
			nav.find('a.left span').html( pictures.find('div').eq(prevIndex).find('span').html() );
			nav.find('a.right span').html( pictures.find('div').eq(nextIndex).find('span').html() );
		}; arrowsWords();

		// листаем
		nav.find('a.left').add( nav.find('a.right') ).click(function () {
			if ( !pictures.find('div').is(':animated') )
			{
				var index = pictures.find('div.active').index();
				// в какую сторону листаем?
				var nextIndex;
				// влево
				if ( $(this).is('.left') ) {
					nextIndex = index - 1;
					if ( nextIndex < 0 ) nextIndex = total - 1;
				}
				// вправо
				else {
					nextIndex = index + 1;
					if ( nextIndex > total - 1 ) nextIndex = 0;
				}
				// меняем картинку
				pictures.find('div.active').removeClass().animate({ opacity: 0 }, settings.speed, function () { $(this).hide(); });
				pictures.find('div').eq(nextIndex).addClass('active').show().css({ opacity: 0 }).animate({ opacity: 1 }, settings.speed);
				arrowsWords();
			}
			return false;
		});

	}; $('.roundedImgSlider').roundedImgSlider();
	// roundedImgSlider() end




	/* СЛАЙДЕР С ФОТОСЕССИЯМИ БЕЗ ПАГИНАЦИИ */
	$.fn.photosessionSlider = function (options)
	{
		var settings = {
			speed:					400,													// скорость анимации (смены картинок)
			slideWidth:			300,
			slideMargin:		0,
			currentSlide:		0															// первый слайд (отсчет от нуля)
		};

		if (options) $.extend(settings, options);

		var sBody = $(this);
		var arrowLeft = sBody.find('.arrow.left a');
		var arrowRight = sBody.find('.arrow.right a');
		var elementsNumber = sBody.find('ul li img').length;
		var displacement = settings.slideWidth + settings.slideMargin;
		var containerWidth = displacement * elementsNumber;
		var nowSlide = settings.currentSlide;

		// устанавливаем ширину контейнера и прокручиваем к нужному слайду
		sBody.find('ul').css({ width: containerWidth, left: -displacement * settings.currentSlide });

		// показываем стрелки
		if ( settings.currentSlide > 0 ) sBody.find('.arrow.left a').show();
		if ( settings.currentSlide < elementsNumber - 1 ) sBody.find('.arrow.right a').show();

		// листаем
		arrowLeft.add( arrowRight ).click(function () {
			if ( !sBody.find('ul').is(':animated') )
			{
				if ( $(this).is(arrowLeft) ) {
					nowSlide -= 1;
					sBody.find('ul').animate({ left: '+=' + displacement }, settings.speed);
				} else {
					nowSlide += 1;
					sBody.find('ul').animate({ left: '-=' + displacement }, settings.speed);
				}
				// что делать со стрелкой влево
				if ( nowSlide == 0 ) arrowLeft.hide();
				else arrowLeft.show();
				// что делать со стрелкой вправо
				if ( nowSlide == elementsNumber - 1 ) arrowRight.hide();
				else arrowRight.show();
			}
			return false;
		});

		sBody.mousedown(function () { return false; });

	};
	$('.photosessionSlider.withoutPagination').each(function () {
		if ( $(this).is('.narrow') ) $(this).photosessionSlider({ slideWidth: 258 });
		else $(this).photosessionSlider();
	});
	// photosessionSlider() end
	



	/* ДОПОЛНЕНИЕ К СЛАЙДЕРУ - ВЫБОР ПО ЦВЕТАМ, ВЫВОД НУЖНЫХ РАЗМЕРОВ В SELECT */
	$.fn.modelsColor = function (options)
	{
		var speed = 400;
		var aBody = $(this);
		var colorsSelect = $('.goodsWrapper .info select.colors');
		var colors = aBody.find('.colors .choice');

		// устанавливаем выделенный цвет
		colors.children('div:first').addClass('active');
		colorsSelect.find('option:first').attr("selected", "selected");

		// прячем все цвета, кроме первого
		aBody.find('.photosessionSlider').not(':first').hide();

		// клик на выборе цветов под слайдером
		colors.children().click(function () {
			if ( !aBody.find('.photosessionSlider').is(':animated') )
			{
				if ( !$(this).is('.active') )
				{
					var index = $(this).index();
					// меняем выбранный цвет под слайдером
					$(this).addClass('active').siblings().removeClass('active');
					// меняем значение выпадающего списка
					colorsSelect.find('option').eq(index).attr("selected", "selected");
					// меняем значение в кастомизированном select
					colorsSelect.siblings('ul').find('li ul li').eq(index).trigger('click');
					
					// меняем select с размерами
					$('#sizes_goods .WFSelect').addClass('hidden');
					$('#sizes_goods .WFSelect').eq(index).removeClass('hidden');		
					
					// показываем нужный слайд
					aBody.find('.photosessionSlider').not( aBody.find('.photosessionSlider').eq(index) ).each(function () {
						$(this).animate({ opacity: 0 }, speed, function () {
							$(this).hide().css({ opacity: 1 });
						});
					});
					aBody.find('.photosessionSlider').eq(index).show().css({ opacity: 0 }).animate({ opacity: 1 }, speed);
				}
			}
		});
		
		// клик на фото другого цвета в карусельке фоток
		$('.otherColors ul').children().click(function () {
			if ( !aBody.find('.photosessionSlider').is(':animated') )
			{
				if ( !$(this).is('.active') )
				{
					var index = $(this).index();
					// меняем выбранный цвет под слайдером
					$(this).addClass('active').siblings().removeClass('active');
					// меняем значение выпадающего списка
					colorsSelect.find('option').eq(index).attr("selected", "selected");
					// меняем значение в кастомизированном select
					colorsSelect.siblings('ul').find('li ul li').eq(index).trigger('click');
					
					// меняем select с размерами
					$('#sizes_goods .WFSelect').addClass('hidden');
					$('#sizes_goods .WFSelect').eq(index).removeClass('hidden');		
					
					// показываем нужный слайд
					aBody.find('.photosessionSlider').not( aBody.find('.photosessionSlider').eq(index) ).each(function () {
						$(this).animate({ opacity: 0 }, speed, function () {
							$(this).hide().css({ opacity: 1 });
						});
					});
					aBody.find('.photosessionSlider').eq(index).show().css({ opacity: 0 }).animate({ opacity: 1 }, speed);
				}
			}
		});		

		// клик на select
		colorsSelect.change(function () {
			if ( !aBody.find('.photosessionSlider').is(':animated') )
			{
				var index = $(this).find('option:selected').index();
				
				// меняем select с размерами
				$('#sizes_goods .WFSelect').addClass('hidden');
				$('#sizes_goods .WFSelect').eq(index).removeClass('hidden');
				
				// меняем выбранный цвет под слайдером
				colors.children().eq(index).addClass('active').siblings().removeClass('active');
				// показываем нужный слайд
				aBody.find('.photosessionSlider').not( aBody.find('.photosessionSlider').eq(index) ).each(function () {
					$(this).animate({ opacity: 0 }, speed, function () {
						$(this).hide().css({ opacity: 1 });
					});
				});
				aBody.find('.photosessionSlider').eq(index).show().css({ opacity: 0 }).animate({ opacity: 1 }, speed);
			}
		});
	}; $('.photosessionSlidersOuter').modelsColor();
	// modelsScroll() end




	/* ОТЗЫВЫ О ТОВАРЕ */
	$.fn.opinions = function (options)
	{
		var settings = {
			speed:					400,
			linkRead:				'Читать отзывы',
			linkLeave:			'Оставить отзыв'
		};

		if (options) $.extend(settings, options);

		var aBody = $(this);
		var formWrapper = aBody.find('.formWrapper');
		var opinionsWrapper = aBody.find('.opinionsWrapper');
		var aHidden = aBody.find('.hidden');
		var aSwitch = aBody.find('.switch a');

		aHidden.removeClass('hidden').hide();

		// ставим правильный текст для ссылки-переключатея
		if ( aHidden.is(formWrapper) ) aSwitch.html(settings.linkLeave);
		else if ( aHidden.is(opinionsWrapper) ) aSwitch.html(settings.linkRead);

		// меняем форму на отзывы и обратно
		aSwitch.click(function () {
			if ( !formWrapper.is(':animated') && !opinionsWrapper.is(':animated') )
			{
				if ( $(this).html() == settings.linkRead ) {
					aSwitch.html(settings.linkLeave);
					formWrapper.slideUp(settings.speed, function () {
						opinionsWrapper.slideDown(settings.speed);
					});
				}
				else if ( $(this).html() == settings.linkLeave ) {
					aSwitch.html(settings.linkRead);
					opinionsWrapper.slideUp(settings.speed, function () {
						formWrapper.slideDown(settings.speed);
					});
				}
			}
			return false;
		});
	}; //$('.opinions').opinions();




	/* МОДЕЛИ С ПРОКРУТКОЙ */
	$.fn.modelsScroll = function (options)
	{
		var settings = $.extend({
			picWidth:			100,
			picMargin:		9,
			barWidth:		14,					// ширина ползунка
			speed:				400				// скорость прокрутки при клике на трек
		}, options);

		var sBody = $(this);
		var sBodyWidth = sBody.width()
		var sContent = sBody.find('ul');
		var elementsNumber = sBody.find('li').length;
		var sContentWidth = elementsNumber * (settings.picWidth + settings.picMargin);

		// set container width
		sContent.width( sContentWidth );

		// set scroll window properties
		sBody.css({ overflow: 'hidden' });

		// is scroll needed?
		if ( elementsNumber > 6 )
		{
			// append a scroll track
			sBody.append('<div class="scrollTrack"><div class="scrollbar"></div><div class="bgLine"></div></div>');
			var scrollTrack = sBody.find('.scrollTrack');
			var scrollBar = sBody.find('.scrollbar');

			// how many times is content higher, than scroll div
			var factor = ( sContentWidth - settings.picMargin - sBodyWidth ) / ( sBodyWidth - settings.barWidth );

			// coordinates of scroll bar
			var barPosition = 0;
			var barPositionStart = 0;
			var barPositionEnd = sBodyWidth - settings.barWidth;

			var dragFlag = false;		// flag indicates if bar was clicked
			var cursorPosX;				// coordinates, where user clicked the bar
			var focusedBar;				// to select scroll bar, that is operated

			// enable drag
			scrollBar.mousedown(function (event) {
				focusedBar = $(this);
				cursorPosX = event.pageX;
				dragFlag = true;
				return false;
			});

			// disable click event for scroll track
			scrollBar.click(function (event) {
				event.stopPropagation();
			});

			// disable drag
			scrollBar.mouseup(function () {
				barPositionStart = barPosition;
				dragFlag = false;
			});

			sBody.mousedown(function () { return false; });

			$(document).mouseup(function () {
				barPositionStart = barPosition;
				dragFlag = false;
			});

			// drag function
			$('body').mousemove(function (event) {
				if ( dragFlag ) {
					// get scroll bar position
					barPosition = event.pageX - cursorPosX + barPositionStart;
					if ( barPosition < 0 ) barPosition = 0;
					else if ( barPosition > barPositionEnd ) barPosition = barPositionEnd;
					// update scrollbar position
					focusedBar.css({ left: barPosition });
					sContent.css({ left: -(barPosition * factor) });
				} // dragFlag is true
			});

			// click on the scroll track
			scrollTrack.click(function (event) {
				if ( !scrollBar.is(':animated') && !sContent.is(':animated') )
				{
					// scrollbar position relative to the parent
					var currentPos = scrollBar.position().left;
					// distance between clicked point and scrollbar position (relative to the document)
					var distance = event.pageX - scrollBar.offset().left;
					// get scroll bar position
					var newPos = currentPos + distance;
					if ( newPos < 0 ) newPos = 0;
					else if ( newPos > barPositionEnd ) newPos = barPositionEnd;
					// update start bar position
					barPositionStart = newPos;
					// update scrollbar position
					scrollBar.animate({ left: newPos }, settings.speed);
					sContent.animate({ left: -(newPos * factor) }, settings.speed);
				}
			});

		} // is scroll needed
	}; $('.modelsScroll').each(function () { $(this).modelsScroll(); });
	// modelsScroll() end



	/* МОДЕЛИ С ВЕРТИКАЛЬНОЙ ПРОКРУТКОЙ */
	$.fn.modelsVerticalScroll = function (options)
	{
		var settings = $.extend({
			trackWidth:	14,			// width of the scroll track
			barHeight:		14,			// height of the scroll bar
			picMargin:		11,			// distance between elements
			speed:				400		// animation speed when the track's been clicked
		}, options);

		var sBody = $(this);
		var sBodyHeight = sBody.height();
		var sContent = sBody.find('ul');
		// var sContentHeight = sContent.innerHeight();
		var sContentHeight = sContent.find('li').length * (149 + 11);

		// set scroll window properties
		sBody.css({ overflow: 'hidden' });

		// does scroll is needed?
		if ( sContentHeight > sBodyHeight )
		{
			// append the scroll track
			sBody.append('<div class="scrollTrack"><div class="scrollbar"></div><div class="bgLine"></div></div>');
			sBody.find('.scrollTrack').css({ width: settings.trackWidth, height: sBodyHeight });
			sBody.find('.scrollbar').css({ width: settings.trackWidth, height: settings.barHeight });

			var scrollTrack = sBody.find('.scrollTrack');
			var scrollBar = sBody.find('.scrollbar');

			// get content height
			sContent.css({ marginRight: settings.trackWidth });
			//sContentHeight = sContent.innerHeight();

			// how many times is content higher, than scroll div
			var factor = ( sContentHeight - settings.picMargin - sBodyHeight ) / ( sBodyHeight - settings.barHeight );
			//var factor = ( sContentWidth - settings.picMargin - sBodyWidth ) / ( sBodyWidth - settings.barWidth );

			// coordinates of scroll bar
			var barPosition = 0;
			var barPositionStart = 0;
			var barPositionEnd = sBodyHeight - settings.barHeight;

			var dragFlag = false;		// flag indicates if bar was clicked
			var cursorPosY;				// coordinates, where user clicked the bar
			var focusedBar;				// to select scroll bar, that is operated

			// enable drag
			scrollBar.mousedown(function (event) {
				focusedBar = $(this);
				cursorPosY = event.pageY;
				dragFlag = true;
				return false;
			});

			// disable click event for scroll track
			scrollBar.click(function (event) {
				event.stopPropagation();
			});

			// disable drag
			scrollBar.mouseup(function () {
				barPositionStart = barPosition;
				dragFlag = false;
			});

			sBody.mousedown(function () { return false; });

			$(document).mouseup(function () {
				barPositionStart = barPosition;
				dragFlag = false;
			});

			// drag function
			$('body').mousemove(function (event) {
				if ( dragFlag ) {
					// get scroll bar position
					barPosition = event.pageY - cursorPosY + barPositionStart;
					if ( barPosition < 0 ) barPosition = 0;
					else if ( barPosition > barPositionEnd ) barPosition = barPositionEnd;
					// update scrollbar position
					focusedBar.css({ top: barPosition });
					sContent.css({ top: -(barPosition * factor) });
				} // dragFlag is true
			});

			// click on the scroll track
			scrollTrack.click(function (event) {
				if ( !scrollBar.is(':animated') && !sContent.is(':animated') )
				{
					// scrollbar position relative to the parent
					var currentPos = scrollBar.position().top;
					// distance between clicked point and scrollbar position (relative to the document)
					var distance = event.pageY - scrollBar.offset().top;
					// get scroll bar position
					var newPos = currentPos + distance;
					if ( newPos < 0 ) newPos = 0;
					else if ( newPos > barPositionEnd ) newPos = barPositionEnd;
					// update start bar position
					barPositionStart = newPos;
					// update scrollbar position
					scrollBar.animate({ top: newPos }, settings.speed);
					sContent.animate({ top: -(newPos * factor) }, settings.speed);
				}
			});

		} // does scroll is needed - end
	}; $('.otherColors .frame').each(function () { $(this).modelsVerticalScroll(); });
	// modelsVerticalScroll() end


	/* ИСЧЕЗАНИЕ ТЕКСТА В ТЕКСТОВЫХ ПОЛЯХ */ 
	$.fn.hideInputsText = function ()
	{
		var myInput = $(this);
		var myInputValue = myInput.val();
		myInput.focus(function () {
			if ( myInput.val() == myInputValue ) myInput.val('');
		});
		myInput.blur(function () {
			if ( myInput.val() == '' ) myInput.val( myInputValue );
		});
	};	 $(':text, textarea').each(function () { $(this).hideInputsText(); });

	
	/* ЗАПИСЬ ЗНАЧЕНИЙ ТЕКСТОВЫХ ПОЛЕЙ В ОБЪЕКТ */
	$.fn.fieldDefaultValue = function (idForm)
	{
		$('#'+idForm+' :text, #'+idForm+' textarea').each(function() {
			arrDefaultValue[$(this).attr('id')]=$(this).val();
		});	
	};




	/* кастомизация Select */
	
	$.fn.niceSelect = function (options)
	{
		if (! ($.browser.msie && $.browser.version == 6))
		{
			/*
			<div class="WFSelect">
				<ul>
					<li><span>option 1</span><a href=""></a><i></i>
						<ul>
							<li>option 1</li>
							<li>option 2</li>
						</ul>
					</li>
				</ul>
			</div>
			*/

			var arraySelect = $(this);

			// check if dropdown is already customized
			if ( !arraySelect.parent('.WFSelect').children().is('ul') )
			{
				arraySelect.css({ visibility: 'hidden' });

				var settings = $.extend({
					width: 'auto',
					arrow: 17,			// width of dropdown arrow
					borders: 2			// width of left and right borders
				}, options);

				// creation
				$.each(arraySelect, function () {
					var optionChosenText = $(this).find(':selected').html();
					var newSelect = '<ul><li><span>' + optionChosenText + '</span><a href=""></a><i></i><ul>';
					$(this).children('option').each(function () {
						newSelect += '<li>' + this.text + '</li>';
					});
					newSelect += '</ul></li></ul>';
					$(this).after(newSelect);
				});

				var pseudoSelect = $(this).siblings('ul').children('li');
				pseudoSelect.find('li:last').addClass('last');

				// set Select's width in accordance with max option width
				if (settings.width == 'auto')
				{
					var maxWidth = $(pseudoSelect).find('ul').width();
					$(pseudoSelect).parent('ul').css({ width: maxWidth + settings.arrow + settings.borders });
					$(pseudoSelect).find('ul').css({ width: maxWidth + settings.arrow });
				}
				// set Select's width in accordance with user width
				else
				{
					var userWidth = settings.width;
					$(pseudoSelect).parent('ul').css({ width: userWidth });
					$(pseudoSelect).find('ul').css({ width: userWidth - settings.borders });
				}

				// open/close selects on the page
				$(pseudoSelect).children('span')
					.add( $(pseudoSelect).children('a') )
						.add( $(pseudoSelect).children('i') )
					.click(function() {	
						$('.WFSelect ul li ul').not($(this).siblings('ul')).slideUp(100);
						$(this).siblings('ul').slideToggle(100);
						$('.WFSelect > ul > li').not(pseudoSelect).removeClass('selected');
						pseudoSelect.toggleClass('selected');
						// highlight selected option
						var index = pseudoSelect.parents('.WFSelect').find(':selected').index();
						pseudoSelect.parents('.WFSelect').find('li li').eq(index).addClass('chosen');
						return false;
				});

				// choose an option */
				$(pseudoSelect).find('ul li').click(function() {
					var optionValue = $(this).text();
					$(this).parent().siblings('span').html(optionValue);
					$(this).parent().slideUp(100);
					pseudoSelect.toggleClass('selected');
					pseudoSelect.parents('.WFSelect').find('li li.chosen').removeClass('chosen');
					var clickedIndex = $(this).index();
					$(this).parents('.WFSelect').find('option').eq(clickedIndex).attr("selected", "selected")
						.parent('select').trigger('change'); // onchange behavior emulation
				});

				// close after click on any place on the page
				$('body').not(pseudoSelect).click(function () {
					$('.WFSelect ul li ul').slideUp(100);
					pseudoSelect.removeClass('selected');
				});
			} // dropdown is already customized end
		} // not IE6

	};
	$('.WFSelect select').each(function () {
		if ( $(this).parents().is('.contactForm') ){
			$(this).niceSelect({ width: 177 });
		}
		else{
			if ( $(this).parents().is('.select_sizes') ){
				$(this).niceSelect({ width: 50 });
			}
			else{
				if ( $(this).parents().is('.select_sizes_opt') ){
					$(this).niceSelect({ width: 100 });
				}
				else{
					$(this).niceSelect();
				}
			}
		}
	});

	$.fn.WFSelectzIndex = function ()
	{
		var pageBody = $(this);
		var startZindex = 1000;
		var totalNumber = pageBody.find('.WFSelect').length;
		for ( i=0; i < totalNumber; i++ ) {
			pageBody.find('.WFSelect').eq(i).css({ zIndex: startZindex + totalNumber - i });
		}
	}; $('body').WFSelectzIndex();
	// niceSelect end



	/* СЛАЙДЕР С ФОТОСЕССИЯМИ С ПАГИНАЦИЕЙ */
	$.fn.LeaderSaleSliderWithPagination = function (options)
	{
		var settings = $.extend({
			speed:					400,									// скорость анимации (смены картинок)
			slideWidth:			212,
			slideMargin:		0
		}, options);

		/*
		Исходим из того, что:
		/UserFiles/Catalog/cat_1/{ID}.jpg							// большая картинка
		/UserFiles/Catalog/cat_1/resized_1/{ID}.jpg		// средняя картинка
		/UserFiles/Catalog/cat_1/resized_2/{ID}.jpg		// маленькая картинка
		*/

		var absURL = '/';
		var path = 'UserFiles/Catalog/cat_1/';
		var sBody = $(this);
		var arrowLeft = sBody.find('.arrow.left a');
		var arrowRight = sBody.find('.arrow.right a');
		var displacement = settings.slideWidth + settings.slideMargin;
		var imgMiniContainer = $('.photosessions'); 					// миникартинки
		var pagination = $('.pagination.forPhotosessions');		// постраничный вывод
		var slidesNumber = 0;																// всего слайдов
		var containerWidth = 0;															// ширина контейнера со слайдами
		var nowSlide = 0;																		// номер текущего слайда
		var firstPage = true;																	// текущая страница первая?
		var lastPage = false;																	// текущая страница последняя?
		var elClass = 'forPage';																// css класс; к какой странице относится элемент

		// показываем стрелку вправо
		arrowRight.show();


		// функция для определения, является ли текущая страница первой или последней
		function firstOrLastPage() {
			var currentPage = pagination.find('a.active').index();
			if ( currentPage == 0 ) firstPage = true; else firstPage = false;
			if ( currentPage == pagination.find('a').length - 1 ) lastPage = true; else lastPage = false;
		};


		// функция для показа/скрытия стрелок слайдера после анимации
		function arrowsDestiny() {
			// тест на первую/последнюю страницы
			firstOrLastPage();
			// что делать со стрелкой влево
			if ( firstPage && nowSlide == 0 ) arrowLeft.hide();
			else arrowLeft.show();
			// что делать со стрелкой вправо
			if ( lastPage && nowSlide == slidesNumber - 1 ) arrowRight.hide();
			else arrowRight.show();
		};


		// генерируем ссылки пагинации
		function makePaginationLinks( array ) {
			for ( i=0; i<array.length; i++ ) { pagination.append('<a href="">'+(i+1)+'</a>'); }
			pagination.find('a:first').addClass('active');
		}; makePaginationLinks( slidesArray );


		// генерируем структуру слайдов
		function generateSlides( array ) {
			var structure = '';
			structure += '<ul>';
			for ( a=0; a<array.length; a++ ) {
				for ( b=0; b<array[a].length; b++ ) {
					structure += '<li class="'+elClass+a+'"></li>';
				}
			}
			structure += '</ul>';
			sBody.find('.frame').append(structure);
		}; generateSlides( slidesArray );


		// определяем общее количество слайдов и устанавливаем ширину контейнера
		slidesNumber = sBody.find('ul li').length;
		containerWidth = displacement * slidesNumber;
		sBody.find('ul').css({ width: containerWidth });


		// функция для добавления слайдов
		function addSlides( array, pageNumber ) {
			if ( !sBody.find('li.'+elClass+pageNumber).children().length ) {
				for ( i=0; i<array[pageNumber].length; i++ ) {
					var src = absURL + path + 'resized_1/' + array[pageNumber][i][0];
					var alt = array[pageNumber][i][1];
					var string = '<a href="'+array[pageNumber][i][2]+'" title="'+alt+'"><img src="'+src+'" alt="'+alt+'" /></a>';
					sBody.find('li.'+elClass+pageNumber).eq(i).append( string );
				}
			}
		};

		// сразу добавляем слайды первой страницы
		addSlides( slidesArray, 0 );


		// генерируем структуру миникартинок
		function generateMiniPics( array ) {
			var structure = '';
			structure += '<ul>';
			for ( a=0; a<array.length; a++ ) {
				for ( b=0; b<array[a].length; b++ ) {
					structure += '<li class="'+elClass+a+'"><a href=""></a>';
					structure += '<span class="borders"><span class="innerBorders"></span></span></li>';
				}
			}
			structure += '</ul>';
			imgMiniContainer.append(structure);
		}; generateMiniPics( slidesArray );



		// функция для добавления миникартинок
		function addMiniPics( array, pageNumber ) {
			if ( !imgMiniContainer.find('li.'+elClass+pageNumber).children('img').length ) {
				for ( i=0; i<array[pageNumber].length; i++ ) {
					var src = absURL + path + 'resized_2/' + array[pageNumber][i][0];
					var alt = array[pageNumber][i][1];
					var string = '<img src="'+src+'" alt="'+alt+'" />';
					imgMiniContainer.find('li.'+elClass+pageNumber).eq(i).find('a').after( string );
				}
			}
			imgMiniContainer.find('li').hide().filter('li.'+elClass+pageNumber).show();
		};

		// сразу добавляем миникартинки первой страницы
		addMiniPics( slidesArray, 0 );

		// выделяем первую миникартинку
		imgMiniContainer.find('li').eq(0).addClass('active');


		// листаем по клику на стрелки
		arrowLeft.add( arrowRight ).click(function () {
			if ( !sBody.find('ul').is(':animated') )
			{
				// класс текущей коллекции
				var collectionClass = sBody.find('ul li').eq(nowSlide).attr('class');

				// листаем влево
				if ( $(this).is(arrowLeft) ) {
					// находим индекс первого элемента коллекции
					var collectionFirstIndex = sBody.find('ul li.'+collectionClass+':first').index();
					if ( nowSlide == collectionFirstIndex ) {
						var nextPage = pagination.find('a.active').index() - 1;
						pagination.find('a').removeClass().eq(nextPage).addClass('active');		// обновляем пагинацию
						addSlides( slidesArray, nextPage );																		// добавляем слайды
						addMiniPics( slidesArray, nextPage );																	// добавляем миникартинки
					}
					// анимируем слайд
					nowSlide -= 1;
					sBody.find('ul').animate({ left: '+=' + displacement }, settings.speed);
				}

				// листаем вправо
				else if ( $(this).is(arrowRight) ) {
					// находим индекс последнего элемента коллекции
					var collectionLastIndex = sBody.find('ul li.'+collectionClass+':last').index();
					// если последний элемент коллекции...
					if ( nowSlide == collectionLastIndex ) {
						var nextPage = pagination.find('a.active').index() + 1;
						pagination.find('a').removeClass().eq(nextPage).addClass('active'); 	// обновляем пагинацию
						addSlides( slidesArray, nextPage );																		// добавляем слайды
						addMiniPics( slidesArray, nextPage );																	// добавляем миникартинки
					}
					// анимируем слайд
					nowSlide += 1;
					sBody.find('ul').animate({ left: '-=' + displacement }, settings.speed);
				}

				// выделяем нужную миникартинку
				imgMiniContainer.find('li').removeClass('active').eq(nowSlide).addClass('active');
				// что делать со стрелками
				arrowsDestiny();
			}

			return false;
		});


		// листаем по клику на миникартиках
		imgMiniContainer.find('a').click(function () {
			if ( !sBody.find('ul').is(':animated') )
			{
				nowSlide = $(this).parent().index();
				imgMiniContainer.find('li').removeClass('active').eq(nowSlide).addClass('active');
				sBody.find('ul').animate({ left: -displacement * nowSlide }, settings.speed);				
				arrowsDestiny(); // что делать со стрелками
			}
			return false;
		});


		// листаем по клику на ссылках постраничной навигации
		pagination.find('a').click(function () {
			if ( !sBody.find('ul').is(':animated') )
			{
				var currentPage = pagination.find('a.active').index();
				var nextPage = $(this).index();
				if ( currentPage != nextPage )
				{
					pagination.find('a').removeClass().eq(nextPage).addClass('active'); 	// обновляем пагинацию
					addSlides( slidesArray, nextPage );																		// добавляем слайды
					addMiniPics( slidesArray, nextPage );																	// добавляем миникартинки
					// находим индекс первого элемента нужной коллекции
					nowSlide = sBody.find('ul li.'+elClass+nextPage+':first').index();
					// анимируем слайды
					sBody.find('ul').animate({ left: -displacement * nowSlide }, settings.speed);
					// делаем активной миникартинку
					imgMiniContainer.find('li').removeClass('active').eq(nowSlide).addClass('active');
					arrowsDestiny(); // что делать со стрелками
				} // currentPage != nextPage
			}
			return false;
		});


		sBody.mousedown(function () { return false; });

	};
	if ( $('.LeaderSaleSlider').length > 0 ) {
		$(".LeaderSaleSlider").LeaderSaleSliderWithPagination();
	}
	// photosessionSliderWithPagination() end
	
	/*------------------ всплывающее окно -------------------*/
	init_popUpWindow();
});


function init_popUpWindow(){
	/*------------------ всплывающее окно -------------------*/

	if ($.browser.msie)
	{
		$('.popUpInit').click(function () {
			$('.popUpWindow, .popUpWindow_BG').show();			
			src=$(this).attr('id');
			print_zoomContent(src);
			return false;
		});
		$('.popUpWindow a.closeWindow').click(function () {
			$('.popUpWindow, .popUpWindow_BG').hide();
			$('#zoom_content').empty();
			return false;
		});
	}
	else
	{
		$('.popUpInit').click(function () {
			$('.popUpWindow, .popUpWindow_BG').show().css({ opacity: 0 }).animate({ opacity: 1 }, 400);
			src=$(this).attr('id');
			print_zoomContent(src);
			return false;
		});
		$('.popUpWindow a.closeWindow').click(function () {
			$('.popUpWindow, .popUpWindow_BG').animate({ opacity: 0 }, 400, function () {
				$(this).hide();
				$('#zoom_content').empty();
			});
			return false;
		});	
	} // всплывающе окно конец
}

function print_zoomContent(src){
	dir='/UserFiles/Catalog/cat_1/';
	src_medium=dir+'resized_1/'+src;
	src_gigant=dir+src;
	txt='<a href="'+src_gigant+'" class="jqzoom" style="" title=""><img src="'+src_medium+'"  title="" /></a>';			
	$('#zoom_content').html(txt);
	//$('#popUp_h2').text('');
	// инициализация лупы
	upW();	
}

// инициализация и настройки отображения лупы

function upW() {
	$(".jqzoom").jqzoom({		
		zoomWidth: 260,
		zoomHeight: 256,
		xOffset: 20,
		hideEffect:'fadeout',
		fadeoutSpeed: 'slow',
		title: false,
		lens: false
	});
};
