From ce0d2abb95788666558768e3e83e4f5fdb300b08 Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Date: Fri, 16 Feb 2018 14:12:43 +0000 Subject: [PATCH] FBI-2315: [Mantis - 24294] Moving a sub-department to another department fails fix code comments rempve spaces --- gulliver/js/ext/min/ext-all.js | 5 +- gulliver/js/maborak/core/maborak.js | 674 +++++++++--------- .../templates/departments/departmentList.js | 83 +++ 3 files changed, 434 insertions(+), 328 deletions(-) diff --git a/gulliver/js/ext/min/ext-all.js b/gulliver/js/ext/min/ext-all.js index d96923081..30f7b1123 100644 --- a/gulliver/js/ext/min/ext-all.js +++ b/gulliver/js/ext/min/ext-all.js @@ -16,9 +16,8 @@ this.notify=function(title,msg,type,time) this.getBrowser=function() {var browsersList=new Array("opera","msie","firefox","chrome","safari");var browserMeta=navigator.userAgent.toLowerCase();var name='Unknown';var version='';var screen={width:Ext.getBody().getViewSize().width,height:Ext.getBody().getViewSize().height};var so=Ext.isLinux?'Linux':(Ext.isWindows?'Windows':(Ext.isMac?'Mac OS':'Unknown'));for(var i=0;i"+v+""},align:"right"},{width:valueColumnWidth,dataIndex:"value",renderer:function(v){return""+v+"";}},{hidden:true,dataIndex:"section"}],autoHeight:true,columnLines:true,trackMouseOver:false,disableSelection:true,view:new Ext.grid.GroupingView({forceFit:true,headersDisabled:true,groupTextTpl:'{group}'}),loadMask:true});};this.cookie={create:function(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}else var expires="";document.cookie=name+"="+value+expires+"; path=/";},read:function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i"+v+"";},align:"right"},{width:valueColumnWidth,dataIndex:"value",renderer:function(v){return""+v+"";}},{hidden:true,dataIndex:"section"}],autoHeight:true,columnLines:true,trackMouseOver:false,disableSelection:true,view:new Ext.grid.GroupingView({forceFit:true,headersDisabled:true,groupTextTpl:'{group}'}),loadMask:true});};this.cookie={create:function(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}else var expires="";document.cookie=name+"="+value+expires+"; path=/";},read:function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i','
','

',t,'

