dobrado.submitComment = function(a) {
  if (dobrado.currentComments) return;
  var comments = document.getElementById("dobrado_"+a);
  dobrado.currentComments = comments;
  var textareaList = comments.getElementsByTagName("textarea");
  var textarea = textareaList[0];
  dobrado.send("/comments.php",
               "id="+a+
               "&action=submit"+
               "&comment="+escape(textarea.value)+
               "&user=anonymous"+
               "&session="+
               "&password="+
               "&page="+dobrado.currentPage+
               "&visit="+dobrado.visitUser,
               "submitCommentCB");
};

dobrado.submitCommentCB = function() {
  var trList = [];
  var tdList = [];
  var td = null;

  if (dobrado.request.readyState === 4 && dobrado.request.status === 200) {
    if (dobrado.currentComments) {
      trList = dobrado.currentComments.getElementsByTagName("tr");
      tdList = trList[2].childNodes;
      var divList = tdList[0].getElementsByTagName("div");
      var div = divList[0];
      if (div && div.getAttribute("name") === "comments" &&
          dobrado.request.responseText !== "") {
        div.innerHTML = dobrado.request.responseText;
      }
      // Clear the comment textarea.
      var textareaList =
        dobrado.currentComments.getElementsByTagName("textarea");
      var textarea = textareaList[0];
      textarea.value = "";
      dobrado.currentComments = null;
    }
  }
};

dobrado.send = function(url,parameters,callback) {
  if (window.XMLHttpRequest) {
    try {
      dobrado.request = new XMLHttpRequest();
    } catch(e) {
      dobrado.request = false;
    }
  }
  else if (window.ActiveXObject) {
    try {
      dobrado.request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        dobrado.request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        dobrado.request = false;
      }
    }
  }
  if (dobrado.request) {
    if (callback === "submitCommentCB") {
      dobrado.request.onreadystatechange = dobrado.submitCommentCB;
    }
    dobrado.request.open("POST",url,true);
    dobrado.request.setRequestHeader("Content-type",
                                     "application/x-www-form-urlencoded");
    dobrado.request.setRequestHeader("Content-length", parameters.length);
    dobrado.request.setRequestHeader("Connection", "close");
    dobrado.request.send(parameters);
  }
};

// Can't lock or delete comments from public pages.
dobrado.lockComments = function(a) {};
dobrado.deleteComment = function(a) {};
