(function() {
  var $, $menu_parent_fieldset, block_refresh, current_weight, get_parent_tr, menu_easy_add_class_current_page, menu_easy_add_utils_links, menu_easy_clean_form_overview, menu_easy_create_menu_if_not_exists, menu_easy_form_is_valid, menu_easy_get_line_mlid, menu_easy_get_line_plid, menu_easy_get_line_title, menu_easy_get_line_weight, menu_easy_on_add_above_or_bottom_click, menu_easy_on_submit, menu_easy_rebuild_weight, menu_easy_set_line_weight, menu_easy_set_parent_menu, menu_easy_set_weight_menu, menu_parent_create_link, menu_title, mlid, p_mlid, page_title;
  $ = jQuery;
  $menu_parent_fieldset = false;
  mlid = false;
  p_mlid = false;
  current_weight = false;
  page_title = false;
  menu_title = false;
  block_refresh = false;
  if (Drupal.ajax) {
    Drupal.ajax.prototype.commands.menu_parent_refresh_menu = function() {
      return $.each(block_refresh.settings, function(element, settings) {
        var args, query;
        args = '';
        $.each(block_refresh.args, function(index, arg) {
          return args += '/' + arg;
        });
        query = block_refresh.query;
        $('#' + element.split("_").join("-") + ' .content li').css({
          opacity: 0.4
        });
        return $('#' + element.split("_").join("-") + ' .content').load(Drupal.settings.basePath + 'block_refresh/' + settings['block']['block'] + '/' + settings['block']['delta'] + args + query);
      });
    };
  }
  menu_parent_create_link = function() {
    var $context, lang, link, menu_name;
    $context = $("#ajax-menu-parent");
    if ($menu_parent_fieldset !== false) {
      mlid = $("#edit-menu-parent option:first", $menu_parent_fieldset).val();
      mlid = mlid.split(":");
      menu_name = mlid[0];
      mlid = $('input[name="current_mlid"]').val();
      p_mlid = $("#edit-menu-parent option:selected", $menu_parent_fieldset).val();
      p_mlid = p_mlid.split(":");
      p_mlid = p_mlid[1];
      current_weight = $("select#edit-menu-weight").val();
      page_title = $("input#edit-title").val();
      menu_title = $("input#edit-menu-link-title").val();
      lang = $("#edit-language option:selected").attr("value");
      if (!lang) {
        lang = "und";
      }
      if (!mlid) {
        mlid = "0";
      }
      link = '<a href="' + Drupal.settings.basePath + 'admin/ajax/menu_easy_list/' + mlid + '/' + escape(lang) + '/' + menu_name + '/' + p_mlid + '/' + escape(current_weight) + '/' + escape(page_title) + '" class="ctools-use-modal ctools-modal-menu-parent-style">Definir la position de la page dans le menu</a>';
      $context.html(link);
      if (Drupal.behaviors.ZZCToolsModal !== void 0) {
        return Drupal.behaviors.ZZCToolsModal.attach($context);
      }
    }
  };
  Drupal.behaviors.menu_easy = {
    attach: function(context) {
      return $("#edit-menu:not(.menu_parent_processed)", context).each(function(el) {
        var $select, $this;
        block_refresh = jQuery.extend(true, {}, Drupal.settings.block_refresh);
        $this = $(this);
        $menu_parent_fieldset = $this;
        $this.addClass("menu_parent_processed");
        $(".form-item-menu-parent", $this).hide();
        $(".form-item-menu-weight", $this).hide();
        $(".form-item-menu-parent", $this).after('<div id="ajax-menu-parent"></div>');
        menu_parent_create_link();
        $select = $("#edit-menu-weight");
        return $select.prepend('<option value="-51">-51</option>');
      });
    }
  };
  menu_easy_get_line_mlid = function(line) {
    return $("input.menu-mlid", line).attr('value');
  };
  menu_easy_get_line_plid = function(line) {
    return $("input.menu-plid", line).attr('value');
  };
  menu_easy_get_line_weight = function(line) {
    return $("select.menu-weight option:selected", line).val();
  };
  menu_easy_get_line_title = function(line) {
    return $("td:first a:not(.tabledrag-handle)", line).html();
  };
  menu_easy_set_line_weight = function(line, weight) {
    $("select.menu-weight option:selected", line).attr('selected', false);
    return $('select.menu-weight option[value="' + weight + '"]', line).attr('selected', 'selected');
  };
  menu_easy_set_parent_menu = function() {
    var $select, context, line;
    context = $("#modal-content tbody");
    line = $("tr.current-page", context);
    p_mlid = menu_easy_get_line_plid(line);
    $select = $("#edit-menu-parent");
    return $select.val("main-menu:" + p_mlid);
  };
  menu_easy_set_weight_menu = function() {
    var $select, context, line, weight;
    context = $("#modal-content tbody");
    line = $("tr.current-page", context);
    $select = $("#edit-menu-weight");
    weight = menu_easy_get_line_weight(line);
    return $select.val(weight);
  };
  menu_easy_rebuild_weight = function() {
    var context, line, weight;
    context = $("#modal-content tbody");
    line = $("tr.current-page", context);
    weight = -50;
    return $("tr", context).each(function(el) {
      menu_easy_set_line_weight($(this), weight);
      return weight += 1;
    });
  };
  menu_easy_clean_form_overview = function() {
    var context, line, plid;
    context = $("#modal-content tbody");
    line = $("tr.current-page", context);
    plid = menu_easy_get_line_plid(line);
    return $("tr", context).each(function(el) {
      var $this, lplid;
      $this = $(this);
      return lplid = menu_easy_get_line_plid($this);
    });
  };
  menu_easy_on_submit = function(e) {
    e.preventDefault();
    menu_easy_set_parent_menu();
    menu_easy_clean_form_overview();
    menu_easy_rebuild_weight();
    menu_easy_set_weight_menu();
    return $("#modal-content form").submit();
  };
  menu_easy_create_menu_if_not_exists = function(context) {
    var num, out, tmp_title;
    if ($("tbody tr.current-page", context).size() === 0) {
      tmp_title = $("input#edit-title").val();
      if (tmp_title === "") {
        tmp_title = "Nouvelle page";
      }
      out = '<tr class="menu-enabled draggable even current-page">';
      out += '<td><a href="#">' + tmp_title + '</a></td>';
      out += '<td class="checkbox menu-enabled"><div class="form-item form-type-checkbox form-item-mlid:0-hidden">';
      out += '<input type="checkbox" id="edit-mlid0-hidden" name="mlid:0[hidden]" value="1" checked="checked" class="form-checkbox" />';
      out += '</div></td>';
      out += '<td class="tabledrag-hide">';
      out += '<div class="form-item form-type-select form-item-mlid:0-weight">';
      out += '<select class="menu-weight form-select" id="edit-mlid0-weight" name="mlid:0[weight]">';
      for (num = -50; num <= 50; num++) {
        if (num === -50) {
          out += '<option value="' + num + '" selected="selected">' + num + '</option>';
        } else {
          out += '<option value="' + num + '">' + num + '</option>';
        }
      }
      out += '</select>';
      out += '</div>';
      out += '<input class="menu-plid" type="hidden" name="mlid:0[plid]" value="-1" />';
      out += '<input class="menu-mlid" type="hidden" name="mlid:0[plid]" value="0" />';
      out += '</td><td class="menu-operations"></td><td class="menu-operations"></td><td></td></tr>';
      return $("tbody", context).prepend(out);
    }
  };
  menu_easy_add_class_current_page = function(context) {
    return $("tbody tr", context).each(function(el) {
      var $this, lmlid, lplid;
      $this = $(this);
      lmlid = menu_easy_get_line_mlid($this);
      lplid = menu_easy_get_line_plid($this);
      if (mlid === lmlid) {
        return $this.addClass("current-page");
      }
    });
  };
  menu_easy_form_is_valid = function() {
    return true;
  };
  menu_easy_add_utils_links = function(context) {
    return $("tr").each(function(el) {
      var $this, on_item_out, on_item_over;
      $this = $(this);
      on_item_over = function(e) {
        return $(".ajax-utils a", $this).show();
      };
      on_item_out = function(e) {
        return $(".ajax-utils a", $this).hide();
      };
      $this.append('<td class="ajax-utils"><a class="add_below" href="#">Add below</a></td>');
      $(".ajax-utils a", $this).hide();
      $this.hover(on_item_over, on_item_out);
      return $("a", $this).click(function(e) {
        return e.preventDefault();
      });
    });
  };
  get_parent_tr = function(el, level) {
    if (level == null) {
      level = 0;
    }
    if (el.is("tr")) {
      return el;
    }
    if (level > 10) {
      return false;
    }
    return get_parent_tr(el.parent(), level++);
  };
  menu_easy_on_add_above_or_bottom_click = function(e) {
    var $current, $this, $tr, target_rowObject, td;
    e.preventDefault();
    $this = $(this);
    $tr = get_parent_tr($this);
    $current = $("tr.current-page").get(0);
    td = Drupal.tableDrag["menu-overview"];
    td.rowObject = new td.row($current, 'mouse', td.indentEnabled, td.maxDepth, true);
    target_rowObject = new td.row($tr.get(0), 'mouse', td.indentEnabled, td.maxDepth, true);
    if ($this.hasClass("add_below")) {
      td.rowObject.swap("after", $tr);
    } else {
      td.rowObject.swap("before", $tr);
    }
    td.rowObject.removeIndentClasses();
    td.restripeTable();
    td.rowObject.indent(target_rowObject.indents - td.rowObject.indents);
    td.group = target_rowObject.group;
    td.groupDepth = target_rowObject.groupDepth;
    td.onDrop();
    td.updateFields(td.rowObject.element);
    return td.rowObject = null;
  };
  Drupal.behaviors.menu_easy_list = {
    attach: function(context) {
      return $("#modal-content:not(.menu_parent_processed)", context).each(function(el) {
        var $table, $this;
        $this = $(this);
        $this.addClass("menu_parent_processed");
        $("tr.menu-locked", context).removeClass("draggable");
        $("thead", $this).remove;
        menu_easy_add_class_current_page($this);
        menu_easy_add_utils_links($this);
        menu_easy_create_menu_if_not_exists($this);
        $(".ajax-utils a", $(context)).click(menu_easy_on_add_above_or_bottom_click);
        $this.after('<div class="modal-footer"><div class="ajax-error">' + Drupal.t("Error: Page must be in a main menu.") + '</div><input type="button" value="Valider" /></div>');
        $(".ajax-error").hide();
        $(".modal-footer input").click(function(e) {
          if (menu_easy_form_is_valid() === true) {
            $(".ajax-error").remove();
            return menu_easy_on_submit(e);
          } else {
            e.preventDefault();
            return $(".ajax-error").fadeIn(200).delay(5000).fadeOut(2000);
          }
        });
        $table = $("#menu-overview", context);
        return $("#edit-actions-submit", $this).hide();
      });
    }
  };
}).call(this);
;

