/**
* JS for MM A0 template
*/



/**************************************
*************************** TEMPLATE A0
**************************************/

var MMA0 = {
	
	init: function() {
		
		// elements
		MMA0.boxes = $('#boxes-home');
		
		// init boxes
		MMA0.initBoxes();
		
		// flash movie for ipad
		MMA0.checkFlashMovieForIPad();
		
	},
	
	resize: function() {
		
		var boxesW = ($(window).width() <= 960 ? 960 : $(window).width() >= 1160 ? 1160 : $(window).width());
		
		MMA0.boxes.css({
			width: boxesW + "px"//,
			//"margin-left": (($(window).width() - boxesW) / 2) + "px" <<commentata per evitare il bug dei 10px
		});
		
	},
	
	initBoxes: function() {
		
		MMA0.boxes.find('a .mini-dark').fadeTo('fast', 0.60);
		MMA0.boxes.find('a').hover(MMA0.handleBoxOver, MMA0.handleBoxOut);
		
		if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
			
			MMA0.boxes.find('a').bind('click', MMA0.handleBoxTouch);
			
		}
			
		MMA0.boxes.find('a').css({height: '40px', overflow: 'hidden'});
		MMA0.boxes.find('a img').css('bottom', '0');
		MMA0.boxes.find('a .mini-dark').css('top', '0');
		MMA0.boxes.find('a .box-title').css('top', '20px');
		
		
	},
	
	handleBoxOver: function() {
		
		$(this).stop().animate({
		    height: '80px'
		}, 'fast');
		
		$(this).find('.mini-dark').stop().animate({
		    top: '40px'
		}, 'fast');
		
		$(this).find('.box-title').stop().animate({
		    top: '60px'
		}, 'fast');
		
	},
	
	handleBoxOut: function() {
		
		$(this).stop().animate({
		    height: '40px'
		}, 'fast');
		
		$(this).find('.mini-dark').stop().animate({
		    top: '0'
		}, 'fast');
		
		$(this).find('.box-title').stop().animate({
		    top: '20px'
		}, 'fast');
		
	},
	
	handleBoxTouch: function(event) {
		
		$(this).oneTime(1000, function() {
			window.location.href = event.currentTarget.href;
		});
		
		return false;
		
	},
	
	checkFlashMovieForIPad: function() {
		
		if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
			
			
			$('#com').css({
				overflow: 'hidden',
				position: 'relative'
			});
			
			
			var date = new Date();
			var sliderHTML;
			
			switch (true) {

				case date.getHours() >= 6 && date.getHours() <= 14:

					sliderHTML = '<div><img src="flash/slider-hours/library/slider-hours/MM-D-01.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-08.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-12.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-02.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-00.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-05.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-07.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-03.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-04.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-D-06.jpg" /></div>';
							
					break;

				case date.getHours() >= 14 && date.getHours() <= 19:

					sliderHTML = '<div><img src="flash/slider-hours/library/slider-hours/MM-S-02.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-06.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-11.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-01.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-04.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-10.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-03.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-05.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-08.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-09.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-07.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-S-00.jpg" /></div>';
					break;
				
				case date.getHours() >= 0 && date.getHours() <= 6:
				case date.getHours() >= 19 && date.getHours() <= 24:
					
					sliderHTML = '<div><img src="flash/slider-hours/library/slider-hours/MM-N-00.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-N-01.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-N-03.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-N-04-R01.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-N-06.jpg" /></div>'
							   + '<div><img src="flash/slider-hours/library/slider-hours/MM-N-07.jpg" /></div>';
					break;
				
			}
			
			$('.flash-movie').html(sliderHTML);
			$('.flash-movie').css({
				position: 'absolute',
				width: ($('.flash-movie div').length + 1) * $('.flash-movie div').eq(0).width() + 'px'
			});
			$('.flash-movie div').css({
				display: 'block',
				float: 'left'
			});
			
			$('#com').bind('touchstart', MMA0.touchHandler);
			$('#com').bind('touchmove', MMA0.touchHandler);
			$('#com').bind('touchend', MMA0.touchHandler);
			$('#com').bind('touchcancel', MMA0.touchHandler);
			
			
			MMA0.iPadSlides = $('.flash-movie div');
			MMA0.iPadSlideNow = 0;
			MMA0.iPadSlideTot = MMA0.iPadSlides.length;
			
			MMA0.iPadSlides.eq(0).find('img').load(function() {
			  MMA0.iPadSlideTo(0);
			});
			
		}
		
	},
	
	touchHandler: function(e) {
		
		// If the user has started a touch event
		if (e.originalEvent.type == "touchstart") {
			
			MMA0.touching = true;
			
			// If there's only one finger touching
			if (e.originalEvent.touches.length == 1) {
				
				var touch = e.originalEvent.touches[0];
				
				// The originating X-coord (point where finger first touched the screen)
				MMA0.startX = touch.pageX;
				
				// Reset default values for current X-coord and scroll distance
				MMA0.nowX = 0;
				MMA0.scrollX = 0;
				
			}
			
		}
		// If the user has touched the screen and moved the finger
		else if (e.originalEvent.type == "touchmove") {
			
			// Prevent the default scrolling behaviour (notice: This disables vertical scrolling as well)
		    e.originalEvent.preventDefault();

			// If there's only one finger touching
			if (e.originalEvent.touches.length == 1) {
				
				var touch = e.originalEvent.touches[0];
				// The current X-coord of the users finger
				
				MMA0.nowX = touch.pageX;
				
				// If the user moved the finger from the right to the left
				if (MMA0.startX > MMA0.nowX) {
					
					// Find the scrolling distance
					MMA0.scrollX = MMA0.startX - MMA0.nowX;
					
					// If the user scrolled more than 100 pixels
					if (MMA0.scrollX > 200) {
						
						if (MMA0.touching) {
						
							MMA0.touching = false;
						
							MMA0.iPadSlideTo(MMA0.iPadSlideNow + 1 >= MMA0.iPadSlideTot ? MMA0.iPadSlideTot - 1 : MMA0.iPadSlideNow + 1);
							
						}
						
					} else {
						
						var xTo = - MMA0.iPadSlides.eq(0).width() * MMA0.iPadSlideNow - MMA0.scrollX + ($(window).width() - MMA0.iPadSlides.eq(0).width()) / 2;
						
						$('.flash-movie').css({
						    left: xTo + 'px'
						});
						
					}
					
				// If the user moved the finger from the left to the right
				} else {
					
					// Find the scrolling distance
					MMA0.scrollX = MMA0.nowX - MMA0.startX;
					
					// If the user scrolled more than 100 pixels
					if (MMA0.scrollX > 200) {
						
						if (MMA0.touching) {
							
							MMA0.touching = false;
						
							MMA0.iPadSlideTo(MMA0.iPadSlideNow - 1 < 0 ? 0 : MMA0.iPadSlideNow - 1);
							
						}
						
					} else {

						var xTo = - MMA0.iPadSlides.eq(0).width() * MMA0.iPadSlideNow + MMA0.scrollX + ($(window).width() - MMA0.iPadSlides.eq(0).width()) / 2;

						$('.flash-movie').css({
						    left: xTo + 'px'
						});

					}
				}
			}
		}
		// If the user has removed the finger from the screen
		else if (e.originalEvent.type == "touchend" || e.originalEvent.type == "touchcancel") {
			
			if (MMA0.touching) {
			
				// Defines the finger as not touching
				MMA0.touching = false;
			
				MMA0.iPadSlideTo(MMA0.iPadSlideNow);
				
			}
			
		}
		
	},
	
	iPadSlideTo: function(nextSlide) {
		
		MMA0.iPadSlideNow = nextSlide;
		
		var xTo = - MMA0.iPadSlides.eq(0).width() * nextSlide + ($(window).width() - MMA0.iPadSlides.eq(0).width()) / 2;
		
		$('.flash-movie').stop().animate({
		    left: xTo + 'px'
		}, 'medium');
		
	}
	
};




/**************************************
************************** MM listeners
**************************************/

MM.addEventListener(MM.EVENT_INIT, MMA0.init, MM);

MM.addEventListener(MM.EVENT_RESIZE, MMA0.resize, MM);
