Вход Регистрация
Файл: touchSpace/js/form_toolbar.js
Строк: 164
<?php
function FormToolbar(t,e){this.opts=extend({validator:!0,disable_all:!1},e),t&&(t.toolbar=this,this.form=t),this.elements={},this.opts.validator&&this.has_validator&&this._initValidator()}function Toolbar(id,opts){var _opts,new_opts;this.id=id,this.quote_text=null,this.el=ge("#"+id),this.el.toolbar=this,this.opts=extend({maxlength:0,min_rows:2,max_rows:4,required:!0,toolbar:!0,bgcolor:!0,show_length:!0,resize_on_focus:!1,stickers:!ge("#stickers_off"),smile_btn:null},opts),_opts=ge("#"+id+"_toolbar_opts"),_opts&&(new_opts=eval("("+_opts.getAttribute("data-tb")+")"),extend(this.opts,new_opts)),this.view={wrap:this.opts.wrap_block||ge("#"+id+"_wrap"),error:this.opts.error_block||ge("#"+id+"_error"),toolbar:this.opts.toolbar_block||ge("#"+id+"_toolbar")},this.el&&(("operamini"==Device.browser||"desktop"!=Device.type&&"touch"!=Device.type)&&(this.opts.resize_on_focus=!1),"operamini"==Device.browser&&(this.opts.show_length=!1),this._render())}extend(FormToolbar,{stickers:{},loadStickers:function(t){this.stickers=t},setClipboard:function(t){this.clipboard=t}}),extend(FormToolbar.prototype,{smiles:!1,add:function(t,e){return this.elements[t]=new Toolbar(t,e),this}}),extend(Toolbar,{toolbar_items:[{icon:"bb/bold.gif",tag:"b",title:"Жирный шрифт"},{icon:"bb/italics.gif",tag:"i",title:"Наклонный шрифт"},{icon:"bb/underline.gif",tag:"u",title:"Подчеркнутый шрифт"},{icon:"bb/strike.gif",tag:"s",title:"Зачеркнутый шрифт"},{icon:"toolbar_smile.png",tag:"smile",title:"Смайлы"},{icon:"quote.png",tag:"quote",title:"Цитата"},{icon:"bb/link.gif",tag:"url",title:"Вставить ссылку"},{icon:"bb/color.gif",tag:"color",title:"Цвет шрифта"},{icon:"bb/color_bg.gif",tag:"fon",title:"Цвет фона"}]}),extend(Toolbar.prototype,{smiles:!1,_render:function(){var t,e,i,o,s=this;if(this.view.toolbar){if(this.view.toolbar.className+=" toolbar",this.opts.toolbar){t=Toolbar.toolbar_items;for(e in t)i=t[e],(this.opts.bgcolor||"fon"!=i.tag)&&(this.smiles||"smile"!=i.tag)&&(o=ce("a",{href:"#l"+e,tag_id:e,className:"bb",onclick:function(){return s.selectBbcode(this.tag_id)},innerHTML:'<img src="'+ICONS_BASEURL+i.icon+'" alt="'+i.tag+'" title="'+i.title+'" />'}),"color"!=i.tag&&"fon"!=i.tag||!s.has_colors||s._colorTable(e,o),this.view.toolbar.appendChild(o));this._initQuoteText&&this._initQuoteText()}this.opts.show_length&&this.opts.maxlength&&(this.view.toolbar.appendChild(ce("span",{className:"right counterBlock",innerHTML:'<span id="tcounter_'+this.id+'">0</span>/'+this.opts.maxlength})),this.view.length=ge("#tcounter_"+this.id)),this.smiles&&(this.view.toolbar.appendChild(ce("div",{id:"smile_menu_"+this.id,className:"smiles_menu"})),this._initSmiles())}(this.opts.show_length||this.opts.resize_on_focus)&&(this.el.onfocus=function(){s._lengthUpdater(!0),s._emptyResize(s.opts.max_rows)},this.el.onblur=function(){s._lengthUpdater(!1),s._emptyResize(s.opts.min_rows)},this._updateLength(!0))},selectBbcode:function(t){var e,i=this,o=Toolbar.toolbar_items[t];return"smile"==o.tag?i.selectSmiles():"color"==o.tag||"fon"==o.tag?i.has_colors||(e={color:"green",fon:"LightBlue"},i.insert("["+o.tag+"="+e[o.tag]+"]","[/"+o.tag+"]","")):"url"==o.tag?i.replace(function(t){return t||t.length?"[url="+t+"]ссылка[/url]":FormToolbar.clipboard?html_unwrap(FormToolbar.clipboard):"[url=http://"+base_domain()+"]ссылка[/url]"}):i.insert("["+o.tag+"]"+("quote"==o.tag&&this.quote_text?this.quote_text:""),"[/"+o.tag+"]","","url"==o.tag?"ссылка":""),!1},replace:function(t){var e,i,o,s,l=this.el;document.selection?(l.focus(),e=document.selection.createRange(),e.text=t(e.text)):void 0!==l.selectionStart?(i=l.value,o=l.selectionStart,s=l.selectionEnd-l.selectionStart,l.value=i.substr(0,o)+t(i.substr(o,s))+i.substr(o+s)):l.value+=t(""),this._updateLength()},insert:function(t,e,i,o){var s,l,r,n,a=this.el;return document.selection?(a.focus(),s=document.selection.createRange(),s.text=t+s.text+e):void 0!==a.selectionStart?(l=a.value,r=a.selectionStart,n=a.selectionEnd-a.selectionStart,a.value=l.substr(0,r)+t+l.substr(r,n)+e+l.substr(r+n)):a.value+=t+(o||"")+e,this._updateLength(),!1},_updateLength:function(t){var e=this.view.length;e&&(e.innerHTML=this.el.value.length,e.style.color=this.el.value.length>this.opts.maxlength?"red":"",!t&&this.validate&&this.validate())},_lengthUpdater:function(t){if(this.opts.show_length){var e=this;this.el._LUI&&(clearInterval(this.el._LUI),delete this.el._LUI),t&&(this.el._LUI=setInterval(class_func(e,e._updateLength),100))}},_emptyResize:function(t){""==this.el.value&&this.opts.resize_on_focus&&(this.el.rows=t)}});
?>
Онлайн: 0
Реклама