$(function()
{
	// deactivates the context menu for all images
	$('img').bind('contextmenu', function(e)
	{
		return false;
	});

	// Centers the LAYOUT
	centerLayout();
	
	// INITIALIZES THE HOMEPAGE MENU IF EXISTS
	Menu.init();
	
	/* ACCORDION-LIKE CONTENT RECALCULATE HEIGHT POSITIONING */
	if( $('.section .wrap', '.type-1').length > 0 )
	{
		var _defaultTypeOneHeight = 424; // By default SECTION height without #utils => 424px
		// calcul de la hauteur du titre
		var _h2Height = $('.section h2')[0].offsetHeight;
		
		// calcul de la hauteur de l'entête
		var _a = $('.section .addendum');
		var _addendumHeight = $('.section .addendum').length > 0 ? ( _a.innerHeight() ) : 0;
		
		// calcul de la hauteur des liens en pied
		var _ul = $('.section ul.bottom');
		var _ulHeight = $('.section ul.bottom').length > 0 ? ( _ul.innerHeight() ) : 0;
		
		var _diff = _defaultTypeOneHeight - _h2Height - _addendumHeight - _ulHeight;
		var _ie = 0; //( $.browser.msie && parseInt( $.browser.version ) ) < 8 ? 10 : 0; // if browser version lesser than ie8 adds 10px
		$('.section .wrap').css('height', _diff + _ie );
		
		// INITIALIZES THE jScrollPane
		$('.section .wrap').jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});
	}
	
	/* TYPE-2 CONTENT WRAP */
	/*
	 * wrap and create scrollable if more than 2 columns present
	 */
	if( $('.section .wrap', '.type-2').length > 0 && !$('.article', '#content').hasClass('landing') )
	{
		var _wrap = $('.section .wrap', '.type-2');
		var _col = $('.col', _wrap );
		var _clen = _col.length;
		if ( _clen > 2 )
		{
			_col.wrapAll('<div class="scroll"></div>');
			for( var i = 0; i < _clen; i+=2 )
			{
				var n = i; 
				_col.slice( n, n+=2 ).wrapAll('<div class="colgroup"></div>');
			}
			_wrap.scrollable();
		}
	}
	
	/* TYPE-3 CONTENT WRAP */
	/*
	 * wrap and create scrollable if more than 2 columns present
	 */
	if( $('.section .wrap', '.type-3').length > 0 && !$('.article', '#content').hasClass('landing') )
	{
		var _wrap = $('.section .wrap', '.type-3');
		var _col = $('.col', _wrap );
		var _clen = _col.length;
		if ( _clen > 2 )
		{
			_col.wrapAll('<div class="scroll"></div>');
			for( var i = 0; i < _clen; i+=2 )
			{
				var n = i; 
				
				//cas de la première colonne
				if( n > 0 ){
					// ajout du lien vers la page précédente
					$(_col[n]).append('<p><a href="javascript:void(0);" class="prev greylink">'+dictionnary.previous+'</a></p>');					
				}
				
				// cas de la second colonne du groupe
				if (n+1 < _clen) {
					$(_col[n+1]).addClass('last');
					// ajout du lien vers la page suivante
					if (n+2 < _clen) {
						$(_col[n+1]).append('<p><a href="javascript:void(0);" class="next right greylink">'+dictionnary.next+'</a></p>');
					}
				}
				_col.slice( n, n+=2 ).wrapAll('<div class="colgroup"></div>');
			}
			_wrap.scrollable();
		}
	}
	
	/*
	if( $('dd.wrap', '.sitemap').length > 0 )
	{
		var _defaultTypeOneHeight = 424; // By default SECTION height without #utils => 424px
		var _h2Height = $('.section h2')[0].offsetHeight;
		var _a = $('.section .addendum');
		var _addendumHeight = $('.section .addendum').length > 0 ? ( _a.innerHeight() ) : 0;
		var _diff = _defaultTypeOneHeight - _h2Height - _addendumHeight;
		var _ie = ( $.browser.msie && parseInt( $.browser.version ) ) < 8 ? 10 : 0; // if browser version lesser than ie8 adds 10px
		$('.section .wrap').css('height', _diff + _ie );
		
		// INITIALIZES THE jScrollPane
		$('dd.wrap').jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});
	}*/
	
	// Stock widget 
	// Script to be replaced or removed
	/*if( $('#stock').length > 0 )
	{
		$('h3', '#stock').html( '{City} Time' );
		$('.output div:nth-child(1)', '#stock').html( 'month/day/year &nbsp; time' );
		$('.output div:nth-child(2)', '#stock').html( 'LVMH Share: <strong>{price} {+-per%}</strong>' );
	}*/
	
	/* 
	 * OVERLAY LINKS 
	 * #embed opens VIDEO with an IFRAME overlay
	 * [code]
	 * <a href="overlay/embed.html?src=http://www.url.com/movie.m4v" rel="#embed" shape="small">
	 * [/code]
	 *
	 * #overlay opens REGULAR (TEXT/IMAGE) overlay
	 * [code]
	 * <a href="overlay/overlay.html" rel="#overlay" shape="small">
	 * [/code]
	 * 
	 * attributes
	 * REL => 
	 *    1. #embed
	 *    2. #overlay
	 * REV =>
	 *    1. small (480 x 300) (640 x 480)
	 *    2. medium (620 x 460) (800 x 600)
	 *    3. big (754 x 408)  (1024 x 768)
	 *			==> Please refer to STYLES/WEB/template.css (line 540)
	 */
	if( $('a[rel="#embed"]').length > 0 )
	{
		$('a[rel="#embed"]').overlay(
			{
				mask: 'gray',
				onBeforeLoad: function() {
					var me = this.getOverlay();
					var tr = this.getTrigger();
					var _lnk = tr.attr('href');
					var _type = tr.attr('rev');

					me.addClass( _type );
					
					var wrap = $('.wrap', me);
					wrap.attr('src', _lnk);
				},
				top: 'center',
				onBeforeClose: function()
				{
					var me = this.getOverlay();
					var wrap = $('.wrap', me);
						wrap.attr('src', '');
				}
			}
		);
	}
	
	if( $('a[rel="#overlay"]').length > 0 )
	{
		$('a[rel="#overlay"]').overlay(
			{
				//mask: 'gray',
				//load: true,
				mask: {
					color: '#fff',
					opacity: 0.5
				},


				onBeforeLoad: function() {
					var me = this.getOverlay();
					var tr = this.getTrigger();
					var _lnk = tr.attr('href');
					var _type = tr.attr('rev');
					
					me.removeClass();
					me.addClass( _type );
					
					
					if ($('#overlay .jScrollPaneContainer').length > 0){
						$('#overlay .jScrollPaneContainer').remove();
						me.append('<div class="wrap"></div>');
					}
					
					var wrap = $('.wrap', me);

					// soit on passe d'abord par la popin d'avertissement
					if (tr.hasClass('disclaimer')) {
						$.ajax({
							//url: _lnk,
							url: '/disclaimer',
							data: {next_url: _lnk, next_target: "popin"},
							context: wrap,
							beforeSend:  function() {
								wrap.html('<img src="/images/common/loader.gif" style="width:74px;height:31;margin-left:-37px;left:50%;top:50%;margin-top:-25px;position:absolute"/>');
							},
							success: function(data){
								//$(this).replaceWith(data);
								//var me = this.getOverlay();
								var wrap = $('#overlay .wrap');
								wrap.html(data);

								//wrap.parent().attr('style','');
								// INITIALIZES THE jScrollPane
								wrap.jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});
								
								// branche les éventuels liens de la popin qui doivent s'ouvrir en popin
								//overlayPopin();
							}
						});	
					}
					// soit on affiche directement la popin
					else {
						
						$.ajax({
							url: _lnk,
							context: wrap,
							beforeSend:  function() {
								wrap.html('<img src="/images/common/loader.gif" style="width:74px;height:31;margin-left:-37px;left:50%;top:50%;margin-top:-25px;position:absolute"/>');
							},
							success: function(data){
								$(this).html(data);
								//var me = this.getOverlay();
								var wrap = $('#overlay .wrap');
	
								//wrap.parent().attr('style','');
								// INITIALIZES THE jScrollPane
								wrap.jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});
								
								// branche les éventuels liens de la popin qui doivent s'ouvrir en popin
								overlayPopin();
							}
						});
					}
					
				},
                onBeforeClose: function() {
					var me = this.getOverlay();
					var wrap = $('.wrap', me);
						wrap.attr('src', '');
				},
				onLoad: function() {

					//var me = this.getOverlay();
					//var wrap = $('.wrap', me);
					// INITIALIZES THE jScrollPane
					//wrap.jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});
					
					// INITIALIZES THE jScrollPane
					//var myTO = setTimeout("$('#overlay .wrap').jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true})", 300);

				},
				top: 'center'
			}
		);
	}
	/* ----------- END OVERLAY ----------- */
	
	
	// Carousel
	if ( $("#carousel").length != 0 ) {
		var _scrWrap = $("#carousel");
		var _scr = $(_scrWrap).find(".scrollable");
		var _scrDel = 3000;

		_scr.scrollable({
			//circular: true
		}).navigator({
			activeClass: "active"
		}).autoscroll(_scrDel);

		var api = _scr.data("scrollable");

		if ( api.getIndex() == 0 ) _scrWrap.find("a.prev").css("visibility", "hidden");
		else _scrWrap.find("a.prev").css("visibility", "visible");

		api.onSeek(function() {
			if ( api.getIndex() == 0 ) _scrWrap.find("a.prev").css("visibility", "hidden");
			else _scrWrap.find("a.prev").css("visibility", "visible");

			if ( api.getIndex() == api.getSize() - 1 ) {
				_scrWrap.find("a.next").css("visibility", "hidden");

				setTimeout( function() { api.begin(); }, _scrDel );		// Return
			}
			else _scrWrap.find("a.next").css("visibility", "visible");
		});



		// Carousel - navigation position
		var w = $("#carousel-nav .prev").width() + $("#carousel-nav .next").width() + $("#carousel-nav .navi").width();
		$("#carousel-nav").css({
			"margin-left": ( $("#carousel .scrollable").width() - w - 10 ) / 2
		});
	} 
	
	/**----------------------- DISCLAIMER HORS POPIN --------------*/
	if( $('a.disclaimer').not('[rel="#overlay"]').length > 0 )
	{		
		$('a.disclaimer').not('[rel="#overlay"]').overlay(
				{
					target: "#overlay",
					//mask: 'gray',
					//load: true,
					mask: {
						color: '#fff',
						opacity: 0.5
					},


					onBeforeLoad: function() {
						
						var me = this.getOverlay();
						var tr = this.getTrigger();
						var _lnk = tr.attr('href');
						var _target = tr.attr('target');
						var _type = 'medium'; //tr.attr('rev');
						
						me.removeClass();
						me.addClass( _type );
						
						
						if ($('#overlay .jScrollPaneContainer').length > 0){
							$('#overlay .jScrollPaneContainer').remove();
							me.append('<div class="wrap"></div>');
						}
						
						var wrap = $('.wrap', me);

						$.ajax({
							//url: _lnk,
							url: '/disclaimer',
							data: {next_url: _lnk, next_target: _target},
							context: wrap,
							beforeSend:  function() {
								wrap.html('<img src="/images/common/loader.gif" style="width:74px;height:31;margin-left:-37px;left:50%;top:50%;margin-top:-25px;position:absolute"/>');
							},
							success: function(data){
								$(this).html(data);
								//var me = this.getOverlay();
								var wrap = $('#overlay .wrap');

								//wrap.parent().attr('style','');
								// INITIALIZES THE jScrollPane
								wrap.jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});
								
								// branche les éventuels liens de la popin qui doivent s'ouvrir en popin
								overlayPopin();
							}
						});						
					},
	                onBeforeClose: function() {
						var me = this.getOverlay();
						var wrap = $('.wrap', me);
							wrap.attr('src', '');
					},
					onLoad: function() {
					},
					top: 'center'
				}			
		);
	}
	/**--------------------- FIN DISCLAIMER HORS POPIN ------------*/
	
});



