8054da645a387dbfb06654d69f0d020mail.ru / ZadrotoSeach

// ==UserScript==
// @name         ZadrotoSeach 
// @namespace    ZadrotoSeach
// @version      1.2.4
// @description  Zadroto seach
// @author       JD99
// @match        http://*/*
// @match        https://*/*
// @grant        none
// ==/UserScript==


var textsech = "";
picWA = "background-image: url(data:image/jpeg;base64,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);"
picS = "background-image: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAuRXhpZgAASUkqAAgAAAACAAABBAABAAAAGQAAAAEBBAABAAAAGQAAAAAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAZABkDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+X3+0R6+v8a+h6nacL/eOPu56dR+vn7Gn/BEf/goF+214K0n4peBvAnhz4XfCjX4vtnhzx/8AGzWbzwbbeK9NMQeHX/C3haw0nXPGGp+GbwELpviV9DsvD+r4abRtT1S1VrxPx1+H3gDx98Ytdu/B/wAOPDd14n1u28NeJ/FurrHc2em6T4Z8F+DtFuvEPjLxx4x8Ra3faZ4d8I+BvB3h+zvNa8VeLvEeq6b4f0XTrWWS9v0Z4Y5v6hPH37bn7Hv/AAV/sf2ev2eNH/av/b1/Yh+KGneAvAPwY8I/A3wr8O5PjJ+yZ4o8V6Zp8Ghafe3ej/A5rT4q3VzrE6WWnHxT4vurbQdF0Sx0i4Gl2i2eqwuAfjz/AMFA/wBgL42f8E3/AIoeDfhX8bfEfw58Uap4+8Fz+O/DWt/DPWNW1XRZtFtNcuvD90l8dZ0XQb2xv7fU7OeExLBJDIu0faCRPFH8G/2n/tN/31F/8Yr0X9qv4ZfFH9mr49/FD9l74teKB4k8Ufs9eOPE3gKW5std1XXfDiyXV1beILnVPCr6s32mw07xSuoWfiOe0kgtryO9vpI9WgbV4Jrhfnb+1F9I/wA5f/i6APqf/gnt+3h41/4J7/tHWPx68K+B/CfxS0y+8HeK/hp8Q/hf44CL4Z8ffDzxxbW9vr2h3l0bS+OnzPc2FnewzvYXthdx272N/Z3VnfXUL/tJ4y/4OgfiToXh3VdM/ZI/YK/ZU/ZZ8U6rYz2UfxBsNGsvFOs6E1xbvHJqGm6LonhX4f6NfXi7mNvB4hbUtKFwtuusaNqunfaNMuf5c4/u/i//AKAKav3B9LL/ANHyUAdv48+JHjb4p+OPGHxM+I3ibWvGfxA+IPiXWPGPjbxbrk0dxrPiTxRr99NqGtaxqUkUUVut1eX00rmC0hgsrePy4bG2trNILeLlPtjf9NfyX/CqafdT/rlF/wCgU+gD/9k=);"
picR = "background-image: url(data:image/jpeg;base64,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);"
$( document ).ready(function() {
		
		
		img_css = 'float:left;background-size: contain;width:25px!important;height:25px!important; cursor: pointer;margin: 1px;border-radius: 3px;box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.59);';
		div_css = 'display:none;position:absolute;z-index:100000;';
			
		$('html').append('<div id="zadrotoseach" style="'+div_css+'">' +
			'<div style="'+picS+img_css+'" class="s1 zadrotoseach" ></div>'+
			'<div style="'+picWA+img_css+'" class="s2 zadrotoseach"></div>'+
			'<div style="'+picR+img_css+'" class="s3 zadrotoseach"></div>'+
			'</div>');
});

$(document).mousedown(function(e){
	if ($(e.target).hasClass('zadrotoseach')){
		if ($(e.target).hasClass('s1')) {
			urlM1 = 'https://shikimori.org/animes/search/';
			textsech1 = urlEncode2 (textsech);
		}
		if ($(e.target).hasClass('s2')) {
			urlM1 = 'http://www.world-art.ru/search.php?global_sector=all&public_search=';
			textsech1 = urlEncode (textsech);
		}		
		if ($(e.target).hasClass('s3')) {
			urlM1 = 'http://rutracker.net/forum/tracker.php?&f=1105,1386,1387,1388,1389,1390,1391,1478,1642,2491,281,282,404,599,893&nm='
			textsech1 = urlEncode2 (textsech);
		}
		
		$('#zadrotoseach').fadeOut(0)
		$('#zadrotoseach').offset({top:0, left:0});
		clearSelection()
		setTimeout(function() { 
			window.open(urlM1+textsech1, '_blank');
		}, 30);	
	} else {
		$('#zadrotoseach').fadeOut(30)
		$('#zadrotoseach').offset({top:0, left:0});
		}
  	});

$(document).mouseup(function(e){
		setTimeout(function() {  	
    		range = getRangeObject();
			if (range) {
				textsech = String(range);
				if ( textsech.length == 0 ) {return false;}
				var x = e.pageX; 
				var y = e.pageY; 
				$('#zadrotoseach').offset({top:y+10, left:x+5});
				$('#zadrotoseach').fadeIn(30)
			}		
		}, 30);	
	});
		
