        var movingSomething = false;
        var divName = "";
        var nodes = new Array("loginLayer", "searchLayer", "contentLayer", "menuLayer");

        function downHandler(evt) {
          sourceNode = evt.target;
          if (sourceNode.getAttribute("class") == "windowShade") {
            movingSomething = true;
            node = evt.target;
            while (node.id  == "") {
              node = node.parentNode;
            }
            divName = node.id;
          }
        }

        function upHandler(evt) {
           movingSomething = false;
           divName = "";
        }

        function moveHandler(evt) {
           if (movingSomething) {                     
             node = document.getElementById(divName);
             moveNodeByEvent(node, evt);
           }
       }

        function set() {
          if (document.implementation && document.implementation.hasFeature && 
              document.getElementById && document.addEventListener) {

            document.addEventListener("mouseup", upHandler, true);
            document.addEventListener("mousemove", moveHandler, false);

            for (i = 0 ; i < nodes.length ; i ++) {
              node = document.getElementById(nodes[i]);
              if (node) {
                node.addEventListener("mousedown", downHandler, true);
              }
            }

          } else if (document.all) {
             document.onmouseup = IEup;
             document.onmousemove = IEmove;
          }
        }

        function resetPos() {

            node = document.getElementById("loginLayer");
 
            if (node)
              moveNodeByPos(node, 5, 5);

            node = document.getElementById("searchLayer");

            if (node)
              moveNodeByPos(node, 280, 5);

            node = document.getElementById("menuLayer");

            if (node)
              moveNodeByPos(node, 450, 5);

            node = document.getElementById("contentLayer");

            if (node) {
              moveNodeByPos(node, 5, 250);
              resetWidth(node, contentLayer_width);
            }

        }

      function IEdown(name) {      
        movingSomething = true;
        tagName = name;
      }

      function IEmove() {
        if (movingSomething && !document.addEventListener) {
          node = document.getElementById(tagName);
          moveNodeByEvent(node, event);
        }        
      }

      function IEup() {
        if (!document.addEventListener) {
          movingSomething = false;
          tagName = "";
        }
      }

      function moveNodeByEvent(node, event) {
        sty = node.style;
        newX = event.clientX;
        newY = event.clientY;
        if (!snapGrid || newX % 5 == 0)
          sty.left = newX + "px";
        if (!snapGrid || newY % 5 == 0)
          sty.top  = newY + "px";
      }

      function moveNodeByPos(node, x, y) {
        sty = node.style;
        sty.top = x + 'px';
        sty.left = y + 'px';

      }

      function savePos() {
        url = "./saveUI.php?";
        nodes = new Array("searchLayer", "menuLayer", "contentLayer", "loginLayer");
        changed = false;
        for (i = 0 ; i < nodes.length ; i ++) {

          node = document.getElementById(nodes[i]);
          if (node) {
            X     = getTop(node);
            Y     = getLeft(node);
            width = getWidth(node);
            if (X) X = parseInt(X);
            if (Y) Y = parseInt(Y);
            if (width) width = parseInt(width);    
            url = url + "&" + nodes[i] + "X=" + X + "&" + nodes[i] + "Y=" + Y + "&" + nodes[i] + "Width=" + width;
            if (X || Y || width)
              changed = true;
          }
        }

        if (changed) {
          var win = window.open(url, 'UIWindow', 'height=300,width=400,scrollbars=no');
        } else {
          alert("You have not altered the user interface. No changes will be saved.");
        }
      }

      function getTop(node) {
        sty = node.style;
        return sty.top;
      }

      function getLeft(node) {
        sty = node.style;
        return sty.left;
      }

      function getWidth(node) {
        sty = node.style;
        return sty.width;
      }

      function wider() {
        divnode = document.getElementById("contentLayer");
        tablenode = getTableNode(divnode);
        divsty =  divnode.style;
        tablesty =  tablenode.style;
        width = divsty.width;
        if (!width || width == "undefined") { // has not been moved yet
          width = contentLayer_width;
        } else
          width = parseInt(divsty.width);

        width = width + 100;
        divsty.width = width + 'px';
        tablesty.width = width + 'px';
      }

      function narrower() {
        divnode = document.getElementById("contentLayer");
        tablenode = getTableNode(divnode);
        divsty =  divnode.style;
        tablesty =  tablenode.style;
        width = divsty.width;
        if (!width || width == "undefined") { // has not been moved yet
          width = contentLayer_width;
        } else
          width = parseInt(divsty.width);

        width = width - 100;
        divsty.width = width + 'px';
        tablesty.width = width + 'px';
      }

      function getTableNode(node) {
        children = node.childNodes;
        for (i = 0 ; i < children.length ; i ++) {
          if (children[i].tagName == "TABLE")
            return children[i];
        }
      }

      function resetWidth(node, width) {
        node.style.width = width + "px";
        child = getTableNode(node);
        child.style.width = width + "px";
      }

    /* begin the various editor function methods */