/* S - HOMEPAGE MENU */
var Menu = new Object();
	Menu.init = function()
	{
		if( $('#content').hasClass('home') )
		{
			var me = null;
			var _o = null;
			var _s = null;
			var _a = $('#nav > ul > li > a', '#content.home');
			
			_a.click( function(e)
			{
				e.preventDefault();
				// reinitialize previous elements
				if ( me != this && me != null && $(me).next().is(':visible') )
				{
					$(me).next().slideUp('fast');
				}
				
				// toggle slide
				me = this;
				_o = $(this).next();
				if( !_o.is(':visible')  )
				{
					_o.slideDown('fast').show();
				}
				else
				{
					if ($(me).attr('target') == "_blank") {
						window.open($(me).attr('href'));
					}
					else {
						window.location = $(me).attr('href');
					}
					
				}
			});
			
			// IE6 HOVER
			if( jQuery.browser.msie == true && parseInt( jQuery.browser.version ) == 6 )
			{
				var _z = $('#nav > ul > li > ul > li', '#content.home');
					_z.bind('mouseenter', function()
					{
						$(this).addClass('hover');
					});
					_z.bind('mouseleave', function()
					{
						$(this).removeClass('hover');
					});
			};
		};
	}
/* E - HOMEPAGE MENU */
	

	
function overlayPopin(){
	if( $('#overlay a[rel="#overlay"]').length > 0 )
	{
		$('#overlay a[rel="#overlay"]').overlay(
			{
				//mask: 'gray',
				//load: true,
				mask: {
					color: '#fff',
					opacity: 0.5
				},


				onBeforeLoad: function() {
					var me = this.getOverlay();
					var tr = this.getTrigger();
					var _lnk = tr.attr('href');
					var _type = tr.attr('rev');
					
					me.removeClass();
					me.addClass( _type );
					
					
					if ($('#overlay .jScrollPaneContainer').length > 0){
						$('#overlay .jScrollPaneContainer').remove();
						me.append('<div class="wrap"></div>');
					}
					
					var wrap = $('.wrap', me);

					$.ajax({
						url: _lnk,
						context: wrap,
						beforeSend:  function() {
							wrap.html('<img src="/images/common/loader.gif" style="width:74px;height:31;margin-left:-37px;left:50%;top:50%;margin-top:-25px;position:absolute"/>');
						},
						success: function(data){
							$(this).html(data);
							//var me = this.getOverlay();
							var wrap = $('#overlay .wrap');

							//wrap.parent().attr('style','');
							// INITIALIZES THE jScrollPane
							wrap.jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});

						}
					});
					
				},
                onBeforeClose: function() {
					var me = this.getOverlay();
					var wrap = $('.wrap', me);
						wrap.attr('src', '');
				},
				onLoad: function() {

					//var me = this.getOverlay();
					//var wrap = $('.wrap', me);
					// INITIALIZES THE jScrollPane
					//wrap.jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true});
					
					// INITIALIZES THE jScrollPane
					//var myTO = setTimeout("$('#overlay .wrap').jScrollPane({scrollbarWidth: 9, showArrows:true, reinitialiseOnImageLoad: true})", 300);

				},
				top: 'center'
			}
		);
	}
	/* ----------- END OVERLAY ----------- */
}


/**
 * Fonction d'impression
 *
 */
function printPage(url){
    pwin = window.open(url, "pwin", "directories=no,height=720,width=670,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes,resizable=no'");
    pwin.print();
}
