/// ページの読み込みが完了したときに実行するスクリプト
var g_onLoadBehaviors = new Array();

/// ページの読み込みが完了したときに実行するスクリプトを登録する
function registerOnLoadBehavior(onLoadFunction)
{
  g_onLoadBehaviors.push(onLoadFunction);
}

/// ウィンドウの読み込みが完了したときに登録されている関数を実行する
function executeOnLoadBehaviors()
{
  for (var i = 0; i < g_onLoadBehaviors.length; i++) {
    g_onLoadBehaviors[i]();
  }
}

/// お問い合わせの入力項目を検証する
function onSendInquiry(form)
{
  if (form.name.value == "") {
    alert("名前をご記入ください");
    return false;
  }

  if (form.mail_address.value == "") {
    alert("メールアドレスをご記入ください");
    return false;
  }

  if (form.category.selectedIndex == 0) {
    alert("お問い合わせカテゴリを選択してください");
    return false;
  }

  if (form.content.value == "") {
    alert("お問い合わせ内容をご記入ください");
    return false;
  }

  if (confirm("送信してよろしいですか？")) {
    var params = { "name"        : form.name.value,
                   "mail_address": form.mail_address.value,
                   "category"    : form.category.value,
                   "content"     : form.content.value };
    new Ajax.Updater({ "success"   : "contact_form" },
                     "/wp-content/themes/game_style/scripts/contact.php",
                     { "method"    : "post",
                       "parameters": params });
  }

  return false;
}

/// 検索ボックスがフォーカスを得たときデフォルトの文字を消す
function onFocusInput(element, defaultValue)
{
  if (element.value == defaultValue) {
    element.value = "";
  }
}

/// 検索ボックスがフォーカスを失ったとき未入力の場合はデフォルト値を入れる
function onBlurInput(element, defaultValue)
{
  if (element.value == "") {
    element.value = defaultValue;
  }
}

/// コメント投稿フォームから引数で与えた文字列と同じ値を削除する
function stripDefaults(form)
{
  var args = stripDefaults.arguments;
  for (var i = 0; i < form.elements.length; i++) {
    for (var j = 1; j < args.length; j++) {
      if (form.elements[i].value == args[j]) {
        form.elements[i].value = "";
      }
    }
  }
  return true;
}

/// ウィンドウの読み込みが完了したときに登録されている関数を実行する
if (jQuery) {
  jQuery(document).ready(function () {
    executeOnLoadBehaviors();
  });
} else {
  window.onload = executeOnLoadBehaviors;
}
