function BBCodeButton(c){if(!c){return}var b=null;var a=this;var d=null;this.canInsert=function(){return b&&b.getTextArea()};this.getCode=function(){return d.name};this.getButtonGroup=function(){return b};this.addButtonGroup=function(e){b=e};this.insertCode=function(e){if(!this.canInsert()){return}var g=b.getTextArea();var f=g.getSelection();g.insertTextRange("["+this.getCode()+"]"+f+"[/"+this.getCode()+"]")};this.setHTMLElement=function(e){d=e;d.onclick=function(f){a.insertCode(this);return false}};this.getHTMLElement=function(e){return d};this.setHTMLElement(c)}function BBCodeLinkButton(d){this.constructor(d);var c="link";var e=new RegExp(/[http|https|ftp|ftps]:\/\/[a-zA-Z0-9-.][a-zA-Z0-9-.]+(S+)?/);var a=new RegExp(/[?|&]id=([0-9]+)/);var b=window.location.hostname+window.location.pathname;this.insertCode=function(g){if(!this.canInsert()){return}var f=this.getButtonGroup();window.setTimeout(function(){var k=f.getTextArea();var j=k.getSelection().trim();var h=(e.test(j))?window.prompt(lang.bbcode_link_url,j):window.prompt(lang.bbcode_link_url,"http://");if(!h||h==""||h=="http://"){return}if(h.indexOf(b)>0&&h.indexOf("mode=page")<0&&h.indexOf("mode=contact")<0&&a.test(h)){var i=a.exec(h);c="msg";h=i[1]}else{c="link"}if(j==""||e.test(j)){j=window.prompt(lang.bbcode_link_text,"")}if(j!=null){if(j!=""){k.insertTextRange("["+c+"="+h+"]"+j+"[/"+c+"]")}else{k.insertTextRange("["+c+"]"+h+"[/"+c+"]")}}},150)}}function BBCodePromtButton(c,a,b){this.constructor(c);b=b||"";this.insertCode=function(f){if(!this.canInsert()){return}var d=this.getButtonGroup();var e=this.getCode();window.setTimeout(function(){var i=d.getTextArea();var h=i.getSelection().trim();if(h==""){var g=window.prompt(a,b);if(g&&g.trim()!=""&&g.trim()!=b){i.insertTextRange("["+e+"]"+g+"[/"+e+"]")}}else{i.insertTextRange("["+e+"]"+h+"[/"+e+"]")}},150)}}function BBCodeColorChooserButton(c){this.constructor(c);var a=["#fff","#ccc","#c0c0c0","#999","#666","#333","#000","#fcc","#f66","#f00","#c00","#900","#600","#300","#fc9","#f96","#f90","#f60","#c60","#930","#630","#ff9","#ff6","#fc6","#fc3","#c93","#963","#633","#ffc","#ff3","#ff0","#fc0","#990","#660","#330","#9f9","#6f9","#3f3","#3c0","#090","#060","#030","#9ff","#3ff","#6cc","#0cc","#399","#366","#033","#cff","#6ff","#3cf","#36f","#33f","#009","#006","#ccf","#99f","#66c","#63f","#60c","#339","#309","#fcf","#f9f","#c6c","#c3c","#939","#636","#303"];var d=document.createElement("table");var b=document.createElementWithAttributes("tbody",{},d);var h=this;var j=document.createElementWithAttributes("tr",{},b);for(var e=0;e0){r={code:"",title:lang.more_smilies_title,label:lang.more_smilies_label,classes:"more-smilies",isSmilie:true,childs:q};g(r,f)}}};var i=function(){if(!document.getElementById("bbcode-bar")){return}var f=document.getElementById("bbcode-bar");if(document.getElementById("bbcode-instructions")){var p=document.getElementById("bbcode-instructions").firstChild;var r=null;while(p!=null){if(p.nodeName&&p.nodeName.toLowerCase()=="dt"){if(r){g(r,f)}r={code:p.id,label:p.title,title:p.firstChild.nodeValue,classes:p.className,childs:[]}}else{if(r&&p.nodeName&&p.nodeName.toLowerCase()=="dd"){var q={attribute:p.id,label:p.title};r.childs.push(q)}}p=p.nextSibling}if(r){g(r,f)}}};var k=function(q,p){p=p||false;if(q instanceof BBCodeButton){q.addButtonGroup(n);if(p||!b){j[q.getCode()]=q}else{if(j[q.getCode()]){var s=j[q.getCode()].getHTMLElement();var f=q.getHTMLElement();q.setHTMLElement(s);f.parentNode.removeChild(f);j[q.getCode()]=q}else{if(!p&&b){var r=q.getHTMLElement();r.parentNode.removeChild(r)}}}}};var g=function(s,q){var r={className:s.classes,name:s.code,type:"button",title:s.title,tabIndex:-1};var t=s.code.trim()==""?"bbcodebutton":"bbcodebutton-"+s.code;if(s.isSmilie){r.isSmilie=s.isSmilie}else{r.id=t}var f=document.createElementWithAttributes("button",r,q);var p=document.createElement("span");if(typeof s.label=="string"){p.appendChild(document.createTextNode(s.label))}else{p.appendChild(s.label)}f.appendChild(p);k(l(f,s.childs))};var l=function(p,q){var f=null;var r=p&&p.name?p.name.toLowerCase():"";switch(r){case"link":f=new BBCodeLinkButton(p);break;case"img":if(q&&q.length>1){f=new BBCodeOptionButton(p,q,lang.bbcode_image_url,"http://")}else{f=new BBCodePromtButton(p,lang.bbcode_image_url,"http://")}break;case"color":f=new BBCodeColorChooserButton(p);break;case"list":f=new BBCodeListButton(p);break;case"flash":f=new BBCodePopUpButton(p,"index.php?mode=insert_flash",settings.flash_popup_width,settings.flash_popup_height);break;case"upload":f=new BBCodePopUpButton(p,"index.php?mode=upload_image",settings.upload_popup_width,settings.upload_popup_height);break;case"tex":f=new BBCodePromtButton(p,lang.bbcode_tex_code);break;default:if(p.isSmilie&&q&&q.length>0){f=new BBCodeSmilieButton(p,q)}else{if(p.isSmilie){f=new BBCodeSingleSmilieButton(p)}else{if(q&&q.length>1){f=new BBCodeOptionButton(p,q)}else{f=new BBCodeButton(p)}}}break}return f};var a=function(){var f=document.createElementWithAttributes("div",{id:"bbcode-options"},document.body);var p=document.createElementWithAttributes("div",{},f);f.classList.add("js-display-none");var r=null;f.onmouseover=function(s){if(r){window.clearTimeout(r)}};f.onmouseout=function(u){u=u||window.event;var s=u.relatedTarget||u.toElement||false;var t=this;if(!this.contains(s)){r=window.setTimeout(function(){t.enableOptionList(false)},125)}return false};f.setOptionList=function(s){if(!p.firstChild){p.appendChild(s)}else{p.replaceChild(s,p.firstChild)}};f.enableOptionList=function(s,t){if(t){this.style.left=t.left+"px";this.style.top=t.top+"px"}if(s){this.classList.remove("js-display-none")}else{this.classList.add("js-display-none")}};var q=window.document.onmousedown;window.document.onkeypress=function(t){var s=document.getKeyCode(t);if(s==27){n.enableOptionList(false)}if(typeof q=="function"){q(t)}};return f};var e=function(p){p=p||false;b=false;var r=p?"smiley-bar":"bbcode-bar";if(!document.getElementById(r)){return}var q=document.getElementById(r).getElementsByTagName("button");if(q&&q.length>0){for(var f=0;f