var commentcount = 0;
function addcomment(object) {
   var node = document.getElementById(object);
   if (commentcount > 0) {
      alert("Sorry, submit or cancel your other comment first.");
      return;
   }
   commentcount++;
   var html;
   html = "<form name=\"commentform\" action=\"/addcomment.cgi\" method=\"post\" onsubmit=\"saveidentity();return true;\">";
   html += "<div style=\"padding: 2px;\">Preview Comment: <a href=\"#\" onclick=\"dropcomment(\'"+object+"\');return false;\" class=\"slink\">(Cancel Comment)</a><br/><div id=\"commentpreview-"+object;
   html += "\" style=\"border: 1px #000 dotted;\">&nbsp;</div></div>";
   html += "<div style=\"padding: 2px;\">Your Name:&nbsp;<input type=\"text\" name=\"author\" onchange=\"saveidentity();\" /></div>";
   html += "<div style=\"padding: 2px;\">Your URL:&nbsp;<input type=\"text\" name=\"url\" onchange=\"saveidentity();\" /></div>";
   html += "<div style=\"padding: 2px;\">Your Comment:<br /><textarea id=\"commententry-"+object+"\" name=\"comment\" rows=\"6\" cols=\"60\"";
   html += " onkeyup=\"updatepreview(\'"+object+"\')\"></textarea></div>";
   html += "<div style=\"padding: 2px;font-size: .8em\">Links are the only HTML allowed.  Use proper xhtml, no extra attributes.  Preview should exactly match what will be displayed - if it doesn't link right there, it won't after submission.</div>";
   html += "<div style=\"padding: 2px;font-size: .8em\"><strong>Note:</strong> Your IP is recorded with your comment, and while not displayed currently, it may be in the future if this is abused.</div>";
   html += "<div style=\"padding: 2px;width: 10%;margin-left: auto;margin-right: auto;font-size: .8em\"><input type=\"submit\" value=\"Add Comment\" /></div>";
   html += "<input type=\"hidden\" name=\"id\" value=\""+jeremy_pageid+"\" />";
   html += "<input type=\"hidden\" name=\"cvalid\" value=\""+jeremy_cvalid+"\" />";
   html += "<input type=\"hidden\" name=\"objectname\" value=\""+object+"\" />";
   html += "</form>";
   node.innerHTML = html;
   getidentity();
}
function dropcomment(object) {
   var node = document.getElementById(object);
   node.innerHTML = '<a href="/addcomment2.shtml?id='+jeremy_pageid+'&" onclick="addcomment(\''+object+'\');return false;" class="slink">Start comment again</a>';
   commentcount--;
}
function updatepreview(commentid) {
   var node = document.getElementById("commentpreview-"+commentid);
   var snode = document.getElementById("commententry-"+commentid);
   var content = snode.value;
   content = content.replace(/&/g,"&amp;");
   content = content.replace(/\"/g,"&quot;");
   content = content.replace(/</g,"&lt;");
   content = content.replace(/>/g,"&gt;");
   content = content.replace(/\n/g,"<br/>");
   content = content.replace(/\.\.\.\.\.+/g,".....");
   content = content.replace(/!!!+/g,"!!!");
   content = content.replace(/\?\?\?+/g,"???");
   content = content.replace(/([\?\.!]{10,10})[\?\.!]+/g,"$1");
   content = content.replace(/&lt;a href=&quot;(.*?)&quot;&gt;(.+?)&lt;\/a&gt;/g,"<a href=\"$1\" rel=\"nofollow\">$2</a>");
   if (content == '') {
      content = '&nbsp;';
   }
   node.innerHTML = content; 
}
function commentreply(commentid) {
   document.write('<a href="/addcomment2.shtml?id='+jeremy_pageid+'&" onclick="addcomment(\'commentreply'+commentid+'\');return false;" class="slink">Reply</a>');
}
function pagecomment() {
   document.write('<a href="/addcomment2.shtml?id='+jeremy_pageid+'&" onclick="addcomment(\'pagecomment'+jeremy_pageid+'\');return false;" class="slink">Add a comment (new thread)</a>');
}
function getidentity() {
   if (document.cookie) {
      var cookies = document.cookie.split(';');
      for(var x = 0; x < cookies.length; x++) {
         var cookie = cookies[x].split('=');
         if (cookie[0] == 'commentidentity') {
            var values = cookie[1].split('|');
            document.commentform.author.value = values[0];
            document.commentform.url.value = values[1];
            return;
         }
      }
   }
}
function saveidentity() {
   var author = document.commentform.author.value.replace(/;/g,'');
   var url = document.commentform.url.value.replace(/;/g,'');

   var date = new Date();
   date.setTime(date.getTime()+(365*86400*1000));

   document.cookie = 'commentidentity='+author+'|'+url+'; expires='+date.toGMTString()+'; path=/entries/;';

   return true;
}
