Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. <!-- Blogger Archive Calendar by  www.MyBloggerTricks.com -->
  2. <script type='text/javascript'>
  3. //<![CDATA[
  4. var bcLoadingImage = "http://2.bp.blogspot.com/-yUGWz7Vrm0c/UKtPDwJpdSI/AAAAAAAAICU/9ZAvxQUZJLg/s400/loading-trans.gif.png";
  5. var bcLoadingMessage = " Đang tải....";
  6. var bcArchiveNavText = "Xem lưu trữ";
  7. var bcArchiveNavPrev = '◄';
  8. var bcArchiveNavNext = '►';
  9. var headDays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
  10. var headInitial = ["Su","Mo","Tu","We","Th","Fr","Sa"];
  11. // Nothing to configure past this point ----------------------------------
  12. var timeOffset;
  13. var bcBlogID;
  14. var calMonth;
  15. var calDay = 1;
  16. var calYear;
  17. var startIndex;
  18. var callmth;
  19. var bcNav = new Array ();
  20. var bcList = new Array ();
  21. //Initialize Fill Array
  22. var fill = ["","31","28","31","30","31","30","31","31","30","31","30","31"];
  23. function openStatus(){
  24.    document.getElementById('calLoadingStatus').style.display = 'block';
  25.    document.getElementById('calendarDisplay').innerHTML = '';
  26.   }
  27. function closeStatus(){
  28.    document.getElementById('calLoadingStatus').style.display = 'none';
  29.   }
  30. function bcLoadStatus(){
  31.    cls = document.getElementById('calLoadingStatus');
  32.    img = document.createElement('img');
  33.    img.src = bcLoadingImage;
  34.    img.style.verticalAlign = 'middle';
  35.    cls.appendChild(img);
  36.    txt = document.createTextNode(bcLoadingMessage);
  37.    cls.appendChild(txt);
  38.   }
  39. function callArchive(mth,yr,nav){
  40. // Check for Leap Years
  41.   if (((yr % 4 == 0) && (yr % 100 != 0)) || (yr % 400 == 0)) {
  42.       fill[2] = '29';
  43.    }
  44.   else {
  45.       fill[2] = '28';
  46.    }
  47.    calMonth = mth;
  48.    calYear = yr;
  49.    if(mth.charAt(0) == 0){
  50.       calMonth = mth.substring(1);
  51.       }
  52.    callmth = mth;
  53.    bcNavAll = document.getElementById('bcFootAll');
  54.    bcNavPrev = document.getElementById('bcFootPrev');
  55.    bcNavNext = document.getElementById('bcFootNext');
  56.    bcSelect = document.getElementById('bcSelection');
  57.    a = document.createElement('a');
  58.    at = document.createTextNode(bcArchiveNavText);
  59.    a.href = bcNav[nav];
  60.    a.appendChild(at);
  61.    bcNavAll.innerHTML = '';
  62.    bcNavAll.appendChild(a);
  63.    bcNavPrev.innerHTML = '';
  64.    bcNavNext.innerHTML = '';
  65.    if(nav <  bcNav.length -1){
  66.       a = document.createElement('a');
  67.       a.innerHTML = bcArchiveNavPrev;
  68.       bcp = parseInt(nav,10) + 1;
  69.       a.href = bcNav[bcp];
  70.       a.title = 'Previous Archive';
  71.       prevSplit = bcList[bcp].split(',');
  72.       a.onclick = function(){bcSelect.options[bcp].selected = true;openStatus();callArchive(prevSplit[0],prevSplit[1],prevSplit[2]);return false;};
  73.       bcNavPrev.appendChild(a);
  74.       }
  75.    if(nav > 0){
  76.       a = document.createElement('a');
  77.       a.innerHTML = bcArchiveNavNext;
  78.       bcn = parseInt(nav,10) - 1;
  79.       a.href = bcNav[bcn];
  80.       a.title = 'Next Archive';
  81.       nextSplit = bcList[bcn].split(',');
  82.       a.onclick = function(){bcSelect.options[bcn].selected = true;openStatus();callArchive(nextSplit[0],nextSplit[1],nextSplit[2]);return false;};
  83.       bcNavNext.appendChild(a);
  84.      }
  85.    script = document.createElement('script');
  86.    script.src = 'http://www.blogger.com/feeds/'+bcBlogId+'/posts/summary?published-max='+calYear+'-'+callmth+'-'+fill[calMonth]+'T23%3A59%3A59'+timeOffset+'&published-min='+calYear+'-'+callmth+'-01T00%3A00%3A00'+timeOffset+'&max-results=100&orderby=published&alt=json-in-script&callback=cReadArchive';
  87.    document.getElementsByTagName('head')[0].appendChild(script);
  88. }
  89. function cReadArchive(root){
  90. // Check for Leap Years
  91.   if (((calYear % 4 == 0) && (calYear % 100 != 0)) || (calYear % 400 == 0)) {
  92.       fill[2] = '29';
  93.    }
  94.   else {
  95.       fill[2] = '28';
  96.    }
  97.     closeStatus();
  98.     document.getElementById('lastRow').style.display = 'none';
  99.     calDis = document.getElementById('calendarDisplay');
  100.     var feed = root.feed;
  101.     var total = feed.openSearch$totalResults.$t;
  102.     var entries = feed.entry || [];
  103.     var fillDate = new Array();
  104.     var fillTitles = new Array();
  105.     fillTitles.length = 32;
  106.     var ul = document.createElement('ul');
  107.     ul.id = 'calendarUl';
  108.     for (var i = 0; i < feed.entry.length; ++i) {
  109.       var entry = feed.entry[i];
  110.       for (var j = 0; j < entry.link.length; ++j) {
  111.        if (entry.link[j].rel == "alternate") {
  112.        var link = entry.link[j].href;
  113.        }
  114.       }
  115.       var title = entry.title.$t;
  116.       var author = entry.author[0].name.$t;
  117.       var date = entry.published.$t;
  118.       var summary = entry.summary.$t;
  119.       isPublished = date.split('T')[0].split('-')[2];
  120.       if(isPublished.charAt(0) == '0'){
  121.          isPublished = isPublished.substring(1);
  122.          }
  123.       fillDate.push(isPublished);
  124.       if (fillTitles[isPublished]){
  125.           fillTitles[isPublished] = fillTitles[isPublished] + ' | ' + title;
  126.           }
  127.       else {
  128.           fillTitles[isPublished] = title;
  129.           }
  130.       li = document.createElement('li');
  131.       li.style.listType = 'none';
  132.       li.innerHTML = '<a href="'+link+'">'+title+'</a>';
  133.       ul.appendChild(li);
  134.       }
  135.    calDis.appendChild(ul);
  136.    var val1 = parseInt(calDay, 10)
  137.    var valxx = parseInt(calMonth, 10);
  138.    var val2 = valxx - 1;
  139.    var val3 = parseInt(calYear, 10);
  140.    var firstCalDay = new Date(val3,val2,1);
  141.    var val0 = firstCalDay.getDay();
  142.    startIndex = val0 + 1;
  143.   var dayCount = 1;
  144.   for (x =1; x < 38; x++){
  145.       var cell = document.getElementById('cell'+x);
  146.       if( x < startIndex){
  147.           cell.innerHTML = ' ';
  148.           cell.className = 'firstCell';
  149.          }
  150.       if( x >= startIndex){
  151.           cell.innerHTML = dayCount;
  152.           cell.className = 'filledCell';
  153.           for(p = 0; p < fillDate.length; p++){
  154.               if(dayCount == fillDate[p]){
  155.                   if(fillDate[p].length == 1){
  156.                      fillURL = '0'+fillDate[p];
  157.                      }
  158.                   else {
  159.                      fillURL = fillDate[p];
  160.                      }
  161.                   cell.className = 'highlightCell';
  162.                   cell.innerHTML = '<a href="/search?updated-max='+calYear+'-'+callmth+'-'+fillURL+'T23%3A59%3A59'+timeOffset+'&updated-min='+calYear+'-'+callmth+'-'+fillURL+'T00%3A00%3A00'+timeOffset+'" title="'+fillTitles[fillDate[p]].replace(/"/g,'\'')+'">'+dayCount+'</a>';
  163.                 }
  164.              }
  165.          if( dayCount > fill[valxx]){
  166.             cell.innerHTML = ' ';
  167.             cell.className = 'emptyCell';
  168.             }
  169.          dayCount++;
  170.         }
  171.      }
  172.    visTotal = parseInt(startIndex) + parseInt(fill[valxx]) -1;
  173.    if(visTotal >35){
  174.        document.getElementById('lastRow').style.display = '';
  175.       }
  176.  }
  177. function initCal(){
  178.   document.getElementById('blogger_calendar').style.display = 'block';
  179.   var bcInit = document.getElementById('bloggerCalendarList').getElementsByTagName('a');
  180.   var bcCount = document.getElementById('bloggerCalendarList').getElementsByTagName('li');
  181.   document.getElementById('bloggerCalendarList').style.display = 'none';
  182.   calHead = document.getElementById('bcHead');
  183.   tr = document.createElement('tr');
  184.   for(t = 0; t < 7; t++){
  185.       th = document.createElement('th');
  186.       th.abbr = headDays[t];
  187.       scope = 'col';
  188.       th.title = headDays[t];
  189.       th.innerHTML = headInitial[t];
  190.       tr.appendChild(th);
  191.      }
  192.   calHead.appendChild(tr);
  193.  for (x = 0; x <bcInit.length;x++){
  194.     var stripYear= bcInit[x].href.split('_')[0].split('/')[3];
  195.     var stripMonth = bcInit[x].href.split('_')[1];
  196.     bcList.push(stripMonth + ','+ stripYear + ',' + x);
  197.     bcNav.push(bcInit[x].href);
  198.     }
  199.  var sel = document.createElement('select');
  200.  sel.id = 'bcSelection';
  201.  sel.onchange = function(){var cSend = this.options[this.selectedIndex].value.split(',');openStatus();callArchive(cSend[0],cSend[1],cSend[2]);};
  202.  q = 0;
  203.  for (r = 0; r <bcList.length; r++){
  204.       var selText = bcInit[r].innerHTML;
  205.       var selCount = bcCount[r].innerHTML.split('> (')[1];
  206.       var selValue = bcList[r];
  207.       sel.options[q] = new Option(selText + ' ('+selCount,selValue);
  208.       q++
  209.       }                  
  210.   document.getElementById('bcaption').appendChild(sel);
  211.   var m = bcList[0].split(',')[0];
  212.   var y = bcList[0].split(',')[1];
  213.   callArchive(m,y,'0');
  214. }
  215. function timezoneSet(root){
  216.   var feed = root.feed;
  217.   var updated = feed.updated.$t;
  218.   var id = feed.id.$t;
  219.   bcBlogId = id.split('blog-')[1];
  220.   upLength = updated.length;
  221.   if(updated.charAt(upLength-1) == "Z"){timeOffset = "+00:00";}
  222.   else {timeOffset = updated.substring(upLength-6,upLength);}
  223.   timeOffset = encodeURIComponent(timeOffset);
  224. }
  225. //]]>
  226. </script>
  227. <script src='/feeds/posts/summary?max-results=0&amp;alt=json-in-script&amp;callback=timezoneSet'></script>
  228. <!-- End Blogger Archive Calendar by www.MyBloggerTricks.com  -->