(function($) {

  var HIDE_SPEED = 450,
  SHOW_SPEED = 600,
  hideChildren = function($li) {
    $li.removeClass('open');
    $li.find('> ul').slideUp(HIDE_SPEED);
  },
  showChildren = function($li) {
    $li.addClass('open');
    $li.find('> ul').slideDown(SHOW_SPEED);
  },
  contains = function(container, contained) {
    var p = contained;
    while (p = p.parentNode) {
      if (container == p) {
        return true;
      }
    }
    return false;
  },
  initMenus = function() {
    $('#menu div a').bind('click', handleMenuClick);
    $('#menu-bmnl div a').bind('click', handleMenuClick);
  },
  handleMenuClick = function(e) {
    var $li, $hideables;
    if ($(this).attr('href') != 'javascript:;') return;
    $li = $(this).closest('li');
    if ($li.is('.active')) return;
    if ($li.is('.open')) {
      hideChildren($li);
      bordeInferior();
    } else {
	  // ocultar listas menú pro-sust-com
      $hideables = $li.closest('#menu').find('li.open');
      $hideables
        .each(function() {
          if(!$(this).is('.active') && !contains(this, $li.get(0))) {
            hideChildren($(this));
          }
        });
      // ocultar listas menú bimanan linea
      $hideables2 = $li.closest('#menu-bmnl').find('li.open');
      $hideables2
        .each(function() {
          if(!$(this).is('.active') && !contains(this, $li.get(0))) {
            hideChildren($(this));
          }
        });
      showChildren($li);
	  bordeInferior();
    }    
  };
  
  $(initMenus);

  
  function bordeInferior(){
    
	$ulGama = $("ul#submenu-productos-gama");
	$liGamaPlanes = $("ul#submenu-gama-planes").parent();
	
	if( $liGamaPlanes.hasClass('open') ){
		$ulGama.addClass('sin-borde-inferior');
	} else {
		$ulGama.removeClass('sin-borde-inferior');
	}

	$ulPro = $("ul#submenu-productos-pro");
	$liProPlanes = $("ul#submenu-pro-planes").parent();
	
	if( $liProPlanes.hasClass('open') ){
		$ulPro.addClass('sin-borde-inferior');
	} else {
		$ulPro.removeClass('sin-borde-inferior');
	}

	$ulLinea = $("ul#submenu-productos-linea");
	$liLineaComplementos = $("ul#submenu-linea-complementos").parent();
	
	if( $liLineaComplementos.hasClass('open') ){
		$ulLinea.addClass('sin-borde-inferior');
	} else {
		$ulLinea.removeClass('sin-borde-inferior');
	}

  }
  
})(jQuery);
