/* $Id$ */
$(document).ready(function() {
	var container = $('.js-ticker-container'),
		items = container.find('.js-ticker-item'),
		sumItems = items.length,
		//для загрузки картинки
		forImages = container.find('.js-insert-img');
	
	//отображаем блок после загрузки страницы
	container.removeClass('g-hidden');
	
	if (sumItems > 0) {
		for (var i = 0; i < sumItems; i++) {
			//Счетчик для определения загруженности всех изображений
			var sumImagesLoad = 0,
				//Максимальная высота для блока по умолчанию
				maxHeight = container.height(),
				//контайнер для картинки
				imageContainer = $(forImages[i]).parent(),
				//путь картинки
				src = $(forImages[i]).text(),
				//картинка
				image = document.createElement('img');

			//проверка загруженности картинки
			image.onload = function(){
				//отображаем загруженную картинку
				$(this).removeClass('g-hidden');
				//удаляем блок, которые хранит путь картинки
				$(forImages[i]).remove();
				//кол-во загруженых картинок
				sumImagesLoad++;
				
				//определяем максимальную высоту для блока
				if (maxHeight < this.height) {
					maxHeight = this.height + 80;
				}
				
				//Если загружены все картинки, то активируем новости
				if (sumImagesLoad == sumItems) {
					//Устанавливаем ширину и высоту для одной новости
					items.width(container.width());
					items.height(maxHeight);
					//устанавливаем карусель
					initCarousel(container);
				}
			};
			//устанавливаем путь картинки
			image.src = src;
			//добавляем классы
			image.className = 'ticker-img g-hidden';
			//размещаем картинку в новости
			imageContainer.html(image);
		}
	}
});

/**
 * Инициируем события связанные с переключениями новостей
 * 
 * @param obj container
 */
function initCarousel(container) {
	var btnSum = container.find('.js-ticker-btn').length,
		btnList = [];
	
	for (var i = 0; i < btnSum; i++) {
		btnList.push("#ticker-news-" + i);
	}

	if ($.isFunction($.fn.jCarouselLite)) {
		container.jCarouselLite({
			btnNext: "#carousel_next",
			btnPrev: "#carousel_prev",
			visible: 1,
			btnGo: btnList,
			//время смены новостей в блоке
			auto: 10000
		});
	}
	
	container
			.find('.b-ticker-item--preload')
			.removeClass('b-ticker-item--preload');
}

/**
 * Изменяем ширину и отступы для блоков новостей при изменении размеров окна
 */
$(window).resize(function(){
	var block = $('.js-ticker-container'),
		width = block.width(),
		container = $('.js-ticker-list'),
		containerPos = container.position(),
		items = container.find('.js-ticker-item'),
		itemsWidth = items.width(),
		itemsSum = items.length,
		itemsActiveIndex = containerPos.left / itemsWidth;
	
	container
			.width(width * itemsSum)
			.css('left', width * itemsActiveIndex);
	items.width(width);
});