/**
 * 街はぴ - JavaScript - 公開サイト - 共通JavaScript
 *
 * @package happy-town
 * @author Hideyuki Kagasawa <kagasawa@web-prom.net>
 * @copyright Copyright (C) 2009 Pencil Co.,Ltd All Rights Reserved.
 */

$(function(){

    /**
     * @brief Aタグ:マウスオーバー時のイベント(rel属性に差し替え対象のIDを設定)
     */
    $('a.over').mouseover(function(){
        var targetId = $(this).attr('rel');
        var src = $('#'+targetId).attr('src');
        src = src.replace(/\.gif/ , "_o.gif");
        src = src.replace(/\.jpg/ , "_o.jpg");
        src = src.replace(/\.jpeg/ , "_o.jpeg");
        src = src.replace(/\.png/ , "_o.png");
        $('#'+targetId).attr('src', src);
    });

    /**
     * @brief Aタグ:マウスアウト時のイベント(rel属性に差し替え対象のIDを設定)
     */
    $('a.over').mouseout(function(){
        var targetId = $(this).attr('rel');
        var src = $('#'+targetId).attr('src');
        src = src.replace(/_o\.gif/ , ".gif");
        src = src.replace(/_o\.jpg/ , ".jpg");
        src = src.replace(/_o\.jpeg/ , ".jpeg");
        src = src.replace(/_o\.png/ , ".png");
        $('#'+targetId).attr('src', src);
    });

    /**
     * @brief INPUTタグ:マウスオーバー時のイベント
     */
    $('INPUT.over').mouseover(function(){
        var src = $(this).attr('src');
        src = src.replace(/\.gif/ , "_o.gif");
        src = src.replace(/\.jpg/ , "_o.jpg");
        src = src.replace(/\.jpeg/ , "_o.jpeg");
        src = src.replace(/\.png/ , "_o.png");
        $(this).attr('src', src);
    });

    /**
     * @brief INPUTタグ:マウスアウト時のイベント
     */
    $('INPUT.over').mouseout(function(){
        var src = $(this).attr('src');
        src = src.replace(/_o\.gif/ , ".gif");
        src = src.replace(/_o\.jpg/ , ".jpg");
        src = src.replace(/_o\.jpeg/ , ".jpeg");
        src = src.replace(/_o\.png/ , ".png");
        $(this).attr('src', src);
    });

    /**
     * @brief 何もせずに閉じる(POPUPで使用する)
     */
    $('a.static_close').attr('href', '#');
    $('.static_close').click(function(){
        window.close();
        return false;
    });

    /**
     * @brief ログアウトボタン
     */
    $('#btn_logout').click(function(){
        // mes:ログアウトしますか？
        var mes = '\u30ED\u30B0\u30A2\u30A6\u30C8\u3057\u307E\u3059\u304B\uFF1F';
        if ( !confirm(mes) ) {
          return false;
        }
    });

    // TAB以下のAタグのHREFを無反応にさせる
    $('#M_footerAreaLink .M_tab a').attr('href', '#');

    // TABのクリックイベントを割り当てる
    $('#M_footerAreaLink .M_tab a').click(function(){
        tabsToggle($(this).attr('rel'));
        return false;
    });

    function tabsToggle(currentTabId) {
      // 全てのTAB要素を隠す
      $('.footer_tabs').css('display', 'none');
      // カレント指定したタブだけ表示する
      $('#'+currentTabId).css('display', 'block');

      // カレントのタブのliタグにカレントクラスを追加する
      $('#M_footerAreaLink .M_tab li').removeClass();
      $('#mark_'+currentTabId).addClass('M_current');
    }

    // 読み込み時は京王線をカレントにする
    tabsToggle('M_keio');

    // ヘッダ検索
    $('#head_search').attr('href', '#');
    $('#head_search').click(function(){
        var url = '/genre_search/index/kwd:' + $('#head_keyword').val();
        window.location.href = url;
        return false;
    });
});

var webapi = {
		get_station: '/webapi/get_station/',
		set_session_landmark: '/webapi/set_session_landmark/',
		set_cookie_fontsize: '/webapi/set_cookie_fontsize/',
		set_cookie_current_tab: '/webapi/set_cookie_current_tab/'
};


/**
 * @brief アクセスログ集計メソッド
 */
var accesslogs = {
  set: function(pages, params) {

    var url = "/log/" + pages + params;

    $.ajax({
      url: url,
      async: true,
      processData: false,
      cache: false

//      data: params
//      success: function(html){
//        $("#results").append(html);
//      }
    });
  }
};

var tools = {
  /**
   * @brief 正しいURLを抽出（途中に＃が混入している場合、Ajaxで誤作動が起きるので＃より前のURLのみ返す）
   */
  correct_url: function(url) {
    var re = new RegExp(/(.*)#(.*)/);
    if (url.toString().match(re)) {
      var m = re.exec(url);
      url = m[1];
    }
    return url;
  },

  /**
   * @brief POPUPを開く
   */
  open_popup: function(url, popup_name, width, height) {
    window.open(url, 'postcode_search', 'width=650, height=300, menubar=no, toolbar=no, scrollbars=yes');
  }
};

//var popup = {
//  url : '',
//  popup_name : 'default_popup',
//  width : 670,
//  height : 850,
//
//  /**
//   * @brief POPUPを開く
//   */
//  open: function() {
//    var msg;
//    if ( this.url == '' ) {
//      // msg:URLが未指定です。
//      msg = '\u0055\u0052\u004C\u304C\u672A\u6307\u5B9A\u3067\u3059\u3002';
//      alert(msg);
//      return false;
//    }
//
//    if ( this.popup_name == 'default_popup' ) {
//      // msg:POPUP名が未設定です。
//      msg = '\u0050\u004F\u0050\u0055\u0050\u540D\u304C\u672A\u8A2D\u5B9A\u3067\u3059\u3002';
//      alert(msg);
//    }
//
//    window.open(this.url, this.popup_name, 'width=' + this.width + ', height=' + this.height + ', menubar=no, toolbar=no, scrollbars=yes');
//  }
//};

/**
 * @brief jQuery POPUPプラグイン
 */
(function($) {

  $.extend({
    popup : new function() {

      /**
       * @brief デフォルト設定
       */
      this.defaults = {
          url : '',
          popup_name : 'default_popup',
          width : 670,
          height : 850
      };

      /**
       * @brief コンストラクタ
       */
      this.construct = function(settings) {
        return this.each(function() {
          var config = $.extend({}, $.popup.defaults, settings);

          if ( config.url == '' ) {
            return;
          }

          // クリックイベントを割り当てる
          $(this).attr('href', '#');
          $(this).click(function(){
              window.open(config.url, config.popup_name, 'width=' + config.width + ', height=' + config.height + ', menubar=no, toolbar=no, scrollbars=yes');
              return false;
          });

        });
      };

    }
  });

  /**
   * @brief jQuery拡張
   */
  $.fn.extend({
    popup : $.popup.construct
  });

})(jQuery);
