ircghetto

Untitled

Jan 14th, 2014
608
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name lepro.youtube
  3. // @author PsychodelEKS (11721)
  4. // @description Insert preview-link to youtube video.
  5. // @ujs:category site: enhancements
  6. // @ujs:published 2009-04-16 19:38
  7. // @ujs:modified 2009-04-16 23:56
  8. // @ujs:documentation n/a
  9. // @ujs:download n/a
  10. // @include http://*leprosorium.ru*
  11. // @namespace http://*leprosorium.ru*
  12. // ==/UserScript==
  13.  
  14. // Version 1.0
  15. // - Initial
  16.  
  17. // Version 1.1
  18. // - Big preview image added (first one), thx 2 qexy (5624)
  19.  
  20. function createYoutubeLink(e)
  21. {
  22.     var textarea = false;
  23.     var toolbar = false;
  24.  
  25.     if ( window.location.href.indexOf("comments") != -1 || window.location.href.indexOf("inbox") != -1)
  26.     {
  27.         textarea = document.getElementById('comment_textarea');
  28.         if(textarea)
  29.             toolbar = textarea.parentNode.previousSibling.previousSibling;
  30.     }
  31.  
  32.     if ( window.location.href.indexOf("write") != -1 )
  33.     {
  34.         textarea = document.getElementById('comments-textarea');
  35.         toolbar = document.createElement('div');
  36.         toolbar.style.marginBottom = '5px';
  37.         textarea.parentNode.insertBefore(toolbar, textarea);
  38.     }
  39.  
  40.     if( window.location.href.indexOf("asylum") != -1 )
  41.     {
  42.         textarea = document.getElementById('comment_textarea');
  43.         toolbar = textarea.parentNode.parentNode.parentNode.rows[0].cells[0];
  44.     }
  45.  
  46.     if ( textarea )
  47.     {
  48.         var youtube_button = document.createElement('a');
  49.         youtube_button.href = 'javascript:void(0);';
  50.         youtube_button.innerHTML = '<b>YouTube</b>';
  51.         youtube_button.addEventListener('click', function()
  52.         {
  53.             var youtube_link = '';
  54.             youtube_link = window.prompt('Ссылка на ролик:', '');
  55.             var link_parser = /v=(.+?)(?:&|$)/im;
  56.             var parsed_link = link_parser.exec(youtube_link);
  57.             delete(link_parser);
  58.  
  59.             if(parsed_link != null && parsed_link[1])
  60.             {
  61.                 var video_id = parsed_link[1];
  62.  
  63.                 var preview_block = document.createElement('div');
  64.                 toolbar.appendChild(preview_block);
  65.  
  66.                 for (var i = 0; i < 4; i++)
  67.                 {
  68.                     var tmp_preview_img = document.createElement('img');
  69.                     tmp_preview_img.src = 'http://i.ytimg.com/vi/'+video_id+'/'+i+'.jpg?'+(((new Date()).getTime()%10000000)*100+Math.round(Math.random()*99));
  70.                     tmp_preview_img.style.border = '2px solid white';
  71.                     tmp_preview_img.style.cssFloat = 'left';
  72.                     tmp_preview_img.width = 130;
  73.  
  74.                     tmp_preview_img.addEventListener('mouseover', function(){ this.style.borderColor='limegreen'; }, false);
  75.                     tmp_preview_img.addEventListener('mouseout', function(){ this.style.borderColor='white'; }, false);
  76.                     tmp_preview_img.addEventListener('click',
  77.                         function()
  78.                         {
  79.  
  80.                             var begin = textarea.value.substr(0, textarea.selectionStart);
  81.                             var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
  82.                             var end = textarea.value.substr(textarea.selectionEnd);
  83.                             var newCursorPos = textarea.selectionStart;
  84.                             var scrollPos = textarea.scrollTop;
  85.  
  86.                             var insert_link = "\n"+'<a href="http://www.youtube.com/watch?v='+video_id+'"><img src="'+this.src+'" alt="YouTube video"></a>'+"\n";
  87.                             textarea.value = begin + insert_link + end;
  88.  
  89.                             textarea.setSelectionRange(newCursorPos+insert_link.length+2, newCursorPos+insert_link.length+2);
  90.                             textarea.focus();
  91.  
  92.                             toolbar.removeChild(preview_block);
  93.                             return false;
  94.                         }, false);
  95.  
  96.                     /*tmp_preview_img.addEventListener('load',
  97.                         function()
  98.                         {
  99.                             this.title = "Размер: "+this.width+"x"+this.height;
  100.                             if(this.width > 130)
  101.                                 this.width = 130;
  102.                         }, false);*/
  103.  
  104.                     preview_block.appendChild(tmp_preview_img);
  105.                 }
  106.  
  107.                 var close_button = document.createElement('div');
  108.                 close_button.innerHTML = '<b>X</b>';
  109.                 close_button.style.color = '#DEDEDE';
  110.                 close_button.style.cssFloat = 'left';
  111.                 close_button.addEventListener('mouseover', function(){ this.style.color='#AEAEAE'; }, false);
  112.                 close_button.addEventListener('mouseout', function(){ this.style.color='#DEDEDE'; }, false);
  113.                 close_button.addEventListener('click', function(){ toolbar.removeChild(preview_block); return false; }, false);
  114.  
  115.                 preview_block.appendChild(close_button);
  116.             }
  117.             else if( youtube_link != '' && youtube_link != undefined )
  118.                 window.alert('Не разобрал ссылку. ('+youtube_link+')');
  119.  
  120.             return false;
  121.  
  122.         }, false);
  123.  
  124.         toolbar.appendChild(youtube_button);
  125.     }
  126. }
  127.  
  128. if( /opera/.test(navigator.userAgent.toLowerCase()) )
  129.     document.addEventListener("DOMContentLoaded", function(e){ createYoutubeLink(); }, false);
  130.  
  131. if( (/mozilla/.test(navigator.userAgent.toLowerCase()) && !/(compatible|webkit)/.test(navigator.userAgent.toLowerCase())) || /webkit/.test(navigator.userAgent.toLowerCase()) )
  132.     createYoutubeLink();
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×