$.fn.playerJavascript = function() {
	var $$ = this;
	
	if ($$.html() == null) {
		return;
	}
	
	var player_javascript_cursor = $$.find('.player_javascript-cursor');
	var player_javascript_cursor_position = player_javascript_cursor.position();
	
		player_javascript_cursor.css('top', player_javascript_cursor_position.top);
	
	if ($.browser.msie && $.browser.version != 8) {
		player_javascript_cursor.css('margin-left', -11.5);
	}
	
	$$.find('.player_javascript-content').css('opacity', 0);
	
	$$.find('.player_javascript-content-mask').css('opacity', .5);
	$$.find('.player_javascript-title').not(':first').find('a').css('opacity', .5);
	$$.find('.player_javascript-title:first').addClass('player_javascript-title-current');
	
	$$.find('.player_javascript-title a').click(clickEvent);
	
	toggleAuto();
	
	function clickEvent(event) {
		var element = $(event.target);
		
		$$.find('.player_javascript-title a').unbind('click', clickEvent);
		
		var position = element.parent().position();
		var current = $('.player_javascript-content-current');
		var current_next = $(element.attr('href'));
		
		$$.find('.player_javascript-title').find('a').css('opacity', .5);
		element.css('opacity', 1);
	
		player_javascript_cursor.stop();

		player_javascript_cursor.animate({
			top: position.top
		}, 'slow', function() {
			toggleContent(current, current_next, function() {
				$$.find('.player_javascript-title a').click(clickEvent);
			});	
		});
	}
	
	function toggleAuto() {
		var timer = window.setInterval(function() {
			var element = $$.find('.player_javascript-title-current');
			var element_next = element.next().find('a');

			if (element_next.html() == null) {
				element_next = $$.find('.player_javascript-title:first a');
			}

			$$.find('.player_javascript-title a').unbind('click', clickEvent);

			var position = element_next.parent().position();
			var current = $('.player_javascript-content-current');
			var current_next = $(element_next.attr('href'));

			element.toggleClass('player_javascript-title-current');

			$$.find('.player_javascript-title').find('a').css('opacity', .5);
			
			element_next.parent().addClass('player_javascript-title-current');

			player_javascript_cursor.stop();

			player_javascript_cursor.animate({
				top: position.top
			}, 'slow', function() {
				element_next.css('opacity', 1);
				
				toggleContent(current, current_next, function() {
					$$.find('.player_javascript-title a').click(clickEvent);
				});	
			});
		}, 5000);
		
		$$.find('.player_javascript-title a').click(function() {
			clearInterval(timer);
		});
	}
	
	function toggleContent(element, element_next, callback) {
		element.find('.player_javascript-content-mask').animate({
			marginTop: '70px'
		}, 'slow');
		element.find('.player_javascript-content-text').animate({
			marginTop: '70px'
		}, 'slow', function() {
			element.animate({
				opacity: 0
			}, 'slow');
			
			element.attr('class', 'player_javascript-content');
			
			element_next.css('opacity', 0).attr('class', 'player_javascript-content-current');
			element_next.find('.player_javascript-content-text').css('margin-top', '70px');
			element_next.find('.player_javascript-content-mask').css('margin-top', '70px');

			element_next.animate({
				opacity: 1
			}, 'slow', function() {
				element_next.find('.player_javascript-content-text').animate({
					marginTop: '-70px'
				}, 'slow');
				element_next.find('.player_javascript-content-mask').animate({
					marginTop: 0
				}, 'slow');
				
				callback();
			});
		});
	}
}

$.fn.animateSmenu = function() {
	var $$ = this;
	
	if ($$.html() == null) {
		return;
	}
	
	var bloc = $$.parent().parent().parent();
	var bloc_current = $$.parent().parent().parent().find('.bloc-current');
	var li_current = $$.parent().parent().find('a.current');
	var li_first = $$.parent().parent().find('a:first');
	var li_current_position = li_current.position();
	var position_top = -129;
	var position_top_current = -129;
	
	if ($.browser.safari) {
		position_top_current = 13;
	}
	
	if (li_current.html() == null) {
		bloc_current.hide();
	} else {
		li_current_position.top = li_current_position.top + position_top_current;
		bloc_current.css('top', li_current_position.top);
	}

	$$.each(function() {
		$(this).mouseover(function() {
			var this_position = $(this).position();
			
			bloc_current.stop();
			
			if (bloc_current.is(':hidden')) {
				bloc_current.show();
				
				bloc_current.css('top', this_position.top + position_top);
			} else {
				bloc_current.animate({
					top: this_position.top + position_top
				}, 'slow');
			}
		});
	});
	
	bloc.bind('mouseleave', function() {
		if (li_current.html() == null) {
			bloc_current.hide();
		} else {
			bloc_current.stop();
		
			bloc_current.animate({
				top: li_current_position.top
			}, 'slow');
		}
	});
}

