// ==UserScript==
// @name 苍雪表情增强插件
// @namespace http://blog.eclosionstudio.com
// @version 2.01 正式版
// @description 苍雪论坛专用的扩展插件, 在发帖时快速输入自定义表情和论坛BBCODE
// @match http://*.9gal.com/read.php?*
// @match http://9gal.com/read.php?*
// @match http://9baka.com/read.php?*
// @match http://*.9baka.com/read.php?*
// @match http://*.9gal.com/post.php?*
// @match http://9gal.com/post.php?*
// @match http://9baka.com/post.php?*
// @match http://*.9baka.com/post.php?*
// @copyright 2014, eddie32
// @downloadURL none
// ==/UserScript==
/* 自定义内容*/
// 功能栏标题
var ItemTitleArray = Array ('苍雪','颜','LL小','LL大','水','AC娘','百合','百度');
// 链接ID, 对应, 100101开始的整数。
var loadTitleArray = Array('100101','100102','100103','100104','100105','100106','100107','100108');
// 表情数组:
// 1:苍雪自带
var KFSmileURL = [];
var KFSmileTitle = [];
var KFSmileCode = [];
for(var j = 0; j < 48; j++) {
KFSmileURL[j] = 'http://bbs.9gal.com/images/post/smile/em/em' +
((j)>=9?(j+1):('0'+(j+1))) + '.gif';
KFSmileTitle[j] = '';
KFSmileCode[j] = '[s:'+(j+10)+']';
}
//附加gif:
var KFSmile2 = [];
var KFSmile2Title = [];
for(var j = 0; j < 25; j++) {
KFSmile2[j] = 'http://smilell1.eclosionstudio.com/EmCol/penseris/penseries' +
(j+1) + '.gif';
KFSmile2Title[j] = '';
}
var KFSmile3 = [];
var KFSmile3Title = [];
for(var j = 0; j < 54; j++) {
KFSmile3[j] = 'http://smilell1.eclosionstudio.com/EmCol/penseris/bannerpenseries' +
(j+1) + '.gif';
KFSmile3Title[j] = '';
}
// 2: 颜文字
var emotionArray = Array("(●・ 8 ・●)", "╰(๑◕ ▽ ◕๑)╯", "(﹡ˆˆ﹡)","〜♪♪",
"|∀゚", "(´゚Д゚`)", "(;´Д`)", "(`・ω・)", "(=゚ω゚)=", "| ω・´)", "|-` )", "|д` )", "|ー` )", "|∀` )", "(つд⊂)", "(゚Д゚≡゚Д゚)", "(^o^)ノ", "(|||゚Д゚)", "( ゚∀゚)", "( ´∀`)", "(*´∀`)", "(*゚∇゚)", "(*゚ー゚)", "( ゚ 3゚)", "( ´ー`)", "( ・_ゝ・)", "( ´_ゝ`)", "(*´д`)", "(・ー・)", "(・∀・)", "(ゝ∀・)", "(〃∀〃)", "(*゚∀゚*)", "( ゚∀。)", "( `д´)", "(`ε´ )", "(`ヮ´ )", "σ`∀´)", " ゚∀゚)σ", "゚ ∀゚)ノ", "(╬゚д゚)", "(|||゚д゚)", "( ゚д゚)", "Σ( ゚д゚)", "( ;゚д゚)", "( ;´д`)", "( д ) ゚ ゚", "( ☉д⊙)", "((( ゚д゚)))", "( ` ・´)", "( ´д`)", "( -д-)", "(>д<)", "・゚( ノд`゚)", "( TдT)", "( ̄∇ ̄)", "( ̄3 ̄)", "( ̄ー ̄)", "( ̄ .  ̄)", "( ̄皿 ̄)", "( ̄艸 ̄)", "( ̄︿ ̄)", "( ̄︶ ̄)", "ヾ(´ω゚`)", "(*´ω`*)", "(・ω・)", "( ´・ω)", "(`・ω)", "(´・ω・`)", "(`・ω・´)", "( `_っ´)", "( `ー´)", "( ´_っ`)", "( ´ρ`)", "( ゚ω゚)", "(o゚ω゚o)", "( ^ω^)", "(。◕∀◕。)", "/( ◕‿‿◕ )\\", "ヾ(´ε`ヾ)", "(ノ゚∀゚)ノ", "(σ゚д゚)σ", "(σ゚∀゚)σ", "|д゚ )", "┃電柱┃", "゚(つд`゚)", "゚Å゚ ) ", "⊂彡☆))д`)", "⊂彡☆))д´)", "⊂彡☆))∀`)", "(´∀((☆ミつ",
"( ◜◒◝ )","(●´3`)~♪", "_(:з」∠)_","хорошо!");
// 3. lovelive专用小
var LoveliveSmalltargetURL = [];
var LoveliveSmalltargetTitle = [];
for(var j = 0; j < 40; j++) {
LoveliveSmalltargetURL[j] = 'http://smilell2.eclosionstudio.com/Small/Lovelive2nd' +
(j+1) + '.png';
LoveliveSmalltargetTitle[j] = j+1;
}
for(var j = 0; j < 40; j++) {
LoveliveSmalltargetURL[j+40] = 'http://smilell1.eclosionstudio.com/Small/Lovelive' +
(j+1) + '.png';
LoveliveSmalltargetTitle[j+40] = j+1;
}
// 4. lovelive专用大
var LoveliveBigtargetURL = [];
var LoveliveBigtargetTitle = [];
for(var j = 0; j < 40; j++) {
LoveliveBigtargetURL[j] = 'http://smilell2.eclosionstudio.com/Big/Lovelive2nd' +
(j+1) + '.png';
LoveliveBigtargetTitle[j] = j+1;
}
for(var j = 0; j < 40; j++) {
LoveliveBigtargetURL[j+40] = 'http://smilell1.eclosionstudio.com/Big/Lovelive' +
(j+1) + '.png';
LoveliveBigtargetTitle[j] = j+1;
}
// 5. 快捷输入功能
var functionEmotion = Array("[sell=1][/sell]","[quote][/quote]","[hide=1][/hide]","[code][/code]","[strike][/strike]",
"[fly][/fly]","[color=#00FF00][/color]","[b][/b]","[u][/u]","[i][/i]","[hr]", "[bgcolor=][/bgcolor]");
var functionDescription = Array("出售贴sell=售价","引用", "隐藏hide=神秘等级","插入代码","删除线","跑马灯","文字颜色","粗体","下划线","斜体","水平线","背景色");
// 6. AC娘
var ACSmile3 = [];
var ACSmile3Title = [];
for(var j = 0; j < 50; j++) {
ACSmile3[j] = 'http://smilell1.eclosionstudio.com/EmCol/ACFUN/' +
(j+1) + '.png';
ACSmile3Title[j] = '';
}
var ACSmile2 = [];
var ACSmile2Title = [];
for(var j = 0; j < 10; j++) {
ACSmile2[j] = 'http://smilell1.eclosionstudio.com/EmCol/ACFUN/' +
(j+51) + '.jpg';
ACSmile2Title[j] = '';
}
//7. Akari 摇曳百合
var ACSmile1 = [];
var ACSmile1Title = [];
for(var j = 0; j < 20; j++) {
ACSmile1[j] = 'http://smilell1.eclosionstudio.com/EmCol/Dynamic/akari' +
(j+1) + '.gif';
ACSmile1Title[j] = '';
}
var AkariSmile1 = [];
var AkariSmile1Title = [];
for(var j = 0; j < 71; j++) {
AkariSmile1[j] = 'http://smilell1.eclosionstudio.com/EmCol/akari/akari' +
(j+1) + '.png';
AkariSmile1Title[j] = '';
}
// 8.百度
var BaiduSmile1 = [];
var BaiduSmile1Title = [];
for(var j = 0; j < 50; j++) {
BaiduSmile1[j] = 'http://smilell1.eclosionstudio.com/EmCol/baidu/defaultx' +
(j+1) + '.png';
BaiduSmile1Title[j] = '';
}
function loadingHandler(loadindex, target){
switch (loadindex) {
case 1: // 1:苍雪自带
userInputImg(target, KFSmileURL,KFSmileCode, KFSmileTitle, returnPlainText, 30, 30);
userInputImg(target, KFSmile2, KFSmile2, KFSmile2Title, returnImg, 80, 30);
userInputImg(target, KFSmile3, KFSmile3, KFSmile3Title, returnImg, 120, 20);
break;
case 2: // 2: 颜文字
userInputPlainText(target,emotionArray, emotionArray, returnPlainText);
break;
case 3: // Lovelive大法好Small
userInputImg(target, LoveliveSmalltargetURL, LoveliveSmalltargetURL, LoveliveSmalltargetTitle, returnImg, 70, 70);
break;
case 4: // Lovelive大法好Big
userInputImg(target, LoveliveSmalltargetURL, LoveliveBigtargetURL, LoveliveBigtargetTitle, returnImg, 70, 70);
break;
case 5:
newElementEx = document.createElement('p');
newElementEx.innerHTML = "快速输入出售帖, 神秘限制贴, 引用等等
";
target.appendChild(newElementEx);
userInputPlainText(target, functionEmotion, functionDescription,returnPlainText);
case 6:
userInputImg(target, ACSmile3, ACSmile3, ACSmile3Title, returnImg, 60, 60);
break;
case 7:
userInputImg(target, ACSmile2, ACSmile2, ACSmile2Title, returnImg, 50, 50);
userInputImg(target, ACSmile1, ACSmile1, ACSmile1Title, returnImg, 50, 50);
userInputImg(target, AkariSmile1, AkariSmile1, AkariSmile1Title, returnImg, 50, 50);
break;
case 8:
userInputImg(target, BaiduSmile1, BaiduSmile1, BaiduSmile1Title, returnImg, 30, 30);
break;
// case: 编号
/*
case xx:
在这里添加
break;
*/
//
default:
emptyContainer.innerHTML = '空白表情容器';
return;
}
}
/* 自定义内容到此结束 */
/*------------------------------------*/
/*------------------------------------*/
var totalNum = ItemTitleArray.length; // 功能栏数量
var textareas, textarea;
var emptyContainer;
var startPos, endPos; // 当前光标位置定位
textareas = document.getElementsByTagName('textarea');
if (!textareas.length) { return; }
// 用户操作函数
function userInputPlainText(target, textBox,titleBox, func){
var textlength = textBox.length;
for (var j=0;j