jQuery.noConflict();

var timeoutId;
var whichOne;
var pgName, idSelected, parentSelected, breaker, hoverID, breakerHover = null;

jQuery(document).ready(function() {
  // Grab body id containing page name
  pgName = jQuery("body").attr("id");
  // Initialize the array using the Array() constructor.
  var subMenu = new Array();

  /* Array Values:
   * - Subpage ID number, Parent ID number, Breaker Reference number
   * ----------------------------------------------------------------*/
  // What you get
  subMenu['what you get'] = new Array ( 70, 70, 70 );
  subMenu['rooms'] = new Array ( 69, 70, 70 );
  subMenu['facilities'] = new Array ( 71, 70, 70 );
  subMenu['mimis-cafe'] = new Array ( 78, 70, 70 );
  subMenu['castaway-cove'] = new Array ( 82, 70, 70 );
  // Take a tour
  subMenu['take a tour'] = new Array ( 75, 75, 70 );
  subMenu['photo-gallery'] = new Array ( 68, 75, 70 );
  subMenu['video-gallery'] = new Array ( 76, 75, 70 );
  subMenu['webcam'] = new Array ( 81, 75, 70 );
  subMenu['matter-cam'] = new Array ( 425, 75, 70 );
  // Getting here
  subMenu['getting here'] = new Array ( 77, 77, 75 );
  subMenu['maps'] = new Array ( 67, 77, 75 );
  subMenu['directions'] = new Array ( 72, 77, 75 );
  subMenu['shuttle-services'] = new Array ( 790, 77, 75 );
  // subMenu['shuttle-services'] = new Array ( 471, 77, 75 ); - Local
  subMenu['resort-shuttle'] = new Array ( 79, 77, 75 );
  // What to see
  subMenu['what to see'] = new Array ( 84, 84, 77 );
  subMenu['disneyland-resort'] = new Array ( 66, 84, 77 );
  subMenu['sightseeing'] = new Array ( 74, 84, 77 );
  subMenu['shopping'] = new Array ( 80, 84, 77 );
  subMenu['disney-dining'] = new Array ( 83, 84, 77 );
  // Join in
  subMenu['join in!'] = new Array ( 85, 85, 84 );
  subMenu['blog'] = new Array ( 65, 85, 84 );
  subMenu['discussion-boards'] = new Array ( 73, 85, 84 ); 
  // Contact
  subMenu['contact'] = new Array ( 86, 86, 85 );

  // Match page name and set variables for hover state/restore below
  for (name in subMenu) {
    if(pgName == name) {
      idSelected = subMenu[name][0];
      parentSelected = subMenu[name][1];
      breaker = subMenu[name][2];
      break;
    }
  }

  // cycling thru all the level one menu items
//  jQuery(".menu-header ul li").not("ul li ul li").each(function(index){
//    tempId = jQuery(this).attr("id");
//    jQuery("#" + tempId + " a span").not("ul li ul li a span").css("float", "right");  
//    jQuery("#" + tempId + " a span").not("ul li ul li a span").css("height", "23px");
//    jQuery("#" + tempId + " a span").not("ul li ul li a span").css("width", "2px");
//    jQuery("#" + tempId + " a span").not("ul li ul li a span").css("margin-top", "6px");  
//    jQuery("#" + tempId + " a span").not("ul li ul li a span").css("margin-bottom", "0px");       
//  });
  
  jQuery(".menu-header ul li").not("ul li ul li").each(function(index){    
    var thisId = String(jQuery(this).attr("id")).substr(-2);
    //  if current parent or breaker page, then change background to white  
    if (thisId == parentSelected || thisId == breaker) { 
      jQuery("#menu-item-" + parentSelected + " a span").not("ul li ul li a span").css("background-color", "#ffffff");
      jQuery("#menu-item-" + breaker + " a span").not("ul li ul li a span").css("background-color", "#ffffff");                
    } else {
      jQuery("#menu-item-" + thisId + " a span").not("ul li ul li a span").css("background-color", "#90cbea");
    }
  });
    
  jQuery(".menu-header > ul > li").hover(function() {
    clearTimeout(timeoutId);
    // Hide all top level selections
    jQuery(".menu-header > ul > li").removeClass("show");
    jQuery(".menu-header > ul > li").addClass("hide");
    jQuery(".sub-menu").hide();
    
    // Enable specific submenu
    jQuery(this).find("ul").show();
    jQuery(this).addClass("show");
    jQuery(this).removeClass("hide");
     
    // set the breaker bars for the hover condition        
    var idHovered, parentHovered, breakerHovered;  
           
    var hoverName = jQuery(this).find("a span:first").text();    
    for (name in subMenu) { 
      if (hoverName == name){
        idHovered = subMenu[hoverName][0];
        parentHovered = subMenu[hoverName][1];
        breakerHovered = subMenu[hoverName][2];
        break;
      }
    }        
    setBreakerBars(idHovered, parentHovered, breakerHovered);

  }, function() {
    whichOne = jQuery(this);
    clearTimeout(timeoutId);
    timeoutId = setTimeout(function() {
      // Hide all top level selections
      jQuery(".menu-header > ul > li").removeClass("hide");
      // Enable specific submenu
      jQuery(".menu-header > ul > li").removeClass("show");

      jQuery(whichOne).find("ul").hide();
      if(idSelected != null) {
        jQuery(whichOne).parent().find("#menu-item-" + parentSelected + " ul").show();
        jQuery(".menu-header > ul > li a span").removeClass("show");
//        jQuery(".menu-header > ul > li#menu-item-" + breaker + " a span").toggleClass("hide");
      }
    },100);
    setBreakerBars(idSelected, parentSelected, breaker);    
  });


  if(idSelected != null) {
    jQuery(".menu-header ul #menu-item-" + idSelected + " ul").show();
  } 
  
  // set breaker bars based on current id 
  function setBreakerBars(paramId, paramSelected, paramBreaker){
    jQuery(".menu-header ul li").not("ul li ul li").each(function(index){ 
      var thisId = String(jQuery(this).attr("id")).substr(-2);           
      //  if current parent or breaker page, then change background to white
      if (thisId == paramSelected || thisId == paramBreaker) {      
        jQuery("#menu-item-" + paramSelected + " a span").not("ul li ul li a span").css("background-color", "#ffffff");     
        jQuery("#menu-item-" + paramBreaker + " a span").not("ul li ul li a span").css("background-color", "#ffffff");     

      } else {
        jQuery("#menu-item-" + thisId + " a span").not("ul li ul li a span").css("background-color", "#90cbea");     
      }
    });
  }
});