function bold(field) {

   var text = prompt("Please enter the text you wish to have bolded:", "");
   field.value = field.value + " " + "<strong>" + text + "</strong> ";
}

function italic(field) {

   var text = prompt("Please enter the text you wish to have italicized:", "");
   field.value = field.value + " " + "<em>" + text + "</em> ";

}

function hyperlink(field) {

   var text = prompt("Please enter the text you want clickable:", "");
   var url = prompt("Please enter the URL to the document:", "http://");
   field.value = field.value + " " + "<a href=\"" + url + "\" target=\"_blank\">" + text + "</a> ";

}

function img(field) {

   var url = prompt("Please enter the URL to the image:", "http://");
   var alt = prompt("Please enter any alternate text for this image:", "");
   field.value = field.value + " " + "<img src=\"" + url + "\" alt=\""+ alt +"\" />";


}

function blockquote(field) {

   var text = prompt("Please enter the text you wish to have quoted:", "");
   field.value = field.value + " " + "<blockquote>" + text + "</blockquote>";

}

function showSampleRecord(id) {
  url = "./sampleRecord.php?collection_id=" + id;
  var win = window.open(url, 'SampleWindow', 'height=400,width=400,scrollbars=yes,resizable=yes');
}

function setFeedback(id, count) {

  parentIdNode = document.getElementById("parent_id");
  parentIdNode.setAttribute("value", id);

  replyBoxNode = document.getElementById("replyBox");
  replyBoxNode.setAttribute("value", "You are replying to comment " + count + ". It will be threaded under it.");

  replyNode = document.getElementById("replyToBox");
  replyNode.style.display = "block";

  idNode = document.getElementById(id);
  children = idNode.getElementsByTagName("DIV");
  for (i = 0 ; i < children.length ; i ++) {
    if (children[i].tagName == "DIV")
      if (children[i].getAttribute("id") == "subject") {
        if (children[i].hasChildNodes()){
          subjectBoxNode = document.getElementById("subjectBox");
          subjectBoxNode.setAttribute("value", "Re: " + children[i].firstChild.nodeValue);          
        } else { subjectBoxNode.setAttribute("value", ""); }
      }
  }

}

function noReplyTo() {

  parentIdNode = document.getElementById("parent_id");
  parentIdNode.setAttribute("value", 0);

  replyBoxNode = document.getElementById("replyBox");
  replyBoxNode.setAttribute("value", "");

  subjectBoxNode = document.getElementById("subjectBox");
  subjectBoxNode.setAttribute("value", "");

//  replyNode = document.getElementByd("replyToBox");
//  replyNode.style.display = "none";

}

function showComment(id) {
  commentNode = document.getElementById("comment" + id);
  commentNode.style.display = "block";
}

function hideComment(id) {
  commentNode = document.getElementById("comment" + id);
  commentNode.style.display = "none";
}

function showHelpPopup(content) {
  var win = window.open('./popup.php?c=' +  content, 'HelpPopUp', 'height=400,width=400,scrollbars=yes,resizable=yes');
}

