Advertisement
kalkin7

Blogger-TOC.js

Jan 10th, 2014
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if (typeof jQuery == 'undefined') {
  2.     cekjq = {};
  3.     cekjq.s = document.createElement('script');
  4.     cekjq.s.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js';
  5.     document.getElementsByTagName('head')[0].appendChild(cekjq.s)
  6. }
  7. var postTitle = new Array();
  8. var postUrl = new Array();
  9. var postMp3 = new Array();
  10. var postDate = new Array();
  11. var postLabels = new Array();
  12. var postBaru = new Array();
  13. var sortBy = "titleasc";
  14. var tocLoaded = false;
  15. var numChars = 250;
  16. var postFilter = '';
  17. var numberfeed = 0;
  18.  
  19. function loadtoc(k) {
  20.     function l() {
  21.         if ("entry" in k.feed) {
  22.             var a = k.feed.entry.length;
  23.             numberfeed = a;
  24.             ii = 0;
  25.             for (var c = 0; c < a; c++) {
  26.                 var b = k.feed.entry[c];
  27.                 var h = b.title.$t;
  28.                 var f = b.published.$t.substring(0, 10);
  29.                 var e;
  30.                 for (var d = 0; d < b.link.length; d++) {
  31.                     if (b.link[d].rel == 'alternate') {
  32.                         e = b.link[d].href;
  33.                         break
  34.                     }
  35.                 }
  36.                 var i = '';
  37.                 for (var d = 0; d < b.link.length; d++) {
  38.                     if (b.link[d].rel == 'enclosure') {
  39.                         i = b.link[d].href;
  40.                         break
  41.                     }
  42.                 }
  43.                 var j = '';
  44.                 if ("category" in b) {
  45.                     for (var d = 0; d < b.category.length; d++) {
  46.                         j = b.category[d].term;
  47.                         var g = j.lastIndexOf(';');
  48.                         if (g != -1) {
  49.                             j = j.substring(0, g)
  50.                         }
  51.                         postLabels[ii] = j;
  52.                         postTitle[ii] = h;
  53.                         postDate[ii] = f;
  54.                         postUrl[ii] = e;
  55.                         postMp3[ii] = i;
  56.                         if (c < 10) {
  57.                             postBaru[ii] = true
  58.                         } else {
  59.                             postBaru[ii] = false
  60.                         };
  61.                         ii = ii + 1
  62.                     }
  63.                 }
  64.             }
  65.         }
  66.     }
  67.     l();
  68.     sortBy = "titleasc";
  69.     sortPosts(sortBy);
  70.     sortlabel();
  71.     tocLoaded = true;
  72.     displayToc2()
  73. }
  74.  
  75. function filterPosts(a) {
  76.     scroll(0, 0);
  77.     postFilter = a;
  78.     displayToc(postFilter)
  79. }
  80.  
  81. function allPosts() {
  82.     sortlabel();
  83.     postFilter = '';
  84.     displayToc(postFilter)
  85. }
  86.  
  87. function sortPosts(h) {
  88.     function f(a, c) {
  89.         var b = postTitle[a];
  90.         postTitle[a] = postTitle[c];
  91.         postTitle[c] = b;
  92.         var b = postDate[a];
  93.         postDate[a] = postDate[c];
  94.         postDate[c] = b;
  95.         var b = postUrl[a];
  96.         postUrl[a] = postUrl[c];
  97.         postUrl[c] = b;
  98.         var b = postLabels[a];
  99.         postLabels[a] = postLabels[c];
  100.         postLabels[c] = b;
  101.         var b = postMp3[a];
  102.         postMp3[a] = postMp3[c];
  103.         postMp3[c] = b;
  104.         var b = postBaru[a];
  105.         postBaru[a] = postBaru[c];
  106.         postBaru[c] = b
  107.     }
  108.     for (var e = 0; e < postTitle.length - 1; e++) {
  109.         for (var d = e + 1; d < postTitle.length; d++) {
  110.             if (h == "titleasc") {
  111.                 if (postTitle[e] > postTitle[d]) {
  112.                     f(e, d)
  113.                 }
  114.             }
  115.             if (h == "titledesc") {
  116.                 if (postTitle[e] < postTitle[d]) {
  117.                     f(e, d)
  118.                 }
  119.             }
  120.             if (h == "dateoldest") {
  121.                 if (postDate[e] > postDate[d]) {
  122.                     f(e, d)
  123.                 }
  124.             }
  125.             if (h == "datenewest") {
  126.                 if (postDate[e] < postDate[d]) {
  127.                     f(e, d)
  128.                 }
  129.             }
  130.             if (h == "orderlabel") {
  131.                 if (postLabels[e] > postLabels[d]) {
  132.                     f(e, d)
  133.                 }
  134.             }
  135.         }
  136.     }
  137. }
  138.  
  139. function sortlabel() {
  140.     sortBy = "orderlabel";
  141.     sortPosts(sortBy);
  142.     var a = 0;
  143.     var c = 0;
  144.     while (c < postTitle.length) {
  145.         temp1 = postLabels[c];
  146.         firsti = a;
  147.         do {
  148.             a = a + 1
  149.         } while (postLabels[a] == temp1);
  150.         c = a;
  151.         sortPosts2(firsti, a);
  152.         if (c > postTitle.length) break
  153.     }
  154. }
  155.  
  156. function sortPosts2(h, f) {
  157.     function e(a, c) {
  158.         var b = postTitle[a];
  159.         postTitle[a] = postTitle[c];
  160.         postTitle[c] = b;
  161.         var b = postDate[a];
  162.         postDate[a] = postDate[c];
  163.         postDate[c] = b;
  164.         var b = postUrl[a];
  165.         postUrl[a] = postUrl[c];
  166.         postUrl[c] = b;
  167.         var b = postLabels[a];
  168.         postLabels[a] = postLabels[c];
  169.         postLabels[c] = b;
  170.         var b = postMp3[a];
  171.         postMp3[a] = postMp3[c];
  172.         postMp3[c] = b;
  173.         var b = postBaru[a];
  174.         postBaru[a] = postBaru[c];
  175.         postBaru[c] = b
  176.     }
  177.     for (var d = h; d < f - 1; d++) {
  178.         for (var i = d + 1; i < f; i++) {
  179.             if (postTitle[d] > postTitle[i]) {
  180.                 e(d, i)
  181.             }
  182.         }
  183.     }
  184. }
  185.  
  186. function displayToc(a) {
  187.     var c = 0;
  188.     var b = '';
  189.     var h = 'Judul Artikel';
  190.     var f = 'Klik untuk sortir berdasarkan judul';
  191.     var e = 'Tanggal';
  192.     var d = 'Klik untuk Sortir bedasarkan tanggal';
  193.     var i = 'Kategori';
  194.     var j = '';
  195.     if (sortBy == "titleasc") {
  196.         f += ' (descending)';
  197.         d += ' (newest first)'
  198.     }
  199.     if (sortBy == "titledesc") {
  200.         f += ' (ascending)';
  201.         d += ' (newest first)'
  202.     }
  203.     if (sortBy == "dateoldest") {
  204.         f += ' (ascending)';
  205.         d += ' (newest first)'
  206.     }
  207.     if (sortBy == "datenewest") {
  208.         f += ' (ascending)';
  209.         d += ' (oldest first)'
  210.     }
  211.     if (postFilter != '') {
  212.         j = 'Klik untuk menampilkan semua'
  213.     }
  214.     b += '<table>';
  215.     b += '<tr>';
  216.     b += '<td class="toc-header-col1">';
  217.     b += '<a href="javascript:toggleTitleSort();" title="' + f + '">' + h + '</a>';
  218.     b += '</td>';
  219.     b += '<td class="toc-header-col2">';
  220.     b += '<a href="javascript:toggleDateSort();" title="' + d + '">' + e + '</a>';
  221.     b += '</td>';
  222.     b += '<td class="toc-header-col3">';
  223.     b += '<a href="javascript:allPosts();" title="' + j + '">' + i + '</a>';
  224.     b += '</td>';
  225.     b += '<td class="toc-header-col4">';
  226.     b += 'Download MP3';
  227.     b += '</td>';
  228.     b += '</tr>';
  229.     for (var g = 0; g < postTitle.length; g++) {
  230.         if (a == '') {
  231.             b += '<tr><td class="toc-entry-col1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="toc-entry-col2">' + postDate[g] + '</td><td class="toc-entry-col3">' + postLabels[g] + '</td><td class="toc-entry-col4"><a href="' + postMp3[g] + '">Download</a></td></tr>';
  232.             c++
  233.         } else {
  234.             z = postLabels[g].lastIndexOf(a);
  235.             if (z != -1) {
  236.                 b += '<tr><td class="toc-entry-col1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="toc-entry-col2">' + postDate[g] + '</td><td class="toc-entry-col3">' + postLabels[g] + '</td><td class="toc-entry-col4"><a href="' + postMp3[g] + '">Download</a></td></tr>';
  237.                 c++
  238.             }
  239.         }
  240.     }
  241.     b += '</table>';
  242.     if (c == postTitle.length) {
  243.         var k = '<span class="toc-note">Menampilkan Semua ' + postTitle.length + ' Artikel<br/></span>'
  244.     } else {
  245.         var k = '<span class="toc-note">Menampilkan ' + c + ' artikel dengan kategori \'';
  246.         k += postFilter + '\' dari ' + postTitle.length + ' Total Artikel<br/></span>'
  247.     }
  248.     var l = document.getElementById("toc");
  249.     l.innerHTML = k + b
  250. }
  251.  
  252. function displayToc2() {
  253.     var a = 0;
  254.     var c = 0;
  255.     document.write('<div id="daftar-isi">');
  256.     while (c < postTitle.length) {
  257.         temp1 = postLabels[c];
  258.         document.write('<div class="sublabel">');
  259.         document.write('<div class="judul-label">' + temp1 + '</div>');
  260.         document.write('<div class="judul-list"><ol>');
  261.         firsti = a;
  262.         var b = 'odd';
  263.         do {
  264.             if (b == 'odd') {
  265.                 document.write('<li class="data-list list-ganjil">');
  266.                 b = 'even'
  267.             } else {
  268.                 document.write('<li class="data-list list-genap">');
  269.                 b = 'odd'
  270.             }
  271.             document.write('<a href="' + postUrl[a] + '">' + postTitle[a] + '</a>');
  272.             if (postBaru[a] == true) {
  273.                 document.write(' - <strong><em><span style="color: rgb(255, 0, 0);">New !!</span> </em></strong>')
  274.             };
  275.             document.write('</li>');
  276.             a = a + 1
  277.         } while (postLabels[a] == temp1);
  278.         c = a;
  279.         document.write('</ol></div></div>');
  280.         sortPosts2(firsti, a);
  281.         if (c > postTitle.length) break
  282.     }
  283.     document.write('</div>')
  284. }
  285.  
  286. function toggleTitleSort() {
  287.     if (sortBy == "titleasc") {
  288.         sortBy = "titledesc"
  289.     } else {
  290.         sortBy = "titleasc"
  291.     }
  292.     sortPosts(sortBy);
  293.     displayToc(postFilter)
  294. }
  295.  
  296. function toggleDateSort() {
  297.     if (sortBy == "datenewest") {
  298.         sortBy = "dateoldest"
  299.     } else {
  300.         sortBy = "datenewest"
  301.     }
  302.     sortPosts(sortBy);
  303.     displayToc(postFilter)
  304. }
  305.  
  306. function showToc() {
  307.     if (tocLoaded) {
  308.         displayToc(postFilter);
  309.         var a = document.getElementById("toclink")
  310.     } else {
  311.         alert("Just wait... TOC is loading")
  312.     }
  313. }
  314.  
  315. function hideToc() {
  316.     var a = document.getElementById("toc");
  317.     a.innerHTML = '';
  318.     var c = document.getElementById("toclink");
  319.     c.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle(' + "'toc-result','blind');" + '">? Menampilkan Daftar Isi</a> <img src="http://radiorodja.googlepages.com/new_1.gif"/>'
  320. }
  321.  
  322. function looptemp2() {
  323.     for (var a = 0; a < numberfeed; a++) {
  324.         document.write('<br>');
  325.         document.write('Post Link    : <a href="' + postUrl[a] + '">' + postTitle[a] + '</a><br>');
  326.         document.write('Download mp3  : <a href="' + postMp3[a] + '">' + postTitle[a] + '</a><br>');
  327.         document.write('<br>')
  328.     }
  329. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement