/**
 * Photo & Video gallery for AB Honesty
 * @author Leonid Knyazev (n3o@design.ru)
 */

var gallery = {
	init : function (){
		this.initMainNav();
		this.initPhotoPreview();
		this.initVideoPreview();
	},
	
	initMainNav : function (){
		var _oItems = $('.b-navigation ul li a');
		
		var _switchGallery = function (sGallID){
			if(sGallID){
				$('.content .b-video, .content .b-photo, .content .b-movie').addClass('hidden');
				$('.content .b-'+ sGallID).removeClass('hidden');
			}
		}
		
			_oItems.click(function (){
				if(!$(this).hasClass('selected')){
					_oItems.each(function (){
						$(this).parent('li').removeClass('selected');
					});
					
					_switchGallery($(this).attr('id'));
					
					$(this).parent('li').addClass('selected');
				}
				
				return false;
			});
	},
	
	initPhotoPreview : function (){

		var currentPosition = 0;
		var slideWidth = 100;
		var slides = $('.slide');
		var numberOfSlides = slides.length;
		var timerID;

		$('#slidesContainer').css('overflow', 'hidden');

		slides.wrapAll('<div id="slideInner"></div>').css({'float' : 'left'});
		
		$('#slideInner').css('width', slideWidth * numberOfSlides);

		$('#slideshow')
			.prepend('<span class="control" id="leftControl"><i onmouseover="gallery.toggleHover(this);" onmouseout="gallery.toggleHover(this);" /></span>')
			.append('<span class="control" id="rightControl"><i onmouseover="gallery.toggleHover(this);" onmouseout="gallery.toggleHover(this);" /></span>');

		manageControls(currentPosition);

		$('.control').bind('click', function(){
			currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition + 1 : currentPosition - 1;

			manageControls(currentPosition);
			
			$('#slideInner').animate({
				'marginLeft' : slideWidth * (-currentPosition)
			});
		});

		function manageControls(position){
			if(position == 0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
			
			if(position == numberOfSlides - 5){ $('#rightControl').hide() } else{ $('#rightControl').show() }
		}
		
		var _changePhoto = function (iPhotoID){
			$('.b-photo .photo img').attr('src', '/f/1/about/ads/advertisment/honesty/video/'+ iPhotoID +'.jpg')
		}
			  
		
		var _oPreviews = $('.b-photo #slidesContainer .slide');
		
			_oPreviews.click(function (){
				if( !$(this).hasClass('selected') ){
					_oPreviews.removeClass('selected');
					
					_changePhoto($(this).attr('id'));
					
					$(this).addClass('selected');
				}
			});
	},
	
	initVideoPreview : function (){
		var _oItems = $('.b-video .navigation div');
		
		var _changeVideo = function changeVideo(iVideoID){
				$('.b-video .video').html('<div id="flash" />');
				var cover = $("#"+iVideoID+" div.video_cover").text();
				if (!cover) {
					cover = "/f/1/global/player/cover/default.jpg";
				} else {
					cover = "/f/1/global/player/cover/honesty/" + cover;
				}
				var vars = {
					video: "/f/1/about/ads/advertisment/honesty/video/"+ iVideoID +".flv",
					css: "/f/1/global/player/css/default.css",
					skin: "/f/1/global/player/skin/default.swf",
					cover: cover,
					autoplay: 1
				};
				var param = {
					allowFullscreen: "true",
					allowScriptAccess: "always"
				};
				
				swfobject.embedSWF("/f/1/global/player/video_player.swf", "flash", "642", "533", "9.0.0", "/f/1/global/player/expressInstall.swf", vars, param, null);
			}
		
			_oItems.click(function (){
				if(!$(this).hasClass('selected')){
					_oItems.removeClass('selected');
					
					_changeVideo($(this).attr('id'));
					
					$(this).addClass('selected');
				}
			});
	},
	
	toggleHover : function (oElem){
		if(oElem.className == 'hover'){
			oElem.className = '';
		}else{
			oElem.className = 'hover';
		}
	}
};


$(document).ready(function(){
	gallery.init();
});
