var OCS = {
  getElementsByHash: function(str) {
    return $('#'+str.split('#')[1]);
  },
  hostname: function() {
    return document.location.hostname;
  },
  // 初期化処理
  ui: {
    form: {
      defaultstr : {
        'search-form-text' : '検索する語句を入力'
      },
      setFocus : function(ele) {
        ele.removeClass("blur");
        ele.addClass("unfocus");
        if(ele.size()) {
          var id = ele.attr('id');
          ele.val(ele.val() == this.defaultstr[id] ? '' : ele.val());
          ele.removeClass('default');
          ele.each(function(){ this.select(); })
        }
      },
      killFocus : function(ele) {
        ele.addClass("blur");
        ele.removeClass("unfocus");
        if(ele.size()) {
          var id = ele.attr('id');
          if(ele.val() == this.defaultstr[id] || ele.val() == '') {
            if(this.defaultstr[id]) ele.val(this.defaultstr[id]);
            ele.addClass('default');
          }
        }
      },
      init: function() {
        $("input[@type='text'], input[@type='password'], textarea").focus(function() {
          OCS.ui.form.setFocus($(this));
        });
        $("input[@type='text'], input[@type='password'], textarea").blur(function() {
          OCS.ui.form.killFocus($(this));
        });
        $("input[@type='text'], input[@type='password'], textarea").each(function() {
          OCS.ui.form.killFocus($(this));
        });
        // クイック検索-地域選択
        $("#select-area").change(function() {
          $("#quick-search").load("http://" + OCS.hostname() + "/api/search", {
            mode: 'quick',
            area: $("#select-area").val()
          });
        });
        // 学校選択／解除
        $("#check-school1").click(function() {
          $(this).parents("form").find("input[@type='checkbox']").attr('checked', true);
          return false;
        });
        $("#uncheck-school1").click(function() {
          $(this).parents("form").find("input[@type='checkbox']").attr('checked', false);
          return false;
        });
        $("#check-school2").click(function() {
          $(this).parents("form").find("input[@type='checkbox']").attr('checked', true);
          return false;
        });
        $("#uncheck-school2").click(function() {
          $(this).parents("form").find("input[@type='checkbox']").attr('checked', false);
          return false;
        });
        // 学校検索-地域選択
        $("input[@type='checkbox'].area").click(function() {
          var areas = $("#searchform-area");
          var selectedVal = this.value;
          OCS.ui.form.selectPlurally(areas, selectedVal);
        });
        // 学校検索-スタイル選択
        $("input[@type='checkbox'].style").click(function() {
          var styles = $("#searchform-style");
          var selectedVal = this.value;
          OCS.ui.form.selectPlurally(styles, selectedVal);
        });
        // 学校検索-職種選択
        $("input[@type='checkbox'].job").click(function() {
          var jobs = $("#searchform-job");
          var selectedVal = this.value;
          OCS.ui.form.selectPlurally(jobs, selectedVal);
        });
        // 学校検索-アイテム選択
        $("input[@type='checkbox'].item").click(function() {
          var items = $("#searchform-item");
          var selectedVal = this.value;
          OCS.ui.form.selectPlurally(items, selectedVal);
        });
        // 学校検索-実行
        $("#search-school").click(function() {
          $("#search-results").load("http://" + OCS.hostname() + "/api/search", {
            keyword: $("#searchform-keyword").val(),
            //area: $("#searchform-area").val(),
            style: $("#searchform-style").val(),
            job: $("#searchform-job").val(),
            item: $("#searchform-item").val()
          });
          $("#requestform").ScrollTo(900);
        });
        // 学校検索画面で、パラメータが指定されている場合は資料請求フォームをスクロール表示。
        if (location.search && $("#requestform")) {
          $("#requestform").ScrollTo(900);
        }
      },
      // チェックボックスなどで複数選択時の値設定
      selectPlurally: function(target, selectedVal) {
        var ar;
        var rm = false;
        if (target.val()) {
          ar = target.val().split(",");
          for (var i=0; i<ar.length; i++) {
            if (ar[i] == selectedVal) {
              // i番目の要素を削除
              ar.splice(i, 1);
              rm = true;
              break;
            }
          }
        }
        else {
          ar = [];
        }
        if (!rm) {
          ar.push(selectedVal);
        }
        target.val(ar.join());
      },
      // 学校検索-資料請求
      request: function() {
        $("#requestform").submit();
        return false;
      },
      //*** 資料請求-コミュ参加
      // 住民登録・コミュ参加フォームへ切り替え
      toRegist: function() {
        $("#join").load("http://" + OCS.hostname() + "/request/join/registform");
        return false;
      },
      // ログイン・コミュ参加フォームへ切り替え
      toLogin: function() {
        $("#join").load("http://" + OCS.hostname() + "/request/join/loginform");
        return false;
      },
      // 参加フォーム送信
      join: function() {
        $("#joinform").submit();
        return false;
      }
    },
    breadcrumbs: function() {
        //フッターパンくずリスト
        var crumbs = $('div.breadcrumbs').html();
        if (crumbs) {
            $('#footer_fs div.footer_breadcrumbs').html(crumbs);
        }
        else {
            $('#footer_fs').remove();
            $('#footer').prepend('<div id="footer_fs2"></div>');
        }
    }
  },
  init: function() {
    if(window.$) {
      $(function() {
        $("a[@rel='popup']").attr("target","_blank");
        OCS.ui.form.init();
        OCS.ui.breadcrumbs();
      })
    } else setTimeout(OCS.init,10);
  }
}

OCS.init();
