﻿/*
 * * SLIDE SHOW SCRIPT v2.0
 *
 * START */

// Data Holder
var hbDataHolder = new Array();
 
// Intervals Holder
var hbTimersStorage = new Array();
	
// SlideShow SetUp
var hbSlideShowSetUp = {
	// slideshow selectors
	combiner : '#hbSlideShowCombiner',
	stage : '#hbSlideShowComponent', 
	 
	// slideshow type
	slideShowType : '',

	// slide build
	slide : {	
		count : 0,
		currentlyPlayed : 0,
		imageClass : '.hbSldShwSlide',
		slideHideClass : 'hbHidden',
		idBase : '#slides',
		idPartsSeperator : '_',
		idPart_image : 'image',
		idPart_titleBar : 'titleBar',
		idPart_infoBoxes : 'infoBoxes',
		idPart_thumb : 'thumb',
		idPart_thumbSelected : 'hbSelected',
		idPart_infoBlock : 'infoBlock',
		titleBarsHolder : '#hbSldShwTitleBar',
		infoBoxesHolder : '#hbSldShwInfoBox',
		infoBlockHolder : '#hbSldShwVerticalBarInfoBlock',
		slideThumbsHolder : '#hbSlidesContainer',
		thumbClass : '.hbSlideContainer'
	 },

	// options (lower case and miliseconds)
	options : {
		slideDuration : 10000,
		interaptionKickBackDuration : 15000,
		transitionDuration : 2000,
		initialDirection : 'right',
		nextSlideInPlayNavPop : 'yes',
		nextSlideInPlayNavPopDuration : 1000
		},
	
	// thumb strip
	


	// controls selectors
	controls : {
		stage : {
			left : '#hbSldShwNav_toLeftButton',
			right : '#hbSldShwNav_toRightButton',
			duration : 250,
			opacityNone : '0',
			opacityHalfState : '.75',
			opacityFull : '1'
		 }, 
		bar : {
			left : '#hbLeftGate',
			right : '#hbRightGate',
			duration : 550,
			animationDuration : 250,
			thumbWidth : 138,
			startPoint : 96
		 },
		methods : {
			nextSlide : function(direction, resetTimer){
				
				// if navigation was used
				if (resetTimer == true) {
					clearInterval(hbTimersStorage[1]);
					clearTimeout(hbTimersStorage[2])
					
					hbTimersStorage[2] = setTimeout(function(){
						hbSlideShowSetUp.controls.methods.nextSlide(hbSlideShowSetUp.options.initialDirection);
						hbTimersStorage[1] = setInterval("hbSlideShowSetUp.controls.methods.nextSlide(hbSlideShowSetUp.options.initialDirection)", hbSlideShowSetUp.options.slideDuration);
					}, hbSlideShowSetUp.options.interaptionKickBackDuration);
				}
				
				// bump the nav
				if (resetTimer !== true) {
					if (hbDataHolder[0] !== 'hover') {
						if (hbSlideShowSetUp.options.nextSlideInPlayNavPop == 'yes') {
							if (direction == 'left') {
								$(hbSlideShowSetUp.controls.stage.left)
									.fadeTo(hbSlideShowSetUp.options.nextSlideInPlayNavPopDuration, hbSlideShowSetUp.controls.stage.opacityFull, function() {
										if (hbDataHolder[0] !== 'hover') {
											$(hbSlideShowSetUp.controls.stage.left)
												.fadeTo(hbSlideShowSetUp.options.nextSlideInPlayNavPopDuration, hbSlideShowSetUp.controls.stage.opacityNone);
										} else {
											$(hbSlideShowSetUp.controls.stage.left)
												.fadeTo(hbSlideShowSetUp.options.nextSlideInPlayNavPopDuration, hbSlideShowSetUp.controls.stage.opacityHalfState);
										}
									});
							}
							if (direction == 'right') {
								$(hbSlideShowSetUp.controls.stage.right)
									.fadeTo(hbSlideShowSetUp.options.nextSlideInPlayNavPopDuration, hbSlideShowSetUp.controls.stage.opacityFull, function() {
										if (hbDataHolder[0] !== 'hover') {
											$(hbSlideShowSetUp.controls.stage.right)
												.fadeTo(hbSlideShowSetUp.options.nextSlideInPlayNavPopDuration, hbSlideShowSetUp.controls.stage.opacityNone);
										} else {
											$(hbSlideShowSetUp.controls.stage.right)
												.fadeTo(hbSlideShowSetUp.options.nextSlideInPlayNavPopDuration, hbSlideShowSetUp.controls.stage.opacityHalfState);
										}
									});
							}
						}
					}
				}
				
				var _fresh;
				
				// identify current slide
				if (hbSlideShowSetUp.slide.currentlyPlayed == 0) {
					hbSlideShowSetUp.slide.currentlyPlayed = 1;
					if (direction == 'left') {
						hbSlideShowSetUp.slide.currentlyPlayed = hbSlideShowSetUp.slide.count;
						
					}
					_fresh = true;
				 } else {
					if (direction == 'left') {
						hbSlideShowSetUp.slide.currentlyPlayed = hbSlideShowSetUp.slide.currentlyPlayed - 1;
					} else if (direction == 'right') {
						hbSlideShowSetUp.slide.currentlyPlayed = hbSlideShowSetUp.slide.currentlyPlayed + 1;
					} else if (/^\d*$/.test(direction)) {
						hbSlideShowSetUp.slide.currentlyPlayed = direction;
					}
					if (hbSlideShowSetUp.slide.currentlyPlayed < 1) {
						hbSlideShowSetUp.slide.currentlyPlayed = hbSlideShowSetUp.slide.count;
					}
					if (hbSlideShowSetUp.slide.currentlyPlayed > hbSlideShowSetUp.slide.count) {
						hbSlideShowSetUp.slide.currentlyPlayed = 1;
					}
				 }
				
				// animation of thumb strip
				function hbThumbStripAnimation() {				
					var _leftEvalution;
					
					if(_fresh && direction == 'left'){
						_leftEvalution = (hbSlideShowSetUp.controls.bar.startPoint + hbSlideShowSetUp.controls.bar.thumbWidth) - ((hbSlideShowSetUp.slide.count * hbSlideShowSetUp.controls.bar.thumbWidth) - (hbSlideShowSetUp.controls.bar.thumbWidth * 5));
						//alert('a');
					} else {					
						if (hbSlideShowSetUp.slide.currentlyPlayed <= hbSlideShowSetUp.slide.count - 5) {
							_leftEvalution = (hbSlideShowSetUp.controls.bar.startPoint + hbSlideShowSetUp.controls.bar.thumbWidth) - (hbSlideShowSetUp.slide.currentlyPlayed * hbSlideShowSetUp.controls.bar.thumbWidth);
						}
						if (hbSlideShowSetUp.slide.currentlyPlayed >= hbSlideShowSetUp.slide.count - 5) {
							_leftEvalution = (hbSlideShowSetUp.controls.bar.startPoint + hbSlideShowSetUp.controls.bar.thumbWidth) - ((hbSlideShowSetUp.slide.count * hbSlideShowSetUp.controls.bar.thumbWidth) - (hbSlideShowSetUp.controls.bar.thumbWidth * 5));
						}
					}
					
					
					
					//if (hbSlideShowSetUp.slide.currentlyPlayed <= hbSlideShowSetUp.slide.count - 5 || hbSlideShowSetUp.options.initialDirection !== direction) {
						$(hbSlideShowSetUp.slide.slideThumbsHolder).animate({
							left: _leftEvalution
						}, hbSlideShowSetUp.controls.bar.animationDuration, function() {
							// Animation complete.
						});
					//}
					
					//if (hbSlideShowSetUp.slide.currentlyPlayed <= (hbSlideShowSetUp.slide.count - 5) || hbSlideShowSetUp.slide.currentlyPlayed == hbSlideShowSetUp.slide.count) {
						
					//}
				}
				
				// slides ids
				var _toLeftSlide;
				var _currentSlide = hbSlideShowSetUp.slide.currentlyPlayed;
				var _toRightSlide;
				
				
				_toLeftSlide = _currentSlide - 1;
				if (_toLeftSlide < 1) {
					_toLeftSlide = hbSlideShowSetUp.slide.count;
				}
				
				_toRightSlide = _currentSlide + 1;
				if (_toRightSlide > hbSlideShowSetUp.slide.count) {
					_toRightSlide = 1;
				}
								
				// id short cuts
				var _toLeftSlideId = hbSlideShowSetUp.controls.methods.idGenerator('image', _toLeftSlide);
				var _currentSlideId = hbSlideShowSetUp.controls.methods.idGenerator('image', _currentSlide);
				var _toRightSlideId = hbSlideShowSetUp.controls.methods.idGenerator('image', _toRightSlide);
				
				var _toLeftSlideTitleBarId = hbSlideShowSetUp.controls.methods.idGenerator('titleBar', _toLeftSlide);
				var _currentSlideTitleBarId = hbSlideShowSetUp.controls.methods.idGenerator('titleBar', _currentSlide);
				var _toRightSlideTitleBarId = hbSlideShowSetUp.controls.methods.idGenerator('titleBar', _toRightSlide);
				
				var _toLeftSlideInfoBoxesId = hbSlideShowSetUp.controls.methods.idGenerator('infoBoxes', _toLeftSlide);
				var _currentSlideInfoBoxesId = hbSlideShowSetUp.controls.methods.idGenerator('infoBoxes', _currentSlide);
				var _toRightSlideInfoBoxesId = hbSlideShowSetUp.controls.methods.idGenerator('infoBoxes', _toRightSlide);
				
				var _toLeftSlideInfoBlockId = hbSlideShowSetUp.controls.methods.idGenerator('infoBlock', _toLeftSlide);
				var _currentSlideInfoBlockId = hbSlideShowSetUp.controls.methods.idGenerator('infoBlock', _currentSlide);
				var _toRightSlideInfoBlockId = hbSlideShowSetUp.controls.methods.idGenerator('infoBlock', _toRightSlide);
				
				var _toLeftSlideThumbId = hbSlideShowSetUp.controls.methods.idGenerator('thumb', _toLeftSlide);
				var _currentSlideThumbId = hbSlideShowSetUp.controls.methods.idGenerator('thumb', _currentSlide);
				var _toRightSlideThumbId = hbSlideShowSetUp.controls.methods.idGenerator('thumb', _toRightSlide);
				
				
				
				
				// transition animation
				if (_fresh == true) {
					$(_currentSlideId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					
					if ($(hbSlideShowSetUp.slide.titleBarsHolder).length) {
						$(_currentSlideTitleBarId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					}
					
					if ($(hbSlideShowSetUp.slide.infoBoxesHolder).length) {
						$(_currentSlideInfoBoxesId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					}
					
					if ($(hbSlideShowSetUp.slide.infoBlockHolder).length) {
						$(_currentSlideInfoBlockId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
							
							extendSlideShow.methods.showSlideShowIndexStatus(); // show slide show current status
						
					}
					
					if ($(hbSlideShowSetUp.slide.slideThumbsHolder).length) {
						$(_currentSlideThumbId).toggleClass(hbSlideShowSetUp.slide.idPart_thumbSelected);
						hbThumbStripAnimation();
					}
				} else {
					if (direction == 'left') {
						$(_toRightSlideId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
						
						if ($(hbSlideShowSetUp.slide.titleBarsHolder).length) {
							$(_toRightSlideTitleBarId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
						}
						
						if ($(hbSlideShowSetUp.slide.infoBoxesHolder).length) {
							$(_toRightSlideInfoBoxesId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
						}
						
						if ($(hbSlideShowSetUp.slide.infoBlockHolder).length) {
							$(_toRightSlideInfoBlockId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
								extendSlideShow.methods.showSlideShowIndexStatus(); // show slide show current status
						}
						
						if ($(hbSlideShowSetUp.slide.slideThumbsHolder).length) {
							$(_toRightSlideThumbId).toggleClass(hbSlideShowSetUp.slide.idPart_thumbSelected);
						}
					} else if (direction == 'right') {						
						$(_toLeftSlideId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
						
						if ($(hbSlideShowSetUp.slide.titleBarsHolder).length) {
							$(_toLeftSlideTitleBarId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
						}
						
						if ($(hbSlideShowSetUp.slide.infoBoxesHolder).length) {
							$(_toLeftSlideInfoBoxesId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
						}
						
						if ($(hbSlideShowSetUp.slide.infoBlockHolder).length) {
							$(_toLeftSlideInfoBlockId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
								extendSlideShow.methods.showSlideShowIndexStatus(); // show slide show current status
						}
						
						if ($(hbSlideShowSetUp.slide.slideThumbsHolder).length) {
							$(_toLeftSlideThumbId).toggleClass(hbSlideShowSetUp.slide.idPart_thumbSelected);
						}
					}
					
					$(_currentSlideId).fadeTo(0, 0);
					$(_currentSlideId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					$(_currentSlideId).fadeTo(hbSlideShowSetUp.options.transitionDuration, 1);
					
					if ($(hbSlideShowSetUp.slide.titleBarsHolder).length) {
						$(_currentSlideTitleBarId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					}
					
					if ($(hbSlideShowSetUp.slide.infoBoxesHolder).length) {
						$(_currentSlideInfoBoxesId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					}
					
					if ($(hbSlideShowSetUp.slide.infoBlockHolder).length) {
						$(_currentSlideInfoBlockId).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					}
					
					if ($(hbSlideShowSetUp.slide.slideThumbsHolder).length) {
						$(_currentSlideThumbId).toggleClass(hbSlideShowSetUp.slide.idPart_thumbSelected);
						hbThumbStripAnimation();
					}
				}
			},
			idGenerator : function(_type, _count){
				var _sep = hbSlideShowSetUp.slide.idPartsSeperator;
				var _idType = ''
				if(_type == 'image') {
					_idType = hbSlideShowSetUp.slide.idPart_image;
				 }
				if(_type == 'titleBar') {
					_idType = hbSlideShowSetUp.slide.idPart_titleBar;
				 }
				if(_type == 'infoBoxes') {
					_idType = hbSlideShowSetUp.slide.idPart_infoBoxes;
				 }
				if(_type == 'thumb') {
					_idType = hbSlideShowSetUp.slide.idPart_thumb;
				}
				if(_type == 'infoBlock') {
					_idType = hbSlideShowSetUp.slide.idPart_infoBlock;
				}
				return hbSlideShowSetUp.slide.idBase + _sep + _count + _sep + _idType;
				
			}
		}
	}
 }

// SlideShow To Execute
function hbSlideShowExecute() {
	
	// set the slideshow type
	/* cab be:
		hbCoIdFEC003, hbCoIdFEC003details, hbCoIdFEC016, hbCoIdFEC024
	*/
	hbSlideShowSetUp.slideShowType = $(hbSlideShowSetUp.combiner).attr('class');
	
	// count number of slides
	$(hbSlideShowSetUp.stage).children(hbSlideShowSetUp.slide.imageClass).each(function(index) {
		hbSlideShowSetUp.slide.count = ++index;
	 });
	
	// slide show control / listeners
	// left
	$(hbSlideShowSetUp.controls.stage.left)
		.css({ 'visibility' : 'visible', 'opacity' : '0', 'filter' : 'alpha(opacity=0)'})
		.hover(
			function () {
				$(hbSlideShowSetUp.controls.stage.left)
					.fadeTo(hbSlideShowSetUp.controls.stage.duration, hbSlideShowSetUp.controls.stage.opacityFull);
			 }, 
			function () {
				$(hbSlideShowSetUp.controls.stage.left)
					.fadeTo(0, hbSlideShowSetUp.controls.stage.opacityHalfState);
			 }
		 )
		.bind('click', function() {
			hbSlideShowSetUp.controls.methods.nextSlide('left', true);
		 });
	if ($(hbSlideShowSetUp.slide.slideThumbsHolder).length) {
		$(hbSlideShowSetUp.controls.bar.left)
			.hover(
				function () {
					clearInterval(hbTimersStorage[1])
					hbTimersStorage[3] = setInterval("hbSlideShowSetUp.controls.methods.nextSlide('left', true)", hbSlideShowSetUp.controls.bar.duration);
				 }, 
				function () {
					clearInterval(hbTimersStorage[3])
					hbTimersStorage[1] = setInterval("hbSlideShowSetUp.controls.methods.nextSlide(hbSlideShowSetUp.options.initialDirection)", hbSlideShowSetUp.options.slideDuration);
				 }
			 )
	}
	// right
	$(hbSlideShowSetUp.controls.stage.right)
		.css({ 'visibility' : 'visible', 'opacity' : '0', 'filter' : 'alpha(opacity=0)'})
		.hover(
			function () {
				$(hbSlideShowSetUp.controls.stage.right)
					.fadeTo(hbSlideShowSetUp.controls.stage.duration, hbSlideShowSetUp.controls.stage.opacityFull);
			 }, 
			function () {
				$(hbSlideShowSetUp.controls.stage.right)
					.fadeTo(0, hbSlideShowSetUp.controls.stage.opacityHalfState);
			 }
		 )
		.bind('click', function() {
			hbSlideShowSetUp.controls.methods.nextSlide('right', true);
		 });
	if ($(hbSlideShowSetUp.slide.slideThumbsHolder).length) {
		$(hbSlideShowSetUp.controls.bar.right)
			.hover(
				function () {
					clearInterval(hbTimersStorage[1])
					hbTimersStorage[3] = setInterval("hbSlideShowSetUp.controls.methods.nextSlide('right', true)", hbSlideShowSetUp.controls.bar.duration);
				 }, 
				function () {
					clearInterval(hbTimersStorage[3])
					hbTimersStorage[1] = setInterval("hbSlideShowSetUp.controls.methods.nextSlide(hbSlideShowSetUp.options.initialDirection)", hbSlideShowSetUp.options.slideDuration);
				 }
			 )
	}
	// stage
	$(hbSlideShowSetUp.stage).hover(
		function () {
			$(hbSlideShowSetUp.controls.stage.left)
				.fadeTo(hbSlideShowSetUp.controls.stage.duration, hbSlideShowSetUp.controls.stage.opacityHalfState);
			$(hbSlideShowSetUp.controls.stage.right)
				.fadeTo(hbSlideShowSetUp.controls.stage.duration, hbSlideShowSetUp.controls.stage.opacityHalfState);
			hbDataHolder[0] = 'hover'
		 }, 
		function () {
			$(hbSlideShowSetUp.controls.stage.left)
				.fadeTo(hbSlideShowSetUp.controls.stage.duration, hbSlideShowSetUp.controls.stage.opacityNone);
			$(hbSlideShowSetUp.controls.stage.right)
				.fadeTo(hbSlideShowSetUp.controls.stage.duration, hbSlideShowSetUp.controls.stage.opacityNone);
			hbDataHolder[0] = ''
		 }
	 );
	 
	// thumb strip
	if ($(hbSlideShowSetUp.slide.slideThumbsHolder).length) {
		$(hbSlideShowSetUp.slide.slideThumbsHolder)
			.children(hbSlideShowSetUp.slide.thumbClass)
			.each(function(index) {
				$(this).bind('click', function() {
					$(hbSlideShowSetUp.controls.methods.idGenerator('thumb', hbSlideShowSetUp.slide.currentlyPlayed)).toggleClass(hbSlideShowSetUp.slide.idPart_thumbSelected);
					
					$(hbSlideShowSetUp.controls.methods.idGenerator('infoBoxes', hbSlideShowSetUp.slide.currentlyPlayed)).toggleClass(hbSlideShowSetUp.slide.slideHideClass);
					
					$(hbSlideShowSetUp.controls.methods.idGenerator('image', hbSlideShowSetUp.slide.currentlyPlayed)).toggleClass(hbSlideShowSetUp.slide.slideHideClass);

					hbSlideShowSetUp.controls.methods.nextSlide(++index);
					
				 });
			});

	}
	
	
	// lunch slideshow
	hbSlideShowSetUp.controls.methods.nextSlide(hbSlideShowSetUp.options.initialDirection);
	hbTimersStorage[1] = setInterval("hbSlideShowSetUp.controls.methods.nextSlide(hbSlideShowSetUp.options.initialDirection)", hbSlideShowSetUp.options.slideDuration);

 }
/* 
 * END - SLIDE SHOW SCRIPT v2.0 */
 
/*
 * * History Slides
 *
 * START */
 
function historySlideShow () {
	$('#hbHistoryLine').children('li').each(function() {
		$(this).click(function() {
			//alert(index + ': ' + $(this).text());
			$('#hbHistoryLine').children('li').each(function() {
				if ($(this).hasClass('hbSelectedDate')) {
					$(this).toggleClass('hbSelectedDate');
				}
			});
			$(this).toggleClass('hbSelectedDate');
			$('.hbBlockContainerType1').each(function() {
				if (!$(this).hasClass('hbHiddenSlide')) {
					$(this).toggleClass('hbHiddenSlide');
				}
			});
			$('#hbHistorySlide_' + $(this).text()).toggleClass('hbHiddenSlide');
			//hbBlockContainerType1
		});
	});
}
 
 /* 
 * END - SLIDE SHOW SCRIPT v2.0 */
 
 /*Slide show Extends*/
 var extendSlideShow = {

	options : {
		showSlideShowIndexStatusIn : ''
	},
	
	methods : {
			showSlideShowIndexStatus : function(){
				var outStringStatus = hbSlideShowSetUp.slide.currentlyPlayed+' of '+$('.hbSldShwSlide').length;
					if(extendSlideShow.options.showSlideShowIndexStatusIn!=''){
						$('#'+extendSlideShow.options.showSlideShowIndexStatusIn).html(outStringStatus);
					}
				
				}
			}
	}
 
 			
 /*Slide show Extends End*/
 
/*
 * * Calendar
 *
 * START */
 
function calendarUpdate(dateText) {

	$('#idArrivingDatePlaceHolder').text(dateText);
}
 
 /* 
 * END - Calendar */
 
// Execute All
jQuery(document).ready(function () {
	
	// Slide Show Execute
	if($(hbSlideShowSetUp.combiner).length){
		hbSlideShowExecute();
	}
	
	
	// Our History Slideshow
	if($('#hbHistoryLine').length){
		historySlideShow();
	}
	
	// Select Box Modification
	if($('.hbSelectHolder').length){
		
		var ieBrowser = false;
		var ieSixVersion = false;
		
		if (jQuery.browser.msie) {
			ieBrowser = true;
		}
		
		if (jQuery.browser.version == "6.0") {
			ieSixVersion = true;
		}
		
		if (ieBrowser == false && ieSixVersion == false) {
			$('.hbSelectHolder select').sSelect();
		} else if (ieBrowser == true && ieSixVersion == false) {
			$('.hbSelectHolder select').sSelect();
		}
	}
	
	
});



