(.*?)<\/div>/i, '[$1]$2[/$1]');
taValue = taValue.replace(/(.*?)<\/p>/i, '[$1]$2[/$1]');
//taValue = taValue.replace(/^(.*)
]*?align=(?:"|')?(right|left|center|justify)(?:"|')?.*?>(.*?)<\/p(?:>|[^a-z].*?>)/i, '$1[$2]$3[/$2]');
}
}
else if(replaceType[i] == 'font')
taValue = taValue.replace(/^(.*)]*?(face|size|color)=((?:"|').*?(?:"|')|[^\s>]*).*?>(.*?)<\/font.*?>/i, function(allstr, textStart, tagName, tagValue, tagContent){var tagTag = (tagName.toLowerCase() == "face" ? "FONT" : tagName.toUpperCase()); tagValue = tagValue.replace(/^('|")(.*?)\1$/g, '$2'); return textStart+'['+tagTag+'="'+tagValue+'"]'+tagContent+'[/'+tagTag+']';});
else if(replaceType[i] == 'url') {
if(this.ceMode){
taValue = taValue.replace(/(.*?)<\/a>/igm, '[URL="$1"]$3[/URL]');
}else{
taValue = taValue.replace(/^(.*)]*?)href=((?:"|').*?(?:"|')|[^\s>]*)(.*?)>(.*?)<\/a(?:>|[^a-z].*?>)/i, function(allstr, textStart, tagParams1, tagUrl, tagParams2, tagContent){
if(tagUrl.indexOf('javascript:') > 0) return allstr;
var tagUrl = tagUrl.replace(/^('|")(.*?)\1$/g, '$2');
urlContent = tagContent;
if(aParts = (tagParams1 + " " + tagParams2).match(/[^a-z]title="([^"]+)"/i)){
urlContent = aParts[1].replace(/"/mg, '"').replace(/
/mg, '\n').replace(/
/mg, '\r');
}
return textStart + '[URL="' + tagUrl + '"]' + urlContent + '[/URL]';
});
}
}
else if(replaceType[i] == 'blockquote'){
taValue = taValue.replace(/^(.*)(?:\[B\](.*?):\[\/B\]\\n)?(.*?)<\/BLOCKQUOTE>/i, function(allstr, tagBefore, tagInner, qAuthor, tagContent){
var isQuote = (tagInner.indexOf('edQuote') >= 0);
var hasAuthor = (typeof(qAuthor) != "undefined" && qAuthor.length > 0);
if(isQuote){
var startTag = '[Q'+(hasAuthor ? '="'+qAuthor+'"' : '')+']';
return tagBefore+startTag+tagContent+'[/Q]';
}else{
return tagBefore+'[INDENT]'+(hasAuthor ? qAuthor : '')+tagContent+'[/INDENT]';
}
});
}
}while(checkLen != taValue.length);
}
taValue = taValue.replace(/<(\/?)(P)>/gi, '[$1$2]');
// Replace HTML base chars
taValue = taValue.replace(/®/gi, '®');
taValue = taValue.replace(/©/gi, '©');
taValue = taValue.replace(/«/gi, '«');
taValue = taValue.replace(/»/gi, '»');
taValue = taValue.replace(/–/gi, '–');
taValue = taValue.replace(/—/gi, '—');
taValue = taValue.replace(/€/gi, '€');
taValue = taValue.replace(/"/gi, '"');
taValue = taValue.replace(/ /gi, ' ');
// RAWs
if(this.ceMode){
taValue = taValue.replace(/(<(([^>]|\n|\r|\s|\t)+)>)/ig,"[RAW]$1[/RAW]").replace(/\[\/RAW\]((\r|\n)*?)\[RAW\]/g, "$1");
// Tags fully closed with RAW
var rawTags = ['script', 'object', 'style', 'textarea'];
for(var i=0; i', 'ig');
taValue = taValue.replace(
regExp,
function(tag){
return function(allstr, tagContent){
tagContent = tagContent.replace(/\[RAW\]/ig, "");
tagContent = tagContent.replace(/\[\/RAW\]/ig, "");
return '<' + tag + tagContent + '/' + tag + '>';
}
}(rawTags[i])
);
}
// Remove RAWs and replace brs inside RAW
var regExp = new RegExp('\\[RAW\\]<((.|\r|\n)*?)>\\[\\/RAW\\]', 'ig');
taValue = taValue.replace(
regExp,
function(allstr, tagContent){
tagContent = tagContent.replace(/\_spec\_rpl\_val\_br/gi, '
');
tagContent = tagContent.replace(/\[RAW\]/ig, "");
tagContent = tagContent.replace(/\[\/RAW\]/ig, "");
return '[RAW]<' + tagContent + '>[/RAW]';
}
);
}
// Replace > and <
taValue = taValue.replace(/</gi, '<');
taValue = taValue.replace(/>/gi, '>');
// Replace &s
taValue = taValue.replace(/&/gi, '&');
// Make multiline string
taValue = taValue.replace(/\\n/g, '\r\n');
taValue = taValue.replace(/\[\_spec\_rpl\_val\_([rn])\]/gi, '\\$1');
taValue = taValue.replace(/\_spec\_rpl\_val\_br/gi, '↵');
return taValue;
}
this.createEditor = function(taWidth, taHeight, taValueName, taValue, isValueHTML, idPreviewDiv, divId){
if (typeof(isValueHTML) != undefined) {
var re = /(|<\/noindex>)/gi;
taValue = taValue.replace(re, '');
}
if(taValueName && taValueName != "message"){
this.editorId = 'id'+taValueName;
}
var i = 0;
/*var usedFonts = '';
for(i = 0; i < this.usedFonts.length; i++){
usedFonts += '';
}*/
var baseSmilesCount = 0;
var TEdDivBaseSmiles = document.createElement('DIV');
for(i = 0; i < this.baseSmiles.length; i++){
var smile = document.createElement('IMG');
smile.src = this.baseHref + '_mod_files/smiles/' + this.smilesPath + '/' +this.baseSmiles[i][0];
smile.setAttribute('title', this.baseSmiles[i][1]);
smile.className = 'amiroTEdSmile';
AMI.Browser.Event.addHandler(smile, 'click', function(_this, num){return function(e){_this.procAction('smile', _this.baseSmiles[num][2]);}}(this, i));
TEdDivBaseSmiles.appendChild(smile);
baseSmilesCount++;
}
var allSmilesCount = 0;
var TEdDivAllSmiles = document.createElement('DIV');
TEdDivAllSmiles.style.display = 'none';
for(i = 0; i < this.baseSmiles.length; i++){
var smile = document.createElement('IMG');
smile.src = this.baseHref + '_mod_files/smiles/' + this.smilesPath + '/' +this.baseSmiles[i][0];
smile.setAttribute('title', this.baseSmiles[i][1]);
smile.className = 'amiroTEdSmile';
AMI.Browser.Event.addHandler(smile, 'click', function(_this, num){return function(e){_this.procAction('smile', _this.baseSmiles[num][2]);}}(this, i));
TEdDivAllSmiles.appendChild(smile);
allSmilesCount++;
}
for(i = 0; i < this.allSmiles.length; i++){
var smile = document.createElement('IMG');
smile.src = this.baseHref + '_mod_files/smiles/' + this.smilesPath + '/' +this.allSmiles[i][0];
smile.setAttribute('title', this.allSmiles[i][1]);
smile.className = 'amiroTEdSmile';
AMI.Browser.Event.addHandler(smile, 'click', function(_this, num){return function(e){_this.procAction('smile', _this.allSmiles[num][2]);}}(this, i));
TEdDivAllSmiles.appendChild(smile);
allSmilesCount++;
}
if(this.smilesCopyright){
var smilesCopyrightDiv = document.createElement('DIV');
smilesCopyrightDiv.setAttribute('align', 'right');
smilesCopyrightDiv.innerHTML = this.smilesCopyright;
TEdDivAllSmiles.appendChild(smilesCopyrightDiv);
}
var contentPreviewDiv = '';
if(typeof(idPreviewDiv) != "undefined"){
this.idPreviewDiv = idPreviewDiv;
}else{
this.idPreviewDiv = 'amiroTEdDivPreview';
contentPreviewDiv = '
';
}
var allowedImages = this.allowedImages;
var TEdDiv = document.createElement('DIV');
TEdDiv.className = "amiroTEdDiv";
TEdDiv.style.width = taWidth + 'px';
// Separator
var separator = document.createElement('IMG');
separator.src = this.baseHref + '_img/ed_sep.gif';
separator.className = 'amiroTEdSep';
// Bold button
var btnBold = document.createElement('IMG');
btnBold.src = this.baseHref + '_img/ed_bold.gif';
btnBold.title = this.oDictionary.get('bold');
AMI.Browser.Event.addHandler(btnBold, 'click', function(_this){return function(e){_this.procAction('bold');}}(this));
// Italic button
var btnItalic = document.createElement('IMG');
btnItalic.src = this.baseHref + '_img/ed_italic.gif';
btnItalic.title = this.oDictionary.get('italic');
AMI.Browser.Event.addHandler(btnItalic, 'click', function(_this){return function(e){_this.procAction('italic');}}(this));
// Underline button
var btnUnderline = document.createElement('IMG');
btnUnderline.src = this.baseHref + '_img/ed_underline.gif';
btnUnderline.title = this.oDictionary.get('underline');
AMI.Browser.Event.addHandler(btnUnderline, 'click', function(_this){return function(e){_this.procAction('underlined');}}(this));
// StrikeThrough button
var btnStrike = document.createElement('IMG');
btnStrike.src = this.baseHref + '_img/ed_strike.gif';
btnStrike.title = this.oDictionary.get('strike');
AMI.Browser.Event.addHandler(btnStrike, 'click', function(_this){return function(e){_this.procAction('strike');}}(this));
// Quote button
var btnQuote = document.createElement('IMG');
btnQuote.src = this.baseHref + '_img/ed_quote.gif';
btnQuote.title = this.oDictionary.get('quote');
AMI.Browser.Event.addHandler(btnQuote, 'click', function(_this){return function(e){_this.procAction('quote');}}(this));
this.insertQuoteBtn = btnQuote;
var buttonsBlock1 = document.createElement('NOBR');
buttonsBlock1.appendChild(btnBold);
buttonsBlock1.appendChild(btnItalic);
buttonsBlock1.appendChild(btnUnderline);
buttonsBlock1.appendChild(btnStrike);
buttonsBlock1.appendChild(btnQuote);
// Outdent button
var btnOutdent = document.createElement('IMG');
btnOutdent.src = this.baseHref + '_img/ed_outdent.gif';
btnOutdent.title = this.oDictionary.get('outdent');
AMI.Browser.Event.addHandler(btnOutdent, 'click', function(_this){return function(e){_this.procAction('outdent');}}(this));
// Indent button
var btnIndent = document.createElement('IMG');
btnIndent.src = this.baseHref + '_img/ed_indent.gif';
btnIndent.title = this.oDictionary.get('indent');
AMI.Browser.Event.addHandler(btnIndent, 'click', function(_this){return function(e){_this.procAction('indent');}}(this));
var buttonsBlock2 = document.createElement('NOBR');
buttonsBlock2.appendChild(btnOutdent);
buttonsBlock2.appendChild(btnIndent);
// Left button
var btnLeft = document.createElement('IMG');
btnLeft.src = this.baseHref + '_img/ed_alignl.gif';
btnLeft.title = this.oDictionary.get('align_left');
AMI.Browser.Event.addHandler(btnLeft, 'click', function(_this){return function(e){_this.procAction('align', 'left');}}(this));
// Center button
var btnCenter = document.createElement('IMG');
btnCenter.src = this.baseHref + '_img/ed_alignc.gif';
btnCenter.title = this.oDictionary.get('align_center');
AMI.Browser.Event.addHandler(btnCenter, 'click', function(_this){return function(e){_this.procAction('align', 'center');}}(this));
// Right button
var btnRight = document.createElement('IMG');
btnRight.src = this.baseHref + '_img/ed_alignr.gif';
btnRight.title = this.oDictionary.get('align_right');
AMI.Browser.Event.addHandler(btnRight, 'click', function(_this){return function(e){_this.procAction('align', 'right');}}(this));
// Justify button
var btnJustify = document.createElement('IMG');
btnJustify.src = this.baseHref + '_img/ed_alignj.gif';
btnJustify.title = this.oDictionary.get('justify');
AMI.Browser.Event.addHandler(btnJustify, 'click', function(_this){return function(e){_this.procAction('align', 'justify');}}(this));
var buttonsBlock3 = document.createElement('NOBR');
buttonsBlock3.appendChild(btnLeft);
buttonsBlock3.appendChild(btnCenter);
buttonsBlock3.appendChild(btnRight);
buttonsBlock3.appendChild(btnJustify);
// List button
var btnUlist = document.createElement('IMG');
btnUlist.src = this.baseHref + '_img/ed_list.gif';
btnUlist.title = this.oDictionary.get('insert_list');
AMI.Browser.Event.addHandler(btnUlist, 'click', function(_this){return function(e){_this.procAction('ulist');}}(this));
// Orderes list button
var btnOlist = document.createElement('IMG');
btnOlist.src = this.baseHref + '_img/ed_ol.gif';
btnOlist.title = this.oDictionary.get('insert_olist');
AMI.Browser.Event.addHandler(btnOlist, 'click', function(_this){return function(e){_this.procAction('olist');}}(this));
// Add link button
var btnLink = document.createElement('IMG');
btnLink.src = this.baseHref + '_img/ed_link.gif';
btnLink.title = this.oDictionary.get('insert_link');
AMI.Browser.Event.addHandler(btnLink, 'click', function(_this){return function(e){_this.procAction('addlink');}}(this));
// Del link button
var btnUnlink = document.createElement('IMG');
btnUnlink.src = this.baseHref + '_img/ed_unlink.gif';
btnUnlink.title = this.oDictionary.get('delete_link');
AMI.Browser.Event.addHandler(btnUnlink, 'click', function(_this){return function(e){_this.procAction('dellink');}}(this));
// Add image button
var btnImg = document.createElement('IMG');
btnImg.src = this.baseHref + '_img/ed_image.gif';
btnImg.title = this.oDictionary.get('insert_image');
AMI.Browser.Event.addHandler(btnImg, 'click', function(_this){return function(e){_this.procAction('addimg');}}(this));
// Code button
var btnCode = document.createElement('IMG');
btnCode.src = this.baseHref + '_img/ed_code.gif';
btnCode.title = this.oDictionary.get('insert_code');
AMI.Browser.Event.addHandler(btnCode, 'click', function(_this){return function(e){_this.procAction('code');}}(this));
this.insertCodeBtn = btnCode;
var buttonsBlock4 = document.createElement('NOBR');
buttonsBlock4.appendChild(btnLink);
buttonsBlock4.appendChild(btnUnlink);
if(allowedImages.length){
buttonsBlock4.appendChild(btnImg);
}
buttonsBlock4.appendChild(btnCode);
var buttonsBlock5 = document.createElement('NOBR');
buttonsBlock5.style.display = 'inline-block';
buttonsBlock5.style.verticalAlign = 'top';
buttonsBlock5.style.marginTop = '-2px';
var selectSize = document.createElement('SELECT');
selectSize.name = 'amiroTEdit_selsize';
selectSize.className = 'amiroTEdCtrl';
AMI.Browser.Event.addHandler(selectSize, 'change', function(_this, sel){return function(e){_this.procAction('font_size', sel.value); sel.options[0].selected=true;}}(this, selectSize));
var option = document.createElement('option');
option.text = this.oDictionary.get('size');
option.value = "";
try{selectSize.add(option, null);}catch(ex){selectSize.add(option);}
buttonsBlock5.appendChild(selectSize);
for(i = 1; i <= this.maxTextSize; i++){
var option = document.createElement('option');
option.text = i;
option.value = i;
try{selectSize.add(option, null);}catch(ex){selectSize.add(option);}
}
this.sizeSelectionBox = selectSize;
var selectColor = document.createElement('SELECT');
selectColor.name = 'amiroTEdit_selcolor';
selectColor.style.width = '80px';
selectColor.className = 'amiroTEdCtrl';
AMI.Browser.Event.addHandler(selectColor, 'change', function(_this, sel){return function(e){_this.procAction('font_color', sel.value); sel.options[0].selected=true;}}(this, selectColor));
buttonsBlock5.appendChild(selectColor);
var option = document.createElement('option');
option.text = this.oDictionary.get('color');
option.value = "";
try{selectColor.add(option, null);}catch(ex){selectColor.add(option);}
for(i = 0; i < this.usedColors.length; i++){
var option = document.createElement('option');
option.text = this.usedColors[i];
option.value = this.usedColors[i];
option.style.backgroundColor = this.usedColors[i];
option.style.color = this.usedColors[i]
try{selectColor.add(option, null);}catch(ex){selectColor.add(option);}
}
this.colorSelectionBox = selectColor;
var selectHeader = document.createElement('SELECT');
selectHeader.name = 'amiroTEdit_selheader';
selectHeader.className = 'amiroTEdCtrl';
AMI.Browser.Event.addHandler(selectHeader, 'change', function(_this, sel){return function(e){_this.procAction('header', sel.value); sel.options[0].selected=true;}}(this, selectHeader));
var option = document.createElement('option');
option.text = this.oDictionary.get('header');
option.value = "";
try{selectHeader.add(option, null);}catch(ex){selectHeader.add(option);}
// buttonsBlock5.appendChild(selectHeader);
for(i = 1; i <= 5; i++){
var option = document.createElement('option');
option.text = 'H' + i;
option.value = i;
try{selectHeader.add(option, null);}catch(ex){selectHeader.add(option);}
}
this.headerSelectionBox = selectHeader;
if(allSmilesCount > baseSmilesCount){
var more = document.createElement('SPAN');
more.className = 'amiroTEdMore';
more.innerHTML = this.oDictionary.get('more');
AMI.Browser.Event.addHandler(more, 'click', function(_this, allSmilesDiv, baseSmilesDiv){
return function(e){
allSmilesDiv.style.display = 'block';
baseSmilesDiv.style.display = 'none';
}
}(this, TEdDivAllSmiles, TEdDivBaseSmiles));
}
// Textarea
var TEdDivEditor = document.createElement('DIV');
TEdDivEditor.className = 'amiroTEdDivEditor';
var TEdTextarea = document.createElement('TEXTAREA');
TEdTextarea.id = this.editorId;
TEdTextarea.name = taValueName;
TEdTextarea.setAttribute('wrap', 'fisical');
TEdTextarea.className = 'amiroTEdCtrl';
TEdTextarea.style.width = '100%'; //taWidth + 'px';
TEdTextarea.style.height = taHeight + 'px';
TEdTextarea.value = (typeof(isValueHTML) == undefined || !isValueHTML ? taValue : this.fromHTMLContent(taValue));
AMI.Browser.Event.addHandler(TEdTextarea, 'keydown', function(_this){return function(e){_this.procKeyPress(e);}}(this));
AMI.Browser.Event.addHandler(TEdTextarea, 'keyup', function(_this){return function(e){_this.procKeyUp(e);}}(this));
TEdDivEditor.appendChild(TEdTextarea);
TEdDiv.innerHTML = contentPreviewDiv;
var TEdToolbar = document.createElement('DIV');
TEdToolbar.id = 'amiroTEdPureDiv';
this.toolbarObj = TEdToolbar;
TEdToolbar.appendChild(buttonsBlock1);
TEdToolbar.appendChild(separator.cloneNode(true));
TEdToolbar.appendChild(buttonsBlock2);
TEdToolbar.appendChild(separator.cloneNode(true));
TEdToolbar.appendChild(buttonsBlock3);
TEdToolbar.appendChild(separator.cloneNode(true));
TEdToolbar.appendChild(btnUlist);
TEdToolbar.appendChild(btnOlist);
TEdToolbar.appendChild(separator.cloneNode(true));
TEdToolbar.appendChild(buttonsBlock4);
TEdToolbar.appendChild(separator.cloneNode(true));
TEdToolbar.appendChild(buttonsBlock5);
TEdToolbar.appendChild(document.createElement('BR'));
TEdToolbar.appendChild(TEdDivBaseSmiles);
if((allSmilesCount > baseSmilesCount) && more){
TEdDivBaseSmiles.appendChild(more);
TEdToolbar.appendChild(TEdDivAllSmiles);
}
TEdDiv.appendChild(TEdToolbar);
TEdDiv.appendChild(TEdDivEditor);
if(divId == undefined){
divId = "amiBBEditor";
document.writeln('');
}
AMI.find('#' + divId).appendChild(TEdDiv);
this.editorObj = document.getElementById(this.editorId);
this.editorDiv = TEdDiv;
this.isInitialized = true;
}
this.insertContent = function(taValue, actionType, isValueHTML, subaction, addon){
if (typeof(isValueHTML) != undefined) {
var re = /(|<\/noindex>)/gi;
taValue = taValue.replace(re, '');
}
this.setMode('editor');
if(typeof(addon) != "undefined" && actionType == "bold"){
taValue = "[B]"+taValue+"[/B]"+addon;
this._replaceSelection(typeof(isValueHTML) == undefined || !isValueHTML ? taValue : this.fromHTMLContent(taValue), 0, 0, true);
}else{
this._replaceSelection(typeof(isValueHTML) == undefined || !isValueHTML ? taValue : this.fromHTMLContent(taValue), 0, 0);
if(actionType != 'undefined' && (actionType == 'quote' || actionType == 'bold' || actionType == 'italic' || actionType == 'underlined')){
this.procAction(actionType, subaction);
}
}
}
this.setMode = function(mode){
if(mode == 'editor' && !this.updatePreviewMode){
document.getElementById(this.idPreviewDiv).style.display = 'none';
this.currentMode = 'editor';
if(this.editorModeCode.length > 0){
eval(this.editorModeCode);
}
}else if(mode == 'preview' || this.updatePreviewMode){
var content = this.getHTMLContent(1);
if (content.length) {
document.getElementById(this.idPreviewDiv).style.display = 'block';
document.getElementById(this.idPreviewDiv).innerHTML = content;
this.currentMode = 'preview';
if (this.updatePreviewMode) {
this.previewButtonObj.value = this.oDictionary.get('hide_preview');
}
this.updatePreviewMode = false;
}
}
if (typeof(amiroTEditOnSwitchMode) == 'function') {
amiroTEditOnSwitchMode(this.currentMode);
}
}
this.switchMode = function(){
if(this.currentMode == 'editor'){
this.setMode('preview');
}else{
this.setMode('editor');
}
}
this.stopEvent = function(evt){
if(typeof(evt.stopPropagation) == "function"){
evt.stopPropagation();
evt.preventDefault();
return evt;
}else{
window.event.returnValue = false;
window.event.cancelBubble = true;
return window.event;
}
}
this.procKeyPress = function(evt){
if(this.ceMode && this.ce.useSpecialCharsFeature){
switch(evt.keyCode){
case 13 /*ENTER */:
if(!evt.shiftKey){
this.procAction('br');
return this.stopEvent(evt);
}
break;
}
}
if(evt.ctrlKey && evt.keyCode != 17){
switch(evt.keyCode){
case 66 /*B*/:
this.procAction('bold');
return this.stopEvent(evt);
break;
case 73 /*I*/:
this.procAction('italic');
return this.stopEvent(evt);
break;
case 85 /*U*/:
this.procAction('underlined');
return this.stopEvent(evt);
break;
case 83 /*S*/:
this.procAction('strike');
return this.stopEvent(evt);
break;
}
}else if(!evt.ctrlKey && !evt.altKey){
this.updatePreviewButton();
}
}
this.procKeyUp = function()
{
if (this.currentMode == 'preview' && this.contentLength() < 2) {
this.updatePreviewMode = false;
this.previewButtonOnClick();
alert(this.oDictionary.get('warn_message_length'));
}
}
this.contentLength = function(){
var contentData = this.editorObj.value;
contentData = contentData.replace(/[ \t\r\n]/g, '');
var replaceType = ['q'];
for(var i = 0; i < replaceType.length; i++){
var checkLen = 0;
do{
checkLen = contentData.length;
if(replaceType[i] == 'q'){
contentData = contentData.replace(/^(.*)\[Q[^\]]*?\](.*?)\[\/Q\]/i, '$1');
}
}while(checkLen != contentData.length);
}
contentData = contentData.replace(/\[.*?\]/g, '');
return contentData.length;
}
this.previewButtonOnClick = function(btn)
{
if (btn != undefined) {
this.previewButtonObj = btn;
} else {
btn = this.previewButtonObj;
}
if (this.currentMode == 'preview') {
btn.value = this.oDictionary.get('preview');
this.setMode('editor');
} else if (this.contentLength() < 2) {
alert(this.oDictionary.get('warn_message_length'));
this.editorObj.focus();
} else {
btn.value = this.oDictionary.get('hide_preview');
this.setMode('preview');
}
return false;
}
this.updatePreviewButton = function(){
if (this.currentMode == 'preview' && this.previewButtonObj != undefined) {
this.previewButtonObj.value = this.oDictionary.get('update_preview');
this.updatePreviewMode = true;
}
}
this.checkURLUsage = function(){
var res = this.bAllowURLs || !this.getHTMLContent().match(/]+HREF=/gi);
if(!res){
alert(this.oDictionary.get('warn_urls_reg_only'));
}
return res;
}
this.init();
}
function handleMouseMove(evt){
if(typeof(globalATEObj) == 'object')
return globalATEObj.handleMouseMove(evt == undefined ? window.event.clientY : evt.pageY);
else
return false;
}
function releaseMouseMoveHandler(){
document.onmousemove = null;
document.onmouseup = null;
return false;
}
function _tagsParamReplace(param, doCheckImage){
var res = param.replace(/&/, '&');
do{
var prevLength = res.length;
res = res.replace(/^\s*javascript\:/, '');
}while(res.length != prevLength);
if(doCheckImage){
var test = res.replace(/^ *(.*?) *$/i, '$1').toLowerCase();
if(test.indexOf('/_admin/') >= 0){
res = '';
}else{
var isRelativeAddress = (test.search(/^https?:\/\//) == -1);
var isLocalAddress = false;
if(!isRelativeAddress){
test = test.replace(/^https:\/\//, 'http://');
var localURL = window.bbEditorBaseHref;
if(localURL != '' && test.indexOf(localURL) == 0){
isLocalAddress = true;
}
}
if((isRelativeAddress || isLocalAddress) && test.search(/^[^?]*\.(jpg|png|gif|jpeg|swf)$/) == -1){
res = '';
}
}
}
return res;
}
function _stripTags(str)
{
return str.replace(/<\/?[^\s^>]+[^>]*?>/gi, '');
}
function _trim(str)
{
return str.replace(/^\s+/mg, '').replace(/\s+$/mg, '');
}
/*
* FILE END: _shared/code/js/front_editor.js
*/
AMI.Template.Locale.merge({mediaBoxZommed : "Изображение уменьшено, показать в оригинальном размере __width__х__height__", mediaBoxNotZommed : "Изображение увеличено, уменьшить до размеров окна", mediaBoxCounter : "Изображение __current__ из __total__", mediaBoxPrevious : "Предыдущее изображение", mediaBoxNext : "Следующее изображение"});