main.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. var searchItems = null;
  2. var currentUserId = null;
  3. var userRequest = null;
  4. var now = new Date();
  5. var clickedBuzz = null;
  6. var searchTerm = null;
  7. function init()
  8. {
  9. onResize();
  10. }
  11. function dismissSplashScreen()
  12. {
  13. gotoScreen('home_screen', false, true);
  14. }
  15. function searchClicked()
  16. {
  17. var term = $('buzz_term').value;
  18. if(term.length == 0)
  19. {
  20. showError('Please enter a term');
  21. }
  22. else
  23. {
  24. $('home_loader').style.display = '';
  25. $('home_container').innerHTML = '';
  26. gotoScreen('home_screen');
  27. searchTerm = term;
  28. if($('buzz_gps').checked)
  29. {
  30. getDeviceLocation(searchGetLocationHandler);
  31. }
  32. else
  33. {
  34. searchBuzzes();
  35. }
  36. }
  37. }
  38. function searchGetLocationHandler(returnValue, errorCode, errorMessage)
  39. {
  40. if(errorCode == 0)
  41. {
  42. searchBuzzes(returnValue.Latitude, returnValue.Longitude);
  43. }
  44. else
  45. {
  46. showError(errorMessage);
  47. }
  48. }
  49. function searchBuzzes(latitude, longitude)
  50. {
  51. var searchURL = 'https://www.googleapis.com/buzz/v1/activities/search?alt=json&q=' + encodeURIComponent(searchTerm);
  52. if(latitude && longitude)
  53. {
  54. searchURL += '&lat=' + latitude + '&lon=' + longitude + '&radius=100000';
  55. }
  56. loadBuzzes(searchURL, buzzesHandler);
  57. }
  58. function buzzesHandler(success, buzzes)
  59. {
  60. var res = '';
  61. $('home_loader').style.display = 'none';
  62. if(success)
  63. {
  64. searchItems = buzzes;
  65. if(buzzes && buzzes.length > 0)
  66. {
  67. var item;
  68. for(var i = 0; i < buzzes.length; i++)
  69. {
  70. item = buzzes[i];
  71. res += '<div onclick="clickSearchBuzz(' + i + ')" class="item buzz">' +
  72. '<img class="item_thumb" src="' + item.actor.thumbnailUrl + '" />' +
  73. '<div class="item_title">' + item.actor.name + ' - ' +
  74. getDate(item.published) +
  75. '</div>' +
  76. '<div class="item_text">' + item.title + '</div>' +
  77. '<div class="clearer"></div>' +
  78. '</div>';
  79. }
  80. }
  81. else
  82. {
  83. res = '<div class="error">No Buzzes available, please try with another term</div>';
  84. }
  85. }
  86. else
  87. {
  88. res = '<div class="error">There was an error while searching Buzzes, please go back and try again</div>';
  89. }
  90. $('home_container').innerHTML = res;
  91. dismissSplashScreen();
  92. }
  93. function clickSearchBuzz(index)
  94. {
  95. clickedBuzz = searchItems[index];
  96. viewUser(clickedBuzz.actor.id);
  97. }
  98. function viewUser(userId)
  99. {
  100. $('user_loader').style.display = '';
  101. gotoScreen('user_screen');
  102. userRequest = loadBuzzes('https://www.googleapis.com/buzz/v1/activities/' + userId + '/@public?alt=json', userBuzzesHandler);
  103. }
  104. function userBuzzesHandler(success, buzzes, req)
  105. {
  106. if(req == userRequest)
  107. {
  108. $('user_loader').style.display = 'none';
  109. var res = '';
  110. if(success)
  111. {
  112. var results = buzzes;
  113. if(results.length > 0)
  114. {
  115. var item;
  116. for(var i = 0; i < results.length; i++)
  117. {
  118. item = results[i];
  119. res += '<div class="item">' +
  120. '<img class="item_thumb" src="' + item.actor.thumbnailUrl + '" />' +
  121. '<div class="item_text">' + item.title + '</div>' +
  122. '<div class="clearer"></div>' +
  123. '</div>';
  124. }
  125. }
  126. else
  127. {
  128. res = '<div class="error">No Buzzes available</div>';
  129. }
  130. }
  131. else
  132. {
  133. res = '<div class="error">No Buzzes available</div>';
  134. }
  135. $('user_container').innerHTML = res;
  136. userRequest = null;
  137. }
  138. }