/* Menu JQuery new  2 */

var maxzindex;
var html;
var menu_status = 'closed';
var datas;
var debugajax = false;

$.maxZIndex = $.fn.maxZIndex = function(opt) {
    // <summary>
    // Returns the max zOrder in the document (no parameter)
    // Sets max zOrder by passing a non-zero number
    // which gets added to the highest zOrder.
    // </summary>    
    // <param name="opt" type="object">
    // inc: increment value, 
    // group: selector for zIndex elements to find max for
    // </param>
    // <returns type="jQuery" />
    var def = { inc: 10, group: "*" };
    $.extend(def, opt);    
    var zmax = 0;
    $(def.group).each(function() {
        var cur = parseInt($(this).css('z-index'));
        zmax = cur > zmax ? cur : zmax;
    });
    if (!this.jquery)
        return zmax;

    return this.each(function() {
        zmax += def.inc;
        $(this).css("z-index", zmax);
    });
}

function show_mask(id){

	var w = $('body').width();
	var w2 = $('div#header_menu_ext').width();
	if(w <= w2){ w = w2; }
	w = w2;
	var mleft = -(parseInt((w-w2)/2))-20;
	if(mleft>=-20){ mleft = -20; }
	var h = $(window).height();
	var h2 = $('body').height();
	if(h2>h){ h = h2; }
	var menu_mask = $('div#menu_mask');
	
	menu_mask.css('width', w);	
	menu_mask.css('height', h-186);
	menu_mask.css('top', 36);
	menu_mask.css('left', mleft);
	menu_mask.css('display', 'block');
	
	if($.browser.msie&&parseInt($.browser.version)<=7){ $('select').css('visibility', 'hidden'); }
	menu_mask.stop().animate(
		{
			opacity: 0.5
		},
		100
	);
	
}

function hide_mask(){

	var menu_mask = $('div#menu_mask');
	var menu_mask_b = $('div#menu_mask_b');
	
	if(menu_status!='open'){
		if($.browser.msie&&parseInt($.browser.version)<=7){ $('select').css('visibility', 'visible'); }
		menu_mask.stop().animate(
			{
				opacity: 0
			},
			50,
			function(){
				menu_mask.css('display', 'none');
			}
		);
	}
}

function close_menu(id){
	
	$('div.menu_encart', id).stop().animate(
		{
			height: 0
		},
		{
			duration: 200,
			easing: 'easeInCubic',
			complete: function(){

			}
		}
	);
	
	$(id).css('background-image', '');
	$('> div:not(.menu_encart)', id).css('background-image', '');
	$('> div:not(.menu_encart) > div', id).css('background-image', '');
	$('> div:not(.menu_encart) > div > a', id).css('color', '#ffffff');

	
	if($('div.menu_encart_l2_list', id).data('jsp')){
		var contentPane = $('div.menu_encart_l2_list', id).data('jsp').getContentPane();
		contentPane.html('');
		$('div.menu_encart_l2_list', id).data('jsp').reinitialise();
		$('div.menu_encart_l2_list', id).data('jsp').scrollToY(0);
	}
	
}

