$(document).ready(function(){
	
	var slideUpvelo = 400;
	
	/*var arrow = '&#8681;';
	var arrow = '<img src="images/back_arrow.png" />';*/
	var arrow = '&#8618;';
	
	if (jQuery.browser.msie && jQuery.browser.version < 8) slideUpvelo = 0;
	
	function prepare_lists(lists) {
		
		lists.mouseenter(function(){
			
			// Se muestran todos los lis hermanos
			$(this).nextAll().show();
			
			// Se ocultan sus hijos
			$(this).nextAll().children('ul').hide();
			
			// Clase del 'li a'
			parent_class = $(this).parent().attr('class');
			rExp = /pair/gi;

			$(this).children('a').removeClass();
			$(this).children('a').addClass(parent_class.search(rExp) > -1?'even':'pair');
			
			if ($(this).children('ul.submenu').html()) {
				
				// Clase de los 'li a' hijos
				$(this).children('ul').children('li').children('a').addClass(parent_class.search(rExp) > -1?'even':'pair');
				
				// Ancho del 'li'
				$(this).css('width',$(this).outerWidth());
				
				// Posición de los submenús del elemento
				$(this).children('ul').css('margin-left',-$(this).position().left+$('#main').position().left+24);
				
				// Se despliegan los submenús
				$(this).children('ul').slideDown(100,function(){
					/*
					if ($(this).height()>33 && $(this).children('li').children('span.down_arrow').attr('class') != 'down_arrow') {
						$(this).prepend('<li><span class="down_arrow">'+arrow+'</span></li>');
					}
					*/
				});
				
				// Se colocan los posibles lis hermanos que estén por debajo de este 'li'
				place_siblings($(this));
				
			} 
			
		});
		
		lists.mouseleave(function(){
			
			$(this).children('a').toggleClass(function() {
				if ($(this).is('.pair')) {
					$(this).removeClass();
					return 'even';
				} else {
					$(this).removeClass();
					return 'pair';
				}
			});
			
			$(this).children('ul').slideUp(slideUpvelo);
			
		});

	}
	
	function place_siblings (item) {
		
		var item = item;
		
		item.nextAll().each(function(){
			
			if (item.position().top < $(this).position().top) {
				
				$(this).hide();
			}	
			
		});
		
		
		item.parent().mouseleave(function(){
			item.nextAll().show();
		});
		
		item.mouseleave(function(){
			item.nextAll().show();
		});
		
	}
	
	// Se da un id a cada link del menú principal
	var el = 1;
	$('#menu').children('li').children('a').each(function(){
		$(this).attr('id','menu_el'+el);
		
		el++;
	});
	
	// Función de menús
	$('#menu').children('li').children('a').mouseenter(function(){
		
		// Id del elemento principal del menú principal
		var id = $(this).attr('id');
		
		// Si hay un menú desplegado y no se corresponde con el del botón, se desliza hacia arriba
		if (!$('.container').children('ul').hasClass(id)) {
			$('.container ul.submenu').slideUp(slideUpvelo,function(){$(this).remove();});
		}
		
		$('#menu').children('li').children('a').children('span').removeClass();
		
		$(this).children('span').addClass('selected');
		
		// El menú no funciona en ie 6.0
		if (jQuery.browser.msie && jQuery.browser.version < 7) return;
		
		// Se muestra el submenú del elemento
		if ($(this).parent().children('ul.submenu').html()) {
	
			// Se inserta el html del submenú dentro del contenido (primero se borra lo que pueda haber)
			$('.container').children('ul').remove();
			$('.container').prepend('<ul class="submenu sub1 even '+$(this).attr('id')+'">'+$(this).parent().children('ul.submenu').html()+'</ul>');
			
			// Se inserta un símbolo para poder pasar de una línea a otra si el submenú es multilínea
			/*
			if ($('.container').children('ul').height()>33 && $('.container').children('ul').children('li').children('span.down_arrow').attr('class') != 'down_arrow') {
				$('.container').children('ul').prepend('<li><span class="down_arrow">'+arrow+'</span></li>');
			}
			*/
			
			// Función de submenús
			prepare_lists($('ul.submenu li'));
			
			$('.container').children('ul.submenu').mouseleave(function(){

				if (!$(this).hasClass(id)) $(this).slideUp(slideUpvelo,function(){$(this).remove();});

			});
			
			// Se repliegan los submenús
			$('#main').mouseleave(function(){
				$('.container').children('ul.submenu').slideUp(slideUpvelo,function(){$('.container').children('ul.submenu').remove();});
				$('#menu').children('li').children('a').children('span').removeClass();
			});
			
		}
		
	});
	
	$('#header').mouseenter(function(){
		
		$('#menu').children('li').children('a').children('span').removeClass();
		
		$('.container ul.submenu').slideUp(slideUpvelo,function(){$(this).remove();});
		
	});
	
	// Se repliegan los submenús
	$('#menu_end').mouseenter(function(){
		$('.container').children('ul.submenu').slideUp(slideUpvelo,function(){$('.container').children('ul.submenu').remove();});
		$('#menu').children('li').children('a').children('span').removeClass();
	});
	
});
