// ==UserScript==
// @name LennyFace w wiadomosciach na facebooku
// @author cordant
// @include https://*.facebook.com*
// @include http://*.facebook.com*
// @include http://*.facebook.com/messages*
// @include https://*.facebook.com/messages*
// @include https://*.messenger.com/t*
// @require http://code.jquery.com/jquery-latest.min.js
// @grant none
// @version 0.5
// @description dodaje lennyface'y na facebooku
// @run-at document-end
// @namespace fb lenny
// ==/UserScript==
function main() {
// emotki
var LennyFace = [
'( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)',
'( \u0361\u00B0 \u0296\u032F \u0361\u00B0)',
'( \u0361\u00BA \u035C\u0296\u0361\u00BA)',
'( \u0361\u00B0( \u0361\u00B0 \u035C\u0296( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\u0296 \u0361\u00B0) \u0361\u00B0)',
'(\u2310 \u0361\u25A0 \u035C\u0296 \u0361\u25A0)',
'(\u30FB\u3078\u30FB)',
'\u10DA(\u0CA0_\u0CA0 \u10DA)',
'(\u2565\uFE4F\u2565)',
'(\u256F\uFE35\u2570,)',
'( \u0361; \u0296\u032F \u0361;)',
'( \u203E\u0296\u032B\u203E)',
'(\u0298\u203F\u0298)',
'(\uFF61\u25D5\u203F\u203F\u25D5\uFF61)',
'\u1559(\u21C0\u2038\u21BC\u2036)\u1557',
'\u1566(\u00F2_\u00F3\u02C7)\u1564',
'(\u270C \uFF9F \u2200 \uFF9F)\u261E',
't(\u30C4)_/\u00AF',
'\u25D5\u203F\u25D5',
'(\uFF9F\uFF70\uFF9F)',
'(>\u10DA)',
'\uFD3E\u0361\u0E4F\u032F\u0361\u0E4F\uFD3F',
'\u0CA0_\u0CA0',
'\u0628_\u0628',
'\u30FD( \u035D\u00B0 \u035C\u0296\u0361\u00B0)\uFF89',
'( \u0361\u00B0\u256D\u256E\u0361 \u00B0)',
'\u0295\u2022\u1D25\u2022\u0294',
'\u1D98\u1D52\u1D25\u1D52\u1D85',
'(\u2312(oo)\u2312)',
'\u113D\u1F41\u020D \u032A \u0151\u1F40\u113F',
'♥‿♥',
'(• ε •)',
'(◔̯◔)',
'(ʘᗩʘ")',
'ಥ_ಥ',
'[̲̅$̲̅(̲̅5̲̅)̲̅$̲̅]',
'༼ つ ◕_◕ ༽つ',
'(づ・ロ・)づ',
'(づ◕ ³◕)づ',
'ᕕ(ᐛ)ᕗ',
'(=˘ϖ˘=)'];
var symbole = [
'α',
'β',
'γ',
'Δ',
'ε',
'ζ',
'η',
'Σ',
'°C',
'√',
'π',
'²',
'³',
'∞'
];
var LennyEmot = '';
LennyFace.forEach(function (el) {
LennyEmot += '<a href="#" class="lennybuzia" lenny-face="' + el + '">' + el + '</a>';
});
var symbole_lista = '';
symbole.forEach(function (el) {
symbole_lista += '<a href="#" class="lennybuzia" lenny-face="' + el + '">' + el + '</a>';
});
// css
$("<style type='text/css'> ._1r- { display:none!important; }</style>").appendTo("head");
$("<style type='text/css'> .lenny {float: right; padding-right: 6px; position: relative; line-height: 34px; margin-right: 30px; font-size: 20px} </style>").appendTo("head");
$("<style type='text/css'> .lennybuzia {display:inline-block; margin:0 2px 0 2px;}</style>").appendTo("head");
$("<style type='text/css'>.komentarze {width: 300px; height: 300px; background-color: #eee; z-index: 9999; position: fixed; display: none; font-size: 13px; float: left; text-align: justify; position: absolute; margin: 0px;} </style>").appendTo("head");
$("<style type='text/css'> .lenny2 {position: relative; margin: 2px 2px;} </style>").appendTo("head");
// facebook.com/messages
$("<style type='text/css'> .lennyokno {width: 300px; height: 300px; background-color: #eee; z-index: 9999; position: fixed; display: none; bottom: 65px; font-size: 13px; float:left; text-align: justify;} </style>").appendTo("head");
$('._1rw').append('<div class="lenny"><a>( ͡° ͜ʖ ͡°)</a></div>');
$('.lenny').append('<div class="lennyokno hide">' + LennyEmot + '</div>');
$('.lennyokno').append('<div class="symbole">' + symbole_lista + '</div>');
$('.lenny').mouseover(function () {
$('.lennyokno').show();
});
$('.lenny').mouseout(function () {
$('.lennyokno').hide();
});
// facebook
// $(document).on('click', '.UFIAddComment', function () {
// $(this).each(function (obj, i) {
// var dziadek = $(this).parent().parent().attr("id");
// $("#" + dziadek + " .UFIList").append('<div class="lenny2"><a>( ͡° ͜ʖ ͡°)</a></div>');
// $('.lenny2').append('<div class="komentarze hide">' + LennyEmot + '</div>');
// $('.lenny2').mouseover(function () {
// $('.komentarze').show();
// });
// $('.lenny2').mouseout(function () {
// $('.komentarze').hide();
// });
// });
// });
// // messenger.com
// $('._4rv4').append('<li class="lenny"><a>( ͡° ͜ʖ ͡°)</a></li>');
// $("<style type='text/css'> ._4rv4 .lennybuzia { height:auto!important; width:auto!important; }</style>").appendTo("head");
// $("<style type='text/css'> ._4rv4 { right:10px!important; }</style>").appendTo("head");
// $("<style type='text/css'> ._4rv4 .lennyokno{ bottom:35px!important; }</style>").appendTo("head");
jQuery.fn.extend({
insertAtCaret: function (myValue) {
return this.each(function (i) {
if (document.selection) {
//For browsers like Internet Explorer
this.focus();
sel = document.selection.createRange();
sel.text = myValue;
this.focus();
} else if (this.selectionStart || this.selectionStart == '0') {
//For browsers like Firefox and Webkit based
var startPos = this.selectionStart;
var endPos = this.selectionEnd;
var scrollTop = this.scrollTop;
this.value = this.value.substring(0, startPos) + myValue + this.value.substring(endPos, this.value.length);
this.focus();
this.selectionStart = startPos + myValue.length;
this.selectionEnd = startPos + myValue.length;
this.scrollTop = scrollTop;
} else {
this.value += myValue;
this.focus();
}
});
}
});
function insertTextAtCursor(text) {
var sel, range, html;
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
range.insertNode(document.createTextNode(text));
}
} else if (document.selection && document.selection.createRange) {
document.selection.createRange().text = text;
}
}
$(document).on('click', 'a.lennybuzia', function () {
var lenny = ($(this).attr('lenny-face'));
// komentarze
if ($("._54-z").length) {
$(lenny).appendTo("._54-z");
// facebook.com
} else if ($("._1rv").length) {
$("._1rv").insertAtCaret(lenny + ' ');
}
});
}
window.onload = function () {
if (typeof $ == 'undefined') {
if (typeof unsafeWindow !== 'undefined' && unsafeWindow.jQuery) {
// Firefox
var $ = unsafeWindow.jQuery;
main();
} else {
// Chrome
addJQuery(main);
}
} else {
// Opera >.>
main();
}
};
function addJQuery(callback) {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}