$.fn.playerJavascriptPhoto = function() {
	var $$ = this;
	
	if ($$.html() == null) {
		return;
	}
	
	var bloc_current = $$.find('.bloc-page_photo-player-image-current');
	var bloc_height = bloc_current.height() + 20;
	var cursors = $$.find('.bloc-page_photo-player-cursor');
	var cursor_left = $$.find('.bloc-page_photo-player-cursor-left');
	var cursor_right = $$.find('.bloc-page_photo-player-cursor-right');
	var bloc_next = bloc_current.next();
	var bloc_prev = bloc_current.prev();
	
	cursors.css('margin-top', bloc_current.height() / 2);
	$$.height(bloc_height);
	
	$$.find('.bloc-page_photo-player-image').css('opacity', 0);
	
	cursor_left.click(prevImage);
	cursor_right.click(nextImage);

	if (bloc_next.html() == null || bloc_next.html() == '') {
		cursor_right.css('opacity', .5);
		cursor_right.css('cursor', 'auto');
		cursor_right.unbind('click', nextImage);
	}
	
	if (bloc_prev.html() == null || bloc_prev.html() == '') {
		cursor_left.css('opacity', .5);
		cursor_left.css('cursor', 'auto');
		cursor_left.unbind('click', prevImage);
	}
	
	function nextImage() {
		bloc_current = $$.find('.bloc-page_photo-player-image-current');
		
		bloc_next = bloc_current.next();
		bloc_prev = bloc_current.prev();
		
		bloc_height = bloc_next.height() + 20;
		
		bloc_current.animate({
			opacity: 0
		}, 'slow', function() {
			bloc_current.attr('class', 'bloc-page_photo-player-image');
		});
		
		cursors.animate({
			marginTop: bloc_next.height() / 2
		}, 'slow');
		$$.animate({
			height: bloc_height
		}, 'slow');
		
		bloc_next.animate({
			opacity: 1
		}, 'slow', function() {
			
			bloc_next.attr('class', 'bloc-page_photo-player-image-current');
		});
		
		if (bloc_next.prev().html() != null || bloc_next.prev().html() != '') {
			if (cursor_left.css('opacity') == .5) {
				cursor_left.css('opacity', 1);
				cursor_left.css('cursor', 'pointer');
				cursor_left.click(prevImage);
			}
		}
		
		if (bloc_next.next().html() == null || bloc_next.next().html() == '') {
			$(this).css('opacity', .5);
			$(this).css('cursor', 'auto');
			$(this).unbind('click', nextImage);
		}
	}
	
	function prevImage() {
		bloc_current = $$.find('.bloc-page_photo-player-image-current');
		
		bloc_next = bloc_current.next();
		bloc_prev = bloc_current.prev();
		
		bloc_height = bloc_prev.height() + 20;
		
		bloc_current.animate({
			opacity: 0
		}, 'slow', function() {
			bloc_current.attr('class', 'bloc-page_photo-player-image');
		});
		
		cursors.animate({
			marginTop: bloc_prev.height() / 2
		}, 'slow');
		$$.animate({
			height: bloc_height
		}, 'slow');
		
		bloc_prev.animate({
			opacity: 1
		}, 'slow', function() {
			
			bloc_prev.attr('class', 'bloc-page_photo-player-image-current');
		});
		
		if (bloc_prev.next().html() != null || bloc_prev.next().html() != '') {
			if (cursor_right.css('opacity') == .5) {
				cursor_right.css('opacity', 1);
				cursor_right.css('cursor', 'pointer');
				cursor_right.click(nextImage);
			}
		}
		
		if (bloc_prev.prev().html() == null || bloc_prev.prev().html() == '') {
			$(this).css('opacity', .5);
			$(this).css('cursor', 'auto');
			$(this).unbind('click', prevImage);
		}
	}
}

