SHOW:
|
|
- or go back to the newest paste.
1 | (function ($) { | |
2 | /** | |
3 | * TMD Changed | |
4 | */ | |
5 | { | |
6 | $.tmdBBCodes = function (o) { | |
7 | if (o && o.lang) message.lang = o.lang; | |
8 | var smiliesURL = 'pic/smilies/'; | |
9 | var temp = [], | |
10 | i = 0, | |
11 | p = 0; | |
12 | temp[i] = ''; | |
13 | var allTextAreas = "#posttext, form[action*='editpost'] textarea, form[action*='edit'] textarea, textarea[name='test'], textarea[name='msg'], textarea[name='body'], textarea[name='descr'], textarea.message"; | |
14 | ||
15 | function init() { | |
16 | var fontsDropMenu = [], | |
17 | fonts = ['Arial', 'Comic Sans MS', 'Courier New', 'Lucida Console', 'Tahoma', 'Times New Roman', 'Verdana', 'Symbol']; | |
18 | for (var i = 0; i < fonts.length; i++) { | |
19 | fontsDropMenu.push({ | |
20 | name: fonts[i], | |
21 | openWith: '[font=' + fonts[i] + ']', | |
22 | closeWith: '[/font]' | |
23 | }) | |
24 | } | |
25 | tmdBbCodes = { | |
26 | markupSet: [ | |
27 | { | |
28 | name: 'Bold', | |
29 | key: 'B', | |
30 | className: 'bold', | |
31 | openWith: '[b]', | |
32 | closeWith: '[/b]' | |
33 | }, | |
34 | { | |
35 | name: 'Italic', | |
36 | key: 'I', | |
37 | className: 'italic', | |
38 | openWith: '[i]', | |
39 | closeWith: '[/i]' | |
40 | }, | |
41 | { | |
42 | name: 'Underline', | |
43 | key: 'U', | |
44 | className: 'underline', | |
45 | openWith: '[u]', | |
46 | closeWith: '[/u]' | |
47 | }, | |
48 | { | |
49 | name: 'Stroke', | |
50 | className: 'stroke', | |
51 | openWith: '[s]', | |
52 | closeWith: '[/s]' | |
53 | }, | |
54 | { | |
55 | name: 'Font', | |
56 | className: 'font', | |
57 | openWith: '[font=[![Font]!]]', | |
58 | closeWith: '[/font]', | |
59 | dropMenu: fontsDropMenu | |
60 | }, | |
61 | { | |
62 | separator: ' ' | |
63 | }, | |
64 | { | |
65 | name: 'Center Alignment', | |
66 | className: 'center', | |
67 | openWith: '[center]', | |
68 | closeWith: '[/center]' | |
69 | }, | |
70 | { | |
71 | name: 'Right Alignment', | |
72 | className: 'right', | |
73 | openWith: '[right]', | |
74 | closeWith: '[/right]' | |
75 | }, | |
76 | { | |
77 | name: 'Preformed text', | |
78 | className: 'pre', | |
79 | openWith: '[pre]', | |
80 | closeWith: '[/pre]' | |
81 | }, | |
82 | { | |
83 | separator: ' ' | |
84 | }, | |
85 | { | |
86 | name: 'Size', | |
87 | key: 'S', | |
88 | className: 'fonts', | |
89 | openWith: '[size=[![' + message('size') + ']!]]', | |
90 | closeWith: '[/size]', | |
91 | dropMenu: [ | |
92 | { | |
93 | name: 'Size 1', | |
94 | openWith: '[size=1]', | |
95 | closeWith: '[/size]' | |
96 | }, | |
97 | { | |
98 | name: 'Size 2', | |
99 | openWith: '[size=2]', | |
100 | closeWith: '[/size]' | |
101 | }, | |
102 | { | |
103 | name: 'Size 3', | |
104 | openWith: '[size=3]', | |
105 | closeWith: '[/size]' | |
106 | }, | |
107 | { | |
108 | name: 'Size 4', | |
109 | openWith: '[size=4]', | |
110 | closeWith: '[/size]' | |
111 | }, | |
112 | { | |
113 | name: 'Size 5', | |
114 | openWith: '[size=5]', | |
115 | closeWith: '[/size]' | |
116 | }, | |
117 | { | |
118 | name: 'Size 6', | |
119 | openWith: '[size=6]', | |
120 | closeWith: '[/size]' | |
121 | }, | |
122 | { | |
123 | name: 'Size 7', | |
124 | openWith: '[size=7]', | |
125 | closeWith: '[/size]' | |
126 | } | |
127 | ] | |
128 | }, | |
129 | { | |
130 | name: 'Colors', | |
131 | key: 'K', | |
132 | className: 'colors', | |
133 | openWith: '[color=[![Color]!]]', | |
134 | closeWith: '[/color]', | |
135 | dropMenu: [ | |
136 | { | |
137 | openWith: '[color=#FFFFFF]', | |
138 | closeWith: '[/color]', | |
139 | className: "col1-1" | |
140 | }, | |
141 | { | |
142 | openWith: '[color=#CCCCCC]', | |
143 | closeWith: '[/color]', | |
144 | className: "col1-2" | |
145 | }, | |
146 | { | |
147 | openWith: '[color=#999999]', | |
148 | closeWith: '[/color]', | |
149 | className: "col1-3" | |
150 | }, | |
151 | { | |
152 | openWith: '[color=#666666]', | |
153 | closeWith: '[/color]', | |
154 | className: "col1-4" | |
155 | }, | |
156 | { | |
157 | openWith: '[color=#333333]', | |
158 | closeWith: '[/color]', | |
159 | className: "col1-5" | |
160 | }, | |
161 | { | |
162 | openWith: '[color=#000000]', | |
163 | closeWith: '[/color]', | |
164 | className: "col1-6" | |
165 | }, | |
166 | { | |
167 | openWith: '[color=#FF3333]', | |
168 | closeWith: '[/color]', | |
169 | className: "col2-1" | |
170 | }, | |
171 | { | |
172 | openWith: '[color=#FF0000]', | |
173 | closeWith: '[/color]', | |
174 | className: "col2-2" | |
175 | }, | |
176 | { | |
177 | openWith: '[color=#CC0000]', | |
178 | closeWith: '[/color]', | |
179 | className: "col2-3" | |
180 | }, | |
181 | { | |
182 | openWith: '[color=#990000]', | |
183 | closeWith: '[/color]', | |
184 | className: "col2-4" | |
185 | }, | |
186 | { | |
187 | openWith: '[color=#660000]', | |
188 | closeWith: '[/color]', | |
189 | className: "col2-5" | |
190 | }, | |
191 | { | |
192 | openWith: '[color=#330000]', | |
193 | closeWith: '[/color]', | |
194 | className: "col2-6" | |
195 | }, | |
196 | { | |
197 | openWith: '[color=#FFFF99]', | |
198 | closeWith: '[/color]', | |
199 | className: "col3-1" | |
200 | }, | |
201 | { | |
202 | openWith: '[color=#FFFF66]', | |
203 | closeWith: '[/color]', | |
204 | className: "col3-2" | |
205 | }, | |
206 | { | |
207 | openWith: '[color=#FFCC33]', | |
208 | closeWith: '[/color]', | |
209 | className: "col3-3" | |
210 | }, | |
211 | { | |
212 | openWith: '[color=#CC9933]', | |
213 | closeWith: '[/color]', | |
214 | className: "col3-4" | |
215 | }, | |
216 | { | |
217 | openWith: '[color=#996633]', | |
218 | closeWith: '[/color]', | |
219 | className: "col3-5" | |
220 | }, | |
221 | { | |
222 | openWith: '[color=#663333]', | |
223 | closeWith: '[/color]', | |
224 | className: "col3-6" | |
225 | }, | |
226 | { | |
227 | openWith: '[color=#66FF66]', | |
228 | closeWith: '[/color]', | |
229 | className: "col4-1" | |
230 | }, | |
231 | { | |
232 | openWith: '[color=#00FF00]', | |
233 | closeWith: '[/color]', | |
234 | className: "col4-2" | |
235 | }, | |
236 | { | |
237 | openWith: '[color=#00CC00]', | |
238 | closeWith: '[/color]', | |
239 | className: "col4-3" | |
240 | }, | |
241 | { | |
242 | openWith: '[color=#009900]', | |
243 | closeWith: '[/color]', | |
244 | className: "col4-4" | |
245 | }, | |
246 | { | |
247 | openWith: '[color=#006600]', | |
248 | closeWith: '[/color]', | |
249 | className: "col4-5" | |
250 | }, | |
251 | { | |
252 | openWith: '[color=#003300]', | |
253 | closeWith: '[/color]', | |
254 | className: "col4-6" | |
255 | }, | |
256 | { | |
257 | openWith: '[color=#6666FF]', | |
258 | closeWith: '[/color]', | |
259 | className: "col5-1" | |
260 | }, | |
261 | { | |
262 | openWith: '[color=#0000FF]', | |
263 | closeWith: '[/color]', | |
264 | className: "col5-2" | |
265 | }, | |
266 | { | |
267 | openWith: '[color=#0000CC]', | |
268 | closeWith: '[/color]', | |
269 | className: "col5-3" | |
270 | }, | |
271 | { | |
272 | openWith: '[color=#000099]', | |
273 | closeWith: '[/color]', | |
274 | className: "col5-4" | |
275 | }, | |
276 | { | |
277 | openWith: '[color=#000066]', | |
278 | closeWith: '[/color]', | |
279 | className: "col5-5" | |
280 | }, | |
281 | { | |
282 | openWith: '[color=#000033]', | |
283 | closeWith: '[/color]', | |
284 | className: "col5-6" | |
285 | }, | |
286 | { | |
287 | openWith: '[color=#FF66FF]', | |
288 | closeWith: '[/color]', | |
289 | className: "col6-1" | |
290 | }, | |
291 | { | |
292 | openWith: '[color=#FF33FF]', | |
293 | closeWith: '[/color]', | |
294 | className: "col6-2" | |
295 | }, | |
296 | { | |
297 | openWith: '[color=#CC33CC]', | |
298 | closeWith: '[/color]', | |
299 | className: "col6-3" | |
300 | }, | |
301 | { | |
302 | openWith: '[color=#993399]', | |
303 | closeWith: '[/color]', | |
304 | className: "col6-4" | |
305 | }, | |
306 | { | |
307 | openWith: '[color=#663366]', | |
308 | closeWith: '[/color]', | |
309 | className: "col6-5" | |
310 | }, | |
311 | { | |
312 | openWith: '[color=#330033]', | |
313 | closeWith: '[/color]', | |
314 | className: "col6-6" | |
315 | } | |
316 | ] | |
317 | }, | |
318 | { | |
319 | name: 'List item', | |
320 | className: 'list', | |
321 | openWith: '[*] ', | |
322 | multilineSupport: true | |
323 | }, | |
324 | { | |
325 | name: 'Smiles', | |
326 | className: 'smiles', | |
327 | openWith: function (h) { | |
328 | h.textarea.id = h.textarea.id || h.textarea.name; | |
329 | BBsmiles(h.textarea.id) | |
330 | }, | |
331 | closeWith: '', | |
332 | dropMenu: [ | |
333 | { | |
334 | name: 'smile', | |
335 | openWith: ':)' | |
336 | }, | |
337 | { | |
338 | name: 'cry', | |
339 | openWith: ":'-(" | |
340 | }, | |
341 | { | |
342 | name: 'sad', | |
343 | openWith: ':(' | |
344 | }, | |
345 | { | |
346 | name: 'grin', | |
347 | openWith: ':D' | |
348 | }, | |
349 | { | |
350 | name: 'confused', | |
351 | openWith: ':-/' | |
352 | }, | |
353 | { | |
354 | name: 'w00t', | |
355 | openWith: ':w00t:' | |
356 | }, | |
357 | { | |
358 | name: 'noexpression', | |
359 | openWith: ":|" | |
360 | }, | |
361 | { | |
362 | name: 'acute', | |
363 | openWith: ':acute:' | |
364 | }, | |
365 | { | |
366 | name: 'annoyed', | |
367 | openWith: ':annoyed:' | |
368 | }, | |
369 | { | |
370 | name: 'look', | |
371 | openWith: ':look:' | |
372 | }, | |
373 | { | |
374 | name: 'airkiss', | |
375 | openWith: ':airkiss:' | |
376 | }, | |
377 | { | |
378 | name: 'alien', | |
379 | openWith: ":alien:" | |
380 | }, | |
381 | { | |
382 | name: 'angel', | |
383 | openWith: ':angel:' | |
384 | }, | |
385 | { | |
386 | name: 'beee', | |
387 | openWith: ':beee:' | |
388 | }, | |
389 | { | |
390 | name: 'ras', | |
391 | openWith: ':ras:' | |
392 | }, | |
393 | { | |
394 | name: 'blink', | |
395 | openWith: ':blink:' | |
396 | }, | |
397 | { | |
398 | name: 'blush', | |
399 | openWith: ":blush:" | |
400 | }, | |
401 | { | |
402 | name: 'boxing', | |
403 | openWith: ':boxing:' | |
404 | }, | |
405 | { | |
406 | name: 'bye', | |
407 | openWith: ':bye:' | |
408 | }, | |
409 | { | |
410 | name: 'down', | |
411 | openWith: ':down:' | |
412 | }, | |
413 | { | |
414 | name: 'fie', | |
415 | openWith: ':fie:' | |
416 | }, | |
417 | { | |
418 | name: 'fist', | |
419 | openWith: ":fist:" | |
420 | }, | |
421 | { | |
422 | name: 'fun', | |
423 | openWith: ':fun:' | |
424 | }, | |
425 | { | |
426 | name: 'geek', | |
427 | openWith: ':geek:' | |
428 | }, | |
429 | { | |
430 | name: 'giveheart2', | |
431 | openWith: ':giveheart2:' | |
432 | }, | |
433 | { | |
434 | name: 'heartbeat', | |
435 | openWith: ':heartbeat:' | |
436 | }, | |
437 | { | |
438 | name: 'hmm', | |
439 | openWith: ":hmm:" | |
440 | }, | |
441 | { | |
442 | name: 'hmmm', | |
443 | openWith: ':hmmm:' | |
444 | }, | |
445 | { | |
446 | name: 'huh', | |
447 | openWith: ':huh:' | |
448 | }, | |
449 | { | |
450 | name: 'ike', | |
451 | openWith: ':ike:' | |
452 | } | |
453 | ] | |
454 | }, | |
455 | { | |
456 | separator: ' ' | |
457 | }, | |
458 | { | |
459 | name: 'Picture', | |
460 | replaceWith: function (h) { | |
461 | makeStaticMdPopup(h.textarea); | |
462 | return ''; | |
463 | }, | |
464 | className: "picture", dropMenu: [ | |
465 | { | |
466 | name: 'Upload', | |
467 | replaceWith: function (h) { | |
468 | makeStaticMdPopup(h.textarea); | |
469 | return ''; | |
470 | }, | |
471 | className: "picture-upload" | |
472 | }, | |
473 | { | |
474 | name: 'Url', | |
475 | key: 'P', | |
476 | replaceWith: '[img][![Url]!][/img]', | |
477 | className: "picture-url" | |
478 | } | |
479 | ]}, | |
480 | { | |
481 | name: 'Iurl', | |
482 | className: 'iurl', | |
483 | openWith: '[iurl=[![Url]!]]{}', | |
484 | closeWith: '[/iurl]', | |
485 | placeHolder: 'TEXT' | |
486 | }, | |
487 | { | |
488 | name: 'Link', | |
489 | key: 'L', | |
490 | className: 'link', | |
491 | openWith: '[url=[![Url]!]]', | |
492 | closeWith: '[/url]', | |
493 | placeHolder: message('link') | |
494 | }, | |
495 | { | |
496 | name: 'Anchor', | |
497 | className: 'anchor', | |
498 | openWith: '[anchor][![' + message('anchor') + ':]!][/anchor]' | |
499 | }, | |
500 | { | |
501 | name: 'Anchor Link', | |
502 | className: 'anchor_lnk', | |
503 | openWith: '[url=#[![' + message('anchor') + ':]!]]', | |
504 | closeWith: '[/url]', | |
505 | placeHolder: 'Numele linkului' | |
506 | }, | |
507 | { | |
508 | name: 'Youtube', | |
509 | className: 'youtube', | |
510 | openWith: '[yt][![Youtube link:]!]', | |
511 | closeWith: '[/yt]' | |
512 | }, | |
513 | { | |
514 | separator: ' ' | |
515 | }, | |
516 | { | |
517 | name: 'Quotes', | |
518 | openWith: '[quote]', | |
519 | className: 'quote', | |
520 | closeWith: '[/quote]' | |
521 | }, | |
522 | { | |
523 | name: 'Code', | |
524 | openWith: '[code]', | |
525 | className: 'code', | |
526 | closeWith: '[/code]' | |
527 | }, | |
528 | { | |
529 | name: 'Spoiler', | |
530 | openWith: '[spoiler=[![Spoiler name:]!]]', | |
531 | className: 'spoiler', | |
532 | closeWith: '[/spoiler]', | |
533 | placeHolder: message('spoiler') | |
534 | }, | |
535 | { | |
536 | separator: ' ' | |
537 | }, | |
538 | { | |
539 | name: 'Clean', | |
540 | className: "clean", | |
541 | replaceWith: function (markitup) { | |
542 | return markitup.selection.replace(/\[(.*?)\]/g, "") | |
543 | } | |
544 | }, | |
545 | { | |
546 | name: 'Undo', | |
547 | key: 'Z', | |
548 | className: "undo", | |
549 | replaceWith: function (h) { | |
550 | h.textarea.value = wLogBack(h.textarea.value) | |
551 | } | |
552 | }, | |
553 | { | |
554 | name: 'Redo', | |
555 | key: 'Y', | |
556 | className: "redo", | |
557 | replaceWith: function (h) { | |
558 | h.textarea.value = wLogNext(h.textarea.value) | |
559 | } | |
560 | }, | |
561 | { | |
562 | name: 'Preview', | |
563 | className: "preview" | |
564 | } | |
565 | ] | |
566 | }; | |
567 | ||
568 | $(allTextAreas).livequery(function () { | |
569 | var $this = $(this); | |
570 | ||
571 | // Distruge markItUp initiliazat anterior | |
572 | if ($this.closest('.markItUp').length) { | |
573 | $this.removeClass('markItUpEditor'); | |
574 | $this.closest('.markItUp').replaceWith($this); | |
575 | } | |
576 | ||
577 | $this.not('.markItUpEditor').markItUp(tmdBbCodes).show(1, function(){ | |
578 | markItUpStart(); | |
579 | }); | |
580 | }); | |
581 | } | |
582 | ||
583 | function myPreview(v, e) { | |
584 | var $t = $('textarea.markItUpEditor'); | |
585 | if ($('#prv').length > 0 || $t.val().replace(/\[(.*?)\]/g, "").length < 1) return; | |
586 | var $dInfo, $ldngDiv; | |
587 | var t = $t.map(function () { | |
588 | return { | |
589 | w: $(this).width(), | |
590 | h: $(this).height(), | |
591 | c: $(this).offset() | |
592 | } | |
593 | }).get(0); | |
594 | $(v).hide(); | |
595 | $ldngDiv = $('<img/>', { | |
596 | 'src': 'pic/loading2.gif' | |
597 | }).css({ | |
598 | 'margin-top': '3px' | |
599 | }).insertAfter($(v)); | |
600 | var val = $t.val(); | |
601 | $.post("tags.php", { | |
602 | 'test': val | |
603 | }).then(function (data) { | |
604 | var html = data.replace(/\n/g, '').replace(/.*<p><hr>/g, '').replace(new RegExp("<hr></p>.*", "g"), ''); | |
605 | html = '<td style="border: 0px; width: ' + t.w + 'px;">' + html + '</td>'; | |
606 | $prv = $('<div>', { | |
607 | 'id': 'prv' | |
608 | }).css({ | |
609 | 'width': t.w, | |
610 | 'height': t.h, | |
611 | 'left': t.c.left, | |
612 | 'top': t.c.top, | |
613 | 'text-align': 'left', | |
614 | 'position': 'absolute', | |
615 | 'z-index': '88', | |
616 | 'background-color': '#ece9d8', | |
617 | 'border': 'solid #A79F72 1px', | |
618 | 'display': 'none', | |
619 | 'padding': '5px', | |
620 | 'overflow-y': 'auto' | |
621 | }).insertBefore($t.parents('div.markItUp')).fadeIn(300).html(html); | |
622 | $ldngDiv.fadeOut(300, function () { | |
623 | $dInfo = $('<div/>').html('<b> ' + message('infopreview') + '</b>').hide(); | |
624 | $pUl = $(this).parents('ul').fadeOut(290).after($dInfo); | |
625 | $dInfo.delay(300).fadeIn(600).delay(5000).fadeOut(300, hideHeader) | |
626 | }); | |
627 | $prv.append('<script>initSpoilers(); initIurl(); </script>'); | |
628 | var hideHeader = function hideHeader() { | |
629 | $ldngDiv.remove(); | |
630 | $dInfo.remove(); | |
631 | $pUl.fadeIn(300) | |
632 | }; | |
633 | var hideAll = function hideAll() { | |
634 | $prv.remove(); | |
635 | hideHeader(); | |
636 | $(v).show() | |
637 | }; | |
638 | var hidePrv = function () { | |
639 | $(document).one("click", function (e) { | |
640 | if ($(e.target).parents('#prv').length > 0) { | |
641 | hidePrv() | |
642 | } else { | |
643 | $prv.fadeOut(300, hideAll) | |
644 | } | |
645 | }); | |
646 | $(document).one("contextmenu", function (e) { | |
647 | $prv.fadeOut(300, hideAll); | |
648 | e.preventDefault() | |
649 | }) | |
650 | }; | |
651 | hidePrv() | |
652 | }) | |
653 | } | |
654 | ||
655 | function BBsmiles(here) { | |
656 | $smilies = $('#smilies'); | |
657 | if ($smilies.length) { | |
658 | $smilies.show(); | |
659 | $(document).one('click', function () { | |
660 | $smilies.hide() | |
661 | }); | |
662 | return | |
663 | } | |
664 | var h = $('textarea.markItUpEditor').height(); | |
665 | $iframe = $('<iframe>', { | |
666 | 'frameborder': '0', | |
667 | 'width': '180', | |
668 | 'height': (h + 11), | |
669 | 'src': './smilies_popup.php?text=&container=bbIframeSmilies&lang=ro' | |
670 | }); | |
671 | $smilies = $('<div>', { | |
672 | 'id': 'smilies', | |
673 | 'style': 'position: absolute; z-index: 10001;top: 22px; right: -12px;' | |
674 | }).insertAfter($('.markItUpHeader')).append($iframe); | |
675 | $iframe.load(function () { | |
676 | $iframe.contents().find("div, br, table tr:eq(0)").remove(); | |
677 | $iframe.contents().find("a").each(function () { | |
678 | $img = $('img', this); | |
679 | $img.attr('width', ($img.attr('width') > 40) ? 40 : $img.attr('width')); | |
680 | $img.attr('height', ($img.attr('height') > 40) ? 40 : $img.attr('height')) | |
681 | }).click(function (e) { | |
682 | $.markItUp({ | |
683 | replaceWith: $(this).attr('href').replace(/.+IT\(\"/, '').replace(/\"\);/, '') | |
684 | }); | |
685 | e.preventDefault(); | |
686 | $smilies.hide() | |
687 | }); | |
688 | $(document).one('click', function () { | |
689 | $smilies.hide() | |
690 | }) | |
691 | }) | |
692 | } | |
693 | ||
694 | function wLogAdd(h) { | |
695 | if (temp[i] != h && h != "") { | |
696 | i = i + 1; | |
697 | p = i; | |
698 | temp[i] = h | |
699 | } | |
700 | } | |
701 | ||
702 | function wLogBack(h) { | |
703 | if (p > 0) { | |
704 | if (p == i) { | |
705 | wLogAdd(h) | |
706 | } | |
707 | p = p - 1; | |
708 | return temp[p] | |
709 | } | |
710 | if (p == 0) return temp[p]; | |
711 | return '' | |
712 | } | |
713 | ||
714 | function wLogNext(h) { | |
715 | if (p + 1 <= i) { | |
716 | p = p + 1; | |
717 | return temp[p] | |
718 | } | |
719 | return h | |
720 | } | |
721 | ||
722 | function markItUpStart() { | |
723 | $(".markItUpEditor").keypress(function (e) { | |
724 | wLogAdd(this.value) | |
725 | }).keydown(function (e) { | |
726 | if (e.keyCode == 8 || e.keyCode == 46) { | |
727 | wLogAdd(this.value) | |
728 | } | |
729 | if ((e.ctrlKey) && (e.keyCode == 86)) { | |
730 | wLogAdd(this.value) | |
731 | } | |
732 | }); | |
733 | $(".markItUpContainer ul li.preview a").click(function (e) { | |
734 | myPreview($(this), e) | |
735 | }); | |
736 | $(".markItUpContainer ul li.smiles ul li a").each(function () { | |
737 | var sName = $(this).attr('title'); | |
738 | $(this).attr("style", 'background:url(' + smiliesURL + sName + '.gif) no-repeat center center !important; padding: 0px;').text('').attr('title', '') | |
739 | }); | |
740 | $('.markItUpContainer li.font ul li a').each(function (i, v) { | |
741 | $(v).css('font-family', $(v).attr('title')) | |
742 | }) | |
743 | } | |
744 | ||
745 | init(); | |
746 | }; | |
747 | ||
748 | $.tmdBBCodes(); | |
749 | } | |
750 | ||
751 | /** | |
752 | * Static.md | |
753 | */ | |
754 | { | |
755 | // Include required scripts | |
756 | if ($.draggable === undefined || window.StaticMdPopup === undefined) { | |
757 | (function(){ | |
758 | var head = document.getElementsByTagName('head')[0]; | |
759 | var scripts = [ | |
760 | '<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>', // acum pe tmd e 1.8.0 si nu puteam sa o fac sa mearga pentru ca dadea erori la drag | |
761 | '<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js"></script>', | |
762 | - | '<script type="text/javascript" src="http://popup.minecraft.md/popup.min.js"></script>' |
762 | + | '<script type="text/javascript" src="https://raw.github.com/static-md/popup/master/popup.min.js"></script>' |
763 | ]; | |
764 | $(head).append(scripts.join('')); | |
765 | })(); | |
766 | } | |
767 | ||
768 | // Add css | |
769 | if (!$('#static-md-css').length) { | |
770 | $(document.body).append("<style type=\"text/css\">.container{text-align:center}.static-md-popup{position:fixed;z-index:5000;-webkit-box-shadow:0 0 7px 3px #666;box-shadow:0 0 7px 3px #666}.static-md-popup .handle{padding:20px;background-color:#fff;cursor:move;position:relative}.static-md-popup .handle .handle-cover{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.2)}.static-md-popup .handle .close{display:block;position:absolute;right:2px;top:2px;height:16px;width:16px;background:url('http://static.md/b47afd340c463c6d09e574d7421f21ca.gif') no-repeat 0 0}.static-md-popup .static-md-popup-iframe{height:110px;width:350px} .markItUpButton .picture-upload a, .markItUpButton .picture-url a {background-image: none;}</style>") | |
771 | } | |
772 | ||
773 | // Instantele popup-urilor | |
774 | var staticMdPopups = {}; | |
775 | ||
776 | function makeStaticMdPopup(textareaElement) { | |
777 | $textarea = $(textareaElement); | |
778 | ||
779 | var id = $textarea.attr('id'); | |
780 | if (!id) { // genereaza unul nou daca textarea nu are id | |
781 | id = 'static-md-'+ parseInt((new Date()).getTime()); | |
782 | $textarea.attr('id', id); | |
783 | } | |
784 | ||
785 | var proxyUrl = 'http://torrentsmd.com/popup/proxy/'; // html5 functioneaza fara asta, pentru IE trebuie | |
786 | var defaultTop = 25; | |
787 | var popupHeight = 150; | |
788 | var popupWidth = 390; | |
789 | ||
790 | var getPopupTop = function(){ | |
791 | var topExtra = $textarea.offset().top - $(window).scrollTop() + popupHeight; | |
792 | if (topExtra > 0 && topExtra < $(window).height() && topExtra > popupHeight) { | |
793 | return defaultTop + topExtra - popupHeight; | |
794 | } | |
795 | return defaultTop; | |
796 | }; | |
797 | ||
798 | if (staticMdPopups[id]) { | |
799 | staticMdPopups[id].getPopupElement().css({ | |
800 | top: getPopupTop()+'px', | |
801 | left: parseInt($(window).width() / 2 - popupWidth / 2)+'px' | |
802 | }) | |
803 | } else { | |
804 | staticMdPopups[id] = new StaticMdPopup({ | |
805 | textareaElement: $textarea, | |
806 | proxyUrl: proxyUrl, | |
807 | callbacks: { | |
808 | changePopupHtml: function(html) { | |
809 | var left = parseInt($(window).width() / 2 - popupWidth / 2); | |
810 | ||
811 | html = | |
812 | '<div class="static-md-popup" style="top: '+ defaultTop +'px; left: '+ left +'px;">\ | |
813 | <div class="handle" title="Mișcă popup-ul">\ | |
814 | <a href="#" class="close" title="Închide" onclick="return false;"></a>\ | |
815 | <div class="handle-cover" style="display: none;"></div>\ | |
816 | <div class="static-md-popup-iframe">{iframe}</div>\ | |
817 | </div>\ | |
818 | </div>'; | |
819 | return html; | |
820 | }, | |
821 | openPopup: function(instance) { | |
822 | var el = instance.getPopupElement(); | |
823 | ||
824 | // prepare close button | |
825 | $('.close:first', el).on('click', function(e){ | |
826 | e.preventDefault(); | |
827 | instance.close(); | |
828 | }); | |
829 | // fix top position | |
830 | el.css('top', getPopupTop()+'px'); | |
831 | ||
832 | $(document.body).prepend(el); | |
833 | ||
834 | el.draggable({ | |
835 | start: function(event, ui) { | |
836 | $('.handle-cover', ui.helper).show(); | |
837 | }, | |
838 | stop: function(event, ui) { | |
839 | $('.handle-cover', ui.helper).hide(); | |
840 | } | |
841 | }); | |
842 | }, | |
843 | closePopup: function(instance) { | |
844 | instance.getPopupElement().remove(); | |
845 | try { | |
846 | delete staticMdPopups[id]; | |
847 | } catch (e) {}; | |
848 | staticMdPopups[id] = undefined; | |
849 | }, | |
850 | changeImageLink: function(link) { | |
851 | return '[img]{link}[/img]'.split('{link}').join(link); | |
852 | } | |
853 | } | |
854 | }); | |
855 | staticMdPopups[id].open(); | |
856 | } | |
857 | } | |
858 | } | |
859 | })(jQuery); |