function urlEncode(str) {
    if (!str || typeof(str) == "undefined") return;
    var utf8Array = {};
    var i = j = j2 = 0;
    for (i = 0; i <= 255; i++) {
        j = parseInt(i/16); var j2 = parseInt(i%16);
        utf8Array[String.fromCharCode(i)] = ('%' + j.toString(16) + j2.toString(16)).toUpperCase();
    }
    var rusAdditional = {
        '_' : '%5F', 'А' : '%C0', 'Б' : '%C1', 'В' : '%C2', 'Г' : '%C3', 'Д' : '%C4', 'Е' : '%C5',
        'Ж' : '%C6', 'З' : '%C7', 'И' : '%C8', 'Й' : '%C9', 'К' : '%CA', 'Л' : '%CB', 'М' : '%CC',
        'Н' : '%CD', 'О' : '%CE', 'П' : '%CF', 'Р' : '%D0', 'С' : '%D1', 'Т' : '%D2', 'У' : '%D3',
        'Ф' : '%D4', 'Х' : '%D5', 'Ц' : '%D6', 'Ч' : '%D7', 'Ш' : '%D8', 'Щ' : '%D9', 'Ъ' : '%DA',
        'Ы' : '%DB', 'Ь' : '%DC', 'Э' : '%DD', 'Ю' : '%DE', 'Я' : '%DF', 'а' : '%E0', 'б' : '%E1',
        'в' : '%E2', 'г' : '%E3', 'д' : '%E4', 'е' : '%E5', 'ж' : '%E6', 'з' : '%E7', 'и' : '%E8',
        'й' : '%E9', 'к' : '%EA', 'л' : '%EB', 'м' : '%EC', 'н' : '%ED', 'о' : '%EE', 'п' : '%EF',
        'р' : '%F0', 'с' : '%F1', 'т' : '%F2', 'у' : '%F3', 'ф' : '%F4', 'х' : '%F5', 'ц' : '%F6',
        'ч' : '%F7', 'ш' : '%F8', 'щ' : '%F9', 'ъ' : '%FA', 'ы' : '%FB', 'ь' : '%FC', 'э' : '%FD',
        'ю' : '%FE', 'я' : '%FF', 'ё' : '%B8', 'Ё' : '%A8'
    }
    for (i in rusAdditional) utf8Array[i] = rusAdditional[i];
    var res = "";
    for(i = 0; i < str.length; i++) {
        var simbol = str.substr(i,1);
        res += typeof utf8Array[simbol] != "undefined" ? utf8Array[simbol] : simbol;
    }
	res = res.replace(/\s{2,}/g, ' ');
	res = res.replace(/\s/g, "+");
    return res;
}

function urlEncode2(str) {
	str = str.replace(/\s{2,}/g, ' ');
	str = str.replace(/\./g, " ");
	str = str.replace(/\s+/g,' ')
	str = str.replace(/[\s{2,}]+/g, ' ');
	str = str.replace(/\s/g, "+");
    return str;
}

function fixIERangeObject(range, win) { 
  win = win || window;

  if (!range) return null;
  if (!range.startContainer && win.document.selection) { 
    var _findTextNode = function(parentElement, text) {
      var container = null,
        offset = -1;
      for (var node = parentElement.firstChild; node; node = node.nextSibling) {
        if (node.nodeType == 3) { 
          var find = node.nodeValue;
          var pos = text.indexOf(find);
          if (pos == 0 && text != find) { 
            text = text.substring(find.length);
          } else {
            container = node;
            offset = text.length - 1; 
            break;
          }
        }
      }
      return {
        node: container,
        offset: offset
      }; 
    }
    var rangeCopy1 = range.duplicate(),
      rangeCopy2 = range.duplicate(); 
    var rangeObj1 = range.duplicate(),
      rangeObj2 = range.duplicate(); 

    rangeCopy1.collapse(true); 
    rangeCopy1.moveEnd('character', 1); 
    rangeCopy2.collapse(false); 
    rangeCopy2.moveStart('character', -1); 

    var parentElement1 = rangeCopy1.parentElement(),
      parentElement2 = rangeCopy2.parentElement();

    if (parentElement1 instanceof HTMLInputElement || parentElement2 instanceof HTMLInputElement) {
      return null;
    }
    rangeObj1.moveToElementText(parentElement1); 
    rangeObj1.setEndPoint('EndToEnd', rangeCopy1); 
    rangeObj2.moveToElementText(parentElement2);
    rangeObj2.setEndPoint('EndToEnd', rangeCopy2);

    var text1 = rangeObj1.text; 
    var text2 = rangeObj2.text; 

    var nodeInfo1 = _findTextNode(parentElement1, text1);
    var nodeInfo2 = _findTextNode(parentElement2, text2);
	
    range.startContainer = nodeInfo1.node;
    range.startOffset = nodeInfo1.offset;
    range.endContainer = nodeInfo2.node;
    range.endOffset = nodeInfo2.offset + 1; 
  }
  return range;
}

function getRangeObject(win) { 
  win = win || window;
  if (win.getSelection) { 
    try {
      return win.getSelection().getRangeAt(0); 
    } catch (e) { /*If no text is selected an exception might be thrown*/ }
  } else if (win.document.selection) { 
    var range = win.document.selection.createRange(); 
    return fixIERangeObject(range, win);
  }
  return null;
}

function clearSelection() {
    if (window.getSelection) {
      window.getSelection().removeAllRanges();
    } else { 
      document.selection.empty();
    }
  }