loadPageAdminContent = function() {
  var newsItems = YAHOO.util.Dom.getElementsByClassName("newsHeader", "H3", "data");
  
  var addLink = Display.appendContent(Display.createElement("A", "adminLink small addNews adminFeature"), "[Create a New Post]");
      addLink.href = "#";
  
  YAHOO.util.Event.addListener(addLink, "click", addLinkClick);
  
  if(YAHOO.util.Dom.getFirstChild("data") != null) {
    YAHOO.util.Dom.insertBefore(addLink, YAHOO.util.Dom.getFirstChild("data"));
  } else {
    Display.appendContent(YAHOO.util.Dom.get("data"), addLink);
  }
  
  if(newsItems && newsItems.length > 0) {
    for(var i = 0; i < newsItems.length; ++i) {
      var newsID   = newsItems[i].id.substr("news-".length);
      var editLink = Display.createElement("A", "adminLink");
          editLink.href   = "#";
      var deleteLink = Display.createElement("A", "adminLink");
          deleteLink.href = "#";
      
      YAHOO.util.Event.addListener(editLink, "click", editLinkClick, newsID);
      YAHOO.util.Event.addListener(deleteLink, "click", deleteLinkClick, newsID);
      
      Display.appendContent(newsItems[i],
        Display.appendContent(Display.createElement("SPAN", "adminFeature small modifyNews"),
          [
           "(",
           Display.appendContent(editLink, "[Edit]"),
           " ",
           Display.appendContent(deleteLink, "[Delete]"),
           ")"
          ])
        );
    }
  }
}

var editLinkClick = function(e, o) {
  YAHOO.util.Event.preventDefault(e);

  var getNewsURL = url + "services/requests/doGetNewsData?editNewsID=" + o;

  YAHOO.util.Connect.asyncRequest('GET', getNewsURL, { success:editLinkGetDataRequestSuccess }, null); 
}

var editLinkGetDataRequestSuccess = function(o) {
  if(YAHOO.util.Dom.inDocument("EditNewsDialog") == false && YAHOO.Dialogs.editNews == null) {
    // Create the dialog header
    var dlgHeader = Display.createElement("DIV", "hd");
    Display.appendContent(dlgHeader,
      Display.appendContent(Display.createElement("P", "medium text"), "Edit this News Item"));
    // Create the dialog content
    var dlgBody   = Display.createElement("DIV", "bd");
    var dform = Display.createForm("post", url + "services/requests/doEditNews", "medium formForm");
        dform.id = "EditNewsForm";
    Display.appendContent(dform.firstChild,
      [
       Display.createFormRow(
         [
          Display.createLabel("Posting Date (YYYY-MM-DD): ", "editNewsDate"),
          Display.createInput("editNewsDate", "text", "", 12, 10),
          Display.createInput("editNewsID", "hidden")
         ]),
       Display.createFormRow(Display.createLabel("Title", "editNewsTitle")),
       Display.createFormRow(Display.createInput("editNewsTitle", "text", "", 66)),
       Display.createFormRow(Display.createLabel("Message", "editNewsText")),
       Display.createFormRow(Display.createTextArea("editNewsText", 65, 10))
      ]);
    Display.appendContent(dlgBody,
      [
        Display.createElement("P", "small text errorText servResponse"),
        dform
      ]);
    var dlgFooter = Display.createElement("DIV", "ft medium");
    // Add the sections
    Display.appendContent(YAHOO.util.Dom.get("D"),
      Display.appendContent(Display.createElement("DIV", "AdminDialog", "EditNewsDialog"), [dlgHeader, dlgBody, dlgFooter]));
    // Create the dialog
    var buttons = [{text:"Edit News", handler:dialogSubmit, isDefault:true}, {text:"Cancel", handler:dialogCancel}];
    YAHOO.Dialogs.editNews = new YAHOO.widget.Dialog("EditNewsDialog");
    YAHOO.Dialogs.editNews.cfg.queueProperty("buttons", buttons);
    YAHOO.Dialogs.editNews.cfg.queueProperty("modal", true);
    YAHOO.Dialogs.editNews.cfg.queueProperty("fixedcenter", true);
    YAHOO.Dialogs.editNews.cfg.queueProperty("hideaftersubmit", false);
    YAHOO.Dialogs.editNews.callback.success = editNewsRequestSuccess;
    YAHOO.Dialogs.editNews.callback.failure = requestFailure;
    YAHOO.Dialogs.editNews.render();
    
    YAHOO.util.Dom.setStyle("editNewsTitle", "width", YAHOO.util.Dom.getStyle("editNewsText", "width"));
  }
  
  var responseNode  = o.responseXML;
  var returnedItems = responseNode.getElementsByTagName('Item');
  
  for(var i = 0; i < returnedItems.length; ++i) {
    var itemNode = returnedItems[i];
    
    if(itemNode.getAttribute("ID") == "Title") {
      YAHOO.util.Dom.get("editNewsTitle").value = itemNode.getAttribute("value");
    } else if(itemNode.getAttribute("ID") == "Posted") {
      YAHOO.util.Dom.get("editNewsDate").value = itemNode.getAttribute("value");
    } else if(itemNode.getAttribute("ID") == "NewsID") {
      YAHOO.util.Dom.get("editNewsID").value = itemNode.getAttribute("value");
    } else if(itemNode.getAttribute("ID") == "Text") {
      YAHOO.util.Dom.get("editNewsText").value = itemNode.firstChild.nodeValue;
    }
  }
  
  var serverResponseBoxes = YAHOO.util.Dom.getElementsByClassName("servResponse", "p", "EditNewsDialog");
  var serverResponseBox   = serverResponseBoxes[0];
    
  Display.removeAll(serverResponseBox);
  
  YAHOO.Dialogs.editNews.show();
}

