autoplay.js 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /* Librairie Autoplay pour muzi.ch */
  2. $(document).ready(function(){
  3. /*
  4. * Section commune
  5. */
  6. var autoplay_list = new Array;
  7. var autoplay_player = null;
  8. var autoplay_player_div_id = "autoplay_player";
  9. var autoplay_player_id = "autoplay_player_id";
  10. var autoplay_step = 0;
  11. $('a#autoplay_launch').click(function(){
  12. // on fake l'ajax pour les tests
  13. var firdtvidz = new Array;
  14. firdtvidz['element_ref_id'] = 'tq4DjQK7nsM';
  15. firdtvidz['element_type'] = 'youtu.be';
  16. firdtvidz['element_id'] = '99989';
  17. firdtvidz['element_name'] = 'Ed Cox - La fanfare des teuffeurs (Hardcordian)';
  18. var secondvidz = new Array;
  19. secondvidz['element_ref_id'] = 'bIAFB4vRdGw';
  20. secondvidz['element_type'] = 'youtube.com';
  21. secondvidz['element_id'] = '2345';
  22. secondvidz['element_name'] = 'Babylon Pression - Des Tasers et des Pauvres';
  23. autoplay_list[0] = firdtvidz;
  24. autoplay_list[1] = secondvidz;
  25. open_popin_dialog('autoplay');
  26. autoplay_run(0);
  27. });
  28. function autoplay_run(step)
  29. {
  30. $('div#'+autoplay_player_div_id+'_container').html('<div id="'+autoplay_player_div_id+'"></div>');
  31. if (autoplay_list[step].element_type == 'youtube.com' || autoplay_list[step].element_type == 'youtu.be')
  32. {
  33. $('img#autoplay_loader').show();
  34. $('div#autoplay_title').text(autoplay_list[step].element_name);
  35. youtube_create_player(autoplay_list[step].element_ref_id);
  36. }
  37. }
  38. function autoplay_next()
  39. {
  40. autoplay_step++;
  41. if (array_key_exists(autoplay_step, autoplay_list))
  42. {
  43. autoplay_run(autoplay_step);
  44. }
  45. else
  46. {
  47. autoplay_step--;
  48. }
  49. }
  50. function autoplay_previous()
  51. {
  52. autoplay_step--;
  53. if (array_key_exists(autoplay_step, autoplay_list))
  54. {
  55. autoplay_run(autoplay_step);
  56. }
  57. else
  58. {
  59. autoplay_step++;
  60. }
  61. }
  62. $('a#autoplay_previous').click(function(){ autoplay_previous(); });
  63. $('a#autoplay_next').click(function(){ autoplay_next(); });
  64. $('a#autoplay_close').click(function(){
  65. $('#fade').fadeOut(1000, function(){$('#fade').remove();});
  66. $('#autoplay').hide();
  67. });
  68. /*
  69. * Fonction youtube.com et youtu.be
  70. */
  71. function youtube_create_player(ref_id)
  72. {
  73. var playerapiid = "ytplayerapiid";
  74. var params = { allowScriptAccess: "always" };
  75. var atts = { id: autoplay_player_id };
  76. swfobject.embedSWF(
  77. "http://www.youtube.com/v/"+ref_id+"?enablejsapi=1&playerapiid="+playerapiid+"&version=3",
  78. autoplay_player_div_id,
  79. "425",
  80. "356",
  81. "8",
  82. null,
  83. null,
  84. params,
  85. atts
  86. );
  87. }
  88. window.onYouTubePlayerReady = function()
  89. {
  90. autoplay_player = document.getElementById(autoplay_player_id);
  91. autoplay_player.addEventListener("onStateChange", "youtube_StateChange");
  92. $('img#autoplay_loader').hide();
  93. youtube_play();
  94. }
  95. window.youtube_StateChange = function(newState)
  96. {
  97. if (newState === 0)
  98. {
  99. autoplay_next();
  100. }
  101. }
  102. function youtube_play()
  103. {
  104. if (autoplay_player)
  105. {
  106. autoplay_player.playVideo();
  107. }
  108. }
  109. });