Texyla.prototype.wrap=function(){this.container=this.textarea.wrap('<div class="texyla"></div>').parent();var containerWidth=this.options.width||this.textarea.get(0).offsetWidth||this.textarea.width();this.container.width(containerWidth);this.editDiv=this.textarea.wrap('<div class="textarea-container"></div>')
.parent().wrap('<div class="edit-div"></div>').parent();if(this.textarea.get(0).offsetWidth>0){this.textarea.width(containerWidth);var delta=this.textarea.get(0).offsetWidth-containerWidth;}else{var delta=0;}
this.textarea.width(containerWidth-delta-2*this.options.padding);this.textareaHeight=this.textarea.get(0).offsetHeight;this.previewDiv=$('<div class="preview-div"></div>').insertAfter(this.editDiv);this.previewDiv.prepend('<div class="view-header" style="background-image: url(\''+this.expand(this.options.iconPath,"preview")+'\');">'+this.lng.btn_preview+'</div>');this.preview=$('<div class="preview"></div>')
.appendTo(this.previewDiv)
.wrap('<div class="preview-wrapper ui-widget-content"></div>');this.htmlPreviewDiv=$('<div class="html-preview-div"></div>').insertAfter(this.previewDiv);this.htmlPreviewDiv.prepend('<div class="view-header" '+'style="background-image: url(\''+this.expand(this.options.iconPath,"htmlPreview")+'\');">'+this.lng.btn_htmlPreview+'</div>');this.htmlPreview=$('<pre class="html-preview"></pre>')
.appendTo(this.htmlPreviewDiv)
.wrap('<div class="preview-wrapper ui-widget-content"></div>');this.wait=$('<div class="preview-wait">'+this.lng.wait+'</div>');this.createToolbar();this.createBottomToolbar();this.view(this.options.defaultView,true);};Texyla.prototype.createToolbar=function(){var toolbar=$('<ul class="toolbar"></ul>').prependTo(this.editDiv);var item,toolbar2;for(var i=0;i<this.options.toolbar.length;i++){item=this.options.toolbar[i];if(typeof item=="string"){$("<span title='"+this.lng["btn_"+item]+"'>"+"<img src='"+this.expand(this.options.iconPath,item)+"' width='"+this.options.iconWidth+"' height='"+this.options.iconHeight+"'>"+"</span>")
.click(this.clickButton(item))
.appendTo("<li class='btn_"+item+"'></li>").parent()
.appendTo(toolbar);}
else if(item===null){toolbar.append("<li class='separator'></li>");}
else if($.isArray(item)){toolbar2=$("<ul class='ui-widget-content ui-corner-all'></ul>");var menuTimeout;toolbar2.appendTo("<li class='menu'></li>").parent().mouseover(function(){clearTimeout(menuTimeout);$(this).siblings().find("ul:visible").fadeOut("fast");$(this).find("ul").show();}).mouseout(function(){var _this=this;menuTimeout=setTimeout(function(){$(_this).find("ul").fadeOut("fast");},300);}).appendTo(toolbar);for(var j=0;j<item.length;j++){$("<li class='btn_"+item[j]+" ui-corner-all'>"+"<span style='background-image: url(\""+this.expand(this.options.iconPath,item[j])+"\");'>"+this.lng["btn_"+item[j]]+"</span></li>")
.hover(function(){$(this).addClass("ui-state-hover");},function(){$(this).removeClass("ui-state-hover");})
.click(this.clickButton(item[j]))
.appendTo(toolbar2);}}else if(typeof(item)=="object"&&item.type=="label"){var text=item.translatedText?this.lng[item.translatedText]:item.text;toolbar.append("<li class='label ui-state-disabled'>"+text+"</li>");}}};Texyla.prototype.clickButton=function(name){var _this=this;if(name in this.buttons){return function(e){_this.buttons[name].call(_this,e);};}else{return function(){_this.error('Function "'+name+'" is not supported!');};}};Texyla.prototype.createBottomToolbar=function(){var bottomToolbar=$("<div class='bottom-toolbar'></div>").appendTo(this.container);this.leftToolbar=$("<div class='left-toolbar'></div>").appendTo(bottomToolbar);var right=$('<div class="right-toolbar"></div>').appendTo(bottomToolbar);this.rightEditToolbar=$("<div class='right-edit-toolbar'></div>").appendTo(right);this.rightPreviewToolbar=$("<div class='right-preview-toolbar'></div>").appendTo(right);if(this.options.tabs){this.leftToolbar.addClass("tabs");}else if(this.options.buttonType=="span"){this.leftToolbar.addClass("span-tb");}
if(this.options.buttonType=="span"){right.addClass("span-tb");}
var _this=this;function createButton(icon,name,func,tabs){var iconUrl=_this.expand(_this.options.iconPath,icon);if(_this.options.buttonType=="span"||tabs){return $("<span class='btn btn_"+icon+" ui-state-default "+(tabs?"ui-corner-bottom":"ui-corner-all")+"'>"+"<span class='btn-left'></span><span class='btn-middle'>"+"<span style='background-image: url(\""+iconUrl+"\");' class='icon-span'>"+name+"</span>"+"</span><span class='btn-right'></span>"+"</span>").click(func).hover(function(){$(this).addClass("ui-state-hover");},function(){$(this).removeClass("ui-state-hover");});}else{return $("<button type='button' class='btn_"+icon+"'>"+"<img src='"+iconUrl+"' width='"+_this.options.iconWidth+"' height='"+_this.options.iconHeight+"'>"+" "+name+"</button>").click(func);}};function insertButtons(toolbar,buttons,tabs){for(var i=0;i<buttons.length;i++){createButton(buttons[i],_this.lng["btn_"+buttons[i]],_this.clickButton(buttons[i]),tabs).appendTo(toolbar);}};insertButtons(this.leftToolbar,this.options.bottomLeftToolbar,this.options.tabs);insertButtons(this.rightEditToolbar,this.options.bottomRightEditToolbar);insertButtons(this.rightPreviewToolbar,this.options.bottomRightPreviewToolbar);};