var editNewsRequestSuccess = function(o) {
  var responseNode = o.responseXML;
  
  if(dialogHandleForceLogoutResponse(o, YAHOO.Dialogs.editNews) == false) {
    if(dialogHandleErrorResponse(o, "EditNewsDialog") == false) {
      window.location.reload();
      
      var items = responseNode.getElementsByTagName("Item");

      //removeNewsItem(YAHOO.util.Dom.get("news-" + items[0].getAttribute("value")));

      YAHOO.Dialogs.editNews.hide();
    }
  }
}

var deleteLinkClick = function(e, o) {
  YAHOO.util.Event.preventDefault(e);

  if(YAHOO.util.Dom.inDocument("DeleteNewsDialog") == false && YAHOO.Dialogs.deleteNews == null) {
    // Create the dialog header
    var dlgHeader = Display.createElement("DIV", "hd");
    Display.appendContent(dlgHeader,
      Display.appendContent(Display.createElement("P", "medium text"), "Remove News?"));
    // Create the dialog content
    var dlgBody   = Display.createElement("DIV", "bd");
    var dform = Display.createForm("post", url + "services/requests/doDeleteNews", "medium formForm");
        dform.id = "DeleteNewsForm";
    Display.appendContent(dform.firstChild,
      [
       Display.appendContent(Display.createElement("P", "text"), "Are you sure you want to remove this news item?"),
       Display.createInput("deleteNewsID", "hidden")
      ]);
    Display.appendContent(dlgBody,
      [
        Display.createElement("P", "small text errorText servResponse"),
        dform
      ]);
    var dlgFooter = Display.createElement("DIV", "ft medium");
    // Add the sections
    Display.appendContent(YAHOO.util.Dom.get("D"),
      Display.appendContent(Display.createElement("DIV", "AdminDialog", "DeleteNewsDialog"), [dlgHeader, dlgBody, dlgFooter]));
    // Create the dialog
    var buttons = [{text:"Yes", handler:dialogSubmit, isDefault:true}, {text:"Cancel", handler:dialogCancel}];
    YAHOO.Dialogs.deleteNews = new YAHOO.widget.Dialog("DeleteNewsDialog");
    YAHOO.Dialogs.deleteNews.cfg.queueProperty("buttons", buttons);
    YAHOO.Dialogs.deleteNews.cfg.queueProperty("modal", true);
    YAHOO.Dialogs.deleteNews.cfg.queueProperty("fixedcenter", true);
    YAHOO.Dialogs.deleteNews.cfg.queueProperty("hideaftersubmit", false);
    YAHOO.Dialogs.deleteNews.callback.success = deleteNewsRequestSuccess;
    YAHOO.Dialogs.deleteNews.callback.failure = requestFailure;
    YAHOO.Dialogs.deleteNews.render();
  }
  
  YAHOO.util.Dom.get("deleteNewsID").value = o;
  
  YAHOO.Dialogs.deleteNews.show();
}