function open_menu(id){

	$('div.menu_encart div.menu_encart_l1 div.menu_encart_l1_list a.menu_encart_l1_list_a', id).each(function(i){
		$(this).removeClass(menu_encart_list_hover);
	});
	$('div.menu_encart div.menu_encart_l2', id).css('background-image', 'url('+background_menu_encart_l2+')');
	$('div.menu_encart div.menu_encart_l2 div.menu_encart_l2_list a.menu_encart_l2_list_a', id).each(function(i){
		$(this).removeClass(menu_encart_list_hover);
	});
	$('div.menu_encart div.menu_encart_l3', id).html('');
	
	$(id).css('background-image', 'url('+background_menu_fond_hover+')');
	$('> div:not(.menu_encart)', id).css('background-image', 'url('+background_menu_fond_hover_gauche+')');
	$('> div:not(.menu_encart) > div', id).css('background-image', 'url('+background_menu_fond_hover_droite+')');
	$('> div:not(.menu_encart) > div > a', id).css('color', menu_hover_color);
	
	var offset = $(id).position().left-18;
	if(offset>(1000-$('div.menu_encart', id).width()-19)){
		offset = 1000-$('div.menu_encart', id).width()-19;
	}
	$('div.menu_encart', id).css('left', offset);
	
	$('div.menu_encart', id).css('z-index', $.maxZIndex()+30);
	
	$('div.menu_encart', id).height(0);
	//$('div.menu_encart', id).css('opacity', 0);
	$('div.menu_encart', id).css('display', 'block');

	if($('div.menu_encart_l1_list', id).data('jsp')){
		$('div.menu_encart_l1_list', id).data('jsp').reinitialise();
		$('div.menu_encart_l1_list', id).data('jsp').scrollToY(0);
	}
	if($('div.menu_encart_l2_list', id).data('jsp')){
		$('div.menu_encart_l2_list', id).data('jsp').reinitialise();
		$('div.menu_encart_l2_list', id).data('jsp').scrollToY(0);
	}
	
	$('div.menu_encart div.menu_encart_l1 div.menu_encart_l1_list a.menu_encart_l1_list_a', id).each(function(i){
		$(this).unbind('click');
		$(this).click(function(){
			$('div.menu_encart div.menu_encart_l1 div.menu_encart_l1_list a.menu_encart_l1_list_a', id).each(function(j){
				$(this).removeClass(menu_encart_list_hover);
			});
			$(this).addClass('menu_encart_list_hover');
			$('div.menu_encart div.menu_encart_l3', id).html('');
			var b_id = $('a.menu_brand', id).attr('rel');
			var f_id = $(this).attr('rel');
			$.ajax( {
				type: "POST",
				url: nav_catalogue_ajax_url,
				dataType: "xml",
				data: ({fid : f_id}),
				beforeSend: function(){
					if($('div.menu_encart_l2_list', id).data('jsp')){
						var contentPane = $('div.menu_encart_l2_list', id).data('jsp').getContentPane();
						contentPane.html('');
						$('div.menu_encart_l2_list', id).data('jsp').reinitialise();
						$('div.menu_encart_l2_list', id).data('jsp').scrollToY(0);
					}
					var menu_encart_mask = $('div.menu_encart_mask', id);
					menu_encart_mask.css('z-index', $.maxZIndex()+40);
					menu_encart_mask.stop().show();
				},
        error:function (xhr, ajaxOptions, thrownError){
          if(debugajax) { 
             alert(xhr.status);
             alert(ajaxOptions); 
             alert(thrownError);
          }
					var menu_encart_mask = $('div.menu_encart_mask', id);
					menu_encart_mask.stop().hide();                         
        },
				success: function(xml) {
					var n = 1;
					html = '';
					datas = new Array();
					$(xml).find('item').each(function(){ 
						datas[n] = new Array();
						datas[n]['titre'] = $(this).find('titre').text();
						datas[n]['titreimage'] = nav_logomarque_path[b_id];
						datas[n]['photo'] = $(this).find('photo').text();
						datas[n]['photozoom'] = $(this).find('photozoom').text();
						datas[n]['photodetail'] = $(this).find('photodetail').text();
						datas[n]['lienunivers'] = $(this).find('lienunivers').text();
						datas[n]['texteaide'] = $(this).find('texteaide').text();
						datas[n]['texteconso'] = nav_aide_service_conso[b_id];						
						var newline = menu_encart_l2_chunk;
						newline = newline.replace('[+n+]', n);
						newline = newline.replace('[+titre+]', datas[n]['titre']);
						html += newline;
						n++;
					});
					
					$('div.menu_encart div.menu_encart_l2', id).css('background-image', 'url('+background_menu_encart_l2_b+')');
					
					if($('div.menu_encart_l2_list', id).data('jsp')){					
						var contentPane = $('div.menu_encart_l2_list', id).data('jsp').getContentPane();
						contentPane.html(html);					
						$('div.menu_encart_l2_list', id).data('jsp').reinitialise();
						$('div.menu_encart_l2_list', id).data('jsp').scrollToY(0);
					}					
					$('div:not(.menu_encart_l3) a', id).css('text-decoration', 'none');
					
					$('div.menu_encart div.menu_encart_l2 div.menu_encart_l2_list a.menu_encart_l2_list_a', id).each(function(j){
						$(this).unbind('click');
						$(this).click(function(){
							$('div.menu_encart div.menu_encart_l2 div.menu_encart_l2_list a.menu_encart_l2_list_a', id).each(function(k){
								$(this).removeClass('menu_encart_list_hover');
							});
							$(this).addClass('menu_encart_list_hover');
							var html_l3 = menu_encart_l3_chunk;
							var n = $(this).attr('rel');
							html_l3 = html_l3.replace('[+titre+]', datas[n]['titre']);
							
							if(datas[n]['titreimage'].length!=0){	html_l3 = html_l3.replace('[+titreimage+]', '<img src="' + datas[n]['titreimage'] + '" alt="" />'); }
							else { html_l3 = html_l3.replace('[+titreimage+]', ''); }
							
							if(datas[n]['photo'].length!=0){	html_l3 = html_l3.replace('[+photo+]', '<img src="' + datas[n]['photo'] + '" alt="" />'); }
							else { html_l3 = html_l3.replace('[+photo+]', ''); }

							if(datas[n]['photodetail'].length!=0){	html_l3 = html_l3.replace('[+photodetail+]', '<img src="' + datas[n]['photodetail'] + '" alt="" />'); }
							else { html_l3 = html_l3.replace('[+photodetail+]', ''); }
							
							html_l3 = html_l3.replace('[+photozoom+]', datas[n]['photozoom']);
							html_l3 = html_l3.replace('[+lienunivers+]', datas[n]['lienunivers']);
							html_l3 = html_l3.replace('[+texteaide+]', datas[n]['texteaide']);
							html_l3 = html_l3.replace('[+texteconso+]', datas[n]['texteconso']);

							$('div.menu_encart div.menu_encart_l3', id).html(html_l3);
							
							return false;
						});
						n++;
					});
					
					var menu_encart_mask = $('div.menu_encart_mask', id);
					menu_encart_mask.stop().hide();

				}
			}
			);
			return false;
		});
				
	});
	
	$('div.menu_encart', id).animate(
		{
			height: 390
		},
		{
			duration: 400,
			easing: 'easeOutCubic'
		}
	);

}

