rails-redactorjs 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +53 -0
- data/Rakefile +2 -0
- data/lib/rails-redactorjs.rb +14 -0
- data/lib/rails-redactorjs/configuration.rb +54 -0
- data/lib/rails-redactorjs/engine.rb +11 -0
- data/lib/rails-redactorjs/helper.rb +15 -0
- data/lib/rails-redactorjs/version.rb +5 -0
- data/rails-redactorjs.gemspec +17 -0
- data/vendor/assets/javascripts/rails-redactorjs/css/docstyle.css +123 -0
- data/vendor/assets/javascripts/rails-redactorjs/css/style.css +119 -0
- data/vendor/assets/javascripts/rails-redactorjs/css/wym.css +136 -0
- data/vendor/assets/javascripts/rails-redactorjs/index.js +1 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/by.js +72 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/de.js +75 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/en.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/es.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/fr.js +74 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/hu.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/it.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/ja.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/lv.js +74 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/nl.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/pl.js +75 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/pt_br.js +81 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/ru.js +75 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/sq.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/tr.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/ua.js +75 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/zh_cn.js +77 -0
- data/vendor/assets/javascripts/rails-redactorjs/langs/zh_tw.js +76 -0
- data/vendor/assets/javascripts/rails-redactorjs/plugins/file.html +3 -0
- data/vendor/assets/javascripts/rails-redactorjs/plugins/image.html +39 -0
- data/vendor/assets/javascripts/rails-redactorjs/plugins/image_edit.html +35 -0
- data/vendor/assets/javascripts/rails-redactorjs/plugins/link.html +74 -0
- data/vendor/assets/javascripts/rails-redactorjs/plugins/table.html +25 -0
- data/vendor/assets/javascripts/rails-redactorjs/plugins/video.html +15 -0
- data/vendor/assets/javascripts/rails-redactorjs/redactor.js +2259 -0
- data/vendor/assets/javascripts/rails-redactorjs/redactor.min.js +1 -0
- data/vendor/assets/javascripts/rails-redactorjs/toolbars/default.js +214 -0
- data/vendor/assets/javascripts/rails-redactorjs/toolbars/mini.js +103 -0
- data/vendor/assets/stylesheets/rails-redactorjs/css/redactor.css +368 -0
- data/vendor/assets/stylesheets/rails-redactorjs/img/icons.png +0 -0
- data/vendor/assets/stylesheets/rails-redactorjs/index.css +1 -0
- metadata +95 -0
@@ -0,0 +1 @@
|
|
1
|
+
var RTOOLBAR={};(function(b){jQuery.fn.redactor=function(c){return this.each(function(){var e=b(this);var d=e.data("redactor");if(!d){e.data("redactor",(d=new a(this,c)))}})};var a=function(d,c){this.$el=b(d);this.opts=b.extend({lang:"en",toolbar:"default",load:true,path:false,css:"style.css",focus:true,resize:true,autoresize:false,fixed:false,autoformat:true,cleanUp:true,convertDivs:true,removeClasses:true,removeStyles:false,convertLinks:true,handler:false,autosave:false,interval:60,imageGetJson:false,imageUpload:false,linkFileUpload:false,fileUpload:false,visual:true,fullscreen:false,overlay:true,colors:Array("#ffffff","#000000","#eeece1","#1f497d","#4f81bd","#c0504d","#9bbb59","#8064a2","#4bacc6","#f79646","#ffff00","#f2f2f2","#7f7f7f","#ddd9c3","#c6d9f0","#dbe5f1","#f2dcdb","#ebf1dd","#e5e0ec","#dbeef3","#fdeada","#fff2ca","#d8d8d8","#595959","#c4bd97","#8db3e2","#b8cce4","#e5b9b7","#d7e3bc","#ccc1d9","#b7dde8","#fbd5b5","#ffe694","#bfbfbf","#3f3f3f","#938953","#548dd4","#95b3d7","#d99694","#c3d69b","#b2a2c7","#b7dde8","#fac08f","#f2c314","#a5a5a5","#262626","#494429","#17365d","#366092","#953734","#76923c","#5f497a","#92cddc","#e36c09","#c09100","#7f7f7f","#0c0c0c","#1d1b10","#0f243e","#244061","#632423","#4f6128","#3f3151","#31859b","#974806","#7f6000"),allEmptyHtml:"<p><br /></p>",mozillaEmptyHtml:"<p> </p>"},c,this.$el.data());this.dropdowns=[];this.init()};a.prototype={_loadFile:function(c,f){var d=f[0];f.splice(0,1);var e;if(typeof(d)=="function"){e=d}else{e=b.proxy(function(){this._loadFile(d,f)},this)}this.dynamicallyLoad(c,e)},loadFiles:function(d){var c=d[0];d.splice(0,1);this._loadFile(c,d)},dynamicallyLoad:function(e,g){var f=document.getElementsByTagName("head")[0];var d=document.createElement("script");d.src=e;var c=false;d.onload=d.onreadystatechange=function(){if(!c&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){c=true;if(g){g()}d.onload=d.onreadystatechange=null}};f.appendChild(d)},init:function(){this.getPath();if(this.opts.load){var c=[];c.push(this.opts.path+"/langs/"+this.opts.lang+".js");if(this.opts.toolbar!==false){c.push(this.opts.path+"/toolbars/"+this.opts.toolbar+".js")}c.push(b.proxy(this.start,this));this.loadFiles(c)}else{this.start()}},start:function(){this.height=this.$el.css("height");this.width=this.$el.css("width");this.build();var c=this.$el.val();c=this.preformater(c);if(this.opts.autoformat){c=this.paragraphy(c)}this.$editor=this.enable(c);b(this.doc).click(b.proxy(function(d){this.$editor.focus()},this));b(this.doc).bind("paste",b.proxy(function(d){setTimeout(b.proxy(function(){var e=b('<span id="pastemarkerend"> </span>');this.insertNodeAtCaret(e.get(0));this.pasteCleanUp()},this),200)},this));b(this.doc).keypress(b.proxy(function(f){var d=f.keyCode||f.which;if(navigator.userAgent.indexOf("AppleWebKit")!=-1){return this.safariShiftKeyEnter(f,d)}},this)).keyup(b.proxy(function(f){var d=f.keyCode||f.which;if(this.opts.autoformat){if(d==8||d==46){return this.formatEmpty(f)}if(d==13&&!f.shiftKey&&!f.ctrlKey&&!f.metaKey){return this.formatNewLine(f)}}this.syncCode()},this));this.buildToolbar();if(this.opts.autoresize===false){this.buildResizer()}else{this.observeAutoResize()}this.shortcuts();this.autoSave();this.observeImages();if(this.opts.fullscreen){this.opts.fullscreen=false;this.fullscreen()}if(this.opts.focus){this.focus()}if(this.opts.fixed){this.observeScroll();b(document).scroll(b.proxy(this.observeScroll,this))}},shortcuts:function(){b(this.doc).keydown(b.proxy(function(d){var c=d.keyCode||d.which;if(d.ctrlKey){if(c==90){this._shortcuts(d,"undo")}else{if(c==90&&d.shiftKey){this._shortcuts(d,"redo")}else{if(c==77){this._shortcuts(d,"removeFormat")}else{if(c==66){this._shortcuts(d,"bold")}else{if(c==73){this._shortcuts(d,"italic")}else{if(c==74){this._shortcuts(d,"insertunorderedlist")}else{if(c==75){this._shortcuts(d,"insertorderedlist")}else{if(c==76){this._shortcuts(d,"superscript")}}}}}}}}}if(!d.shiftKey&&c==9){this._shortcuts(d,"indent")}else{if(d.shiftKey&&c==9){this._shortcuts(d,"outdent")}}},this))},_shortcuts:function(d,c){if(d.preventDefault){d.preventDefault()}this.execCommand(c,null)},getPath:function(){if(this.opts.path!==false){return this.opts.path}b("script").each(b.proxy(function(c,d){if(d.src){var e=new RegExp(/\/redactor(\.min)?\.js(\?.*)?/);if(d.src.match(e)){this.opts.path=d.src.replace(e,"")}}},this))},build:function(){this.$box=b('<div class="redactor_box"></div>');this.$frame=b('<iframe frameborder="0" scrolling="auto" style="height: '+this.height+';" class="redactor_frame"></iframe>');this.$el.css("width","100%").hide();this.$box.insertAfter(this.$el).append(this.$frame).append(this.$el)},write:function(c){this.doc.open();this.doc.write(c);this.doc.close()},enable:function(c){this.doc=this.getDoc(this.$frame.get(0));if(this.doc!==null){this.write(this.setDoc(c));if(b.browser.mozilla){this.doc.execCommand("useCSS",false,true)}return b(this.doc).find("#page")}else{return false}},setDoc:function(d){var c="<!DOCTYPE html>\n";c+='<html><head><link media="all" type="text/css" href="'+this.opts.path+"/css/"+this.opts.css+'" rel="stylesheet"></head>';c+='<body><div id="page" contenteditable="true">';c+=d;c+="</div></body></html>";return c},getDoc:function(c){if(c.contentDocument){return c.contentDocument}else{if(c.contentWindow&&c.contentWindow.document){return c.contentWindow.document}else{if(c.document){return c.document}else{return null}}}},focus:function(){this.$editor.focus()},syncCode:function(){var c=this.formating(this.$editor.html());this.$el.val(c)},setCode:function(c){c=this.preformater(c);this.$editor.html(c).focus();this.syncCode()},getCode:function(){var c=this.$editor?this.$editor.html():this.$el.val();c=this.reformater(c);return c},insertHtml:function(c){this.execCommand("inserthtml",c)},destroy:function(){var c=this.getCode();this.$box.after(this.$el);this.$box.remove();this.$el.val(c).show();this.dropdowns.forEach(function(e,d){e.remove();delete (this.dropdowns[d])},this)},handler:function(){b.ajax({url:this.opts.handler,type:"post",data:"redactor="+escape(encodeURIComponent(this.getCode())),success:b.proxy(function(c){this.setCode(c);this.syncCode()},this)})},observeImages:function(){if(b.browser.mozilla){this.doc.execCommand("enableObjectResizing",false,"false")}b(this.doc).find("img").attr("unselectable","on").each(b.proxy(function(c,d){this.resizeImage(d)},this))},observeScroll:function(){var c=b(document).scrollTop();var d=this.$box.offset().top;if(c>d){this.fixed=true;this.$toolbar.css({position:"fixed",width:"100%"})}else{this.fixed=false;this.$toolbar.css({position:"relative",width:"auto"})}},observeAutoResize:function(){this.$editor.css({"min-height":this.$el.height()+"px"});this.$frame.css({"overflow-x":"auto","overflow-y":"hidden"});this.$frame.load(b.proxy(this.setAutoSize,this));b(this.doc).keyup(b.proxy(this.setAutoSize,this))},setAutoSize:function(){this.$frame.height(this.$editor.outerHeight(true)+30)},execCommand:function(c,f){if(this.opts.visual&&this.doc){try{if(b.browser.msie){this.focus()}if(c=="inserthtml"&&b.browser.msie){this.doc.selection.createRange().pasteHTML(f)}else{if(c=="formatblock"&&b.browser.msie){this.doc.execCommand(c,false,"<"+f+">")}else{this.doc.execCommand(c,false,f)}}this.syncCode();this.focus()}catch(d){}}},formatNewLine:function(d){var c=this.getParentNode();if(c.nodeName=="DIV"&&c.id=="page"){if(d.preventDefault){d.preventDefault()}element=b(this.getCurrentNode());if(element.get(0).tagName=="DIV"&&(element.html()==""||element.html()=="<br>")){newElement=b("<p>").append(element.clone().get(0).childNodes);element.replaceWith(newElement);newElement.html("<br />");this.setFocusNode(newElement.get(0));this.syncCode();return false}else{this.syncCode()}if(this.opts.convertLinks){this.$editor.linkify()}}else{this.syncCode();return true}},safariShiftKeyEnter:function(f,d){if(f.shiftKey&&d==13){if(f.preventDefault){f.preventDefault()}var c=b("<span><br /></span>");this.insertNodeAtCaret(c.get(0));this.setFocusNode(c.get(0));this.syncCode();return false}},formatEmpty:function(g){var d=b.trim(this.$editor.html());if(b.browser.mozilla){d=d.replace(/<br>/gi,"")}if(d===""){if(g.preventDefault){g.preventDefault()}var c=this.opts.allEmptyHtml;if(b.browser.mozilla){c=this.opts.mozillaEmptyHtml}var f=b(c).get(0);this.$editor.html(f);this.setFocusNode(f);this.syncCode();return false}else{this.syncCode()}},paragraphy:function(e){e=b.trim(e);if(e===""){if(!b.browser.mozilla){return this.opts.allEmptyHtml}else{return this.opts.mozillaEmptyHtml}}if(this.opts.convertDivs){e=e.replace(/<div(.*?)>([\w\W]*?)<\/div>/gi,"<p>$2</p>")}var f=function(h,i,g){return h.replace(new RegExp(i,"g"),g)};var c=function(h,g){return f(e,h,g)};var d="(table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|style|script|object|input|param|p|h[1-6])";e+="\n";c("<br />\\s*<br />","\n\n");c("(<"+d+"[^>]*>)","\n$1");c("(</"+d+">)","$1\n\n");c("\r\n|\r","\n");c("\n\n+","\n\n");c("\n?((.|\n)+?)$","<p>$1</p>\n");c("<p>\\s*?</p>","");c("<p>(<div[^>]*>\\s*)","$1<p>");c("<p>([^<]+)\\s*?(</(div|address|form)[^>]*>)","<p>$1</p>$2");c("<p>\\s*(</?"+d+"[^>]*>)\\s*</p>","$1");c("<p>(<li.+?)</p>","$1");c("<p>\\s*(</?"+d+"[^>]*>)","$1");c("(</?"+d+"[^>]*>)\\s*</p>","$1");c("(</?"+d+"[^>]*>)\\s*<br />","$1");c("<br />(\\s*</?(p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)","$1");if(e.indexOf("<pre")!=-1){c("(<pre(.|\n)*?>)((.|\n)*?)</pre>",function(j,i,h,g){return f(i,"\\\\(['\"\\\\])","$1")+f(f(f(g,"<p>","\n"),"</p>|<br />",""),"\\\\(['\"\\\\])","$1")+"</pre>"})}return c("\n</p>$","</p>")},preformater:function(c){c=c.replace(/<br>/gi,"<br />");c=c.replace(/<blockquote\b[^>]*>([\w\W]*?)<p>([\w\W]*?)<\/p>([\w\W]*?)<\/blockquote[^>]*>/gi,"<blockquote>$1$2<br />$3</blockquote>");c=c.replace(/<strong\b[^>]*>([\w\W]*?)<\/strong[^>]*>/gi,"<b>$1</b>");c=c.replace(/<em\b[^>]*>([\w\W]*?)<\/em[^>]*>/gi,"<i>$1</i>");c=c.replace(/<del\b[^>]*>([\w\W]*?)<\/del[^>]*>/gi,"<strike>$1</strike>");return c},reformater:function(c){c=c.replace(/<br>/gi,"<br />");c=c.replace(/<b\b[^>]*>([\w\W]*?)<\/b[^>]*>/gi,"<strong>$1</strong>");c=c.replace(/<i\b[^>]*>([\w\W]*?)<\/i[^>]*>/gi,"<em>$1</em>");c=c.replace(/<strike\b[^>]*>([\w\W]*?)<\/strike[^>]*>/gi,"<del>$1</del>");c=c.replace(/<span(.*?)style="font-weight: bold;">([\w\W]*?)<\/span>/gi,"<strong>$2</strong>");c=c.replace(/<span(.*?)style="font-style: italic;">([\w\W]*?)<\/span>/gi,"<em>$2</em>");c=c.replace(/<span(.*?)style="font-weight: bold; font-style: italic;">([\w\W]*?)<\/span>/gi,"<em><strong>$2</strong></em>");c=c.replace(/<span(.*?)style="font-style: italic; font-weight: bold;">([\w\W]*?)<\/span>/gi,"<strong><em>$2</em></strong>");return c},cleanUpClasses:function(c){c=c.replace(/\s*class="TOC(.*?)"/gi,"");c=c.replace(/\s*class="Heading(.*?)"/gi,"");c=c.replace(/\s*class="Body(.*?)"/gi,"");return c},cleanUpStyles:function(c){c=c.replace(/\s*mso-[^:]+:[^;"]+;?/gi,"");c=c.replace(/\s*margin(.*?)pt\s*;/gi,"");c=c.replace(/\s*margin(.*?)cm\s*;/gi,"");c=c.replace(/\s*text-indent:(.*?)\s*;/gi,"");c=c.replace(/\s*line-height:(.*?)\s*;/gi,"");c=c.replace(/\s*page-break-before: [^\s;]+;?"/gi,'"');c=c.replace(/\s*font-variant: [^\s;]+;?"/gi,'"');c=c.replace(/\s*tab-stops:[^;"]*;?/gi,"");c=c.replace(/\s*tab-stops:[^"]*/gi,"");c=c.replace(/\s*face="[^"]*"/gi,"");c=c.replace(/\s*face=[^ >]*/gi,"");c=c.replace(/\s*font:(.*?);/gi,"");c=c.replace(/\s*font-size:(.*?);/gi,"");c=c.replace(/\s*font-weight:(.*?);/gi,"");c=c.replace(/\s*font-family:[^;"]*;?/gi,"");c=c.replace(/<span style="Times New Roman"">\s\n<\/span>/gi,"");return c},cleanUp:function(c){c=c.replace(/(<\!\-\-([\w\W]*?)\-\->)/ig,"");if(this.opts.convertDivs){c=c.replace(/<div(.*?)>([\w\W]*?)<\/div>/gi,"<p$1>$2</p>")}c=c.replace(/ lang="([\w\W]*?)"/gi,"");c=c.replace(/<a name="(.*?)">([\w\W]*?)<\/a>/gi,"");c=c.replace(/\ \ \ /gi," ");c=c.replace(/\ \ /gi," ");c=c.replace(/<o:p>(.*?)<\/o:p>/gi,"");c=c.replace(/\s*style="\s*"/gi,"");c=c.replace(/<span> <\/span>/gi,"");c=c.replace(/<span>([\w\W]*?)<\/span>/gi,"$1");return c},removeTags:function(c){return c.replace(/<(?!\s*\/?(code|span|div|label|a|br|p|b|i|del|strike|img|video|audio|iframe|object|embed|param|blockquote|mark|cite|small|ul|ol|li|hr|dl|dt|dd|sup|sub|big|pre|code|figure|figcaption|strong|em|table|tr|td|th|tbody|thead|tfoot|h1|h2|h3|h4|h5|h6)\b)[^>]+>/gi,"")},pasteCleanUp:function(){var c=this.$editor.html();c=c.replace(/<span id="pastemarkerend"> <\/span>/,"#marker#");c=this.formating(c);c=this.cleanUp(c);if(this.opts.removeClasses){c=c.replace(/ class="([\w\W]*?)"/gi,"")}else{c=this.cleanUpClasses(c)}if(this.opts.removeStyles){c=c.replace(/ style="([\w\W]*?)"/gi,"")}else{c=this.cleanUpStyles(c)}c=this.cleanUp(c);c=this.formating(c);c=c.replace(/<b(.*?)id="internal-source-marker(.*?)">([\w\W]*?)<\/b>/gi,"$3");c=c.replace(/#marker#/,'<span id="pastemarkerend"> </span>');this.$editor.html(c);var d=b(this.doc.body).find("#pastemarkerend").get(0);this.setFocusNode(d);this.syncCode();this.observeImages()},formating:function(j){if(b.browser.msie){j=j.replace(/<*(\/ *)?(\w+)/g,function(i){return i.toLowerCase()});j=j.replace(/style="(.*?)"/g,function(i){return i.toLowerCase()});j=j.replace(/ jQuery(.*?)=\"(.*?)\"/gi,"")}j=j.replace(/<font([\w\W]*?)color="(.*?)">([\w\W]*?)<\/font\>/gi,'<span style="color: $2;">$3</span>');j=j.replace(/<font([\w\W]*?)>([\w\W]*?)<\/font\>/gi,"<span$1>$2</span>");j=j.replace(/<span>([\w\W]*?)<\/span>/gi,"$1");j=j.replace(/ class="Apple-style-span"/gi,"");j=j.replace(/ class="Apple-tab-span"/gi,"");j=j.replace(/<p><p>/g,"<p>");j=j.replace(/<\/p><\/p>/g,"</p>");j=j.replace(/<hr(.*?)>/g,"<hr />");j=j.replace(/<p> /g,"<p>");j=j.replace(/<p><ul>/g,"<ul>");j=j.replace(/<p><ol>/g,"<ol>");j=j.replace(/<\/ul><\/p>/g,"</ul>");j=j.replace(/<\/ol><\/p>/g,"</ol>");j=j.replace(/<p(.*?)> <\/p>/gi,"");j=j.replace(/[\t]*/g,"");j=j.replace(/\n\s*\n/g,"\n");j=j.replace(/^[\s\n]*/,"");j=j.replace(/[\s\n]*$/,"");var e=["<pre></pre>","<blockquote>\\s*</blockquote>","<em>\\s*</em>","<b>\\s*</b>","<ul></ul>","<ol></ol>","<li></li>","<table></table>","<tr></tr>","<span>\\s*<span>","<span> <span>","<p>\\s*</p>","<p> </p>","<p>\\s*<br>\\s*</p>","<div>\\s*</div>","<div>\\s*<br>\\s*</div>"];for(var f=0;f<e.length;++f){var l=e[f];j=j.replace(new RegExp(l,"gi"),"")}var d="\r\n";var h=["<form","<fieldset","<legend","<object","<embed","<select","<option","<input","<textarea","<pre","<blockquote","<ul","<ol","<li","<dl","<dt","<dd","<table","<thead","<tbody","<caption","</caption>","<th","<tr","<td","<figure"];for(var f=0;f<h.length;++f){var g=h[f];j=j.replace(new RegExp(g,"gi"),d+g)}var k=["</p>","</div>","</ul>","</ol>","</h1>","</h2>","</h3>","</h4>","</h5>","</h6>","<br>","<br />","</dl>","</dt>","</dd>","</form>","</blockquote>","</pre>","</legend>","</fieldset>","</object>","</embed>","</textarea>","</select>","</option>","</table>","</thead>","</tbody>","</tr>","</td>","</th>","</figure>"];for(var f=0;f<k.length;++f){var c=k[f];j=j.replace(new RegExp(c,"gi"),c+d)}j=j.replace(/<li/g,"\t<li");j=j.replace(/<tr/g,"\t<tr");j=j.replace(/<td/g,"\t\t<td");j=j.replace(/<\/tr>/g,"\t</tr>");return j},toggle:function(){var c;if(this.opts.visual){this.$frame.hide();c=this.$editor.html();c=b.trim(this.formating(c));this.$el.val(c).show().focus();this.setBtnActive("html");this.opts.visual=false}else{this.$el.hide();this.$editor.html(this.$el.val());this.$frame.show();if(this.$editor.html()===""){if(!b.browser.mozilla){c=this.opts.allEmptyHtml}else{c=this.opts.mozillaEmptyHtml}this.setCode(c)}this.focus();this.setBtnInactive("html");this.opts.visual=true;this.observeImages()}},autoSave:function(){if(this.opts.autosave===false){return false}setInterval(b.proxy(function(){b.post(this.opts.autosave,{data:this.getCode()})},this),this.opts.interval*1000)},buildToolbar:function(){if(this.opts.toolbar===false){return false}this.$toolbar=b("<ul>").addClass("redactor_toolbar");this.$box.prepend(this.$toolbar);b.each(RTOOLBAR[this.opts.toolbar],b.proxy(function(e,f){if(this.opts.fileUpload===false&&e=="file"){return true}var c=b("<li>");if(e=="fullscreen"){b(c).addClass("redactor_toolbar_right")}var d=this.buildButton(e,f);if(e=="backcolor"||e=="fontcolor"||typeof(f.dropdown)!="undefined"){var g=b('<div class="redactor_dropdown" style="display: none;">');if(e=="backcolor"||e=="fontcolor"){g=this.buildColorPicker(g,e)}else{g=this.buildDropdown(g,f.dropdown)}this.dropdowns.push(g.appendTo(b(document.body)));this.hdlHideDropDown=b.proxy(function(h){this.hideDropDown(h,g,e)},this);this.hdlShowDropDown=b.proxy(function(h){this.showDropDown(h,g,e)},this);d.click(this.hdlShowDropDown)}this.$toolbar.append(b(c).append(d));if(typeof(f.separator)!="undefined"){this.$toolbar.append(b('<li class="redactor_separator"></li>'))}},this));b(document).click(this.hdlHideDropDown);b(this.doc).click(this.hdlHideDropDown)},buildButton:function(d,e){var c=b('<a href="javascript:void(null);" title="'+e.title+'" class="redactor_btn_'+d+'"><span> </span></a>');if(typeof(e.func)=="undefined"){c.click(b.proxy(function(){this.execCommand(e.exec,d)},this))}else{if(e.func!="show"){c.click(b.proxy(function(f){this[e.func](f)},this))}}return c},buildDropdown:function(d,c){b.each(c,b.proxy(function(e,g){if(typeof(g.style)=="undefined"){g.style=""}var f;if(g.name=="separator"){f=b('<a class="redactor_separator_drop">')}else{f=b('<a href="javascript:void(null);" style="'+g.style+'">'+g.title+"</a>");if(typeof(g.func)=="undefined"){b(f).click(b.proxy(function(){this.execCommand(g.exec,e)},this))}else{b(f).click(b.proxy(function(h){this[g.func](h)},this))}}b(d).append(f)},this));return d},buildColorPicker:function(l,k){var f;if(k=="backcolor"){if(b.browser.msie){f="BackColor"}else{f="hilitecolor"}}else{f="forecolor"}b(l).width(210);var g=this.opts.colors.length;for(var e=0;e<g;++e){var c=this.opts.colors[e];var j=b('<a rel="'+c+'" href="javascript:void(null);" class="redactor_color_link"></a>').css({backgroundColor:c});b(l).append(j);var h=this;b(j).click(function(){h.execCommand(f,b(this).attr("rel"))})}var d=b('<a href="javascript:void(null);" class="redactor_color_none"></a>').html(RLANG.none);if(k=="backcolor"){d.click(b.proxy(this.setBackgroundNone,this))}else{d.click(b.proxy(this.setColorNone,this))}b(l).append(d);return l},setBackgroundNone:function(){b(this.getParentNode()).css("background-color","transparent");this.syncCode()},setColorNone:function(){b(this.getParentNode()).attr("color","").css("color","");this.syncCode()},showDropDown:function(g,h,c){this.hideAllDropDown();this.setBtnActive(c);this.getBtn(c).addClass("dropact");var f=this.getBtn(c).offset().left;if(this.opts.fixed&&this.fixed){b(h).css({position:"fixed",left:f+"px",top:"30px"}).show()}else{var d=this.$toolbar.offset().top+30;b(h).css({position:"absolute",left:f+"px",top:d+"px"}).show()}},hideAllDropDown:function(){this.$toolbar.find("a.dropact").removeClass("act").removeClass("dropact");b(".redactor_dropdown").hide()},hideDropDown:function(d,f,c){if(!b(d.target).parent().hasClass("dropact")){b(f).removeClass("act");this.showedDropDown=false;this.hideAllDropDown()}},getSelection:function(){if(this.$frame.get(0).contentWindow.getSelection){return this.$frame.get(0).contentWindow.getSelection()}else{if(this.$frame.get(0).contentWindow.document.selection){return this.$frame.get(0).contentWindow.document.selection.createRange()}}},getParentNode:function(){if(window.getSelection){return this.getSelection().getRangeAt(0).startContainer.parentNode}else{if(document.selection){return this.getSelection().parentElement()}}},getCurrentNode:function(){if(window.getSelection){return this.getSelection().getRangeAt(0).startContainer}else{if(document.selection){return this.getSelection()}}},setFocusNode:function(f,d){var c=this.doc.createRange();var e=this.getSelection();d=d?0:1;if(e!==null){c.selectNodeContents(f);e.addRange(c);e.collapse(f,d)}this.focus()},insertNodeAtCaret:function(g){if(typeof window.getSelection!="undefined"){var h=this.getSelection();if(h.rangeCount){var d=h.getRangeAt(0);d.collapse(false);d.insertNode(g);d=d.cloneRange();d.selectNodeContents(g);d.collapse(false);h.removeAllRanges();h.addRange(d)}}else{if(typeof document.selection!="undefined"&&document.selection.type!="Control"){var e=(g.nodeType==1)?g.outerHTML:g.data;var i="marker_"+(""+Math.random()).slice(2);e+='<span id="'+i+'"></span>';var f=this.getSelection();f.collapse(false);f.pasteHTML(e);var c=document.getElementById(i);f.moveToElementText(c);f.select();c.parentNode.removeChild(c)}}},getBtn:function(c){return b(this.$toolbar.find("a.redactor_btn_"+c))},setBtnActive:function(c){this.getBtn(c).addClass("act")},setBtnInactive:function(c){this.getBtn(c).removeClass("act")},changeBtnIcon:function(c,d){this.getBtn(c).addClass("redactor_btn_"+d)},removeBtnIcon:function(c,d){this.getBtn(c).removeClass("redactor_btn_"+d)},removeBtn:function(c){this.getBtn(c).remove()},addBtn:function(c,d){this.$toolbar.append(b("<li>").append(this.buildButton(c,d)))},fullscreen:function(){var c;if(this.opts.fullscreen===false){this.changeBtnIcon("fullscreen","normalscreen");this.setBtnActive("fullscreen");this.opts.fullscreen=true;this.height=this.$frame.css("height");this.width=(this.$box.width()-2)+"px";c=this.getCode();this.tmpspan=b("<span></span>");this.$box.addClass("redactor_box_fullscreen").after(this.tmpspan);b(document.body).prepend(this.$box).css("overflow","hidden");this.$editor=this.enable(c);b(this.doc).click(b.proxy(this.hideAllDropDown,this));b(this.doc).click(b.proxy(function(d){this.$editor.focus()},this));this.observeImages();this.$box.find(".redactor_resizer").hide();this.fullScreenResize();b(window).resize(b.proxy(this.fullScreenResize,this));b(document).scrollTop(0,0);this.focus()}else{this.removeBtnIcon("fullscreen","normalscreen");this.setBtnInactive("fullscreen");this.opts.fullscreen=false;b(window).unbind("resize",b.proxy(this.fullScreenResize,this));b(document.body).css("overflow","");c=this.getCode();this.$box.removeClass("redactor_box_fullscreen").css("width","auto");this.tmpspan.after(this.$box).remove();this.$editor=this.enable(c);this.observeImages();this.observeAutoResize();this.$box.find(".redactor_resizer").show();b(this.doc).click(b.proxy(this.hideAllDropDown,this));b(this.doc).click(b.proxy(function(d){this.$editor.focus()},this));this.syncCode();this.$frame.css("height",this.height);this.$el.css("height",this.height);this.focus()}},fullScreenResize:function(){if(this.opts.fullscreen===false){return}var d=42;if(this.opts.air){d=2}var c=b(window).height()-d;this.$box.width(b(window).width()-2);this.$frame.height(c);this.$el.height(c)},buildResizer:function(){if(this.opts.resize===false){return false}this.$resizer=b('<div class="redactor_resizer">—</div>');this.$box.append(this.$resizer);this.$resizer.mousedown(b.proxy(this.initResize,this))},initResize:function(c){if(c.preventDefault){c.preventDefault()}this.splitter=c.target;if(this.opts.visual){this.element_resize=this.$frame;this.element_resize.get(0).style.visibility="hidden";this.element_resize_parent=this.$el}else{this.element_resize=this.$el;this.element_resize_parent=this.$frame}this.stopResizeHdl=b.proxy(this.stopResize,this);this.startResizeHdl=b.proxy(this.startResize,this);this.resizeHdl=b.proxy(this.resize,this);b(document).mousedown(this.startResizeHdl);b(document).mouseup(this.stopResizeHdl);b(this.splitter).mouseup(this.stopResizeHdl);this.null_point=false;this.h_new=false;this.h=this.element_resize.height()},startResize:function(){b(document).mousemove(this.resizeHdl)},resize:function(d){if(d.preventDefault){d.preventDefault()}var f=d.pageY;if(this.null_point===false){this.null_point=f}if(this.h_new===false){this.h_new=this.element_resize.height()}var c=(this.h_new+f-this.null_point)-10;if(c<=30){return true}if(c>=0){this.element_resize.get(0).style.height=c+"px";this.element_resize_parent.get(0).style.height=c+"px"}},stopResize:function(c){b(document).unbind("mousemove",this.resizeHdl);b(document).unbind("mousedown",this.startResizeHdl);b(document).unbind("mouseup",this.stopResizeHdl);b(this.splitter).unbind("mouseup",this.stopResizeHdl);this.element_resize.get(0).style.visibility="visible"},resizeImage:function(d){var g=false;var c=false;var l;var k;var f=b(d).width()/b(d).height();var h=1;var i=1;var j=1;var e=1;b(d).hover(function(){b(d).css("cursor","nw-resize")},function(){b(d).css("cursor","default");g=false});b(d).mousedown(function(m){if(m.preventDefault){m.preventDefault()}g=true;c=true;l=Math.round(m.pageX-b(d).eq(0).offset().left);k=Math.round(m.pageY-b(d).eq(0).offset().top)});b(d).mouseup(b.proxy(function(m){g=false;this.syncCode()},this));b(d).click(b.proxy(function(m){if(c){this.imageEdit(m)}},this));b(d).mousemove(function(q){if(g){c=false;var n=Math.round(q.pageX-b(this).eq(0).offset().left)-l;var m=Math.round(q.pageY-b(this).eq(0).offset().top)-k;var p=b(d).height();var r=parseInt(p)+m;var o=r*f;if(i==1||(typeof(i)=="number"&&o<i&&o>j)){b(d).width(o)}if(h==1||(typeof(h)=="number"&&r<h&&r>e)){b(d).height(r)}l=Math.round(q.pageX-b(this).eq(0).offset().left);k=Math.round(q.pageY-b(this).eq(0).offset().top)}})},showTable:function(){this.modalInit(RLANG.table,this.opts.path+"/plugins/table.html",300,b.proxy(function(){b("#redactor_table_rows").focus();b("#redactor_insert_table_btn").click(b.proxy(this.insertTable,this))},this))},insertTable:function(){var m=b("#redactor_table_rows").val();var f=b("#redactor_table_columns").val();var c=b("<div></div>");var d=Math.floor(Math.random()*99999);var k=b('<table id="table'+d+'"><tbody></tbody></table>');for(var g=0;g<m;g++){var l=b("<tr></tr>");for(var j=0;j<f;j++){var e=b("<td> </td>");b(l).append(e)}b(k).append(l)}b(c).append(k);var h=b(c).html();if(b.browser.msie){h+="<p></p>"}else{h+="<p> </p>"}this.execCommand("inserthtml",h);this.modalClose();this.$table=b(this.doc).find("body").find("#table"+d);this.$table.click(b.proxy(this.tableObserver,this))},tableObserver:function(c){this.$table=b(c.target).parents("table");this.$table_tr=this.$table.find("tr");this.$table_td=this.$table.find("td");this.$table_td.removeClass("current");this.$tbody=b(c.target).parents("tbody");this.$thead=b(this.$table).find("thead");this.$current_td=b(c.target);this.$current_td.addClass("current");this.$current_tr=b(c.target).parents("tr")},deleteTable:function(){b(this.$table).remove();this.$table=false;this.syncCode()},deleteRow:function(){b(this.$current_tr).remove();this.syncCode()},deleteColumn:function(){var c=b(this.$current_td).get(0).cellIndex;b(this.$table).find("tr").each(function(){b(this).find("td").eq(c).remove()});this.syncCode()},addHead:function(){if(b(this.$table).find("thead").size()!==0){this.deleteHead()}else{var c=b(this.$table).find("tr").first().clone();c.find("td").html(" ");this.$thead=b("<thead></thead>");this.$thead.append(c);b(this.$table).prepend(this.$thead);this.syncCode()}},deleteHead:function(){b(this.$thead).remove();this.$thead=false;this.syncCode()},insertRowAbove:function(){this.insertRow("before")},insertRowBelow:function(){this.insertRow("after")},insertColumnLeft:function(){this.insertColumn("before")},insertColumnRight:function(){this.insertColumn("after")},insertRow:function(c){var d=b(this.$current_tr).clone();d.find("td").html(" ");if(c=="after"){b(this.$current_tr).after(d)}else{b(this.$current_tr).before(d)}this.syncCode()},insertColumn:function(d){var c=0;this.$current_td.addClass("current");this.$current_tr.find("td").each(function(e,f){if(b(f).hasClass("current")){c=e}});this.$table_tr.each(function(e,f){var g=b(f).find("td").eq(c);var h=g.clone();h.html(" ");if(d=="after"){b(g).after(h)}else{b(g).before(h)}});this.syncCode()},showVideo:function(){if(b.browser.msie){this.markerIE()}this.modalInit(RLANG.video,this.opts.path+"/plugins/video.html",600,b.proxy(function(){b("#redactor_insert_video_area").focus();b("#redactor_insert_video_btn").click(b.proxy(this.insertVideo,this))},this))},insertVideo:function(){var c=b("#redactor_insert_video_area").val();if(b.browser.msie){b(this.doc.getElementById("span"+this.spanid)).after(c).remove();this.syncCode()}else{this.execCommand("inserthtml",c)}this.modalClose()},imageEdit:function(g){var c=b(g.target);var f=c.parent();var d=b.proxy(function(){b("#redactor_file_alt").val(c.attr("alt"));b("#redactor_image_edit_src").attr("href",c.attr("src"));b("#redactor_form_image_align").val(c.css("float"));if(b(f).get(0).tagName=="A"){b("#redactor_file_link").val(b(f).attr("href"))}b("#redactor_image_delete_btn").click(b.proxy(function(){this.imageDelete(c)},this));b("#redactorSaveBtn").click(b.proxy(function(){this.imageSave(c)},this))},this);this.modalInit(RLANG.image,this.opts.path+"/plugins/image_edit.html",380,d)},imageDelete:function(c){b(c).remove();this.modalClose();this.syncCode()},imageSave:function(d){var c=b(d).parent();b(d).attr("alt",b("#redactor_file_alt").val());var f=b("#redactor_form_image_align").val();if(f=="left"){b(d).css({"float":"left",margin:"0 10px 10px 0"})}else{if(f=="right"){b(d).css({"float":"right",margin:"0 0 10px 10px"})}else{b(d).css({"float":"none",margin:"0"})}}var e=b.trim(b("#redactor_file_link").val());if(e!==""){if(b(c).get(0).tagName!="A"){b(d).replaceWith('<a href="'+e+'">'+this.outerHTML(d)+"</a>")}else{b(c).attr("href",e)}}this.modalClose();this.observeImages();this.syncCode()},showImage:function(){if(b.browser.msie){this.markerIE()}var c=b.proxy(function(){if(this.opts.imageGetJson!==false){b.getJSON(this.opts.imageGetJson,b.proxy(function(e){b.each(e,b.proxy(function(g,h){var f=b('<img src="'+h.thumb+'" rel="'+h.image+'" />');b("#redactor_image_box").append(f);b(f).click(b.proxy(this.imageSetThumb,this))},this))},this))}else{b("#redactor_tabs a").eq(1).remove()}if(this.opts.imageUpload!==false){if(b("#redactor_file").size()!==0){b("#redactor_file").dragupload({url:this.opts.imageUpload,success:b.proxy(this.imageUploadCallback,this)})}this.uploadInit("redactor_file",{auto:true,url:this.opts.imageUpload,success:b.proxy(this.imageUploadCallback,this)})}else{b(".redactor_tab").hide();if(this.opts.imageGetJson===false){b("#redactor_tabs").remove();b("#redactor_tab3").show()}else{var d=b("#redactor_tabs a");d.eq(0).remove();d.eq(1).addClass("redactor_tabs_act");b("#redactor_tab2").show()}}b("#redactor_upload_btn").click(b.proxy(this.imageUploadCallbackLink,this))},this);this.modalInit(RLANG.image,this.opts.path+"/plugins/image.html",570,c,true)},imageSetThumb:function(c){this._imageSet('<img alt="" src="'+b(c.target).attr("rel")+'" />')},imageUploadCallbackLink:function(){if(b("#redactor_file_link").val()!==""){var c='<img src="'+b("#redactor_file_link").val()+'" />';this._imageSet(c)}else{this.modalClose()}},imageUploadCallback:function(c){this._imageSet(c)},_imageSet:function(c){c="<p>"+c+"</p>";this.focus();if(b.browser.msie){b(this.doc.getElementById("span"+this.spanid)).after(c).remove();this.syncCode()}else{this.execCommand("inserthtml",c)}this.modalClose();this.observeImages()},showLink:function(){var c=b.proxy(function(){var g=this.getSelection();if(b.browser.msie){var f=this.getParentNode();if(f.nodeName=="A"){this.insert_link_node=b(f);var h=this.insert_link_node.text();var d=this.insert_link_node.attr("href")}else{if(this.oldIE()){var h=g.text}else{var h=g.toString()}var d="";this.spanid=Math.floor(Math.random()*99999);var e='<span id="span'+this.spanid+'">'+h+"</span>";if(h!=""){e='<span id="span'+this.spanid+'">'+h+"</span>"}this.execCommand("inserthtml",e)}}else{if(g&&g.anchorNode.parentNode.tagName=="A"){var d=g.anchorNode.parentNode.href;var h=g.anchorNode.parentNode.text;if(g.toString()===""){this.insert_link_node=g.anchorNode.parentNode}}else{var h=g.toString();var d=""}}b(".redactor_link_text").val(h);b("#redactor_link_url").val(d).focus();b("#redactor_insert_link_btn").click(b.proxy(this.insertLink,this));if(this.opts.linkFileUpload===false){b("#redactor_tabs a").eq(3).remove()}else{if(b("#redactor_file").size()!=0){b("#redactor_file").dragupload({url:this.opts.linkFileUpload,success:b.proxy(this.insertLinkFile,this)})}this.uploadInit("redactor_file",{auto:true,url:this.opts.linkFileUpload,success:b.proxy(this.insertLinkFile,this)})}},this);this.modalInit(RLANG.link,this.opts.path+"/plugins/link.html",460,c)},insertLink:function(){var d=b("#redactor_tab_selected").val();var c="",e="";if(d==1){c=b("#redactor_link_url").val();e=b("#redactor_link_url_text").val()}else{if(d==2){c="mailto:"+b("#redactor_link_mailto").val();e=b("#redactor_link_mailto_text").val()}else{if(d==3){c="#"+b("#redactor_link_anchor").val();e=b("#redactor_link_anchor_text").val()}}}this._insertLink('<a href="'+c+'">'+e+"</a> ",b.trim(e),c)},insertLinkFile:function(c){text=b("#redactor_link_file_text").val();this._insertLink('<a href="'+c+'">'+text+"</a> ",b.trim(text),c)},_insertLink:function(c,e,d){if(e!=""){if(this.insert_link_node){b(this.insert_link_node).text(e);b(this.insert_link_node).attr("href",d);this.syncCode()}else{if(b.browser.msie){b(this.doc.getElementById("span"+this.spanid)).replaceWith(c);this.syncCode()}else{this.execCommand("inserthtml",c)}}}this.modalClose()},showFile:function(){if(b.browser.msie){this.markerIE()}var c=b.proxy(function(){b("#redactor_file").dragupload({url:this.opts.fileUpload,success:b.proxy(function(d){this.fileUploadCallback(d)},this)});this.uploadInit("redactor_file",{auto:true,url:this.opts.fileUpload,success:b.proxy(function(d){this.fileUploadCallback(d)},this)})},this);this.modalInit(RLANG.file,this.opts.path+"/plugins/file.html",500,c)},fileUploadCallback:function(c){if(b.browser.webkit&&!!window.chrome){c=c+" "}if(b.browser.msie){b(this.doc.getElementById("span"+this.spanid)).after(c).remove();this.syncCode()}else{this.execCommand("inserthtml",c)}this.modalClose()},modalInit:function(g,d,f,e,c){if(b("#redactor_modal_overlay").size()==0){this.overlay=b('<div id="redactor_modal_overlay" style="display: none;"></div>');b("body").prepend(this.overlay)}if(this.opts.overlay){b("#redactor_modal_overlay").show();b("#redactor_modal_overlay").click(b.proxy(this.modalClose,this))}if(b("#redactor_modal").size()==0){this.modal=b('<div id="redactor_modal" style="display: none;"><div id="redactor_modal_close">×</div><div id="redactor_modal_header"></div><div id="redactor_modal_inner"></div></div>');b("body").append(this.modal)}b("#redactor_modal_close").click(b.proxy(this.modalClose,this));this.hdlModalClose=b.proxy(function(h){if(h.keyCode==27){this.modalClose()}},this);b(document).keyup(this.hdlModalClose);b(this.doc).keyup(this.hdlModalClose);b.ajax({dataType:"html",type:"get",url:d,success:b.proxy(function(i){b.each(RLANG,function(j,l){var k=new RegExp("%RLANG."+j+"%","gi");i=i.replace(k,l)});b("#redactor_modal_inner").html(i);b("#redactor_modal_header").html(g);if(b("#redactor_tabs").size()!=0){b("#redactor_tabs a").each(function(j,k){j++;b(k).click(function(){b("#redactor_tabs a").removeClass("redactor_tabs_act");b(this).addClass("redactor_tabs_act");b(".redactor_tab").hide();b("#redactor_tab"+j).show();b("#redactor_tab_selected").val(j);var l=b("#redactor_modal").outerHeight();b("#redactor_modal").css("margin-top","-"+(l+10)/2+"px")})})}b("#redactor_btn_modal_close").click(b.proxy(this.modalClose,this));if(typeof(e)=="function"){e()}var h=b("#redactor_modal").outerHeight();b("#redactor_modal").css({width:f+"px",height:"auto",marginTop:"-"+(h+10)/2+"px",marginLeft:"-"+(f+60)/2+"px"}).fadeIn("fast");if(c===true){b("#redactor_image_box").height(300).css("overflow","auto")}},this)})},modalClose:function(){b("#redactor_modal_close").unbind("click",this.modalClose);b("#redactor_modal").fadeOut("fast",b.proxy(function(){b("#redactor_modal_inner").html("");if(this.opts.overlay){b("#redactor_modal_overlay").hide();b("#redactor_modal_overlay").unbind("click",this.modalClose)}b(document).unbind("keyup",this.hdlModalClose);b(this.doc).unbind("keyup",this.hdlModalClose)},this))},uploadInit:function(d,c){this.uploadOptions={url:false,success:false,start:false,trigger:false,auto:false,input:false};b.extend(this.uploadOptions,c);if(b("#"+d).size()!=0&&b("#"+d).get(0).tagName=="INPUT"){this.uploadOptions.input=b("#"+d);this.element=b(b("#"+d).get(0).form)}else{this.element=b("#"+d)}this.element_action=this.element.attr("action");if(this.uploadOptions.auto){b(this.uploadOptions.input).change(b.proxy(function(){this.element.submit(function(f){return false});this.uploadSubmit()},this))}else{if(this.uploadOptions.trigger){b("#"+this.uploadOptions.trigger).click(b.proxy(this.uploadSubmit,this))}}},uploadSubmit:function(){this.uploadForm(this.element,this.uploadFrame())},uploadFrame:function(){this.id="f"+Math.floor(Math.random()*99999);var e=document.createElement("div");var c='<iframe style="display:none" src="about:blank" id="'+this.id+'" name="'+this.id+'"></iframe>';e.innerHTML=c;document.body.appendChild(e);if(this.uploadOptions.start){this.uploadOptions.start()}b("#"+this.id).load(b.proxy(this.uploadLoaded,this));return this.id},uploadForm:function(g,e){if(this.uploadOptions.input){var h="redactorUploadForm"+this.id;var c="redactorUploadFile"+this.id;this.form=b('<form action="'+this.uploadOptions.url+'" method="POST" target="'+e+'" name="'+h+'" id="'+h+'" enctype="multipart/form-data"></form>');var d=this.uploadOptions.input;var i=b(d).clone();b(d).attr("id",c);b(d).before(i);b(d).appendTo(this.form);b(this.form).css("position","absolute");b(this.form).css("top","-2000px");b(this.form).css("left","-2000px");b(this.form).appendTo("body");this.form.submit()}else{g.attr("target",e);g.attr("method","POST");g.attr("enctype","multipart/form-data");g.attr("action",this.uploadOptions.url);this.element.submit()}},uploadLoaded:function(){var c=b("#"+this.id);if(c.contentDocument){var e=c.contentDocument}else{if(c.contentWindow){var e=c.contentWindow.document}else{var e=window.frames[this.id].document}}if(e.location.href=="about:blank"){return true}if(this.uploadOptions.success){this.uploadOptions.success(e.body.innerHTML)}this.element.attr("action",this.element_action);this.element.attr("target","")},markerIE:function(){this.spanid=Math.floor(Math.random()*99999);this.execCommand("inserthtml",'<span id="span'+this.spanid+'"></span>')},oldIE:function(){if(b.browser.msie&&parseInt(b.browser.version,10)<9){return true}return false},outerHTML:function(c){return b("<p>").append(b(c).eq(0).clone()).html()},normalize:function(c){return parseInt(c.replace("px",""))}};b.fn.getDoc=function(){return b(this.data("redactor").doc)};b.fn.getFrame=function(){return this.data("redactor").$frame};b.fn.getEditor=function(){return this.data("redactor").$editor};b.fn.getCode=function(){return this.data("redactor").getCode()};b.fn.setCode=function(c){this.data("redactor").setCode(c)};b.fn.insertHtml=function(c){this.data("redactor").insertHtml(c)};b.fn.destroyEditor=function(){this.data("redactor").destroy();this.removeData("redactor")};b.fn.setFocus=function(){this.data("redactor").focus()};b.fn.execCommand=function(c,d){this.data("redactor").execCommand(c,d)}})(jQuery);(function(b){b.fn.dragupload=function(c){return this.each(function(){var d=new a(this,c);d.init()})};function a(d,c){this.opts=b.extend({url:false,success:false,preview:false,text:RLANG.drop_file_here,atext:RLANG.or_choose},c);this.$el=b(d)}a.prototype={init:function(){if(!b.browser.opera&&!b.browser.msie){this.droparea=b('<div class="redactor_droparea"></div>');this.dropareabox=b('<div class="redactor_dropareabox">'+this.opts.text+"</div>");this.dropalternative=b('<div class="redactor_dropalternative">'+this.opts.atext+"</div>");this.droparea.append(this.dropareabox);this.$el.before(this.droparea);this.$el.before(this.dropalternative);this.dropareabox.bind("dragover",b.proxy(function(){return this.ondrag()},this));this.dropareabox.bind("dragleave",b.proxy(function(){return this.ondragleave()},this));this.dropareabox.get(0).ondrop=b.proxy(function(e){e.preventDefault();this.dropareabox.removeClass("hover").addClass("drop");var d=e.dataTransfer.files[0];var c=new FormData();c.append("file",d);b.ajax({dataType:"html",url:this.opts.url,data:c,cache:false,contentType:false,processData:false,type:"POST",success:b.proxy(function(f){if(this.opts.success!==false){this.opts.success(f)}if(this.opts.preview===true){this.dropareabox.html(f)}},this)})},this)}},ondrag:function(){this.dropareabox.addClass("hover");return false},ondragleave:function(){this.dropareabox.removeClass("hover");return false}}})(jQuery);(function(b){var d=/(^|<|\s)(www\..+?\..+?)(\s|>|$)/g,a=/(^|<|\s)(((https?|ftp):\/\/|mailto:).+?)(\s|>|$)/g,c=function(){var g=this.childNodes,f=g.length;while(f--){var h=g[f];if(h.nodeType==3){var e=h.nodeValue;if(e){e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(d,'$1<a href="http://$2">$2</a>$3').replace(a,'$1<a href="$2">$2</a>$5');b(h).after(e).remove()}}else{if(h.nodeType==1&&!/^(a|button|textarea)$/i.test(h.tagName)){c.call(h)}}}};b.fn.linkify=function(){this.each(c)}})(jQuery);
|
@@ -0,0 +1,214 @@
|
|
1
|
+
if (typeof RTOOLBAR == 'undefined') var RTOOLBAR = {};
|
2
|
+
|
3
|
+
RTOOLBAR['default'] =
|
4
|
+
{
|
5
|
+
html:
|
6
|
+
{
|
7
|
+
title: RLANG.html,
|
8
|
+
func: 'toggle',
|
9
|
+
separator: true
|
10
|
+
},
|
11
|
+
styles:
|
12
|
+
{
|
13
|
+
title: RLANG.styles,
|
14
|
+
func: 'show',
|
15
|
+
dropdown:
|
16
|
+
{
|
17
|
+
p:
|
18
|
+
{
|
19
|
+
title: RLANG.paragraph,
|
20
|
+
exec: 'formatblock',
|
21
|
+
param: '<p>'
|
22
|
+
},
|
23
|
+
blockquote:
|
24
|
+
{
|
25
|
+
title: RLANG.quote,
|
26
|
+
exec: 'formatblock',
|
27
|
+
param: '<blockquote>',
|
28
|
+
style: 'font-style: italic; color: #666; padding-left: 10px;'
|
29
|
+
},
|
30
|
+
pre:
|
31
|
+
{
|
32
|
+
title: RLANG.code,
|
33
|
+
exec: 'formatblock',
|
34
|
+
param: '<pre>',
|
35
|
+
style: 'font-family: monospace, sans-serif;'
|
36
|
+
},
|
37
|
+
h1:
|
38
|
+
{
|
39
|
+
title: RLANG.header1,
|
40
|
+
exec: 'formatblock',
|
41
|
+
param: '<h1>',
|
42
|
+
style: 'font-size: 30px; line-height: 36px; font-weight: bold;'
|
43
|
+
},
|
44
|
+
h2:
|
45
|
+
{
|
46
|
+
title: RLANG.header2,
|
47
|
+
exec: 'formatblock',
|
48
|
+
param: '<h2>',
|
49
|
+
style: 'font-size: 24px; line-height: 36px; font-weight: bold;'
|
50
|
+
},
|
51
|
+
h3:
|
52
|
+
{
|
53
|
+
title: RLANG.header3,
|
54
|
+
exec: 'formatblock',
|
55
|
+
param: '<h3>',
|
56
|
+
style: 'font-size: 20px; line-height: 30px; font-weight: bold;'
|
57
|
+
},
|
58
|
+
h4:
|
59
|
+
{
|
60
|
+
title: RLANG.header4,
|
61
|
+
exec: 'formatblock',
|
62
|
+
param: '<h3>',
|
63
|
+
style: 'font-size: 16px; line-height: 26px; font-weight: bold;'
|
64
|
+
}
|
65
|
+
},
|
66
|
+
separator: true
|
67
|
+
},
|
68
|
+
bold:
|
69
|
+
{
|
70
|
+
title: RLANG.bold,
|
71
|
+
exec: 'Bold',
|
72
|
+
param: false
|
73
|
+
},
|
74
|
+
italic:
|
75
|
+
{
|
76
|
+
title: RLANG.italic,
|
77
|
+
exec: 'italic',
|
78
|
+
param: null
|
79
|
+
},
|
80
|
+
deleted:
|
81
|
+
{
|
82
|
+
title: RLANG.deleted,
|
83
|
+
exec: 'strikethrough',
|
84
|
+
param: null,
|
85
|
+
separator: true
|
86
|
+
},
|
87
|
+
insertunorderedlist:
|
88
|
+
{
|
89
|
+
title: '• ' + RLANG.unorderedlist,
|
90
|
+
exec: 'insertunorderedlist',
|
91
|
+
param: null
|
92
|
+
},
|
93
|
+
insertorderedlist:
|
94
|
+
{
|
95
|
+
title: '1. ' + RLANG.orderedlist,
|
96
|
+
exec: 'insertorderedlist',
|
97
|
+
param: null
|
98
|
+
},
|
99
|
+
outdent:
|
100
|
+
{
|
101
|
+
title: '< ' + RLANG.outdent,
|
102
|
+
exec: 'outdent',
|
103
|
+
param: null
|
104
|
+
},
|
105
|
+
indent:
|
106
|
+
{
|
107
|
+
title: '> ' + RLANG.indent,
|
108
|
+
exec: 'indent',
|
109
|
+
param: null,
|
110
|
+
separator: true
|
111
|
+
},
|
112
|
+
image:
|
113
|
+
{
|
114
|
+
title: RLANG.image,
|
115
|
+
func: 'showImage'
|
116
|
+
},
|
117
|
+
video:
|
118
|
+
{
|
119
|
+
title: RLANG.video,
|
120
|
+
func: 'showVideo'
|
121
|
+
},
|
122
|
+
file:
|
123
|
+
{
|
124
|
+
title: RLANG.file,
|
125
|
+
func: 'showFile'
|
126
|
+
},
|
127
|
+
table:
|
128
|
+
{
|
129
|
+
title: RLANG.table,
|
130
|
+
func: 'show',
|
131
|
+
dropdown:
|
132
|
+
{
|
133
|
+
insert_table: { name: 'insert_table', title: RLANG.insert_table, func: 'showTable' },
|
134
|
+
separator_drop1: { name: 'separator' },
|
135
|
+
insert_row_above: { name: 'insert_row_above', title: RLANG.insert_row_above, func: 'insertRowAbove' },
|
136
|
+
insert_row_below: { name: 'insert_row_below', title: RLANG.insert_row_below, func: 'insertRowBelow' },
|
137
|
+
insert_column_left: { name: 'insert_column_left', title: RLANG.insert_column_left, func: 'insertColumnLeft' },
|
138
|
+
insert_column_right: { name: 'insert_column_right', title: RLANG.insert_column_right, func: 'insertColumnRight' },
|
139
|
+
separator_drop2: { name: 'separator' },
|
140
|
+
add_head: { name: 'add_head', title: RLANG.add_head, func: 'addHead' },
|
141
|
+
delete_head: { name: 'delete_head', title: RLANG.delete_head, func: 'deleteHead' },
|
142
|
+
separator_drop3: { name: 'separator' },
|
143
|
+
delete_column: { name: 'insert_table', title: RLANG.delete_column, func: 'deleteColumn' },
|
144
|
+
delete_row: { name: 'delete_row', title: RLANG.delete_row, func: 'deleteRow' },
|
145
|
+
delete_table: { name: 'delete_table', title: RLANG.delete_table, func: 'deleteTable' }
|
146
|
+
}
|
147
|
+
},
|
148
|
+
link:
|
149
|
+
{
|
150
|
+
title: RLANG.link,
|
151
|
+
func: 'show',
|
152
|
+
dropdown:
|
153
|
+
{
|
154
|
+
link:
|
155
|
+
{
|
156
|
+
title: RLANG.link_insert,
|
157
|
+
func: 'showLink'
|
158
|
+
},
|
159
|
+
unlink:
|
160
|
+
{
|
161
|
+
title: RLANG.unlink,
|
162
|
+
exec: 'unlink',
|
163
|
+
param: null
|
164
|
+
}
|
165
|
+
},
|
166
|
+
separator: true
|
167
|
+
},
|
168
|
+
fontcolor:
|
169
|
+
{
|
170
|
+
title: RLANG.fontcolor,
|
171
|
+
func: 'show'
|
172
|
+
},
|
173
|
+
backcolor:
|
174
|
+
{
|
175
|
+
title: RLANG.backcolor,
|
176
|
+
func: 'show',
|
177
|
+
separator: true
|
178
|
+
},
|
179
|
+
justifyleft:
|
180
|
+
{
|
181
|
+
exec: 'JustifyLeft',
|
182
|
+
name: 'JustifyLeft',
|
183
|
+
title: RLANG.align_left
|
184
|
+
},
|
185
|
+
justifycenter:
|
186
|
+
{
|
187
|
+
exec: 'JustifyCenter',
|
188
|
+
name: 'JustifyCenter',
|
189
|
+
title: RLANG.align_center
|
190
|
+
},
|
191
|
+
justifyright:
|
192
|
+
{
|
193
|
+
exec: 'JustifyRight',
|
194
|
+
name: 'JustifyRight',
|
195
|
+
title: RLANG.align_right
|
196
|
+
},
|
197
|
+
justify:
|
198
|
+
{
|
199
|
+
exec: 'justifyfull',
|
200
|
+
name: 'justifyfull',
|
201
|
+
title: RLANG.align_justify, separator: true
|
202
|
+
},
|
203
|
+
horizontalrule:
|
204
|
+
{
|
205
|
+
exec: 'inserthorizontalrule',
|
206
|
+
name: 'horizontalrule',
|
207
|
+
title: RLANG.horizontalrule
|
208
|
+
},
|
209
|
+
fullscreen:
|
210
|
+
{
|
211
|
+
title: RLANG.fullscreen,
|
212
|
+
func: 'fullscreen'
|
213
|
+
}
|
214
|
+
};
|
@@ -0,0 +1,103 @@
|
|
1
|
+
if (typeof RTOOLBAR == 'undefined') var RTOOLBAR = {};
|
2
|
+
|
3
|
+
RTOOLBAR['mini'] = {
|
4
|
+
styles:
|
5
|
+
{
|
6
|
+
title: RLANG.styles,
|
7
|
+
func: 'show',
|
8
|
+
dropdown:
|
9
|
+
{
|
10
|
+
p:
|
11
|
+
{
|
12
|
+
title: RLANG.paragraph,
|
13
|
+
exec: 'formatblock',
|
14
|
+
param: '<p>'
|
15
|
+
},
|
16
|
+
blockquote:
|
17
|
+
{
|
18
|
+
title: RLANG.quote,
|
19
|
+
exec: 'formatblock',
|
20
|
+
param: '<blockquote>',
|
21
|
+
style: 'font-style: italic; color: #666; padding-left: 10px;'
|
22
|
+
},
|
23
|
+
pre:
|
24
|
+
{
|
25
|
+
title: RLANG.code,
|
26
|
+
exec: 'formatblock',
|
27
|
+
param: '<pre>',
|
28
|
+
style: 'font-family: monospace, sans-serif;'
|
29
|
+
},
|
30
|
+
h1:
|
31
|
+
{
|
32
|
+
title: RLANG.header1,
|
33
|
+
exec: 'formatblock',
|
34
|
+
param: '<h1>',
|
35
|
+
style: 'font-size: 30px; line-height: 36px; font-weight: bold;'
|
36
|
+
},
|
37
|
+
h2:
|
38
|
+
{
|
39
|
+
title: RLANG.header2,
|
40
|
+
exec: 'formatblock',
|
41
|
+
param: '<h2>',
|
42
|
+
style: 'font-size: 24px; line-height: 36px; font-weight: bold;'
|
43
|
+
},
|
44
|
+
h3:
|
45
|
+
{
|
46
|
+
title: RLANG.header3,
|
47
|
+
exec: 'formatblock',
|
48
|
+
param: '<h3>',
|
49
|
+
style: 'font-size: 20px; line-height: 30px; font-weight: bold;'
|
50
|
+
},
|
51
|
+
h4:
|
52
|
+
{
|
53
|
+
title: RLANG.header4,
|
54
|
+
exec: 'formatblock',
|
55
|
+
param: '<h3>',
|
56
|
+
style: 'font-size: 16px; line-height: 26px; font-weight: bold;'
|
57
|
+
}
|
58
|
+
},
|
59
|
+
separator: true
|
60
|
+
},
|
61
|
+
bold:
|
62
|
+
{
|
63
|
+
title: RLANG.bold,
|
64
|
+
exec: 'bold'
|
65
|
+
},
|
66
|
+
italic:
|
67
|
+
{
|
68
|
+
title: RLANG.italic,
|
69
|
+
exec: 'italic',
|
70
|
+
separator: true
|
71
|
+
},
|
72
|
+
insertunorderedlist:
|
73
|
+
{
|
74
|
+
title: '• ' + RLANG.unorderedlist,
|
75
|
+
exec: 'insertunorderedlist'
|
76
|
+
},
|
77
|
+
insertorderedlist:
|
78
|
+
{
|
79
|
+
title: '1. ' + RLANG.orderedlist,
|
80
|
+
exec: 'insertorderedlist'
|
81
|
+
},
|
82
|
+
outdent:
|
83
|
+
{
|
84
|
+
title: '< ' + RLANG.outdent,
|
85
|
+
exec: 'outdent'
|
86
|
+
},
|
87
|
+
indent:
|
88
|
+
{
|
89
|
+
title: '> ' + RLANG.indent,
|
90
|
+
exec: 'indent',
|
91
|
+
separator: true
|
92
|
+
},
|
93
|
+
link:
|
94
|
+
{
|
95
|
+
title: RLANG.link,
|
96
|
+
func: 'show',
|
97
|
+
dropdown:
|
98
|
+
{
|
99
|
+
link: {name: 'link', title: RLANG.link_insert, func: 'showLink'},
|
100
|
+
unlink: {exec: 'unlink', name: 'unlink', title: RLANG.unlink}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
};
|
@@ -0,0 +1,368 @@
|
|
1
|
+
.redactor_box {
|
2
|
+
position: relative;
|
3
|
+
border: 1px solid #ddd;
|
4
|
+
line-height: 0;
|
5
|
+
}
|
6
|
+
.redactor_box, .redactor_box textarea {
|
7
|
+
background-color: #fff;
|
8
|
+
}
|
9
|
+
.redactor_box iframe {
|
10
|
+
outline: none;
|
11
|
+
width: 100%;
|
12
|
+
background: #fff;
|
13
|
+
display: block;
|
14
|
+
overflow: auto;
|
15
|
+
}
|
16
|
+
.redactor_box textarea {
|
17
|
+
font-family: Menlo, Monaco, monospace, sans-serif;
|
18
|
+
font-size: 13px;
|
19
|
+
overflow: auto;
|
20
|
+
resize: none;
|
21
|
+
margin: 0;
|
22
|
+
padding: 0;
|
23
|
+
display: block;
|
24
|
+
position: relative;
|
25
|
+
z-index: 1004;
|
26
|
+
outline: none;
|
27
|
+
border: none;
|
28
|
+
width: 100%;
|
29
|
+
}
|
30
|
+
.redactor_box textarea:focus {
|
31
|
+
outline: none !important;
|
32
|
+
border: none !important;
|
33
|
+
box-shadow: none;
|
34
|
+
}
|
35
|
+
|
36
|
+
/*
|
37
|
+
Fuulscreen
|
38
|
+
*/
|
39
|
+
body .redactor_box_fullscreen {
|
40
|
+
border: medium none !important;
|
41
|
+
height: 100%;
|
42
|
+
left: 0;
|
43
|
+
position: absolute;
|
44
|
+
top: 0;
|
45
|
+
width: 100%;
|
46
|
+
z-index: 2000;
|
47
|
+
}
|
48
|
+
|
49
|
+
/*
|
50
|
+
TOOLBAR
|
51
|
+
*/
|
52
|
+
.redactor_toolbar {
|
53
|
+
position: relative;
|
54
|
+
z-index: 2002;
|
55
|
+
height: 33px;
|
56
|
+
left: 0;
|
57
|
+
top: 0;
|
58
|
+
margin: 0 !important;
|
59
|
+
padding: 0 !important;
|
60
|
+
line-height: 0 !important;
|
61
|
+
list-style: none;
|
62
|
+
font-size: 0;
|
63
|
+
background: #f2f2f2;
|
64
|
+
background: -moz-linear-gradient(top, #f5f5f5 0%, #ddd 100%);
|
65
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#ddd));
|
66
|
+
background: -webkit-linear-gradient(top, #f5f5f5 0%,#ddd 100%);
|
67
|
+
background: -o-linear-gradient(top, #f5f5f5 0%,#ddd 100%);
|
68
|
+
background: -ms-linear-gradient(top, #f5f5f5 0%,#ddd 100%);
|
69
|
+
background: linear-gradient(top, #f5f5f5 0%,#ddd 100%);
|
70
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#dddddd',GradientType=0 );
|
71
|
+
overflow: hidden;
|
72
|
+
border-bottom: 1px solid #c2c2c2;
|
73
|
+
}
|
74
|
+
.redactor_toolbar li {
|
75
|
+
float: left !important;
|
76
|
+
padding: 3px 1px;
|
77
|
+
padding-right: 0;
|
78
|
+
list-style-type: none;
|
79
|
+
}
|
80
|
+
.redactor_toolbar li.redactor_separator {
|
81
|
+
float: left;
|
82
|
+
height: 34px;
|
83
|
+
border-left: 1px solid #d7d7d7;
|
84
|
+
border-right: 1px solid #eee;
|
85
|
+
padding: 0;
|
86
|
+
margin: 0 2px 0 3px;
|
87
|
+
}
|
88
|
+
li.redactor_toolbar_right {
|
89
|
+
float: none;
|
90
|
+
float: right !important;
|
91
|
+
padding: 2px 0;
|
92
|
+
padding-right: 1px !important;
|
93
|
+
}
|
94
|
+
.redactor_toolbar li a, .redactor_toolbar li a span {
|
95
|
+
width: 25px;
|
96
|
+
height: 26px;
|
97
|
+
}
|
98
|
+
.redactor_toolbar li a {
|
99
|
+
border: 1px solid transparent;
|
100
|
+
* border: 1px solid #eee;
|
101
|
+
display: block;
|
102
|
+
line-height: 0;
|
103
|
+
font-size: 0;
|
104
|
+
cursor: pointer;
|
105
|
+
zoom: 1;
|
106
|
+
text-decoration: none;
|
107
|
+
}
|
108
|
+
.redactor_toolbar li a span {
|
109
|
+
display: block;
|
110
|
+
text-indent: -9999px;
|
111
|
+
background: url(../img/icons.png) no-repeat top left;
|
112
|
+
}
|
113
|
+
|
114
|
+
.redactor_toolbar li a:hover {
|
115
|
+
border-color: #98a6ba;
|
116
|
+
background-color: #dde4ef;
|
117
|
+
}
|
118
|
+
.redactor_toolbar li a:active, .redactor_toolbar li a.act {
|
119
|
+
border-color: #b5b5b5;
|
120
|
+
background-color: #e8e8e8;
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
/*
|
125
|
+
BUTTONS
|
126
|
+
step 25px
|
127
|
+
*/
|
128
|
+
body .redactor_toolbar li a.redactor_btn_html span { background-position: 0; }
|
129
|
+
body .redactor_toolbar li a.redactor_btn_styles span { background-position: -25px; }
|
130
|
+
body .redactor_toolbar li a.redactor_btn_bold span { background-position: -50px; }
|
131
|
+
body .redactor_toolbar li a.redactor_btn_italic span { background-position: -75px; }
|
132
|
+
body .redactor_toolbar li a.redactor_btn_deleted span { background-position: -550px; }
|
133
|
+
body .redactor_toolbar li a.redactor_btn_insertunorderedlist span { background-position: -100px; }
|
134
|
+
body .redactor_toolbar li a.redactor_btn_insertorderedlist span { background-position: -125px; }
|
135
|
+
body .redactor_toolbar li a.redactor_btn_outdent span { background-position: -150px; }
|
136
|
+
body .redactor_toolbar li a.redactor_btn_indent span { background-position: -175px; }
|
137
|
+
body .redactor_toolbar li a.redactor_btn_image span { background-position: -200px; }
|
138
|
+
body .redactor_toolbar li a.redactor_btn_video span { background-position: -225px; }
|
139
|
+
body .redactor_toolbar li a.redactor_btn_file span { background-position: -250px; }
|
140
|
+
body .redactor_toolbar li a.redactor_btn_table span { background-position: -275px; }
|
141
|
+
body .redactor_toolbar li a.redactor_btn_link span { background-position: -300px; }
|
142
|
+
body .redactor_toolbar li a.redactor_btn_fontcolor span { background-position: -325px; }
|
143
|
+
body .redactor_toolbar li a.redactor_btn_backcolor span { background-position: -350px; }
|
144
|
+
body .redactor_toolbar li a.redactor_btn_justifyleft span { background-position: -375px; }
|
145
|
+
body .redactor_toolbar li a.redactor_btn_justifycenter span { background-position: -400px; }
|
146
|
+
body .redactor_toolbar li a.redactor_btn_justifyright span { background-position: -425px; }
|
147
|
+
body .redactor_toolbar li a.redactor_btn_justify span { background-position: -450px; }
|
148
|
+
body .redactor_toolbar li a.redactor_btn_horizontalrule span { background-position: -475px; }
|
149
|
+
body .redactor_toolbar li a.redactor_btn_fullscreen span { background-position: -500px; }
|
150
|
+
body .redactor_toolbar li a.redactor_btn_normalscreen span { background-position: -525px !important; }
|
151
|
+
|
152
|
+
|
153
|
+
/*
|
154
|
+
RESIZER
|
155
|
+
*/
|
156
|
+
.redactor_resizer {
|
157
|
+
font-family: Arial, Tahoma, Verdana, Helvetica, sans-serif;
|
158
|
+
background-color: #f5f5f5;
|
159
|
+
padding-top: 2px;
|
160
|
+
line-height: 4px;
|
161
|
+
font-size: 12px;
|
162
|
+
color: #ddd;
|
163
|
+
text-align: center;
|
164
|
+
text-shadow: 0 -1px 0 #aaa;
|
165
|
+
cursor: s-resize;
|
166
|
+
}
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
/*
|
171
|
+
DROPDOWN
|
172
|
+
*/
|
173
|
+
.redactor_dropdown {
|
174
|
+
top: 28px;
|
175
|
+
left: 0;
|
176
|
+
z-index: 2004;
|
177
|
+
position: absolute;
|
178
|
+
width: 200px;
|
179
|
+
background-color: #fff;
|
180
|
+
border: 1px solid #ccc;
|
181
|
+
font-size: 13px;
|
182
|
+
-webkit-box-shadow: 0 2px 4px #ccc;
|
183
|
+
-moz-box-shadow: 0 2px 4px #ccc;
|
184
|
+
box-shadow: 0 2px 4px #ccc;
|
185
|
+
line-height: 21px;
|
186
|
+
padding: 10px;
|
187
|
+
}
|
188
|
+
.redactor_separator_drop {
|
189
|
+
border-top: 1px solid #ddd;;
|
190
|
+
padding: 0 !important;
|
191
|
+
line-height: 0;
|
192
|
+
font-size: 0;
|
193
|
+
}
|
194
|
+
.redactor_dropdown a {
|
195
|
+
display: block;
|
196
|
+
color: #000;
|
197
|
+
padding: 3px 5px;
|
198
|
+
text-decoration: none;
|
199
|
+
}
|
200
|
+
.redactor_dropdown a:hover {
|
201
|
+
color: #444 !important;
|
202
|
+
text-decoration: none;
|
203
|
+
background-color: #dde4ef;
|
204
|
+
}
|
205
|
+
|
206
|
+
/* ColorPicker */
|
207
|
+
.redactor_color_link {
|
208
|
+
padding: 0 !important;
|
209
|
+
width: 15px !important;
|
210
|
+
height: 15px !important;
|
211
|
+
float: left !important;
|
212
|
+
border: 2px solid #fff !important;
|
213
|
+
font-size: 0;
|
214
|
+
}
|
215
|
+
.redactor_color_none {
|
216
|
+
font-size: 11px;
|
217
|
+
}
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
/* MODAL */
|
222
|
+
#redactor_modal_overlay {
|
223
|
+
position: fixed;
|
224
|
+
margin: auto;
|
225
|
+
top: 0;
|
226
|
+
left: 0;
|
227
|
+
width: 100%;
|
228
|
+
height: 100%;
|
229
|
+
z-index: 50000;
|
230
|
+
|
231
|
+
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
|
232
|
+
filter:alpha(opacity=70);
|
233
|
+
opacity: 0.70;
|
234
|
+
|
235
|
+
background-color: #fff !important;
|
236
|
+
}
|
237
|
+
|
238
|
+
#redactor_modal {
|
239
|
+
background-color: #fff;
|
240
|
+
padding: 0;
|
241
|
+
position: fixed;
|
242
|
+
top: 50%;
|
243
|
+
left: 50%;
|
244
|
+
|
245
|
+
box-shadow: 0px 5px 20px #999;
|
246
|
+
-webkit-box-shadow: 0 5px 20px #999;
|
247
|
+
-moz-box-shadow: 0 5px 20px #999;
|
248
|
+
|
249
|
+
-webkit-border-radius: 8px;
|
250
|
+
-moz-border-radius: 8px;
|
251
|
+
border-radius: 8px;
|
252
|
+
|
253
|
+
z-index: 50001;
|
254
|
+
font-family: "Trebuchet MS", "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
|
255
|
+
color: #000;
|
256
|
+
}
|
257
|
+
#redactor_modal_header {
|
258
|
+
padding: 15px;
|
259
|
+
font-size: 18px;
|
260
|
+
|
261
|
+
border-radius: 8px 8px 0 0;
|
262
|
+
|
263
|
+
font-weight: bold;
|
264
|
+
background-color: #f6f6f6;
|
265
|
+
border-bottom: 1px solid #ddd;
|
266
|
+
}
|
267
|
+
#redactor_modal_inner {
|
268
|
+
padding: 30px;
|
269
|
+
}
|
270
|
+
#redactor_modal_close {
|
271
|
+
position: absolute;
|
272
|
+
right: 0px;
|
273
|
+
top: 11px;
|
274
|
+
font-size: 24px;
|
275
|
+
width: 30px;
|
276
|
+
height: 30px;
|
277
|
+
color: #999;
|
278
|
+
cursor: pointer;
|
279
|
+
}
|
280
|
+
#redactor_modal_close:hover {
|
281
|
+
color: #000;
|
282
|
+
}
|
283
|
+
#redactor_modal label {
|
284
|
+
display: inline !important;
|
285
|
+
}
|
286
|
+
.redactor_ruler {
|
287
|
+
margin-bottom: 10px;
|
288
|
+
width: 99% !important;
|
289
|
+
}
|
290
|
+
.redactor_ruler td {
|
291
|
+
font-size: 12px !important;
|
292
|
+
padding: 5px !important;
|
293
|
+
border: none !important;
|
294
|
+
vertical-align: middle !important;
|
295
|
+
}
|
296
|
+
#redactor_image_box {
|
297
|
+
height: 270px;
|
298
|
+
overflow: auto;
|
299
|
+
margin-bottom: 10px;
|
300
|
+
}
|
301
|
+
#redactor_image_box img {
|
302
|
+
margin-right: 10px;
|
303
|
+
margin-bottom: 10px;
|
304
|
+
cursor: pointer;
|
305
|
+
}
|
306
|
+
#redactor_tabs {
|
307
|
+
margin-bottom: 18px;
|
308
|
+
}
|
309
|
+
#redactor_tabs a {
|
310
|
+
display: inline-block;
|
311
|
+
border: 1px solid #ddd;
|
312
|
+
padding: 4px 14px;
|
313
|
+
font-size: 12px;
|
314
|
+
text-decoration: none;
|
315
|
+
color: #000;
|
316
|
+
line-height: 1;
|
317
|
+
-webkit-border-radius: 10px;
|
318
|
+
-moz-border-radius: 10px;
|
319
|
+
border-radius: 10px;
|
320
|
+
}
|
321
|
+
#redactor_tabs a:hover, #redactor_tabs a.redactor_tabs_act {
|
322
|
+
background-color: #eee;
|
323
|
+
color: #777 !important;
|
324
|
+
text-decoration: none !important;
|
325
|
+
}
|
326
|
+
.redactor_btns_box {
|
327
|
+
float: right;
|
328
|
+
padding: 6px 16px;
|
329
|
+
background-color: #eee;
|
330
|
+
-webkit-border-radius: 5px;
|
331
|
+
-moz-border-radius: 5px;
|
332
|
+
border-radius: 5px;
|
333
|
+
}
|
334
|
+
|
335
|
+
/* Drag and Drop Area */
|
336
|
+
.redactor_droparea {
|
337
|
+
position: relative;
|
338
|
+
width: 100%;
|
339
|
+
margin: auto;
|
340
|
+
margin-bottom: 5px;
|
341
|
+
}
|
342
|
+
.redactor_droparea .redactor_dropareabox {
|
343
|
+
z-index: 1;
|
344
|
+
position: relative;
|
345
|
+
text-align: center;
|
346
|
+
width: 99%;
|
347
|
+
padding: 60px 0;
|
348
|
+
border: 2px dashed #bbb;
|
349
|
+
}
|
350
|
+
.redactor_droparea .redactor_dropareabox, .redactor_dropalternative {
|
351
|
+
color: #777;
|
352
|
+
font-size: 12px;
|
353
|
+
}
|
354
|
+
.redactor_dropalternative {
|
355
|
+
margin: 4px 0 2px 0;
|
356
|
+
}
|
357
|
+
.redactor_dropareabox.hover {
|
358
|
+
background: #efe3b8;
|
359
|
+
border-color: #aaa;
|
360
|
+
}
|
361
|
+
.redactor_dropareabox.error {
|
362
|
+
background: #f7e5e5;
|
363
|
+
border-color: #dcc3c3;
|
364
|
+
}
|
365
|
+
.redactor_dropareabox.drop {
|
366
|
+
background: #f4f4ee;
|
367
|
+
border-color: #e0e5d6;
|
368
|
+
}
|