function createCommentForm(action, nameMax, urlMax, commentMax)
{
  if (document.getElementById("IDcommentform"))
    return;

  var container = document.getElementById("comment_formcontainer");

  var form = document.createElement("form");
  form.id = "IDcommentform";
  form.setAttribute("name", "commentform");
  form.setAttribute("method", "POST");
  form.setAttribute("action", action);
  form.setAttribute("enctype", "multipart/form-data");
  form.innerHTML =
    "<input type='hidden' name='nameMax' value='" + nameMax + "' />" +
    "<input type='hidden' name='urlMax' value='" + urlMax + "' />" +
    "<input type='hidden' name='commentMax' value='" + commentMax + "' />" +
    "<br>" +
    "<div id='IDerrormsg'></div>" +
    "<table class='comment_formtable'>" +
    "<tr>" +
    "<td>名前</td>" +
    "<td><input class='comment_textbox' name='name' type='text' size=50 maxlength='" + nameMax + "' style='width:200px;' /></td></tr>" +
    "<tr>" +
    "<td>URL</td>" +
    "<td><input class='comment_textbox' name='url' type='text' size=50 maxlength='" + urlMax + "' style='width:200px;' /> 省略可</td></tr>" +
    "<tr>" +
    "<td>コメント</td>" +
    "<td><textarea class='comment_textbox' name='comment' rows='10' cols='50'></textarea></td></tr>" +
    "</table><br>" +
    "<input value='送信'  name='post' type='submit' onclick='return checkForm();' /> " +
    "<input value='キャンセル' name='cancel' type='submit' />";

  container.appendChild(form);
}

function checkForm()
{
  var form = document.forms['IDcommentform'];

  if (form.elements['name'].value.length == 0) {
    document.getElementById('IDerrormsg').innerHTML = "名前が入力されていません。";
    return false;
  }
  if (form.elements['name'].value.length > form.elements['nameMax'].value) {
    document.getElementById('IDerrormsg').innerHTML = "名前が長すぎます。";
    return false;
  }

  if (form.elements['url'].value.length > form.elements['urlMax'].value) {
    document.getElementById('IDerrormsg').innerHTML = "URLが長すぎます。";
    return false;
  }

  if (form.elements['url'].value.length > 0 &&
      !form.elements['url'].value.match(/^(http:\/\/|mailto:)/i)) {
    document.getElementById('IDerrormsg').innerHTML =
      "URLはhttp://かmailto:で始めてください。";
    return false;
  }

  if (form.elements['comment'].value.length == 0) {
    document.getElementById('IDerrormsg').innerHTML = "コメントが入力されていません。";
    return false;
  }
  if (form.elements['comment'].value.length > form.elements['commentMax'].value) {
    document.getElementById('IDerrormsg').innerHTML = "コメントは" +
      form.elements['commentMax'].value + "文字までです。";
    return false;
  }

  return true;
}


var commentBuffHtml = "";

function switchCommentWindow()
{
  var sw = document.getElementById('IDcommentswitch');

  var cont = document.getElementById('IDcommentcontainer');
  if (cont.style.visibility == "hidden") {
    cont.style.visibility = "visible";
    cont.style.position = "relative";
    cont.innerHTML = commentBuffHtml;
    sw.innerHTML = "最近のコメントを非表示";
  } else {
    cont.style.visibility = "hidden";
    cont.style.position = "absolute";
    commentBuffHtml = cont.innerHTML;
    cont.innerHTML = "";
    sw.innerHTML = "最近のコメントを表示";
  }
}

function onLoad()
{
  var cont = document.getElementById('IDcommentcontainer');
  if (cont) {
    commentBuffHtml = cont.innerHTML;
    cont.innerHTML = "";
  }
}

window.onload = onLoad;
