OSDN Git Service

embr
[embrj/master.git] / js / home.js
index 55537f1..020585d 100644 (file)
-// Global Const\r
-var INTERVAL_COOKIE = 'homeInterval';\r
-$(function () {\r
-       formFunc();\r
-       $(".rt_btn").live("click", function (e) {\r
-               e.preventDefault();\r
-               onRT($(this));\r
-       });\r
-       $(".retw_btn").live("click", function (e) {\r
-               e.preventDefault();\r
-               onNwRT($(this));\r
-       });\r
-       $(".replie_btn").live("click", function (e) {\r
-               e.preventDefault();\r
-               onReplie($(this), e);\r
-       });\r
-       $(".favor_btn").live("click", function (e) {\r
-               e.preventDefault();\r
-               onFavor($(this));\r
-       });\r
-       $(".delete_btn").live("click", function (e) {\r
-               e.preventDefault();\r
-               onDelete($(this), "Tweet");\r
-       });\r
-       $(".rt_undo").live("click", function (e) {\r
-               e.preventDefault();\r
-               onUndoRt($(this));\r
-       });\r
-       markReply($("#allTimeline > li"));\r
-       $("#submit_btn").click(function (e) {\r
-               updateStatus();\r
-               e.preventDefault();\r
-       });\r
-       document.onclick = function () {\r
-               document.title = document.title.replace(/(\([0-9]+\))/g, "");\r
-               $(".new").each(function () {\r
-                       $(".new").remove();\r
-               });\r
-       }\r
-       setUpdateInterval();\r
-});\r
-var setUpdateInterval = function () {\r
-       if (!location.href.split("?")[1] || location.href.split("?")[1] == "p=1") {\r
-               var interval = parseFloat($.cookie(INTERVAL_COOKIE));\r
-               if (interval === 0.0) {\r
-                       return false;\r
-               }\r
-               interval = interval > 0 ? interval : 1;\r
-               UPDATE_INTERVAL = setInterval(function () {\r
-                       update();\r
-               }, interval * 1000 * 60);\r
-       }\r
-};\r
-function update() {\r
-       if (PAUSE_UPDATE === true) {\r
-               window.setTimeout(update, 5000);\r
-       } else if (PAUSE_TIMELINE === true) {\r
-               return 0;\r
-       } else {\r
-               PAUSE_TIMELINE = true;\r
-               updateSentTip('Retrieving new tweets...', 5000, 'ing');\r
-               if ($.cookie("intervalChanged") === "true") {\r
-                       clearInterval(UPDATE_INTERVAL);\r
-                       $.cookie("intervalChanged", "")\r
-                       setUpdateInterval();\r
-               }\r
-               $("#statuses .timeline li.mine").removeClass("mine").addClass("myTweet");\r
-               var since_id = $("#statuses .timeline li:not(.myTweet):not(#ajax_statuses li):first").find(".status_id").text();\r
-               $.ajax({\r
-                       url: "ajax/updateTimeline.php",\r
-                       type: "GET",\r
-                       dataType: "text",\r
-                       data: "since_id=" + since_id,\r
-                       success: function (msg) {\r
-                               if ($.trim(msg).indexOf("</li>") > 0) {\r
-                                       $("#allTimeline li.myTweet:not(:first)").removeClass("myTweet");\r
-                                       var source = $(msg).prependTo($(".timeline"));\r
-                                       var num = 0;\r
-                                       if (document.title.match(/\d+/) != null) {\r
-                                               num = parseInt(document.title.match(/\d+/));\r
-                                       }\r
-                                       document.title = "(" + (num + $(msg).length - 1) + ") " + document.title.replace(/(\([0-9]+\))/g, "");\r
-                                       markReply($('#allTimeline > li'));\r
-                                       filterEle();\r
-                                       rabrTweet(source);\r
-                                       $(".new").slideDown("fast");\r
-                                       $(".big-retweet-icon").tipsy({\r
-                                               gravity: 's'\r
-                                       });\r
-                                       previewMedia(source);\r
-                               } else {\r
-                                       updateSentTip('No new tweets', 3000, 'failure');\r
-                               }\r
-                               PAUSE_TIMELINE = false;\r
-                       },\r
-                       error: function (msg) {\r
-                               PAUSE_TIMELINE = false;\r
-                       }\r
-               });\r
-       }\r
-}\r
+// Global Const
+var INTERVAL_COOKIE = 'homeInterval';
+$(function () {
+       formFunc();
+       $("#allTimeline").click(function(e) {
+               var $this = $(e.target);
+               var type = $this.attr('class');
+               switch(type) {
+                       case 'rt_btn':
+                               e.preventDefault();
+                               onRT($this);
+                               break;
+                       case 'retw_btn':
+                               e.preventDefault();
+                               onNwRT($this);
+                               break;
+                       case 'replie_btn':
+                               e.preventDefault();
+                               onReplie($this,e);
+                               break;
+                       case 'favor_btn':
+                               e.preventDefault();
+                               onFavor($this);
+                               break;
+                       case 'unfav_btn':
+                               e.preventDefault();
+                               UnFavor($this);
+                               break;
+                       case 'delete_btn':
+                               e.preventDefault();
+                               onDelete($this);
+                               break;
+                       case 'rt_undo':
+                               e.preventDefault();
+                               onUndoRt($this);
+                               break;
+               }
+       });
+       markReply($("#allTimeline > li"));
+       $("#submit_btn").click(function (e) {
+               e.preventDefault();
+               updateStatus();
+       });
+       $("body").live("click", function (e) {
+               document.title = document.title.replace(/(\([0-9]+\))/g, "");
+               $(".new").remove();
+       });
+       setUpdateInterval();
+});
+var setUpdateInterval = function () {
+       if (!location.href.split("?")[1] || location.href.split("?")[1] == "p=1") {
+               var interval = parseFloat($.cookie(INTERVAL_COOKIE));
+               if (interval === 0.0) {
+                       return false;
+               }
+               interval = interval > 0 ? interval : 1;
+               UPDATE_INTERVAL = setInterval(function () {
+                       update();
+               }, interval * 1000 * 60);
+       }
+};
+function update() {
+       if (PAUSE_UPDATE === true) {
+               window.setTimeout(update, 5000);
+       } else if (PAUSE_TIMELINE === true) {
+               return 0;
+       } else {
+               PAUSE_TIMELINE = true;
+               updateSentTip('Retrieving new tweets...', 5000, 'ing');
+               if ($.cookie("intervalChanged") === "true") {
+                       clearInterval(UPDATE_INTERVAL);
+                       $.cookie("intervalChanged", "")
+                       setUpdateInterval();
+               }
+               $("ol.timeline li.mine").removeClass("mine").addClass("myTweet");
+               var since_id = $("ol.timeline li:not(.myTweet):not(#ajax_statuses li):first").find(".status_id").text();
+               $.ajax({
+                       url: "ajax/updateTimeline.php",
+                       type: "GET",
+                       dataType: "text",
+                       data: "since_id=" + since_id,
+                       success: function (msg) {
+                               if ($.trim(msg).indexOf("</li>") > 0) {
+                                       var source = $(msg).prependTo($(".timeline"));
+                                       var num = 0;
+                                       if (document.title.match(/\d+/) != null) {
+                                               num = parseInt(document.title.match(/\d+/));
+                                       }
+                                       document.title = "(" + (num + $(msg).length - 1) + ") " + document.title.replace(/(\([0-9]+\))/g, "");
+                                       markReply($('#allTimeline > li'));
+                                       filterEle();
+                                       embrTweet(source);
+                                       if($("div.new").length == 1) {
+                                               $("div.new").show().slideDown("fast");
+                                       } else {
+                                               $("div.new").filter(":first").remove();
+                                               $("span.tweetcount").filter(":last").text(num + $(msg).length - 1);
+                                       }
+                                       $("span.big-retweet-icon").tipsy({
+                                               gravity: 's'
+                                       });
+                                       previewMedia(source);
+                               } else {
+                                       updateSentTip('No new tweets', 3000, 'failure');
+                               }
+                               PAUSE_TIMELINE = false;
+                       },
+                       error: function (msg) {
+                               PAUSE_TIMELINE = false;
+                       }
+               }); 
+       }
+}