');
+ }
+ });
+}
+
+function initSpoilers(context)
+{
+ $('div.sp-body', context).each(function(){
+ var $sp_body = $(this);
+ var name = $.trim(this.title) || ''+bbl['spoiler_head']+'';
+ this.title = '';
+ var $sp_head = $(''+ name +'
');
+ $sp_head.insertBefore($sp_body).click(function(e){
+ if (!$sp_body.hasClass('inited')) {
+ initPostImages($sp_body);
+ var $sp_fold_btn = $('['+bbl['spoiler_close']+']
').click(function(){
+ $.scrollTo($sp_head, { duration:200, axis:'y', offset:-200 });
+ $sp_head.click().animate({opacity: 0.1}, 500).animate({opacity: 1}, 700);
+ });
+ $sp_body.prepend('').append('').append($sp_fold_btn).addClass('inited');
+ }
+ if (e.shiftKey) {
+ e.stopPropagation();
+ e.shiftKey = false;
+ var fold = $(this).hasClass('unfolded');
+ $('div.sp-head', $($sp_body.parents('td')[0])).filter( function(){ return $(this).hasClass('unfolded') ? fold : !fold } ).click();
+ }
+ else {
+ $(this).toggleClass('unfolded');
+ $sp_body.slideToggle('fast');
+ }
+ });
+ });
+}
+
+function initExternalLinks(context)
+{
+ var context = context || 'body';
+ if (ExternalLinks_InNewWindow) {
+ $("a.postLink:not([href*='"+ window.location.hostname +"/'])", context).attr({ target: '_blank' });
+ }
+}
+
+function fixPostImage ($img)
+{
+ var banned_image_hosts = /imagebanana|hidebehind/i;
+ var src = $img[0].src;
+ if (src.match(banned_image_hosts)) {
+ $img.wrap('').attr({ src: ""+bb_url+"images/tr_oops.gif", title: ""+bbl['scr_rules']+"" });
+ }
+ return $img;
+}
+
+function initMedia(context)
+{
+ var apostLink = $('a.postLink', context);
+ for (var i = 0; i < apostLink.length; i++) {
+ var link = apostLink[i];
+ if (typeof link.href != 'string') {
+ continue;
+ }
+ if (/^http(?:s|):\/\/www.youtube.com\/watch\?(.*)?(&?v=([a-z0-9\-_]+))(.*)?|http:\/\/youtu.be\/.+/i.test(link.href)) {
+ var a = document.createElement('span');
+ a.className = 'YTLink';
+ a.innerHTML = '►';
+ window.addEvent(a, 'click', function (e) {
+ var vhref = e.target.nextSibling.href.replace(/^http(?:s|):\/\/www.youtube.com\/watch\?(.*)?(&?v=([a-z0-9\-_]+))(.*)?|http:\/\/youtu.be\//ig, "http://www.youtube.com/embed/$3");
+ var text = e.target.nextSibling.innerText != "" ? e.target.nextSibling.innerText : e.target.nextSibling.href;
+ $('#Panel_youtube').remove();
+ ypanel('youtube', {
+ title: '' + text + '',
+ resizing: 0,
+ width: 862,
+ height: 550,
+ content: ''
+ });
+ });
+ link.parentNode.insertBefore(a, link);
+ a.appendChild(link);
+ }
+ }
+}
+
+$(document).ready(function(){
+ $('div.post_wrap, div.signature').each(function(){ initPostBBCode( $(this) ) });
+});
// One character letters
var t_table1 = "ABVGDEZIJKLMNOPRSTUFXHCYWabvgdezijklmnoprstufxhcyw'#";
@@ -343,91 +500,90 @@ var tagArray = [
function translit2win (str)
{
- var len = str.length;
- var new_str = "";
+ var len = str.length;
+ var new_str = "";
- for (i = 0; i < len; i++)
- {
- /* non-translatable text must be in ^ */
- if(str.substr(i).indexOf("^")==0){
- end_len=str.substr(i+1).indexOf("^")+2;
- if (end_len>1){
- new_str+=str.substr(i,end_len);
- i += end_len - 1;
- continue;
- }
- }
+ for (i = 0; i < len; i++)
+ {
+ /* non-translatable text must be in ^ */
+ if(str.substr(i).indexOf("^")==0){
+ end_len=str.substr(i+1).indexOf("^")+2;
+ if (end_len>1){
+ new_str+=str.substr(i,end_len);
+ i += end_len - 1;
+ continue;
+ }
+ }
- /* Skipping emoticons */
- if(str.substr(i).indexOf(":")==0){
- iEnd = str.substr(i+1).indexOf(":")+2;
- if (iEnd > 1 && str.substr(i,iEnd).match("^:[a-zA-Z0-9]+:$")){
- new_str += str.substr(i,iEnd);
- i += iEnd - 1;
- continue;
- }
- }
+ /* Skipping emoticons */
+ if(str.substr(i).indexOf(":")==0){
+ iEnd = str.substr(i+1).indexOf(":")+2;
+ if (iEnd > 1 && str.substr(i,iEnd).match("^:[a-zA-Z0-9]+:$")){
+ new_str += str.substr(i,iEnd);
+ i += iEnd - 1;
+ continue;
+ }
+ }
- /* Skipping http|news|ftp:/.../ links */
- rExp = new RegExp("^((http|https|news|ftp|ed2k):\\/\\/[\\/a-zA-Z0-9%_?.:;|\(\)+=@-]+)","i");
- if (newArr = str.substr(i).match(rExp)){
- new_str += newArr[1];
- i += newArr[1].length - 1;
- continue;
- }
+ /* Skipping http|news|ftp:/.../ links */
+ rExp = new RegExp("^((http|https|news|ftp|ed2k):\\/\\/[\\/a-zA-Z0-9%_?.:;|\(\)+=@-]+)","i");
+ if (newArr = str.substr(i).match(rExp)){
+ new_str += newArr[1];
+ i += newArr[1].length - 1;
+ continue;
+ }
- /* Skipping FONT, COLOR, SIZE tags */
- rExp = new RegExp("^(\\[\\/?(b|i|u|s|font(=[a-z0-9]+)?|size(=[0-9]+)?|color(=#?[a-z0-9]+)?)\\])","i");
- if (newArr = str.substr(i).match(rExp)){
- new_str += newArr[1];
- i += newArr[1].length - 1;
- continue;
- }
+ /* Skipping FONT, COLOR, SIZE tags */
+ rExp = new RegExp("^(\\[\\/?(b|i|u|s|font(=[a-z0-9]+)?|size(=[0-9]+)?|color(=#?[a-z0-9]+)?)\\])","i");
+ if (newArr = str.substr(i).match(rExp)){
+ new_str += newArr[1];
+ i += newArr[1].length - 1;
+ continue;
+ }
- /* Skipping [QUOTE]..[/QUOTE], [IMG]..[/IMG], [CODE]..[/CODE], [SQL]..[/SQL], [EMAIL]..[/EMAIL] tags */
- bSkip = false;
- for(j = 0; j < tagArray.length; j += 2){
- rExp = new RegExp("^(\\["+tagArray[j]+tagArray[j+1]+"\\])","i");
- if (newArr = str.substr(i).match(rExp)){
- rExp = new RegExp("\\[\\/" + tagArray[j] + "\\]", "i");
- if (iEnd = str.substr(i + newArr[1].length + 2).search(rExp)){
- end_len = iEnd + newArr[1].length + tagArray[j].length + 4;
- new_str += str.substr(i,end_len);
- i += end_len - 1;
- bSkip = true;
- }
- }
- if(bSkip)break;
- }
- if(bSkip)continue;
+ /* Skipping [QUOTE]..[/QUOTE], [IMG]..[/IMG], [CODE]..[/CODE], [SQL]..[/SQL], [EMAIL]..[/EMAIL] tags */
+ bSkip = false;
+ for(j = 0; j < tagArray.length; j += 2){
+ rExp = new RegExp("^(\\["+tagArray[j]+tagArray[j+1]+"\\])","i");
+ if (newArr = str.substr(i).match(rExp)){
+ rExp = new RegExp("\\[\\/" + tagArray[j] + "\\]", "i");
+ if (iEnd = str.substr(i + newArr[1].length + 2).search(rExp)){
+ end_len = iEnd + newArr[1].length + tagArray[j].length + 4;
+ new_str += str.substr(i,end_len);
+ i += end_len - 1;
+ bSkip = true;
+ }
+ }
+ if(bSkip)break;
+ }
+ if(bSkip)continue;
- // Check for 2-character letters
- is2char=false;
- if (i < len-1) {
- for(j = 0; j < w_table2.length; j++)
- {
- if(str.substr(i, 2) == t_table2.substr(j*2,2)) {
- new_str+= w_table2.substr(j, 1);
- i++;
- is2char=true;
- break;
- }
- }
- }
+ // Check for 2-character letters
+ is2char=false;
+ if (i < len-1) {
+ for(j = 0; j < w_table2.length; j++)
+ {
+ if(str.substr(i, 2) == t_table2.substr(j*2,2)) {
+ new_str+= w_table2.substr(j, 1);
+ i++;
+ is2char=true;
+ break;
+ }
+ }
+ }
- if(!is2char) {
- // Convert one-character letter
- var c = str.substr(i, 1);
- var pos = t_table1.indexOf(c);
- if (pos < 0)
- new_str+= c;
- else
- new_str+= w_table1.substr(pos, 1);
- }
- }
+ if(!is2char) {
+ // Convert one-character letter
+ var c = str.substr(i, 1);
+ var pos = t_table1.indexOf(c);
+ if (pos < 0)
+ new_str+= c;
+ else
+ new_str+= w_table1.substr(pos, 1);
+ }
+ }
-// document.REPLIER.Post.focus();
- return new_str;
+ return new_str;
}
function transliterate (msg, e)
@@ -439,5 +595,4 @@ function transliterate (msg, e)
}
if (e) e.disabled = false;
}, 1);
-}
-// Translit END
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/upload/templates/default/page_header.tpl b/upload/templates/default/page_header.tpl
index 2e1142425..f1bc37c39 100644
--- a/upload/templates/default/page_header.tpl
+++ b/upload/templates/default/page_header.tpl
@@ -21,6 +21,9 @@
window.encURL = encodeURIComponent;
+