var deleteNewsRequestSuccess = function(o) {
  var responseNode = o.responseXML;
  
  if(dialogHandleForceLogoutResponse(o, YAHOO.Dialogs.deleteNews) == false) {
    if(dialogHandleErrorResponse(o, "DeleteNewsDialog") == false) {
      window.location.reload();
      
      var items = responseNode.getElementsByTagName("Item");

      //removeNewsItem(YAHOO.util.Dom.get("news-" + items[0].getAttribute("value")));

      YAHOO.Dialogs.deleteNews.hide();
    }
  }
}

var removeNewsItem = function(element) {
  if(element == null) {
    return;
  }

  var newsItem  = YAHOO.util.Dom.getAncestorByClassName(element, "newsGroup");
  var dateGroup = YAHOO.util.Dom.getAncestorByClassName(newsItem, "dateGroup");
  
  Display.remove(newsItem);
  
  var newsItems = YAHOO.util.Dom.getElementsByClassName("newsGroup", "div", dateGroup);
  
  if(!newsItems || newsItems.length == 0) {
    Display.remove(dateGroup);
  }
}

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

  if(YAHOO.util.Dom.inDocument("AddNewsDialog") == false && YAHOO.Dialogs.addNews == null) {
    // Create the dialog header
    var dlgHeader = Display.createElement("DIV", "hd");
    Display.appendContent(dlgHeader,
      Display.appendContent(Display.createElement("P", "medium text"), "Post a News Item"));
    // Create the dialog content
    var dlgBody   = Display.createElement("DIV", "bd");
    var dform = Display.createForm("post", url + "services/requests/doAddNews", "medium formForm");
        dform.id = "AddNewsForm";
    Display.appendContent(dform.firstChild,
      [
       Display.createFormRow(
         [
          Display.createLabel("Posting Date (YYYY-MM-DD): ", "addNewsDate"),
          Display.createInput("addNewsDate", "text", "", 12, 10)
         ]),
       Display.createFormRow(Display.createLabel("Title", "addNewsTitle")),
       Display.createFormRow(Display.createInput("addNewsTitle", "text", "", 66)),
       Display.createFormRow(Display.createLabel("Message", "addNewsText")),
       Display.createFormRow(Display.createTextArea("addNewsText", 65, 10))
      ]);
    Display.appendContent(dlgBody,
      [
        Display.createElement("P", "small text errorText servResponse"),
        dform
      ]);
    var dlgFooter = Display.createElement("DIV", "ft medium");
    // Add the sections
    Display.appendContent(YAHOO.util.Dom.get("D"),
      Display.appendContent(Display.createElement("DIV", "AdminDialog", "AddNewsDialog"), [dlgHeader, dlgBody, dlgFooter]));
    // Create the dialog
    var buttons = [{text:"Post News", handler:dialogSubmit, isDefault:true}, {text:"Cancel", handler:dialogCancel}];
    YAHOO.Dialogs.addNews = new YAHOO.widget.Dialog("AddNewsDialog");
    YAHOO.Dialogs.addNews.cfg.queueProperty("buttons", buttons);
    YAHOO.Dialogs.addNews.cfg.queueProperty("modal", true);
    YAHOO.Dialogs.addNews.cfg.queueProperty("fixedcenter", true);
    YAHOO.Dialogs.addNews.cfg.queueProperty("hideaftersubmit", false);
    YAHOO.Dialogs.addNews.callback.success = addNewsRequestSuccess;
    YAHOO.Dialogs.addNews.callback.failure = requestFailure;
    YAHOO.Dialogs.addNews.render();
    
    YAHOO.util.Dom.setStyle("addNewsTitle", "width", YAHOO.util.Dom.getStyle("addNewsText", "width"));
  }
  
  var serverResponseBoxes = YAHOO.util.Dom.getElementsByClassName("servResponse", "p", "AddNewsDialog");
  var serverResponseBox   = serverResponseBoxes[0];
    
  Display.removeAll(serverResponseBox);
  
  YAHOO.Dialogs.addNews.show();
}

var addNewsRequestSuccess = function(o) {
  if(dialogHandleForceLogoutResponse(o, YAHOO.Dialogs.deleteNews) == false) {
    if(dialogHandleErrorResponse(o, "AddNewsDialog") == false) {
      window.location.reload();
    }
  }
}
