","$1"),d("\\s*(?"+e+"[^>]*>)","$1"),d("(?"+e+"[^>]*>)\\s*
","$1"),d("(?"+e+"[^>]*>)\\s*
","$1"),d("
(\\s*?(p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)","$1"),-1!=b.indexOf(")((.|\n)*?)
",function(a,b,d,e){return c(b,"\\\\(['\"\\\\])","$1")+c(c(c(e,"","\n"),"
|
",""),"\\\\(['\"\\\\])","$1")+""}),d("\n$","")},stripTags:function(b){var c=this.opts.allowedTags,d=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi;return b.replace(d,function(b,d){return a.inArray(d.toLowerCase(),c)>"-1"?b:""})},savePreCode:function(b){var c=b.match(/([\w\W]*?)<\/pre>/gi);return null!==c&&a.each(c,a.proxy(function(a,c){var d=c.match(/([\w\W]*?)<\/pre>/i);d[2]=this.encodeEntities(d[2]),b=b.replace(c,""+d[2]+"
")},this)),b},encodeEntities:function(a){return a=String(a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"'),String(a).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},cleanupPre:function(a){a=a.replace(/
/gi,"\n"),a=a.replace(/<\/p>/gi,"\n"),a=a.replace(/<\/div>/gi,"\n");var b=this.document.createElement("div");return b.innerHTML=a,b.textContent||b.innerText},pasteCleanUp:function(b){var c=this.getParentNode();return"PRE"===a(c).get(0).tagName?(b=this.cleanupPre(b),this.pasteCleanUpInsert(b),!0):(b=b.replace(/|<\?(?:php)?[\s\S]*?\?>/gi,""),b=b.replace(/( ){2,}/gi," "),b=b.replace(/([\w\W]*?)<\/b>/gi,"$2"),b=this.stripTags(b),b=b.replace(/<\/td>/gi,"[td]"),b=b.replace(/ | <\/td>/gi,"[td]"),b=b.replace(/ | <\/td>/gi,"[td]"),b=b.replace(/([\w\W]*?)<\/a>/gi,'[a href="$2"]$4[/a]'),b=b.replace(/ | ","",""],d=0;d").addClass("redactor_toolbar"),this.opts.air?(a(this.air).append(this.$toolbar),a("body").append(this.air)):this.opts.toolbarExternal===!1?this.$box.prepend(this.$toolbar):a(this.opts.toolbarExternal).html(this.$toolbar),a.each(this.opts.buttons,a.proxy(function(b,c){if("|"!==c&&"undefined"!=typeof this.opts.toolbar[c]){var d=this.opts.toolbar[c];if(this.opts.fileUpload===!1&&"file"===c)return!0;this.$toolbar.append(a("").append(this.buildButton(c,d)))}"|"===c&&this.$toolbar.append(a(''))},this)),void 0)},buildButton:function(b,c){var d=a('');if("undefined"==typeof c.func?d.click(a.proxy(function(){-1!=a.inArray(b,this.opts.activeButtons)&&(this.inactiveAllButtons(),this.setBtnActive(b)),this.browser("mozilla")&&this.$editor.focus(),this.execCommand(c.exec,b)},this)):"show"!==c.func&&d.click(a.proxy(function(a){this[c.func](a)},this)),"undefined"!=typeof c.callback&&c.callback!==!1&&d.click(a.proxy(function(a){c.callback(this,a,b)},this)),"backcolor"===b||"fontcolor"===b||"undefined"!=typeof c.dropdown){var e=a('');e="backcolor"===b||"fontcolor"===b?this.buildColorPicker(e,b):this.buildDropdown(e,c.dropdown),this.dropdowns.push(e.appendTo(a(document.body))),this.hdlShowDropDown=a.proxy(function(a){this.showDropDown(a,e,b)},this),d.click(this.hdlShowDropDown)}return d},buildDropdown:function(b,c){return a.each(c,a.proxy(function(c,d){"undefined"==typeof d.className&&(d.className="");var e;"undefined"!=typeof d.name&&"separator"===d.name?e=a('
'):(e=a(''+d.title+""),a(e).click("function"==typeof d.callback?a.proxy(function(a){d.callback(this,a,c)},this):"undefined"==typeof d.func?a.proxy(function(){this.execCommand(d.exec,c)},this):a.proxy(function(a){this[d.func](a)},this))),a(b).append(e)},this)),b},buildColorPicker:function(b,c){var d;d="backcolor"===c?this.browser("msie")?"BackColor":"hilitecolor":"forecolor",a(b).width(210);for(var e=this.opts.colors.length,f=0;e>f;++f){var g=this.opts.colors[f],h=a('
').css({backgroundColor:g});a(b).append(h);var i=this;a(h).click(function(){i.execCommand(d,a(this).attr("rel")),"forecolor"===d&&i.$editor.find("font").replaceWith(function(){return a('
'+a(this).html()+"")}),i.browser("msie")&&"BackColor"===d&&i.$editor.find("font").replaceWith(function(){return a('
'+a(this).html()+"")})})}var j=a('
').html(RLANG.none);return j.click("backcolor"===c?a.proxy(this.setBackgroundNone,this):a.proxy(this.setColorNone,this)),a(b).append(j),b},setBackgroundNone:function(){a(this.getParentNode()).css("background-color","transparent"),this.syncCode()},setColorNone:function(){a(this.getParentNode()).attr("color","").css("color",""),this.syncCode()},showDropDown:function(b,c,d){if(this.getBtn(d).hasClass("dropact"))this.hideAllDropDown();else{this.hideAllDropDown(),this.setBtnActive(d),this.getBtn(d).addClass("dropact");var e=this.getBtn(d).offset().left;if(this.opts.air){var f=this.air.offset().top;a(c).css({position:"absolute",left:e+"px",top:f+30+"px"}).show()}else if(this.opts.fixed&&this.fixed)a(c).css({position:"fixed",left:e+"px",top:"30px"}).show();else{var g=this.$toolbar.offset().top+30;a(c).css({position:"absolute",left:e+"px",top:g+"px"}).show()}}var h=a.proxy(function(a){this.hideDropDown(a,c,d)},this);a(document).one("click",h),this.$editor.one("click",h),this.$content.one("click",h),b.stopPropagation()},hideAllDropDown:function(){this.$toolbar.find("a.dropact").removeClass("redactor_act").removeClass("dropact"),a(".redactor_dropdown").hide()},hideDropDown:function(b,c){a(b.target).hasClass("dropact")||(a(c).removeClass("dropact"),this.showedDropDown=!1,this.hideAllDropDown())},getBtn:function(b){return this.opts.toolbar===!1?!1:a(this.$toolbar.find("a.redactor_btn_"+b))},setBtnActive:function(a){this.getBtn(a).addClass("redactor_act")},setBtnInactive:function(a){this.getBtn(a).removeClass("redactor_act")},inactiveAllButtons:function(){a.each(this.opts.activeButtons,a.proxy(function(a,b){this.setBtnInactive(b)},this))},changeBtnIcon:function(a,b){this.getBtn(a).addClass("redactor_btn_"+b)},removeBtnIcon:function(a,b){this.getBtn(a).removeClass("redactor_btn_"+b)},addBtnSeparator:function(){this.$toolbar.append(a('
'))},addBtnSeparatorAfter:function(b){var c=this.getBtn(b);c.parent().after(a('
'))},addBtnSeparatorBefore:function(b){var c=this.getBtn(b);c.parent().before(a('
'))},removeBtnSeparatorAfter:function(a){var b=this.getBtn(a);b.parent().next().remove()},removeBtnSeparatorBefore:function(a){var b=this.getBtn(a);b.parent().prev().remove()},setBtnRight:function(a){return this.opts.toolbar===!1?!1:(this.getBtn(a).parent().addClass("redactor_btn_right"),void 0)},setBtnLeft:function(a){return this.opts.toolbar===!1?!1:(this.getBtn(a).parent().removeClass("redactor_btn_right"),void 0)},addBtn:function(b,c,d,e){if(this.opts.toolbar===!1)return!1;var f=this.buildButton(b,{title:c,callback:d,dropdown:e});this.$toolbar.append(a("
").append(f))},addBtnFirst:function(b,c,d,e){if(this.opts.toolbar===!1)return!1;var f=this.buildButton(b,{title:c,callback:d,dropdown:e});this.$toolbar.prepend(a("").append(f))},addBtnAfter:function(b,c,d,e,f){if(this.opts.toolbar===!1)return!1;var g=this.buildButton(c,{title:d,callback:e,dropdown:f}),h=this.getBtn(b);h.parent().after(a("").append(g))},addBtnBefore:function(b,c,d,e,f){if(this.opts.toolbar===!1)return!1;var g=this.buildButton(c,{title:d,callback:e,dropdown:f}),h=this.getBtn(b);h.parent().before(a("").append(g))},removeBtn:function(a,b){var c=this.getBtn(a);b===!0&&c.parent().next().remove(),c.parent().removeClass("redactor_btn_right"),c.remove()},getFragmentHtml:function(a){var b=a.cloneNode(!0),c=this.document.createElement("div");return c.appendChild(b),c.innerHTML},extractContent:function(){for(var a,b=this.$editor.get(0),c=this.document.createDocumentFragment();a=b.firstChild;)c.appendChild(a);return c},saveSelection:function(){this.$editor.focus(),this.savedSel=this.getOrigin(),this.savedSelObj=this.getFocus()},restoreSelection:function(){"undefined"!=typeof this.savedSel&&null!==this.savedSel&&null!==this.savedSelObj&&"BODY"!==this.savedSel[0].tagName?this.opts.iframe===!1&&0==a(this.savedSel[0]).closest(".redactor_editor").size()?this.$editor.focus():(this.browser("opera")&&this.$editor.focus(),this.setSelection(this.savedSel[0],this.savedSel[1],this.savedSelObj[0],this.savedSelObj[1]),this.browser("mozilla")&&this.$editor.focus()):this.$editor.focus()},getSelection:function(){var a=this.document;return this.window.getSelection?this.window.getSelection():a.getSelection?a.getSelection():a.selection.createRange()},hasSelection:function(){if(this.oldIE()){var a,b=this.$editor.get(0);return b.focus(),b.document.selection?(a=b.document.selection.createRange(),a&&a.parentElement().document===b.document):!1}var c;return(c=this.getSelection())&&null!=c.focusNode&&null!=c.anchorNode},getOrigin:function(){if(this.oldIE()){var a,b=this.$editor.get(0);return b.focus(),this.hasSelection()?(a=b.document.selection.createRange(),this._getBoundary(b.document,a,!0)):null}var c;return(c=this.getSelection())&&null!=c.anchorNode?[c.anchorNode,c.anchorOffset]:null},getFocus:function(){if(this.oldIE()){var a,b=this.$editor.get(0);return b.focus(),this.hasSelection()?(a=b.document.selection.createRange(),this._getBoundary(b.document,a,!1)):null}var c;return(c=this.getSelection())&&null!=c.focusNode?[c.focusNode,c.focusOffset]:null},setSelection:function(a,b,c,d){if(null==c&&(c=a),null==d&&(d=b),this.oldIE()){var e=this.$editor.get(0),f=e.document.body.createTextRange();return this._moveBoundary(e.document,f,!1,c,d),this._moveBoundary(e.document,f,!0,a,b),f.select()}var g=this.getSelection();if(g)if(g.collapse&&g.extend)g.collapse(a,b),g.extend(c,d);else{r=this.document.createRange(),r.setStart(a,b),r.setEnd(c,d);try{g.removeAllRanges()}catch(h){}g.addRange(r)}},getCurrentNode:function(){return"undefined"!=typeof this.window.getSelection?this.getSelectedNode().parentNode:"undefined"!=typeof this.document.selection?this.getSelection().parentElement():void 0},getParentNode:function(){return a(this.getCurrentNode()).parent()[0]},getSelectedNode:function(){if(this.oldIE())return this.getSelection().parentElement();if("undefined"!=typeof this.window.getSelection){var a=this.window.getSelection();return a.rangeCount>0?this.getSelection().getRangeAt(0).commonAncestorContainer:!1}return"undefined"!=typeof this.document.selection?this.getSelection():void 0},_getBoundary:function(a,b,c){var d,e,f,g,h;for(e=a.createElement("a"),d=b.duplicate(),d.collapse(c),h=d.parentElement();;)if(h.insertBefore(e,e.previousSibling),d.moveToElementText(e),!(d.compareEndPoints(c?"StartToStart":"StartToEnd",b)>0&&null!=e.previousSibling))break;return-1===d.compareEndPoints(c?"StartToStart":"StartToEnd",b)&&e.nextSibling?(d.setEndPoint(c?"EndToStart":"EndToEnd",b),f=e.nextSibling,g=d.text.length):(f=e.parentNode,g=this._getChildIndex(e)),e.parentNode.removeChild(e),[f,g]},_moveBoundary:function(a,b,c,d,e){var f,g,h,i,j;return j=0,f=this._isText(d)?d:d.childNodes[e],g=this._isText(d)?d.parentNode:d,this._isText(d)&&(j=e),i=a.createElement("a"),g.insertBefore(i,f||null),h=a.body.createTextRange(),h.moveToElementText(i),i.parentNode.removeChild(i),b.setEndPoint(c?"StartToStart":"EndToEnd",h),b[c?"moveStart":"moveEnd"]("character",j)},_isText:function(a){return null!=a?3==a.nodeType:!1},_getChildIndex:function(a){for(var b=0;a=a.previousSibling;)b++;return b},insertNodeAfterCaret:function(a){this.saveSelection(),this.insertNodeAtCaret(a),this.restoreSelection()},insertNodeAtCaret:function(a){if(this.window.getSelection){var b=this.getSelection();if(b.rangeCount){var c=b.getRangeAt(0);c.collapse(!1),c.insertNode(a),c=c.cloneRange(),c.selectNodeContents(a),c.collapse(!1),b.removeAllRanges(),b.addRange(c)}}else if(this.document.selection){var d=1===a.nodeType?a.outerHTML:a.data,e="marker_"+(""+Math.random()).slice(2);d+='';var f=this.getSelection();f.collapse(!1),f.pasteHTML(d);var g=this.document.getElementById(e);f.moveToElementText(g),f.select(),g.parentNode.removeChild(g)}},getSelectedHtml:function(){var a="";if(this.window.getSelection){var b=this.window.getSelection();if(b.rangeCount){for(var c=this.document.createElement("div"),d=0,e=b.rangeCount;e>d;++d)c.appendChild(b.getRangeAt(d).cloneContents());a=c.innerHTML}}else this.document.selection&&"Text"===this.document.selection.type&&(a=this.document.selection.createRange().htmlText);return a},resizeImage:function(b){var c,d,e=!1,f=!1,g=a(b).width()/a(b).height(),h=10,i=10;a(b).off("hover mousedown mouseup click mousemove"),a(b).hover(function(){a(b).css("cursor","nw-resize")},function(){a(b).css("cursor",""),e=!1}),a(b).mousedown(function(h){h.preventDefault(),g=a(b).width()/a(b).height(),e=!0,f=!0,c=Math.round(h.pageX-a(b).eq(0).offset().left),d=Math.round(h.pageY-a(b).eq(0).offset().top)}),a(b).mouseup(a.proxy(function(){e=!1,a(b).css("cursor",""),this.syncCode()},this)),a(b).click(a.proxy(function(a){f&&this.imageEdit(a)},this)),a(b).mousemove(function(j){if(e){f=!1;var k=(Math.round(j.pageX-a(this).eq(0).offset().left)-c,Math.round(j.pageY-a(this).eq(0).offset().top)-d),l=a(b).height(),m=parseInt(l,10)+k,n=m*g;n>h&&a(b).width(n),m>i&&a(b).height(m),c=Math.round(j.pageX-a(this).eq(0).offset().left),d=Math.round(j.pageY-a(this).eq(0).offset().top)}})},showTable:function(){this.saveSelection(),this.modalInit(RLANG.table,this.opts.modal_table,300,a.proxy(function(){a("#redactor_insert_table_btn").click(a.proxy(this.insertTable,this)),setTimeout(function(){a("#redactor_table_rows").focus()},200)},this))},insertTable:function(){for(var b=a("#redactor_table_rows").val(),c=a("#redactor_table_columns").val(),d=a(""),e=Math.floor(99999*Math.random()),f=a(''),g=0;b>g;g++){for(var h=a("
"),i=0;c>i;i++){var j=a("
| ");a(h).append(j)}a(f).append(h)}a(d).append(f);var k=a(d).html()+"";this.restoreSelection(),this.execCommand("inserthtml",k),this.modalClose(),this.observeTables()},tableObserver:function(b){this.$table=a(b.target).closest("table"),this.$table_tr=this.$table.find("tr"),this.$table_td=this.$table.find("td"),this.$tbody=a(b.target).closest("tbody"),this.$thead=a(this.$table).find("thead"),this.$current_td=a(b.target),this.$current_tr=a(b.target).closest("tr")},deleteTable:function(){a(this.$table).remove(),this.$table=!1,this.syncCode()},deleteRow:function(){a(this.$current_tr).remove(),this.syncCode()},deleteColumn:function(){var b=a(this.$current_td).get(0).cellIndex;a(this.$table).find("tr").each(function(){a(this).find("td").eq(b).remove()}),this.syncCode()},addHead:function(){if(0!==a(this.$table).find("thead").size())this.deleteHead();else{var b=a(this.$table).find("tr").first().clone();b.find("td").html(" "),this.$thead=a(""),this.$thead.append(b),a(this.$table).prepend(this.$thead),this.syncCode()}},deleteHead:function(){a(this.$thead).remove(),this.$thead=!1,this.syncCode()},insertRowAbove:function(){this.insertRow("before")},insertRowBelow:function(){this.insertRow("after")},insertColumnLeft:function(){this.insertColumn("before")},insertColumnRight:function(){this.insertColumn("after")},insertRow:function(b){var c=a(this.$current_tr).clone();c.find("td").html(" "),"after"===b?a(this.$current_tr).after(c):a(this.$current_tr).before(c),this.syncCode()},insertColumn:function(b){var c=0;this.$current_tr.find("td").each(a.proxy(function(b,d){a(d)[0]===this.$current_td[0]&&(c=b)},this)),this.$table_tr.each(function(d,e){var f=a(e).find("td").eq(c),g=f.clone();g.html(" "),"after"===b?a(f).after(g):a(f).before(g)}),this.syncCode()},showVideo:function(){this.saveSelection(),this.modalInit(RLANG.video,this.opts.modal_video,600,a.proxy(function(){a("#redactor_insert_video_btn").click(a.proxy(this.insertVideo,this)),setTimeout(function(){a("#redactor_insert_video_area").focus()},200)},this))},insertVideo:function(){var b=a("#redactor_insert_video_area").val();b=this.stripTags(b),this.restoreSelection(),this.execCommand("inserthtml",b),this.modalClose()},imageEdit:function(b){var c=a(b.target),d=c.parent(),e=a.proxy(function(){a("#redactor_file_alt").val(c.attr("alt")),a("#redactor_image_edit_src").attr("href",c.attr("src")),a("#redactor_form_image_align").val(c.css("float")),"A"===a(d).get(0).tagName&&a("#redactor_file_link").val(a(d).attr("href")),a("#redactor_image_delete_btn").click(a.proxy(function(){this.imageDelete(c)},this)),a("#redactorSaveBtn").click(a.proxy(function(){this.imageSave(c)},this))},this);this.modalInit(RLANG.image,this.opts.modal_image_edit,380,e)},imageDelete:function(b){var c=a(b).parent();0!=c.size()&&"A"==c[0].tagName?c.remove():a(b).remove(),this.modalClose(),this.syncCode()},imageSave:function(b){var c=a(b).parent();a(b).attr("alt",a("#redactor_file_alt").val());var d=a("#redactor_form_image_align").val();a(b).css("left"===d?{"float":"left",margin:"0 10px 10px 0"}:"right"===d?{"float":"right",margin:"0 0 10px 10px"}:{"float":"none",margin:"0"});var e=a.trim(a("#redactor_file_link").val());""!==e?"A"!==a(c).get(0).tagName?a(b).replaceWith(''+this.outerHTML(b)+""):a(c).attr("href",e):"A"===a(c).get(0).tagName&&a(c).replaceWith(this.outerHTML(b)),this.modalClose(),this.observeImages(),this.syncCode()},showImage:function(){this.saveSelection();var b=a.proxy(function(){if(this.opts.imageGetJson!==!1?a.getJSON(this.opts.imageGetJson,a.proxy(function(b){var c={},d=0;a.each(b,a.proxy(function(a,b){"undefined"!=typeof b.folder&&(d++,c[b.folder]=d)},this));var e=!1;if(a.each(b,a.proxy(function(b,d){var f="";"undefined"!=typeof d.title&&(f=d.title);var g=0;a.isEmptyObject(c)||"undefined"==typeof d.folder||(g=c[d.folder],e===!1&&(e=".redactorfolder"+g));var h=a('');a("#redactor_image_box").append(h),a(h).click(a.proxy(this.imageSetThumb,this))},this)),!a.isEmptyObject(c)){a(".redactorfolder").hide(),a(e).show();var f=function(b){a(".redactorfolder").hide(),a(".redactorfolder"+a(b.target).val()).show()},g=a('