$.fn.postRecommendation = function() {
	var $$ = this;
	
	if ($$.html() == null) {
		return;
	}
	
	return $$.ajaxForm({
		dataType: 'json',
		beforeSubmit: function() {
			$$.css('opacity', .5);
			
			$$.find('.bloc-recommander_article-form-message').css('display', 'none');
			$$.find('.bloc-recommander_article-form-message').html('');
		},
		success: function(responseText, statusText) {
			$$.css('opacity', 1);
			
			if (responseText.valid == 'ok') {
				var message_default = $$.find('.message-default').html();
				
				$$.find('input[type=text]').val('');
				$$.find('#message').val(message_default);
				
				$$.find('.bloc-recommander_article-form-message').css('border', '1px solid green');
				$$.find('.bloc-recommander_article-form-message').html(responseText.message);
			} else {
				var glue = '';
				var message = '';
				
				$$.find('.bloc-recommander_article-form-message').css('border', '1px solid red');
				
				$(responseText.message).each(function(key, value) {
					message += glue + value;
					
					glue = '<br />';
				});
				
				$$.find('.bloc-recommander_article-form-message').html(message);
			}
			
			$$.find('.bloc-recommander_article-form-message').css('opacity', 0).css('display', 'block');
			
			$$.find('.bloc-recommander_article-form-message').animate({
				opacity: 1
			}, 'slow');
		}
	});
}

$.fn.playerJavascriptPhotoOther = function() {
	var $$ = this;
	
	if ($$.html() == null) {
		return;
	}
	
	var bloc_image = $$.find('.bloc-page_photo-other-image');
	var cursors = $$.find('.bloc-page_photo-other-cursor');
	var cursor_left = $$.find('.bloc-page_photo-other-cursor-left');
	var cursor_right = $$.find('.bloc-page_photo-other-cursor-right');
	
	cursor_left.click(scrollLeft);
	cursor_right.click(scrollRight);
	
	var width = 0;
	var height = 0;
	
	bloc_image.find('div').each(function() {
		var height_temp = $(this).find('img').height();
		
		width += $(this).width();
		
		if (height_temp > height) {
			height = height_temp;
		}
	});
	
	$$.find('.bloc-page_photo-other-content').css('height', height + 22);
	
	bloc_image.find('div').each(function() {
		var height_temp = $(this).find('img').height();
		
		$(this).css('margin-top', (height - height_temp) / 2);
	});
	
	cursors.css('margin-top', height / 2);
	
	var position = bloc_image.position();
	
	toggleCursorLeft(position);
	toggleCursorRigth(position);
	
	function scrollLeft() {
		cursor_left.unbind('click', scrollLeft)
		
		bloc_image.animate({
			left: '+=405px'
		}, 'slow', function() {
			var position = bloc_image.position();
			
			toggleCursorLeft(position);
			toggleCursorRigth(position);
		});
	}	
	
	function scrollRight() {
		cursor_right.unbind('click', scrollRight)
		
		bloc_image.animate({
			left: '-=405px'
		}, 'slow', function() {
			var position = bloc_image.position();
			
			toggleCursorLeft(position);
			toggleCursorRigth(position);
		});
	}
	
	function toggleCursorLeft(position) {
		if ((position.left + 405) > 0) {
			cursor_left.css('opacity', .5);
			cursor_left.css('cursor', 'auto');
		} else {
			cursor_left.click(scrollLeft);
			
			cursor_left.css('opacity', 1);
			cursor_left.css('cursor', 'pointer');
		}
	}
	
	function toggleCursorRigth(position) {
		if ((position.left - 405) < -width) {
			cursor_right.css('opacity', .5);
			cursor_right.css('cursor', 'auto');
		} else {
			cursor_right.click(scrollRight);
			
			cursor_right.css('opacity', 1);
			cursor_right.css('cursor', 'pointer');
		}
	}
}

$.debugCss = function() {
	if ($.browser.msie) {
		$('#contenu .list-article-link-photo').css('margin-left', -40);
		$('#contenu .list-article-link-video').css('margin-left', -80);
		
		if ($.browser.version == 6) {
			$('.menu-bloc-smenu .bloc-current').css('background', 'none');
			$('.menu-bloc-smenu .bloc-current').css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’squelettes/images/background-smenu-current.png’ ,sizingMethod=’crop’);');
		}
	}
}

$(document).ready(function() {
	$('.player_javascript').playerJavascript();
	
	$('.bloc-page_photo-player').playerJavascriptPhoto();
	$('.bloc-page_photo-other').playerJavascriptPhotoOther();
	
	$('.menu-bloc-smenu li a').animateSmenu();
	
	$('.link-overlay').overlay({
		expose: { 
			color: '#000',
			opacity: .7, 
			closeSpeed: 1000
		}
	});
	
	$('#bloc-recommander_article-form').postRecommendation();
	
	$.debugCss();
});