',s,'
','
',''].join('');} return{msg:function(title,format,type,time){if(!msgCt){msgCt=Ext.DomHelper.insertFirst(document.body,{id:'msg-div',style:'position:absolute'},true);} diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index ed51edd17..586df72bb 100644 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -1596,7 +1596,8 @@ length=100;if(length>400) length=400;var x=e.clientX+10+xOffset;var y=e.clientY+5+yOffset;if(x+length>w){x=x-length-20;} pmtooltip.style.display='block';pmtooltip.innerHTML=tooltipTxt;pmtooltip.style.left=x+'px';pmtooltip.style.top=y+'px';pmtooltip.style.width=length+'px';pmtooltipShadow.style.display='block';pmtooltipShadow.style.left=(x+pmshadowSize)+'px';pmtooltipShadow.style.top=(y+pmshadowSize)+'px';pmtooltipShadow.style.width=pmtooltip.offsetWidth+'px';pmtooltipShadow.style.height=pmtooltip.offsetHeight+'px';} function hideTooltip(){pmtooltip.style.display='none';pmtooltipShadow.style.display='none';} -(function(win){var whiteSpaceRe=/^\s*|\s*$/g,undef,isRegExpBroken='B'.replace(/A(.)|B/,'$1')==='$1';var tinymce={majorVersion:'3',minorVersion:'5.7',releaseDate:'2012-09-20',_init:function(){var t=this,d=document,na=navigator,ua=na.userAgent,i,nl,n,base,p,v;t.isOpera=win.opera&&opera.buildNumber;t.isWebKit=/WebKit/.test(ua);t.isIE=!t.isWebKit&&!t.isOpera&&(/MSIE/gi).test(ua)&&(/Explorer/gi).test(na.appName);t.isIE6=t.isIE&&/MSIE [56]/.test(ua);t.isIE7=t.isIE&&/MSIE [7]/.test(ua);t.isIE8=t.isIE&&/MSIE [8]/.test(ua);t.isIE9=t.isIE&&/MSIE [9]/.test(ua);t.isGecko=!t.isWebKit&&/Gecko/.test(ua);t.isMac=ua.indexOf('Mac')!=-1;t.isAir=/adobeair/i.test(ua);t.isIDevice=/(iPad|iPhone)/.test(ua);t.isIOS5=t.isIDevice&&ua.match(/AppleWebKit\/(\d*)/)[1]>=534;if(win.tinyMCEPreInit){t.suffix=tinyMCEPreInit.suffix;t.baseURL=tinyMCEPreInit.base;t.query=tinyMCEPreInit.query;return;} +(function(win){var whiteSpaceRe=/^\s*|\s*$/g,undef,isRegExpBroken='B'.replace(/A(.)|B/,'$1')==='$1';var tinymce={majorVersion:'3',minorVersion:'5.12',releaseDate:'2016-10-31',_init:function(){var t=this,d=document,na=navigator,ua=na.userAgent,i,nl,n,base,p,v;t.isIE11=ua.indexOf('Trident/')!=-1&&(ua.indexOf('rv:')!=-1||na.appName.indexOf('Netscape')!=-1);t.isOpera=win.opera&&opera.buildNumber;t.isWebKit=/WebKit/.test(ua);t.isIE=!t.isWebKit&&!t.isOpera&&(/MSIE/gi).test(ua)&&(/Explorer/gi).test(na.appName)||t.isIE11;t.isIE6=t.isIE&&/MSIE [56]/.test(ua);t.isIE7=t.isIE&&/MSIE [7]/.test(ua);t.isIE8=t.isIE&&/MSIE [8]/.test(ua);t.isIE9=t.isIE&&/MSIE [9]/.test(ua);t.isGecko=!t.isWebKit&&!t.isIE11&&/Gecko/.test(ua);t.isMac=ua.indexOf('Mac')!=-1;t.isAir=/adobeair/i.test(ua);t.isIDevice=/(iPad|iPhone)/.test(ua);t.isIOS5=t.isIDevice&&ua.match(/AppleWebKit\/(\d*)/)[1]>=534;t.isIE12=(document.msElementsFromPoint&&!t.isIE&&!t.isIE11);if(t.isIE12){t.isIE11=true;t.isWebKit=false;} +if(win.tinyMCEPreInit){t.suffix=tinyMCEPreInit.suffix;t.baseURL=tinyMCEPreInit.base;t.query=tinyMCEPreInit.query;return;} t.suffix='';nl=d.getElementsByTagName('base');for(i=0;i7){return;} setEditorCommandState('RespectVisibilityInDesign',true);editor.contentStyles.push('.mceHideBrInPre pre br {display: none}');dom.addClass(editor.getBody(),'mceHideBrInPre');parser.addNodeFilter('pre',function(nodes,name){var i=nodes.length,brNodes,j,brElm,sibling;while(i--){brNodes=nodes[i].getAll('br');j=brNodes.length;while(j--){brElm=brNodes[j];sibling=brElm.prev;if(sibling&&sibling.type===3&&sibling.value.charAt(sibling.value-1)!='\n'){sibling.value+='\n';}else{brElm.parent.insert(new tinymce.html.Node('#text',3),brElm,true).value='\n';}}}});serializer.addNodeFilter('pre',function(nodes,name){var i=nodes.length,brNodes,j,brElm,sibling;while(i--){brNodes=nodes[i].getAll('br');j=brNodes.length;while(j--){brElm=brNodes[j];sibling=brElm.prev;if(sibling&&sibling.type==3){sibling.value=sibling.value.replace(/\r?\n$/,'');}}}});} function removePreSerializedStylesWhenSelectingControls(){dom.bind(editor.getBody(),'mouseup',function(e){var value,node=selection.getNode();if(node.nodeName=='IMG'){if(value=dom.getStyle(node,'width')){dom.setAttrib(node,'width',value.replace(/[^0-9%]+/g,''));dom.setStyle(node,'width','');} if(value=dom.getStyle(node,'height')){dom.setAttrib(node,'height',value.replace(/[^0-9%]+/g,''));dom.setStyle(node,'height','');}}});} -function keepInlineElementOnDeleteBackspace(){editor.onKeyDown.add(function(editor,e){var isDelete,rng,container,offset,brElm,sibling,collapsed;isDelete=e.keyCode==DELETE;if(!isDefaultPrevented(e)&&(isDelete||e.keyCode==BACKSPACE)&&!VK.modifierPressed(e)){rng=selection.getRng();container=rng.startContainer;offset=rng.startOffset;collapsed=rng.collapsed;if(container.nodeType==3&&container.nodeValue.length>0&&((offset===0&&!collapsed)||(collapsed&&offset===(isDelete?0:1)))){nonEmptyElements=editor.schema.getNonEmptyElements();e.preventDefault();brElm=dom.create('br',{id:'__tmp'});container.parentNode.insertBefore(brElm,container);editor.getDoc().execCommand(isDelete?'ForwardDelete':'Delete',false,null);container=selection.getRng().startContainer;sibling=container.previousSibling;if(sibling&&sibling.nodeType==1&&!dom.isBlock(sibling)&&dom.isEmpty(sibling)&&!nonEmptyElements[sibling.nodeName.toLowerCase()]){dom.remove(sibling);} +function keepInlineElementOnDeleteBackspace(){editor.onKeyDown.add(function(editor,e){var isDelete,rng,container,offset,brElm,sibling,collapsed;isDelete=e.keyCode==DELETE;if(!isDefaultPrevented(e)&&(isDelete||e.keyCode==BACKSPACE)&&!VK.modifierPressed(e)){rng=selection.getRng();container=rng.startContainer;offset=rng.startOffset;collapsed=rng.collapsed;if(container.nodeType==3&&container.nodeValue.length>0&&((offset===0&&!collapsed)||(collapsed&&offset===(isDelete?0:1)))){sibling=container.previousSibling;if(sibling&&sibling.nodeName=="IMG"){return;} +nonEmptyElements=editor.schema.getNonEmptyElements();e.preventDefault();brElm=dom.create('br',{id:'__tmp'});container.parentNode.insertBefore(brElm,container);editor.getDoc().execCommand(isDelete?'ForwardDelete':'Delete',false,null);container=selection.getRng().startContainer;sibling=container.previousSibling;if(sibling&&sibling.nodeType==1&&!dom.isBlock(sibling)&&dom.isEmpty(sibling)&&!nonEmptyElements[sibling.nodeName.toLowerCase()]){dom.remove(sibling);} dom.remove('__tmp');}}});} function removeBlockQuoteOnBackSpace(){editor.onKeyDown.add(function(editor,e){var rng,container,offset,root,parent;if(isDefaultPrevented(e)||e.keyCode!=VK.BACKSPACE){return;} rng=selection.getRng();container=rng.startContainer;offset=rng.startOffset;root=dom.getRoot();parent=container;if(!rng.collapsed||offset!==0){return;} while(parent&&parent.parentNode&&parent.parentNode.firstChild==parent&&parent.parentNode!=root){parent=parent.parentNode;} -if(parent.tagName==='BLOCKQUOTE'){editor.formatter.toggle('blockquote',null,parent);rng=dom.createRng();rng.setStart(container,0);rng.setEnd(container,0);selection.setRng(rng);}});};function setGeckoEditingOptions(){function setOpts(){editor._refreshContentEditable();setEditorCommandState("StyleWithCSS",false);setEditorCommandState("enableInlineTableEditing",false);if(!settings.object_resizing){setEditorCommandState("enableObjectResizing",false);}};if(!settings.readonly){editor.onBeforeExecCommand.add(setOpts);editor.onMouseDown.add(setOpts);}};function addBrAfterLastLinks(){function fixLinks(editor,o){tinymce.each(dom.select('a'),function(node){var parentNode=node.parentNode,root=dom.getRoot();if(parentNode.lastChild===node){while(parentNode&&!dom.isBlock(parentNode)){if(parentNode.parentNode.lastChild!==parentNode||parentNode===root){return;} +if(parent.tagName==='BLOCKQUOTE'){editor.formatter.toggle('blockquote',null,parent);rng=dom.createRng();rng.setStart(container,0);rng.setEnd(container,0);selection.setRng(rng);}});};function setGeckoEditingOptions(){function setOpts(){editor._refreshContentEditable();setEditorCommandState("StyleWithCSS",false);setEditorCommandState("enableInlineTableEditing",false);if(!settings.object_resizing){setEditorCommandState("enableObjectResizing",false);}};if(!settings.readonly){editor.onBeforeExecCommand.add(setOpts);editor.onMouseDown.add(setOpts);}};function addBrAfterLastLinks(){function fixLinks(editor,o){each(dom.select('a'),function(node){var parentNode=node.parentNode,root=dom.getRoot();if(parentNode.lastChild===node){while(parentNode&&!dom.isBlock(parentNode)){if(parentNode.parentNode.lastChild!==parentNode||parentNode===root){return;} parentNode=parentNode.parentNode;} dom.add(parentNode,'br',{'data-mce-bogus':1});}});};editor.onExecCommand.add(function(editor,cmd){if(cmd==='CreateLink'){fixLinks(editor);}});editor.onSetContent.add(selection.onSetContent.add(fixLinks));};function setDefaultBlockType(){if(settings.forced_root_block){editor.onInit.add(function(){setEditorCommandState('DefaultParagraphSeparator',settings.forced_root_block);});}} -function removeGhostSelection(){function repaint(sender,args){if(!sender||!args.initial){editor.execCommand('mceRepaint');}};editor.onUndo.add(repaint);editor.onRedo.add(repaint);editor.onSetContent.add(repaint);};function deleteControlItemOnBackSpace(){editor.onKeyDown.add(function(editor,e){var rng;if(!isDefaultPrevented(e)&&e.keyCode==BACKSPACE){rng=editor.getDoc().selection.createRange();if(rng&&rng.item){e.preventDefault();editor.undoManager.beforeChange();dom.remove(rng.item(0));editor.undoManager.add();}}});};function renderEmptyBlocksFix(){var emptyBlocksCSS;if(getDocumentMode()>=10){emptyBlocksCSS='';tinymce.each('p div h1 h2 h3 h4 h5 h6'.split(' '),function(name,i){emptyBlocksCSS+=(i>0?',':'')+name+':empty';});editor.contentStyles.push(emptyBlocksCSS+'{padding-right: 1px !important}');}};function fakeImageResize(){var selectedElmX,selectedElmY,selectedElm,selectedElmGhost,selectedHandle,startX,startY,startW,startH,ratio,resizeHandles,width,height,rootDocument=document,editableDoc=editor.getDoc();if(!settings.object_resizing||settings.webkit_fake_resize===false){return;} +function removeGhostSelection(){function repaint(sender,args){if(!sender||!args.initial){editor.execCommand('mceRepaint');}};editor.onUndo.add(repaint);editor.onRedo.add(repaint);editor.onSetContent.add(repaint);};function deleteControlItemOnBackSpace(){editor.onKeyDown.add(function(editor,e){var rng;if(!isDefaultPrevented(e)&&e.keyCode==BACKSPACE){rng=editor.getDoc().selection.createRange();if(rng&&rng.item){e.preventDefault();editor.undoManager.beforeChange();dom.remove(rng.item(0));editor.undoManager.add();}}});};function renderEmptyBlocksFix(){var emptyBlocksCSS;if(getDocumentMode()>=10){emptyBlocksCSS='';each('p div h1 h2 h3 h4 h5 h6'.split(' '),function(name,i){emptyBlocksCSS+=(i>0?',':'')+name+':empty';});editor.contentStyles.push(emptyBlocksCSS+'{padding-right: 1px !important}');}};function fakeImageResize(){var selectedElmX,selectedElmY,selectedElm,selectedElmGhost,selectedHandle,startX,startY,startW,startH,ratio,resizeHandles,width,height,rootDocument=document,editableDoc=editor.getDoc();if(!settings.object_resizing||settings.webkit_fake_resize===false){return;} setEditorCommandState("enableObjectResizing",false);resizeHandles={n:[.5,0,0,-1],e:[1,.5,1,0],s:[.5,1,0,1],w:[0,.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};function resizeElement(e){var deltaX,deltaY;deltaX=e.screenX-startX;deltaY=e.screenY-startY;width=deltaX*selectedHandle[2]+startW;height=deltaY*selectedHandle[3]+startH;width=width<5?5:width;height=height<5?5:height;if(VK.modifierPressed(e)||(selectedElm.nodeName=="IMG"&&selectedHandle[2]*selectedHandle[3]!==0)){width=Math.round(height/ratio);height=Math.round(width*ratio);} dom.setStyles(selectedElmGhost,{width:width,height:height});if(selectedHandle[2]<0&&selectedElmGhost.clientWidth<=width){dom.setStyle(selectedElmGhost,'left',selectedElmX+(startW-width));} if(selectedHandle[3]<0&&selectedElmGhost.clientHeight<=height){dom.setStyle(selectedElmGhost,'top',selectedElmY+(startH-height));}} @@ -1757,16 +1762,19 @@ function endResize(){function setSizeProp(name,value){if(value){if(selectedElm.s setSizeProp('width',width);setSizeProp('height',height);dom.unbind(editableDoc,'mousemove',resizeElement);dom.unbind(editableDoc,'mouseup',endResize);if(rootDocument!=editableDoc){dom.unbind(rootDocument,'mousemove',resizeElement);dom.unbind(rootDocument,'mouseup',endResize);} dom.remove(selectedElmGhost);showResizeRect(selectedElm);} function showResizeRect(targetElm){var position,targetWidth,targetHeight;hideResizeRect();position=dom.getPos(targetElm);selectedElmX=position.x;selectedElmY=position.y;targetWidth=targetElm.offsetWidth;targetHeight=targetElm.offsetHeight;if(selectedElm!=targetElm){selectedElm=targetElm;width=height=0;} -tinymce.each(resizeHandles,function(handle,name){var handleElm;handleElm=dom.get('mceResizeHandle'+name);if(!handleElm){handleElm=dom.add(editableDoc.documentElement,'div',{id:'mceResizeHandle'+name,'class':'mceResizeHandle',style:'cursor:'+name+'-resize; margin:0; padding:0'});dom.bind(handleElm,'mousedown',function(e){e.preventDefault();endResize();startX=e.screenX;startY=e.screenY;startW=selectedElm.clientWidth;startH=selectedElm.clientHeight;ratio=startH/startW;selectedHandle=handle;selectedElmGhost=selectedElm.cloneNode(true);dom.addClass(selectedElmGhost,'mceClonedResizable');dom.setStyles(selectedElmGhost,{left:selectedElmX,top:selectedElmY,margin:0});editableDoc.documentElement.appendChild(selectedElmGhost);dom.bind(editableDoc,'mousemove',resizeElement);dom.bind(editableDoc,'mouseup',endResize);if(rootDocument!=editableDoc){dom.bind(rootDocument,'mousemove',resizeElement);dom.bind(rootDocument,'mouseup',endResize);}});}else{dom.show(handleElm);} +each(resizeHandles,function(handle,name){var handleElm;handleElm=dom.get('mceResizeHandle'+name);if(!handleElm){handleElm=dom.add(editableDoc.documentElement,'div',{id:'mceResizeHandle'+name,'class':'mceResizeHandle',style:'cursor:'+name+'-resize; margin:0; padding:0'});dom.bind(handleElm,'mousedown',function(e){e.preventDefault();endResize();startX=e.screenX;startY=e.screenY;startW=selectedElm.clientWidth;startH=selectedElm.clientHeight;ratio=startH/startW;selectedHandle=handle;selectedElmGhost=selectedElm.cloneNode(true);dom.addClass(selectedElmGhost,'mceClonedResizable');dom.setStyles(selectedElmGhost,{left:selectedElmX,top:selectedElmY,margin:0});editableDoc.documentElement.appendChild(selectedElmGhost);dom.bind(editableDoc,'mousemove',resizeElement);dom.bind(editableDoc,'mouseup',endResize);if(rootDocument!=editableDoc){dom.bind(rootDocument,'mousemove',resizeElement);dom.bind(rootDocument,'mouseup',endResize);}});}else{dom.show(handleElm);} dom.setStyles(handleElm,{left:(targetWidth*handle[0]+selectedElmX)-(handleElm.offsetWidth/2),top:(targetHeight*handle[1]+selectedElmY)-(handleElm.offsetHeight/2)});});if(!tinymce.isOpera&&selectedElm.nodeName=="IMG"){selectedElm.setAttribute('data-mce-selected','1');}} function hideResizeRect(){if(selectedElm){selectedElm.removeAttribute('data-mce-selected');} for(var name in resizeHandles){dom.hide('mceResizeHandle'+name);}} -editor.contentStyles.push('.mceResizeHandle {'+'position: absolute;'+'border: 1px solid black;'+'background: #FFF;'+'width: 5px;'+'height: 5px;'+'z-index: 10000'+'}'+'.mceResizeHandle:hover {'+'background: #000'+'}'+'img[data-mce-selected] {'+'outline: 1px solid black'+'}'+'img.mceClonedResizable, table.mceClonedResizable {'+'position: absolute;'+'outline: 1px dashed black;'+'opacity: .5;'+'z-index: 10000'+'}');function updateResizeRect(){var controlElm=dom.getParent(selection.getNode(),'table,img');tinymce.each(dom.select('img[data-mce-selected]'),function(img){img.removeAttribute('data-mce-selected');});if(controlElm){showResizeRect(controlElm);}else{hideResizeRect();}} +editor.contentStyles.push('.mceResizeHandle {'+'position: absolute;'+'border: 1px solid black;'+'background: #FFF;'+'width: 5px;'+'height: 5px;'+'z-index: 10000'+'}'+'.mceResizeHandle:hover {'+'background: #000'+'}'+'img[data-mce-selected] {'+'outline: 1px solid black'+'}'+'img.mceClonedResizable, table.mceClonedResizable {'+'position: absolute;'+'outline: 1px dashed black;'+'opacity: .5;'+'z-index: 10000'+'}');function updateResizeRect(){var controlElm=dom.getParent(selection.getNode(),'table,img');each(dom.select('img[data-mce-selected]'),function(img){img.removeAttribute('data-mce-selected');});if(controlElm){showResizeRect(controlElm);}else{hideResizeRect();}} editor.onNodeChange.add(updateResizeRect);dom.bind(editableDoc,'selectionchange',updateResizeRect);editor.serializer.addAttributeFilter('data-mce-selected',function(nodes,name){var i=nodes.length;while(i--){nodes[i].attr(name,null);}});} function keepNoScriptContents(){if(getDocumentMode()<9){parser.addNodeFilter('noscript',function(nodes){var i=nodes.length,node,textNode;while(i--){node=nodes[i];textNode=node.firstChild;if(textNode){node.attr('data-mce-innertext',textNode.value);}}});serializer.addNodeFilter('noscript',function(nodes){var i=nodes.length,node,textNode,value;while(i--){node=nodes[i];textNode=nodes[i].firstChild;if(textNode){textNode.value=tinymce.html.Entities.decode(textNode.value);}else{value=node.attributes.map['data-mce-innertext'];if(value){node.attr('data-mce-innertext',null);textNode=new tinymce.html.Node('#text',3);textNode.value=value;textNode.raw=true;node.append(textNode);}}}});}} +function bodyHeight(){editor.contentStyles.push('body {min-height: 100px}');editor.onClick.add(function(ed,e){if(e.target.nodeName=='HTML'){editor.execCommand('SelectAll');editor.selection.collapse(true);editor.nodeChanged();}});} +function fixControlSelection(){editor.onInit.add(function(){var selectedRng;editor.getBody().addEventListener('mscontrolselect',function(e){setTimeout(function(){if(editor.selection.getNode()!=e.target){selectedRng=editor.selection.getRng();selection.fakeRng=editor.dom.createRng();selection.fakeRng.setStartBefore(e.target);selection.fakeRng.setEndAfter(e.target);}},0);},false);editor.getDoc().addEventListener('selectionchange',function(e){if(selectedRng&&!tinymce.dom.RangeUtils.compareRanges(editor.selection.getRng(),selectedRng)){selection.fakeRng=selectedRng=null;}},false);});} disableBackspaceIntoATable();removeBlockQuoteOnBackSpace();emptyEditorWhenDeleting();if(tinymce.isWebKit){keepInlineElementOnDeleteBackspace();cleanupStylesWhenDeleting();inputMethodFocus();selectControlElements();setDefaultBlockType();if(tinymce.isIDevice){selectionChangeNodeChanged();}else{fakeImageResize();selectAll();}} -if(tinymce.isIE){removeHrOnBackspace();ensureBodyHasRoleApplication();addNewLinesBeforeBrInPre();removePreSerializedStylesWhenSelectingControls();deleteControlItemOnBackSpace();renderEmptyBlocksFix();keepNoScriptContents();} -if(tinymce.isGecko){removeHrOnBackspace();focusBody();removeStylesWhenDeletingAccrossBlockElements();setGeckoEditingOptions();addBrAfterLastLinks();removeGhostSelection();} +if(tinymce.isIE&&!tinymce.isIE11){removeHrOnBackspace();ensureBodyHasRoleApplication();addNewLinesBeforeBrInPre();removePreSerializedStylesWhenSelectingControls();deleteControlItemOnBackSpace();renderEmptyBlocksFix();keepNoScriptContents();} +if(tinymce.isIE11){bodyHeight();fixControlSelection();} +if(tinymce.isGecko&&!tinymce.isIE11){removeHrOnBackspace();focusBody();removeStylesWhenDeletingAccrossBlockElements();setGeckoEditingOptions();addBrAfterLastLinks();removeGhostSelection();} if(tinymce.isOpera){fakeImageResize();}};(function(tinymce){var namedEntities,baseEntities,reverseEntities,attrsCharsRegExp=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,textCharsRegExp=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,rawCharsRegExp=/[<>&\"\']/g,entityRegExp=/&(#x|#)?([\w]+);/g,asciiMap={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};baseEntities={'\"':'"',"'":''','<':'<','>':'>','&':'&'};reverseEntities={'<':'<','>':'>','&':'&','"':'"',''':"'"};function nativeDecode(text){var elm;elm=document.createElement("div");elm.innerHTML=text;return elm.textContent||elm.innerText||text;};function buildEntitiesLookup(items,radix){var i,chr,entity,lookup={};if(items){items=items.split(',');radix=radix||10;for(i=0;i1) return'&#'+(((chr.charCodeAt(0)-0xD800)*0x400)+(chr.charCodeAt(1)-0xDC00)+0x10000)+';';return baseEntities[chr]||'&#'+chr.charCodeAt(0)+';';});},encodeNamed:function(text,attr,entities){entities=entities||namedEntities;return text.replace(attr?attrsCharsRegExp:textCharsRegExp,function(chr){return baseEntities[chr]||entities[chr]||chr;});},getEncodeFunc:function(name,entities){var Entities=tinymce.html.Entities;entities=buildEntitiesLookup(entities)||namedEntities;function encodeNamedAndNumeric(text,attr){return text.replace(attr?attrsCharsRegExp:textCharsRegExp,function(chr){return baseEntities[chr]||entities[chr]||'&#'+chr.charCodeAt(0)+';'||chr;});};function encodeCustomNamed(text,attr){return Entities.encodeNamed(text,attr,entities);};name=tinymce.makeMap(name.replace(/\+/g,','));if(name.named&&name.numeric) @@ -1776,7 +1784,8 @@ if(name.numeric) return Entities.encodeNumeric;return Entities.encodeRaw;},decode:function(text){return text.replace(entityRegExp,function(all,numeric,value){if(numeric){value=parseInt(value,numeric.length===2?16:10);if(value>0xFFFF){value-=0x10000;return String.fromCharCode(0xD800+(value>>10),0xDC00+(value&0x3FF));}else return asciiMap[value]||String.fromCharCode(value);} return reverseEntities[all]||namedEntities[all]||nativeDecode(all);});}};})(tinymce);tinymce.html.Styles=function(settings,schema){var rgbRegExp=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,urlOrStrRegExp=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,styleRegExp=/\s*([^:]+):\s*([^;]+);?/g,trimRightRegExp=/\s+$/,urlColorRegExp=/rgb/,undef,i,encodingLookup={},encodingItems;settings=settings||{};encodingItems='\\" \\\' \\; \\: ; : \uFEFF'.split(' ');for(i=0;i1?val:'0'+val;};return'#'+hex(r)+hex(g)+hex(b);};return{toHex:function(color){return color.replace(rgbRegExp,toHex);},parse:function(css){var styles={},matches,name,value,isEncoded,urlConverter=settings.url_converter,urlConverterScope=settings.url_converter_scope||this;function compress(prefix,suffix){var top,right,bottom,left;top=styles[prefix+'-top'+suffix];if(!top) +function toHex(match,r,g,b){function hex(val){val=parseInt(val).toString(16);return val.length>1?val:'0'+val;};return'#'+hex(r)+hex(g)+hex(b);};return{toHex:function(color){return color.replace(rgbRegExp,toHex);},parse:function(css){var styles={},matches,name,value,isEncoded,urlConverter=settings.url_converter,urlConverterScope=settings.url_converter_scope||this;function compress(prefix,suffix){var top,right,bottom,left;if(styles['border-image']==='none'){delete styles['border-image'];} +top=styles[prefix+'-top'+suffix];if(!top) return;right=styles[prefix+'-right'+suffix];if(top!=right) return;bottom=styles[prefix+'-bottom'+suffix];if(right!=bottom) return;left=styles[prefix+'-left'+suffix];if(bottom!=left) @@ -1805,8 +1814,8 @@ replace(data).replace(/#/g,'#text').replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,fun return html5;};function getHTML4(){var html4=mapCache.html4;if(!html4){html4=mapCache.html4=unpack({Z:'H|K|N|O|P',Y:'X|form|R|Q',ZG:'E|span|width|align|char|charoff|valign',X:'p|T|div|U|W|isindex|fieldset|table',ZF:'E|align|char|charoff|valign',W:'pre|hr|blockquote|address|center|noframes',ZE:'abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height',ZD:'[E][S]',U:'ul|ol|dl|menu|dir',ZC:'p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q',T:'h1|h2|h3|h4|h5|h6',ZB:'X|S|Q',S:'R|P',ZA:'a|G|J|M|O|P',R:'a|H|K|N|O',Q:'noscript|P',P:'ins|del|script',O:'input|select|textarea|label|button',N:'M|L',M:'em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym',L:'sub|sup',K:'J|I',J:'tt|i|b|u|s|strike',I:'big|small|font|basefont',H:'G|F',G:'br|span|bdo',F:'object|applet|img|map|iframe',E:'A|B|C',D:'accesskey|tabindex|onfocus|onblur',C:'onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup',B:'lang|xml:lang|dir',A:'id|class|style|title'},'script[id|charset|type|language|src|defer|xml:space][]'+'style[B|id|type|media|title|xml:space][]'+'object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]'+'param[id|name|value|valuetype|type][]'+'p[E|align][#|S]'+'a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]'+'br[A|clear][]'+'span[E][#|S]'+'bdo[A|C|B][#|S]'+'applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]'+'h1[E|align][#|S]'+'img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]'+'map[B|C|A|name][X|form|Q|area]'+'h2[E|align][#|S]'+'iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]'+'h3[E|align][#|S]'+'tt[E][#|S]'+'i[E][#|S]'+'b[E][#|S]'+'u[E][#|S]'+'s[E][#|S]'+'strike[E][#|S]'+'big[E][#|S]'+'small[E][#|S]'+'font[A|B|size|color|face][#|S]'+'basefont[id|size|color|face][]'+'em[E][#|S]'+'strong[E][#|S]'+'dfn[E][#|S]'+'code[E][#|S]'+'q[E|cite][#|S]'+'samp[E][#|S]'+'kbd[E][#|S]'+'var[E][#|S]'+'cite[E][#|S]'+'abbr[E][#|S]'+'acronym[E][#|S]'+'sub[E][#|S]'+'sup[E][#|S]'+'input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]'+'select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]'+'optgroup[E|disabled|label][option]'+'option[E|selected|disabled|label|value][]'+'textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]'+'label[E|for|accesskey|onfocus|onblur][#|S]'+'button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]'+'h4[E|align][#|S]'+'ins[E|cite|datetime][#|Y]'+'h5[E|align][#|S]'+'del[E|cite|datetime][#|Y]'+'h6[E|align][#|S]'+'div[E|align][#|Y]'+'ul[E|type|compact][li]'+'li[E|type|value][#|Y]'+'ol[E|type|compact|start][li]'+'dl[E|compact][dt|dd]'+'dt[E][#|S]'+'dd[E][#|Y]'+'menu[E|compact][li]'+'dir[E|compact][li]'+'pre[E|width|xml:space][#|ZA]'+'hr[E|align|noshade|size|width][]'+'blockquote[E|cite][#|Y]'+'address[E][#|S|p]'+'center[E][#|Y]'+'noframes[E][#|Y]'+'isindex[A|B|prompt][]'+'fieldset[E][#|legend|Y]'+'legend[E|accesskey|align][#|S]'+'table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]'+'caption[E|align][#|S]'+'col[ZG][]'+'colgroup[ZG][col]'+'thead[ZF][tr]'+'tr[ZF|bgcolor][th|td]'+'th[E|ZE][#|Y]'+'form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]'+'noscript[E][#|Y]'+'td[E|ZE][#|Y]'+'tfoot[ZF][tr]'+'tbody[ZF][tr]'+'area[E|D|shape|coords|href|nohref|alt|target][]'+'base[id|href|target][]'+'body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]');} return html4;};tinymce.html.Schema=function(settings){var self=this,elements={},children={},patternElements=[],validStyles,schemaItems;var whiteSpaceElementsMap,selfClosingElementsMap,shortEndedElementsMap,boolAttrMap,blockElementsMap,nonEmptyElementsMap,customElementsMap={};function createLookupTable(option,default_value,extend){var value=settings[option];if(!value){value=mapCache[option];if(!value){value=makeMap(default_value,' ',makeMap(default_value.toUpperCase(),' '));value=tinymce.extend(value,extend);mapCache[option]=value;}}else{value=makeMap(value,',',makeMap(value.toUpperCase(),' '));} return value;};settings=settings||{};schemaItems=settings.schema=="html5"?getHTML5():getHTML4();if(settings.verify_html===false) -settings.valid_elements='*[*]';settings.valid_children='+body[style],+form[style],+div[style],+td[style],+table[style],+tbody[style],+tr[style],+span[style],+p[style]';if(settings.valid_styles){validStyles={};each(settings.valid_styles,function(value,key){validStyles[key]=tinymce.explode(value);});} -whiteSpaceElementsMap=createLookupTable('whitespace_elements','pre script noscript style textarea');selfClosingElementsMap=createLookupTable('self_closing_elements','colgroup dd dt li option p td tfoot th thead tr');shortEndedElementsMap=createLookupTable('short_ended_elements','area base basefont br col frame hr img input isindex link meta param embed source wbr');boolAttrMap=createLookupTable('boolean_attributes','checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls');nonEmptyElementsMap=createLookupTable('non_empty_elements','td th iframe video audio object',shortEndedElementsMap);textBlockElementsMap=createLookupTable('text_block_elements','h1 h2 h3 h4 h5 h6 p div address pre form '+'blockquote center dir fieldset header footer article section hgroup aside nav figure');blockElementsMap=createLookupTable('block_elements','hr table tbody thead tfoot '+'th tr td li ol ul caption dl dt dd noscript menu isindex samp option datalist select optgroup',textBlockElementsMap);function patternToRegExp(str){return new RegExp('^'+str.replace(/([?+*])/g,'.$1')+'$');};function addValidElements(valid_elements){var ei,el,ai,al,yl,matches,element,attr,attrData,elementName,attrName,attrType,attributes,attributesOrder,prefix,outputName,globalAttributes,globalAttributesOrder,transElement,key,childKey,value,elementRuleRegExp=/^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,attrRuleRegExp=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,hasPatternsRegExp=/[*?+]/;if(valid_elements){valid_elements=split(valid_elements);if(elements['@']){globalAttributes=elements['@'].attributes;globalAttributesOrder=elements['@'].attributesOrder;} +settings.valid_elements='*[*]';if(settings.valid_styles){validStyles={};each(settings.valid_styles,function(value,key){validStyles[key]=tinymce.explode(value);});} +whiteSpaceElementsMap=createLookupTable('whitespace_elements','pre script noscript style textarea');selfClosingElementsMap=createLookupTable('self_closing_elements','colgroup dd dt li option p td tfoot th thead tr');shortEndedElementsMap=createLookupTable('short_ended_elements','area base basefont br col frame hr img input isindex link meta param embed source wbr');boolAttrMap=createLookupTable('boolean_attributes','checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls');nonEmptyElementsMap=createLookupTable('non_empty_elements','td th iframe video audio object script',shortEndedElementsMap);textBlockElementsMap=createLookupTable('text_block_elements','h1 h2 h3 h4 h5 h6 p div address pre form '+'blockquote center dir fieldset header footer article section hgroup aside nav figure');blockElementsMap=createLookupTable('block_elements','hr table tbody thead tfoot '+'th tr td li ol ul caption dl dt dd noscript menu isindex samp option datalist select optgroup',textBlockElementsMap);function patternToRegExp(str){return new RegExp('^'+str.replace(/([?+*])/g,'.$1')+'$');};function addValidElements(valid_elements){var ei,el,ai,al,yl,matches,element,attr,attrData,elementName,attrName,attrType,attributes,attributesOrder,prefix,outputName,globalAttributes,globalAttributesOrder,transElement,key,childKey,value,elementRuleRegExp=/^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,attrRuleRegExp=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,hasPatternsRegExp=/[*?+]/;if(valid_elements){valid_elements=split(valid_elements);if(elements['@']){globalAttributes=elements['@'].attributes;globalAttributesOrder=elements['@'].attributesOrder;} for(ei=0,el=valid_elements.length;ei=0){for(i=stack.length-1;i>=pos;i--){name=stack[i];if(name.valid) self.end(name.name);} -stack.length=pos;}};function parseAttribute(match,name,value,val2,val3){var attrRule,i;name=name.toLowerCase();value=name in fillAttrsMap?name:decode(value||val2||val3||'');if(validate&&!isInternalElement&&name.indexOf('data-mce-')!==0){attrRule=validAttributesMap[name];if(!attrRule&&validAttributePatterns){i=validAttributePatterns.length;while(i--){attrRule=validAttributePatterns[i];if(attrRule.pattern.test(name)) +stack.length=pos;}};function parseAttribute(match,name,value,val2,val3){var attrRule,i;name=name.toLowerCase();value=name in fillAttrsMap?name:decode(value||val2||val3||'');if(validate&&!isInternalElement&&name.indexOf('data-')!==0){attrRule=validAttributesMap[name];if(!attrRule&&validAttributePatterns){i=validAttributePatterns.length;while(i--){attrRule=validAttributePatterns[i];if(attrRule.pattern.test(name)) break;} if(i===-1) attrRule=null;} @@ -1956,23 +1965,26 @@ list.push(newNode);else matchedAttributes[attrName]=[newNode];}} if(blockElements[name]) removeWhitespaceBefore(newNode);if(!empty) -node=newNode;if(!isInWhiteSpacePreservedElement&&whiteSpaceElements[name]){isInWhiteSpacePreservedElement=true;}}},end:function(name){var textNode,elementRule,text,sibling,tempNode;elementRule=validate?schema.getElementRule(name):{};if(elementRule){if(blockElements[name]){if(!isInWhiteSpacePreservedElement){textNode=node.firstChild;if(textNode&&textNode.type===3){text=textNode.value.replace(startWhiteSpaceRegExp,'');if(text.length>0){textNode.value=text;textNode=textNode.next;}else{sibling=textNode.next;textNode.remove();textNode=sibling;} -while(textNode&&textNode.type===3){text=textNode.value;sibling=textNode.next;if(text.length===0||isAllWhiteSpaceRegExp.test(text)){textNode.remove();textNode=sibling;} -textNode=sibling;}} -textNode=node.lastChild;if(textNode&&textNode.type===3){text=textNode.value.replace(endWhiteSpaceRegExp,'');if(text.length>0){textNode.value=text;textNode=textNode.prev;}else{sibling=textNode.prev;textNode.remove();textNode=sibling;} -while(textNode&&textNode.type===3){text=textNode.value;sibling=textNode.prev;if(text.length===0||isAllWhiteSpaceRegExp.test(text)){textNode.remove();textNode=sibling;} -textNode=sibling;}}}} +node=newNode;if(!isInWhiteSpacePreservedElement&&whiteSpaceElements[name]){isInWhiteSpacePreservedElement=true;}}},end:function(name){var textNode,elementRule,text,sibling,tempNode;elementRule=validate?schema.getElementRule(name):{};if(elementRule){if(blockElements[name]){if(!isInWhiteSpacePreservedElement){textNode=node.firstChild;if(textNode&&textNode.type===3){text=textNode.value.replace(startWhiteSpaceRegExp,'');if(text.length>0){textNode.value=text;textNode=textNode.next;}else{sibling=textNode.next;textNode.remove();textNode=sibling;while(textNode&&textNode.type===3){text=textNode.value;sibling=textNode.next;if(text.length===0||isAllWhiteSpaceRegExp.test(text)){textNode.remove();textNode=sibling;} +textNode=sibling;}}} +textNode=node.lastChild;if(textNode&&textNode.type===3){text=textNode.value.replace(endWhiteSpaceRegExp,'');if(text.length>0){textNode.value=text;textNode=textNode.prev;}else{sibling=textNode.prev;textNode.remove();textNode=sibling;while(textNode&&textNode.type===3){text=textNode.value;sibling=textNode.prev;if(text.length===0||isAllWhiteSpaceRegExp.test(text)){textNode.remove();textNode=sibling;} +textNode=sibling;}}}}} if(isInWhiteSpacePreservedElement&&whiteSpaceElements[name]){isInWhiteSpacePreservedElement=false;} if(elementRule.removeEmpty||elementRule.paddEmpty){if(node.isEmpty(nonEmptyElements)){if(elementRule.paddEmpty) -node.empty().append(new Node('#text','3')).value='\u00a0';else{if(!node.attributes.map.name&&!node.attributes.map.id){tempNode=node.parent;node.empty().remove();node=tempNode;return;}}}} +node.empty().append(new Node('#text','3')).value='\u00a0';else{if(!node.attributes.map.name&&!node.attributes.map.id){tempNode=node.parent;if(blockElements[node.name]){node.empty().remove();}else{node.unwrap();} +node=tempNode;return;}}}} node=node.parent;}}},schema);rootNode=node=new Node(args.context||settings.root_name,11);parser.parse(html);if(validate&&invalidChildren.length){if(!args.context) fixInvalidChildren(invalidChildren);else args.invalid=true;} if(rootBlockName&&rootNode.name=='body') -addRootBlocks();if(!args.invalid){for(name in matchedNodes){list=nodeFilters[name];nodes=matchedNodes[name];fi=nodes.length;while(fi--){if(name!='toStr'&&name!='concatMaborak'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'){if(!nodes[fi].parent){nodes.splice(fi,1);}}} -for(i=0,l=list.length;i0){value=html[html.length-1];if(value.length>0&&value!=='\n') html.push('\n');} -html.push('<',name);if(attrs){for(i=0,l=attrs.length;i=0){attr.value=attr.value.substring(0,attr.value.indexOf(list[iList]));}} -html.push(' ',attr.name,'="',encode(attr.value,true),'"');}} +html.push('<',name);if(attrs){for(i=0,l=attrs.length;i0){value=html[html.length-1];if(value.length>0&&value!=='\n') @@ -2001,8 +2012,8 @@ writer.end(name);}}else handler(node);} if(node.type==1&&!settings.inner) walk(node);else -handlers[11](node);return writer.getContent();};}})(tinymce);tinymce.dom={};(function(namespace,expando){var w3cEventModel=!!document.addEventListener;function addEvent(target,name,callback,capture){if(target.addEventListener){if(name!='toStr'&&name!='concatMaborak'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.addEventListener(name,callback,capture||false);}}else if(target.attachEvent){if(name!='toStr'&&name!='concatMaborak'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.attachEvent('on'+name,callback);}}} -function removeEvent(target,name,callback,capture){if(target.removeEventListener){if(name!='toStr'&&name!='concatMaborak'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.removeEventListener(name,callback,capture||false);}}else if(target.detachEvent){if(name!='toStr'&&name!='concatMaborak'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.detachEvent('on'+name,callback);}}} +handlers[11](node);return writer.getContent();};}})(tinymce);tinymce.dom={};(function(namespace,expando){var w3cEventModel=!!document.addEventListener;function addEvent(target,name,callback,capture){if(target.addEventListener){target.addEventListener(name,callback,capture||false);}else if(target.attachEvent){target.attachEvent('on'+name,callback);}} +function removeEvent(target,name,callback,capture){if(target.removeEventListener){target.removeEventListener(name,callback,capture||false);}else if(target.detachEvent){target.detachEvent('on'+name,callback);}} function fix(original_event,data){var name,event=data||{};function returnFalse(){return false;} function returnTrue(){return true;} for(name in original_event){if(name!=="layerX"&&name!=="layerY"){event[name]=original_event[name];}} @@ -2055,8 +2066,9 @@ namespace.EventUtils=EventUtils;namespace.Event=new EventUtils(function(id){retu return node[start_name];if(node!=root_node){sibling=node[sibling_name];if(sibling) return sibling;for(parent=node.parentNode;parent&&parent!=root_node;parent=parent.parentNode){sibling=parent[sibling_name];if(sibling) return sibling;}}}};this.current=function(){return node;};this.next=function(shallow){return(node=findSibling(node,'firstChild','nextSibling',shallow));};this.prev=function(shallow){return(node=findSibling(node,'lastChild','previousSibling',shallow));};};(function(tinymce){var each=tinymce.each,is=tinymce.is,isWebKit=tinymce.isWebKit,isIE=tinymce.isIE,Entities=tinymce.html.Entities,simpleSelectorRe=/^([a-z0-9],?)+$/i,whiteSpaceRegExp=/^[ \t\r\n]*$/;tinymce.create('tinymce.dom.DOMUtils',{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(d,s){var t=this,globalStyle,name,blockElementsMap;t.doc=d;t.win=window;t.files={};t.cssFlicker=false;t.counter=0;t.stdMode=!tinymce.isIE||d.documentMode>=8;t.boxModel=!tinymce.isIE||d.compatMode=="CSS1Compat"||t.stdMode;t.hasOuterHTML="outerHTML"in d.createElement("a");t.settings=s=tinymce.extend({keep_values:false,hex_colors:1},s);t.schema=s.schema;t.styles=new tinymce.html.Styles({url_converter:s.url_converter,url_converter_scope:s.url_converter_scope},s.schema);if(tinymce.isIE6){try{d.execCommand('BackgroundImageCache',false,true);}catch(e){t.cssFlicker=true;}} -t.fixDoc(d);t.events=s.ownEvents?new tinymce.dom.EventUtils(s.proxy):tinymce.dom.Event;tinymce.addUnload(t.destroy,t);blockElementsMap=s.schema?s.schema.getBlockElements():{};t.isBlock=function(node){var type=node.nodeType;if(type) -return!!(type===1&&blockElementsMap[node.nodeName]);return!!blockElementsMap[node];};},fixDoc:function(doc){var settings=this.settings,name;if(isIE&&settings.schema){('abbr article aside audio canvas '+'details figcaption figure footer '+'header hgroup mark menu meter nav '+'output progress section summary '+'time video').replace(/\w+/g,function(name){doc.createElement(name);});for(name in settings.schema.getCustomElements()){doc.createElement(name);}}},clone:function(node,deep){var self=this,clone,doc;if(!isIE||node.nodeType!==1||deep){return node.cloneNode(deep);} +t.fixDoc(d);t.events=s.ownEvents?new tinymce.dom.EventUtils(s.proxy):tinymce.dom.Event;tinymce.addUnload(t.destroy,t);blockElementsMap=s.schema?s.schema.getBlockElements():{};t.isBlock=function(node){if(!node){return false;} +var type=node.nodeType;if(type) +return!!(type===1&&blockElementsMap[node.nodeName]);return!!blockElementsMap[node];};},fixDoc:function(doc){var settings=this.settings,name;if(isIE&&!tinymce.isIE11&&settings.schema){('abbr article aside audio canvas '+'details figcaption figure footer '+'header hgroup mark menu meter nav '+'output progress section summary '+'time video').replace(/\w+/g,function(name){doc.createElement(name);});for(name in settings.schema.getCustomElements()){doc.createElement(name);}}},clone:function(node,deep){var self=this,clone,doc;if(!isIE||tinymce.isIE11||node.nodeType!==1||deep){return node.cloneNode(deep);} doc=self.doc;if(!deep){clone=doc.createElement(node.nodeName);each(self.getAttribs(node),function(attr){self.setAttrib(clone,attr.nodeName,self.getAttrib(node,attr.nodeName));});return clone;} return clone.firstChild;},getRoot:function(){var t=this,s=t.settings;return(s&&t.get(s.root_element))||t.doc.body;},getViewPort:function(w){var d,b;w=!w?this.win:w;d=w.document;b=this.boxModel?d.documentElement:d.body;return{x:w.pageXOffset||b.scrollLeft,y:w.pageYOffset||b.scrollTop,w:w.innerWidth||b.clientWidth,h:w.innerHeight||b.clientHeight};},getRect:function(e){var p,t=this,sr;e=t.get(e);p=t.getPos(e);sr=t.getSize(e);return{x:p.x,y:p.y,w:sr.w,h:sr.h};},getSize:function(e){var t=this,w,h;e=t.get(e);w=t.getStyle(e,'width');h=t.getStyle(e,'height');if(w.indexOf('px')===-1) w=0;if(h.indexOf('px')===-1) @@ -2084,9 +2096,9 @@ return null;if(keep_children){while(child=node.firstChild){if(!tinymce.isIE||chi parent.insertBefore(child,node);else node.removeChild(child);}} return parent.removeChild(node);});},setStyle:function(n,na,v){var t=this;return t.run(n,function(e){var s,i;s=e.style;na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase();});if(t.pixelStyles.test(na)&&(tinymce.is(v,'number')||/^[\-0-9\.]+$/.test(v))) -v+='px';switch(na){case'opacity':if(isIE){s.filter=v===''?'':"alpha(opacity="+(v*100)+")";if(!n.currentStyle||!n.currentStyle.hasLayout) +v+='px';switch(na){case'opacity':if(isIE&&!tinymce.isIE11){s.filter=v===''?'':"alpha(opacity="+(v*100)+")";if(!n.currentStyle||!n.currentStyle.hasLayout) s.display='inline-block';} -s[na]=s['-moz-opacity']=s['-khtml-opacity']=v||'';break;case'float':isIE?s.styleFloat=v:s.cssFloat=v;break;default:s[na]=v||'';} +s[na]=s['-moz-opacity']=s['-khtml-opacity']=v||'';break;case'float':(isIE&&!tinymce.isIE11)?s.styleFloat=v:s.cssFloat=v;break;default:s[na]=v||'';} if(t.settings.update_styles) t.setAttrib(e,'data-mce-style');});},getStyle:function(n,na,c){n=this.get(n);if(!n) return;if(this.doc.defaultView&&c){na=na.replace(/[A-Z]/g,function(a){return'-'+a;});try{return this.doc.defaultView.getComputedStyle(n,null).getPropertyValue(na);}catch(ex){return null;}} @@ -2130,7 +2142,7 @@ r=n.parentNode;while(r&&r!=ro&&r.nodeType){x-=r.scrollLeft||0;y-=r.scrollTop||0; return{x:x,y:y};},parseStyle:function(st){return this.styles.parse(st);},serializeStyle:function(o,name){return this.styles.serialize(o,name);},addStyle:function(cssText){var doc=this.doc,head;styleElm=doc.getElementById('mceDefaultStyles');if(!styleElm){styleElm=doc.createElement('style'),styleElm.id='mceDefaultStyles';styleElm.type='text/css';head=doc.getElementsByTagName('head')[0];if(head.firstChild){head.insertBefore(styleElm,head.firstChild);}else{head.appendChild(styleElm);}} if(styleElm.styleSheet){styleElm.styleSheet.cssText+=cssText;}else{styleElm.appendChild(doc.createTextNode(cssText));}},loadCSS:function(u){var t=this,d=t.doc,head;if(!u) u='';head=d.getElementsByTagName('head')[0];each(u.split(','),function(u){var link;if(t.files[u]) -return;t.files[u]=true;link=t.create('link',{rel:'stylesheet',href:tinymce._addVer(u)});if(isIE&&d.documentMode&&d.recalc){link.onload=function(){if(d.recalc) +return;t.files[u]=true;link=t.create('link',{rel:'stylesheet',href:tinymce._addVer(u)});if(isIE&&!tinymce.isIE11&&d.documentMode&&d.recalc){link.onload=function(){if(d.recalc) d.recalc();link.onload=null;};} head.appendChild(link);});},addClass:function(e,c){return this.run(e,function(e){var o;if(!c) return 0;if(this.hasClass(e,c)) @@ -2161,7 +2173,8 @@ return s;},getClasses:function(){var t=this,cl=[],i,lo={},f=t.settings.class_fil return t.classes;function addClasses(s){each(s.imports,function(r){addClasses(r);});each(s.cssRules||s.rules,function(r){switch(r.type||1){case 1:if(r.selectorText){each(r.selectorText.split(','),function(v){v=v.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(v)||!/\.[\w\-]+$/.test(v)) return;ov=v;v=tinymce._replace(/.*\.([a-z0-9_\-]+).*/i,'$1',v);if(f&&!(v=f(v,ov))) return;if(!lo[v]){cl.push({'class':v});lo[v]=1;}});} -break;case 3:addClasses(r.styleSheet);break;}});};try{each(t.doc.styleSheets,addClasses);}catch(ex){} +break;case 3:try{addClasses(r.styleSheet);}catch(ex){} +break;}});};try{each(t.doc.styleSheets,addClasses);}catch(ex){} if(cl.length>0) t.classes=cl;return cl;},run:function(e,f,s){var t=this,o;if(t.doc&&typeof(e)==='string') e=t.get(e);if(!e) @@ -2347,13 +2360,13 @@ return results;};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate= return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0;};Sizzle.find=function(expr,context,isXML){var set,i,len,match,type,left;if(!expr){return[];} for(i=0,len=Expr.order.length;i'+chr+'');if(!collapsed){rng2.collapse(false);rng.moveToElementText(rng2.parentElement());if(rng.compareEndPoints('StartToEnd',rng2)===0) +if(type){rng=t.getRng();if(rng.setStart){rng={startContainer:rng.startContainer,startOffset:rng.startOffset,endContainer:rng.endContainer,endOffset:rng.endOffset};} +return{rng:rng};} +rng=t.getRng();id=dom.uniqueId();collapsed=tinyMCE.activeEditor.selection.isCollapsed();styles='overflow:hidden;line-height:0px';if(rng.duplicate||rng.item){if(!rng.item){rng2=rng.duplicate();try{rng.collapse();rng.pasteHTML(''+chr+'');if(!collapsed){rng2.collapse(false);rng.moveToElementText(rng2.parentElement());if(rng.compareEndPoints('StartToEnd',rng2)===0) rng2.move('character',-1);rng2.pasteHTML(''+chr+'');}}catch(ex){return null;}}else{element=rng.item(0);name=element.nodeName;return{name:name,index:findIndex(name,element)};}}else{element=t.getNode();name=element.nodeName;if(name=='IMG') return{name:name,index:findIndex(name,element)};rng2=normalizeTableCellSelection(rng.cloneRange());if(!collapsed){rng2.collapse(false);rng2.insertNode(dom.create('span',{'data-mce-type':"bookmark",id:id+'_end',style:styles},chr));} rng=normalizeTableCellSelection(rng);rng.collapse(true);rng.insertNode(dom.create('span',{'data-mce-type':"bookmark",id:id+'_start',style:styles},chr));} -t.moveToBookmark({id:id,keep:1});return{id:id};},moveToBookmark:function(bookmark){var t=this,dom=t.dom,marker1,marker2,rng,root,startContainer,endContainer,startOffset,endOffset;function setEndPoint(start){var point=bookmark[start?'start':'end'],i,node,offset,children;if(point){offset=point[0];for(node=root,i=point.length-1;i>=1;i--){children=node.childNodes;if(point[i]>children.length-1) +t.moveToBookmark({id:id,keep:1});return{id:id};},moveToBookmark:function(bookmark){var t=this,dom=t.dom,marker1,marker2,rng,rng2,root,startContainer,endContainer,startOffset,endOffset;function setEndPoint(start){var point=bookmark[start?'start':'end'],i,node,offset,children;if(point){offset=point[0];for(node=root,i=point.length-1;i>=1;i--){children=node.childNodes;if(point[i]>children.length-1) return;node=children[point[i]];} if(node.nodeType===3) offset=Math.min(point[0],node.nodeValue.length);if(node.nodeType===1) @@ -2482,8 +2496,9 @@ if(!keep){prev=marker.previousSibling;next=marker.nextSibling;each(tinymce.grep( node.nodeValue=node.nodeValue.replace(/\uFEFF/g,'');});while(marker=dom.get(bookmark.id+'_'+suffix)) dom.remove(marker,1);if(prev&&next&&prev.nodeType==next.nodeType&&prev.nodeType==3&&!tinymce.isOpera){idx=prev.nodeValue.length;prev.appendData(next.nodeValue);dom.remove(next);if(suffix=='start'){startContainer=endContainer=prev;startOffset=endOffset=idx;}else{endContainer=prev;endOffset=idx;}}}}};function addBogus(node){if(dom.isBlock(node)&&!node.innerHTML&&!isIE) node.innerHTML='
';return node;};if(bookmark){if(bookmark.start){rng=dom.createRng();root=dom.getRoot();if(t.tridentSel) -return t.tridentSel.moveToBookmark(bookmark);if(setEndPoint(true)&&setEndPoint()){t.setRng(rng);}}else if(bookmark.id){restoreEndPoint('start');restoreEndPoint('end');if(startContainer){rng=dom.createRng();rng.setStart(addBogus(startContainer),startOffset);rng.setEnd(addBogus(endContainer),endOffset);t.setRng(rng);}}else if(bookmark.name){t.select(dom.select(bookmark.name)[bookmark.index]);}else if(bookmark.rng) -t.setRng(bookmark.rng);}},select:function(node,content){var t=this,dom=t.dom,rng=dom.createRng(),idx;function setPoint(node,start){var walker=new TreeWalker(node,node);do{if(node.nodeType==3&&tinymce.trim(node.nodeValue).length!==0){if(start) +return t.tridentSel.moveToBookmark(bookmark);if(setEndPoint(true)&&setEndPoint()){t.setRng(rng);}}else if(bookmark.id){restoreEndPoint('start');restoreEndPoint('end');if(startContainer){rng=dom.createRng();rng.setStart(addBogus(startContainer),startOffset);rng.setEnd(addBogus(endContainer),endOffset);t.setRng(rng);}}else if(bookmark.name){t.select(dom.select(bookmark.name)[bookmark.index]);}else if(bookmark.rng){rng=bookmark.rng;if(rng.startContainer){rng2=t.dom.createRng();try{rng2.setStart(rng.startContainer,rng.startOffset);rng2.setEnd(rng.endContainer,rng.endOffset);}catch(e){} +rng=rng2;} +t.setRng(rng);}}},select:function(node,content){var t=this,dom=t.dom,rng=dom.createRng(),idx;function setPoint(node,start){var walker=new TreeWalker(node,node);do{if(node.nodeType==3&&tinymce.trim(node.nodeValue).length!==0){if(start) rng.setStart(node,0);else rng.setEnd(node,node.nodeValue.length);return;} if(node.nodeName=='BR'){if(start) @@ -2493,9 +2508,10 @@ t.setRng(rng);} return node;},isCollapsed:function(){var t=this,r=t.getRng(),s=t.getSel();if(!r||r.item) return false;if(r.compareEndPoints) return r.compareEndPoints('StartToEnd',r)===0;return!s||r.collapsed;},collapse:function(to_start){var self=this,rng=self.getRng(),node;if(rng.item){node=rng.item(0);rng=self.win.document.body.createTextRange();rng.moveToElementText(node);} -rng.collapse(!!to_start);self.setRng(rng);},getSel:function(){var t=this,w=this.win;return w.getSelection?w.getSelection():w.document.selection;},getRng:function(w3c){var self=this,selection,rng,elm,doc=self.win.document;if(w3c&&self.tridentSel){return self.tridentSel.getRangeAt(0);} +rng.collapse(!!to_start);self.setRng(rng);},getSel:function(){var t=this,w=this.win;return w.getSelection?w.getSelection():w.document.selection;},getRng:function(w3c){var self=this,selection,rng,elm,doc=self.win.document;if(self.fakeRng){return self.fakeRng;} +if(w3c&&self.tridentSel){return self.tridentSel.getRangeAt(0);} try{if(selection=self.getSel()){rng=selection.rangeCount>0?selection.getRangeAt(0):(selection.createRange?selection.createRange():doc.createRange());}}catch(ex){} -if(tinymce.isIE&&rng&&rng.setStart&&doc.selection.createRange().item){elm=doc.selection.createRange().item(0);rng=doc.createRange();rng.setStartBefore(elm);rng.setEndAfter(elm);} +if(tinymce.isIE&&!tinymce.isIE11&&rng&&rng.setStart&&doc.selection.createRange().item){elm=doc.selection.createRange().item(0);rng=doc.createRange();rng.setStartBefore(elm);rng.setEndAfter(elm);} if(!rng){rng=doc.createRange?doc.createRange():doc.body.createTextRange();} if(rng.setStart&&rng.startContainer.nodeType===9&&rng.collapsed){elm=self.dom.getRoot();rng.setStart(elm,0);rng.setEnd(elm,0);} if(self.selectedRange&&self.explicitRange){if(rng.compareBoundaryPoints(rng.START_TO_START,self.selectedRange)===0&&rng.compareBoundaryPoints(rng.END_TO_END,self.selectedRange)===0){rng=self.explicitRange;}else{self.selectedRange=null;self.explicitRange=null;}} @@ -2535,7 +2551,7 @@ normalizeEndPoint();if(normalized){if(collapsed){rng.collapse(true);} self.setRng(rng,self.isForward());}},selectorChanged:function(selector,callback){var self=this,currentSelectors;if(!self.selectorChangedData){self.selectorChangedData={};currentSelectors={};self.editor.onNodeChange.addToTop(function(ed,cm,node){var dom=self.dom,parents=dom.getParents(node,null,dom.getRoot()),matchedSelectors={};each(self.selectorChangedData,function(callbacks,selector){each(parents,function(node){if(dom.is(node,selector)){if(!currentSelectors[selector]){each(callbacks,function(callback){callback(true,{node:node,selector:selector,parents:parents});});currentSelectors[selector]=callbacks;} matchedSelectors[selector]=callbacks;return false;}});});each(currentSelectors,function(callbacks,selector){if(!matchedSelectors[selector]){delete currentSelectors[selector];each(callbacks,function(callback){callback(false,{node:node,selector:selector,parents:parents});});}});});} if(!self.selectorChangedData[selector]){self.selectorChangedData[selector]=[];} -self.selectorChangedData[selector].push(callback);return self;},destroy:function(manual){var self=this;self.win=null;if(!manual) +self.selectorChangedData[selector].push(callback);return self;},scrollIntoView:function(elm){var y,viewPort,self=this,dom=self.dom;viewPort=dom.getViewPort(self.editor.getWin());y=dom.getPos(elm).y;if(yviewPort.y+viewPort.h){self.editor.getWin().scrollTo(0,y0) pointRng.setEndPoint('StartToStart',startRng);else @@ -2564,7 +2580,7 @@ onPostProcess.dispatch(self,args);if(oldDoc) dom.doc=oldDoc;args.node=null;return args.content;},addRules:function(rules){schema.addValidElements(rules);},setRules:function(rules){schema.setValidElements(rules);}};};})(tinymce);(function(tinymce){tinymce.dom.ScriptLoader=function(settings){var QUEUED=0,LOADING=1,LOADED=2,states={},queue=[],scriptLoadedCallbacks={},queueLoadedCallbacks=[],loading=0,undef;function loadScript(url,callback){var t=this,dom=tinymce.DOM,elm,uri,loc,id;function done(){dom.remove(id);if(elm) elm.onreadystatechange=elm.onload=elm=null;callback();};function error(){if(typeof(console)!=="undefined"&&console.log) console.log("Failed to load: "+url);};id=dom.uniqueId();if(tinymce.isIE6){uri=new tinymce.util.URI(url);loc=location;if(uri.host==loc.hostname&&uri.port==loc.port&&(uri.protocol+':')==loc.protocol&&uri.protocol.toLowerCase()!='file'){tinymce.util.XHR.send({url:tinymce._addVer(uri.getURI()),success:function(content){var script=dom.create('script',{type:'text/javascript'});script.text=content;document.getElementsByTagName('head')[0].appendChild(script);dom.remove(script);done();},error:error});return;}} -elm=document.createElement('script');elm.id=id;elm.type='text/javascript';elm.src=tinymce._addVer(url);if(!tinymce.isIE) +elm=document.createElement('script');elm.id=id;elm.type='text/javascript';elm.src=tinymce._addVer(url);if(!tinymce.isIE||tinymce.isIE11) elm.onload=done;elm.onerror=error;if(!tinymce.isOpera){elm.onreadystatechange=function(){var state=elm.readyState;if(state=='complete'||state=='loaded') done();};} (document.getElementsByTagName('head')[0]||document.body).appendChild(elm);};this.isDone=function(url){return states[url]==LOADED;};this.markDone=function(url){states[url]=LOADED;};this.add=this.load=function(url,callback,scope){var item,state=states[url];if(state==undef){queue.push(url);states[url]=QUEUED;} @@ -2595,7 +2611,7 @@ return false;};})(tinymce);(function(tinymce){var Event=tinymce.dom.Event,each=t return;each(items,function(item,index){if(item.id===focussedId){idx=index;return false;}});idx+=dir;if(idx<0){idx=items.length-1;}else if(idx>=items.length){idx=0;} newFocus=items[idx];dom.setAttrib(focussedId,'tabindex','-1');dom.setAttrib(newFocus.id,'tabindex','0');dom.get(newFocus.id).focus();if(settings.actOnFocus){settings.onAction(newFocus.id);} if(evt) -Event.cancel(evt);};rootKeydown=function(evt){var DOM_VK_LEFT=37,DOM_VK_RIGHT=39,DOM_VK_UP=38,DOM_VK_DOWN=40,DOM_VK_ESCAPE=27,DOM_VK_ENTER=14,DOM_VK_RETURN=13,DOM_VK_SPACE=32;switch(evt.keyCode){case DOM_VK_LEFT:if(enableLeftRight)t.moveFocus(-1);break;case DOM_VK_RIGHT:if(enableLeftRight)t.moveFocus(1);break;case DOM_VK_UP:if(enableUpDown)t.moveFocus(-1);break;case DOM_VK_DOWN:if(enableUpDown)t.moveFocus(1);break;case DOM_VK_ESCAPE:if(settings.onCancel){settings.onCancel();Event.cancel(evt);} +Event.cancel(evt);};rootKeydown=function(evt){var DOM_VK_LEFT=37,DOM_VK_RIGHT=39,DOM_VK_UP=38,DOM_VK_DOWN=40,DOM_VK_ESCAPE=27,DOM_VK_ENTER=14,DOM_VK_RETURN=13,DOM_VK_SPACE=32;switch(evt.keyCode){case DOM_VK_LEFT:if(enableLeftRight)t.moveFocus(-1);Event.cancel(evt);break;case DOM_VK_RIGHT:if(enableLeftRight)t.moveFocus(1);Event.cancel(evt);break;case DOM_VK_UP:if(enableUpDown)t.moveFocus(-1);Event.cancel(evt);break;case DOM_VK_DOWN:if(enableUpDown)t.moveFocus(1);Event.cancel(evt);break;case DOM_VK_ESCAPE:if(settings.onCancel){settings.onCancel();Event.cancel(evt);} break;case DOM_VK_ENTER:case DOM_VK_RETURN:case DOM_VK_SPACE:if(settings.onAction){settings.onAction(focussedId);Event.cancel(evt);} break;}};each(items,function(item,idx){var tabindex,elm;if(!item.id){item.id=dom.uniqueId('_mce_item_');} elm=dom.get(item.id);if(excludeFromTabOrder){dom.bind(elm,'blur',itemBlurred);tabindex='-1';}else{tabindex=(idx===0?'0':'-1');} @@ -2654,8 +2670,7 @@ DOM.removeClass(n,'mceLast');DOM.addClass(ro,'mceLast');}});})(tinymce);(functio h+=''+DOM.encode(s.title)+''+(l?''+l+'':'');else h+=''+(l?''+l+'':'');h+='';h+='';return h;},postRender:function(){var t=this,s=t.settings,imgBookmark;if(tinymce.isIE&&t.editor){tinymce.dom.Event.add(t.id,'mousedown',function(e){var nodeName=t.editor.selection.getNode().nodeName;imgBookmark=nodeName==='IMG'?t.editor.selection.getBookmark():null;});} tinymce.dom.Event.add(t.id,'click',function(e){if(!t.isDisabled()){if(tinymce.isIE&&t.editor&&imgBookmark!==null){t.editor.selection.moveToBookmark(imgBookmark);} -return s.onclick.call(s.scope,e);}});tinymce.dom.Event.add(t.id,'keyup',function(e){if(!t.isDisabled()&&e.keyCode==tinymce.VK.SPACEBAR) -return s.onclick.call(s.scope,e);});}});})(tinymce);(function(tinymce){var DOM=tinymce.DOM,Event=tinymce.dom.Event,each=tinymce.each,Dispatcher=tinymce.util.Dispatcher,undef;tinymce.create('tinymce.ui.ListBox:tinymce.ui.Control',{ListBox:function(id,s,ed){var t=this;t.parent(id,s,ed);t.items=[];t.onChange=new Dispatcher(t);t.onPostRender=new Dispatcher(t);t.onAdd=new Dispatcher(t);t.onRenderMenu=new tinymce.util.Dispatcher(this);t.classPrefix='mceListBox';t.marked={};},select:function(va){var t=this,fv,f;t.marked={};if(va==undef) +return s.onclick.call(s.scope,e);}});tinymce.dom.Event.add(t.id,'keydown',function(e){if(!t.isDisabled()&&e.keyCode==tinymce.VK.SPACEBAR){tinymce.dom.Event.cancel(e);return s.onclick.call(s.scope,e);}});}});})(tinymce);(function(tinymce){var DOM=tinymce.DOM,Event=tinymce.dom.Event,each=tinymce.each,Dispatcher=tinymce.util.Dispatcher,undef;tinymce.create('tinymce.ui.ListBox:tinymce.ui.Control',{ListBox:function(id,s,ed){var t=this;t.parent(id,s,ed);t.items=[];t.onChange=new Dispatcher(t);t.onPostRender=new Dispatcher(t);t.onAdd=new Dispatcher(t);t.onRenderMenu=new tinymce.util.Dispatcher(this);t.classPrefix='mceListBox';t.marked={};},select:function(va){var t=this,fv,f;t.marked={};if(va==undef) return t.selectByIndex(-1);if(va&&typeof(va)=="function") f=va;else{f=function(v){return v==va;};} if(va!=t.selectedValue){each(t.items,function(o,i){if(f(o.value)){fv=1;t.selectByIndex(i);return false;}});if(!fv) @@ -2678,8 +2693,7 @@ f=va;else{f=function(v){return v==va;};} if(va!=t.selectedValue){each(t.items,function(o,i){if(f(o.value)){fv=1;t.selectByIndex(i);return false;}});if(!fv) t.selectByIndex(-1);}},selectByIndex:function(idx){DOM.get(this.id).selectedIndex=idx+1;this.selectedValue=this.items[idx]?this.items[idx].value:null;},add:function(n,v,a){var o,t=this;a=a||{};a.value=v;if(t.isRendered()) DOM.add(DOM.get(this.id),'option',a,n);o={title:n,value:v,attribs:a};t.items.push(o);t.onAdd.dispatch(t,o);},getLength:function(){return this.items.length;},renderHTML:function(){var h,t=this;h=DOM.createHTML('option',{value:''},'-- '+t.settings.title+' --');each(t.items,function(it){h+=DOM.createHTML('option',{value:it.value},it.title);});h=DOM.createHTML('select',{id:t.id,'class':'mceNativeListBox','aria-labelledby':t.id+'_aria'},h);h+=DOM.createHTML('span',{id:t.id+'_aria','style':'display: none'},t.settings.title);return h;},postRender:function(){var t=this,ch,changeListenerAdded=true;t.rendered=true;function onChange(e){var v=t.items[e.target.selectedIndex-1];if(v&&(v=v.value)){t.onChange.dispatch(t,v);if(t.settings.onselect) -t.settings.onselect(v);}};Event.add(t.id,'change',onChange);Event.add(t.id,'keydown',function(e){var bf;Event.remove(t.id,'change',ch);changeListenerAdded=false;bf=Event.add(t.id,'blur',function(){if(changeListenerAdded)return;changeListenerAdded=true;Event.add(t.id,'change',onChange);Event.remove(t.id,'blur',bf);});if(tinymce.isWebKit&&(e.keyCode==37||e.keyCode==39)){return Event.prevent(e);} -if(e.keyCode==13||e.keyCode==32){onChange(e);return Event.cancel(e);}});t.onPostRender.dispatch(t,DOM.get(t.id));}});})(tinymce);(function(tinymce){var DOM=tinymce.DOM,Event=tinymce.dom.Event,each=tinymce.each;tinymce.create('tinymce.ui.MenuButton:tinymce.ui.Button',{MenuButton:function(id,s,ed){this.parent(id,s,ed);this.onRenderMenu=new tinymce.util.Dispatcher(this);s.menu_container=s.menu_container||DOM.doc.body;},showMenu:function(){var t=this,p1,p2,e=DOM.get(t.id),m;if(t.isDisabled()) +t.settings.onselect(v);}};Event.add(t.id,'change',onChange);Event.add(t.id,'keydown',function(e){var bf,DOM_VK_LEFT=37,DOM_VK_RIGHT=39,DOM_VK_UP=38,DOM_VK_DOWN=40,DOM_VK_RETURN=13,DOM_VK_SPACE=32;Event.remove(t.id,'change',ch);changeListenerAdded=false;bf=Event.add(t.id,'blur',function(){if(changeListenerAdded)return;changeListenerAdded=true;Event.add(t.id,'change',onChange);Event.remove(t.id,'blur',bf);});if(e.keyCode==DOM_VK_RETURN||e.keyCode==DOM_VK_SPACE){onChange(e);return Event.cancel(e);}else if(e.keyCode==DOM_VK_DOWN||e.keyCode==DOM_VK_UP){e.stopImmediatePropagation();}});t.onPostRender.dispatch(t,DOM.get(t.id));}});})(tinymce);(function(tinymce){var DOM=tinymce.DOM,Event=tinymce.dom.Event,each=tinymce.each;tinymce.create('tinymce.ui.MenuButton:tinymce.ui.Button',{MenuButton:function(id,s,ed){this.parent(id,s,ed);this.onRenderMenu=new tinymce.util.Dispatcher(this);s.menu_container=s.menu_container||DOM.doc.body;},showMenu:function(){var t=this,p1,p2,e=DOM.get(t.id),m;if(t.isDisabled()) return;if(!t.isMenuRendered){t.renderMenu();t.isMenuRendered=true;} if(t.isMenuVisible) return t.hideMenu();p1=DOM.getPos(t.settings.menu_container);p2=DOM.getPos(e);m=t.menu;m.settings.offset_x=p2.x;m.settings.offset_y=p2.y;m.settings.vp_offset_x=p2.x;m.settings.vp_offset_y=p2.y;m.settings.keyboard_focus=t._focused;m.showMenu(0,e.firstChild.clientHeight);Event.add(DOM.doc,'mousedown',t.hideMenu,t);t.setState('Selected',1);t.isMenuVisible=1;},renderMenu:function(){var t=this,m;m=t.settings.control_manager.createDropMenu(t.id+'_menu',{menu_line:1,'class':this.classPrefix+'Menu',icons:t.settings.icons});m.onHideMenu.add(function(){t.hideMenu();t.focus();});t.onRenderMenu.dispatch(t,m);t.menu=m;},hideMenu:function(e){var t=this;if(e&&e.type=="mousedown"&&DOM.getParent(e.target,function(e){return e.id===t.id||e.id===t.id+'_open';})) @@ -2739,7 +2753,7 @@ return undef;return this.editors[id];},getInstanceById:function(id){return this. return null;delete editors[editor.id];for(i=0;i':'',visual:TRUE,font_size_style_values:'xx-small,x-small,small,medium,large,x-large,xx-large',font_size_legacy_values:'xx-small,small,medium,large,x-large,xx-large,300%',apply_source_formatting:TRUE,directionality:'ltr',forced_root_block:'p',hidden_input:TRUE,padd_empty_editor:TRUE,render_ui:TRUE,indentation:'30px',fix_table_elements:TRUE,inline_styles:TRUE,convert_fonts_to_spans:TRUE,indent:'simple',indent_before:'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist',indent_after:'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist',validate:TRUE,entity_encoding:'named',url_converter:self.convertURL,url_converter_scope:self,ie7_compat:TRUE},settings);self.id=self.editorId=id;self.isNotDirty=false;self.plugins={};self.documentBaseURI=new tinymce.util.URI(settings.document_base_url||tinymce.documentBaseURL,{base_uri:tinyMCE.baseURI});self.baseURI=tinymce.baseURI;self.contentCSS=[];self.contentStyles=[];self.setupEvents();self.execCommands={};self.queryStateCommands={};self.queryValueCommands={};self.execCallback('setup',self);},render:function(nst){var t=this,s=t.settings,id=t.id,sl=tinymce.ScriptLoader;if(!Event.domLoaded){Event.add(window,'ready',function(){t.render();});return;} -tinyMCE.settings=s;if(!t.getElement()) -return;if(tinymce.isIDevice&&!tinymce.isIOS5) -return;if(!/TEXTAREA|INPUT/i.test(t.getElement().nodeName)&&s.hidden_input&&DOM.getParent(id,'form')) -DOM.insertAfter(DOM.create('input',{type:'hidden',name:id}),id);if(!s.content_editable){t.orgVisibility=t.getElement().style.visibility;t.getElement().style.visibility='hidden';} -if(tinymce.WindowManager) -t.windowManager=new tinymce.WindowManager(t);if(s.encoding=='xml'){t.onGetContent.add(function(ed,o){if(o.save) -o.content=DOM.encode(o.content);});} +tinyMCE.settings=s;if(!t.getElement()){return;} +if(tinymce.isIDevice&&!tinymce.isIOS5){return;} +if(!/TEXTAREA|INPUT/i.test(t.getElement().nodeName)&&s.hidden_input&&DOM.getParent(id,'form')){DOM.insertAfter(DOM.create('input',{type:'hidden',name:id}),id);} +if(!s.content_editable){t.orgVisibility=t.getElement().style.visibility;t.getElement().style.visibility='hidden';} +if(tinymce.WindowManager){t.windowManager=new tinymce.WindowManager(t);} +if(s.encoding=='xml'){t.onGetContent.add(function(ed,o){if(o.save){o.content=DOM.encode(o.content);}});} if(s.add_form_submit_trigger){t.onSubmit.addToTop(function(){if(t.initialized){t.save();t.isNotDirty=1;}});} -if(s.add_unload_trigger){t._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(t.initialized&&!t.destroyed&&!t.isHidden()) -t.save({format:'raw',no_events:true});});} -tinymce.addUnload(t.destroy,t);if(s.submit_patch){t.onBeforeRenderUI.add(function(){var n=t.getElement().form;if(!n) -return;if(n._mceOldSubmit) -return;if(!n.submit.nodeType&&!n.submit.length){t.formElement=n;n._mceOldSubmit=n.submit;n.submit=function(){tinymce.triggerSave();t.isNotDirty=1;return t.formElement._mceOldSubmit(t.formElement);};} +if(s.add_unload_trigger){t._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(t.initialized&&!t.destroyed&&!t.isHidden()){t.save({format:'raw',no_events:true});}});} +tinymce.addUnload(t.destroy,t);if(s.submit_patch){t.onBeforeRenderUI.add(function(){var n=t.getElement().form;if(!n){return;} +if(n._mceOldSubmit){return;} +if(!n.submit.nodeType&&!n.submit.length){t.formElement=n;n._mceOldSubmit=n.submit;n.submit=function(){tinymce.triggerSave();t.isNotDirty=1;return t.formElement._mceOldSubmit(t.formElement);};} n=null;});} -function loadScripts(){if(s.language&&s.language_load!==false) -sl.add(tinymce.baseURL+'/langs/'+s.language+'.js');if(s.theme&&typeof s.theme!="function"&&s.theme.charAt(0)!='-'&&!ThemeManager.urls[s.theme]) -ThemeManager.load(s.theme,'themes/'+s.theme+'/editor_template'+tinymce.suffix+'.js');each(explode(s.plugins),function(p){if(p&&!PluginManager.urls[p]){if(p.charAt(0)=='-'){p=p.substr(1,p.length);var dependencies=PluginManager.dependencies(p);each(dependencies,function(dep){var defaultSettings={prefix:'plugins/',resource:dep,suffix:'/editor_plugin'+tinymce.suffix+'.js'};dep=PluginManager.createUrl(defaultSettings,dep);PluginManager.load(dep.resource,dep);});}else{if(p=='safari'){return;} -PluginManager.load(p,{prefix:'plugins/',resource:p,suffix:'/editor_plugin'+tinymce.suffix+'.js'});}}});sl.loadQueue(function(){if(!t.removed) -t.init();});};loadScripts();},init:function(){var n,t=this,s=t.settings,w,h,mh,e=t.getElement(),o,ti,u,bi,bc,re,i,initializedPlugins=[];tinymce.add(t);s.aria_label=s.aria_label||DOM.getAttrib(e,'aria-label',t.getLang('aria.rich_text_area'));if(s.theme){if(typeof s.theme!="function"){s.theme=s.theme.replace(/-/,'');o=ThemeManager.get(s.theme);t.theme=new o();if(t.theme.init) -t.theme.init(t,ThemeManager.urls[s.theme]||tinymce.documentBaseURL.replace(/\/$/,''));}else{t.theme=s.theme;}} +function loadScripts(){if(s.language&&s.language_load!==false){sl.add(tinymce.baseURL+'/langs/'+s.language+'.js');} +if(s.theme&&typeof s.theme!="function"&&s.theme.charAt(0)!='-'&&!ThemeManager.urls[s.theme]){ThemeManager.load(s.theme,'themes/'+s.theme+'/editor_template'+tinymce.suffix+'.js');} +each(explode(s.plugins),function(p){if(p&&!PluginManager.urls[p]){if(p.charAt(0)=='-'){p=p.substr(1,p.length);var dependencies=PluginManager.dependencies(p);each(dependencies,function(dep){var defaultSettings={prefix:'plugins/',resource:dep,suffix:'/editor_plugin'+tinymce.suffix+'.js'};dep=PluginManager.createUrl(defaultSettings,dep);PluginManager.load(dep.resource,dep);});}else{if(p=='safari'){return;} +PluginManager.load(p,{prefix:'plugins/',resource:p,suffix:'/editor_plugin'+tinymce.suffix+'.js'});}}});sl.loadQueue(function(){if(!t.removed){t.init();}});} +loadScripts();},init:function(){var n,t=this,s=t.settings,w,h,mh,e=t.getElement(),o,ti,u,bi,bc,re,i,initializedPlugins=[];tinymce.add(t);s.aria_label=s.aria_label||DOM.getAttrib(e,'aria-label',t.getLang('aria.rich_text_area'));if(s.theme){if(typeof s.theme!="function"){s.theme=s.theme.replace(/-/,'');o=ThemeManager.get(s.theme);t.theme=new o();if(t.theme.init){t.theme.init(t,ThemeManager.urls[s.theme]||tinymce.documentBaseURL.replace(/\/$/,''));}}else{t.theme=s.theme;}} function initPlugin(p){var c=PluginManager.get(p),u=PluginManager.urls[p]||tinymce.documentBaseURL.replace(/\/$/,''),po;if(c&&tinymce.inArray(initializedPlugins,p)===-1){each(PluginManager.dependencies(p),function(dep){initPlugin(dep);});po=new c(t,u);t.plugins[p]=po;if(po.init){po.init(t,u);initializedPlugins.push(p);}}} -each(explode(s.plugins.replace(/\-/g,'')),initPlugin);if(s.popup_css!==false){if(s.popup_css) -s.popup_css=t.documentBaseURI.toAbsolute(s.popup_css);else -s.popup_css=t.baseURI.toAbsolute("themes/"+s.theme+"/skins/"+s.skin+"/dialog.css");} -if(s.popup_css_add) -s.popup_css+=','+t.documentBaseURI.toAbsolute(s.popup_css_add);t.controlManager=new tinymce.ControlManager(t);t.onBeforeRenderUI.dispatch(t,t.controlManager);if(s.render_ui&&t.theme){t.orgDisplay=e.style.display;if(typeof s.theme!="function"){w=s.width||e.style.width||e.offsetWidth;h=s.height||e.style.height||e.offsetHeight;mh=s.min_height||100;re=/^[0-9\.]+(|px)$/i;if(re.test(''+w)) -w=Math.max(parseInt(w,10)+(o.deltaWidth||0),100);if(re.test(''+h)) -h=Math.max(parseInt(h,10)+(o.deltaHeight||0),mh);o=t.theme.renderUI({targetNode:e,width:w,height:h,deltaWidth:s.delta_width,deltaHeight:s.delta_height});DOM.setStyles(o.sizeContainer||o.editorContainer,{width:w,height:h});h=(o.iframeHeight||h)+(typeof(h)=='number'?(o.deltaHeight||0):'');if(h';if(s.document_base_url!=tinymce.documentBaseURL) -t.iframeHTML+='';if(s.ie7_compat) -t.iframeHTML+='';else -t.iframeHTML+='';t.iframeHTML+='';for(i=0;i';} +if(document.domain&&location.hostname!=document.domain){tinymce.relaxedDomain=document.domain;} +t.iframeHTML=s.doctype+'';if(s.document_base_url!=tinymce.documentBaseURL){t.iframeHTML+='';} +if(tinymce.isIE8){if(s.ie7_compat){t.iframeHTML+='';}else{t.iframeHTML+='';}} +t.iframeHTML+='';for(i=0;i';} t.contentCSS=[];bi=s.body_id||'tinymce';if(bi.indexOf('=')!=-1){bi=t.getParam('body_id','','hash');bi=bi[t.id]||bi;} bc=s.body_class||'';if(bc.indexOf('=')!=-1){bc=t.getParam('body_class','','hash');bc=bc[t.id]||'';} -t.iframeHTML+='
NOT LOADED';if(tinymce.relaxedDomain&&(isIE||(tinymce.isOpera&&parseFloat(opera.version())<11))){u='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()';} +t.iframeHTML+='
';if(tinymce.relaxedDomain&&(isIE||(tinymce.isOpera&&parseFloat(opera.version())<11))){u='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()';} n=DOM.add(o.iframeContainer,'iframe',{id:t.id+"_ifr",src:u||'javascript:""',frameBorder:'0',allowTransparency:"true",title:s.aria_label,style:{width:'100%',height:h,display:'block'}});t.contentAreaContainer=o.iframeContainer;if(o.editorContainer){DOM.get(o.editorContainer).style.display=t.orgDisplay;} -e.style.visibility=t.orgVisibility;DOM.get(t.id).style.display='none';DOM.setAttrib(t.id,'aria-hidden',true);if(!tinymce.relaxedDomain||!u) -t.initContentBody();e=n=o=null;},initContentBody:function(){var self=this,settings=self.settings,targetElm=DOM.get(self.id),doc=self.getDoc(),html,body,contentCssText;if((!isIE||!tinymce.relaxedDomain)&&!settings.content_editable){doc.open();doc.write(self.iframeHTML);doc.close();if(tinymce.relaxedDomain) -doc.domain=tinymce.relaxedDomain;} +e.style.visibility=t.orgVisibility;DOM.get(t.id).style.display='none';DOM.setAttrib(t.id,'aria-hidden',true);if(!tinymce.relaxedDomain||!u){t.initContentBody();} +e=n=o=null;},initContentBody:function(){var self=this,settings=self.settings,targetElm=DOM.get(self.id),doc=self.getDoc(),html,body,contentCssText;if((!isIE||!tinymce.relaxedDomain)&&!settings.content_editable){doc.open();doc.write(self.iframeHTML);doc.close();if(tinymce.relaxedDomain){doc.domain=tinymce.relaxedDomain;}} if(settings.content_editable){DOM.addClass(targetElm,'mceContentBody');self.contentDocument=doc=settings.content_document||document;self.contentWindow=settings.content_window||window;self.bodyElement=targetElm;settings.content_document=settings.content_window=null;} -body=self.getBody();body.disabled=true;if(!settings.readonly) -body.contentEditable=self.getParam('content_editable_state',true);body.disabled=false;self.schema=new tinymce.html.Schema(settings);self.dom=new tinymce.dom.DOMUtils(doc,{keep_values:true,url_converter:self.convertURL,url_converter_scope:self,hex_colors:settings.force_hex_style_colors,class_filter:settings.class_filter,update_styles:true,root_element:settings.content_editable?self.id:null,schema:self.schema});self.parser=new tinymce.html.DomParser(settings,self.schema);self.parser.addAttributeFilter('src,href,style',function(nodes,name){var i=nodes.length,node,dom=self.dom,value,internalName;while(i--){node=nodes[i];value=node.attr(name);internalName='data-mce-'+name;if(!node.attributes.map[internalName]){if(name==="style") -node.attr(internalName,dom.serializeStyle(dom.parseStyle(value),node.name));else -node.attr(internalName,self.convertURL(value,name,node.name));}}});self.parser.addNodeFilter('script',function(nodes,name){var i=nodes.length,node;while(i--){node=nodes[i];node.attr('type','mce-'+(node.attr('type')||'text/javascript'));}});self.parser.addNodeFilter('#cdata',function(nodes,name){var i=nodes.length,node;while(i--){node=nodes[i];node.type=8;node.name='#comment';node.value='[CDATA['+node.value+']]';}});self.parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div',function(nodes,name){var i=nodes.length,node,nonEmptyElements=self.schema.getNonEmptyElements();while(i--){node=nodes[i];if(node.isEmpty(nonEmptyElements)) -node.empty().append(new tinymce.html.Node('br',1)).shortEnded=true;}});self.serializer=new tinymce.dom.Serializer(settings,self.dom,self.schema);self.selection=new tinymce.dom.Selection(self.dom,self.getWin(),self.serializer,self);self.formatter=new tinymce.Formatter(self);self.undoManager=new tinymce.UndoManager(self);self.forceBlocks=new tinymce.ForceBlocks(self);self.enterKey=new tinymce.EnterKey(self);self.editorCommands=new tinymce.EditorCommands(self);self.onExecCommand.add(function(editor,command){if(!/^(FontName|FontSize)$/.test(command)) -self.nodeChanged();});self.serializer.onPreProcess.add(function(se,o){return self.onPreProcess.dispatch(self,o,se);});self.serializer.onPostProcess.add(function(se,o){return self.onPostProcess.dispatch(self,o,se);});self.onPreInit.dispatch(self);if(!settings.browser_spellcheck&&!settings.gecko_spellcheck) -doc.body.spellcheck=false;if(!settings.readonly){self.bindNativeEvents();} -self.controlManager.onPostRender.dispatch(self,self.controlManager);self.onPostRender.dispatch(self);self.quirks=tinymce.util.Quirks(self);if(settings.directionality) -body.dir=settings.directionality;if(settings.nowrap) -body.style.whiteSpace="nowrap";if(settings.protect){self.onBeforeSetContent.add(function(ed,o){each(settings.protect,function(pattern){o.content=o.content.replace(pattern,function(str){return'';});});});} +body=self.getBody();body.disabled=true;if(!settings.readonly){body.contentEditable=self.getParam('content_editable_state',true);} +body.disabled=false;self.schema=new tinymce.html.Schema(settings);self.dom=new tinymce.dom.DOMUtils(doc,{keep_values:true,url_converter:self.convertURL,url_converter_scope:self,hex_colors:settings.force_hex_style_colors,class_filter:settings.class_filter,update_styles:true,root_element:settings.content_editable?self.id:null,schema:self.schema});self.parser=new tinymce.html.DomParser(settings,self.schema);self.parser.addAttributeFilter('src,href,style',function(nodes,name){var i=nodes.length,node,dom=self.dom,value,internalName;while(i--){node=nodes[i];value=node.attr(name);internalName='data-mce-'+name;if(!node.attributes.map[internalName]){if(name==="style"){node.attr(internalName,dom.serializeStyle(dom.parseStyle(value),node.name));}else{node.attr(internalName,self.convertURL(value,name,node.name));}}}});self.parser.addNodeFilter('script',function(nodes,name){var i=nodes.length,node;while(i--){node=nodes[i];node.attr('type','mce-'+(node.attr('type')||'text/javascript'));}});self.parser.addNodeFilter('#cdata',function(nodes,name){var i=nodes.length,node;while(i--){node=nodes[i];node.type=8;node.name='#comment';node.value='[CDATA['+node.value+']]';}});self.parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div',function(nodes,name){var i=nodes.length,node,nonEmptyElements=self.schema.getNonEmptyElements();while(i--){node=nodes[i];if(node.isEmpty(nonEmptyElements)){node.empty().append(new tinymce.html.Node('br',1)).shortEnded=true;}}});self.serializer=new tinymce.dom.Serializer(settings,self.dom,self.schema);self.selection=new tinymce.dom.Selection(self.dom,self.getWin(),self.serializer,self);self.formatter=new tinymce.Formatter(self);self.undoManager=new tinymce.UndoManager(self);self.forceBlocks=new tinymce.ForceBlocks(self);self.enterKey=new tinymce.EnterKey(self);self.editorCommands=new tinymce.EditorCommands(self);self.onExecCommand.add(function(editor,command){if(!/^(FontName|FontSize)$/.test(command)){self.nodeChanged();}});self.serializer.onPreProcess.add(function(se,o){return self.onPreProcess.dispatch(self,o,se);});self.serializer.onPostProcess.add(function(se,o){return self.onPostProcess.dispatch(self,o,se);});self.onPreInit.dispatch(self);if(!settings.browser_spellcheck&&!settings.gecko_spellcheck){doc.body.spellcheck=false;} +if(!settings.readonly){self.bindNativeEvents();} +self.controlManager.onPostRender.dispatch(self,self.controlManager);self.onPostRender.dispatch(self);self.quirks=tinymce.util.Quirks(self);if(settings.directionality){body.dir=settings.directionality;} +if(settings.nowrap){body.style.whiteSpace="nowrap";} +if(settings.protect){self.onBeforeSetContent.add(function(ed,o){each(settings.protect,function(pattern){o.content=o.content.replace(pattern,function(str){return'';});});});} self.onSetContent.add(function(){self.addVisual(self.getBody());});if(settings.padd_empty_editor){self.onPostProcess.add(function(ed,o){o.content=o.content.replace(/^(]*>( | |\s|\u00a0|)<\/p>[\r\n]*|
[\r\n]*)$/,'');});} self.load({initial:true,format:'html'});self.startContent=self.getContent({format:'raw'});self.initialized=true;self.onInit.dispatch(self);self.execCallback('setupcontent_callback',self.id,body,doc);self.execCallback('init_instance_callback',self);self.focus(true);self.nodeChanged({initial:true});if(self.contentStyles.length>0){contentCssText='';each(self.contentStyles,function(style){contentCssText+=style+"\r\n";});self.dom.addStyle(contentCssText);} each(self.contentCSS,function(url){self.dom.loadCSS(url);});if(settings.auto_focus){setTimeout(function(){var ed=tinymce.get(settings.auto_focus);ed.selection.select(ed.getBody(),1);ed.selection.collapse(1);ed.getBody().focus();ed.getWin().focus();},100);} -targetElm=doc=body=null;},focus:function(skip_focus){var oed,self=this,selection=self.selection,contentEditable=self.settings.content_editable,ieRng,controlElm,doc=self.getDoc(),body;if(!skip_focus){if(self.lastIERng){selection.setRng(self.lastIERng);} +targetElm=doc=body=null;},focus:function(skip_focus){var oed,self=this,selection=self.selection,contentEditable=self.settings.content_editable,ieRng,controlElm,doc=self.getDoc(),body;if(!skip_focus){if(self.bookmark){selection.moveToBookmark(self.bookmark);self.bookmark=null;} ieRng=selection.getRng();if(ieRng.item){controlElm=ieRng.item(0);} self._refreshContentEditable();if(!contentEditable){self.getWin().focus();} -if(tinymce.isGecko||contentEditable){body=self.getBody();if(body.setActive){body.setActive();}else{body.focus();} +if(tinymce.isGecko||contentEditable){body=self.getBody();if(body.setActive&&!tinymce.isIE11){body.setActive();}else{body.focus();} if(contentEditable){selection.normalize();}} if(controlElm&&controlElm.ownerDocument==doc){ieRng=doc.body.createControlRange();ieRng.addElement(controlElm);ieRng.select();}} -if(tinymce.activeEditor!=self){if((oed=tinymce.activeEditor)!=null) -oed.onDeactivate.dispatch(oed,self);self.onActivate.dispatch(self,oed);} -tinymce._setActive(self);},execCallback:function(n){var t=this,f=t.settings[n],s;if(!f) -return;if(t.callbackLookup&&(s=t.callbackLookup[n])){f=s.func;s=s.scope;} +if(tinymce.activeEditor!=self){if((oed=tinymce.activeEditor)!=null){oed.onDeactivate.dispatch(oed,self);} +self.onActivate.dispatch(self,oed);} +tinymce._setActive(self);},execCallback:function(n){var t=this,f=t.settings[n],s;if(!f){return;} +if(t.callbackLookup&&(s=t.callbackLookup[n])){f=s.func;s=s.scope;} if(is(f,'string')){s=f.replace(/\.\w+$/,'');s=s?tinymce.resolve(s):0;f=tinymce.resolve(f);t.callbackLookup=t.callbackLookup||{};t.callbackLookup[n]={func:f,scope:s};} -return f.apply(s||t,Array.prototype.slice.call(arguments,1));},translate:function(s){var c=this.settings.language||'en',i18n=tinymce.i18n;if(!s) -return'';return i18n[c+'.'+s]||s.replace(/\{\#([^\}]+)\}/g,function(a,b){return i18n[c+'.'+b]||'{#'+b+'}';});},getLang:function(n,dv){return tinymce.i18n[(this.settings.language||'en')+'.'+n]||(is(dv)?dv:'{#'+n+'}');},getParam:function(n,dv,ty){var tr=tinymce.trim,v=is(this.settings[n])?this.settings[n]:dv,o;if(ty==='hash'){o={};if(is(v,'string')){each(v.indexOf('=')>0?v.split(/[;,](?![^=;,]*(?:[;,]|$))/):v.split(','),function(v){v=v.split('=');if(v.length>1) -o[tr(v[0])]=tr(v[1]);else -o[tr(v[0])]=tr(v);});}else -o=v;return o;} -return v;},nodeChanged:function(o){var self=this,selection=self.selection,node;if(self.initialized){o=o||{};node=selection.getStart()||self.getBody();node=isIE&&node.ownerDocument!=self.getDoc()?self.getBody():node;o.parents=[];self.dom.getParent(node,function(node){if(node.nodeName=='BODY') -return true;o.parents.push(node);});self.onNodeChange.dispatch(self,o?o.controlManager||self.controlManager:self.controlManager,node,selection.isCollapsed(),o);}},addButton:function(name,settings){var self=this;self.buttons=self.buttons||{};self.buttons[name]=settings;},addCommand:function(name,callback,scope){this.execCommands[name]={func:callback,scope:scope||this};},addQueryStateHandler:function(name,callback,scope){this.queryStateCommands[name]={func:callback,scope:scope||this};},addQueryValueHandler:function(name,callback,scope){this.queryValueCommands[name]={func:callback,scope:scope||this};},addShortcut:function(pa,desc,cmd_func,sc){var t=this,c;if(t.settings.custom_shortcuts===false) -return false;t.shortcuts=t.shortcuts||{};if(is(cmd_func,'string')){c=cmd_func;cmd_func=function(){t.execCommand(c,false,null);};} +return f.apply(s||t,Array.prototype.slice.call(arguments,1));},translate:function(s){var c=this.settings.language||'en',i18n=tinymce.i18n;if(!s){return'';} +return i18n[c+'.'+s]||s.replace(/\{\#([^\}]+)\}/g,function(a,b){return i18n[c+'.'+b]||'{#'+b+'}';});},getLang:function(n,dv){return tinymce.i18n[(this.settings.language||'en')+'.'+n]||(is(dv)?dv:'{#'+n+'}');},getParam:function(n,dv,ty){var tr=tinymce.trim,v=is(this.settings[n])?this.settings[n]:dv,o;if(ty==='hash'){o={};if(is(v,'string')){each(v.indexOf('=')>0?v.split(/[;,](?![^=;,]*(?:[;,]|$))/):v.split(','),function(v){v=v.split('=');if(v.length>1){o[tr(v[0])]=tr(v[1]);}else{o[tr(v[0])]=tr(v);}});}else{o=v;} +return o;} +return v;},nodeChanged:function(o){var self=this,selection=self.selection,node;if(!self.initialized){return;} +o=o||{};node=selection.getStart()||self.getBody();node=isIE&&node.ownerDocument!=self.getDoc()?self.getBody():node;o.parents=[];self.dom.getParent(node,function(node){if(node.nodeName=='BODY'){return true;} +o.parents.push(node);});self.onNodeChange.dispatch(self,o?o.controlManager||self.controlManager:self.controlManager,node,selection.isCollapsed(),o);},addButton:function(name,settings){var self=this;self.buttons=self.buttons||{};self.buttons[name]=settings;},addCommand:function(name,callback,scope){this.execCommands[name]={func:callback,scope:scope||this};},addQueryStateHandler:function(name,callback,scope){this.queryStateCommands[name]={func:callback,scope:scope||this};},addQueryValueHandler:function(name,callback,scope){this.queryValueCommands[name]={func:callback,scope:scope||this};},addShortcut:function(pa,desc,cmd_func,sc){var t=this,c;if(t.settings.custom_shortcuts===false){return false;} +t.shortcuts=t.shortcuts||{};if(is(cmd_func,'string')){c=cmd_func;cmd_func=function(){t.execCommand(c,false,null);};} if(is(cmd_func,'object')){c=cmd_func;cmd_func=function(){t.execCommand(c[0],c[1],c[2]);};} -each(explode(pa),function(pa){var o={func:cmd_func,scope:sc||this,desc:t.translate(desc),alt:false,ctrl:false,shift:false};each(explode(pa,'+'),function(v){switch(v){case'alt':case'ctrl':case'shift':o[v]=true;break;default:o.charCode=v.charCodeAt(0);o.keyCode=v.toUpperCase().charCodeAt(0);}});t.shortcuts[(o.ctrl?'ctrl':'')+','+(o.alt?'alt':'')+','+(o.shift?'shift':'')+','+o.keyCode]=o;});return true;},execCommand:function(cmd,ui,val,a){var t=this,s=0,o,st;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(cmd)&&(!a||!a.skip_focus)) -t.focus();a=extend({},a);t.onBeforeExecCommand.dispatch(t,cmd,ui,val,a);if(a.terminate) -return false;if(t.execCallback('execcommand_callback',t.id,t.selection.getNode(),cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;} +each(explode(pa),function(pa){var o={func:cmd_func,scope:sc||this,desc:t.translate(desc),alt:false,ctrl:false,shift:false};each(explode(pa,'+'),function(v){switch(v){case'alt':case'ctrl':case'shift':o[v]=true;break;default:o.charCode=v.charCodeAt(0);o.keyCode=v.toUpperCase().charCodeAt(0);}});t.shortcuts[(o.ctrl?'ctrl':'')+','+(o.alt?'alt':'')+','+(o.shift?'shift':'')+','+o.keyCode]=o;});return true;},execCommand:function(cmd,ui,val,a){var t=this,s=0,o,st;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(cmd)&&(!a||!a.skip_focus)){t.focus();} +a=extend({},a);t.onBeforeExecCommand.dispatch(t,cmd,ui,val,a);if(a.terminate){return false;} +if(t.execCallback('execcommand_callback',t.id,t.selection.getNode(),cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;} if(o=t.execCommands[cmd]){st=o.func.call(o.scope,ui,val);if(st!==true){t.onExecCommand.dispatch(t,cmd,ui,val,a);return st;}} -each(t.plugins,function(p){if(p.execCommand&&p.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);s=1;return false;}});if(s) -return true;if(t.theme&&t.theme.execCommand&&t.theme.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;} +each(t.plugins,function(p){if(p.execCommand&&p.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);s=1;return false;}});if(s){return true;} +if(t.theme&&t.theme.execCommand&&t.theme.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;} if(t.editorCommands.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;} -t.getDoc().execCommand(cmd,ui,val);t.onExecCommand.dispatch(t,cmd,ui,val,a);},queryCommandState:function(cmd){var t=this,o,s;if(t._isHidden()) -return;if(o=t.queryStateCommands[cmd]){s=o.func.call(o.scope);if(s!==true) -return s;} -o=t.editorCommands.queryCommandState(cmd);if(o!==-1) -return o;try{return this.getDoc().queryCommandState(cmd);}catch(ex){}},queryCommandValue:function(c){var t=this,o,s;if(t._isHidden()) -return;if(o=t.queryValueCommands[c]){s=o.func.call(o.scope);if(s!==true) -return s;} -o=t.editorCommands.queryCommandValue(c);if(is(o)) -return o;try{return this.getDoc().queryCommandValue(c);}catch(ex){}},show:function(){var self=this;DOM.show(self.getContainer());DOM.hide(self.id);self.load();},hide:function(){var self=this,doc=self.getDoc();if(isIE&&doc) -doc.execCommand('SelectAll');self.save();setTimeout(function(){DOM.hide(self.getContainer());},1);DOM.setStyle(self.id,'display',self.orgDisplay);},isHidden:function(){return!DOM.isHidden(this.id);},setProgressState:function(b,ti,o){this.onSetProgressState.dispatch(this,b,ti,o);return b;},load:function(o){var t=this,e=t.getElement(),h;if(e){o=o||{};o.load=true;h=t.setContent(is(e.value)?e.value:e.innerHTML,o);o.element=e;if(!o.no_events) -t.onLoadContent.dispatch(t,o);o.element=e=null;return h;}},save:function(o){var t=this,e=t.getElement(),h,f;if(!e||!t.initialized) -return;o=o||{};o.save=true;o.element=e;h=o.content=t.getContent(o);if(!o.no_events) -t.onSaveContent.dispatch(t,o);h=o.content;if(!/TEXTAREA|INPUT/i.test(e.nodeName)){e.innerHTML=h;if(f=DOM.getParent(t.id,'form')){each(f.elements,function(e){if(e.name==t.id){e.value=h;return false;}});}}else -e.value=h;o.element=e=null;return h;},setContent:function(content,args){var self=this,rootNode,body=self.getBody(),forcedRootBlockName;args=args||{};args.format=args.format||'html';args.set=true;args.content=content;if(!args.no_events) -self.onBeforeSetContent.dispatch(self,args);content=args.content;if(!tinymce.isIE&&(content.length===0||/^\s+$/.test(content))){forcedRootBlockName=self.settings.forced_root_block;if(forcedRootBlockName) -content='<'+forcedRootBlockName+'>
';else -content='
';body.innerHTML=content;self.selection.select(body,true);self.selection.collapse(true);return;} +t.getDoc().execCommand(cmd,ui,val);t.onExecCommand.dispatch(t,cmd,ui,val,a);},queryCommandState:function(cmd){var t=this,o,s;if(t._isHidden()){return;} +if(o=t.queryStateCommands[cmd]){s=o.func.call(o.scope);if(s!==true){return s;}} +o=t.editorCommands.queryCommandState(cmd);if(o!==-1){return o;} +try{return this.getDoc().queryCommandState(cmd);}catch(ex){}},queryCommandValue:function(c){var t=this,o,s;if(t._isHidden()){return;} +if(o=t.queryValueCommands[c]){s=o.func.call(o.scope);if(s!==true){return s;}} +o=t.editorCommands.queryCommandValue(c);if(is(o)){return o;} +try{return this.getDoc().queryCommandValue(c);}catch(ex){}},show:function(){var self=this;DOM.show(self.getContainer());DOM.hide(self.id);self.load();},hide:function(){var self=this,doc=self.getDoc();if(isIE&&doc){doc.execCommand('SelectAll');} +self.save();DOM.hide(self.getContainer());DOM.setStyle(self.id,'display',self.orgDisplay);},isHidden:function(){return!DOM.isHidden(this.id);},setProgressState:function(b,ti,o){this.onSetProgressState.dispatch(this,b,ti,o);return b;},load:function(o){var t=this,e=t.getElement(),h;if(e){o=o||{};o.load=true;h=t.setContent(is(e.value)?e.value:e.innerHTML,o);o.element=e;if(!o.no_events){t.onLoadContent.dispatch(t,o);} +o.element=e=null;return h;}},save:function(o){var t=this,e=t.getElement(),h,f;if(!e||!t.initialized){return;} +o=o||{};o.save=true;o.element=e;h=o.content=t.getContent(o);if(!o.no_events){t.onSaveContent.dispatch(t,o);} +h=o.content;if(!/TEXTAREA|INPUT/i.test(e.nodeName)){e.innerHTML=h;if(f=DOM.getParent(t.id,'form')){each(f.elements,function(e){if(e.name==t.id){e.value=h;return false;}});}}else{e.value=h;} +o.element=e=null;return h;},setContent:function(content,args){var self=this,body=self.getBody(),forcedRootBlockName;args=args||{};args.format=args.format||'html';args.set=true;args.content=content;if(!args.no_events){self.onBeforeSetContent.dispatch(self,args);} +content=args.content;if(content.length===0||/^\s+$/.test(content)){forcedRootBlockName=self.settings.forced_root_block;if(forcedRootBlockName&&self.schema.isValidChild(body.nodeName.toLowerCase(),forcedRootBlockName.toLowerCase())){if(isIE){content='<'+forcedRootBlockName+'>';}else{content='<'+forcedRootBlockName+'>
';}}else if(!isIE){content='
';} +body.innerHTML=content;self.selection.select(body,true);self.selection.collapse(true);return;} if(args.format!=='raw'){content=new tinymce.html.Serializer({},self.schema).serialize(self.parser.parse(content));} -args.content=tinymce.trim(content);self.dom.setHTML(body,args.content);if(!args.no_events) -self.onSetContent.dispatch(self,args);if(!self.settings.content_editable||document.activeElement===self.getBody()){self.selection.normalize();} -return args.content;},getContent:function(args){var self=this,content,body=self.getBody();args=args||{};args.format=args.format||'html';args.get=true;args.getInner=true;if(!args.no_events) -self.onBeforeGetContent.dispatch(self,args);if(args.format=='raw') -content=body.innerHTML;else if(args.format=='text') -content=body.innerText||body.textContent;else -content=self.serializer.serialize(body,args);if(args.format!='text'){args.content=tinymce.trim(content);}else{args.content=content;} -if(!args.no_events) -self.onGetContent.dispatch(self,args);return args.content;},isDirty:function(){var self=this;return tinymce.trim(self.startContent)!=tinymce.trim(self.getContent({format:'raw',no_events:1}))&&!self.isNotDirty;},getContainer:function(){var self=this;if(!self.container) -self.container=DOM.get(self.editorContainer||self.id+'_parent');return self.container;},getContentAreaContainer:function(){return this.contentAreaContainer;},getElement:function(){return DOM.get(this.settings.content_element||this.id);},getWin:function(){var self=this,elm;if(!self.contentWindow){elm=DOM.get(self.id+"_ifr");if(elm) -self.contentWindow=elm.contentWindow;} -return self.contentWindow;},getDoc:function(){var self=this,win;if(!self.contentDocument){win=self.getWin();if(win) -self.contentDocument=win.document;} +args.content=tinymce.trim(content);self.dom.setHTML(body,args.content);if(!args.no_events){self.onSetContent.dispatch(self,args);} +if(!self.settings.content_editable||document.activeElement===self.getBody()){self.selection.normalize();} +return args.content;},getContent:function(args){var self=this,content,body=self.getBody();args=args||{};args.format=args.format||'html';args.get=true;args.getInner=true;if(!args.no_events){self.onBeforeGetContent.dispatch(self,args);} +if(args.format=='raw'){content=body.innerHTML;}else if(args.format=='text'){content=body.innerText||body.textContent;}else{content=self.serializer.serialize(body,args);} +if(args.format!='text'){args.content=tinymce.trim(content);}else{args.content=content;} +if(!args.no_events){self.onGetContent.dispatch(self,args);} +return args.content;},isDirty:function(){var self=this;return tinymce.trim(self.startContent)!==tinymce.trim(self.getContent({format:'raw'}))&&!self.isNotDirty;},getContainer:function(){var self=this;if(!self.container){self.container=DOM.get(self.editorContainer||self.id+'_parent');} +return self.container;},getContentAreaContainer:function(){return this.contentAreaContainer;},getElement:function(){return DOM.get(this.settings.content_element||this.id);},getWin:function(){var self=this,elm;if(!self.contentWindow){elm=DOM.get(self.id+"_ifr");if(elm){self.contentWindow=elm.contentWindow;}} +return self.contentWindow;},getDoc:function(){var self=this,win;if(!self.contentDocument){win=self.getWin();if(win){self.contentDocument=win.document;}} return self.contentDocument;},getBody:function(){return this.bodyElement||this.getDoc().body;},convertURL:function(url,name,elm){var self=this,settings=self.settings;if(settings.urlconverter_callback) -return self.execCallback('urlconverter_callback',url,elm,true,name);if(!settings.convert_urls||(elm&&elm.nodeName=='LINK')||url.indexOf('file:')===0) -return url;if(settings.relative_urls) -return self.documentBaseURI.toRelative(url);url=self.documentBaseURI.toAbsolute(url,settings.remove_script_host);return url;},addVisual:function(elm){var self=this,settings=self.settings,dom=self.dom,cls;elm=elm||self.getBody();if(!is(self.hasVisual)) -self.hasVisual=settings.visual;each(dom.select('table,a',elm),function(elm){var value;switch(elm.nodeName){case'TABLE':cls=settings.visual_table_class||'mceItemTable';value=dom.getAttrib(elm,'border');if(!value||value=='0'){if(self.hasVisual) -dom.addClass(elm,cls);else -dom.removeClass(elm,cls);} -return;case'A':if(!dom.getAttrib(elm,'href',false)){value=dom.getAttrib(elm,'name')||elm.id;cls='mceItemAnchor';if(value){if(self.hasVisual) -dom.addClass(elm,cls);else -dom.removeClass(elm,cls);}} -return;}});self.onVisualAid.dispatch(self,elm,self.hasVisual);},remove:function(){var self=this,elm=self.getContainer();if(!self.removed){self.removed=1;self.hide();if(!self.settings.content_editable){Event.unbind(self.getWin());Event.unbind(self.getDoc());} -Event.unbind(self.getBody());Event.clear(elm);self.execCallback('remove_instance_callback',self);self.onRemove.dispatch(self);self.onExecCommand.listeners=[];tinymce.remove(self);DOM.remove(elm);}},destroy:function(s){var t=this;if(t.destroyed) -return;if(isGecko){Event.unbind(t.getDoc());Event.unbind(t.getWin());Event.unbind(t.getBody());} -if(!s){tinymce.removeUnload(t.destroy);tinyMCE.onBeforeUnload.remove(t._beforeUnload);if(t.theme&&t.theme.destroy) -t.theme.destroy();t.controlManager.destroy();t.selection.destroy();t.dom.destroy();} +return self.execCallback('urlconverter_callback',url,elm,true,name);if(!settings.convert_urls||(elm&&elm.nodeName=='LINK')||url.indexOf('file:')===0){return url;} +if(settings.relative_urls){return self.documentBaseURI.toRelative(url);} +url=self.documentBaseURI.toAbsolute(url,settings.remove_script_host);return url;},addVisual:function(elm){var self=this,settings=self.settings,dom=self.dom,cls;elm=elm||self.getBody();if(!is(self.hasVisual)) +self.hasVisual=settings.visual;each(dom.select('table,a',elm),function(elm){var value;switch(elm.nodeName){case'TABLE':cls=settings.visual_table_class||'mceItemTable';value=dom.getAttrib(elm,'border');if(!value||value=='0'){if(self.hasVisual){dom.addClass(elm,cls);}else{dom.removeClass(elm,cls);}} +return;case'A':if(!dom.getAttrib(elm,'href',false)){value=dom.getAttrib(elm,'name')||elm.id;cls='mceItemAnchor';if(value){if(self.hasVisual){dom.addClass(elm,cls);}else{dom.removeClass(elm,cls);}}} +return;}});self.onVisualAid.dispatch(self,elm,self.hasVisual);},remove:function(){var self=this,elm=self.getContainer(),doc=self.getDoc();if(!self.removed){self.removed=1;if(isIE&&doc){doc.execCommand('SelectAll');} +self.save();DOM.setStyle(self.id,'display',self.orgDisplay);if(!self.settings.content_editable){Event.unbind(self.getWin());Event.unbind(self.getDoc());} +Event.unbind(self.getBody());Event.clear(elm);self.execCallback('remove_instance_callback',self);self.onRemove.dispatch(self);self.onExecCommand.listeners=[];tinymce.remove(self);DOM.remove(elm);}},destroy:function(s){var t=this;if(t.destroyed){return;} +if(isGecko){Event.unbind(t.getDoc());Event.unbind(t.getWin());Event.unbind(t.getBody());} +if(!s){tinymce.removeUnload(t.destroy);tinyMCE.onBeforeUnload.remove(t._beforeUnload);if(t.theme&&t.theme.destroy){t.theme.destroy();} +t.controlManager.destroy();t.selection.destroy();t.dom.destroy();} if(t.formElement){t.formElement.submit=t.formElement._mceOldSubmit;t.formElement._mceOldSubmit=null;} -t.contentAreaContainer=t.formElement=t.container=t.settings.content_element=t.bodyElement=t.contentDocument=t.contentWindow=null;if(t.selection) -t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null;t.destroyed=1;},_refreshContentEditable:function(){var self=this,body,parent;if(self._isHidden()){body=self.getBody();parent=body.parentNode;parent.removeChild(body);parent.appendChild(body);body.focus();}},_isHidden:function(){var s;if(!isGecko) -return 0;s=this.selection.getSel();return(!s||!s.rangeCount||s.rangeCount===0);}});})(tinymce);(function(tinymce){var each=tinymce.each;tinymce.Editor.prototype.setupEvents=function(){var self=this,settings=self.settings;each(['onPreInit','onBeforeRenderUI','onPostRender','onLoad','onInit','onRemove','onActivate','onDeactivate','onClick','onEvent','onMouseUp','onMouseDown','onDblClick','onKeyDown','onKeyUp','onKeyPress','onContextMenu','onSubmit','onReset','onPaste','onPreProcess','onPostProcess','onBeforeSetContent','onBeforeGetContent','onSetContent','onGetContent','onLoadContent','onSaveContent','onNodeChange','onChange','onBeforeExecCommand','onExecCommand','onUndo','onRedo','onVisualAid','onSetProgressState','onSetAttrib'],function(name){self[name]=new tinymce.util.Dispatcher(self);});if(settings.cleanup_callback){self.onBeforeSetContent.add(function(ed,o){o.content=ed.execCallback('cleanup_callback','insert_to_editor',o.content,o);});self.onPreProcess.add(function(ed,o){if(o.set) +t.contentAreaContainer=t.formElement=t.container=t.settings.content_element=t.bodyElement=t.contentDocument=t.contentWindow=null;if(t.selection){t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null;} +t.destroyed=1;},_refreshContentEditable:function(){var self=this,body,parent;if(self._isHidden()){body=self.getBody();parent=body.parentNode;parent.removeChild(body);parent.appendChild(body);body.focus();}},_isHidden:function(){var s;if(!isGecko){return 0;} +s=this.selection.getSel();return(!s||!s.rangeCount||s.rangeCount===0);}});})(tinymce);(function(tinymce){var each=tinymce.each;tinymce.Editor.prototype.setupEvents=function(){var self=this,settings=self.settings;each(['onPreInit','onBeforeRenderUI','onPostRender','onLoad','onInit','onRemove','onActivate','onDeactivate','onClick','onEvent','onMouseUp','onMouseDown','onDblClick','onKeyDown','onKeyUp','onKeyPress','onContextMenu','onSubmit','onReset','onPaste','onPreProcess','onPostProcess','onBeforeSetContent','onBeforeGetContent','onSetContent','onGetContent','onLoadContent','onSaveContent','onNodeChange','onChange','onBeforeExecCommand','onExecCommand','onUndo','onRedo','onVisualAid','onSetProgressState','onSetAttrib'],function(name){self[name]=new tinymce.util.Dispatcher(self);});if(settings.cleanup_callback){self.onBeforeSetContent.add(function(ed,o){o.content=ed.execCallback('cleanup_callback','insert_to_editor',o.content,o);});self.onPreProcess.add(function(ed,o){if(o.set) ed.execCallback('cleanup_callback','insert_to_editor_dom',o.node,o);if(o.get) ed.execCallback('cleanup_callback','get_from_editor_dom',o.node,o);});self.onPostProcess.add(function(ed,o){if(o.set) o.content=ed.execCallback('cleanup_callback','insert_to_editor',o.content,o);if(o.get) @@ -2944,7 +2935,7 @@ return queryCommandState('InsertUnorderedList')||queryCommandState('InsertOrdere value=parent.style.fontSize;else value=parent.style.fontFamily.replace(/, /g,',').replace(/[\'\"]/g,'').toLowerCase();} return value;}},'value');addCommands({Undo:function(){editor.undoManager.undo();},Redo:function(){editor.undoManager.redo();}});};})(tinymce);(function(tinymce){var Dispatcher=tinymce.util.Dispatcher;tinymce.UndoManager=function(editor){var self,index=0,data=[],beforeBookmark,onAdd,onUndo,onRedo;function getContent(){return tinymce.trim(editor.getContent({format:'raw',no_events:1}).replace(/]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>/g,''));};function addNonTypingUndoLevel(){self.typing=false;self.add();};onBeforeAdd=new Dispatcher(self);onAdd=new Dispatcher(self);onUndo=new Dispatcher(self);onRedo=new Dispatcher(self);onAdd.add(function(undoman,level){if(undoman.hasUndo()) -return editor.onChange.dispatch(editor,level,undoman);});onUndo.add(function(undoman,level){return editor.onUndo.dispatch(editor,level,undoman);});onRedo.add(function(undoman,level){return editor.onRedo.dispatch(editor,level,undoman);});editor.onInit.add(function(){self.add();});editor.onBeforeExecCommand.add(function(ed,cmd,ui,val,args){if(cmd!='Undo'&&cmd!='Redo'&&cmd!='mceRepaint'&&(!args||!args.skip_undo)){self.beforeChange();}});editor.onExecCommand.add(function(ed,cmd,ui,val,args){if(cmd!='Undo'&&cmd!='Redo'&&cmd!='mceRepaint'&&(!args||!args.skip_undo)){self.add();}});editor.onSaveContent.add(addNonTypingUndoLevel);editor.dom.bind(editor.dom.getRoot(),'dragend',addNonTypingUndoLevel);editor.dom.bind(editor.getDoc(),tinymce.isGecko?'blur':'focusout',function(e){if(!editor.removed&&self.typing){addNonTypingUndoLevel();}});editor.onKeyUp.add(function(editor,e){var keyCode=e.keyCode;if((keyCode>=33&&keyCode<=36)||(keyCode>=37&&keyCode<=40)||keyCode==45||keyCode==13||e.ctrlKey){addNonTypingUndoLevel();}});editor.onKeyDown.add(function(editor,e){var keyCode=e.keyCode;if((keyCode>=33&&keyCode<=36)||(keyCode>=37&&keyCode<=40)||keyCode==45){if(self.typing){addNonTypingUndoLevel();} +return editor.onChange.dispatch(editor,level,undoman);});onUndo.add(function(undoman,level){return editor.onUndo.dispatch(editor,level,undoman);});onRedo.add(function(undoman,level){return editor.onRedo.dispatch(editor,level,undoman);});editor.onInit.add(function(){self.add();});editor.onBeforeExecCommand.add(function(ed,cmd,ui,val,args){if(cmd!='Undo'&&cmd!='Redo'&&cmd!='mceRepaint'&&(!args||!args.skip_undo)){self.beforeChange();}});editor.onExecCommand.add(function(ed,cmd,ui,val,args){if(cmd!='Undo'&&cmd!='Redo'&&cmd!='mceRepaint'&&(!args||!args.skip_undo)){self.add();}});editor.onSaveContent.add(addNonTypingUndoLevel);editor.dom.bind(editor.dom.getRoot(),'dragend',addNonTypingUndoLevel);editor.dom.bind(editor.getBody(),'focusout',function(e){if(!editor.removed&&self.typing){addNonTypingUndoLevel();}});editor.onKeyUp.add(function(editor,e){var keyCode=e.keyCode;if((keyCode>=33&&keyCode<=36)||(keyCode>=37&&keyCode<=40)||keyCode==45||keyCode==13||e.ctrlKey){addNonTypingUndoLevel();}});editor.onKeyDown.add(function(editor,e){var keyCode=e.keyCode;if((keyCode>=33&&keyCode<=36)||(keyCode>=37&&keyCode<=40)||keyCode==45){if(self.typing){addNonTypingUndoLevel();} return;} if((keyCode<16||keyCode>20)&&keyCode!=224&&keyCode!=91&&!self.typing){self.beforeChange();self.typing=true;self.add();}});editor.onMouseDown.add(function(editor,e){if(self.typing){addNonTypingUndoLevel();}});editor.addShortcut('ctrl+z','undo_desc','Undo');editor.addShortcut('ctrl+y','redo_desc','Redo');self={data:data,typing:false,onBeforeAdd:onBeforeAdd,onAdd:onAdd,onUndo:onUndo,onRedo:onRedo,beforeChange:function(){beforeBookmark=editor.selection.getBookmark(2,true);},add:function(level){var i,settings=editor.settings,lastLevel;level=level||{};level.content=getContent();self.onBeforeAdd.dispatch(self,level);lastLevel=data[index];if(lastLevel&&lastLevel.content==level.content) return null;if(data[index]) @@ -3002,196 +2993,230 @@ f+=(f?',':'')+k+'='+v;}});t.features=s;t.params=p;t.onOpen.dispatch(t,s,p);u=s.u w=window.open(u,s.name,f);}catch(ex){} if(!w) alert(t.editor.getLang('popup_blocked'));},close:function(w){w.close();this.onClose.dispatch(this);},createInstance:function(cl,a,b,c,d,e){var f=tinymce.resolve(cl);return new f(a,b,c,d,e);},confirm:function(t,cb,s,w){w=w||window;cb.call(s||this,w.confirm(this._decode(this.editor.getLang(t,t))));},alert:function(tx,cb,s,w){var t=this;w=w||window;w.alert(t._decode(t.editor.getLang(tx,tx)));if(cb) -cb.call(s||t);},resizeBy:function(dw,dh,win){win.resizeBy(dw,dh);},_decode:function(s){return tinymce.DOM.decode(s).replace(/\\n/g,'\n');}});}(tinymce));(function(tinymce){tinymce.Formatter=function(ed){var formats={},each=tinymce.each,dom=ed.dom,selection=ed.selection,TreeWalker=tinymce.dom.TreeWalker,rangeUtils=new tinymce.dom.RangeUtils(dom),isValid=ed.schema.isValidChild,isArray=tinymce.isArray,isBlock=dom.isBlock,forcedRootBlock=ed.settings.forced_root_block,nodeIndex=dom.nodeIndex,INVISIBLE_CHAR='\uFEFF',MCE_ATTR_RE=/^(src|href|style)$/,FALSE=false,TRUE=true,formatChangeData,undef,getContentEditable=dom.getContentEditable;function isTextBlock(name){return!!ed.schema.getTextBlocks()[name.toLowerCase()];} -function getParents(node,selector){return dom.getParents(node,selector,dom.getRoot());};function isCaretNode(node){return node.nodeType===1&&node.id==='_mce_caret';};function defaultFormats(){register({alignleft:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'left'},defaultBlock:'div'},{selector:'img,table',collapsed:false,styles:{'float':'left'}}],aligncenter:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'center'},defaultBlock:'div'},{selector:'img',collapsed:false,styles:{display:'block',marginLeft:'auto',marginRight:'auto'}},{selector:'table',collapsed:false,styles:{marginLeft:'auto',marginRight:'auto'}}],alignright:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'right'},defaultBlock:'div'},{selector:'img,table',collapsed:false,styles:{'float':'right'}}],alignfull:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'justify'},defaultBlock:'div'}],bold:[{inline:'strong',remove:'all'},{inline:'span',styles:{fontWeight:'bold'}},{inline:'b',remove:'all'}],italic:[{inline:'em',remove:'all'},{inline:'span',styles:{fontStyle:'italic'}},{inline:'i',remove:'all'}],underline:[{inline:'span',styles:{textDecoration:'underline'},exact:true},{inline:'u',remove:'all'}],strikethrough:[{inline:'span',styles:{textDecoration:'line-through'},exact:true},{inline:'strike',remove:'all'}],forecolor:{inline:'span',styles:{color:'%value'},wrap_links:false},hilitecolor:{inline:'span',styles:{backgroundColor:'%value'},wrap_links:false},fontname:{inline:'span',styles:{fontFamily:'%value'}},fontsize:{inline:'span',styles:{fontSize:'%value'}},fontsize_class:{inline:'span',attributes:{'class':'%value'}},blockquote:{block:'blockquote',wrapper:1,remove:'all'},subscript:{inline:'sub'},superscript:{inline:'sup'},link:{inline:'a',selector:'a',remove:'all',split:true,deep:true,onmatch:function(node){return true;},onformat:function(elm,fmt,vars){each(vars,function(value,key){dom.setAttrib(elm,key,value);});}},removeformat:[{selector:'b,strong,em,i,font,u,strike',remove:'all',split:true,expand:false,block_expand:true,deep:true},{selector:'span',attributes:['style','class'],remove:'empty',split:true,expand:false,deep:true},{selector:'*',attributes:['style','class'],split:false,expand:false,deep:true}]});each('p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp'.split(/\s/),function(name){register(name,{block:name,remove:'all'});});register(ed.settings.formats);};function addKeyboardShortcuts(){ed.addShortcut('ctrl+b','bold_desc','Bold');ed.addShortcut('ctrl+i','italic_desc','Italic');ed.addShortcut('ctrl+u','underline_desc','Underline');for(var i=1;i<=6;i++){ed.addShortcut('ctrl+'+i,'',['FormatBlock',false,'h'+i]);} -ed.addShortcut('ctrl+7','',['FormatBlock',false,'p']);ed.addShortcut('ctrl+8','',['FormatBlock',false,'div']);ed.addShortcut('ctrl+9','',['FormatBlock',false,'address']);};function get(name){return name?formats[name]:formats;};function register(name,format){if(name){if(typeof(name)!=='string'){each(name,function(format,name){register(name,format);});}else{format=format.length?format:[format];each(format,function(format){if(format.deep===undef) -format.deep=!format.selector;if(format.split===undef) -format.split=!format.selector||format.inline;if(format.remove===undef&&format.selector&&!format.inline) -format.remove='none';if(format.selector&&format.inline){format.mixed=true;format.block_expand=true;} -if(typeof(format.classes)==='string') -format.classes=format.classes.split(/\s+/);});formats[name]=format;}}};var getTextDecoration=function(node){var decoration;ed.dom.getParent(node,function(n){decoration=ed.dom.getStyle(n,'text-decoration');return decoration&&decoration!=='none';});return decoration;};var processUnderlineAndColor=function(node){var textDecoration;if(node.nodeType===1&&node.parentNode&&node.parentNode.nodeType===1){textDecoration=getTextDecoration(node.parentNode);if(ed.dom.getStyle(node,'color')&&textDecoration){ed.dom.setStyle(node,'text-decoration',textDecoration);}else if(ed.dom.getStyle(node,'textdecoration')===textDecoration){ed.dom.setStyle(node,'text-decoration',null);}}};function apply(name,vars,node){var formatList=get(name),format=formatList[0],bookmark,rng,i,isCollapsed=selection.isCollapsed();function setElementFormat(elm,fmt){fmt=fmt||format;if(elm){if(fmt.onformat){fmt.onformat(elm,fmt,vars,node);} -each(fmt.styles,function(value,name){dom.setStyle(elm,name,replaceVars(value,vars));});each(fmt.attributes,function(value,name){dom.setAttrib(elm,name,replaceVars(value,vars));});each(fmt.classes,function(value){value=replaceVars(value,vars);if(!dom.hasClass(elm,value)) -dom.addClass(elm,value);});}};function adjustSelectionToVisibleSelection(){function findSelectionEnd(start,end){var walker=new TreeWalker(end);for(node=walker.current();node;node=walker.prev()){if(node.childNodes.length>1||node==start||node.tagName=='BR'){return node;}}};var rng=ed.selection.getRng();var start=rng.startContainer;var end=rng.endContainer;if(start!=end&&rng.endOffset===0){var newEnd=findSelectionEnd(start,end);var endOffset=newEnd.nodeType==3?newEnd.length:newEnd.childNodes.length;rng.setEnd(newEnd,endOffset);} +cb.call(s||t);},resizeBy:function(dw,dh,win){win.resizeBy(dw,dh);},_decode:function(s){return tinymce.DOM.decode(s).replace(/\\n/g,'\n');}});}(tinymce));(function(tinymce){tinymce.Formatter=function(ed){var formats={},each=tinymce.each,dom=ed.dom,selection=ed.selection,TreeWalker=tinymce.dom.TreeWalker,rangeUtils=new tinymce.dom.RangeUtils(dom),isValidChild=ed.schema.isValidChild,isBlock=dom.isBlock,forcedRootBlock=ed.settings.forced_root_block,nodeIndex=dom.nodeIndex,INVISIBLE_CHAR='\uFEFF',MCE_ATTR_RE=/^(src|href|style)$/,FALSE=false,TRUE=true,formatChangeData,undef,getContentEditable=dom.getContentEditable;function isTextBlock(name){if(name.nodeType){name=name.nodeName;} +return!!ed.schema.getTextBlockElements()[name.toLowerCase()];} +function getParents(node,selector){return dom.getParents(node,selector,dom.getRoot());} +function isCaretNode(node){return node.nodeType===1&&node.id==='_mce_caret';} +function defaultFormats(){register({alignleft:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'left'},defaultBlock:'div'},{selector:'img,table',collapsed:false,styles:{'float':'left'}}],aligncenter:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'center'},defaultBlock:'div'},{selector:'img',collapsed:false,styles:{display:'block',marginLeft:'auto',marginRight:'auto'}},{selector:'table',collapsed:false,styles:{marginLeft:'auto',marginRight:'auto'}}],alignright:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'right'},defaultBlock:'div'},{selector:'img,table',collapsed:false,styles:{'float':'right'}}],alignfull:[{selector:'figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',styles:{textAlign:'justify'},defaultBlock:'div'}],bold:[{inline:'strong',remove:'all'},{inline:'span',styles:{fontWeight:'bold'}},{inline:'b',remove:'all'}],italic:[{inline:'em',remove:'all'},{inline:'span',styles:{fontStyle:'italic'}},{inline:'i',remove:'all'}],underline:[{inline:'span',styles:{textDecoration:'underline'},exact:true},{inline:'u',remove:'all'}],strikethrough:[{inline:'span',styles:{textDecoration:'line-through'},exact:true},{inline:'strike',remove:'all'}],forecolor:{inline:'span',styles:{color:'%value'},wrap_links:false},hilitecolor:{inline:'span',styles:{backgroundColor:'%value'},wrap_links:false},fontname:{inline:'span',styles:{fontFamily:'%value'}},fontsize:{inline:'span',styles:{fontSize:'%value'}},fontsize_class:{inline:'span',attributes:{'class':'%value'}},blockquote:{block:'blockquote',wrapper:1,remove:'all'},subscript:{inline:'sub'},superscript:{inline:'sup'},link:{inline:'a',selector:'a',remove:'all',split:true,deep:true,onmatch:function(){return true;},onformat:function(elm,fmt,vars){each(vars,function(value,key){dom.setAttrib(elm,key,value);});}},removeformat:[{selector:'b,strong,em,i,font,u,strike',remove:'all',split:true,expand:false,block_expand:true,deep:true},{selector:'span',attributes:['style','class'],remove:'empty',split:true,expand:false,deep:true},{selector:'*',attributes:['style','class'],split:false,expand:false,deep:true}]});each('p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp'.split(/\s/),function(name){register(name,{block:name,remove:'all'});});register(ed.settings.formats);} +function addKeyboardShortcuts(){ed.addShortcut('ctrl+b','bold_desc','Bold');ed.addShortcut('ctrl+i','italic_desc','Italic');ed.addShortcut('ctrl+u','underline_desc','Underline');for(var i=1;i<=6;i++){ed.addShortcut('ctrl+'+i,'',['FormatBlock',false,'h'+i]);} +ed.addShortcut('ctrl+7','',['FormatBlock',false,'p']);ed.addShortcut('ctrl+8','',['FormatBlock',false,'div']);ed.addShortcut('ctrl+9','',['FormatBlock',false,'address']);} +function get(name){return name?formats[name]:formats;} +function register(name,format){if(name){if(typeof(name)!=='string'){each(name,function(format,name){register(name,format);});}else{format=format.length?format:[format];each(format,function(format){if(format.deep===undef){format.deep=!format.selector;} +if(format.split===undef){format.split=!format.selector||format.inline;} +if(format.remove===undef&&format.selector&&!format.inline){format.remove='none';} +if(format.selector&&format.inline){format.mixed=true;format.block_expand=true;} +if(typeof(format.classes)==='string'){format.classes=format.classes.split(/\s+/);}});formats[name]=format;}}} +var getTextDecoration=function(node){var decoration;ed.dom.getParent(node,function(n){decoration=ed.dom.getStyle(n,'text-decoration');return decoration&&decoration!=='none';});return decoration;};var processUnderlineAndColor=function(node){var textDecoration;if(node.nodeType===1&&node.parentNode&&node.parentNode.nodeType===1){textDecoration=getTextDecoration(node.parentNode);if(ed.dom.getStyle(node,'color')&&textDecoration){ed.dom.setStyle(node,'text-decoration',textDecoration);}else if(ed.dom.getStyle(node,'textdecoration')===textDecoration){ed.dom.setStyle(node,'text-decoration',null);}}};function apply(name,vars,node){var formatList=get(name),format=formatList[0],bookmark,rng,isCollapsed=selection.isCollapsed();function setElementFormat(elm,fmt){fmt=fmt||format;if(elm){if(fmt.onformat){fmt.onformat(elm,fmt,vars,node);} +each(fmt.styles,function(value,name){dom.setStyle(elm,name,replaceVars(value,vars));});each(fmt.attributes,function(value,name){dom.setAttrib(elm,name,replaceVars(value,vars));});each(fmt.classes,function(value){value=replaceVars(value,vars);if(!dom.hasClass(elm,value)){dom.addClass(elm,value);}});}} +function adjustSelectionToVisibleSelection(){function findSelectionEnd(start,end){var walker=new TreeWalker(end);for(node=walker.current();node;node=walker.prev()){if(node.childNodes.length>1||node==start||node.tagName=='BR'){return node;}}} +var rng=ed.selection.getRng();var start=rng.startContainer;var end=rng.endContainer;if(start!=end&&rng.endOffset===0){var newEnd=findSelectionEnd(start,end);var endOffset=newEnd.nodeType==3?newEnd.length:newEnd.childNodes.length;rng.setEnd(newEnd,endOffset);} return rng;} -function applyStyleToList(node,bookmark,wrapElm,newWrappers,process){var nodes=[],listIndex=-1,list,startIndex=-1,endIndex=-1,currentWrapElm;each(node.childNodes,function(n,index){if(n.nodeName==="UL"||n.nodeName==="OL"){listIndex=index;list=n;return false;}});each(node.childNodes,function(n,index){if(n.nodeName==="SPAN"&&dom.getAttrib(n,"data-mce-type")=="bookmark"){if(n.id==bookmark.id+"_start"){startIndex=index;}else if(n.id==bookmark.id+"_end"){endIndex=index;}}});if(listIndex<=0||(startIndexlistIndex)){each(tinymce.grep(node.childNodes),process);return 0;}else{currentWrapElm=dom.clone(wrapElm,FALSE);each(tinymce.grep(node.childNodes),function(n,index){if((startIndexlistIndex&&index>listIndex)){nodes.push(n);n.parentNode.removeChild(n);}});if(startIndexlistIndex){node.insertBefore(currentWrapElm,list.nextSibling);} -newWrappers.push(currentWrapElm);each(nodes,function(node){currentWrapElm.appendChild(node);});return currentWrapElm;}};function applyRngStyle(rng,bookmark,node_specific){var newWrappers=[],wrapName,wrapElm,contentEditable=true;wrapName=format.inline||format.block;wrapElm=dom.create(wrapName);setElementFormat(wrapElm);rangeUtils.walk(rng,function(nodes){var currentWrapElm;function process(node){var nodeName,parentName,found,hasContentEditableState,lastContentEditable;lastContentEditable=contentEditable;nodeName=node.nodeName.toLowerCase();parentName=node.parentNode.nodeName.toLowerCase();if(node.nodeType===1&&getContentEditable(node)){lastContentEditable=contentEditable;contentEditable=getContentEditable(node)==="true";hasContentEditableState=true;} -if(isEq(nodeName,'br')){currentWrapElm=0;if(format.block) -dom.remove(node);return;} +function findNestedList(node){var listIndex=-1;var list;each(node.childNodes,function(n,index){if(n.nodeName==="UL"||n.nodeName==="OL"){listIndex=index;list=n;return false;}});return{listIndex:listIndex,list:list};} +function getBookmarkIndex(node,bookmark){var startIndex=-1;var endIndex=-1;each(node.childNodes,function(n,index){if(n.nodeName==="SPAN"&&dom.getAttrib(n,"data-mce-type")=="bookmark"){if(n.id==bookmark.id+"_start"){startIndex=index;}else if(n.id==bookmark.id+"_end"){endIndex=index;}}});return{startIndex:startIndex,endIndex:endIndex};} +function applyRngStyle(rng,bookmark,node_specific){var newWrappers=[],wrapName,wrapElm,contentEditable=true;wrapName=format.inline||format.block;wrapElm=dom.create(wrapName);setElementFormat(wrapElm);rangeUtils.walk(rng,function(nodes){var currentWrapElm;function process(node){var nodeName,parentName,found,hasContentEditableState,lastContentEditable;lastContentEditable=contentEditable;nodeName=node.nodeName.toLowerCase();parentName=node.parentNode.nodeName.toLowerCase();if(node.nodeType===1&&getContentEditable(node)){lastContentEditable=contentEditable;contentEditable=getContentEditable(node)==="true";hasContentEditableState=true;} +if(isEq(nodeName,'br')){currentWrapElm=0;if(format.block){dom.remove(node);} +return;} if(format.wrapper&&matchNode(node,name,vars)){currentWrapElm=0;return;} if(contentEditable&&!hasContentEditableState&&format.block&&!format.wrapper&&isTextBlock(nodeName)){node=dom.rename(node,wrapName);setElementFormat(node);newWrappers.push(node);currentWrapElm=0;return;} if(format.selector){each(formatList,function(format){if('collapsed'in format&&format.collapsed!==isCollapsed){return;} if(dom.is(node,format.selector)&&!isCaretNode(node)){setElementFormat(node,format);found=true;}});if(!format.inline||found){currentWrapElm=0;return;}} -if(contentEditable&&!hasContentEditableState&&isValid(wrapName,nodeName)&&isValid(parentName,wrapName)&&!(!node_specific&&node.nodeType===3&&node.nodeValue.length===1&&node.nodeValue.charCodeAt(0)===65279)&&!isCaretNode(node)){if(!currentWrapElm){currentWrapElm=dom.clone(wrapElm,FALSE);node.parentNode.insertBefore(currentWrapElm,node);newWrappers.push(currentWrapElm);} -currentWrapElm.appendChild(node);}else if(nodeName=='li'&&bookmark){currentWrapElm=applyStyleToList(node,bookmark,wrapElm,newWrappers,process);}else{currentWrapElm=0;each(tinymce.grep(node.childNodes),process);if(hasContentEditableState){contentEditable=lastContentEditable;} -currentWrapElm=0;}};each(nodes,process);});if(format.wrap_links===false){each(newWrappers,function(node){function process(node){var i,currentWrapElm,children;if(node.nodeName==='A'){currentWrapElm=dom.clone(wrapElm,FALSE);newWrappers.push(currentWrapElm);children=tinymce.grep(node.childNodes);for(i=0;i1||!isBlock(node))&&childCount===0){dom.remove(node,1);return;} -if(format.inline||format.wrapper){if(!format.exact&&childCount===1) -node=mergeStyles(node);each(formatList,function(format){each(dom.select(format.inline,node),function(child){var parent;if(format.wrap_links===false){parent=child.parentNode;do{if(parent.nodeName==='A') -return;}while(parent=parent.parentNode);} +function isZWNBS(node){return node.nodeType===3&&node.nodeValue.length===1&&node.nodeValue.charCodeAt(0)===65279;} +if(contentEditable&&!hasContentEditableState&&isValidChild(wrapName,nodeName)&&isValidChild(parentName,wrapName)&&!(!node_specific&&isZWNBS(node))&&!isCaretNode(node)&&(!format.inline||!isBlock(node))){if(!currentWrapElm){currentWrapElm=dom.clone(wrapElm,FALSE);node.parentNode.insertBefore(currentWrapElm,node);newWrappers.push(currentWrapElm);} +currentWrapElm.appendChild(node);}else{currentWrapElm=0;each(tinymce.grep(node.childNodes),process);if(hasContentEditableState){contentEditable=lastContentEditable;} +currentWrapElm=0;}} +each(nodes,process);});if(format.wrap_links===false){each(newWrappers,function(node){function process(node){var i,currentWrapElm,children;if(node.nodeName==='A'){currentWrapElm=dom.clone(wrapElm,FALSE);newWrappers.push(currentWrapElm);children=tinymce.grep(node.childNodes);for(i=0;i1||!isBlock(node))&&childCount===0){dom.remove(node,1);return;} +if(format.inline||format.wrapper){if(!format.exact&&childCount===1){node=mergeStyles(node);} +each(formatList,function(format){each(dom.select(format.inline,node),function(child){var parent;if(format.wrap_links===false){parent=child.parentNode;do{if(parent.nodeName==='A'){return;} +parent=parent.parentNode;}while(parent);} removeFormat(format,vars,child,format.exact?child:null);});});if(matchNode(node.parentNode,name,vars)){dom.remove(node,1);node=0;return TRUE;} if(format.merge_with_parents){dom.getParent(node.parentNode,function(parent){if(matchNode(parent,name,vars)){dom.remove(node,1);node=0;return TRUE;}});} -if(node&&format.merge_siblings!==false){node=mergeSiblings(getNonWhiteSpaceSibling(node),node);node=mergeSiblings(node,getNonWhiteSpaceSibling(node,TRUE));}}});};if(format){if(node){if(node.nodeType){rng=dom.createRng();rng.setStartBefore(node);rng.setEndAfter(node);applyRngStyle(expandRng(rng,formatList),null,true);}else{applyRngStyle(node,null,true);}}else{if(!isCollapsed||!format.inline||dom.select('td.mceSelected,th.mceSelected').length){var curSelNode=ed.selection.getNode();if(!forcedRootBlock&&formatList[0].defaultBlock&&!dom.getParent(curSelNode,dom.isBlock)){apply(formatList[0].defaultBlock);} +if(node&&format.merge_siblings!==false){node=mergeSiblings(getNonWhiteSpaceSibling(node),node);node=mergeSiblings(node,getNonWhiteSpaceSibling(node,TRUE));}}});} +if(format){if(node){if(node.nodeType){rng=dom.createRng();rng.setStartBefore(node);rng.setEndAfter(node);applyRngStyle(expandRng(rng,formatList),null,true);}else{applyRngStyle(node,null,true);}}else{if(!isCollapsed||!format.inline||dom.select('td.mceSelected,th.mceSelected').length){var curSelNode=ed.selection.getNode();if(!forcedRootBlock&&formatList[0].defaultBlock&&!dom.getParent(curSelNode,dom.isBlock)){apply(formatList[0].defaultBlock);} ed.selection.setRng(adjustSelectionToVisibleSelection());bookmark=selection.getBookmark();applyRngStyle(expandRng(selection.getRng(TRUE),formatList),bookmark);if(format.styles&&(format.styles.color||format.styles.textDecoration)){tinymce.walk(curSelNode,processUnderlineAndColor,'childNodes');processUnderlineAndColor(curSelNode);} -selection.moveToBookmark(bookmark);moveStart(selection.getRng(TRUE));ed.nodeChanged();}else -performCaretAction('apply',name,vars);}}};function remove(name,vars,node){var formatList=get(name),format=formatList[0],bookmark,i,rng,contentEditable=true;function process(node){var children,i,l,localContentEditable,lastContentEditable,hasContentEditableState;if(node.nodeType===1&&getContentEditable(node)){lastContentEditable=contentEditable;contentEditable=getContentEditable(node)==="true";hasContentEditableState=true;} -children=tinymce.grep(node.childNodes);if(contentEditable&&!hasContentEditableState){for(i=0,l=formatList.length;i=0;x--){selector=formatList[x].selector;if(!selector) -return TRUE;for(i=parents.length-1;i>=0;i--){if(dom.is(parents[i],selector)) -return TRUE;}}} -return FALSE;};function formatChanged(formats,callback,similar){var currentFormats;if(!formatChangeData){formatChangeData={};currentFormats={};ed.onNodeChange.addToTop(function(ed,cm,node){var parents=getParents(node),matchedFormats={};each(formatChangeData,function(callbacks,format){each(parents,function(node){if(matchNode(node,format,{},callbacks.similar)){if(!currentFormats[format]){each(callbacks,function(callback){callback(true,{node:node,format:format,parents:parents});});currentFormats[format]=callbacks;} +ed.nodeChanged();}else{performCaretAction('remove',name,vars);}} +function toggle(name,vars,node){var fmt=get(name);if(match(name,vars,node)&&(!('toggle'in fmt[0])||fmt[0].toggle)){remove(name,vars,node);}else{apply(name,vars,node);}} +function matchNode(node,name,vars,similar){var formatList=get(name),format,i,classes;function matchItems(node,format,item_name){var key,value,items=format[item_name],i;if(format.onmatch){return format.onmatch(node,format,item_name);} +if(items){if(items.length===undef){for(key in items){if(items.hasOwnProperty(key)){if(item_name==='attributes'){value=dom.getAttrib(node,key);}else{value=getStyle(node,key);} +if(similar&&!value&&!format.exact){return;} +if((!similar||format.exact)&&!isEq(value,replaceVars(items[key],vars))){return;}}}}else{for(i=0;i=0;x--){selector=formatList[x].selector;if(!selector){return TRUE;} +for(i=parents.length-1;i>=0;i--){if(dom.is(parents[i],selector)){return TRUE;}}}} +return FALSE;} +function formatChanged(formats,callback,similar){var currentFormats;if(!formatChangeData){formatChangeData={};currentFormats={};ed.onNodeChange.addToTop(function(ed,cm,node){var parents=getParents(node),matchedFormats={};each(formatChangeData,function(callbacks,format){each(parents,function(node){if(matchNode(node,format,{},callbacks.similar)){if(!currentFormats[format]){each(callbacks,function(callback){callback(true,{node:node,format:format,parents:parents});});currentFormats[format]=callbacks;} matchedFormats[format]=callbacks;return false;}});});each(currentFormats,function(callbacks,format){if(!matchedFormats[format]){delete currentFormats[format];each(callbacks,function(callback){callback(false,{node:node,format:format,parents:parents});});}});});} each(formats.split(','),function(format){if(!formatChangeData[format]){formatChangeData[format]=[];formatChangeData[format].similar=similar;} -formatChangeData[format].push(callback);});return this;};tinymce.extend(this,{get:get,register:register,apply:apply,remove:remove,toggle:toggle,match:match,matchAll:matchAll,matchNode:matchNode,canApply:canApply,formatChanged:formatChanged});defaultFormats();addKeyboardShortcuts();function matchName(node,format){if(isEq(node,format.inline)) -return TRUE;if(isEq(node,format.block)) -return TRUE;if(format.selector) -return dom.is(node,format.selector);};function isEq(str1,str2){str1=str1||'';str2=str2||'';str1=''+(str1.nodeName||str1);str2=''+(str2.nodeName||str2);return str1.toLowerCase()==str2.toLowerCase();};function getStyle(node,name){var styleVal=dom.getStyle(node,name);if(name=='color'||name=='backgroundColor') -styleVal=dom.toHex(styleVal);if(name=='fontWeight'&&styleVal==700) -styleVal='bold';return''+styleVal;};function replaceVars(value,vars){if(typeof(value)!="string") -value=value(vars);else if(vars){value=value.replace(/%(\w+)/g,function(str,name){return vars[name]||str;});} -return value;};function isWhiteSpaceNode(node){return node&&node.nodeType===3&&/^([\t \r\n]+|)$/.test(node.nodeValue);};function wrap(node,name,attrs){var wrapper=dom.create(name,attrs);node.parentNode.insertBefore(wrapper,node);wrapper.appendChild(node);return wrapper;};function expandRng(rng,format,remove){var sibling,lastIdx,leaf,endPoint,startContainer=rng.startContainer,startOffset=rng.startOffset,endContainer=rng.endContainer,endOffset=rng.endOffset;function findParentContainer(start){var container,parent,child,sibling,siblingName,root;container=parent=start?startContainer:endContainer;siblingName=start?'previousSibling':'nextSibling';root=dom.getRoot();function isBogusBr(node){return node.nodeName=="BR"&&node.getAttribute('data-mce-bogus')&&!node.nextSibling;};if(container.nodeType==3&&!isWhiteSpaceNode(container)){if(start?startOffset>0:endOffset0:endOffsetlastIdx?lastIdx:startOffset];if(startContainer.nodeType==3) -startOffset=0;} -if(endContainer.nodeType==1&&endContainer.hasChildNodes()){lastIdx=endContainer.childNodes.length-1;endContainer=endContainer.childNodes[endOffset>lastIdx?lastIdx:endOffset-1];if(endContainer.nodeType==3) -endOffset=endContainer.nodeValue.length;} +if(startContainer.nodeType==1&&startContainer.hasChildNodes()){lastIdx=startContainer.childNodes.length-1;startContainer=startContainer.childNodes[startOffset>lastIdx?lastIdx:startOffset];if(startContainer&&startContainer.nodeType==3){startOffset=0;}} +if(endContainer.nodeType==1&&endContainer.hasChildNodes()){lastIdx=endContainer.childNodes.length-1;endContainer=endContainer.childNodes[endOffset>lastIdx?lastIdx:endOffset-1];if(endContainer&&endContainer.nodeType==3){endOffset=endContainer.nodeValue.length;}} function findParentContentEditable(node){var parent=node;while(parent){if(parent.nodeType===1&&getContentEditable(parent)){return getContentEditable(parent)==="false"?parent:node;} parent=parent.parentNode;} -return node;};function findWordEndPoint(container,offset,start){var walker,node,pos,lastTextNode;function findSpace(node,offset){var pos,pos2,str=node.nodeValue;if(typeof(offset)=="undefined"){offset=start?str.length:0;} +return node;} +function findWordEndPoint(container,offset,start){var walker,node,pos,lastTextNode;function findSpace(node,offset){var pos,pos2,str=node.nodeValue;if(typeof(offset)=="undefined"){offset=start?str.length:0;} if(start){pos=str.lastIndexOf(' ',offset);pos2=str.lastIndexOf('\u00a0',offset);pos=pos>pos2?pos:pos2;if(pos!==-1&&!remove){pos++;}}else{pos=str.indexOf(' ',offset);pos2=str.indexOf('\u00a0',offset);pos=pos!==-1&&(pos2===-1||pos0&&leaf.node.nodeType===3&&leaf.node.nodeValue.charAt(leaf.offset-1)===' '){if(leaf.offset>1){endContainer=leaf.node;endContainer.splitText(leaf.offset-1);}}}} +leaf=findLeaf(endContainer,endOffset);if(leaf.node){while(leaf.node&&leaf.offset===0&&leaf.node.previousSibling){leaf=findLeaf(leaf.node.previousSibling);} +if(leaf.node&&leaf.offset>0&&leaf.node.nodeType===3&&leaf.node.nodeValue.charAt(leaf.offset-1)===' '){if(leaf.offset>1){endContainer=leaf.node;endContainer.splitText(leaf.offset-1);}}}} if(format[0].inline||format[0].block_expand){if(!format[0].inline||(startContainer.nodeType!=3||startOffset===0)){startContainer=findParentContainer(true);} if(!format[0].inline||(endContainer.nodeType!=3||endOffset===endContainer.nodeValue.length)){endContainer=findParentContainer();}} if(format[0].selector&&format[0].expand!==FALSE&&!format[0].inline){startContainer=findSelectorEndPoint(startContainer,'previousSibling');endContainer=findSelectorEndPoint(endContainer,'nextSibling');} -if(format[0].block||format[0].selector){startContainer=findBlockEndPoint(startContainer,'previousSibling');endContainer=findBlockEndPoint(endContainer,'nextSibling');if(format[0].block){if(!isBlock(startContainer)) -startContainer=findParentContainer(true);if(!isBlock(endContainer)) -endContainer=findParentContainer();}} +if(format[0].block||format[0].selector){startContainer=findBlockEndPoint(startContainer,'previousSibling');endContainer=findBlockEndPoint(endContainer,'nextSibling');if(format[0].block){if(!isBlock(startContainer)){startContainer=findParentContainer(true);} +if(!isBlock(endContainer)){endContainer=findParentContainer();}}} if(startContainer.nodeType==1){startOffset=nodeIndex(startContainer);startContainer=startContainer.parentNode;} if(endContainer.nodeType==1){endOffset=nodeIndex(endContainer)+1;endContainer=endContainer.parentNode;} return{startContainer:startContainer,startOffset:startOffset,endContainer:endContainer,endOffset:endOffset};} -function removeFormat(format,vars,node,compare_node){var i,attrs,stylesModified;if(!matchName(node,format)) -return FALSE;if(format.remove!='all'){each(format.styles,function(value,name){value=replaceVars(value,vars);if(typeof(name)==='number'){name=value;compare_node=0;} -if(!compare_node||isEq(getStyle(compare_node,name),value)) -dom.setStyle(node,name,'');stylesModified=1;});if(stylesModified&&dom.getAttrib(node,'style')==''){node.removeAttribute('style');node.removeAttribute('data-mce-style');} +function removeFormat(format,vars,node,compare_node){var i,attrs,stylesModified;if(!matchName(node,format)){return FALSE;} +if(format.remove!='all'){each(format.styles,function(value,name){value=replaceVars(value,vars);if(typeof(name)==='number'){name=value;compare_node=0;} +if(!compare_node||isEq(getStyle(compare_node,name),value)){dom.setStyle(node,name,'');} +stylesModified=1;});if(stylesModified&&dom.getAttrib(node,'style')===''){node.removeAttribute('style');node.removeAttribute('data-mce-style');} each(format.attributes,function(value,name){var valueOut;value=replaceVars(value,vars);if(typeof(name)==='number'){name=value;compare_node=0;} -if(!compare_node||isEq(dom.getAttrib(compare_node,name),value)){if(name=='class'){value=dom.getAttrib(node,name);if(value){valueOut='';each(value.split(/\s+/),function(cls){if(/mce\w+/.test(cls)) -valueOut+=(valueOut?' ':'')+cls;});if(valueOut){dom.setAttrib(node,name,valueOut);return;}}} -if(name=="class") -node.removeAttribute('className');if(MCE_ATTR_RE.test(name)) -node.removeAttribute('data-mce-'+name);node.removeAttribute(name);}});each(format.classes,function(value){value=replaceVars(value,vars);if(!compare_node||dom.hasClass(compare_node,value)) -dom.removeClass(node,value);});attrs=dom.getAttribs(node);for(i=0;ilastIdx?lastIdx:offset];} +return next;} +function getContainer(rng,start){var container,offset,lastIdx;container=rng[start?'startContainer':'endContainer'];offset=rng[start?'startOffset':'endOffset'];if(container.nodeType==1){lastIdx=container.childNodes.length-1;if(!start&&offset){offset--;} +container=container.childNodes[offset>lastIdx?lastIdx:offset];} if(container.nodeType===3&&start&&offset>=container.nodeValue.length){container=new TreeWalker(container,ed.getBody()).next()||container;} if(container.nodeType===3&&!start&&offset===0){container=new TreeWalker(container,ed.getBody()).prev()||container;} -return container;};function performCaretAction(type,name,vars){var caretContainerId='_mce_caret',debug=ed.settings.caret_debug;function createCaretContainer(fill){var caretContainer=dom.create('span',{id:caretContainerId,'data-mce-bogus':true,style:debug?'color:red':''});if(fill){caretContainer.appendChild(ed.getDoc().createTextNode(INVISIBLE_CHAR));} -return caretContainer;};function isCaretContainerEmpty(node,nodes){while(node){if((node.nodeType===3&&node.nodeValue!==INVISIBLE_CHAR)||node.childNodes.length>1){return false;} +return container;} +function performCaretAction(type,name,vars){var caretContainerId='_mce_caret',debug=ed.settings.caret_debug;function createCaretContainer(fill){var caretContainer=dom.create('span',{id:caretContainerId,'data-mce-bogus':true,style:debug?'color:red':''});if(fill){caretContainer.appendChild(ed.getDoc().createTextNode(INVISIBLE_CHAR));} +return caretContainer;} +function isCaretContainerEmpty(node,nodes){while(node){if((node.nodeType===3&&node.nodeValue!==INVISIBLE_CHAR)||node.childNodes.length>1){return false;} if(nodes&&node.nodeType===1){nodes.push(node);} node=node.firstChild;} -return true;};function getParentCaretContainer(node){while(node){if(node.id===caretContainerId){return node;} -node=node.parentNode;}};function findFirstTextNode(node){var walker;if(node){walker=new TreeWalker(node,node);for(node=walker.current();node;node=walker.next()){if(node.nodeType===3){return node;}}}};function removeCaretContainer(node,move_caret){var child,rng;if(!node){node=getParentCaretContainer(selection.getStart());if(!node){while(node=dom.get(caretContainerId)){removeCaretContainer(node,false);}}}else{rng=selection.getRng(true);if(isCaretContainerEmpty(node)){if(move_caret!==false){rng.setStartBefore(node);rng.setEndBefore(node);} +return true;} +function getParentCaretContainer(node){while(node){if(node.id===caretContainerId){return node;} +node=node.parentNode;}} +function findFirstTextNode(node){var walker;if(node){walker=new TreeWalker(node,node);for(node=walker.current();node;node=walker.next()){if(node.nodeType===3){return node;}}}} +function removeCaretContainer(node,move_caret){var child,rng;if(!node){node=getParentCaretContainer(selection.getStart());if(!node){while(node=dom.get(caretContainerId)){removeCaretContainer(node,false);}}}else{rng=selection.getRng(true);if(isCaretContainerEmpty(node)){if(move_caret!==false){rng.setStartBefore(node);rng.setEndBefore(node);} dom.remove(node);}else{child=findFirstTextNode(node);if(child.nodeValue.charAt(0)===INVISIBLE_CHAR){child=child.deleteData(0,1);} dom.remove(node,1);} -selection.setRng(rng);}};function applyCaretFormat(){var rng,caretContainer,textNode,offset,bookmark,container,text;rng=selection.getRng(true);offset=rng.startOffset;container=rng.startContainer;text=container.nodeValue;caretContainer=getParentCaretContainer(selection.getStart());if(caretContainer){textNode=findFirstTextNode(caretContainer);} -if(text&&offset>0&&offset0&&offset=0;i--){node.appendChild(dom.clone(parents[i],false));node=node.firstChild;} -node.appendChild(dom.doc.createTextNode(INVISIBLE_CHAR));node=node.firstChild;dom.insertAfter(caretContainer,formatNode);selection.setCursorLocation(node,1);}};function unmarkBogusCaretParents(){var i,caretContainer,node;caretContainer=getParentCaretContainer(selection.getStart());if(caretContainer&&!dom.isEmpty(caretContainer)){tinymce.walk(caretContainer,function(node){if(node.nodeType==1&&node.id!==caretContainerId&&!dom.isEmpty(node)){dom.setAttrib(node,'data-mce-bogus',null);}},'childNodes');}};if(!self._hasCaretEvents){ed.onBeforeGetContent.addToTop(function(){var nodes=[],i;if(isCaretContainerEmpty(getParentCaretContainer(selection.getStart()),nodes)){i=nodes.length;while(i--){dom.setAttrib(nodes[i],'data-mce-bogus','1');}}});tinymce.each('onMouseUp onKeyUp'.split(' '),function(name){ed[name].addToTop(function(){removeCaretContainer();unmarkBogusCaretParents();});});ed.onKeyDown.addToTop(function(ed,e){var keyCode=e.keyCode;if(keyCode==8||keyCode==37||keyCode==39){removeCaretContainer(getParentCaretContainer(selection.getStart()));} -unmarkBogusCaretParents();});selection.onSetContent.add(unmarkBogusCaretParents);self._hasCaretEvents=true;} -if(type=="apply"){applyCaretFormat();}else{removeCaretFormat();}};function moveStart(rng){var container=rng.startContainer,offset=rng.startOffset,isAtEndOfText,walker,node,nodes,tmpNode;if(container.nodeType==3&&offset>=container.nodeValue.length){offset=nodeIndex(container);container=container.parentNode;isAtEndOfText=true;} -if(container.nodeType==1){nodes=container.childNodes;container=nodes[Math.min(offset,nodes.length-1)];walker=new TreeWalker(container,dom.getParent(container,dom.isBlock));if(offset>nodes.length-1||isAtEndOfText) -walker.next();for(node=walker.current();node;node=walker.next()){if(node.nodeType==3&&!isWhiteSpaceNode(node)){tmpNode=dom.create('a',null,INVISIBLE_CHAR);node.parentNode.insertBefore(tmpNode,node);rng.setStart(node,0);selection.setRng(rng);dom.remove(tmpNode);return;}}}};};})(tinymce);tinymce.onAddEditor.add(function(tinymce,ed){var filters,fontSizes,dom,settings=ed.settings;function replaceWithSpan(node,styles){tinymce.each(styles,function(value,name){if(value) -dom.setStyle(node,name,value);});dom.rename(node,'span');};function convert(editor,params){dom=editor.dom;if(settings.convert_fonts_to_spans){tinymce.each(dom.select('font,u,strike',params.node),function(node){filters[node.nodeName.toLowerCase()](ed.dom,node);});}};if(settings.inline_styles){fontSizes=tinymce.explode(settings.font_size_legacy_values);filters={font:function(dom,node){replaceWithSpan(node,{backgroundColor:node.style.backgroundColor,color:node.color,fontFamily:node.face,fontSize:fontSizes[parseInt(node.size,10)-1]});},u:function(dom,node){replaceWithSpan(node,{textDecoration:'underline'});},strike:function(dom,node){replaceWithSpan(node,{textDecoration:'line-through'});}};ed.onPreProcess.add(convert);ed.onSetContent.add(convert);ed.onInit.add(function(){ed.selection.onSetContent.add(convert);});}});(function(tinymce){var TreeWalker=tinymce.dom.TreeWalker;tinymce.EnterKey=function(editor){var dom=editor.dom,selection=editor.selection,settings=editor.settings,undoManager=editor.undoManager,nonEmptyElementsMap=editor.schema.getNonEmptyElements();function handleEnterKey(evt){var rng=selection.getRng(true),tmpRng,editableRoot,container,offset,parentBlock,documentMode,shiftKey,newBlock,fragment,containerBlock,parentBlockName,containerBlockName,newBlockName,isAfterLastNodeInContainer;function canSplitBlock(node){return node&&dom.isBlock(node)&&!/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName)&&!/^(fixed|absolute)/i.test(node.style.position)&&dom.getContentEditable(node)!=="true";};function renderBlockOnIE(block){var oldRng;if(tinymce.isIE&&dom.isBlock(block)){oldRng=selection.getRng();block.appendChild(dom.create('span',null,'\u00a0'));selection.select(block);block.lastChild.outerHTML='';selection.setRng(oldRng);}};function trimInlineElementsOnLeftSideOfBlock(block){var node=block,firstChilds=[],i;while(node=node.firstChild){if(dom.isBlock(node)){return;} +node.appendChild(dom.doc.createTextNode(INVISIBLE_CHAR));node=node.firstChild;var block=dom.getParent(formatNode,isTextBlock);if(block&&dom.isEmpty(block)){formatNode.parentNode.replaceChild(caretContainer,formatNode);}else{dom.insertAfter(caretContainer,formatNode);} +selection.setCursorLocation(node,1);if(dom.isEmpty(formatNode)){dom.remove(formatNode);}}} +function unmarkBogusCaretParents(){var caretContainer;caretContainer=getParentCaretContainer(selection.getStart());if(caretContainer&&!dom.isEmpty(caretContainer)){tinymce.walk(caretContainer,function(node){if(node.nodeType==1&&node.id!==caretContainerId&&!dom.isEmpty(node)){dom.setAttrib(node,'data-mce-bogus',null);}},'childNodes');}} +if(!ed._hasCaretEvents){ed.onBeforeGetContent.addToTop(function(){var nodes=[],i;if(isCaretContainerEmpty(getParentCaretContainer(selection.getStart()),nodes)){i=nodes.length;while(i--){dom.setAttrib(nodes[i],'data-mce-bogus','1');}}});tinymce.each('onMouseUp onKeyUp'.split(' '),function(name){ed[name].addToTop(function(){removeCaretContainer();unmarkBogusCaretParents();});});ed.onKeyDown.addToTop(function(ed,e){var keyCode=e.keyCode;if(keyCode==8||keyCode==37||keyCode==39){removeCaretContainer(getParentCaretContainer(selection.getStart()));} +unmarkBogusCaretParents();});selection.onSetContent.add(unmarkBogusCaretParents);ed._hasCaretEvents=true;} +if(type=="apply"){applyCaretFormat();}else{removeCaretFormat();}} +function moveStart(rng){var container=rng.startContainer,offset=rng.startOffset,isAtEndOfText,walker,node,nodes,tmpNode;if(container.nodeType==3&&offset>=container.nodeValue.length){offset=nodeIndex(container);container=container.parentNode;isAtEndOfText=true;} +if(container.nodeType==1){nodes=container.childNodes;container=nodes[Math.min(offset,nodes.length-1)];walker=new TreeWalker(container,dom.getParent(container,dom.isBlock));if(offset>nodes.length-1||isAtEndOfText){walker.next();} +for(node=walker.current();node;node=walker.next()){if(node.nodeType==3&&!isWhiteSpaceNode(node)){tmpNode=dom.create('a',null,INVISIBLE_CHAR);node.parentNode.insertBefore(tmpNode,node);rng.setStart(node,0);selection.setRng(rng);dom.remove(tmpNode);return;}}}}};})(tinymce);tinymce.onAddEditor.add(function(tinymce,ed){var filters,fontSizes,dom,settings=ed.settings;function replaceWithSpan(node,styles){tinymce.each(styles,function(value,name){if(value) +dom.setStyle(node,name,value);});dom.rename(node,'span');};function convert(editor,params){dom=editor.dom;if(settings.convert_fonts_to_spans){tinymce.each(dom.select('font,u,strike',params.node),function(node){filters[node.nodeName.toLowerCase()](ed.dom,node);});}};if(settings.inline_styles){fontSizes=tinymce.explode(settings.font_size_legacy_values);filters={font:function(dom,node){replaceWithSpan(node,{backgroundColor:node.style.backgroundColor,color:node.color,fontFamily:node.face,fontSize:fontSizes[parseInt(node.size,10)-1]});},u:function(dom,node){replaceWithSpan(node,{textDecoration:'underline'});},strike:function(dom,node){replaceWithSpan(node,{textDecoration:'line-through'});}};ed.onPreProcess.add(convert);ed.onSetContent.add(convert);ed.onInit.add(function(){ed.selection.onSetContent.add(convert);});}});(function(tinymce){var TreeWalker=tinymce.dom.TreeWalker;tinymce.EnterKey=function(editor){var dom=editor.dom,selection=editor.selection,settings=editor.settings,undoManager=editor.undoManager,nonEmptyElementsMap=editor.schema.getNonEmptyElements();function handleEnterKey(evt){var rng=selection.getRng(true),tmpRng,editableRoot,container,offset,parentBlock,documentMode,shiftKey,newBlock,fragment,containerBlock,parentBlockName,containerBlockName,newBlockName,isAfterLastNodeInContainer;function canSplitBlock(node){return node&&dom.isBlock(node)&&!/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName)&&!/^(fixed|absolute)/i.test(node.style.position)&&dom.getContentEditable(node)!=="true";};function renderBlockOnIE(block){var oldRng;if(tinymce.isIE&&!tinymce.isIE11&&dom.isBlock(block)){oldRng=selection.getRng();block.appendChild(dom.create('span',null,'\u00a0'));selection.select(block);block.lastChild.outerHTML='';selection.setRng(oldRng);}};function trimInlineElementsOnLeftSideOfBlock(block){var node=block,firstChilds=[],i;while(node=node.firstChild){if(dom.isBlock(node)){return;} if(node.nodeType==1&&!nonEmptyElementsMap[node.nodeName.toLowerCase()]){firstChilds.push(node);}} i=firstChilds.length;while(i--){node=firstChilds[i];if(!node.hasChildNodes()||(node.firstChild==node.lastChild&&node.firstChild.nodeValue==='')){dom.remove(node);}else{if(node.nodeName=="A"&&(node.innerText||node.textContent)===' '){dom.remove(node);}}}};function moveToCaretPosition(root){var walker,node,rng,y,viewPort,lastNode=root,tempElm;rng=dom.createRng();if(root.hasChildNodes()){walker=new TreeWalker(root,root);while(node=walker.current()){if(node.nodeType==3){rng.setStart(node,0);rng.setEnd(node,0);break;} if(nonEmptyElementsMap[node.nodeName.toLowerCase()]){rng.setStartBefore(node);rng.setEndBefore(node);break;} @@ -3200,7 +3225,7 @@ if(!node){rng.setStart(lastNode,0);rng.setEnd(lastNode,0);}}else{if(root.nodeNam rng.setStartBefore(root);rng.setEndBefore(root);}else{rng.setStartAfter(root);rng.setEndAfter(root);}}else{rng.setStart(root,0);rng.setEnd(root,0);}} selection.setRng(rng);dom.remove(tempElm);viewPort=dom.getViewPort(editor.getWin());y=dom.getPos(root).y;if(yviewPort.y+viewPort.h){editor.getWin().scrollTo(0,y0:offset=container.nodeValue.length){if(!tinymce.isIE&&!hasRightSideBr()){brElm=dom.create('br');rng.insertNode(brElm);rng.setStartAfter(brElm);rng.setEndAfter(brElm);extraBr=true;}} -brElm=dom.create('br');rng.insertNode(brElm);if(tinymce.isIE&&parentBlockName=='PRE'&&(!documentMode||documentMode<8)){brElm.parentNode.insertBefore(dom.doc.createTextNode('\r'),brElm);} -if(!extraBr){rng.setStartAfter(brElm);rng.setEndAfter(brElm);}else{rng.setStartBefore(brElm);rng.setEndBefore(brElm);} +dom.remove(parentBlock);moveToCaretPosition(newBlock);undoManager.add();};function hasRightSideContent(){var walker=new TreeWalker(container,parentBlock),node;while(node=walker.next()){if(nonEmptyElementsMap[node.nodeName.toLowerCase()]||node.length>0){return true;}}} +function insertBr(){var brElm,extraBr,marker;if(container&&container.nodeType==3&&offset>=container.nodeValue.length){if((!tinymce.isIE||tinymce.isIE11)&&!hasRightSideContent()){brElm=dom.create('br');rng.insertNode(brElm);rng.setStartAfter(brElm);rng.setEndAfter(brElm);extraBr=true;}} +brElm=dom.create('br');rng.insertNode(brElm);if((tinymce.isIE&&!tinymce.isIE11)&&parentBlockName=='PRE'&&(!documentMode||documentMode<8)){brElm.parentNode.insertBefore(dom.doc.createTextNode('\r'),brElm);} +marker=dom.create('span',{},' ');brElm.parentNode.insertBefore(marker,brElm);selection.scrollIntoView(marker);dom.remove(marker);if(!extraBr){rng.setStartAfter(brElm);rng.setEndAfter(brElm);}else{rng.setStartBefore(brElm);rng.setEndBefore(brElm);} selection.setRng(rng);undoManager.add();};function trimLeadingLineBreaks(node){do{if(node.nodeType===3){node.nodeValue=node.nodeValue.replace(/^[\r\n]+/,'');} node=node.firstChild;}while(node);};function getEditableRoot(node){var root=dom.getRoot(),parent,editableRoot;parent=node;while(parent!==root&&dom.getContentEditable(parent)!=="false"){if(dom.getContentEditable(parent)==="true"){editableRoot=parent;} parent=parent.parentNode;} -return parent!==root?editableRoot:root;};function addBrToBlockIfNeeded(block){var lastChild;if(!tinymce.isIE){block.normalize();lastChild=block.lastChild;if(!lastChild||(/^(left|right)$/gi.test(dom.getStyle(lastChild,'float',true)))){dom.add(block,'br');}}};if(!rng.collapsed){editor.execCommand('Delete');return;} +return parent!==root?editableRoot:root;};function addBrToBlockIfNeeded(block){var lastChild;if(!tinymce.isIE||tinymce.isIE11){block.normalize();lastChild=block.lastChild;if(!lastChild||(/^(left|right)$/gi.test(dom.getStyle(lastChild,'float',true)))){dom.add(block,'br');}}};if(!rng.collapsed){editor.execCommand('Delete');return;} if(evt.isDefaultPrevented()){return;} container=rng.startContainer;offset=rng.startOffset;newBlockName=(settings.force_p_newlines?'p':'')||settings.forced_root_block;newBlockName=newBlockName?newBlockName.toUpperCase():'';documentMode=dom.doc.documentMode;shiftKey=evt.shiftKey;if(container.nodeType==1&&container.hasChildNodes()){isAfterLastNodeInContainer=offset>container.childNodes.length-1;container=container.childNodes[Math.min(offset,container.childNodes.length-1)]||container;if(isAfterLastNodeInContainer&&container.nodeType==3){offset=container.nodeValue.length;}else{offset=0;}} editableRoot=getEditableRoot(container);if(!editableRoot){return;} diff --git a/workflow/engine/templates/departments/departmentList.js b/workflow/engine/templates/departments/departmentList.js index a1e21b5ea..38323fceb 100644 --- a/workflow/engine/templates/departments/departmentList.js +++ b/workflow/engine/templates/departments/departmentList.js @@ -255,6 +255,89 @@ Ext.onReady(function() { root: rootNode }); + /** + * Executes the Ajax request + * @param {String} url, Ajax service name + * @param {Object} data, contains the action and the data to be updated. + * @param {Function} succesCallback + * @param {Function} failureCallback + */ + executeRequest = function (url, data, succesCallback, failureCallback) { + Ext.Ajax.request({ + url: url, + params: data, + success: function(r,o) { + if (succesCallback) { + succesCallback(r, o); + } + }, + failure: function (r, o) { + if (failureCallback) { + failureCallback(r, o); + } + } + }); + }; + + /** + * beforenodedrop event Handler . + * Prepares the data to be sent by Ajax update service. + * Calls to updateDepartmentHandler method. + * @param {Object} dropEvent beforenodedrop event object. + */ + beforenodedropHandler = function (dropEvent) { + var data = { + uid: dropEvent.dropNode.attributes.DEP_UID, + parent: dropEvent.target.attributes.DEP_UID, + name: dropEvent.dropNode.attributes.DEP_TITLE, + status: dropEvent.dropNode.attributes.DEP_STATUS, + manager: dropEvent.dropNode.attributes.DEP_MANAGER, + action: 'updateDepartment' + } + updateDepartmentHandler(data, dropEvent); + }; + + /** + * Updates the department data. + * Verify that the name of a subdepartment is not repeated + * @param {Object} data the data to be updated. + * @param {Object} dropEvent beforenodedrop event object. + */ + updateDepartmentHandler = function (data, dropEvent) { + data['action'] = 'checkDepartmentName'; + executeRequest( + 'departments_Ajax', + data, + function (r, o) { + var res_ok = eval(r.responseText); + if (res_ok) { + data['action'] = 'updateDepartment'; + executeRequest( + 'departments_Ajax', + data, + function (r, o) { + dropEvent.dropNode.attributes.DEP_PARENT = dropEvent.target.attributes.DEP_UID; + PMExt.notify(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_SUCCESS_UPDATE')); + }, + function (r, o) { + treePanel.getRootNode().reload(); + DoNothing(); + } + ); + } else { + PMExt.error(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_EXISTS')); + treePanel.getRootNode().reload(); + } + }, + function (r, o) { + DoNothing(); + } + ); + } + + // Activate the event beforenodedrop (TreeGrid extjs event) + treePanel.on('beforenodedrop', beforenodedropHandler); + treePanel.on('contextmenu', treeContextHandler); viewport = new Ext.Viewport({