// utf-8

//----------------------------------------------------------
// Twitterize(#petitccTLの表示)                                                                                                                                                                             //----------------------------------------------------------
(function($){// メソッド登録
  $.fn.twitterize = function(options){

      // 初期設定
      var defaultSettings = {
          rpp: "100",
          search: "%23petitcc"
      }
      // 初期設定をオプションのオブジェクトで上書き
      var settings = $.extend(defaultSettings, options);
      // Twitter Search
      var url = "http://search.twitter.com/search.json?q=" + settings.search + "&rpp=" + settings.rpp;

      // コールバック関数内のスコープ周りの問題を回避する変数
      var holder = this;
      $.ajax({
          type : "GET",
          url: url,
          dataType: "jsonp",
          success : function(data) {
              if(data.error != undefined){
                  $("#tweets").html('<div class="message_error">データが取得できませんでした。しばらくお待ちいただいた後にページを再読み込みしてください。</div>');
                  return;
              }


              $.each(data.results, function(i, item) {



                  if (data.results == undefined) {return;}
                  // p要素内につぶやきを挿入
                  var imgTag = '<img src="' + item.profile_image_url + '">';
                  var divId = "twt" + i;

                  holder.append(
                      "<div id=" + divId + ' class="tweetsElm">'
                      + "<table><tr>"
                      + "<td class='icon'><a href='http://twitter.com/" + item.from_user + "' target='_blank'>" + imgTag + "</a></td>"
                      + '<td class="account"><b><a href="http://twitter.com/' + item.from_user + '" target="_blank">' + item.from_user + "</a></b></td>"
                      + "</tr><tr>"
                      + "<td colspan='2' class='text'><div>" + item.text.makeLinks() + "</div></td>"
                      + "</tr>"
                      + "</table></div>");

                  $("#" + divId).delay(i * 7500).animate({top: "+=300px"},1500,'swing')
                                                .animate({top: "0px"},6000)
                                                .animate({opacity:  0},
                                                         {duration: 300,
                                                          complete: function () {
                                                              $("#" + divId).remove();
                                                              if (data.results.length == (i+1) ) {
                                                                  holder.twitterize(options);
                                                              }
                                                          }

                                                         }
                                                );

              });

          },
          error : function(XMLHttpRequest, textStatus, errorThrown){
              holder.html("<div class='message_error'>データが取得できませんでした。しばらくお待ちいただいた後にページを再読み込みしてください。</div>");
          }

      });

      // リンク内につぶやきを含むURLに変更
      String.prototype.makeLinks = function() {
          return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function(str) {
              //return "(Click!) ".link(str);
              return ' <a href="' + str + '" target="_blank">(Click!)</a> ';
          });
      };
      // オブジェクト自身を返す
      return this;
  };
})(jQuery);
$(document).ready(function(){
        $("#tweets").twitterize({rpp: "30"});
});

// init
$(document).ready(function(){
  //--------------------------------
  // ブログパーツについて
  $.blockUI.defaults.overlayCSS.backgroundColor = '#659DC7';
  $.blockUI.defaults.css.backgroundColor = 'transparent';
  $.blockUI.defaults.css.border = 'none';
  $.blockUI.defaults.css.top = '5%';
  $.blockUI.defaults.css.left = '30%';
  $.blockUI.defaults.fadeIn = '300';
  $.blockUI.defaults.fadeOut = '500';

  $('a.btn_snow').click(function(){
    $.blockUI({message: $('#AF_Box')});
  });

  $('#btnClose').click(function(){
    $.unblockUI();
  });

  //--------------------------------
  // news
  var holder = $("#NewsHeadline ul");
  $.ajax({
    type: "GET",
    url: "/rest/top/news/",
    dataType: "json",
    success: function(res) {

      // news
      $.each(res.data, function(i, item) {
        if (item.subject != 'お知らせ') {
          return;
        }
        var divId = "headline_" + i;
        var date  = item.date.match(/(\d+)-(\d+)-(\d+)*/);
        var year = date[1];
        var month = date[2];
        var day = date[3];

        var stringDate = year + "/" + month + "/" + day;
        holder.append(
            '<li id="' + divId + '"><a href="' + item.link + '">' + item.title + ' [ ' + stringDate + ' ]</a></li>'
        );
      }); // each

      var top = {
        showNews : function() {
          $("#NewsHeadline ul li").each(function(i, item){
             $(item).delay(i * 9000)
               .fadeIn(2000)
               .delay(4000)
               .fadeOut(3000);
          });
          var _this = this;
          setTimeout(function(){_this.showNews()}, $("#NewsHeadline ul li").size() * 9000);
        }
      }

      top.showNews();
    } // success
  });// ajax
});