$(document).ready(function() {

	$('ul#header_menu').prepend('<div id="menu_mask">&nbsp;</div><div id="menu_mask_b">&nbsp;</div>');
	
	var menu_mask = $('div#menu_mask');
	menu_mask.css('display', 'none');
	menu_mask.css('position', 'absolute');	
	menu_mask.css('background-color', '#000000');
	menu_mask.css('opacity', 0);
	
	var menu_mask_b = $('div#menu_mask_b');
	menu_mask_b.css('display', 'none');
	menu_mask_b.css('position', 'absolute');	
	menu_mask_b.css('background-color', '#ffffff');
	menu_mask_b.css('opacity', 0);
	
	if($.browser.msie&&parseInt($.browser.version)<=7){
        var zIndexNumber = 5000;
        $('div').each(function() {
          $(this).css('z-index', zIndexNumber);
          zIndexNumber -= 10;
        });
    }
	
	maxzindex = $.maxZIndex();	
	$('div#menu_mask').css('z-index', maxzindex+1);
	$('div#menu_mask_b').css('z-index', maxzindex+2);
	
	var config = {
		over:function(){
			show_mask();
		},
		timeout:200,
		out:function(){
			hide_mask();
		}						
	};
	var k = 1;
	$('ul#header_menu li:not(.sep)').each(function(i){
		
		$('div.menu_encart', this).prepend('<div class="menu_encart_haut"><div>&nbsp;</div></div>');
		$('div.menu_encart div.menu_encart_haut > div', this).html(nav_intro);
		
		$('div.menu_encart', this).append(menu_encart_l2);
		$('div.menu_encart div.menu_encart_l2', this).prepend(menu_encart_chunk_loader);
		
		var menu_encart_mask = $('div.menu_encart_mask', this);
		menu_encart_mask.hide();
		menu_encart_mask.css('zindex', maxzindex+40);
	
		$('a', this).css('cursor', 'pointer');
		$('> div:not(.menu_encart) > div', this).css('cursor', 'pointer');
		$('> div:not(.menu_encart)', this).css('float', 'left');
		$('> div:not(.menu_encart) > div', this).css('float', 'left');
		$('> div:not(.menu_encart) > div', this).css('padding-left', 12);
		$('> div:not(.menu_encart) > div', this).css('padding-right', 12);
		
		$('div.menu_encart div.menu_encart_l1', this).css('background-image', 'url('+background_menu_encart_l1+')');
		$('div.menu_encart div.menu_encart_l2', this).css('background-image', 'url('+background_menu_encart_l2_b+')');
		$('div.menu_encart div.menu_encart_l2', this).css('background-image', 'url('+background_menu_encart_l2+')');
	
		var config = {
			over:function(){
				open_menu(this);
				if(menu_status!='open'){ show_mask(this); }
				var offset = $(this).position().left-18;
				if(offset>(1000-$('div.menu_encart', this).width()-28)){
					offset = 1000-$('div.menu_encart', this).width()-28;
				}
				var menu_mask_b = $('div#menu_mask_b');
				menu_mask_b.css('width', 695);	
				menu_mask_b.css('height', 40);
				menu_mask_b.css('top', 36+8);
				menu_mask_b.css('left', offset+12);
				menu_mask_b.css('display', 'block');
				menu_mask_b.stop().animate(
					{
						opacity: 1
					},
					300
				);
				menu_status = 'open';
			},
			timeout:100,
			out:function(){
				menu_status = 'closed';
				menu_mask_b.stop().animate(
					{
						opacity: 0
					},
					50,
					function(){ menu_mask_b.css('display', 'none'); }
				);
				close_menu(this);
				setTimeout("hide_mask();", 300);
			}						
		};
		$(this).hoverIntent( config );
		
		$('div:not(.menu_encart_l3) a', this).css('text-decoration', 'none');
		$('a', this).click( function(){ return false; } );
		
		$('div.menu_encart', this).height(0);
		//$('div.menu_encart', this).css('opacity', 0);
		$('div.menu_encart', this).css('display', 'block');

		$('div.menu_encart_l1_list', this).jScrollPane({showArrows:true, verticalDragMinHeight: 22, verticalDragMaxHeight: 22});
		$('div.menu_encart_l2_list', this).jScrollPane({showArrows:true, verticalDragMinHeight: 22, verticalDragMaxHeight: 22});

	});
	
	/* Menu Langues */
	$('#colorbox, #cboxOverlay, #cboxWrapper').css('z-index', 9999);
	if($.browser.msie&&parseInt($.browser.version)<=7){
		$("div#langue").colorbox({innerWidth:650, innerHeight:468, opacity:0.75, href:nav_carte_monde_ie6_url, 
			onComplete:function(){ 
				$('div#carte_fond').css('margin', '3px 0px 0px 2px'); 
				carte_init();	
			}
		});
	}
	else {
		$("div#langue").colorbox({innerWidth:650, innerHeight:468, opacity:0.75, href:nav_carte_monde_url, iframe: true});
	}
	
});

