Advertisement
baivong

Colpick + smileyFB + autoSave + zzImgUr + tab + fixTable

Feb 23rd, 2014
1,362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. colpick Color Picker
  3. Copyright 2013 Jose Vargas. Licensed under GPL license. Based on Stefan Petre's Color Picker www.eyecon.ro, dual licensed under the MIT and GPL licenses
  4.  
  5. For usage and examples: colpick.com/plugin
  6.  */
  7.  
  8. (function($) {
  9. var colpick=function(){var c={showEvent:"click",onShow:function(){},onBeforeShow:function(){},onHide:function(){},onChange:function(){},onSubmit:function(){},colorScheme:"light",color:"3289c7",livePreview:!0,flat:!1,layout:"full",submit:1,submitText:"OK",height:156},d=function(a,b){var c=hsbToRgb(a);$(b).data("colpick").fields.eq(1).val(c.r).end().eq(2).val(c.g).end().eq(3).val(c.b).end()},f=function(a,b){$(b).data("colpick").fields.eq(4).val(Math.round(a.h)).end().eq(5).val(Math.round(a.s)).end().eq(6).val(Math.round(a.b)).end()},
  10. e=function(a,b){$(b).data("colpick").fields.eq(0).val(hsbToHex(a))},g=function(a,b){$(b).data("colpick").selector.css("backgroundColor","#"+hsbToHex({h:a.h,s:100,b:100}));$(b).data("colpick").selectorIndic.css({left:parseInt($(b).data("colpick").height*a.s/100,10),top:parseInt($(b).data("colpick").height*(100-a.b)/100,10)})},l=function(a,b){$(b).data("colpick").hue.css("top",parseInt($(b).data("colpick").height-$(b).data("colpick").height*a.h/360,10))},q=function(a,b){$(b).data("colpick").currentColor.css("backgroundColor",
  11. "#"+hsbToHex(a))},p=function(a,b){$(b).data("colpick").newColor.css("backgroundColor","#"+hsbToHex(a))},m=function(a){a=$(this).parent().parent();var b;if(0<this.parentNode.className.indexOf("_hex")){b=a.data("colpick");var c=hexToHsb,h=this.value,k=6-h.length;if(0<k){for(var n=[],m=0;m<k;m++)n.push("0");n.push(h);h=n.join("")}b.color=b=c(h);d(b,a.get(0));f(b,a.get(0))}else 0<this.parentNode.className.indexOf("_hsb")?(a.data("colpick").color=b=r({h:parseInt(a.data("colpick").fields.eq(4).val(),10),
  12. s:parseInt(a.data("colpick").fields.eq(5).val(),10),b:parseInt(a.data("colpick").fields.eq(6).val(),10)}),d(b,a.get(0)),e(b,a.get(0))):(b=a.data("colpick"),c=rgbToHsb,h=parseInt(a.data("colpick").fields.eq(1).val(),10),k=parseInt(a.data("colpick").fields.eq(2).val(),10),n=parseInt(a.data("colpick").fields.eq(3).val(),10),h={r:Math.min(255,Math.max(0,h)),g:Math.min(255,Math.max(0,k)),b:Math.min(255,Math.max(0,n))},b.color=b=c(h),e(b,a.get(0)),f(b,a.get(0)));g(b,a.get(0));l(b,a.get(0));p(b,a.get(0));
  13. a.data("colpick").onChange.apply(a.parent(),[b,hsbToHex(b),hsbToRgb(b)])},A=function(a){$(this).parent().removeClass("colpick_focus")},B=function(){$(this).parent().parent().data("colpick").fields.parent().removeClass("colpick_focus");$(this).parent().addClass("colpick_focus")},C=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1;var b=$(this).parent().find("input").focus();a={el:$(this).parent().addClass("colpick_slider"),max:0<this.parentNode.className.indexOf("_hsb_h")?360:0<this.parentNode.className.indexOf("_hsb")?
  14. 100:255,y:a.pageY,field:b,val:parseInt(b.val(),10),preview:$(this).parent().parent().data("colpick").livePreview};$(document).mouseup(a,s);$(document).mousemove(a,t)},t=function(a){a.data.field.val(Math.max(0,Math.min(a.data.max,parseInt(a.data.val-a.pageY+a.data.y,10))));a.data.preview&&m.apply(a.data.field.get(0),[!0]);return!1},s=function(a){m.apply(a.data.field.get(0),[!0]);a.data.el.removeClass("colpick_slider").find("input").focus();$(document).off("mouseup",s);$(document).off("mousemove",t);
  15. return!1},D=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1;var b={cal:$(this).parent(),y:$(this).offset().top};b.preview=b.cal.data("colpick").livePreview;$(document).mouseup(b,u);$(document).mousemove(b,v);m.apply(b.cal.data("colpick").fields.eq(4).val(parseInt(360*(b.cal.data("colpick").height-(a.pageY-b.y))/b.cal.data("colpick").height,10)).get(0),[b.preview])},v=function(a){m.apply(a.data.cal.data("colpick").fields.eq(4).val(parseInt(360*(a.data.cal.data("colpick").height-Math.max(0,
  16. Math.min(a.data.cal.data("colpick").height,a.pageY-a.data.y)))/a.data.cal.data("colpick").height,10)).get(0),[a.data.preview]);return!1},u=function(a){d(a.data.cal.data("colpick").color,a.data.cal.get(0));e(a.data.cal.data("colpick").color,a.data.cal.get(0));$(document).off("mouseup",u);$(document).off("mousemove",v);return!1},E=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1;var b={cal:$(this).parent(),pos:$(this).offset()};b.preview=b.cal.data("colpick").livePreview;$(document).mouseup(b,
  17. w);$(document).mousemove(b,x);m.apply(b.cal.data("colpick").fields.eq(6).val(parseInt(100*(b.cal.data("colpick").height-(a.pageY-b.pos.top))/b.cal.data("colpick").height,10)).end().eq(5).val(parseInt(100*(a.pageX-b.pos.left)/b.cal.data("colpick").height,10)).get(0),[b.preview])},x=function(a){m.apply(a.data.cal.data("colpick").fields.eq(6).val(parseInt(100*(a.data.cal.data("colpick").height-Math.max(0,Math.min(a.data.cal.data("colpick").height,a.pageY-a.data.pos.top)))/a.data.cal.data("colpick").height,
  18. 10)).end().eq(5).val(parseInt(100*Math.max(0,Math.min(a.data.cal.data("colpick").height,a.pageX-a.data.pos.left))/a.data.cal.data("colpick").height,10)).get(0),[a.data.preview]);return!1},w=function(a){d(a.data.cal.data("colpick").color,a.data.cal.get(0));e(a.data.cal.data("colpick").color,a.data.cal.get(0));$(document).off("mouseup",w);$(document).off("mousemove",x);return!1},F=function(a){a=$(this).parent();var b=a.data("colpick").color;a.data("colpick").origColor=b;q(b,a.get(0));a.data("colpick").onSubmit(b,
  19. hsbToHex(b),hsbToRgb(b),a.data("colpick").el)},z=function(a){a=$("#"+$(this).data("colpickId"));a.data("colpick").onBeforeShow.apply(this,[a.get(0)]);var b=$(this).offset(),c=b.top+this.offsetHeight,b=b.left,d=G();b+346>d.l+d.w&&(b-=346);a.css({left:b+"px",top:c+"px"});!1!=a.data("colpick").onShow.apply(this,[a.get(0)])&&a.show();$("html").mousedown({cal:a},y);a.mousedown(function(a){a.stopPropagation()})},y=function(a){!1!=a.data.cal.data("colpick").onHide.apply(this,[a.data.cal.get(0)])&&a.data.cal.hide();
  20. $("html").off("mousedown",y)},G=function(){var a="CSS1Compat"==document.compatMode;return{l:window.pageXOffset||(a?document.documentElement.scrollLeft:document.body.scrollLeft),w:window.innerWidth||(a?document.documentElement.clientWidth:document.body.clientWidth)}},r=function(a){return{h:Math.min(360,Math.max(0,a.h)),s:Math.min(100,Math.max(0,a.s)),b:Math.min(100,Math.max(0,a.b))}},H=function(){var a=$(this).parent(),b=a.data("colpick").origColor;a.data("colpick").color=b;d(b,a.get(0));e(b,a.get(0));
  21. f(b,a.get(0));g(b,a.get(0));l(b,a.get(0));p(b,a.get(0))};return{init:function(a){a=$.extend({},c,a||{});if("string"==typeof a.color)a.color=hexToHsb(a.color);else if(void 0!=a.color.r&&void 0!=a.color.g&&void 0!=a.color.b)a.color=rgbToHsb(a.color);else if(void 0!=a.color.h&&void 0!=a.color.s&&void 0!=a.color.b)a.color=r(a.color);else return this;return this.each(function(){if(!$(this).data("colpickId")){var b=$.extend({},a);b.origColor=a.color;var c="collorpicker_"+parseInt(1E3*Math.random());$(this).data("colpickId",
  22. c);c=$('<div class="colpick"><div class="colpick_color"><div class="colpick_color_overlay1"><div class="colpick_color_overlay2"><div class="colpick_selector_outer"><div class="colpick_selector_inner"></div></div></div></div></div><div class="colpick_hue"><div class="colpick_hue_arrs"><div class="colpick_hue_larr"></div><div class="colpick_hue_rarr"></div></div></div><div class="colpick_new_color"></div><div class="colpick_current_color"></div><div class="colpick_hex_field"><div class="colpick_field_letter">#</div><input type="text" maxlength="6" size="6" /></div><div class="colpick_rgb_r colpick_field"><div class="colpick_field_letter">R</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_g colpick_field"><div class="colpick_field_letter">G</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_h colpick_field"><div class="colpick_field_letter">H</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_s colpick_field"><div class="colpick_field_letter">S</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_submit"></div></div>').attr("id",
  23. c);c.addClass("colpick_"+b.layout+(b.submit?"":" colpick_"+b.layout+"_ns"));"light"!=b.colorScheme&&c.addClass("colpick_"+b.colorScheme);c.find("div.colpick_submit").html(b.submitText).click(F);b.fields=c.find("input").change(m).blur(A).focus(B);c.find("div.colpick_field_arrs").mousedown(C).end().find("div.colpick_current_color").click(H);b.selector=c.find("div.colpick_color").mousedown(E);b.selectorIndic=b.selector.find("div.colpick_selector_outer");b.el=this;b.hue=c.find("div.colpick_hue_arrs");
  24. huebar=b.hue.parent();var h=navigator.userAgent.toLowerCase(),k="Microsoft Internet Explorer"===navigator.appName,n=k?parseFloat(h.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,h="#ff0000 #ff0080 #ff00ff #8000ff #0000ff #0080ff #00ffff #00ff80 #00ff00 #80ff00 #ffff00 #ff8000 #ff0000".split(" ");if(k&&10>n)for(k=0;11>=k;k++)n=$("<div></div>").attr("style","height:8.333333%; filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="+h[k]+", endColorstr="+h[k+1]+'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+
  25. h[k]+", endColorstr="+h[k+1]+')";'),huebar.append(n);else stopList=h.join(","),huebar.attr("style","background:-webkit-linear-gradient(top center,"+stopList+"); background:-moz-linear-gradient(top center,"+stopList+"); background:linear-gradient(to bottom,"+stopList+"); "),huebar.css({background:"linear-gradient(to bottom,"+stopList+")"}),huebar.css({background:"-moz-linear-gradient(top,"+stopList+")"});c.find("div.colpick_hue").mousedown(D);b.newColor=c.find("div.colpick_new_color");b.currentColor=
  26. c.find("div.colpick_current_color");c.data("colpick",b);d(b.color,c.get(0));f(b.color,c.get(0));e(b.color,c.get(0));l(b.color,c.get(0));g(b.color,c.get(0));q(b.color,c.get(0));p(b.color,c.get(0));b.flat?(c.appendTo(this).show(),c.css({position:"relative",display:"block"})):(c.appendTo(document.body),$(this).on(b.showEvent,z),c.css({position:"absolute"}))}})},showPicker:function(){return this.each(function(){$(this).data("colpickId")&&z.apply(this)})},hidePicker:function(){return this.each(function(){$(this).data("colpickId")&&
  27. $("#"+$(this).data("colpickId")).hide()})},setColor:function(a,b){b="undefined"===typeof b?1:b;if("string"==typeof a)a=hexToHsb(a);else if(void 0!=a.r&&void 0!=a.g&&void 0!=a.b)a=rgbToHsb(a);else if(void 0!=a.h&&void 0!=a.s&&void 0!=a.b)a=r(a);else return this;return this.each(function(){if($(this).data("colpickId")){var c=$("#"+$(this).data("colpickId"));c.data("colpick").color=a;c.data("colpick").origColor=a;d(a,c.get(0));f(a,c.get(0));e(a,c.get(0));l(a,c.get(0));g(a,c.get(0));p(a,c.get(0));c.data("colpick").onChange.apply(c.parent(),
  28. [a,hsbToHex(a),hsbToRgb(a),1]);b&&q(a,c.get(0))}})}}}(),hexToRgb=function(c){c=parseInt(-1<c.indexOf("#")?c.substring(1):c,16);return{r:c>>16,g:(c&65280)>>8,b:c&255}},hexToHsb=function(c){return rgbToHsb(hexToRgb(c))},rgbToHsb=function(c){var d={h:0,s:0,b:0},f=Math.min(c.r,c.g,c.b),e=Math.max(c.r,c.g,c.b),f=e-f;d.b=e;d.s=0!=e?255*f/e:0;d.h=0!=d.s?c.r==e?(c.g-c.b)/f:c.g==e?2+(c.b-c.r)/f:4+(c.r-c.g)/f:-1;d.h*=60;0>d.h&&(d.h+=360);d.s*=100/255;d.b*=100/255;return d},hsbToRgb=function(c){var d,f,e;d=
  29. Math.round(c.h);var g=Math.round(255*c.s/100);c=Math.round(255*c.b/100);if(0==g)d=f=e=c;else{var g=(255-g)*c/255,l=d%60*(c-g)/60;360==d&&(d=0);60>d?(d=c,e=g,f=g+l):120>d?(f=c,e=g,d=c-l):180>d?(f=c,d=g,e=g+l):240>d?(e=c,d=g,f=c-l):300>d?(e=c,f=g,d=g+l):360>d?(d=c,f=g,e=c-l):e=f=d=0}return{r:Math.round(d),g:Math.round(f),b:Math.round(e)}},rgbToHex=function(c){var d=[c.r.toString(16),c.g.toString(16),c.b.toString(16)];$.each(d,function(c,e){1==e.length&&(d[c]="0"+e)});return d.join("")},hsbToHex=function(c){return rgbToHex(hsbToRgb(c))};
  30. $.fn.extend({colpick:colpick.init,colpickHide:colpick.hidePicker,colpickShow:colpick.showPicker,colpickSetColor:colpick.setColor});$.extend({colpickRgbToHex:rgbToHex,colpickRgbToHsb:rgbToHsb,colpickHsbToHex:hsbToHex,colpickHsbToRgb:hsbToRgb,colpickHexToHsb:hexToHsb,colpickHexToRgb:hexToRgb});
  31. })(jQuery);
  32. var bbcodeColor = "359bed";
  33. null !== my_getcookie("bbcodeColor") && (bbcodeColor = my_getcookie("bbcodeColor"));
  34. $("#color").colpick({
  35.     color: bbcodeColor,
  36.     flat: !0,
  37.     layout: "hex",
  38.     onSubmit: function (b, a, c, d) {
  39.         bbfontstyle("[color=#" + a + "]", "[/color]");
  40.         selectWysiwyg(this, "color");
  41.         my_setcookie("bbcodeColor", a, !0)
  42.     }
  43. });
  44.  
  45. /*!
  46.  * zzEmoFb ver 0.1 by zzbaivong
  47.  * http://devs.forumvi.com/
  48.  */
  49. (function ($) {
  50. function smyleyFB() {
  51.     for (var b = 0, a, c = 0; 239 > c; c++) {
  52.         switch (c) {
  53.         case 210:
  54.             a = "o.O";
  55.             break;
  56.         case 211:
  57.             a = "O.o";
  58.             break;
  59.         case 212:
  60.             a = ":'(";
  61.             break;
  62.         case 213:
  63.             a = "3:)";
  64.             break;
  65.         case 214:
  66.             a = ":(";
  67.             break;
  68.         case 215:
  69.             a = ":O";
  70.             break;
  71.         case 216:
  72.             a = "8)";
  73.             break;
  74.         case 217:
  75.             a = ":D";
  76.             break;
  77.         case 218:
  78.             a = "&gt;:(";
  79.             break;
  80.         case 219:
  81.             a = "&lt;3";
  82.             break;
  83.         case 220:
  84.             a = "^_^";
  85.             break;
  86.         case 221:
  87.             a = ":*";
  88.             break;
  89.         case 222:
  90.             a = ":v";
  91.             break;
  92.         case 223:
  93.             a = '&lt;(")';
  94.             break;
  95.         case 224:
  96.             a = ":poop:";
  97.             break;
  98.         case 225:
  99.             a = ":putnam:";
  100.             break;
  101.         case 226:
  102.             a = "(^^^)";
  103.             break;
  104.         case 227:
  105.             a = ":)";
  106.             break;
  107.         case 228:
  108.             a = "-_-";
  109.             break;
  110.         case 229:
  111.             a = "8|";
  112.             break;
  113.         case 230:
  114.             a = ":P";
  115.             break;
  116.         case 231:
  117.             a = ":/";
  118.             break;
  119.         case 232:
  120.             a = "&gt;:O";
  121.             break;
  122.         case 233:
  123.             a = ";)";
  124.             break;
  125.         case 234:
  126.             a = "(y)";
  127.             break;
  128.         case 235:
  129.             a = ":3";
  130.             break;
  131.         case 236:
  132.             a = ":|]";
  133.             break;
  134.         case 237:
  135.             a = "O:)";
  136.             break;
  137.         default:
  138.             a = ":fb" + c + ":"
  139.         }
  140.         b -= 17;
  141.         emoFB[a] = "0 " + b + "px"
  142.     }
  143. }
  144.  
  145. function imgEmo(b, a) {
  146.     return '<img class="smiley_FB" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="' + b.replace(/\"/, "&quot;") + '" style="background-position:' + a + '" />'
  147. }
  148.  
  149. function checkEmo(b) {
  150.     return b = b.replace(all, function (a) {
  151.         return imgEmo(a, emoFB[a])
  152.     })
  153. }
  154.  
  155. function list(b, a) {
  156.     $.each(emoFB, function (c, d) {
  157.         b.test(c) && $(a + " > p").append(imgEmo(c, d))
  158.     })
  159. }
  160. var emoFB = {}, normal = /\bO:\)\B|\bo\.O\b|\bO\.o\b|\b8\|\B|\b8\)\B|\b3:\)\B|\B(\(y\)\B|\B:3\b|\B:\'\(\B|\B:\(\B|\B:O\b|\B:D\b|\B&gt;:\(\B|\B&lt;3\b|\B\^_\^\B|\B:\*\B|\B:v\b|\B&lt;\(\"\)\B|\B:poop:\B|\B:putnam:\B|\B\(\^\^\^\)\B|\B:\)\B|\B-_-\B|\B:P\b|\B:\/\B|\B&gt;:O\b|\B;\)\B|\B:\|\]\B)/,
  161.     more = /\B:fb([0-9]|[1-9][0-9]|1[0-9][0-9]|20[0-9]):\B/,
  162.     all = RegExp((normal + more).replace("//", "|").replace(/^\/|\/$/g, ""), "g");
  163. smyleyFB();
  164. $.zzEmoFb = function () {
  165.     var b;
  166.     list(normal, "#smiley_FB_frame");
  167.     $("#smiley_FB_frame > p").append('<p class="more">--- Xem th\u00eam ---</p>');
  168.     $("#smiley_FB_frame .more").click(function () {
  169.         $("#smiley_FB_frame p.less").length ? $("#smiley_FB_frame .more").nextAll().show() : (list(more, "#smiley_FB_frame"), $("#smiley_FB_frame > p").append('<p class="less">--- Thu g\u1ecdn ---</p>'));
  170.         $(this).hide()
  171.     });
  172.     $("#smiley_FB_frame").on("click", ".less", function () {
  173.         $(this).hide();
  174.         $("#smiley_FB_frame .more").show().nextAll().hide()
  175.     });
  176.     $(window).on("keydown keyup", function (a) {
  177.         b = a.ctrlKey
  178.     });
  179.     $("#smiley_FB_frame").on("click", "img", function () {
  180.         insert_text(this.alt, !0);
  181.         b || selectWysiwyg(this, "smiley_FB_frame")
  182.     });
  183.     $(".post-entry").html(function (a, b) {
  184.         return checkEmo(b)
  185.     })
  186. };
  187. }(jQuery));
  188. $.zzEmoFb();
  189. $("code .smiley_FB").replaceWith(function () {
  190.     return this.alt
  191. });
  192.  
  193. /*!
  194.  * zzbaivongSave ver 0.1 by zzbaivong
  195.  * http://devs.forumvi.com/
  196.  */
  197. var zzbaivongSave = {
  198.     viTime: function (a) {
  199.         a = (new Date(a)).toString().split(/\s/);
  200.         return a[2] + "/" + {
  201.             Jan: "01",
  202.             Feb: "02",
  203.             Mar: "03",
  204.             Apr: "04",
  205.             May: "05",
  206.             Jun: "06",
  207.             Jul: "07",
  208.             Aug: "08",
  209.             Sep: "09",
  210.             Oct: "10",
  211.             Nov: "11",
  212.             Dec: "12"
  213.         }[a[1]] + "/" + a[3] + " " + a[4]
  214.     },
  215.     upSave: function () {
  216.         zzbaivongSave.update = setInterval(function () {
  217.             var a = $("#text_editor_textarea").val(),
  218.                 c = Object.keys(zzbaivongSave.zzbv_AS);
  219.             if (null !== a && "" !== a && a != zzbaivongSave.curr && -1 == localStorage.getItem("zzbv_AS").indexOf(JSON.stringify(a))) {
  220.                 $("#autoSave").hasClass("have") ||
  221.                     $("#autoSave").addClass("have");
  222.                 var b = (new Date).getTime();
  223.                 zzbaivongSave.zzbv_AS[b] = a;
  224.                 5 == c.length && delete zzbaivongSave.zzbv_AS[c[0]];
  225.                 localStorage.setItem("zzbv_AS", JSON.stringify(zzbaivongSave.zzbv_AS));
  226.                 zzbaivongSave.creatList(zzbaivongSave.zzbv_AS);
  227.                 $("#helpbox").text("\u0110\u00e3 l\u01b0u tr\u1eef l\u00fac " + zzbaivongSave.viTime(b));
  228.                 zzbaivongSave.curr = a
  229.             }
  230.         }, 6E4)
  231.     },
  232.     creatList: function (a) {
  233.         $("#zzbv_auto_save").empty();
  234.         $.each(a, function (a, b) {
  235.             $("#zzbv_auto_save").prepend('<p><a data-save="' + a + '" href="javascript:;">' +
  236.                 zzbaivongSave.viTime(eval(a)) + "</a></p>")
  237.         });
  238.         var c, b = $("#text_editor_textarea");
  239.         $("#zzbv_auto_save a").hover(function () {
  240.             clearInterval(zzbaivongSave.update);
  241.             c = b.val();
  242.             b.val(zzbaivongSave.zzbv_AS[$(this).data("save")])
  243.         }, function () {
  244.             b.val(c);
  245.             zzbaivongSave.upSave()
  246.         }).click(function () {
  247.             b.val(zzbaivongSave.zzbv_AS[$(this).data("save")]);
  248.             c = b.val()
  249.         })
  250.     },
  251.     zzbv_AS: {},
  252.     curr: "",
  253.     update: function () {},
  254.     start: function () {
  255.         var a = localStorage.getItem("zzbv_AS");
  256.         null !== a && "{}" != a ? (zzbaivongSave.zzbv_AS = JSON.parse(a), zzbaivongSave.creatList(zzbaivongSave.zzbv_AS),
  257.             $("#autoSave").addClass("have")) : localStorage.setItem("zzbv_AS", "{}");
  258.         zzbaivongSave.upSave();
  259.         $('input[name="post"]').click(function () {
  260.             localStorage.removeItem("zzbv_AS")
  261.         })
  262.     }
  263. };
  264. zzbaivongSave.start();
  265.  
  266.  
  267.  
  268.  
  269. /*!
  270.  * jQuery plugin zzImgUr ver 1.6 by zzbaivong
  271.  * http://devs.forumvi.com/
  272.  */
  273. (function ($) {
  274. $.fn.zzImgUr=function(x){var d=$.extend({cliendID:"",mode:"file",format:"o,",css:{width:"100%"},max:10,loading:"./source/images/loading.gif",lang:{noID:"\u1ee8ng d\u1ee5ng ch\u01b0a \u0111\u0103ng k\u00fd",addImage:"Ch\u1ecdn \u1ea3nh",addURL:"Th\u00eam URL",reset:"L\u00e0m m\u1edbi",upload:"T\u1ea3i l\u00ean",choose:"\u0110\u00e3 ch\u1ecdn",waitConnect:"\u0110ang k\u1ebft n\u1ed1i...",waitUpload:"\u0110ang t\u1ea3i l\u00ean...",noteURL:"Nh\u1eadp URL \u1ea3nh v\u00e0o \u0111\u00e2y:",errContact:'<a href="http://devs.forumvi.com/t131-jq-plugin-jquery-plugin-zzimgur#831" rel="nofollow" target="_blank">Nh\u1ea5n v\u00e0o \u0111\u00e2y</a> \u0111\u1ec3 b\u00e1o l\u1ed7i.',
  275. errURL:"URL kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c.",errSize:"URL l\u1ed7i ho\u1eb7c k\u00edch th\u01b0\u1edbc qu\u00e1 nh\u1ecf.",errRepeat:"URL kh\u00f4ng h\u1ee3p l\u1ec7 ho\u1eb7c \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng."},success:function(d,b){},input:function(d){d.click(function(){this.select()})},remove:function(d,b){}},x);return this.each(function(x,b){function e(a){return'<img class="imgur_Zzbv-icon'+a+'" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" height="16" width="16" alt="'+
  276. a+'" />'}function y(){2<z&&$(".imgur_Zzbv-li",b).data("height",34*z).hover(function(){var a=$(this);if($(".imgur_Zzbv-progress",a).length)return!1;a.height(a.data("height"))},function(){$(this).height(68)})}function J(a,c){$(c).css({"background-image":"url("+d.loading+")","background-position":"0 0"});var b=$(c).closest(".imgur_Zzbv-li");$.ajax({url:"https://api.imgur.com/3/image/"+a,headers:{Authorization:"Client-ID "+d.cliendID},type:"DELETE",success:function(a){var b=[];$.each($(".imgur_Zzbv-input",
  277. $(c).parent()),function(a,c){b.push(c.value)});d.remove(b[0],b);$(c).closest(".imgur_Zzbv-li").remove();A();"0"==B.text()&&k.click()},error:function(a){C(b,a)}})}function K(a){var c=new FileReader,l=new Image;c.readAsDataURL(a);c.onload=function(c){l.src=c.target.result;l.onerror=function(){return!1};l.onload=function(){var c=this.src;if(!$(".imgur_Zzbv-image img[src='"+c+"']",b).length){var g=this.width,l=this.height,f=a.name,m=Math.ceil(a.size/1024)+"Kb";h.append('<div class="imgur_Zzbv-li"><div class="imgur_Zzbv-image"><img src="'+
  278. c+'" /></div><div class="imgur_Zzbv-info"><a class="imgur_Zzbv-remove" href="#">Delete</a><div class="imgur_Zzbv-tip">'+e("Complete")+" "+d.lang.choose+'</div><div class="imgur_Zzbv-wrap-progress"><div class="imgur_Zzbv-progress"></div></div><div>'+f+"</div><small><strong>"+g+"x"+l+"</strong> <em>("+m+")</em></small></div></div>");y();$(".imgur_Zzbv-progress",b).length>s&&$(".imgur_Zzbv-li:gt("+(s-1)+")",b).remove();t.text($(".imgur_Zzbv-progress",b).length)}w()}}}function D(a,c,l){var g=$(".imgur_Zzbv-li",
  279. b).eq(a);$(".imgur_Zzbv-tip",g).html('<img src="'+d.loading+'" alt="loading..." /> <span>'+d.lang.waitConnect+"</span>");$.ajax({url:"https://api.imgur.com/3/image",xhr:function(){var a=new window.XMLHttpRequest;a.upload.addEventListener("progress",function(a){a.lengthComputable&&(a=a.loaded/a.total*100+"%",$(".imgur_Zzbv-tip span",g).text(d.lang.waitUpload),$(".imgur_Zzbv-progress",g).animate({width:a}))},!1);return a},method:"POST",headers:{Authorization:"Client-ID "+d.cliendID},data:{image:c,type:l},
  280. success:function(a){$(".imgur_Zzbv-info",g).html(L(a,d.format.split(",")));d.input($(".imgur_Zzbv-input",g));E();g.addClass("imgur_Zzbv-success");setTimeout(function(){g.removeClass("imgur_Zzbv-success")},300);n.html(e("Complete"))},error:function(a){n.html(e("Error"));C(g,a);E()}})}function E(){A();0===$(".imgur_Zzbv-progress",b).length&&k.fadeIn()}function A(){B.text($(".imgur_Zzbv-delete",b).length)}function C(a,c){$(".imgur_Zzbv-info",a).html('<div class=".imgur_Zzbv-dl"><div class=".imgur_Zzbv-dt"></div><div class=".imgur_Zzbv-dd" style="margin-left: 0!important; color: red">'+
  281. c.statusText+'</div></div><div class=".imgur_Zzbv-dl"><div class=".imgur_Zzbv-dt"></div><div class=".imgur_Zzbv-dd" style="margin-left: 0!important">'+d.lang.errContact+"</div></div>")}function M(a,c){var b=a.data.link,d="IMG",e="URL";/o|s|b|t|m|l|h/.test(c)&&(d="img",e="url");return null===c||""===c?b:"o"===c?"["+d+"]"+b+"[/"+d+"]":"["+e+"="+b+"]["+d+"]http://i.imgur.com/"+a.data.id+c+"."+a.data.type.split("/")[1]+"[/"+d+"][/"+e+"]"}function N(a){var c="";switch(a){case "o":c="Original";break;case "s":c=
  282. "Small Square";break;case "b":c="Big Square";break;case "t":c="Small Thumb";break;case "m":c="Medium Thumb";break;case "l":c="Large Thumb";break;case "h":c="Huge Thumb";break;case "c":c="Custom";break;default:c="Direct Link"}return c}function L(a,c){var b="",e=[],f="",h="";$.each(c,function(c,d){var m=d.match(/\{(o|s|b|t|m|l|h)\}/gi);if(null===m)f=d,h=M(a,d);else{var k=d;$.each(m,function(c,b){f=/o|s|b|t|m|l|h/.exec(b)[0];k=k.replace(b,"http://i.imgur.com/"+a.data.id+f+"."+a.data.type.split("/")[1])});
  283. f="c";h=k}e.push(h);m='<a class="imgur_Zzbv-delete" data-delete="'+a.data.deletehash+'" href="#" target="_blank">Delete</a>';0!==c&&(m="");b+=m+'<div class="imgur_Zzbv-dl"><div class="imgur_Zzbv-dt">'+N(f)+':</div><div class="imgur_Zzbv-dd"><input type="text" class="imgur_Zzbv-input" value="'+h+'" readonly="readonly" /></div></div>'});d.success(e[0],e);return b}function w(){p.add(u).fadeIn()}function F(){$(".imgur_Zzbv-choose",b).replaceWith($(".imgur_Zzbv-choose",b).clone())}function G(){220>v.width()?
  284. v.addClass("imgur_Zzbv-mini"):v.removeClass("imgur_Zzbv-mini")}var q='multiple="multiple"',s=d.max;1===s&&(q="");$(this,b).html('<div class="imgur_Zzbv"> <div class="imgur_Zzbv-control"> <div class="imgur_Zzbv-mode">'+e("Image")+'</div> <div class="imgur_Zzbv-status"> <img src="'+d.loading+'" alt="loading..." /> </div> <div class="imgur_Zzbv-upload-computer imgur_Zzbv-add"> '+e("Select")+' <div class="imgur_Zzbv-textSelect">'+d.lang.addImage+'</div> <input type="file" class="imgur_Zzbv-choose" '+
  285. q+' /> </div> <div class="imgur_Zzbv-upload-URL imgur_Zzbv-add"> <div class="imgur_Zzbv-iconSelect"></div> <div class="imgur_Zzbv-textSelect">'+d.lang.addURL+'</div> </div> <div class="imgur_Zzbv-length"> <span class="imgur_Zzbv-complete">0</span> / <span class="imgur_Zzbv-selected">0</span> </div> <div class="imgur_Zzbv-button"> <div class="imgur_Zzbv-reset">'+e("Reset")+d.lang.reset+'</div> <div class="imgur_Zzbv-upload">'+e("Upload")+d.lang.upload+'</div> </div> <a class="imgur_Zzbv-devs-icon" target="_blank" href="http://devs.forumvi.com/"> '+
  286. e("Devs")+' </a> </div> <div class="imgur_Zzbv-preview"> <div class="imgur_Zzbv-list"></div> </div> </div>');var v=$(".imgur_Zzbv",b),q=$(".imgur_Zzbv-control",b),f=$(".imgur_Zzbv-mode",b),n=$(".imgur_Zzbv-status",b),H=$(".imgur_Zzbv-upload-computer",b),r=$(".imgur_Zzbv-upload-URL",b),I=$(".imgur_Zzbv-add",b),u=$(".imgur_Zzbv-length",b),t=$(".imgur_Zzbv-selected",b),B=$(".imgur_Zzbv-complete",b),k=$(".imgur_Zzbv-reset",b),p=$(".imgur_Zzbv-upload",b),h=$(".imgur_Zzbv-list",b),z=d.format.split(",").length;
  287. v.css(d.css);G();$(window).resize(function(){G()});if(!/[a-z0-9]{15}/.test(d.cliendID))return q.html('<div class="imgur_Zzbv-status" style="display: block;"> '+e("Error")+' </div><div style="text-align: center;">'+d.lang.noID+': <span style="color: red;">cliendID</span><a class="imgur_Zzbv-devs-icon" target="_blank" href="http://devs.forumvi.com/"> '+e("Devs")+" </a></div>"),!1;"url"==d.mode&&(f.addClass("imgur_Zzbv-zzURL"),I.toggle());q.on("change",".imgur_Zzbv-choose",function(a){if((a=this.files)&&
  288. a[0])for(var c=0;c<a.length;c++)K(a[c],b,d)});p.click(function(){if(f.hasClass("imgur_Zzbv-zzURL")){$(".imgur_Zzbv-imageURL:not('.imgur_Zzbv-ok')",b).closest(".imgur_Zzbv-li").remove();t.text($(".imgur_Zzbv-imageURL",b).length);if(h.is(":empty"))return u.add(p).fadeOut(),!1;$(".imgur_Zzbv-imageURL",b).each(function(a){D(a,this.value,"URL")})}else $(".imgur_Zzbv-image img",b).each(function(a){D(a,this.src.replace(/data:image\/.+;base64\,/,""),"base64")});p.add(f).add(I).add(".imgur_Zzbv-remove",b).fadeOut();
  289. n.fadeIn()});k.click(function(){f.hasClass("imgur_Zzbv-zzURL")?(r.show(),H.hide()):(r.hide(),H.show(),F());h.empty();$("span",u).text(0);n.html('<img src="'+d.loading+'" alt="loading..." />');k.add(p).add(n).add(u).fadeOut();f.fadeIn()});h.on("click",".imgur_Zzbv-delete",function(a){a.preventDefault();J($(this).data("delete"),this)});h.on("click",".imgur_Zzbv-remove",function(a){a.preventDefault();$(this).closest(".imgur_Zzbv-li").remove();a=$(".imgur_Zzbv-progress",b).length;t.text(a);"0"==a&&k.click();
  290. f.hasClass("imgur_Zzbv-zzURL")?10>$(".imgur_Zzbv-imageURL",b).length&&r.fadeIn():F()});r.click(function(){h.prepend('<div class="imgur_Zzbv-li"><div class="imgur_Zzbv-image"></div><div class="imgur_Zzbv-info"><a class="imgur_Zzbv-remove" href="#">Delete</a><div class="imgur_Zzbv-tip">'+d.lang.noteURL+'</div><div class="imgur_Zzbv-wrap-progress"><div class="imgur_Zzbv-progress"></div></div><input class="imgur_Zzbv-imageURL" type="text" /></div></div>');y();w();t.text($(".imgur_Zzbv-progress",b).length);
  291. $(".imgur_Zzbv-imageURL",b).length>=s&&r.hide()});h.on("input",".imgur_Zzbv-imageURL",function(){var a=this.value,c=$(this),f=c.prev().prev();if(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([[^\\s]\/]*)*\/?.+\.(jpg|png|gif|jpeg|bmp|apng|tiff|xcf)$/i.test(a)&&!$(".imgur_Zzbv-image img[src='"+a+"']",b).length){c.parent().prev().html('<img src="'+a+'" />');f.html(e("Complete")+" "+a.match(/\w+\.(jpg|png|gif|jpeg|bmp|apng|tiff|xcf)/i)[0]);c.addClass("imgur_Zzbv-ok");var g=c.parent().prev().find("img");
  292. g.error(function(){f.html('<span class="imgur_Zzbv-errorURL">'+e("Error")+" "+d.lang.errURL+"</span>");c.removeClass("imgur_Zzbv-ok")});g.load(function(){1==g.width()&&1==g.height()&&(f.html('<span class="imgur_Zzbv-errorURL">'+e("Error")+" "+d.lang.errSize+"</span>"),c.removeClass("imgur_Zzbv-ok"))});w(b)}else null===a||""===a?(f.html('<span class="imgur_Zzbv-errorURL">'+e("Error")+" "+d.lang.noteURL+"</span>"),c.removeClass("imgur_Zzbv-ok"),c.parent().prev().empty()):(f.html('<span class="imgur_Zzbv-errorURL">'+
  293. e("Error")+" "+d.lang.errRepeat+"</span>"),c.removeClass("imgur_Zzbv-ok"))});f.click(function(){f.toggleClass("imgur_Zzbv-zzURL").children("img").toggleClass("imgur_Zzbv-iconUrl");k.click()})})};
  294. }(jQuery));
  295.  
  296. $("#zzbv_ImgUr").zzImgUr({
  297.     cliendID: "<Client ID>",
  298.     loading: "http://i.imgur.com/m3NXDa6.gif",
  299.     css: {
  300.         width: 320
  301.     },
  302.     success: function (output) {
  303.         insert_text(output);
  304.     },
  305.     remove: function (output) {
  306.         var text = $("#text_editor_textarea");
  307.         text.val(text.val().replace(output, ""));
  308.     }
  309. });
  310.  
  311. $("#text_editor_textarea").keydown(function (e) {
  312.     e.keyCode === 9 && (insert_text("\t"), e.preventDefault());
  313. });
  314.  
  315. $("#text_editor_textarea").val($("#text_editor_textarea").val().replace(/\]\s*?(\[\/tr\])/g, "]\n$1").replace(/\]\s*?(\[td[^\]]*?\])/g, "]\n$1").replace(/\]\s*?(\[tr[^\]]*?\])/g, "]\n$1").replace(/\]\s*?(\[\/table\])/g, "]\n$1"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement