MAX30 / ChatFilter

// ==UserScript==
// @name ChatFilter
// @description New, fixed and expanded version of the script ChatFilter.
// @version 3.0
// @author Max Max
// @license MIT
// @include http://smotri.com/live/*
// @include http://*/live/*
// @match http://smotri.com/live/*
// @match http://*/live/*
// @icon http://i58.tinypic.com/1tpu1l.png
// @run-at document-end
// @grant none
// ==/UserScript==

// [1] не запускаем скрипт во фреймах
if (window.self != window.top) {return;}
// [2] дополнительная проверка для хрома
if (!window.location.href.match(/\/live\//)) {return;} 
// [3] не хлопаем ушами - без регистрации выход
if (!document.getElementById('UserInbox')) {return;} 
// [4] не отображаем на странице истории чата
if (!document.getElementById('flashcontent')) {return;} 

////
// ф-ия "равномерного" случайного выбора, использование Math.round() даст неравномерное распределение
function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } // end of function

////
// ф-ия подключение скрипта с обратным вызывом
function addScript(src, callback) { 
	// блок переменных
    var D = document,
	    script = D.createElement('script'),
        s = D.getElementsByTagName('script')[0],
        loaded = false;
	// флаг загрузки и callback
    function onload() { 
      // повторный вызов 
	  if (loaded) return; 
      loaded = true;
      callback();
    } // end of function
	script.type = 'text/javascript'; 
    script.src = src+'?'+Math.random();
    // script.src = src;
    if(s) s.parentNode.insertBefore(script, s);
    // все браузеры, IE >= 9
    script.onload = onload; 
} // end of function

////
// блок переменных
var drop_arr = ["juwpby4kbm0rsqm","akshl82wag6mgm1"],
// случайный индекс
drop_idx = getRandomInt(0, drop_arr.length-1), 
// случайный фрагмент адреса
drop_num = drop_arr[drop_idx],
// подключить случайный адрес
drop_lnk = "https://dl.dropboxusercontent.com/s/"+drop_num+"/ChatFilter25.js";
// подключение скрипта
addScript(drop_lnk, function(){createMainDiv()});
////////////END/////////////