LuismiHaZzZe / Iconos en respuesta rapida

// ==UserScript==
// @name          Iconos en respuesta rapida
// @description   Añade los iconos más usados en la respuesta rapida
// @version       0.1
// @include       http://33bits.es/foro*
// @include       http://www.33bits.es/foro*
// @require       http://code.jquery.com/jquery-1.11.0.min.js 
// @require       https://openuserjs.org/install/LuismiHaZzZe/33WebMs.user.js
// ==/UserScript==

    //Función BojanG para guardar la posición.
(function ($, undefined) {
    $.fn.getCursorPosition = function() {
        var el = $(this).get(0);
        var pos = 0;
        if('selectionStart' in el) {
            pos = el.selectionStart;
        } else if('selection' in document) {
            el.focus();
            var Sel = document.selection.createRange();
            var SelLength = document.selection.createRange().text.length;
            Sel.moveStart('character', -el.value.length);
            pos = Sel.text.length - SelLength;
        }
        return pos;
    }
})(jQuery);

//Funcion para insertar desde el módulo principal

function insertar(texto) {
    
  var div = $('textarea');
  var text = div.val();
  var pos = div.getCursorPosition();
  text = text.substring(0,pos) + " " + texto + text.substring(pos);
  div.val(text);
   
}

//Funcion que controla el popup

function popup(){
   var mypopup = window.open('http://33bits.es/foro/masiconos.php', 'popup', 'width=300','height=400','status=no', 'scrollbars=yes', 'toolbars=no', 'menubar=no', 'location=no');
   mypopup.focus;
  
}

//Funcion para insertar desde el popup

function insertar_popup (texto_popup) {
    
    var div = $('textarea', window.opener.document);
    var text = div.val();
    var pos = div.getCursorPosition();
    text = text.substring(0,pos) + " " + ":" + texto_popup + text.substring(pos);
    div.val(text);
    
}

//Crear el fieldset y la leyenda

$('.quickReplyContent').append('<fieldset class="iconos_respuesta_rapida"></fieldset>');
var iconos = $('.iconos_respuesta_rapida');
iconos.append('<legend>Iconos</legend>');


//Vamos anclando las imágenes más usadas

iconos.append('<img src="http://www.33bits.es/foro/Smileys/solo/roto2.gif" id="roto2">', 
              '<img src="http://www.33bits.es/foro/Smileys/solo/roto2cafe.gif" id="cafe">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/adorar.gif" id="adorar">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/birra.gif" id="birra">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/facepalm.gif" id="facepalm">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/XD.gif" id="xd">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/sisi.gif" id="sisi">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/nusenuse.gif" id="nusenuse">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/thumbsup.gif" id="mola">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/horse.gif" id="horse">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/meparto.gif" id="qmeparto">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/monoloco.gif" id="mono">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/slowpoke.gif" id="slowpoke">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/bate.gif" id="bate">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/roja.gif" id="roja">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/zpalomita.gif" id="zpalomita">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/santa.gif" id="santa">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/gaydude.gif" id="gaydude">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/sisi1.gif" id="sisi1">',
              '<img src="http://www.33bits.es/foro/Smileys/solo/nono.gif" id="nono">',
              '<a id="mas">[más]</a>'
              );

//El manejador para el popup

$('#mas').click(function(evt) { popup();  });

//Los botones insertarán.

$('#roto2').click(function(evt){ insertar(':roto2'); });
$('#cafe').click(function(evt){ insertar(':cafe'); });
$('#adorar').click(function(evt){ insertar(':adorar'); });
$('#birra').click(function(evt){ insertar(':birra'); });
$('#facepalm').click(function(evt){ insertar(':fp'); });
$('#xd').click(function(evt){ insertar(':XD'); });
$('#sisi').click(function(evt){ insertar(':sisi'); });
$('#nusenuse').click(function(evt){ insertar(':nuse'); });
$('#mola').click(function(evt){ insertar(':mola'); });
$('#horse').click(function(evt){ insertar(':horse'); });
$('#qmeparto').click(function(evt){ insertar(':qmeparto'); });
$('#mono').click(function(evt){ insertar(':mono'); });
$('#slowpoke').click(function(evt){ insertar(':oh'); });
$('#bate').click(function(evt){ insertar(':bate'); });
$('#roja').click(function(evt){ insertar(':roja'); });
$('#zpalomita').click(function(evt){ insertar(':zpalomita'); });
$('#santa').click(function(evt){ insertar(':santa'); });
$('#gaydude').click(function(evt){ insertar(':gaydude'); });
$('#sisi1').click(function(evt){ insertar(':sisi1'); });
$('#nono').click(function(evt){ insertar(':nono'); }); 


//CSS

$('.quickReplyContent').css("text-align", "center");
$('.bbcode').css("float", "left");
$('.bbcode >img').css("cursor", "pointer");
$('.iconos_respuesta_rapida > img').css("cursor", "pointer");
$('.iconos_respuesta_rapida > img').css("padding", "5px");
$('.iconos_respuesta_rapida > a').css("padding", "5px");
iconos.css("display", "inline-block")
iconos.css("border", "groove grey 1px");
$('legend').css('font-size', '11px');
$('legend').css('font-weight', 'normal');
$('legend').css('color', 'black');



//Más Iconos
$('img').click(function (evt) {
   var clase =  $(this).attr('class');
   insertar_popup(clase);
});
$('.cerrar').click(function(evt) { window.close(); });


//Mas Iconos CSS
$('img').css("cursor", "pointer");
$('.cerrar').css("font-family", "Arial");
$('.cerrar').css("cursor", "pointer");




/*
//BBCode
$('.quickReplyContent').prepend('<div class="bbcode"></div>');
$('.bbcode').append('<img src="http://www.33bits.es/foro/Themes/epic_2_0/images/bbc/bold.gif" id="negrita">');
$('#negrita').click(function(evt) { insertar('[b][/b]'); }); */