YAHOO.Dialogs.editMonths = null;

loadPageAdminContent = function() {
  var editMonthsLink = Display.createElement("A", "adminFeature adminLink", "editMonthLink");
      editMonthsLink.href = "#";
  
  YAHOO.util.Dom.setStyle(editMonthsLink, "padding-left", "7px");
  YAHOO.util.Dom.insertAfter(Display.appendContent(editMonthsLink, "[Edit Months]"), "showMonthButton");
  YAHOO.util.Event.purgeElement(editMonthsLink);
  YAHOO.util.Event.addListener("editMonthLink", "click", showEditMonths);
}

var selectedMonth;

var showEditMonths = function(e) {
  YAHOO.util.Event.preventDefault(e);

  if(YAHOO.util.Dom.inDocument("EditMonthDialog") == false && YAHOO.Dialogs.editMonths == null) {
    // Create the dialog header
    var dlgHeader = Display.createElement("DIV", "hd");
    Display.appendContent(dlgHeader,
      Display.appendContent(Display.createElement("P", "medium text"), "Select Months to Show"));
    // Create the dialog content
    var dlgBody   = Display.createElement("DIV", "bd");
    var loginForm = Display.createForm("post", url + "services/requests/doEditMonths", "medium formForm");
        loginForm.id = "EditMonthForm";
    Display.appendContent(loginForm.firstChild,
      [
       Display.createFormRow(Display.createLabel([Display.createInput("month1", "checkbox", 1), "January"], "month1")),
       Display.createFormRow(Display.createLabel([Display.createInput("month2", "checkbox", 2), "February"], "month2")),
       Display.createFormRow(Display.createLabel([Display.createInput("month3", "checkbox", 3), "March"], "month3")),
       Display.createFormRow(Display.createLabel([Display.createInput("month4", "checkbox", 4), "April"], "month4")),
       Display.createFormRow(Display.createLabel([Display.createInput("month5", "checkbox", 5), "May"], "month5")),
       Display.createFormRow(Display.createLabel([Display.createInput("month6", "checkbox", 6), "June"], "month6")),
       Display.createFormRow(Display.createLabel([Display.createInput("month7", "checkbox", 7), "July"], "month7")),
       Display.createFormRow(Display.createLabel([Display.createInput("month8", "checkbox", 8), "August"], "month8")),
       Display.createFormRow(Display.createLabel([Display.createInput("month9", "checkbox", 9), "September"], "month9")),
       Display.createFormRow(Display.createLabel([Display.createInput("month10", "checkbox", 10), "October"], "month10")),
       Display.createFormRow(Display.createLabel([Display.createInput("month11", "checkbox", 11), "November"], "month11")),
       Display.createFormRow(Display.createLabel([Display.createInput("month12", "checkbox", 12), "December"], "month12"))
      ]);
    Display.appendContent(dlgBody,
      [
        Display.createElement("P", "small text errorText servResponse"),
        loginForm
      ]);
    var dlgFooter = Display.createElement("DIV", "ft medium");
    // Add the sections
    Display.appendContent(YAHOO.util.Dom.get("D"),
      Display.appendContent(Display.createElement("DIV", "AdminDialog", "EditMonthDialog"), [dlgHeader, dlgBody, dlgFooter]));
    // Create the dialog
    var buttons = [{text:"Edit Months", handler:dialogSubmit, isDefault:true}, {text:"Cancel", handler:dialogCancel}];
    YAHOO.Dialogs.editMonths = new YAHOO.widget.Dialog("EditMonthDialog");
    YAHOO.Dialogs.editMonths.cfg.queueProperty("buttons", buttons);
    YAHOO.Dialogs.editMonths.cfg.queueProperty("modal", true);
    YAHOO.Dialogs.editMonths.cfg.queueProperty("fixedcenter", true);
    YAHOO.Dialogs.editMonths.cfg.queueProperty("hideaftersubmit", false);
    YAHOO.Dialogs.editMonths.callback.success = editMonthRequestSuccess;
    YAHOO.Dialogs.editMonths.callback.failure = requestFailure;
    YAHOO.Dialogs.editMonths.render();
  }
  
  var monthSelect = YAHOO.util.Dom.get("m");
  
  selectedMonth = monthSelect.options[monthSelect.selectedIndex].value;
  
  for(var i = 0; i < monthSelect.options.length; ++i) {
    YAHOO.util.Dom.get("month" + monthSelect.options[i].value).checked = "checked";
  }

  var serverResponseBoxes = YAHOO.util.Dom.getElementsByClassName("servResponse", "p", "EditMonthDialog");
  var serverResponseBox   = serverResponseBoxes[0];
    
  Display.removeAll(serverResponseBox);

  YAHOO.Dialogs.editMonths.show();
}

var editMonthRequestSuccess = function(o) {
  var responseNode = o.responseXML;
  
  if(dialogHandleForceLogoutResponse(o, YAHOO.Dialogs.editMonths) == false) {
    if(dialogHandleErrorResponse(o, "EditMonthDialog") == false) {
      var selectableMonths = responseNode.getElementsByTagName("Item");
      
      if(selectableMonths && selectableMonths.length > 0) {
        Display.removeAll(YAHOO.util.Dom.get("m"));

        for(var i = 0; i < selectableMonths.length; ++i) {
          var selectOption   = Display.createElement("OPTION");
          selectOption.value = selectableMonths[i].getAttribute('ID');
          
          if(selectedMonth && selectOption.value == selectedMonth) {
            selectOption.selected = "selected";
          }
          
          Display.appendContent(YAHOO.util.Dom.get("m"),
            Display.appendContent(selectOption, selectableMonths[i].getAttribute('value')));
        }
      }
      
      YAHOO.Dialogs.editMonths.hide();
    }
  }
}