$(function(){
 var className     = "",
   modalOpenFlg  = 0,
   modalCloseFlg = 0,
   self          = "",
   timeoutObj    = "";

 $('.menu li').on('mouseenter',function()
 {
  self = $(this);

  //----------------------------------------------------
  // 動こうとしているものがいればストップ
  //----------------------------------------------------
  clearTimeout(timeoutObj);

  //----------------------------------------------------
  // メガドロップダウンがない所に置いた場合は閉じて
  // 処理の終了
  //----------------------------------------------------
  if(self.hasClass('noMd'))
  {
   modalClose();
   return false;
  }

  //----------------------------------------------------
  // メガドロップダウンを開くには0.3秒のディレイ付き
  // カスっただけで開くのを阻止
  //----------------------------------------------------
  timeoutObj = setTimeout(function()
  {
   //----------------------------------------------------
   // 閉じる処理が動作している場合は処理の終了
   //----------------------------------------------------
   if(modalCloseFlg == 1)
   {
    modalCloseFlg = 0;
    return false;
   }

   //----------------------------------------------------
   // どれを開いているかを取得
   //----------------------------------------------------
   className = self.attr('class');

   //----------------------------------------------------
   // 開閉ボックスの初期化
   //----------------------------------------------------
   $('.mdBox').find('div').each(function()
   {
    if($(this).attr('class').indexOf(className) < -0)
    {
     $(this).hide();
    }
   });

   //----------------------------------------------------
   // 既に開いている場合は
   // 内容だけ切替
   //
   // 開いていない場合は
   // スライドさせてくる
   //----------------------------------------------------

   perentHeight = parseInt($('.'+className+'Box').outerHeight());

   $('.mdBox').css('height',perentHeight+'px');

   if(modalOpenFlg == 1)
   {
    $('.'+className+'Box').show();
   }
   else
   {
    if(modalCloseFlg == 1)
    {
     return false;
    }
    modalOpenFlg = 1;

    $('.'+className+'Box').slideDown('slow',function(){});
   }
  },300);
 });

 //----------------------------------------------------
 // 大枠からマウスが外れたら閉じる
 //----------------------------------------------------
 $('.menuHBox').on('mouseleave',function()
 {
  modalClose();
 });

 /***********************
  *
  * modalClose
  * 閉じる処理
  *
  * @parm none
  * @return none
  *
  ***********************/
 function modalClose()
 {
  // オープンさせない
  clearTimeout(timeoutObj);
  modalCloseFlg = 1;
  $('.'+className+'Box').stop('true','true').slideUp('slow',function()
  {
   modalOpenFlg  = 0;
   $('.mdBox').css('height','0px');
  });

  setTimeout(function()
  {
   modalCloseFlg = 0;
  },400);
 }
});