PageRenderTime 24ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/themes/default/js.php

https://github.com/woxxy/FoOlReader
PHP | 167 lines | 134 code | 32 blank | 1 comment | 31 complexity | 4d3f733be706207f92c0e0bdb6932992 MD5 | raw file
  1. <script type="text/javascript">
  2. var justloaded = true;
  3. var current = <?php if (isset($_GET['page'])){ echo $_GET['page'];} else {echo '1';} ?>;
  4. jQuery(document).ready(function() {
  5. jQuery(document).scroll(function(){
  6. //jQuery("html").stop(true,false);
  7. });
  8. jQuery(document).keyup(function(e){
  9. if(e.keyCode==37)
  10. if (!isSpread) prevImage();
  11. else
  12. {
  13. if(e.timeStamp - timeStamp37 < 400) prevImage();
  14. timeStamp37 = e.timeStamp;
  15. }
  16. if(e.keyCode==39)
  17. if (!isSpread) nextImage();
  18. else
  19. {
  20. if(e.timeStamp - timeStamp39 < 400) nextImage();
  21. timeStamp39 = e.timeStamp;
  22. }
  23. });
  24. timeStamp37 = 0;
  25. timeStamp39 = 0;
  26. isSpread = false;
  27. onloadhash = parseInt(jQuery.bbq.getState('page'));
  28. if (!isNaN(onloadhash)) current = onloadhash;
  29. loadImage(current);
  30. justloaded = false;
  31. jQuery.cacheImage("themes/default/images/ajax-loader.gif");
  32. var currentPage = current;
  33. jQuery(window).bind( 'hashchange', function(e) {
  34. var hashpage = jQuery.bbq.getState('page');
  35. if (hashpage != current){
  36. loadImage(hashpage);
  37. currentPage = hashpage;
  38. }
  39. });
  40. });
  41. imageArray = new Array();
  42. heightArray = new Array();
  43. widthArray = new Array();
  44. <?php
  45. global $fr_contentdir, $fr_baseurl;
  46. foreach(fr_available_pages() as $key=>$value){
  47. list($fr_img_width, $fr_img_height, $fr_img_type, $fr_img_attr) = getimagesize($fr_contentdir."/".addslashes(fr_selected_comic())."/".addslashes(fr_selected_chapter())."/".addslashes($value));
  48. echo "imageArray[$key]='".$fr_contentdir."/".addslashes(fr_selected_comic())."/".addslashes(fr_selected_chapter())."/".addslashes($value)."';\n";
  49. echo "heightArray[$key]='".$fr_img_height."';\n";
  50. echo "widthArray[$key]='".$fr_img_width."';\n";
  51. }
  52. ?>
  53. function loadImage(num){
  54. if (num < 1) return;
  55. if (num > imageArray.length) {<?php
  56. foreach(fr_available_chapters() as $key=>$value){
  57. if ($value == fr_selected_chapter()){
  58. $thekey = $key;
  59. } }
  60. if ($thekey > 0){
  61. $fr_available_chapters_temp = fr_available_chapters();
  62. echo "location.href = \"".$fr_baseurl.fr_get_href(fr_selected_comic(),$fr_available_chapters_temp[$thekey-1])."\"";
  63. }
  64. else echo 'location.href = "'.fr_get_href(fr_selected_comic()).'&last"';
  65. ?>};
  66. if (num <= imageArray.length) current = num;
  67. if (widthArray[num-1] > 900 && widthArray[num-1]/heightArray[num-1] > 1.2) {
  68. jQuery("#thePic").css("width", widthArray[num-1]);
  69. jQuery("#theManga").css("width",widthArray[num-1]);
  70. isSpread = true;
  71. }
  72. else{
  73. jQuery("#thePic").attr('style', '');
  74. jQuery("#theManga").attr('style','');
  75. isSpread = false;
  76. }
  77. var pageState = {};
  78. pageState['page'] = num;
  79. jQuery.bbq.pushState({page : num});
  80. infoSpread(isSpread);
  81. jQuery("#thePic img").remove();
  82. jQuery("#thePic a").html("<img src='themes/default/images/ajax-loader.gif' />")
  83. jQuery("#thePic img").attr("src", imageArray[num-1]);
  84. jQuery("#ad1 .iframead").attr("src","ads/adtop.html");
  85. jQuery("#ad2 .iframead").attr("src","ads/adtop2.html");
  86. jQuery("#ad3 .iframead").attr("src","ads/adbottom.html");
  87. jQuery(".loadblue").removeClass("loadblue");
  88. jQuery(".loaded"+num).parent().addClass("loadblue");
  89. theCurrent = parseInt(current) + 1;
  90. jQuery("#thePicLink").attr("onClick","loadImage(" + (theCurrent) + "); return false;");
  91. jQuery("html, body").stop(true,true);
  92. if (!justloaded) jQuery.scrollTo("#loadingbar",300, {offset:{top: 0, left:1000000000}});
  93. cacheTheImage(num);
  94. }
  95. function cacheTheImage(num, stop){
  96. nums = new Array();
  97. jj = 0;
  98. <?php global $fr_settings_preload_backwards, $fr_settings_preload_forward;
  99. $fr_settings_preload_forward_half = $fr_settings_preload_forward/2;
  100. ?>
  101. for (j = -<?php echo $fr_settings_preload_backwards; ?>; j < <?php echo $fr_settings_preload_forward_half; ?>; j++) {
  102. nums[jj++] = num + j;
  103. }
  104. jQuery.each(nums, function(idx, val)
  105. {
  106. if (val>-1 && (val<((imageArray.length)+1))){
  107. jQuery.cacheImage(imageArray[val-1], {
  108. load: function(){
  109. jQuery(".loaded" + val).parent().addClass("loadgreen");
  110. if (idx == <?php echo $fr_settings_preload_forward_half; ?> && !stop) {
  111. cacheTheImage(num + <?php echo $fr_settings_preload_forward_half; ?>, true);
  112. }
  113. }
  114. });
  115. }
  116. });
  117. }
  118. function prevImage(){
  119. current--;
  120. loadImage(current);
  121. }
  122. function nextImage(){
  123. current++;
  124. loadImage(current);
  125. }
  126. function hideShareBox(){
  127. jQuery('#sharebox').hide();
  128. }
  129. function infoSpread(status){
  130. if(status)
  131. jQuery('#infoSpread').slideDown();
  132. if(!status)
  133. jQuery('#infoSpread').slideUp();
  134. }
  135. </script>