
	$(function() {
		$('#top').click(function() {
			$('html,body').animate({ scrollTop : 0}, 400, 'swing');
				return false;
		});
		
		$('#landing_content img[src$=.jpg] :not(.landing_gender_player_content img)').hover(
			function() {
				$(this).fadeTo(200, 0.6);
			},
			function() {
				$(this).fadeTo(500, 1.0); 
			}
		);
		
		$('div.landing_gender_widget .landing_gender_widget_content').each(function() {
			$(this).mouseenter(function() {
				$(this).children().eq(0).fadeTo('normal', 0.2);
				$(this).children().eq(1).fadeIn('normal');
			});
			
			$(this).mouseleave(function() {
				$(this).children().eq(1).fadeOut('normal');
				$(this).children().eq(0).fadeTo('normal', 1);
			});
		});
		
		/* V I D E O   P L A Y E R */
		
		var video_fade_delay = 500;
		var video_movie_delay = 1500;
		var video_player_is_active = false;
		
		$('.landing_gender_widget_content_view_video a, .landing_gender_player_content .landing_image_div img[src$=_empty_video.jpg]').click(function() {
			showVideoPlayer();
			return false;
		});
		
		$('#landing_gender_video_close a').click(function() {
			hideVideoPlayer();
			return false;
		});
		
		$('#landing_gender_video_container').mouseenter(function() {
			$('#landing_gender_video_close').fadeIn(video_fade_delay);
		});
		
		$('#landing_gender_video_container').mouseleave(function() {
			$('#landing_gender_video_close').fadeOut(video_fade_delay);
		});
		
		function showVideoPlayer() {
			video_player_is_active = true;
			$('#landing_gender_video_container').fadeIn(video_fade_delay, function() {
				setTimeout(function() {
					$('#landing_gender_splash').fadeOut(video_fade_delay);
					$('#vzaar_video_content').fadeIn(video_fade_delay);
				}, video_movie_delay);
			});
		}
		
		function hideVideoPlayer() {
			$('#landing_gender_video_container').fadeOut(video_fade_delay, function() {
				video_player_is_active = false;
				$('#landing_gender_video_close').hide();
				$('#landing_gender_splash').show();
				$('#vzaar_video_content').hide();
			});
		}
		
		/* I M A G E   S L I D E R */
		
		// number of possible images
		var image_count = $('div.landing_gender_player_content .landing_image_div').length;
		
		// current center image number
		var current_image = 2;
		
		// start value for autoplay 
		var autoplay_current = 1;
		
		var autoplay_change_trigger_value = 3;
		
		// flag if animation is in progress (then any other action cannot be done)
		var animation_in_progress = false;
		
		// flag if images position should be restored to default values (i.e. after mouseleave from left/right image without click)
		var do_not_restore_image_position = false;
		
		// flag if mouse is currently over left/right image
		var is_mouse_over_image = false;
		
		// animation time for bouncing
		var bounce_duration_time = 500;
		
		// animation time for sliding
		var slide_duration_time = 1000;
		
		// default image width value (in pixels)
		var default_image_width = 590;
		
		// default image margin right value (in pixels)
		var default_image_margin_right = 33;
		
		// default image bounce value (in pixels)
		var default_image_bounce_value = 100;
		
		// default left image position value (in pixels)
		var default_left_image_position = -522;
		
		// default center image position value (in pixels)
		var default_center_image_position = default_left_image_position + default_image_width + default_image_margin_right;
		
		// default right image position value (in pixels)
		var default_right_image_position = default_center_image_position + default_image_width + default_image_margin_right;
		
		// default before left image position value (in pixels)
		var default_before_left_image_position = default_left_image_position - default_center_image_position;
		
		// default after right image position value (in pixels)
		var default_after_right_image_position = default_center_image_position + default_right_image_position;
		
		if ( image_count == 1 ) {
			current_image = 1;
		}
		
		setDefaultImagesPosition();
		refreshEvents();
		
		$('#landing_scroller_prev').click(function() {
			$('#landing_image_' + getImageNumber('left')).trigger('click');
		});
		$('#landing_scroller_prev').mouseenter(function() {
			$(this).fadeTo(200, 0.4);
			$('#landing_image_' + getImageNumber('left')).trigger('mouseenter');
		});
		$('#landing_scroller_prev').mouseleave(function() {
			$(this).fadeTo(200, 1.0);
			$('#landing_image_' + getImageNumber('left')).trigger('mouseleave');
		});
		
		$('#landing_scroller_next').click(function() {
			$('#landing_image_' + getImageNumber('right')).trigger('click');
		});
		$('#landing_scroller_next').mouseenter(function() {
			$(this).fadeTo(200, 0.4);
			$('#landing_image_' + getImageNumber('right')).trigger('mouseenter');
		});
		$('#landing_scroller_next').mouseleave(function() {
			$(this).fadeTo(200, 1.0);
			$('#landing_image_' + getImageNumber('right')).trigger('mouseleave');
		});
		
		
    	/**
    	 * Set default positions for first images
    	 */
    	function setDefaultImagesPosition() {
    		var elem = null;
    		var start_position = 1320;
    		
			animation_in_progress = true;
			
			elem = $('#landing_image_' + getImageNumber('left'));
    		elem.css('left', (start_position + default_left_image_position) + 'px');
    		elem.show();
    		elem.animate(
					{
						left: default_left_image_position + 'px'
					},
					{
						queqe: false, 
						duration: slide_duration_time
					}
			);
			
    		elem = $('#landing_image_' + getImageNumber('center'));
    		elem.css('left', (start_position + default_center_image_position) + 'px');
    		elem.show();
			elem.animate(
					{
						left: default_center_image_position + 'px'
					},
					{
						queqe: false, 
						duration: slide_duration_time,
						complete: function(){
							setTimeout(function() {
								animation_in_progress = false;
								
								// Show navigation arrows
								$('#landing_scroller_prev, #landing_scroller_next').fadeIn();
							}, 250);
						}
					}
			);
			
			elem = $('#landing_image_' + getImageNumber('right'));
    		elem.css('left', (start_position + default_right_image_position) + 'px');
    		elem.show();
			elem.animate(
					{
						left: default_right_image_position + 'px'
					},
					{
						queqe: false, 
						duration: slide_duration_time
					}
			);
    	}
    	
    	/**
    	 * Refresh events
    	 */
    	function refreshEvents() {
    		// remove events
    		$('.landing_gender_player_content .landing_image_div').each(function() {
        		$(this).unbind('mouseenter');
        		$(this).unbind('mouseleave');
        		$(this).unbind('click');
        	});
    		
    		// add events
    		var elem = null;
    		
    		elem = $('#landing_image_' + getImageNumber('left'));
    		elem.mouseenter(function() {
    			is_mouse_over_image = true;
				//bounceImagesRight();
    			return false;
    		});
    		elem.mouseleave(function() {
    			is_mouse_over_image = false;
    			//restoreImagesPosition();
    			return false;
    		});
    		elem.click(function() {
    			$('#landing_scroller_prev, #landing_scroller_next').fadeOut(100, slideImageRight);
    			return false;
    		});
    		
    		elem = $('#landing_image_' + getImageNumber('center'));
    		elem.click(function() {
    			if ( $('a', $(this)).is('a') ) {
    				window.location = $('a', $(this)).attr('href');
    			}
    			return false;
    		});
    		
    		elem = $('#landing_image_' + getImageNumber('right'));
    		elem.mouseenter(function() {
    			is_mouse_over_image = true;
    			//bounceImagesLeft();
    			return false;
    		});
    		elem.mouseleave(function() {
    			is_mouse_over_image = false;
    			//restoreImagesPosition();
    			return false;
    		});
    		elem.click(function() {
    			$('#landing_scroller_prev, #landing_scroller_next').fadeOut(100, slideImageLeft);
    			return false;
    		});
        	
    	}
    	
    	/**
    	 * Display left image after scroll and hide additional images
    	 */
    	function showLeftImageAfterScroll() {
    		var elem = $('#landing_image_' + getImageNumber('left'));
    		
    		elem.css('left', default_left_image_position + 'px');
    		elem.fadeIn('normal');
    		
    		hideAdditionalImageAfterScroll();
    	}
    	
    	/**
    	 * Display right image after scroll and hide additional images
    	 */
    	function showRightImageAfterScroll() {
    		var elem = $('#landing_image_' + getImageNumber('right'));
    		
    		elem.css('left', default_right_image_position + 'px');
    		elem.fadeIn('normal');
    		
    		hideAdditionalImageAfterScroll();
    	}
    	
    	/**
    	 * Hide additional images after scroll
    	 */
    	function hideAdditionalImageAfterScroll() {
    		if ( image_count > 5 ) {
	    		$('#landing_image_' + getImageNumber('before_left')).hide();
	    		$('#landing_image_' + getImageNumber('after_right')).hide();
    		}
    	}
    	
    	/**
    	 * Get image position value
    	 * 
    	 * @param		String		which_image				Image type: left, center, right
    	 * @param		Boolean		with_bounce_added		True - new position after bounce, False - current position
    	 * @param		String		left_or_right			Left or right sliding/bouncing
    	 * 
    	 * @return		Integer		to_return_pos
    	 */
    	function getImageLeftPositionValue(which_image, with_bounce_added, left_or_right) {
			var to_return_pos = 0;
			
			switch ( which_image ) {
				case 'left':
					to_return_pos = default_left_image_position;
					break;
				case 'right':
					to_return_pos = default_right_image_position;
					break;
				case 'center':
				default:
					to_return_pos = default_center_image_position;
					break;
			}
			
			if ( with_bounce_added == true ) {
				if ( left_or_right == 'right' ) {
					to_return_pos += default_image_bounce_value;
				}
				else if ( left_or_right == 'left' ) {
					to_return_pos -= default_image_bounce_value;
				}
			}
			
			return to_return_pos;
		}
		
    	/**
    	 * Slide image to the right hand site
    	 */
		function slideImageRight() {
			autoplay_current = 1;
			do_not_restore_image_position = true;
			
			bounceImages(
				default_center_image_position,
				default_right_image_position,
				default_after_right_image_position,
				true,
				'right',
				slide_duration_time
			);
		}
		
		/**
    	 * Slide image to the right hand site
    	 */
		function slideImageLeft() {
			autoplay_current = 1;
			do_not_restore_image_position = true;
			
			bounceImages(
				default_before_left_image_position,
				default_left_image_position,
				default_center_image_position,
				true,
				'left',
				slide_duration_time
			);
		}
		
		/**
    	 * Bounce image to the left hand site but don't slide
    	 */
		function bounceImagesLeft() {
			bounceImages(
				getImageLeftPositionValue('left', true, 'left'), 
				getImageLeftPositionValue('center', true, 'left'), 
				getImageLeftPositionValue('right', true, 'left'),
				false,
				'left',
				bounce_duration_time
			);
		}
		
		/**
    	 * Bounce image to the right hand site but don't slide
    	 */
		function bounceImagesRight() {
			bounceImages(
				getImageLeftPositionValue('left', true, 'right'), 
				getImageLeftPositionValue('center', true, 'right'), 
				getImageLeftPositionValue('right', true, 'right'),
				false,
				'right',
				bounce_duration_time
			);
		}
		
		/**
    	 * Restore image position after bouncing
    	 */
		function restoreImagesPosition() {
			if ( do_not_restore_image_position == false ) {
				bounceImages(
					default_left_image_position, 
					default_center_image_position, 
					default_right_image_position,
					false,
					'right',
					bounce_duration_time
				);
			}
			do_not_restore_image_position = false;
		}
		
		/**
		 * Check if images need position refresh
		 */
		function checkIfImagesNeedRefresh(left_image_value, center_image_value, right_image_value) {
			if ( Math.abs(parseInt($('#landing_image_' + getImageNumber('left')).css('left'))) == left_image_value ) {
				return false;
			}
			else if ( Math.abs(parseInt($('#landing_image_' + getImageNumber('center')).css('left'))) == center_image_value ) {
				return false;
			}
			else if ( Math.abs(parseInt($('#landing_image_' + getImageNumber('right')).css('left'))) == right_image_value ) {
				return false;
			}
			else {
				return true;
			}
		}
		
		/**
    	 * Animate bouncing/sliding
    	 */
		function bounceImages(left_image_value, center_image_value, right_image_value, refresh_events, left_or_right, duration_time) {
			if ( animation_in_progress == false ) {
				if ( !checkIfImagesNeedRefresh(left_image_value, center_image_value, right_image_value) ) {
					return true;
				}
				animation_in_progress = true;
				
				$('#landing_image_' + getImageNumber('left')).animate(
						{
							left: left_image_value + 'px'
						},
						{
							queqe: false, 
							duration: duration_time
						}
				);
				
				$('#landing_image_' + getImageNumber('center')).animate(
						{
							left: center_image_value + 'px'
						},
						{
							queqe: false, 
							duration: duration_time,
							complete: function(){
								setTimeout(function() {
									animation_in_progress = false;
									
									// Show navigation arrows
									$('#landing_scroller_prev, #landing_scroller_next').fadeIn();
									
									if ( refresh_events == true ) {
										if ( left_or_right == 'left' ) {
											current_image = getImageNumber('right');
											showRightImageAfterScroll();
										}
										else {
											current_image = getImageNumber('left');
											showLeftImageAfterScroll();
										}
										
										refreshEvents();
									}
									/*else {
										if ( left_or_right == 'left' ) {
											$('#landing_image_' + getImageNumber('right')).trigger('click');
										}
										else {
											$('#landing_image_' + getImageNumber('left')).trigger('click');
										}
									}*/
								}, 250);
							}
						}
				);
				
				$('#landing_image_' + getImageNumber('right')).animate(
						{
							left: right_image_value + 'px'
						},
						{
							queqe: false, 
							duration: duration_time
						}
				);
			}
		}
		
		/**
    	 * Get image number
    	 * 
    	 * @param		String		which_image
    	 * 
    	 * @return		Integer		image_number
    	 */
		function getImageNumber(which_image) {
			var image_number = 0;
			
			switch ( which_image ) {
				case 'left':
					if ( current_image == 1 ) {
						image_number = image_count;
					}
					else {
						image_number = current_image-1;
					}
				break;
				case 'right':
					if ( current_image == image_count ) {
						image_number = 1;
					}
					else {
						image_number = current_image+1;
					}
				break;
				case 'center':
					image_number = current_image;
				break;
				case 'before_left':
					if ( getImageNumber('left') == 1 ) {
						image_number = image_count;
					}
					else {
						image_number = getImageNumber('left')-1;
					}
				break;
				case 'after_right':
					if ( getImageNumber('right') == image_count ) {
						image_number = 1;
					}
					else {
						image_number = getImageNumber('right')+1;
					}
				break;
			}
			
			return image_number;
		}
		
		if ( image_count > 1 ) {
			// Set autoplayer ON
			setInterval(function() {
				if ( video_player_is_active == false ) {
					if ( autoplay_current >= autoplay_change_trigger_value ) {
						autoplay_current = 1;
						if ( !is_mouse_over_image ) {
							$('#landing_image_' + getImageNumber('right')).trigger('click');
						}
					}
					else {
						autoplay_current++;
					}
				}
			}, 2000);
			
			// Set autobouncing ON
			setInterval(function() {
				if ( animation_in_progress == false ) {
					if ( is_mouse_over_image == false ) {
						restoreImagesPosition();
					}
				}
			}, 500);
		}
		
	});