Commit 38d7c6ec authored by Romain Courteaud's avatar Romain Courteaud

Drop erp5_xinha_editor

It is no longer maintained.
Switch to ck_editor instead.
parent 123ae439
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_xinha_editor</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>xinha</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
var xinha_plugins = ["UnsavedChanges"];
var xinha_editors =
[
'my_text_content',
];
function xinha_init()
{
if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
var xinha_config = new Xinha.Config();
xinha_config.pageStyleSheets = ["xinha_custom.css"];
xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
Xinha.startEditors(xinha_editors);
}
Xinha.addOnloadHandler(xinha_init);
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>LoadEditor.js</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
.htmlarea{background:#fff;}.htmlarea td{margin:0;padding:0;}.htmlarea .toolbarRow{width:1px;}.htmlarea .toolbar{cursor:default;background:ButtonFace;padding:3px;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.htmlarea .toolbar table{margin:0;font-family:Tahoma,Verdana,sans-serif;font-size:11px;}.htmlarea .toolbar img{border:none;vertical-align:top;}.htmlarea .toolbar .label{padding:0 3px;}.htmlarea .toolbar .button{background:ButtonFace;color:ButtonText;border:1px solid ButtonFace;padding:1px;margin:0;width:18px;height:18px;}.htmlarea .toolbar a.button:hover{border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.htmlarea .toolbar a.buttonDisabled:hover{border-color:ButtonFace;}.htmlarea .toolbar .buttonActive,.htmlarea .toolbar .buttonPressed{padding:2px 0 0 2px;border:1px solid;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.htmlarea .toolbar .buttonPressed{background:ButtonHighlight;}.htmlarea .toolbar .indicator{padding:0 3px;overflow:hidden;width:20px;text-align:center;cursor:default;border:1px solid ButtonShadow;}.htmlarea .toolbar .buttonDisabled img{filter:gray() alpha(opacity = 25);-moz-opacity:.25;opacity:.25;}.htmlarea .toolbar .separator{margin:0 3px;border-left:1px solid ButtonShadow;border-right:1px solid ButtonHighlight;width:0;height:18px;padding:0;}.htmlarea .toolbar .space{width:5px;}.htmlarea .toolbar select,.htmlarea .toolbar option{font:11px Tahoma,Verdana,sans-serif;}.htmlarea .toolbar select,.htmlarea .toolbar select:hover,.htmlarea .toolbar select:active{position:relative;top:-2px;margin-bottom:-2px;color:ButtonText;}.htmlarea iframe.xinha_iframe,.htmlarea textarea.xinha_textarea{border:none;}.htmlarea .statusBar{border:1px solid;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;padding:2px 4px;background-color:ButtonFace;color:ButtonText;font:11px Tahoma,Verdana,sans-serif;height:16px;overflow:hidden;}.htmlarea .statusBar .statusBarTree a{padding:2px 5px;color:#00f;}.htmlarea .statusBar .statusBarTree a:visited{color:#00f;}.htmlarea .statusBar .statusBarTree a:hover{background-color:Highlight;color:HighlightText;padding:1px 4px;border:1px solid HighlightText;}.statusBarWidgetContainer{background-color:ButtonFace;}.dialog{color:ButtonText;background:ButtonFace;border:1px outset;border-color:WindowFrame;}div.dialog{padding-bottom:10px;border-radius:8px 8px 0 0;-moz-border-radius:8px 8px 0 0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;box-shadow:9px 9px 10px #444;-moz-box-shadow:9px 9px 10px #444;-webkit-box-shadow:9px 9px 10px #444;}div.dialog.modeless{box-shadow:4px 4px 5px #888;-moz-box-shadow:4px 4px 5px #888;-webkit-box-shadow:4px 4px 5px #888;}div.dialog.chrome{-webkit-box-shadow:none!IMPORTANT;}.panels div.dialog.panel{border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;}.xinha_dialog_background{filter:alpha(opacity=0);-moz-opacity:0;opacity:0;border:none;}.xinha_dialog_background_modal_greyout{background-color:#666;filter:alpha(opacity=70)!IMPORTANT;-moz-opacity:.7;opacity:.7;}.xinha_dialog_background_modal{filter:alpha(opacity=0)!IMPORTANT;-moz-opacity:0;opacity:0;border:none;}body.xinha_dialog_background_modal_greyout{filter:alpha(opacity=100)!IMPORTANT;}body.xinha_dialog_background_modal{filter:alpha(opacity=0);}.dialog .content{padding:2px;}.dialog,.dialog button,.dialog input,.dialog select,.dialog textarea,.dialog table{font:11px Tahoma,Verdana,sans-serif;}.dialog table{border-collapse:collapse;}.dialog .title,.dialog h1{background:ActiveCaption;color:CaptionText;border-bottom:1px solid #000;padding:1px 0 2px 5px;font-size:12px;font-weight:bold;cursor:default;letter-spacing:.01em;}.dialog h1{padding-left:22px;margin:0;border-radius:8px 8px 0 0;-moz-border-radius:8px 8px 0 0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;}.panels .dialog.panel h1{-moz-border-radius:0;-webkit-border-radius:0;}.dialog .title .button{float:right;border:1px solid #66a;padding:0 1px 0 2px;margin-right:1px;color:#fff;text-align:center;}.dialog .title .button-hilite{border-color:#88f;background:#44c;}.dialog button{width:5.5em;padding:0;}.dialog .closeButton{padding:0;cursor:default;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;height:11px;width:11px;vertical-align:top;position:absolute;top:3px;right:2px;background-color:ButtonFace;color:ButtonText;font-size:13px;font-family:Tahoma,Verdana,sans-serif;text-align:center;letter-spacing:0;overflow:hidden;}.dialog .buttonColor{width:1em;padding:1px;cursor:default;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.dialog .buttonColor .chooser,.dialog .buttonColor .nocolor{height:.6em;border:1px solid;padding:0 1em;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonClick{border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonColor-hilite{border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonColor .nocolor{padding:0;}.dialog .buttonColor .nocolor-hilite{background-color:#fff;color:#f00;}.dialog .label{text-align:right;width:6em;}.dialog .value input{width:100%;}.dialog legend{font-weight:bold;}.dialog fieldset table{margin:2px 0;}.dialog .buttons{padding:1em;text-align:center;}.dialog .resizeHandle{-moz-appearance:resizer;width:12px;height:12px;border-bottom:2px solid #000;border-right:2px solid #000;cursor:se-resize;}.popupwin{padding:0;margin:0;}.popupwin .title{background:#fff;color:#000;font-weight:bold;font-size:120%;padding:3px 10px;margin-bottom:10px;border-bottom:1px solid black;letter-spacing:2px;}form{margin:0;border:none;}.htmlarea .panels_top{border-bottom:1px solid;border-color:ButtonShadow;}.htmlarea .panels_right{border-left:1px solid;border-color:ButtonShadow;}.htmlarea .panels_left{border-right:1px solid;border-color:ButtonShadow;}.htmlarea .panels_bottom{border-top:1px solid;border-color:ButtonShadow;}.htmlarea .panel h1{clear:left;font-size:.9em;}.htmlarea .panel{overflow:hidden;background-color:white;padding-bottom:0!IMPORTANT;border:none!IMPORTANT;}.htmlarea .panels_left .panel{border-right:none;border-left:none;}.htmlarea .panels_left h1{border-right:none;}.htmlarea .panels_right .panel{border-right:none;border-left:none;}.htmlarea .panels_left h1{border-left:none;}.htmlarea{border:1px solid black;}.loading{font-family:sans-serif;position:absolute;z-index:998;text-align:center;width:212px;padding:55px 0 5px 0;border:2px solid #ccc;background:url(images/xinha_logo.gif) no-repeat #fff center 5px;}.loading_main{font-size:11px;color:#000;}.loading_sub{font-size:9px;color:#666;text-align:center;}.dialog a img{border:0 none transparent;}.dialog fieldset.collapsed{border:0 none transparent;}.dialog fieldset.collapsed form{display:none;}.hidden{display:none;}.placesmanager{width:95%;overflow:auto;}.filemanager{width:95%;height:200px;overflow:auto;background-color:#fff;}.filemanager div.file{min-width:80px;height:100px;position:relative;float:left;border:1px outset #666;margin:4px;}.placesmanager div.file{min-width:60px;height:70px;position:relative;float:left;border:1px outset #666;margin:4px;}.filemanager div.file:hover,.placesmanager div.file:hover{border:1px solid #333;background:#fffff3;}.filemanager div.selected,.filemanager div.selected:hover,.placesmanager div.selected,.placesmanager div.selected:hover{background:#ffffda;border:1px solid #000;}.filemanager .filename{margin:.5em;color:#222;}.filemanager div.selected .filename{color:#000;}.filemanager img.thumb{width:50px;height:50px;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;border:1px solid black;}.filemanager img.icon{width:32px;height:32px;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;}.filemanager img.action{width:15px;height:15px;position:absolute;}.filemanager img.delete{bottom:3px;left:20px;}.filemanager img.copy{bottom:3px;left:3px;}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Xinha.css</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
/* The URL of the most recent uncompressed version of this file is http://svn.xinha.org/trunk/XinhaCore.js */
/*--------------------------------------------------------------------------
-- Xinha (is not htmlArea) - http://xinha.org
--
-- Use of Xinha is granted by the terms of the htmlArea License (based on
-- BSD license) please read license.txt in this package for details.
--
-- Copyright (c) 2005-2010 Xinha Developer Team and contributors
--
-- Xinha was originally based on work by Mihai Bazon which is:
-- Copyright (c) 2003-2004 dynarch.com.
-- Copyright (c) 2002-2003 interactivetools.com, inc.
-- This copyright notice MUST stay intact for use.
-------------------------------------------------------------------------*/
Xinha.version={Release:"Trunk",Head:"$HeadURL: http://svn.xinha.org/trunk/XinhaCore.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),Date:"$LastChangedDate: 2010-05-12 09:40:06 +1200 (Wed, 12 May 2010) $".replace(/^[^:]*:\s*([0-9\-]*) ([0-9:]*) ([+0-9]*) \((.*)\)\s*\$/,"$4 $2 $3"),Revision:"$LastChangedRevision: 1263 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),RevisionBy:"$LastChangedBy: gogo $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1")};Xinha._resolveRelativeUrl=function(d,c){if(c.match(/^([^:]+\:)?\/\//)){return c}else{var a=d.split("/");if(a[a.length-1]===""){a.pop()}var e=c.split("/");if(e[0]=="."){e.shift()}while(e[0]==".."){a.pop();e.shift()}return a.join("/")+"/"+e.join("/")}};if(typeof _editor_url=="string"){_editor_url=_editor_url.replace(/\x2f*$/,"/");if(!_editor_url.match(/^([^:]+\:)?\//)){(function(){var a=window.location.toString().replace(/\?.*$/,"").split("/");a.pop();_editor_url=Xinha._resolveRelativeUrl(a.join("/"),_editor_url)})()}}else{alert("WARNING: _editor_url is not set! You should set this variable to the editor files path; it should preferably be an absolute path, like in '/xinha/', but it can be relative if you prefer. Further we will try to load the editor files correctly but we'll probably fail.");_editor_url=""}if(typeof _editor_lang=="string"){_editor_lang=_editor_lang.toLowerCase()}else{_editor_lang="en"}if(typeof _editor_skin!=="string"){_editor_skin=""}if(typeof _editor_icons!=="string"){_editor_icons=""}var __xinhas=[];Xinha.agt=navigator.userAgent.toLowerCase();Xinha.is_ie=((Xinha.agt.indexOf("msie")!=-1)&&(Xinha.agt.indexOf("opera")==-1));Xinha.ie_version=parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5));Xinha.is_opera=(Xinha.agt.indexOf("opera")!=-1);if(Xinha.is_opera&&Xinha.agt.match(/opera[\/ ]([0-9.]+)/)){Xinha.opera_version=parseFloat(RegExp.$1)}else{Xinha.opera_version=0}Xinha.is_khtml=(Xinha.agt.indexOf("khtml")!=-1);Xinha.is_webkit=(Xinha.agt.indexOf("applewebkit")!=-1);Xinha.webkit_version=parseInt(navigator.appVersion.replace(/.*?AppleWebKit\/([\d]).*?/,"$1"),10);Xinha.is_safari=(Xinha.agt.indexOf("safari")!=-1);Xinha.is_chrome=(Xinha.agt.indexOf("chrome")!=-1);Xinha.is_mac=(Xinha.agt.indexOf("mac")!=-1);Xinha.is_mac_ie=(Xinha.is_ie&&Xinha.is_mac);Xinha.is_win_ie=(Xinha.is_ie&&!Xinha.is_mac);Xinha.is_gecko=(navigator.product=="Gecko")||Xinha.is_opera;Xinha.is_real_gecko=(navigator.product=="Gecko"&&!Xinha.is_webkit);Xinha.is_ff2=Xinha.is_real_gecko&&parseInt(navigator.productSub.substr(0,10),10)<20071210;Xinha.isRunLocally=document.URL.toLowerCase().search(/^file:/)!=-1;Xinha.is_designMode=(typeof document.designMode!="undefined"&&!Xinha.is_ie);Xinha.checkSupportedBrowser=function(){return Xinha.is_real_gecko||(Xinha.is_opera&&Xinha.opera_version>=9.2)||Xinha.ie_version>=5.5||Xinha.webkit_version>=522};Xinha.isSupportedBrowser=Xinha.checkSupportedBrowser();if(Xinha.isRunLocally&&Xinha.isSupportedBrowser){alert('Xinha *must* be installed on a web server. Locally opened files (those that use the "file://" protocol) cannot properly function. Xinha will try to initialize but may not be correctly loaded.')}function Xinha(d,c){if(!Xinha.isSupportedBrowser){return}if(!d){throw new Error("Tried to create Xinha without textarea specified.")}if(typeof c=="undefined"){this.config=new Xinha.Config()}else{this.config=c}if(typeof d!="object"){d=Xinha.getElementById("textarea",d)}this._textArea=d;this._textArea.spellcheck=false;Xinha.freeLater(this,"_textArea");this._initial_ta_size={w:d.style.width?d.style.width:(d.offsetWidth?(d.offsetWidth+"px"):(d.cols+"em")),h:d.style.height?d.style.height:(d.offsetHeight?(d.offsetHeight+"px"):(d.rows+"em"))};if(document.getElementById("loading_"+d.id)||this.config.showLoading){if(!document.getElementById("loading_"+d.id)){Xinha.createLoadingMessage(d)}this.setLoadingMessage(Xinha._lc("Constructing object"))}this._editMode="wysiwyg";this.plugins={};this._timerToolbar=null;this._timerUndo=null;this._undoQueue=[this.config.undoSteps];this._undoPos=-1;this._customUndo=true;this._mdoc=document;this.doctype="";this.__htmlarea_id_num=__xinhas.length;__xinhas[this.__htmlarea_id_num]=this;this._notifyListeners={};var b={right:{on:true,container:document.createElement("td"),panels:[]},left:{on:true,container:document.createElement("td"),panels:[]},top:{on:true,container:document.createElement("td"),panels:[]},bottom:{on:true,container:document.createElement("td"),panels:[]}};for(var a in b){if(!b[a].container){continue}b[a].div=b[a].container;b[a].container.className="panels panels_"+a;Xinha.freeLater(b[a],"container");Xinha.freeLater(b[a],"div")}this._panels=b;this._statusBar=null;this._statusBarTree=null;this._statusBarTextMode=null;this._statusBarItems=[];this._framework={};this._htmlArea=null;this._iframe=null;this._doc=null;this._toolBar=this._toolbar=null;this._toolbarObjects={};this.plugins.Events={name:"Events",developer:"The Xinha Core Developer Team",instance:c.Events}}Xinha.onload=function(){};Xinha.init=function(){Xinha.onload()};Xinha.RE_tagName=/(<\/|<)\s*([^ \t\n>]+)/ig;Xinha.RE_doctype=/(<!doctype((.|\n)*?)>)\n?/i;Xinha.RE_head=/<head>((.|\n)*?)<\/head>/i;Xinha.RE_body=/<body[^>]*>((.|\n|\r|\t)*?)<\/body>/i;Xinha.RE_Specials=/([\/\^$*+?.()|{}\[\]])/g;Xinha.escapeStringForRegExp=function(a){return a.replace(Xinha.RE_Specials,"\\$1")};Xinha.RE_email=/^[_a-z\d\-\.]{3,}@[_a-z\d\-]{2,}(\.[_a-z\d\-]{2,})+$/i;Xinha.RE_url=/(https?:\/\/)?(([a-z0-9_]+:[a-z0-9_]+@)?[a-z0-9_\-]{2,}(\.[a-z0-9_\-]{2,}){2,}(:[0-9]+)?(\/\S+)*)/i;Xinha.Config=function(){this.version=Xinha.version.Revision;this.width="auto";this.height="auto";this.sizeIncludesBars=true;this.sizeIncludesPanels=true;this.panel_dimensions={left:"200px",right:"200px",top:"100px",bottom:"100px"};this.iframeWidth=null;this.statusBar=true;this.htmlareaPaste=false;this.mozParaHandler="best";this.getHtmlMethod="DOMwalk";this.undoSteps=20;this.undoTimeout=500;this.changeJustifyWithDirection=false;this.fullPage=false;this.pageStyle="";this.pageStyleSheets=[];this.baseHref=null;this.expandRelativeUrl=true;this.stripBaseHref=true;this.stripSelfNamedAnchors=true;this.only7BitPrintablesInURLs=true;this.sevenBitClean=false;this.specialReplacements={};this.inwardHtml=function(c){return c};this.outwardHtml=function(c){return c};this.autofocus=false;this.killWordOnPaste=true;this.makeLinkShowsTarget=true;this.charSet=(typeof document.characterSet!="undefined")?document.characterSet:document.charset;this.browserQuirksMode=null;this.imgURL="images/";this.popupURL="popups/";this.htmlRemoveTags=null;this.flowToolbars=true;this.toolbarAlign="left";this.showFontStylesInToolbar=false;this.showLoading=false;this.stripScripts=true;this.convertUrlsToLinks=true;this.colorPickerCellSize="6px";this.colorPickerGranularity=18;this.colorPickerPosition="bottom,right";this.colorPickerWebSafe=false;this.colorPickerSaveColors=20;this.fullScreen=false;this.fullScreenMargins=[0,0,0,0];this.fullScreenSizeDownMethod="initSize";this.toolbar=[["popupeditor"],["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],["separator","forecolor","hilitecolor","textindicator"],["separator","subscript","superscript"],["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],["separator","insertorderedlist","insertunorderedlist","outdent","indent"],["separator","inserthorizontalrule","createlink","insertimage","inserttable"],["linebreak","separator","undo","redo","selectall","print"],(Xinha.is_gecko?[]:["cut","copy","paste","overwrite","saveas"]),["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright","righttoleft"],["separator","htmlmode","showhelp","about"]];this.fontname={"&#8212; font &#8212;":"",Arial:"arial,helvetica,sans-serif","Courier New":"courier new,courier,monospace",Georgia:"georgia,times new roman,times,serif",Tahoma:"tahoma,arial,helvetica,sans-serif","Times New Roman":"times new roman,times,serif",Verdana:"verdana,arial,helvetica,sans-serif",impact:"impact",WingDings:"wingdings"};this.fontsize={"&#8212; size &#8212;":"","1 (8 pt)":"1","2 (10 pt)":"2","3 (12 pt)":"3","4 (14 pt)":"4","5 (18 pt)":"5","6 (24 pt)":"6","7 (36 pt)":"7"};this.formatblock={"&#8212; format &#8212;":"","Heading 1":"h1","Heading 2":"h2","Heading 3":"h3","Heading 4":"h4","Heading 5":"h5","Heading 6":"h6",Normal:"p",Address:"address",Formatted:"pre"};this.dialogOptions={centered:true,greyout:true,closeOnEscape:true};this.Events={};this.customSelects={};this.debug=false;this.URIs={blank:_editor_url+"popups/blank.html",link:_editor_url+"modules/CreateLink/link.html",insert_image:_editor_url+"modules/InsertImage/insert_image.html",insert_table:_editor_url+"modules/InsertTable/insert_table.html",select_color:_editor_url+"popups/select_color.html",help:_editor_url+"popups/editor_help.html"};this.btnList={bold:["Bold",Xinha._lc({key:"button_bold",string:["ed_buttons_main.png",3,2]},"Xinha"),false,function(c){c.execCommand("bold")}],italic:["Italic",Xinha._lc({key:"button_italic",string:["ed_buttons_main.png",2,2]},"Xinha"),false,function(c){c.execCommand("italic")}],underline:["Underline",Xinha._lc({key:"button_underline",string:["ed_buttons_main.png",2,0]},"Xinha"),false,function(c){c.execCommand("underline")}],strikethrough:["Strikethrough",Xinha._lc({key:"button_strikethrough",string:["ed_buttons_main.png",3,0]},"Xinha"),false,function(c){c.execCommand("strikethrough")}],subscript:["Subscript",Xinha._lc({key:"button_subscript",string:["ed_buttons_main.png",3,1]},"Xinha"),false,function(c){c.execCommand("subscript")}],superscript:["Superscript",Xinha._lc({key:"button_superscript",string:["ed_buttons_main.png",2,1]},"Xinha"),false,function(c){c.execCommand("superscript")}],justifyleft:["Justify Left",["ed_buttons_main.png",0,0],false,function(c){c.execCommand("justifyleft")}],justifycenter:["Justify Center",["ed_buttons_main.png",1,1],false,function(c){c.execCommand("justifycenter")}],justifyright:["Justify Right",["ed_buttons_main.png",1,0],false,function(c){c.execCommand("justifyright")}],justifyfull:["Justify Full",["ed_buttons_main.png",0,1],false,function(c){c.execCommand("justifyfull")}],orderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(c){c.execCommand("insertorderedlist")}],unorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(c){c.execCommand("insertunorderedlist")}],insertorderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(c){c.execCommand("insertorderedlist")}],insertunorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(c){c.execCommand("insertunorderedlist")}],outdent:["Decrease Indent",["ed_buttons_main.png",1,2],false,function(c){c.execCommand("outdent")}],indent:["Increase Indent",["ed_buttons_main.png",0,2],false,function(c){c.execCommand("indent")}],forecolor:["Font Color",["ed_buttons_main.png",3,3],false,function(c){c.execCommand("forecolor")}],hilitecolor:["Background Color",["ed_buttons_main.png",2,3],false,function(c){c.execCommand("hilitecolor")}],undo:["Undoes your last action",["ed_buttons_main.png",4,2],false,function(c){c.execCommand("undo")}],redo:["Redoes your last action",["ed_buttons_main.png",5,2],false,function(c){c.execCommand("redo")}],cut:["Cut selection",["ed_buttons_main.png",5,0],false,function(d,c){d.execCommand(c)}],copy:["Copy selection",["ed_buttons_main.png",4,0],false,function(d,c){d.execCommand(c)}],paste:["Paste from clipboard",["ed_buttons_main.png",4,1],false,function(d,c){d.execCommand(c)}],selectall:["Select all",["ed_buttons_main.png",3,5],false,function(c){c.execCommand("selectall")}],inserthorizontalrule:["Horizontal Rule",["ed_buttons_main.png",6,0],false,function(c){c.execCommand("inserthorizontalrule")}],createlink:["Insert Web Link",["ed_buttons_main.png",6,1],false,function(c){c._createLink()}],insertimage:["Insert/Modify Image",["ed_buttons_main.png",6,3],false,function(c){c.execCommand("insertimage")}],inserttable:["Insert Table",["ed_buttons_main.png",6,2],false,function(c){c.execCommand("inserttable")}],htmlmode:["Toggle HTML Source",["ed_buttons_main.png",7,0],true,function(c){c.execCommand("htmlmode")}],toggleborders:["Toggle Borders",["ed_buttons_main.png",7,2],false,function(c){c._toggleBorders()}],print:["Print document",["ed_buttons_main.png",8,1],false,function(c){if(Xinha.is_gecko){c._iframe.contentWindow.print()}else{c.focusEditor();print()}}],saveas:["Save as",["ed_buttons_main.png",9,1],false,function(c){c.execCommand("saveas",false,"noname.htm")}],about:["About this editor",["ed_buttons_main.png",8,2],true,function(c){c.getPluginInstance("AboutBox").show()}],showhelp:["Help using editor",["ed_buttons_main.png",9,2],true,function(c){c.execCommand("showhelp")}],splitblock:["Split Block","ed_splitblock.gif",false,function(c){c._splitBlock()}],lefttoright:["Direction left to right",["ed_buttons_main.png",0,2],false,function(c){c.execCommand("lefttoright")}],righttoleft:["Direction right to left",["ed_buttons_main.png",1,2],false,function(c){c.execCommand("righttoleft")}],overwrite:["Insert/Overwrite","ed_overwrite.gif",false,function(c){c.execCommand("overwrite")}],wordclean:["MS Word Cleaner",["ed_buttons_main.png",5,3],false,function(c){c._wordClean()}],clearfonts:["Clear Inline Font Specifications",["ed_buttons_main.png",5,4],true,function(c){c._clearFonts()}],removeformat:["Remove formatting",["ed_buttons_main.png",4,4],false,function(c){c.execCommand("removeformat")}],killword:["Clear MSOffice tags",["ed_buttons_main.png",4,3],false,function(c){c.execCommand("killword")}]};this.dblclickList={a:[function(c,d){c._createLink(d)}],img:[function(c,d){c._insertImage(d)}]};this.iconList={dialogCaption:_editor_url+"images/xinha-small-icon.gif",wysiwygmode:[_editor_url+"images/ed_buttons_main.png",7,1]};for(var b in this.btnList){var a=this.btnList[b];if(typeof a!="object"){continue}if(typeof a[1]!="string"){a[1][0]=_editor_url+this.imgURL+a[1][0]}else{a[1]=_editor_url+this.imgURL+a[1]}a[0]=Xinha._lc(a[0])}};Xinha.Config.prototype.registerIcon=function(b,a){this.iconList[b]=a};Xinha.Config.prototype.registerButton=function(f,b,e,d,a,c){if(typeof f=="string"){this.btnList[f]=[b,e,d,a,c]}else{if(typeof f=="object"){this.btnList[f.id]=[f.tooltip,f.image,f.textMode,f.action,f.context]}else{alert("ERROR [Xinha.Config::registerButton]:\ninvalid arguments");return false}}};Xinha.prototype.registerPanel=function(c,b){if(!c){c="right"}this.setLoadingMessage("Register "+c+" panel ");var a=this.addPanel(c);if(b){b.drawPanelIn(a)}};Xinha.Config.prototype.registerDropdown=function(a){this.customSelects[a.id]=a};Xinha.Config.prototype.hideSomeButtons=function(f){var c=this.toolbar;for(var e=c.length;--e>=0;){var b=c[e];for(var d=b.length;--d>=0;){if(f.indexOf(" "+b[d]+" ")>=0){var a=1;if(/separator|space/.test(b[d+1])){a=2}b.splice(d,a)}}}};Xinha.Config.prototype.addToolbarElement=function(d,k,m){var s=this.toolbar;var q,l,h,f,c;var p=false;var b=false;var n=0;var g=0;var e=0;var r=false;var t=false;if((d&&typeof d=="object")&&(d.constructor==Array)){p=true}if((k&&typeof k=="object")&&(k.constructor==Array)){b=true;n=k.length}if(p){for(l=0;l<d.length;++l){if((d[l]!="separator")&&(d[l].indexOf("T[")!==0)){c=d[l]}}}else{c=d}for(l=0;l<s.length;++l){q=s[l];for(h=0;h<q.length;++h){if(q[h]==c){return}}}for(l=0;!t&&l<s.length;++l){q=s[l];for(h=0;!t&&h<q.length;++h){if(b){for(f=0;f<n;++f){if(q[h]==k[f]){if(f===0){t=true;h--;break}else{e=l;g=h;n=f}}}}else{if(q[h]==k){t=true;break}}}}if(!t&&b){if(k.length!=n){h=g;q=s[e];t=true}}if(t){if(m===0){if(p){q[h]=d[d.length-1];for(l=d.length-1;--l>=0;){q.splice(h,0,d[l])}}else{q[h]=d}}else{if(m<0){h=h+m+1}else{if(m>0){h=h+m}}if(p){for(l=d.length;--l>=0;){q.splice(h,0,d[l])}}else{q.splice(h,0,d)}}}else{s[0].splice(0,0,"separator");if(p){for(l=d.length;--l>=0;){s[0].splice(0,0,d[l])}}else{s[0].splice(0,0,d)}}};Xinha.Config.prototype.removeToolbarElement=Xinha.Config.prototype.hideSomeButtons;Xinha.replaceAll=function(b){var c=document.getElementsByTagName("textarea");for(var a=c.length;a>0;new Xinha(c[--a],b).generate()){}};Xinha.replace=function(c,b){var a=Xinha.getElementById("textarea",c);return a?new Xinha(a,b).generate():null};Xinha.prototype._createToolbar=function(){this.setLoadingMessage(Xinha._lc("Create Toolbar"));var b=this;var a=document.createElement("div");this._toolBar=this._toolbar=a;a.className="toolbar";a.align=this.config.toolbarAlign;Xinha.freeLater(this,"_toolBar");Xinha.freeLater(this,"_toolbar");var c=null;var e={};this._toolbarObjects=e;this._createToolbar1(b,a,e);function d(g){if(g.tagName){g.unselectable="on"}if(g.childNodes){for(var f=0;f<g.childNodes.length;f++){if(g.tagName){d(g.childNodes(f))}}}}if(Xinha.is_ie){d(a)}this._htmlArea.appendChild(a);return a};Xinha.prototype._setConfig=function(a){this.config=a};Xinha.prototype._rebuildToolbar=function(){this._createToolbar1(this,this._toolbar,this._toolbarObjects);if(Xinha._currentlyActiveEditor){if(Xinha._currentlyActiveEditor==this){this.activateEditor()}}else{this.disableToolbar()}};Xinha._createToolbarBreakingElement=function(){var a=document.createElement("div");a.style.height="1px";a.style.width="1px";a.style.lineHeight="1px";a.style.fontSize="1px";a.style.clear="both";return a};Xinha.prototype._createToolbar1=function(d,s,p){while(s.lastChild){s.removeChild(s.lastChild)}var l;if(d.config.flowToolbars){s.appendChild(Xinha._createToolbarBreakingElement())}function n(){if(typeof l!="undefined"&&l.childNodes.length===0){return}var i=document.createElement("table");i.border="0px";i.cellSpacing="0px";i.cellPadding="0px";if(d.config.flowToolbars){if(Xinha.is_ie){i.style.styleFloat="left"}else{i.style.cssFloat="left"}}s.appendChild(i);var j=document.createElement("tbody");i.appendChild(j);l=document.createElement("tr");j.appendChild(l);i.className="toolbarRow"}n();function m(u,i){var j=this[u];var t=this.element;if(j!=i){switch(u){case"enabled":if(i){Xinha._removeClass(t,"buttonDisabled");t.disabled=false}else{Xinha._addClass(t,"buttonDisabled");t.disabled=true}break;case"active":if(i){Xinha._addClass(t,"buttonPressed")}else{Xinha._removeClass(t,"buttonPressed")}break}this[u]=i}}function c(x){var A=null;var t=null;var u=null;var C=d.config.customSelects;var j=null;var z="";switch(x){case"fontsize":case"fontname":case"formatblock":A=d.config[x];u=x;break;default:u=x;var B=C[u];if(typeof B!="undefined"){A=B.options;j=B.context;if(typeof B.tooltip!="undefined"){z=B.tooltip}}else{alert("ERROR [createSelect]:\nCan't find the requested dropdown definition")}break}if(A){t=document.createElement("select");t.title=z;t.style.width="auto";t.name=x;var w={name:x,element:t,enabled:true,text:false,cmd:u,state:m,context:j};Xinha.freeLater(w);p[x]=w;for(var v in A){if(typeof A[v]!="string"){continue}var y=document.createElement("option");y.innerHTML=Xinha._lc(v);y.value=A[v];if(x=="fontname"&&d.config.showFontStylesInToolbar){y.style.fontFamily=A[v]}t.appendChild(y)}Xinha._addEvent(t,"change",function(){d._comboSelected(t,x)})}return t}function q(i){var u,t,w=null;switch(i){case"separator":if(d.config.flowToolbars){n()}u=document.createElement("div");u.className="separator";break;case"space":u=document.createElement("div");u.className="space";break;case"linebreak":n();return false;case"textindicator":u=document.createElement("div");u.appendChild(document.createTextNode("A"));u.className="indicator";u.title=Xinha._lc("Current style");w={name:i,element:u,enabled:true,active:false,text:false,cmd:"textindicator",state:m};Xinha.freeLater(w);p[i]=w;break;default:t=d.config.btnList[i]}if(!u&&t){u=document.createElement("a");u.style.display="block";u.href="javascript:void(0)";u.style.textDecoration="none";u.title=t[0];u.className="button";u.style.direction="ltr";w={name:i,element:u,enabled:true,active:false,text:t[2],cmd:t[3],state:m,context:t[4]||null};Xinha.freeLater(u);Xinha.freeLater(w);p[i]=w;u.ondrag=function(){return false};Xinha._addEvent(u,"mouseout",function(x){if(w.enabled){Xinha._removeClass(u,"buttonActive");if(w.active){Xinha._addClass(u,"buttonPressed")}}});Xinha._addEvent(u,"mousedown",function(x){if(w.enabled){Xinha._addClass(u,"buttonActive");Xinha._removeClass(u,"buttonPressed");Xinha._stopEvent(Xinha.is_ie?window.event:x)}});Xinha._addEvent(u,"click",function(x){x=x||window.event;d.btnClickEvent={clientX:x.clientX,clientY:x.clientY};if(w.enabled){Xinha._removeClass(u,"buttonActive");if(Xinha.is_gecko){d.activateEditor()}w.cmd(d,w.name,w,x);Xinha._stopEvent(x)}});var v=Xinha.makeBtnImg(t[1]);var j=v.firstChild;Xinha.freeLater(v);Xinha.freeLater(j);u.appendChild(v);w.imgel=j;w.swapImage=function(x){if(typeof x!="string"){j.src=x[0];j.style.position="relative";j.style.top=x[2]?("-"+(18*(x[2]+1))+"px"):"-18px";j.style.left=x[1]?("-"+(18*(x[1]+1))+"px"):"-18px"}else{w.imgel.src=x;j.style.top="0px";j.style.left="0px"}}}else{if(!u){u=c(i)}}return u}var k=true;for(var h=0;h<this.config.toolbar.length;++h){if(!k){}else{k=false}if(this.config.toolbar[h]===null){this.config.toolbar[h]=["separator"]}var r=this.config.toolbar[h];for(var g=0;g<r.length;++g){var b=r[g];var a;if(/^([IT])\[(.*?)\]/.test(b)){var f=RegExp.$1=="I";var o=RegExp.$2;if(f){o=Xinha._lc(o)}a=document.createElement("td");l.appendChild(a);a.className="label";a.innerHTML=o}else{if(typeof b!="function"){var e=q(b);if(e){a=document.createElement("td");a.className="toolbarElement";l.appendChild(a);a.appendChild(e)}else{if(e===null){alert("FIXME: Unknown toolbar item: "+b)}}}}}}if(d.config.flowToolbars){s.appendChild(Xinha._createToolbarBreakingElement())}return s};Xinha.makeBtnImg=function(b,d){if(!d){d=document}if(!d._xinhaImgCache){d._xinhaImgCache={};Xinha.freeLater(d._xinhaImgCache)}var c=null;if(Xinha.is_ie&&((!d.compatMode)||(d.compatMode&&d.compatMode=="BackCompat"))){c=d.createElement("span")}else{c=d.createElement("div");c.style.position="relative"}c.style.overflow="hidden";c.style.width="18px";c.style.height="18px";c.className="buttonImageContainer";var a=null;if(typeof b=="string"){if(d._xinhaImgCache[b]){a=d._xinhaImgCache[b].cloneNode()}else{if(Xinha.ie_version<7&&/\.png$/.test(b[0])){a=d.createElement("span");a.style.display="block";a.style.width="18px";a.style.height="18px";a.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'")';a.unselectable="on"}else{a=d.createElement("img");a.src=b}}}else{if(d._xinhaImgCache[b[0]]){a=d._xinhaImgCache[b[0]].cloneNode()}else{if(Xinha.ie_version<7&&/\.png$/.test(b[0])){a=d.createElement("span");a.style.display="block";a.style.width="18px";a.style.height="18px";a.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b[0]+'")';a.unselectable="on"}else{a=d.createElement("img");a.src=b[0]}a.style.position="relative"}a.style.top=b[2]?("-"+(18*(b[2]+1))+"px"):"-18px";a.style.left=b[1]?("-"+(18*(b[1]+1))+"px"):"-18px"}c.appendChild(a);return c};Xinha.prototype._createStatusBar=function(){this.setLoadingMessage(Xinha._lc("Create Statusbar"));var b=document.createElement("div");b.style.position="relative";b.className="statusBar";b.style.width="100%";Xinha.freeLater(this,"_statusBar");var d=document.createElement("div");d.className="statusBarWidgetContainer";d.style.position="absolute";d.style.right="0";d.style.top="0";d.style.padding="3px 3px 3px 10px";b.appendChild(d);var e=document.createElement("span");e.className="statusBarTree";e.innerHTML=Xinha._lc("Path")+": ";this._statusBarTree=e;Xinha.freeLater(this,"_statusBarTree");b.appendChild(e);var c=document.createElement("span");c.innerHTML=Xinha.htmlEncode(Xinha._lc("You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG."));c.style.display="none";this._statusBarTextMode=c;Xinha.freeLater(this,"_statusBarTextMode");b.appendChild(c);b.style.whiteSpace="nowrap";var a=this;this.notifyOn("before_resize",function(f,g){a._statusBar.style.width=null});this.notifyOn("resize",function(f,g){if(Xinha.is_ie&&Xinha.ie_version==6){a._statusBar.style.width="100%"}else{var h=g.width;a._statusBar.style.width=h+"px"}});this.notifyOn("modechange",function(g,l){for(var j in a._statusWidgets){var f=a._statusWidgets[j];for(var h=0;h<f.modes.length;h++){if(f.modes[h]==l.mode){var k=true}}if(typeof k=="undefined"){f.block.style.display="none"}else{f.block.style.display=""}}});if(!this.config.statusBar){b.style.display="none"}return b};Xinha.prototype.registerStatusWidget=function(e,c){c=c||["wysiwyg"];if(!this._statusWidgets){this._statusWidgets={}}var d=document.createElement("div");d.className="statusBarWidget";d=this._statusBar.firstChild.appendChild(d);var b=false;for(var a=0;a<c.length;a++){if(c[a]==this._editMode){b=true}}d.style.display=b==true?"":"none";this._statusWidgets[e]={block:d,modes:c};return d};Xinha.prototype.generate=function(){if(!Xinha.isSupportedBrowser){return}var w;var k=this;var g;var o=false;var c=document.getElementsByTagName("link");if(!document.getElementById("XinhaCoreDesign")){_editor_css=(typeof _editor_css=="string")?_editor_css:"Xinha.css";for(w=0;w<c.length;w++){if((c[w].rel=="stylesheet")&&(c[w].href==_editor_url+_editor_css)){o=true}}if(!o){Xinha.loadStyle(_editor_css,null,"XinhaCoreDesign",true)}}if(_editor_skin!==""&&!document.getElementById("XinhaSkin")){o=false;for(w=0;w<c.length;w++){if((c[w].rel=="stylesheet")&&(c[w].href==_editor_url+"skins/"+_editor_skin+"/skin.css")){o=true}}if(!o){Xinha.loadStyle("skins/"+_editor_skin+"/skin.css",null,"XinhaSkin")}}var h=function(){k.generate()};if(Xinha.is_ie){g=_editor_url+"modules/InternetExplorer/InternetExplorer.js";if(!Xinha.loadPlugins([{plugin:"InternetExplorer",url:g}],h)){return false}if(!this.plugins.InternetExplorer){k._browserSpecificPlugin=k.registerPlugin("InternetExplorer")}}else{if(Xinha.is_webkit){g=_editor_url+"modules/WebKit/WebKit.js";if(!Xinha.loadPlugins([{plugin:"WebKit",url:g}],h)){return false}if(!this.plugins.Webkit){k._browserSpecificPlugin=k.registerPlugin("WebKit")}}else{if(Xinha.is_opera){g=_editor_url+"modules/Opera/Opera.js";if(!Xinha.loadPlugins([{plugin:"Opera",url:g}],h)){return false}if(!this.plugins.Opera){k._browserSpecificPlugin=k.registerPlugin("Opera")}}else{if(Xinha.is_gecko){g=_editor_url+"modules/Gecko/Gecko.js";if(!Xinha.loadPlugins([{plugin:"Gecko",url:g}],h)){return false}if(!this.plugins.Gecko){k._browserSpecificPlugin=k.registerPlugin("Gecko")}}}}}if(typeof Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/dialog.js",h,this)){return false}if(typeof Xinha.Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/XinhaDialog.js",h,this)){return false}g=_editor_url+"modules/FullScreen/full-screen.js";if(!Xinha.loadPlugins([{plugin:"FullScreen",url:g}],h)){return false}g=_editor_url+"modules/ColorPicker/ColorPicker.js";if(!Xinha.loadPlugins([{plugin:"ColorPicker",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("ColorPicker")!="undefined"&&!this.plugins.colorPicker){k.registerPlugin("ColorPicker")}}var a=k.config.toolbar;for(w=a.length;--w>=0;){for(var v=a[w].length;--v>=0;){switch(a[w][v]){case"popupeditor":if(!this.plugins.FullScreen){k.registerPlugin("FullScreen")}break;case"insertimage":g=_editor_url+"modules/InsertImage/insert_image.js";if(typeof Xinha.prototype._insertImage=="undefined"&&!Xinha.loadPlugins([{plugin:"InsertImage",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("InsertImage")!="undefined"&&!this.plugins.InsertImage){k.registerPlugin("InsertImage")}}break;case"createlink":g=_editor_url+"modules/CreateLink/link.js";if(typeof Xinha.getPluginConstructor("Linker")=="undefined"&&!Xinha.loadPlugins([{plugin:"CreateLink",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("CreateLink")!="undefined"&&!this.plugins.CreateLink){k.registerPlugin("CreateLink")}}break;case"inserttable":g=_editor_url+"modules/InsertTable/insert_table.js";if(!Xinha.loadPlugins([{plugin:"InsertTable",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("InsertTable")!="undefined"&&!this.plugins.InsertTable){k.registerPlugin("InsertTable")}}break;case"about":g=_editor_url+"modules/AboutBox/AboutBox.js";if(!Xinha.loadPlugins([{plugin:"AboutBox",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("AboutBox")!="undefined"&&!this.plugins.AboutBox){k.registerPlugin("AboutBox")}}break}}}if(Xinha.is_gecko&&k.config.mozParaHandler!="built-in"){if(!Xinha.loadPlugins([{plugin:"EnterParagraphs",url:_editor_url+"modules/Gecko/paraHandlerBest.js"}],h)){return false}if(!this.plugins.EnterParagraphs){k.registerPlugin("EnterParagraphs")}}var C=this.config.getHtmlMethod=="TransformInnerHTML"?_editor_url+"modules/GetHtml/TransformInnerHTML.js":_editor_url+"modules/GetHtml/DOMwalk.js";if(!Xinha.loadPlugins([{plugin:"GetHtmlImplementation",url:C}],h)){return false}else{if(!this.plugins.GetHtmlImplementation){k.registerPlugin("GetHtmlImplementation")}}function D(i){return i.textContent||i.text}if(_editor_skin){this.skinInfo={};var s=Xinha._geturlcontent(_editor_url+"skins/"+_editor_skin+"/skin.xml",true);if(s){var p=s.getElementsByTagName("meta");for(w=0;w<p.length;w++){this.skinInfo[p[w].getAttribute("name")]=p[w].getAttribute("value")}var t=s.getElementsByTagName("recommendedIcons");if(!_editor_icons&&t.length&&D(t[0])){_editor_icons=D(t[0])}}}if(_editor_icons){var b=Xinha._geturlcontent(_editor_url+"iconsets/"+_editor_icons+"/iconset.xml",true);if(b){var E=b.getElementsByTagName("icon");var A,r,q,f,n,m;for(w=0;w<E.length;w++){A=E[w];r=A.getAttribute("id");if(A.getElementsByTagName(_editor_lang).length){A=A.getElementsByTagName(_editor_lang)[0]}else{A=A.getElementsByTagName("default")[0]}q=D(A.getElementsByTagName("path")[0]);q=(!/^\//.test(q)?_editor_url:"")+q;f=A.getAttribute("type");if(f=="map"){n=parseInt(D(A.getElementsByTagName("x")[0]),10);m=parseInt(D(A.getElementsByTagName("y")[0]),10);if(this.config.btnList[r]){this.config.btnList[r][1]=[q,n,m]}if(this.config.iconList[r]){this.config.iconList[r]=[q,n,m]}}else{if(this.config.btnList[r]){this.config.btnList[r][1]=q}if(this.config.iconList[r]){this.config.iconList[r]=q}}}}}this.setLoadingMessage(Xinha._lc("Generate Xinha framework"));this._framework={table:document.createElement("table"),tbody:document.createElement("tbody"),tb_row:document.createElement("tr"),tb_cell:document.createElement("td"),tp_row:document.createElement("tr"),tp_cell:this._panels.top.container,ler_row:document.createElement("tr"),lp_cell:this._panels.left.container,ed_cell:document.createElement("td"),rp_cell:this._panels.right.container,bp_row:document.createElement("tr"),bp_cell:this._panels.bottom.container,sb_row:document.createElement("tr"),sb_cell:document.createElement("td")};Xinha.freeLater(this._framework);var e=this._framework;e.table.border="0";e.table.cellPadding="0";e.table.cellSpacing="0";e.tb_row.style.verticalAlign="top";e.tp_row.style.verticalAlign="top";e.ler_row.style.verticalAlign="top";e.bp_row.style.verticalAlign="top";e.sb_row.style.verticalAlign="top";e.ed_cell.style.position="relative";e.tb_row.appendChild(e.tb_cell);e.tb_cell.colSpan=3;e.tp_row.appendChild(e.tp_cell);e.tp_cell.colSpan=3;e.ler_row.appendChild(e.lp_cell);e.ler_row.appendChild(e.ed_cell);e.ler_row.appendChild(e.rp_cell);e.bp_row.appendChild(e.bp_cell);e.bp_cell.colSpan=3;e.sb_row.appendChild(e.sb_cell);e.sb_cell.colSpan=3;e.tbody.appendChild(e.tb_row);e.tbody.appendChild(e.tp_row);e.tbody.appendChild(e.ler_row);e.tbody.appendChild(e.bp_row);e.tbody.appendChild(e.sb_row);e.table.appendChild(e.tbody);var B=e.table;this._htmlArea=B;Xinha.freeLater(this,"_htmlArea");B.className="htmlarea";e.tb_cell.appendChild(this._createToolbar());var d=document.createElement("iframe");d.src=this.popupURL(k.config.URIs.blank);d.id="XinhaIFrame_"+this._textArea.id;e.ed_cell.appendChild(d);this._iframe=d;this._iframe.className="xinha_iframe";Xinha.freeLater(this,"_iframe");var u=this._createStatusBar();this._statusBar=e.sb_cell.appendChild(u);var F=this._textArea;F.parentNode.insertBefore(B,F);F.className="xinha_textarea";Xinha.removeFromParent(F);e.ed_cell.appendChild(F);Xinha.addDom0Event(this._textArea,"click",function(){if(Xinha._currentlyActiveEditor!=this){k.updateToolbar()}return true});if(F.form){Xinha.prependDom0Event(this._textArea.form,"submit",function(){k.firePluginEvent("onBeforeSubmit");k._textArea.value=k.outwardHtml(k.getHTML());return true});var l=F.value;Xinha.prependDom0Event(this._textArea.form,"reset",function(){k.setHTML(k.inwardHtml(l));k.updateToolbar();return true});if(!F.form.xinha_submit){try{F.form.xinha_submit=F.form.submit;F.form.submit=function(){this.onsubmit();this.xinha_submit()}}catch(z){}}}Xinha.prependDom0Event(window,"unload",function(){k.firePluginEvent("onBeforeUnload");F.value=k.outwardHtml(k.getHTML());if(!Xinha.is_ie){B.parentNode.replaceChild(F,B)}return true});F.style.display="none";k.initSize();this.setLoadingMessage(Xinha._lc("Finishing"));k._iframeLoadDone=false;if(Xinha.is_opera){k.initIframe()}else{Xinha._addEvent(this._iframe,"load",function(i){if(!k._iframeLoadDone){k._iframeLoadDone=true;k.initIframe()}return true})}};Xinha.prototype.initSize=function(){this.setLoadingMessage(Xinha._lc("Init editor size"));var a=this;var b=null;var c=null;switch(this.config.width){case"auto":b=this._initial_ta_size.w;break;case"toolbar":b=this._toolBar.offsetWidth+"px";break;default:b=/[^0-9]/.test(this.config.width)?this.config.width:this.config.width+"px";break}c=this.config.height=="auto"?this._initial_ta_size.h:/[^0-9]/.test(this.config.height)?this.config.height:this.config.height+"px";this.sizeEditor(b,c,this.config.sizeIncludesBars,this.config.sizeIncludesPanels);this.notifyOn("panel_change",function(){a.sizeEditor()})};Xinha.prototype.sizeEditor=function(c,o,j,a){if(this._risizing){return}this._risizing=true;var k=this._framework;this.notifyOf("before_resize",{width:c,height:o});this.firePluginEvent("onBeforeResize",c,o);this._iframe.style.height="100%";this._textArea.style.height="1px";this._iframe.style.width="0px";this._textArea.style.width="0px";if(j!==null){this._htmlArea.sizeIncludesToolbars=j}if(a!==null){this._htmlArea.sizeIncludesPanels=a}if(c){this._htmlArea.style.width=c;if(!this._htmlArea.sizeIncludesPanels){var p=this._panels.right;if(p.on&&p.panels.length&&Xinha.hasDisplayedChildren(p.div)){this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.right,10))+"px"}var l=this._panels.left;if(l.on&&l.panels.length&&Xinha.hasDisplayedChildren(l.div)){this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.left,10))+"px"}}}if(o){this._htmlArea.style.height=o;if(!this._htmlArea.sizeIncludesToolbars){this._htmlArea.style.height=(this._htmlArea.offsetHeight+this._toolbar.offsetHeight+this._statusBar.offsetHeight)+"px"}if(!this._htmlArea.sizeIncludesPanels){var e=this._panels.top;if(e.on&&e.panels.length&&Xinha.hasDisplayedChildren(e.div)){this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.top,10))+"px"}var n=this._panels.bottom;if(n.on&&n.panels.length&&Xinha.hasDisplayedChildren(n.div)){this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.bottom,10))+"px"}}}c=this._htmlArea.offsetWidth;o=this._htmlArea.offsetHeight;var b=this._panels;var d=this;var i=1;function h(q){if(b[q].on&&b[q].panels.length&&Xinha.hasDisplayedChildren(b[q].container)){b[q].container.style.display="";return true}else{b[q].container.style.display="none";return false}}if(h("left")){i+=1}if(h("right")){i+=1}k.tb_cell.colSpan=i;k.tp_cell.colSpan=i;k.bp_cell.colSpan=i;k.sb_cell.colSpan=i;if(!k.tp_row.childNodes.length){Xinha.removeFromParent(k.tp_row)}else{if(!Xinha.hasParentNode(k.tp_row)){k.tbody.insertBefore(k.tp_row,k.ler_row)}}if(!k.bp_row.childNodes.length){Xinha.removeFromParent(k.bp_row)}else{if(!Xinha.hasParentNode(k.bp_row)){k.tbody.insertBefore(k.bp_row,k.ler_row.nextSibling)}}if(!this.config.statusBar){Xinha.removeFromParent(k.sb_row)}else{if(!Xinha.hasParentNode(k.sb_row)){k.table.appendChild(k.sb_row)}}k.lp_cell.style.width=this.config.panel_dimensions.left;k.rp_cell.style.width=this.config.panel_dimensions.right;k.tp_cell.style.height=this.config.panel_dimensions.top;k.bp_cell.style.height=this.config.panel_dimensions.bottom;k.tb_cell.style.height=this._toolBar.offsetHeight+"px";k.sb_cell.style.height=this._statusBar.offsetHeight+"px";var m=o-this._toolBar.offsetHeight-this._statusBar.offsetHeight;if(h("top")){m-=parseInt(this.config.panel_dimensions.top,10)}if(h("bottom")){m-=parseInt(this.config.panel_dimensions.bottom,10)}this._iframe.style.height=m+"px";var f=c;if(h("left")){f-=parseInt(this.config.panel_dimensions.left,10)}if(h("right")){f-=parseInt(this.config.panel_dimensions.right,10)}var g=this.config.iframeWidth?parseInt(this.config.iframeWidth,10):null;this._iframe.style.width=(g&&g<f)?g+"px":f+"px";this._textArea.style.height=this._iframe.style.height;this._textArea.style.width=this._iframe.style.width;this.notifyOf("resize",{width:this._htmlArea.offsetWidth,height:this._htmlArea.offsetHeight});this.firePluginEvent("onResize",this._htmlArea.offsetWidth,this._htmlArea.offsetWidth);this._risizing=false};Xinha.prototype.registerPanel=function(c,b){if(!c){c="right"}this.setLoadingMessage("Register "+c+" panel ");var a=this.addPanel(c);if(b){b.drawPanelIn(a)}};Xinha.prototype.addPanel=function(a){var b=document.createElement("div");b.side=a;if(a=="left"||a=="right"){b.style.width=this.config.panel_dimensions[a];if(this._iframe){b.style.height=this._iframe.style.height}}Xinha.addClasses(b,"panel");this._panels[a].panels.push(b);this._panels[a].div.appendChild(b);this.notifyOf("panel_change",{action:"add",panel:b});this.firePluginEvent("onPanelChange","add",b);return b};Xinha.prototype.removePanel=function(a){this._panels[a.side].div.removeChild(a);var c=[];for(var b=0;b<this._panels[a.side].panels.length;b++){if(this._panels[a.side].panels[b]!=a){c.push(this._panels[a.side].panels[b])}}this._panels[a.side].panels=c;this.notifyOf("panel_change",{action:"remove",panel:a});this.firePluginEvent("onPanelChange","remove",a)};Xinha.prototype.hidePanel=function(a){if(a&&a.style.display!="none"){try{var c=this.scrollPos(this._iframe.contentWindow)}catch(b){}a.style.display="none";this.notifyOf("panel_change",{action:"hide",panel:a});this.firePluginEvent("onPanelChange","hide",a);try{this._iframe.contentWindow.scrollTo(c.x,c.y)}catch(b){}}};Xinha.prototype.showPanel=function(a){if(a&&a.style.display=="none"){try{var c=this.scrollPos(this._iframe.contentWindow)}catch(b){}a.style.display="";this.notifyOf("panel_change",{action:"show",panel:a});this.firePluginEvent("onPanelChange","show",a);try{this._iframe.contentWindow.scrollTo(c.x,c.y)}catch(b){}}};Xinha.prototype.hidePanels=function(b){if(typeof b=="undefined"){b=["left","right","top","bottom"]}var c=[];for(var a=0;a<b.length;a++){if(this._panels[b[a]].on){c.push(b[a]);this._panels[b[a]].on=false}}this.notifyOf("panel_change",{action:"multi_hide",sides:b});this.firePluginEvent("onPanelChange","multi_hide",b)};Xinha.prototype.showPanels=function(b){if(typeof b=="undefined"){b=["left","right","top","bottom"]}var c=[];for(var a=0;a<b.length;a++){if(!this._panels[b[a]].on){c.push(b[a]);this._panels[b[a]].on=true}}this.notifyOf("panel_change",{action:"multi_show",sides:b});this.firePluginEvent("onPanelChange","multi_show",b)};Xinha.objectProperties=function(c){var b=[];for(var a in c){b[b.length]=a}return b};Xinha.prototype.editorIsActivated=function(){try{return Xinha.is_designMode?this._doc.designMode=="on":this._doc.body.contentEditable}catch(a){return false}};Xinha._someEditorHasBeenActivated=false;Xinha._currentlyActiveEditor=null;Xinha.prototype.activateEditor=function(){if(this.currentModal){return}if(Xinha._currentlyActiveEditor){if(Xinha._currentlyActiveEditor==this){return true}Xinha._currentlyActiveEditor.deactivateEditor()}if(Xinha.is_designMode&&this._doc.designMode!="on"){try{if(this._iframe.style.display=="none"){this._iframe.style.display="";this._doc.designMode="on";this._iframe.style.display="none"}else{this._doc.designMode="on"}if(Xinha.is_opera){this.setEditorEvents(true)}}catch(b){}}else{if(Xinha.is_ie&&this._doc.body.contentEditable!==true){this._doc.body.contentEditable=true}}Xinha._someEditorHasBeenActivated=true;Xinha._currentlyActiveEditor=this;var a=this;this.enableToolbar()};Xinha.prototype.deactivateEditor=function(){this.disableToolbar();if(Xinha.is_designMode&&this._doc.designMode!="off"){try{this._doc.designMode="off"}catch(a){}}else{if(!Xinha.is_designMode&&this._doc.body.contentEditable!==false){this._doc.body.contentEditable=false}}if(Xinha._currentlyActiveEditor!=this){return}Xinha._currentlyActiveEditor=false};Xinha.prototype.initIframe=function(){this.disableToolbar();var g=null;var b=this;try{if(b._iframe.contentDocument){this._doc=b._iframe.contentDocument}else{this._doc=b._iframe.contentWindow.document}g=this._doc;if(!g){if(Xinha.is_gecko){setTimeout(function(){b.initIframe()},50);return false}else{alert("ERROR: IFRAME can't be initialized.")}}}catch(f){setTimeout(function(){b.initIframe()},50);return false}Xinha.freeLater(this,"_doc");g.open("text/html","replace");var e="",a;if(b.config.browserQuirksMode===false){a='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'}else{if(b.config.browserQuirksMode===true){a=""}else{a=Xinha.getDoctype(document)}}if(!b.config.fullPage){e+=a+"\n";e+="<html>\n";e+="<head>\n";e+='<meta http-equiv="Content-Type" content="text/html; charset='+b.config.charSet+'">\n';if(typeof b.config.baseHref!="undefined"&&b.config.baseHref!==null){e+='<base href="'+b.config.baseHref+'"/>\n'}e+=Xinha.addCoreCSS();if(typeof b.config.pageStyleSheets!=="undefined"){for(var d=0;d<b.config.pageStyleSheets.length;d++){if(b.config.pageStyleSheets[d].length>0){e+='<link rel="stylesheet" type="text/css" href="'+b.config.pageStyleSheets[d]+'">'}}}if(b.config.pageStyle){e+='<style type="text/css">\n'+b.config.pageStyle+"\n</style>"}e+="</head>\n";e+="<body"+(b.config.bodyID?(' id="'+b.config.bodyID+'"'):"")+(b.config.bodyClass?(' class="'+b.config.bodyClass+'"'):"")+">\n";e+=b.inwardHtml(b._textArea.value);e+="</body>\n";e+="</html>"}else{e=b.inwardHtml(b._textArea.value);if(e.match(Xinha.RE_doctype)){b.setDoctype(RegExp.$1)}var c=e.match(/<link\s+[\s\S]*?["']\s*\/?>/gi);e=e.replace(/<link\s+[\s\S]*?["']\s*\/?>\s*/gi,"");if(c){e=e.replace(/<\/head>/i,c.join("\n")+"\n</head>")}}g.write(e);g.close();if(this.config.fullScreen){this._fullScreen()}this.setEditorEvents();if((typeof b.config.autofocus!="undefined")&&b.config.autofocus!==false&&((b.config.autofocus==b._textArea.id)||b.config.autofocus==true)){b.activateEditor();b.focusEditor()}};Xinha.prototype.whenDocReady=function(a){var b=this;if(this._doc&&this._doc.body){a()}else{setTimeout(function(){b.whenDocReady(a)},50)}};Xinha.prototype.setMode=function(b){var a;if(typeof b=="undefined"){b=this._editMode=="textmode"?"wysiwyg":"textmode"}switch(b){case"textmode":this.firePluginEvent("onBeforeMode","textmode");this._toolbarObjects.htmlmode.swapImage(this.config.iconList.wysiwygmode);this.setCC("iframe");a=this.outwardHtml(this.getHTML());this.setHTML(a);this.deactivateEditor();this._iframe.style.display="none";this._textArea.style.display="";if(this.config.statusBar){this._statusBarTree.style.display="none";this._statusBarTextMode.style.display=""}this.findCC("textarea");this.notifyOf("modechange",{mode:"text"});this.firePluginEvent("onMode","textmode");break;case"wysiwyg":this.firePluginEvent("onBeforeMode","wysiwyg");this._toolbarObjects.htmlmode.swapImage([this.imgURL("images/ed_buttons_main.png"),7,0]);this.setCC("textarea");a=this.inwardHtml(this.getHTML());this.deactivateEditor();this.setHTML(a);this._iframe.style.display="";this._textArea.style.display="none";this.activateEditor();if(this.config.statusBar){this._statusBarTree.style.display="";this._statusBarTextMode.style.display="none"}this.findCC("iframe");this.notifyOf("modechange",{mode:"wysiwyg"});this.firePluginEvent("onMode","wysiwyg");break;default:alert("Mode <"+b+"> not defined!");return false}this._editMode=b};Xinha.prototype.setFullHTML=function(c){var a=RegExp.multiline;RegExp.multiline=true;if(c.match(Xinha.RE_doctype)){this.setDoctype(RegExp.$1)}RegExp.multiline=a;if(0){if(c.match(Xinha.RE_head)){this._doc.getElementsByTagName("head")[0].innerHTML=RegExp.$1}if(c.match(Xinha.RE_body)){this._doc.getElementsByTagName("body")[0].innerHTML=RegExp.$1}}else{var d=this.editorIsActivated();if(d){this.deactivateEditor()}var b=/<html>((.|\n)*?)<\/html>/i;c=c.replace(b,"$1");this._doc.open("text/html","replace");this._doc.write(c);this._doc.close();if(d){this.activateEditor()}this.setEditorEvents();return true}};Xinha.prototype.setEditorEvents=function(c){var a=this;var b=this._doc;a.whenDocReady(function(){if(!c){Xinha._addEvents(b,["mousedown"],function(){a.activateEditor();return true});if(Xinha.is_ie){Xinha._addEvent(a._doc.getElementsByTagName("html")[0],"click",function(){if(a._iframe.contentWindow.event.srcElement.tagName.toLowerCase()=="html"){var f=a._doc.body.createTextRange();f.collapse();f.select()}return true})}}Xinha._addEvents(b,["keydown","keypress","mousedown","mouseup","drag"],function(f){return a._editorEvent(Xinha.is_ie?a._iframe.contentWindow.event:f)});Xinha._addEvents(b,["dblclick"],function(f){return a._onDoubleClick(Xinha.is_ie?a._iframe.contentWindow.event:f)});if(c){return}for(var e in a.plugins){var d=a.plugins[e].instance;Xinha.refreshPlugin(d)}if(typeof a._onGenerate=="function"){a._onGenerate()}Xinha.addDom0Event(window,"resize",function(f){if(Xinha.ie_version>7&&!window.parent){if(a.execResize){a.sizeEditor();a.execResize=false}else{a.execResize=true}}else{a.sizeEditor()}});a.removeLoadingMessage()})};Xinha.getPluginConstructor=function(a){return Xinha.plugins[a]||window[a]};Xinha.prototype.registerPlugin=function(){if(!Xinha.isSupportedBrowser){return}var a=arguments[0];if(a===null||typeof a=="undefined"||(typeof a=="string"&&Xinha.getPluginConstructor(a)=="undefined")){return false}var b=[];for(var c=1;c<arguments.length;++c){b.push(arguments[c])}return this.registerPlugin2(a,b)};Xinha.prototype.registerPlugin2=function(b,c){if(typeof b=="string"&&typeof Xinha.getPluginConstructor(b)=="function"){var a=b;b=Xinha.getPluginConstructor(b)}if(typeof b=="undefined"){return false}if(!b._pluginInfo){b._pluginInfo={name:a}}var f=new b(this,c);if(f){var g={};var e=b._pluginInfo;for(var d in e){g[d]=e[d]}g.instance=f;g.args=c;this.plugins[b._pluginInfo.name]=g;return f}else{Xinha.debugMsg("Can't register plugin "+b.toString()+".","warn")}};Xinha.getPluginDir=function(a,b){if(Xinha.externalPlugins[a]){return Xinha.externalPlugins[a][0]}if(b||(Xinha.getPluginConstructor(a)&&(typeof Xinha.getPluginConstructor(a).supported!="undefined")&&!Xinha.getPluginConstructor(a).supported)){return _editor_url+"unsupported_plugins/"+a}return _editor_url+"plugins/"+a};Xinha.loadPlugin=function(b,e,d){if(!Xinha.isSupportedBrowser){return}Xinha.setLoadingMessage(Xinha._lc("Loading plugin $plugin="+b+"$"));if(typeof Xinha.getPluginConstructor(b)!="undefined"){if(e){e(b)}return true}Xinha._pluginLoadStatus[b]="loading";function a(j,f){var m,i,l,k;switch(j){case"start":m="old_naming";i=Xinha.getPluginDir(f);l=f+".js";break;case"old_naming":m="unsupported";i=Xinha.getPluginDir(f);l=f.replace(/([a-z])([A-Z])([a-z])/g,function(p,o,n,q){return o+"-"+n.toLowerCase()+q}).toLowerCase()+".js";k="You are using an obsolete naming scheme for the Xinha plugin "+f+". Please rename "+l+" to "+f+".js";break;case"unsupported":m="unsupported_old_name";i=Xinha.getPluginDir(f,true);l=f+".js";k="You are using the unsupported Xinha plugin "+f+". If you wish continued support, please see http://trac.xinha.org/ticket/1297";break;case"unsupported_old_name":m="";i=Xinha.getPluginDir(f,true);l=f.replace(/([a-z])([A-Z])([a-z])/g,function(p,o,n,q){return o+"-"+n.toLowerCase()+q}).toLowerCase()+".js";k="You are using the unsupported Xinha plugin "+f+". If you wish continued support, please see http://trac.xinha.org/ticket/1297";break;default:Xinha._pluginLoadStatus[f]="failed";Xinha.debugMsg("Xinha was not able to find the plugin "+f+". Please make sure the plugin exists.","warn");return}var h=i+"/"+l;function g(n){Xinha.getPluginConstructor(n).supported=j.indexOf("unsupported")!==0;e(n)}Xinha._loadback(h,g,this,f);Xinha.ping(h,function(){if(k){Xinha.debugMsg(k)}},function(){Xinha.removeFromParent(document.getElementById(h));a(m,f)})}if(!d){if(Xinha.externalPlugins[b]){Xinha._loadback(Xinha.externalPlugins[b][0]+Xinha.externalPlugins[b][1],e,this,b)}else{var c=this;a("start",b)}}else{Xinha._loadback(d,e,this,b)}return false};Xinha._pluginLoadStatus={};Xinha.externalPlugins={};Xinha.plugins={};Xinha.loadPlugins=function(f,c,d){if(!Xinha.isSupportedBrowser){return}var b,e;for(e=0;e<f.length;e++){if(typeof f[e]=="object"){b=f[e].url.match(/(.*)(\/[^\/]*)$/);Xinha.externalPlugins[f[e].plugin]=[b[1],b[2]];f[e]=f[e].plugin}}var h=true;var a=Xinha.cloneObject(f);for(e=0;e<a.length;e++){var g=a[e];if(g=="FullScreen"&&!Xinha.externalPlugins.FullScreen){continue}if(typeof Xinha._pluginLoadStatus[g]=="undefined"){Xinha.loadPlugin(g,function(i){Xinha.setLoadingMessage(Xinha._lc("Finishing"));if(typeof Xinha.getPluginConstructor(i)!="undefined"){Xinha._pluginLoadStatus[i]="ready"}else{Xinha._pluginLoadStatus[i]="failed"}},d);h=false}else{if(Xinha._pluginLoadStatus[g]=="loading"){h=false}}}if(h){return true}if(c){setTimeout(function(){if(Xinha.loadPlugins(f,c)){c()}},50)}return h};Xinha.refreshPlugin=function(a){if(a&&typeof a.onGenerate=="function"){a.onGenerate()}if(a&&typeof a.onGenerateOnce=="function"){a._ongenerateOnce=a.onGenerateOnce;delete (a.onGenerateOnce);a._ongenerateOnce();delete (a._ongenerateOnce)}};Xinha.prototype.firePluginEvent=function(c){var e=[];for(var b=1;b<arguments.length;b++){e[b-1]=arguments[b]}for(b in this.plugins){var a=this.plugins[b].instance;if(a==this._browserSpecificPlugin){continue}if(a&&typeof a[c]=="function"){var d=(b=="Events")?this:a;if(a[c].apply(d,e)){return true}}}a=this._browserSpecificPlugin;if(a&&typeof a[c]=="function"){if(a[c].apply(a,e)){return true}}return false};Xinha.loadStyle=function(e,a,g,d){var b=_editor_url||"";if(a){b=Xinha.getPluginDir(a)+"/"}b+=e;if(/^\//.test(e)){b=e}var c=document.getElementsByTagName("head")[0];var f=document.createElement("link");f.rel="stylesheet";f.href=b;f.type="text/css";if(g){f.id=g}if(d&&c.getElementsByTagName("link")[0]){c.insertBefore(f,c.getElementsByTagName("link")[0])}else{c.appendChild(f)}};Xinha.loadScript=function(c,a,d){var b=_editor_url||"";if(a){b=Xinha.getPluginDir(a)+"/"}b+=c;if(/^\//.test(c)){b=c}Xinha._loadback(b,d)};Xinha.includeAssets=function(){var b={pendingAssets:[],loaderRunning:false,loadedScripts:[]};b.callbacks=[];b.loadNext=function(){var d=this;this.loaderRunning=true;if(this.pendingAssets.length){var c=this.pendingAssets[0];this.pendingAssets.splice(0,1);switch(c.type){case"text/css":Xinha.loadStyle(c.url,c.plugin);return this.loadNext();case"text/javascript":Xinha.loadScript(c.url,c.plugin,function(){d.loadNext()})}}else{this.loaderRunning=false;this.runCallback()}};b.loadScript=function(e,c){var d=this;this.pendingAssets.push({type:"text/javascript",url:e,plugin:c});if(!this.loaderRunning){this.loadNext()}return this};b.loadScriptOnce=function(d,c){for(var e=0;e<this.loadedScripts.length;e++){if(this.loadedScripts[e].url==d&&this.loadedScripts[e].plugin==c){return this}}return this.loadScript(d,c)};b.loadStyle=function(e,c){var d=this;this.pendingAssets.push({type:"text/css",url:e,plugin:c});if(!this.loaderRunning){this.loadNext()}return this};b.whenReady=function(c){this.callbacks.push(c);if(!this.loaderRunning){this.loadNext()}return this};b.runCallback=function(){while(this.callbacks.length){var c=this.callbacks.splice(0,1);c[0]();c=null}return this};for(var a=0;a<arguments.length;a++){if(typeof arguments[a]=="string"){if(arguments[a].match(/\.css$/i)){b.loadStyle(arguments[a])}else{b.loadScript(arguments[a])}}else{if(arguments[a].type){if(arguments[a].type.match(/text\/css/i)){b.loadStyle(arguments[a].url,arguments[a].plugin)}else{if(arguments[a].type.match(/text\/javascript/i)){b.loadScript(arguments[a].url,arguments[a].plugin)}}}else{if(arguments[a].length>=1){if(arguments[a][0].match(/\.css$/i)){b.loadStyle(arguments[a][0],arguments[a][1])}else{b.loadScript(arguments[a][0],arguments[a][1])}}}}}return b};Xinha.prototype.debugTree=function(){var c=document.createElement("textarea");c.style.width="100%";c.style.height="20em";c.value="";function b(d,e){for(;--d>=0;){c.value+=" "}c.value+=e+"\n"}function a(e,h){var d=e.tagName.toLowerCase(),f;var g=Xinha.is_ie?e.scopeName:e.prefix;b(h,"- "+d+" ["+g+"]");for(f=e.firstChild;f;f=f.nextSibling){if(f.nodeType==1){a(f,h+2)}}}a(this._doc.body,0);document.body.appendChild(c)};Xinha.getInnerText=function(c){var a="",b;for(b=c.firstChild;b;b=b.nextSibling){if(b.nodeType==3){a+=b.data}else{if(b.nodeType==1){a+=Xinha.getInnerText(b)}}}return a};Xinha.prototype._wordClean=function(){var b=this;var e={empty_tags:0,cond_comm:0,mso_elmts:0,mso_class:0,mso_style:0,mso_xmlel:0,orig_len:this._doc.body.innerHTML.length,T:new Date().getTime()};var g={empty_tags:"Empty tags removed: ",cond_comm:"Conditional comments removed",mso_elmts:"MSO invalid elements removed",mso_class:"MSO class names removed: ",mso_style:"MSO inline style removed: ",mso_xmlel:"MSO XML elements stripped: "};function f(){var j="Xinha word cleaner stats: \n\n";for(var k in e){if(g[k]){j+=g[k]+e[k]+"\n"}}j+="\nInitial document length: "+e.orig_len+"\n";j+="Final document length: "+b._doc.body.innerHTML.length+"\n";j+="Clean-up took "+((new Date().getTime()-e.T)/1000)+" seconds";alert(j)}function h(j){var k=j.className.replace(/(^|\s)mso.*?(\s|$)/ig," ");if(k!=j.className){j.className=k;if(!/\S/.test(j.className)){j.removeAttribute("className");++e.mso_class}}}function a(k){var l=k.style.cssText.split(/\s*;\s*/);for(var j=l.length;--j>=0;){if(/^mso|^tab-stops/i.test(l[j])||/^margin\s*:\s*0..\s+0..\s+0../i.test(l[j])){++e.mso_style;l.splice(j,1)}}k.style.cssText=l.join("; ")}function c(j){if(("link"==j.tagName.toLowerCase()&&(j.attributes&&/File-List|Edit-Time-Data|themeData|colorSchemeMapping/.test(j.attributes.rel.nodeValue)))||/^(style|meta)$/i.test(j.tagName)){Xinha.removeFromParent(j);++e.mso_elmts;return true}return false}function d(j){if(/^(a|span|b|strong|i|em|font|div|p)$/i.test(j.tagName)&&!j.firstChild){Xinha.removeFromParent(j);++e.empty_tags;return true}return false}function i(j){h(j);a(j);var m;for(var l=j.firstChild;l;l=m){m=l.nextSibling;if(l.nodeType==1&&i(l)){if((Xinha.is_ie&&j.scopeName!="HTML")||(!Xinha.is_ie&&/:/.test(l.tagName))){for(var k=l.childNodes&&l.childNodes.length-1;l.childNodes&&l.childNodes.length&&l.childNodes[k];--k){if(l.nextSibling){l.parentNode.insertBefore(l.childNodes[k],l.nextSibling)}else{l.parentNode.appendChild(l.childNodes[k])}}Xinha.removeFromParent(l);continue}if(d(l)){continue}if(c(l)){continue}}else{if(l.nodeType==8){if(/(\s*\[\s*if\s*(([gl]te?|!)\s*)?(IE|mso)\s*(\d+(\.\d+)?\s*)?\]>)/.test(l.nodeValue)){Xinha.removeFromParent(l);++e.cond_comm}}}}return true}i(this._doc.body);this.updateToolbar()};Xinha.prototype._clearFonts=function(){var a=this.getInnerHTML();if(confirm(Xinha._lc("Would you like to clear font typefaces?"))){a=a.replace(/face="[^"]*"/gi,"");a=a.replace(/font-family:[^;}"']+;?/gi,"")}if(confirm(Xinha._lc("Would you like to clear font sizes?"))){a=a.replace(/size="[^"]*"/gi,"");a=a.replace(/font-size:[^;}"']+;?/gi,"")}if(confirm(Xinha._lc("Would you like to clear font colours?"))){a=a.replace(/color="[^"]*"/gi,"");a=a.replace(/([^\-])color:[^;}"']+;?/gi,"$1")}a=a.replace(/(style|class)="\s*"/gi,"");a=a.replace(/<(font|span)\s*>/gi,"");this.setHTML(a);this.updateToolbar()};Xinha.prototype._splitBlock=function(){this._doc.execCommand("formatblock",false,"div")};Xinha.prototype.forceRedraw=function(){this._doc.body.style.visibility="hidden";this._doc.body.style.visibility=""};Xinha.prototype.focusEditor=function(){switch(this._editMode){case"wysiwyg":try{if(Xinha._someEditorHasBeenActivated){this.activateEditor();this._iframe.contentWindow.focus()}}catch(a){}break;case"textmode":try{this._textArea.focus()}catch(b){}break;default:alert("ERROR: mode "+this._editMode+" is not defined")}return this._doc};Xinha.prototype._undoTakeSnapshot=function(){++this._undoPos;if(this._undoPos>=this.config.undoSteps){this._undoQueue.shift();--this._undoPos}var b=true;var a=this.getInnerHTML();if(this._undoPos>0){b=(this._undoQueue[this._undoPos-1]!=a)}if(b){this._undoQueue[this._undoPos]=a}else{this._undoPos--}};Xinha.prototype.undo=function(){if(this._undoPos>0){var a=this._undoQueue[--this._undoPos];if(a){this.setHTML(a)}else{++this._undoPos}}};Xinha.prototype.redo=function(){if(this._undoPos<this._undoQueue.length-1){var a=this._undoQueue[++this._undoPos];if(a){this.setHTML(a)}else{--this._undoPos}}};Xinha.prototype.disableToolbar=function(a){if(this._timerToolbar){clearTimeout(this._timerToolbar)}if(typeof a=="undefined"){a=[]}else{if(typeof a!="object"){a=[a]}}for(var c in this._toolbarObjects){var b=this._toolbarObjects[c];if(a.contains(c)){continue}if(typeof b.state!="function"){continue}b.state("enabled",false)}};Xinha.prototype.enableToolbar=function(){this.updateToolbar()};Xinha.prototype.updateToolbar=function(noStatus){if(this.suspendUpdateToolbar){return}var doc=this._doc;var text=(this._editMode=="textmode");var ancestors=null;if(!text){ancestors=this.getAllAncestors();if(this.config.statusBar&&!noStatus){while(this._statusBarItems.length){var item=this._statusBarItems.pop();item.el=null;item.editor=null;item.onclick=null;item.oncontextmenu=null;item._xinha_dom0Events.click=null;item._xinha_dom0Events.contextmenu=null;item=null}this._statusBarTree.innerHTML=" ";this._statusBarTree.appendChild(document.createTextNode(Xinha._lc("Path")+": "));for(var i=ancestors.length;--i>=0;){var el=ancestors[i];if(!el){continue}var a=document.createElement("a");a.href="javascript:void(0);";a.el=el;a.editor=this;this._statusBarItems.push(a);Xinha.addDom0Event(a,"click",function(){this.blur();this.editor.selectNodeContents(this.el);this.editor.updateToolbar(true);return false});Xinha.addDom0Event(a,"contextmenu",function(){this.blur();var info="Inline style:\n\n";info+=this.el.style.cssText.split(/;\s*/).join(";\n");alert(info);return false});var txt=el.tagName.toLowerCase();switch(txt){case"b":txt="strong";break;case"i":txt="em";break;case"strike":txt="del";break}if(typeof el.style!="undefined"){a.title=el.style.cssText}if(el.id){txt+="#"+el.id}if(el.className){txt+="."+el.className}a.appendChild(document.createTextNode(txt));this._statusBarTree.appendChild(a);if(i!==0){this._statusBarTree.appendChild(document.createTextNode(String.fromCharCode(187)))}Xinha.freeLater(a)}}}for(var cmd in this._toolbarObjects){var btn=this._toolbarObjects[cmd];var inContext=true;if(typeof btn.state!="function"){continue}if(btn.context&&!text){inContext=false;var context=btn.context;var attrs=[];if(/(.*)\[(.*?)\]/.test(context)){context=RegExp.$1;attrs=RegExp.$2.split(",")}context=context.toLowerCase();var match=(context=="*");for(var k=0;k<ancestors.length;++k){if(!ancestors[k]){continue}if(match||(ancestors[k].tagName.toLowerCase()==context)){inContext=true;var contextSplit=null;var att=null;var comp=null;var attVal=null;for(var ka=0;ka<attrs.length;++ka){contextSplit=attrs[ka].match(/(.*)(==|!=|===|!==|>|>=|<|<=)(.*)/);att=contextSplit[1];comp=contextSplit[2];attVal=contextSplit[3];if(!eval(ancestors[k][att]+comp+attVal)){inContext=false;break}}if(inContext){break}}}}btn.state("enabled",(!text||btn.text)&&inContext);if(typeof cmd=="function"){continue}var dropdown=this.config.customSelects[cmd];if((!text||btn.text)&&(typeof dropdown!="undefined")){dropdown.refresh(this);continue}switch(cmd){case"fontname":case"fontsize":if(!text){try{var value=(""+doc.queryCommandValue(cmd)).toLowerCase();if(!value){btn.element.selectedIndex=0;break}var options=this.config[cmd];var sIndex=0;for(var j in options){if((j.toLowerCase()==value)||(options[j].substr(0,value.length).toLowerCase()==value)){btn.element.selectedIndex=sIndex;throw"ok"}++sIndex}btn.element.selectedIndex=0}catch(ex){}}break;case"formatblock":var blocks=[];for(var indexBlock in this.config.formatblock){if(typeof this.config.formatblock[indexBlock]=="string"){blocks[blocks.length]=this.config.formatblock[indexBlock]}}var deepestAncestor=this._getFirstAncestor(this.getSelection(),blocks);if(deepestAncestor){for(var x=0;x<blocks.length;x++){if(blocks[x].toLowerCase()==deepestAncestor.tagName.toLowerCase()){btn.element.selectedIndex=x}}}else{btn.element.selectedIndex=0}break;case"textindicator":if(!text){try{var style=btn.element.style;style.backgroundColor=Xinha._makeColor(doc.queryCommandValue(Xinha.is_ie?"backcolor":"hilitecolor"));if(/transparent/i.test(style.backgroundColor)){style.backgroundColor=Xinha._makeColor(doc.queryCommandValue("backcolor"))}style.color=Xinha._makeColor(doc.queryCommandValue("forecolor"));style.fontFamily=doc.queryCommandValue("fontname");style.fontWeight=doc.queryCommandState("bold")?"bold":"normal";style.fontStyle=doc.queryCommandState("italic")?"italic":"normal"}catch(ex){}}break;case"htmlmode":btn.state("active",text);break;case"lefttoright":case"righttoleft":var eltBlock=this.getParentElement();while(eltBlock&&!Xinha.isBlockElement(eltBlock)){eltBlock=eltBlock.parentNode}if(eltBlock){btn.state("active",(eltBlock.style.direction==((cmd=="righttoleft")?"rtl":"ltr")))}break;default:cmd=cmd.replace(/(un)?orderedlist/i,"insert$1orderedlist");try{btn.state("active",(!text&&doc.queryCommandState(cmd)))}catch(ex){}break}}if(this._customUndo&&!this._timerUndo){this._undoTakeSnapshot();var editor=this;this._timerUndo=setTimeout(function(){editor._timerUndo=null},this.config.undoTimeout)}this.firePluginEvent("onUpdateToolbar")};Xinha.getEditor=function(c){for(var b=__xinhas.length;b--;){var a=__xinhas[b];if(a&&(a._textArea.id==c||a._textArea.name==c||a._textArea==c)){return a}}return null};Xinha.prototype.getPluginInstance=function(a){if(this.plugins[a]){return this.plugins[a].instance}else{return null}};Xinha.prototype.getAllAncestors=function(){var c=this.getParentElement();var b=[];while(c&&(c.nodeType==1)&&(c.tagName.toLowerCase()!="body")){b.push(c);c=c.parentNode}b.push(this._doc.body);return b};Xinha.prototype._getFirstAncestor=function(e,d){var c=this.activeElement(e);if(c===null){try{c=(Xinha.is_ie?this.createRange(e).parentElement():this.createRange(e).commonAncestorContainer)}catch(b){return null}}if(typeof d=="string"){d=[d]}while(c){if(c.nodeType==1){if(d===null){return c}for(var a=0;a<d.length;++a){if(typeof d[a]=="string"&&d[a]==c.tagName.toLowerCase()){return c}else{if(typeof d[a]=="function"&&d[a](this,c)){return c}}}if(c.tagName.toLowerCase()=="body"){break}if(c.tagName.toLowerCase()=="table"){break}}c=c.parentNode}return null};Xinha.prototype._getAncestorBlock=function(b){var a=(Xinha.is_ie?this.createRange(b).parentElement:this.createRange(b).commonAncestorContainer);while(a&&(a.nodeType==1)){switch(a.tagName.toLowerCase()){case"div":case"p":case"address":case"blockquote":case"center":case"del":case"ins":case"pre":case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"h7":return a;case"body":case"noframes":case"dd":case"li":case"th":case"td":case"noscript":return null;default:break}}return null};Xinha.prototype._createImplicitBlock=function(b){var c=this.getSelection();if(Xinha.is_ie){c.empty()}else{c.collapseToStart()}var a=this.createRange(c)};Xinha.prototype.surroundHTML=function(c,a){var b=this.getSelectedHTML();this.insertHTML(c+b+a)};Xinha.prototype.hasSelectedText=function(){return this.getSelectedHTML()!==""};Xinha.prototype._comboSelected=function(b,a){this.focusEditor();var c=b.options[b.selectedIndex].value;switch(a){case"fontname":case"fontsize":this.execCommand(a,false,c);break;case"formatblock":if(!c){this.updateToolbar();break}if(!Xinha.is_gecko||c!=="blockquote"){c="<"+c+">"}this.execCommand(a,false,c);break;default:var d=this.config.customSelects[a];if(typeof d!="undefined"){d.action(this,c,b,a)}else{alert("FIXME: combo box "+a+" not implemented")}break}};Xinha.prototype._colorSelector=function(h){var d=this;if(Xinha.is_gecko){try{d._doc.execCommand("useCSS",false,false);d._doc.execCommand("styleWithCSS",false,true)}catch(g){}}var f=d._toolbarObjects[h].element;var c;if(h=="hilitecolor"){if(Xinha.is_ie){h="backcolor";c=Xinha._colorToRgb(d._doc.queryCommandValue("backcolor"))}else{c=Xinha._colorToRgb(d._doc.queryCommandValue("hilitecolor"))}}else{c=Xinha._colorToRgb(d._doc.queryCommandValue("forecolor"))}var b=function(i){d._doc.execCommand(h,false,i)};if(Xinha.is_ie){var a=d.createRange(d.getSelection());b=function(i){a.select();d._doc.execCommand(h,false,i)}}var e=new Xinha.colorPicker({cellsize:d.config.colorPickerCellSize,callback:b,granularity:d.config.colorPickerGranularity,websafe:d.config.colorPickerWebSafe,savecolors:d.config.colorPickerSaveColors});e.open(d.config.colorPickerPosition,f,c)};Xinha.prototype.execCommand=function(h,f,g){var a=this;this.focusEditor();h=h.toLowerCase();if(this.firePluginEvent("onExecCommand",h,f,g)){this.updateToolbar();return false}switch(h){case"htmlmode":this.setMode();break;case"hilitecolor":case"forecolor":this._colorSelector(h);break;case"createlink":this._createLink();break;case"undo":case"redo":if(this._customUndo){this[h]()}else{this._doc.execCommand(h,f,g)}break;case"inserttable":this._insertTable();break;case"insertimage":this._insertImage();break;case"showhelp":this._popupDialog(a.config.URIs.help,null,this);break;case"killword":this._wordClean();break;case"cut":case"copy":case"paste":this._doc.execCommand(h,f,g);if(this.config.killWordOnPaste){this._wordClean()}break;case"lefttoright":case"righttoleft":if(this.config.changeJustifyWithDirection){this._doc.execCommand((h=="righttoleft")?"justifyright":"justifyleft",f,g)}var b=(h=="righttoleft")?"rtl":"ltr";var e=this.getParentElement();while(e&&!Xinha.isBlockElement(e)){e=e.parentNode}if(e){if(e.style.direction==b){e.style.direction=""}else{e.style.direction=b}}break;case"justifyleft":case"justifyright":h.match(/^justify(.*)$/);var d=this.activeElement(this.getSelection());if(d&&d.tagName.toLowerCase()=="img"){d.align=d.align==RegExp.$1?"":RegExp.$1}else{this._doc.execCommand(h,f,g)}break;default:try{this._doc.execCommand(h,f,g)}catch(c){if(this.config.debug){alert(c+"\n\nby execCommand("+h+");")}}break}this.updateToolbar();return false};Xinha.prototype._editorEvent=function(b){var a=this;if(typeof a._textArea["on"+b.type]=="function"){a._textArea["on"+b.type](b)}if(this.isKeyEvent(b)){if(a.firePluginEvent("onKeyPress",b)){return false}if(this.isShortCut(b)){this._shortCuts(b)}}if(b.type=="mousedown"){if(a.firePluginEvent("onMouseDown",b)){return false}}if(a._timerToolbar){clearTimeout(a._timerToolbar)}if(!this.suspendUpdateToolbar){a._timerToolbar=setTimeout(function(){a.updateToolbar();a._timerToolbar=null},250)}};Xinha.prototype._onDoubleClick=function(d){var c=this;var e=Xinha.is_ie?d.srcElement:d.target;var a=e.tagName;var b=e.className;if(a){a=a.toLowerCase();if(b&&(this.config.dblclickList[a+"."+b]!=undefined)){this.config.dblclickList[a+"."+b][0](c,e)}else{if(this.config.dblclickList[a]!=undefined){this.config.dblclickList[a][0](c,e)}}}};Xinha.prototype._shortCuts=function(b){var a=this.getKey(b).toLowerCase();var d=null;var c=null;switch(a){case"b":d="bold";break;case"i":d="italic";break;case"u":d="underline";break;case"s":d="strikethrough";break;case"l":d="justifyleft";break;case"e":d="justifycenter";break;case"r":d="justifyright";break;case"j":d="justifyfull";break;case"z":d="undo";break;case"y":d="redo";break;case"v":d="paste";break;case"n":d="formatblock";c="p";break;case"0":d="killword";break;case"1":case"2":case"3":case"4":case"5":case"6":d="formatblock";c="h"+a;break}if(d){this.execCommand(d,false,c);Xinha._stopEvent(b)}};Xinha.prototype.convertNode=function(a,c){var b=this._doc.createElement(c);while(a.firstChild){b.appendChild(a.firstChild)}return b};Xinha.prototype.scrollToElement=function(b){if(!b){b=this.getParentElement();if(!b){return}}var a=Xinha.getElementTopLeft(b);this._iframe.contentWindow.scrollTo(a.left,a.top)};Xinha.prototype.getEditorContent=function(){return this.outwardHtml(this.getHTML())};Xinha.prototype.setEditorContent=function(a){this.setHTML(this.inwardHtml(a))};Xinha.updateTextareas=function(){var b;for(var a=0;a<__xinhas.length;a++){b=__xinhas[a];b._textArea.value=b.getEditorContent()}};Xinha.prototype.getHTML=function(){var a="";switch(this._editMode){case"wysiwyg":if(!this.config.fullPage){a=Xinha.getHTML(this._doc.body,false,this).trim()}else{a=this.doctype+"\n"+Xinha.getHTML(this._doc.documentElement,true,this)}break;case"textmode":a=this._textArea.value;break;default:alert("Mode <"+this._editMode+"> not defined!");return false}return a};Xinha.prototype.outwardHtml=function(d){for(var c in this.plugins){var a=this.plugins[c].instance;if(a&&typeof a.outwardHtml=="function"){d=a.outwardHtml(d)}}d=d.replace(/<(\/?)b(\s|>|\/)/ig,"<$1strong$2");d=d.replace(/<(\/?)i(\s|>|\/)/ig,"<$1em$2");d=d.replace(/<(\/?)strike(\s|>|\/)/ig,"<$1del$2");d=d.replace(/(<[^>]*on(click|mouse(over|out|up|down))=['"])if\(window\.parent &amp;&amp; window\.parent\.Xinha\)\{return false\}/gi,"$1");var b=location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/";d=d.replace(/https?:\/\/null\//g,b);d=d.replace(/((href|src|background)=[\'\"])\/+/ig,"$1"+b);d=this.outwardSpecialReplacements(d);d=this.fixRelativeLinks(d);if(this.config.sevenBitClean){d=d.replace(/[^ -~\r\n\t]/g,function(e){return(e!=Xinha.cc)?"&#"+e.charCodeAt(0)+";":e})}d=d.replace(/(<script[^>]*((type=[\"\']text\/)|(language=[\"\'])))(freezescript)/gi,"$1javascript");if(this.config.fullPage){d=Xinha.stripCoreCSS(d)}if(typeof this.config.outwardHtml=="function"){d=this.config.outwardHtml(d)}return d};Xinha.prototype.inwardHtml=function(c){for(var b in this.plugins){var a=this.plugins[b].instance;if(a&&typeof a.inwardHtml=="function"){c=a.inwardHtml(c)}}c=c.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");c=c.replace(/(<[^>]*on(click|mouse(over|out|up|down))=["'])/gi,"$1if(window.parent &amp;&amp; window.parent.Xinha){return false}");c=this.inwardSpecialReplacements(c);c=c.replace(/(<script[^>]*((type=[\"\']text\/)|(language=[\"\'])))(javascript)/gi,"$1freezescript");var d=new RegExp("((href|src|background)=['\"])/+","gi");c=c.replace(d,"$1"+location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/");c=this.fixRelativeLinks(c);if(this.config.fullPage){c=Xinha.addCoreCSS(c)}if(typeof this.config.inwardHtml=="function"){c=this.config.inwardHtml(c)}return c};Xinha.prototype.outwardSpecialReplacements=function(b){for(var a in this.config.specialReplacements){var e=this.config.specialReplacements[a];var d=a;if(typeof e.replace!="function"||typeof d.replace!="function"){continue}var c=new RegExp(Xinha.escapeStringForRegExp(e),"g");b=b.replace(c,d.replace(/\$/g,"$$$$"))}return b};Xinha.prototype.inwardSpecialReplacements=function(b){for(var a in this.config.specialReplacements){var e=a;var d=this.config.specialReplacements[a];if(typeof e.replace!="function"||typeof d.replace!="function"){continue}var c=new RegExp(Xinha.escapeStringForRegExp(e),"g");b=b.replace(c,d.replace(/\$/g,"$$$$"))}return b};Xinha.prototype.fixRelativeLinks=function(f){if(typeof this.config.expandRelativeUrl!="undefined"&&this.config.expandRelativeUrl){if(f==null){return""}var c=f.match(/(src|href)="([^"]*)"/gi);var j=document.location.href;if(c){var d,l,k,m,h;for(var e=0;e<c.length;++e){d=c[e].match(/(src|href)="([^"]*)"/i);l=d[2].match(/\.\.\//g);if(l){k=new RegExp("(.*?)(([^/]*/){"+l.length+"})[^/]*$");m=j.match(k);h=d[2].replace(/(\.\.\/)*/,m[1]);f=f.replace(new RegExp(Xinha.escapeStringForRegExp(d[2])),h)}}}}if(typeof this.config.stripSelfNamedAnchors!="undefined"&&this.config.stripSelfNamedAnchors){var g=new RegExp('((href|src|background)=")('+Xinha.escapeStringForRegExp(window.unescape(document.location.href.replace(/&/g,"&amp;")))+")([#?][^'\" ]*)","g");f=f.replace(g,"$1$4")}if(typeof this.config.stripBaseHref!="undefined"&&this.config.stripBaseHref){var a=null;if(typeof this.config.baseHref!="undefined"&&this.config.baseHref!==null){a=new RegExp('((href|src|background|action)=")('+Xinha.escapeStringForRegExp(this.config.baseHref.replace(/([^\/]\/)(?=.+\.)[^\/]*$/,"$1"))+")","g");f=f.replace(a,"$1")}a=new RegExp('((href|src|background|action)=")('+Xinha.escapeStringForRegExp(document.location.href.replace(/^(https?:\/\/[^\/]*)(.*)/,"$1"))+")","g");f=f.replace(a,"$1")}return f};Xinha.prototype.getInnerHTML=function(){if(!this._doc.body){return""}var a="";switch(this._editMode){case"wysiwyg":if(!this.config.fullPage){a=this._doc.body.innerHTML}else{a=this.doctype+"\n"+this._doc.documentElement.innerHTML}break;case"textmode":a=this._textArea.value;break;default:alert("Mode <"+this._editMode+"> not defined!");return false}return a};Xinha.prototype.setHTML=function(a){if(!this.config.fullPage){this._doc.body.innerHTML=a}else{this.setFullHTML(a)}this._textArea.value=a};Xinha.prototype.setDoctype=function(a){this.doctype=a};Xinha._object=null;Array.prototype.isArray=true;RegExp.prototype.isRegExp=true;Xinha.cloneObject=function(obj){if(!obj){return null}var newObj=obj.isArray?[]:{};if(obj.constructor.toString().match(/\s*function Function\(/)||typeof obj=="function"){newObj=obj}else{if(obj.isRegExp){newObj=eval(obj.toString())}else{for(var n in obj){var node=obj[n];if(typeof node=="object"){newObj[n]=Xinha.cloneObject(node)}else{newObj[n]=node}}}}return newObj};Xinha.extend=function(a,c){function b(){}b.prototype=c.prototype;a.prototype=new b();a.prototype.constructor=a;a.parentConstructor=c;a.superClass=c.prototype};Xinha.flushEvents=function(){var a=0;var c=Xinha._eventFlushers.pop();while(c){try{if(c.length==3){Xinha._removeEvent(c[0],c[1],c[2]);a++}else{if(c.length==2){c[0]["on"+c[1]]=null;c[0]._xinha_dom0Events[c[1]]=null;a++}}}catch(b){}c=Xinha._eventFlushers.pop()}};Xinha._eventFlushers=[];if(document.addEventListener){Xinha._addEvent=function(b,a,c){b.addEventListener(a,c,false);Xinha._eventFlushers.push([b,a,c])};Xinha._removeEvent=function(b,a,c){b.removeEventListener(a,c,false)};Xinha._stopEvent=function(a){a.preventDefault();a.stopPropagation()}}else{if(document.attachEvent){Xinha._addEvent=function(b,a,c){b.attachEvent("on"+a,c);Xinha._eventFlushers.push([b,a,c])};Xinha._removeEvent=function(b,a,c){b.detachEvent("on"+a,c)};Xinha._stopEvent=function(b){try{b.cancelBubble=true;b.returnValue=false}catch(a){}}}else{Xinha._addEvent=function(b,a,c){alert("_addEvent is not supported")};Xinha._removeEvent=function(b,a,c){alert("_removeEvent is not supported")};Xinha._stopEvent=function(a){alert("_stopEvent is not supported")}}}Xinha._addEvents=function(c,a,d){for(var b=a.length;--b>=0;){Xinha._addEvent(c,a[b],d)}};Xinha._removeEvents=function(c,a,d){for(var b=a.length;--b>=0;){Xinha._removeEvent(c,a[b],d)}};Xinha.addOnloadHandler=function(b,a){a=a?a:window;var c=function(){if(arguments.callee.done){return}arguments.callee.done=true;if(Xinha.onloadTimer){clearInterval(Xinha.onloadTimer)}b()};if(Xinha.is_ie){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);c()}});if(document.documentElement.doScroll&&typeof window.frameElement==="undefined"){(function(){if(arguments.callee.done){return}try{document.documentElement.doScroll("left")}catch(d){setTimeout(arguments.callee,0);return}c()})()}}else{if(/applewebkit|KHTML/i.test(navigator.userAgent)){Xinha.onloadTimer=a.setInterval(function(){if(/loaded|complete/.test(a.document.readyState)){c()}},10)}else{a.document.addEventListener("DOMContentLoaded",c,false)}}Xinha._addEvent(a,"load",c)};Xinha.addDom0Event=function(b,c,a){Xinha._prepareForDom0Events(b,c);b._xinha_dom0Events[c].unshift(a)};Xinha.prependDom0Event=function(b,c,a){Xinha._prepareForDom0Events(b,c);b._xinha_dom0Events[c].push(a)};Xinha.getEvent=function(a){return a||window.event};Xinha._prepareForDom0Events=function(a,b){if(typeof a._xinha_dom0Events=="undefined"){a._xinha_dom0Events={};Xinha.freeLater(a,"_xinha_dom0Events")}if(typeof a._xinha_dom0Events[b]=="undefined"){a._xinha_dom0Events[b]=[];if(typeof a["on"+b]=="function"){a._xinha_dom0Events[b].push(a["on"+b])}a["on"+b]=function(e){var c=a._xinha_dom0Events[b];var f=true;for(var d=c.length;--d>=0;){a._xinha_tempEventHandler=c[d];if(a._xinha_tempEventHandler(e)===false){a._xinha_tempEventHandler=null;f=false;break}a._xinha_tempEventHandler=null}return f};Xinha._eventFlushers.push([a,b])}};Xinha.prototype.notifyOn=function(b,a){if(typeof this._notifyListeners[b]=="undefined"){this._notifyListeners[b]=[];Xinha.freeLater(this,"_notifyListeners")}this._notifyListeners[b].push(a)};Xinha.prototype.notifyOf=function(c,a){if(this._notifyListeners[c]){for(var b=0;b<this._notifyListeners[c].length;b++){this._notifyListeners[c][b](c,a)}}};Xinha._blockTags=" body form textarea fieldset ul ol dl li div p h1 h2 h3 h4 h5 h6 quote pre table thead tbody tfoot tr td th iframe address blockquote title meta link style head ";Xinha.isBlockElement=function(a){return a&&a.nodeType==1&&(Xinha._blockTags.indexOf(" "+a.tagName.toLowerCase()+" ")!=-1)};Xinha._paraContainerTags=" body td th caption fieldset div ";Xinha.isParaContainer=function(a){return a&&a.nodeType==1&&(Xinha._paraContainerTags.indexOf(" "+a.tagName.toLowerCase()+" ")!=-1)};Xinha._closingTags=" a abbr acronym address applet b bdo big blockquote button caption center cite code del dfn dir div dl em fieldset font form frameset h1 h2 h3 h4 h5 h6 i iframe ins kbd label legend map menu noframes noscript object ol optgroup pre q s samp script select small span strike strong style sub sup table textarea title tt u ul var ";Xinha.needsClosingTag=function(a){return a&&a.nodeType==1&&(Xinha._closingTags.indexOf(" "+a.tagName.toLowerCase()+" ")!=-1)};Xinha.htmlEncode=function(a){if(!a){return""}if(typeof a.replace=="undefined"){a=a.toString()}a=a.replace(/&/ig,"&amp;");a=a.replace(/</ig,"&lt;");a=a.replace(/>/ig,"&gt;");a=a.replace(/\xA0/g,"&nbsp;");a=a.replace(/\x22/g,"&quot;");return a};Xinha.prototype.stripBaseURL=function(b){if(this.config.baseHref===null||!this.config.stripBaseHref){return b}var c=this.config.baseHref.replace(/^(https?:\/\/[^\/]+)(.*)$/,"$1");var a=new RegExp(c);return b.replace(a,"")};if(typeof String.prototype.trim!="function"){String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}}Xinha._makeColor=function(c){if(typeof c!="number"){return c}var e=c&255;var d=(c>>8)&255;var a=(c>>16)&255;return"rgb("+e+","+d+","+a+")"};Xinha._colorToRgb=function(c){if(!c){return""}var h,f,a;function e(b){return(b<16)?("0"+b.toString(16)):b.toString(16)}if(typeof c=="number"){h=c&255;f=(c>>8)&255;a=(c>>16)&255;return"#"+e(h)+e(f)+e(a)}if(c.substr(0,3)=="rgb"){var d=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/;if(c.match(d)){h=parseInt(RegExp.$1,10);f=parseInt(RegExp.$2,10);a=parseInt(RegExp.$3,10);return"#"+e(h)+e(f)+e(a)}return null}if(c.substr(0,1)=="#"){return c}return null};Xinha.prototype._popupDialog=function(b,a,c){Dialog(this.popupURL(b),a,c)};Xinha.prototype.imgURL=function(b,a){if(typeof a=="undefined"){return _editor_url+b}else{return Xinha.getPluginDir(a)+"/img/"+b}};Xinha.prototype.popupURL=function(d){var c="";if(d.match(/^plugin:\/\/(.*?)\/(.*)/)){var b=RegExp.$1;var a=RegExp.$2;if(!/\.(html?|php)$/.test(a)){a+=".html"}c=Xinha.getPluginDir(b)+"/popups/"+a}else{if(d.match(/^\/.*?/)||d.match(/^https?:\/\//)){c=d}else{c=_editor_url+this.config.popupURL+d}}return c};Xinha.getElementById=function(a,e){var c,b,d=document.getElementsByTagName(a);for(b=d.length;--b>=0&&(c=d[b]);){if(c.id==e){return c}}return null};Xinha.prototype._toggleBorders=function(){var a=this._doc.getElementsByTagName("TABLE");if(a.length!==0){if(!this.borders){this.borders=true}else{this.borders=false}for(var b=0;b<a.length;b++){if(this.borders){Xinha._addClass(a[b],"htmtableborders")}else{Xinha._removeClass(a[b],"htmtableborders")}}}return true};Xinha.addCoreCSS=function(b){var a='<style title="XinhaInternalCSS" type="text/css">.htmtableborders, .htmtableborders td, .htmtableborders th {border : 1px dashed lightgrey ! important;}\nhtml, body { border: 0px; } \nbody { background-color: #ffffff; } \nimg, hr { cursor: default } \n</style>\n';if(b&&/<head>/i.test(b)){return b.replace(/<head>/i,"<head>"+a)}else{if(b){return a+b}else{return a}}};Xinha.prototype.addEditorStylesheet=function(a){var b=this._doc.createElement("link");b.rel="stylesheet";b.type="text/css";b.title="XinhaInternalCSS";b.href=a;this._doc.getElementsByTagName("HEAD")[0].appendChild(b)};Xinha.stripCoreCSS=function(a){return a.replace(/<style[^>]+title="XinhaInternalCSS"(.|\n)*?<\/style>/ig,"").replace(/<link[^>]+title="XinhaInternalCSS"(.|\n)*?>/ig,"")};Xinha._removeClass=function(e,c){if(!(e&&e.className)){return}var a=e.className.split(" ");var b=[];for(var d=a.length;d>0;){if(a[--d]!=c){b[b.length]=a[d]}}e.className=b.join(" ")};Xinha._addClass=function(b,a){Xinha._removeClass(b,a);b.className+=" "+a};Xinha.addClasses=function(g,e){if(g!==null){var f=g.className.trim().split(" ");var d=e.split(" ");for(var a=0;a<d.length;a++){var b=false;for(var c=0;b===false&&c<f.length;c++){if(f[c]==d[a]){b=true}}if(b===false){f[f.length]=d[a]}}g.className=f.join(" ").trim()}};Xinha.removeClasses=function(e,d){var b=e.className.trim().split();var f=[];var h=d.trim().split();for(var c=0;c<b.length;c++){var g=false;for(var a=0;a<h.length&&!g;a++){if(b[c]==h[a]){g=true}}if(!g){f[f.length]=b[c]}}return f.join(" ")};Xinha.addClass=Xinha._addClass;Xinha.removeClass=Xinha._removeClass;Xinha._addClasses=Xinha.addClasses;Xinha._removeClasses=Xinha.removeClasses;Xinha._hasClass=function(d,b){if(!(d&&d.className)){return false}var a=d.className.split(" ");for(var c=a.length;c>0;){if(a[--c]==b){return true}}return false};Xinha._postback_send_charset=true;Xinha._postback=function(b,g,h,d){var f=null;f=Xinha.getXMLHTTPRequestObject();var e="";if(typeof g=="string"){e=g}else{if(typeof g=="object"){for(var c in g){e+=(e.length?"&":"")+c+"="+encodeURIComponent(g[c])}}}function a(){if(f.readyState==4){if(((f.status/100)==2)||Xinha.isRunLocally&&f.status===0){if(typeof h=="function"){h(f.responseText,f)}}else{if(Xinha._postback_send_charset){Xinha._postback_send_charset=false;Xinha._postback(b,g,h,d)}else{if(typeof d=="function"){d(f)}else{alert("An error has occurred: "+f.statusText+"\nURL: "+b)}}}}}f.onreadystatechange=a;f.open("POST",b,true);f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"+(Xinha._postback_send_charset?"; charset=UTF-8":""));f.send(e)};Xinha._getback=function(b,e,c){var d=null;d=Xinha.getXMLHTTPRequestObject();function a(){if(d.readyState==4){if(((d.status/100)==2)||Xinha.isRunLocally&&d.status===0){e(d.responseText,d)}else{if(typeof c=="function"){c(d)}else{alert("An error has occurred: "+d.statusText+"\nURL: "+b)}}}}d.onreadystatechange=a;d.open("GET",b,true);d.send(null)};Xinha.ping=function(d,c,b){var e=null;e=Xinha.getXMLHTTPRequestObject();function a(){if(e.readyState==4){if(((e.status/100)==2)||Xinha.isRunLocally&&e.status===0){if(c){c(e)}}else{if(b){b(e)}}}}var f="GET";e.onreadystatechange=a;e.open(f,d,true);e.send(null)};Xinha._geturlcontent=function(a,c){var b=null;b=Xinha.getXMLHTTPRequestObject();b.open("GET",a,false);b.send(null);if(((b.status/100)==2)||Xinha.isRunLocally&&b.status===0){return(c)?b.responseXML:b.responseText}else{return""}};if(typeof dumpValues=="undefined"){dumpValues=function(c){var b="";for(var d in c){if(window.console&&typeof window.console.log=="function"){if(typeof console.firebug!="undefined"){console.log(c)}else{console.log(d+" = "+c[d]+"\n")}}else{b+=d+" = "+c[d]+"\n"}}if(b){if(document.getElementById("errors")){document.getElementById("errors").value+=b}else{var a=window.open("","debugger");a.document.write("<pre>"+b+"</pre>")}}}}if(!Array.prototype.contains){Array.prototype.contains=function(c){var b=this;for(var a=0;a<b.length;a++){if(c==b[a]){return true}}return false}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c){var b=this;for(var a=0;a<b.length;a++){if(c==b[a]){return a}}return null}}if(!Array.prototype.append){Array.prototype.append=function(b){for(var c=0;c<b.length;c++){this.push(b[c])}return this}}if(!Array.prototype.forEach){Array.prototype.forEach=function(d){var a=this.length;if(typeof d!="function"){throw new TypeError()}var c=arguments[1];for(var b=0;b<a;b++){if(b in this){d.call(c,this[b],b,this)}}}}Xinha.getElementsByClassName=function(d,a){if(d.getElementsByClassName){return Array.prototype.slice.call(d.getElementsByClassName(a))}else{var c=d.getElementsByTagName("*");var e=[];var f;for(var b=0;b<c.length;b++){f=c[b].className.split(" ");if(f.contains(a)){e.push(c[b])}}return e}};Xinha.arrayContainsArray=function(c,b){var e=true;for(var a=0;a<b.length;a++){var f=false;for(var d=0;d<c.length;d++){if(c[d]==b[a]){f=true;break}}if(!f){e=false;break}}return e};Xinha.arrayFilter=function(c,b){var d=[];for(var a=0;a<c.length;a++){if(b(c[a])){d[d.length]=c[a]}}return d};Xinha.collectionToArray=function(c){try{return c.length?Array.prototype.slice.call(c):[]}catch(b){}var d=[];for(var a=0;a<c.length;a++){d.push(c.item(a))}return d};Xinha.uniq_count=0;Xinha.uniq=function(a){return a+Xinha.uniq_count++};Xinha._loadlang=function(context,url){var lang;if(typeof _editor_lcbackend=="string"){url=_editor_lcbackend;url=url.replace(/%lang%/,_editor_lang);url=url.replace(/%context%/,context)}else{if(!url){if(context!="Xinha"){url=Xinha.getPluginDir(context)+"/lang/"+_editor_lang+".js"}else{Xinha.setLoadingMessage("Loading language");url=_editor_url+"lang/"+_editor_lang+".js"}}}var langData=Xinha._geturlcontent(url);if(langData!==""){try{eval("lang = "+langData)}catch(ex){alert("Error reading Language-File ("+url+"):\n"+Error.toString());lang={}}}else{lang={}}return lang};Xinha._lc=function(d,b,c){var a,h;if(typeof b=="object"&&b.url&&b.context){a=b.url+_editor_lang+".js";b=b.context}var f=null;if(typeof d=="string"){f=d.match(/\$(.*?)=(.*?)\$/g)}if(f){if(!c){c={}}for(var g=0;g<f.length;g++){var e=f[g].match(/\$(.*?)=(.*?)\$/);c[e[1]]=e[2];d=d.replace(e[0],"$"+e[1])}}if(_editor_lang=="en"){if(typeof d=="object"&&d.string){h=d.string}else{h=d}}else{if(typeof Xinha._lc_catalog=="undefined"){Xinha._lc_catalog=[]}if(typeof b=="undefined"){b="Xinha"}if(typeof Xinha._lc_catalog[b]=="undefined"){Xinha._lc_catalog[b]=Xinha._loadlang(b,a)}var j;if(typeof d=="object"&&d.key){j=d.key}else{if(typeof d=="object"&&d.string){j=d.string}else{j=d}}if(typeof Xinha._lc_catalog[b][j]=="undefined"){if(b=="Xinha"){if(typeof d=="object"&&d.string){h=d.string}else{h=d}}else{return Xinha._lc(d,"Xinha",c)}}else{h=Xinha._lc_catalog[b][j]}}if(typeof d=="object"&&d.replace){c=d.replace}if(typeof c!="undefined"){for(g in c){h=h.replace("$"+g,c[g])}}return h};Xinha.hasDisplayedChildren=function(c){var b=c.childNodes;for(var a=0;a<b.length;a++){if(b[a].tagName){if(b[a].style.display!="none"){return true}}}return false};Xinha._loadback=function(a,e,d,f){if(document.getElementById(a)){return true}var b=!Xinha.is_ie?"onload":"onreadystatechange";var c=document.createElement("script");c.type="text/javascript";c.src=a;c.id=a;if(e){c[b]=function(){if(Xinha.is_ie&&(!/loaded|complete/.test(window.event.srcElement.readyState))){return}e.call(d?d:this,f);c[b]=null}}document.getElementsByTagName("head")[0].appendChild(c);return false};Xinha.makeEditors=function(d,f,g){if(!Xinha.isSupportedBrowser){return}if(typeof f=="function"){f=f()}var b={};var e;for(var a=0;a<d.length;a++){if(typeof d[a]=="string"){e=Xinha.getElementById("textarea",d[a]);if(!e){d[a]=null;continue}}else{if(typeof d[a]=="object"&&d[a].tagName&&d[a].tagName.toLowerCase()=="textarea"){e=d[a];if(!e.id){e.id="xinha_id_"+a}}}var c=new Xinha(e,Xinha.cloneObject(f));c.registerPlugins(g);b[e.id]=c}return b};Xinha.startEditors=function(a){if(!Xinha.isSupportedBrowser){return}for(var b in a){if(a[b].generate){a[b].generate()}}};Xinha.prototype.registerPlugins=function(b){if(!Xinha.isSupportedBrowser){return}if(b){for(var a=0;a<b.length;a++){this.setLoadingMessage(Xinha._lc("Register plugin $plugin","Xinha",{plugin:b[a]}));this.registerPlugin(b[a])}}};Xinha.base64_encode=function(d){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var b="";var k,h,g;var l,j,f,e;var a=0;do{k=d.charCodeAt(a++);h=d.charCodeAt(a++);g=d.charCodeAt(a++);l=k>>2;j=((k&3)<<4)|(h>>4);f=((h&15)<<2)|(g>>6);e=g&63;if(isNaN(h)){f=e=64}else{if(isNaN(g)){e=64}}b=b+c.charAt(l)+c.charAt(j)+c.charAt(f)+c.charAt(e)}while(a<d.length);return b};Xinha.base64_decode=function(d){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var b="";var k,h,g;var l,j,f,e;var a=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{l=c.indexOf(d.charAt(a++));j=c.indexOf(d.charAt(a++));f=c.indexOf(d.charAt(a++));e=c.indexOf(d.charAt(a++));k=(l<<2)|(j>>4);h=((j&15)<<4)|(f>>2);g=((f&3)<<6)|e;b=b+String.fromCharCode(k);if(f!=64){b=b+String.fromCharCode(h)}if(e!=64){b=b+String.fromCharCode(g)}}while(a<d.length);return b};Xinha.removeFromParent=function(b){if(!b.parentNode){return}var a=b.parentNode;return a.removeChild(b)};Xinha.hasParentNode=function(a){if(a.parentNode){if(a.parentNode.nodeType==11){return false}return true}return false};Xinha.viewportSize=function(b){b=(b)?b:window;var a,c;if(b.innerHeight){a=b.innerWidth;c=b.innerHeight}else{if(b.document.documentElement&&b.document.documentElement.clientHeight){a=b.document.documentElement.clientWidth;c=b.document.documentElement.clientHeight}else{if(b.document.body){a=b.document.body.clientWidth;c=b.document.body.clientHeight}}}return{x:a,y:c}};Xinha.pageSize=function(d){d=(d)?d:window;var a,e;var c=d.document.body.scrollHeight;var b=d.document.documentElement.scrollHeight;if(c>b){a=d.document.body.scrollWidth;e=d.document.body.scrollHeight}else{a=d.document.documentElement.scrollWidth;e=d.document.documentElement.scrollHeight}return{x:a,y:e}};Xinha.prototype.scrollPos=function(b){b=(b)?b:window;var a,c;if(typeof b.pageYOffset!="undefined"){a=b.pageXOffset;c=b.pageYOffset}else{if(b.document.documentElement&&typeof document.documentElement.scrollTop!="undefined"){a=b.document.documentElement.scrollLeft;c=b.document.documentElement.scrollTop}else{if(b.document.body){a=b.document.body.scrollLeft;c=b.document.body.scrollTop}}}return{x:a,y:c}};Xinha.getElementTopLeft=function(b){var c=0;var a=0;if(b.offsetParent){c=b.offsetLeft;a=b.offsetTop;while(b=b.offsetParent){c+=b.offsetLeft;a+=b.offsetTop}}return{top:a,left:c}};Xinha.findPosX=function(a){var b=0;if(a.offsetParent){return Xinha.getElementTopLeft(a).left}else{if(a.x){b+=a.x}}return b};Xinha.findPosY=function(b){var a=0;if(b.offsetParent){return Xinha.getElementTopLeft(b).top}else{if(b.y){a+=b.y}}return a};Xinha.createLoadingMessages=function(b){if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){return}Xinha.loadingMessages=[];for(var a=0;a<b.length;a++){if(!document.getElementById(b[a])){continue}Xinha.loadingMessages.push(Xinha.createLoadingMessage(Xinha.getElementById("textarea",b[a])))}};Xinha.createLoadingMessage=function(d,e){if(document.getElementById("loading_"+d.id)||!Xinha.isSupportedBrowser){return}var a=document.createElement("div");a.id="loading_"+d.id;a.className="loading";a.style.left=(Xinha.findPosX(d)+d.offsetWidth/2)-106+"px";a.style.top=(Xinha.findPosY(d)+d.offsetHeight/2)-50+"px";var b=document.createElement("div");b.className="loading_main";b.id="loading_main_"+d.id;b.appendChild(document.createTextNode(Xinha._lc("Loading in progress. Please wait!")));var c=document.createElement("div");c.className="loading_sub";c.id="loading_sub_"+d.id;e=e?e:Xinha._lc("Loading Core");c.appendChild(document.createTextNode(e));a.appendChild(b);a.appendChild(c);document.body.appendChild(a);Xinha.freeLater(a);Xinha.freeLater(b);Xinha.freeLater(c);return c};Xinha.prototype.setLoadingMessage=function(b,a){if(!document.getElementById("loading_sub_"+this._textArea.id)){return}document.getElementById("loading_main_"+this._textArea.id).innerHTML=a?a:Xinha._lc("Loading in progress. Please wait!");document.getElementById("loading_sub_"+this._textArea.id).innerHTML=b};Xinha.setLoadingMessage=function(b){if(!Xinha.loadingMessages){return}for(var a=0;a<Xinha.loadingMessages.length;a++){Xinha.loadingMessages[a].innerHTML=b}};Xinha.prototype.removeLoadingMessage=function(){if(document.getElementById("loading_"+this._textArea.id)){document.body.removeChild(document.getElementById("loading_"+this._textArea.id))}};Xinha.removeLoadingMessages=function(c){for(var b=0;b<c.length;b++){if(!document.getElementById(c[b])){continue}var a=document.getElementById("loading_"+document.getElementById(c[b]).id);a.parentNode.removeChild(a)}Xinha.loadingMessages=null};Xinha.toFree=[];Xinha.freeLater=function(a,b){Xinha.toFree.push({o:a,p:b})};Xinha.free=function(c,d){if(c&&!d){for(var b in c){Xinha.free(c,b)}}else{if(c){if(d.indexOf("src")==-1){try{c[d]=null}catch(a){}}}}};Xinha.collectGarbageForIE=function(){Xinha.flushEvents();for(var a=0;a<Xinha.toFree.length;a++){Xinha.free(Xinha.toFree[a].o,Xinha.toFree[a].p);Xinha.toFree[a].o=null}};Xinha.prototype.insertNodeAtSelection=function(a){Xinha.notImplemented("insertNodeAtSelection")};Xinha.prototype.getParentElement=function(a){Xinha.notImplemented("getParentElement")};Xinha.prototype.activeElement=function(a){Xinha.notImplemented("activeElement")};Xinha.prototype.selectionEmpty=function(a){Xinha.notImplemented("selectionEmpty")};Xinha.prototype.saveSelection=function(){Xinha.notImplemented("saveSelection")};Xinha.prototype.restoreSelection=function(a){Xinha.notImplemented("restoreSelection")};Xinha.prototype.selectNodeContents=function(a,b){Xinha.notImplemented("selectNodeContents")};Xinha.prototype.insertHTML=function(a){Xinha.notImplemented("insertHTML")};Xinha.prototype.getSelectedHTML=function(){Xinha.notImplemented("getSelectedHTML")};Xinha.prototype.getSelection=function(){Xinha.notImplemented("getSelection")};Xinha.prototype.createRange=function(a){Xinha.notImplemented("createRange")};Xinha.prototype.isKeyEvent=function(a){Xinha.notImplemented("isKeyEvent")};Xinha.prototype.isShortCut=function(a){if(a.ctrlKey&&!a.altKey){return true}return false};Xinha.prototype.getKey=function(a){Xinha.notImplemented("getKey")};Xinha.getOuterHTML=function(a){Xinha.notImplemented("getOuterHTML")};Xinha.getXMLHTTPRequestObject=function(){try{if(typeof XMLHttpRequest!="undefined"&&typeof XMLHttpRequest.constructor=="function"){return new XMLHttpRequest()}else{if(typeof ActiveXObject=="function"){return new ActiveXObject("Microsoft.XMLHTTP")}}}catch(a){Xinha.notImplemented("getXMLHTTPRequestObject")}};Xinha.prototype._activeElement=function(a){return this.activeElement(a)};Xinha.prototype._selectionEmpty=function(a){return this.selectionEmpty(a)};Xinha.prototype._getSelection=function(){return this.getSelection()};Xinha.prototype._createRange=function(a){return this.createRange(a)};HTMLArea=Xinha;Xinha.init();if(Xinha.ie_version<8){Xinha.addDom0Event(window,"unload",Xinha.collectGarbageForIE)}Xinha.debugMsg=function(a,b){if(typeof console!="undefined"&&typeof console.log=="function"){if(b&&b=="warn"&&typeof console.warn=="function"){console.warn(a)}else{if(b&&b=="info"&&typeof console.info=="function"){console.info(a)}else{console.log(a)}}}else{if(typeof opera!="undefined"&&typeof opera.postError=="function"){opera.postError(a)}}};Xinha.notImplemented=function(a){throw new Error("Method Not Implemented","Part of Xinha has tried to call the "+a+" method which has not been implemented.")};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>XinhaCore.js</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>XinhaCore.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
-- COMPATABILITY FILE
-- htmlarea.js is now XinhaCore.js
--
-- $HeadURL:http://svn.xinha.webfactional.com/trunk/htmlarea.js $
-- $LastChangedDate:2007-01-15 15:28:57 +0100 (Mo, 15 Jan 2007) $
-- $LastChangedRevision:659 $
-- $LastChangedBy:gogo $
--------------------------------------------------------------------------*/
if ( typeof _editor_url == "string" )
{
// Leave exactly one backslash at the end of _editor_url
_editor_url = _editor_url.replace(/\x2f*$/, '/');
}
else
{
alert("WARNING: _editor_url is not set! You should set this variable to the editor files path; it should preferably be an absolute path, like in '/htmlarea/', but it can be relative if you prefer. Further we will try to load the editor files correctly but we'll probably fail.");
_editor_url = '';
}
document.write('<script type="text/javascript" src="'+_editor_url+'XinhaCore.js"></script>');
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>htmlarea.js</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>htmlarea.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>images</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>images</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>bold.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>bold.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>de</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>bold.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>bold.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>italic.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>italic.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>underline.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>underline.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_about.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_align.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_align_center.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_align_justify.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_align_left.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_align_right.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_blank.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_buttons_main.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>198</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>198</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_buttons_main.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>198</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>198</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_charmap.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_clearfonts.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>24</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>24</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_color_bg.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_color_fg.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_copy.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_custom.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_cut.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_delete.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_delete.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_format_bold.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_format_bold.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_format_italic.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_format_italic.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_format_strike.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_format_strike.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_format_sub.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_format_sub.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_format_sup.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_format_sup.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_format_underline.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_format_underline.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_help.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_help.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_hr.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_hr.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_html.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_html.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_image.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_image.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_indent_less.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_indent_less.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_indent_more.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_indent_more.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_killword.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_killword.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_left_to_right.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_left_to_right.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_link.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_link.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_list_bullet.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_list_bullet.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_list_num.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_list_num.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_overwrite.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_overwrite.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_paste.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_paste.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_print.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_print.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_redo.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_redo.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_right_to_left.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_right_to_left.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_rmformat.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_rmformat.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_save.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_save.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_save.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_save.png</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_saveas.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_saveas.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_selectall.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_selectall.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_show_border.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_show_border.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_splitblock.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_splitblock.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_splitcel.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>22</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_splitcel.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>23</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_undo.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_undo.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ed_word_cleaner.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ed_word_cleaner.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>23</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>fr</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fullscreen_maximize.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>fullscreen_maximize.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fullscreen_minimize.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>fullscreen_minimize.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>insert_table.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>insert_table.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>insertfilelink.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>insertfilelink.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>insertmacro.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>16</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>insertmacro.png</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>strikethrough.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>strikethrough.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>tidy.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>tidy.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>toggle_borders.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>toggle_borders.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>underline.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>underline.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>18</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>xinha-small-icon.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>12</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>xinha-small-icon.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>16</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>xinha_logo.gif</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/gif</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>50</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>xinha_logo.gif</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>203</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>modules</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>AboutBox</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
(function(){Xinha.plugins.AboutBox=a;function a(b){this.editor=b}a._pluginInfo={name:"AboutBox",developer:"The Xinha Core Developer Team"};a.prototype._lc=function(b){return Xinha._lc(b,"AboutBox")};a.prototype._prepareDialog=function(){var c=this;var b=this.editor;Xinha.loadStyle("about.css","AboutBox","aboutCSS");this.dialog=new Xinha.Dialog(b,a.html,"Xinha",{width:600});this.dialog.getElementById("close").onclick=function(){c.dialog.hide()};this.dialog.getElementById("xinha_logo").src=_editor_url+"images/xinha_logo.gif";var d=this.dialog.getElementsByClassName("tab");this.currentTab=d[0];d.forEach(function(e){e.onclick=function(){if(c.currentTab){Xinha._removeClass(c.currentTab,"tab-current");c.dialog.getElementById(c.currentTab.rel).style.display="none"}Xinha._addClass(e,"tab-current");e.blur();c.currentTab=e;c.dialog.getElementById(e.rel).style.display="block"}});this.fillPlugins();this.fillVersion();this.dialog.onresize=function(){this.getElementById("content").style.height=parseInt(this.height,10)-this.getElementById("h1").offsetHeight-this.getElementById("buttons").offsetHeight-100+"px"}};a.prototype.fillPlugins=function(){var k=this.editor;var d=this.dialog.getElementById("plugins_table");var g,l,b;var c=0;for(var f in k.plugins){var h=k.plugins[f];g=document.createElement("tr");if(c%2){g.style.backgroundColor="#e5e5e5"}d.appendChild(g);l=document.createElement("td");l.innerHTML=h.name;if(h.version){l.innerHTML+=" v"+h.version}g.appendChild(l);l=document.createElement("td");if(h.developer){if(h.developer_url){l.innerHTML='<a target="_blank" href="'+h.developer_url+'">'+h.developer+"</a>"}else{l.innerHTML=h.developer}}g.appendChild(l);l=document.createElement("td");if(h.sponsor){if(h.sponsor_url){l.innerHTML='<a target="_blank" href="'+h.sponsor_url+'">'+h.sponsor+"</a>"}else{l.innerHTML=h.sponsor}}g.appendChild(l);l=document.createElement("td");if(h.license){l.innerHTML=h.license}else{l.innerHTML="htmlArea"}g.appendChild(l);c++}};a.prototype.fillVersion=function(){var b=Xinha.version;this.dialog.getElementById("version").innerHTML="<pre>\nRelease: "+b.Release+" ("+b.Date+")\nHead: "+b.Head+"\nRevision: "+b.Revision+"\nLast Changed By: "+b.RevisionBy+"\n</pre>"};a.prototype.show=function(){var b=this;if(!a.html){if(a.loading){return}a.loading=true;Xinha._getback(Xinha.getPluginDir("AboutBox")+"/dialog.html",function(d){a.html=d;b.show()});return}if(!this.dialog){this._prepareDialog()}var c={inputArea:""};this.dialog.show(c)}})();
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>AboutBox.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>AboutBox.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
.dialog .about.buttons a.tab {
color: #000;
cursor: pointer;
margin-left: -5px;
float: left; position: relative;
border: 1px solid #555;
top: -3px; left: -2px;
padding: 2px 10px 3px 10px;
border-top: none; background-color: #CCC;
-moz-border-radius: 0px 0px 4px 4px;
-webkit-border-radius: 4px;
-webkit-border-top-left-radius:0;
-webkit-border-top-right-radius:0;
z-index: 0;
text-decoration:none;
}
.dialog .about.buttons a.tab-current
{
top: -4px;
background-color: #f5f6f6;
padding: 3px 10px 4px 10px;
z-index: 10;
}
.dialog .about.buttons {
background-color:white;
padding:3px 3px 0 10px;
}
.dialog .about.content .tab-content {
padding-bottom:15px;
width:95%;
}
.dialog .about.content {
height:300px;
overflow:auto;
background-color:#f5f6f6;
}
.dialog .about.content table.plugins{
width:95%;
border: 1px solid black;
margin: 1em;
}
.dialog .about.content table.plugins th{
font-weight: bold;
background-color: #CCC;
}
.dialog .about.content table.plugins td{
padding:3px;
}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>about.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>about.css</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<h1 id="[h1]">
<l10n>About this editor</l10n>
</h1>
<img alt="Xinha" src="" id="[xinha_logo]" />
<div id="[content]" class="about content" style="padding:10px;">
<div id="[about]" class="tab-content">
<p>
A free WYSIWYG editor replacement for
<tt>
&lt;textarea&gt;
</tt>
fields.
</p>
<p>
Visit the <a href="http://xinha.gogo.co.nz/">Xinha Website</a>
for more information.
</p>
<p>
Use of Xinha is granted by the terms of the htmlArea License (based on BSD license)
</p>
<pre> Copyright (c) 2005-2009 Xinha Developer Team and contributors</pre>
<p>
Xinha was originally based on work by Mihai Bazon which is:
</p>
<pre>
Copyright (c) 2003-2004 dynarch.com.
Copyright (c) 2002-2003 interactivetools.com, inc.
This copyright notice MUST stay intact for use.
</pre>
</div>
<div id="[thanks]" style="display:none" class="tab-content">
The development of Xinha would not have been possible without the original work of Mihai Bazon, InteractiveTools.com, and the many sponsors and contributors from around the world.
</div>
<div id="[license]" style="display:none" class="tab-content">
<pre>htmlArea License (based on BSD license)
Copyright (c) 2005-2009 Xinha Developer Team and contributors
Copyright (c) 2002-2004, interactivetools.com, inc.
Copyright (c) 2003-2004 dynarch.com
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1) Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2) Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3) Neither the name of interactivetools.com, inc. nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.</pre>
</div>
<div id="[plugins]" style="display:none" class="tab-content">
<p>The following plugins have been loaded.</p>
<table class="plugins">
<thead>
<tr>
<th>Name</th>
<th>Developer</th>
<th>Sponsored by</th>
<th>License</th>
</tr>
</thead>
<tbody id="[plugins_table]"></tbody>
</table>
<p>License "htmlArea" means that the plugin is distributed under the same terms as Xinha itself.</p>
</div>
<div id="[version]" style="display:none" class="tab-content">
</div>
</div>
<div class="buttons about" id="[buttons]">
<input style="float:right" type="button" id="[close]" value="_(Close)" />
<div style="float:left">
<a rel="about" class="tab tab-current" href="javascript:void(0)">About</a>
<a rel="thanks" class="tab" href="javascript:void(0)">Thanks</a>
<a rel="license" class="tab" href="javascript:void(0)">License</a>
<a rel="plugins" class="tab" href="javascript:void(0)">Plugins</a>
<a rel="version" class="tab" href="javascript:void(0)">Version</a>
</div>
</div>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dialog.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dialog.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ColorPicker</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
ColorPicker._pluginInfo={name:"colorPicker",version:"$LastChangedRevision: 1237 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};function ColorPicker(){}try{if(window.opener&&window.opener.Xinha){var openerColorPicker=window.opener.Xinha.colorPicker;Xinha._addEvent(window,"unload",function(){Xinha.colorPicker=openerColorPicker})}}catch(e){}Xinha.colorPicker=function(s){if(Xinha.colorPicker.savedColors.length===0){Xinha.colorPicker.loadColors()}this.is_ie_6=(Xinha.is_ie&&Xinha.ie_version<7);var g=this;var d=false;var k=false;var m=0;var r=0;this.callback=s.callback?s.callback:function(x){alert("You picked "+x)};this.websafe=s.websafe?s.websafe:false;this.savecolors=s.savecolors?s.savecolors:20;this.cellsize=parseInt(s.cellsize?s.cellsize:"10px",10);this.side=s.granularity?s.granularity:18;var i=this.side+1;var f=this.side-1;this.value=1;this.saved_cells=null;this.table=document.createElement("table");this.table.className="dialog";this.table.cellSpacing=this.table.cellPadding=0;this.table.onmouseup=function(){d=false;k=false};this.tbody=document.createElement("tbody");this.table.appendChild(this.tbody);this.table.style.border="1px solid WindowFrame";this.table.style.zIndex="1050";var b=document.createElement("tr");var j=document.createElement("td");j.colSpan=this.side;j.className="title";j.style.fontFamily="small-caption,caption,sans-serif";j.style.fontSize="x-small";j.unselectable="on";j.style.MozUserSelect="none";j.style.cursor="default";j.appendChild(document.createTextNode(Xinha._lc("Click a color...")));j.style.borderBottom="1px solid WindowFrame";b.appendChild(j);j=null;var j=document.createElement("td");j.className="title";j.colSpan=2;j.style.fontFamily="Tahoma,Verdana,sans-serif";j.style.borderBottom="1px solid WindowFrame";j.style.paddingRight="0";b.appendChild(j);var n=document.createElement("div");n.title=Xinha._lc("Close");n.className="buttonColor";n.style.height="11px";n.style.width="11px";n.style.cursor="pointer";n.onclick=function(){g.close()};n.appendChild(document.createTextNode("\u00D7"));n.align="center";n.style.verticalAlign="top";n.style.position="relative";n.style.cssFloat="right";n.style.styleFloat="right";n.style.padding="0";n.style.margin="2px";n.style.backgroundColor="transparent";n.style.fontSize="11px";if(!Xinha.is_ie){n.style.lineHeight="9px"}n.style.letterSpacing="0";j.appendChild(n);this.tbody.appendChild(b);n=b=j=null;this.constrain_cb=document.createElement("input");this.constrain_cb.type="checkbox";this.chosenColor=document.createElement("input");this.chosenColor.type="text";this.chosenColor.maxLength=7;this.chosenColor.style.width="50px";this.chosenColor.style.fontSize="11px";this.chosenColor.onchange=function(){if(/#[0-9a-f]{6,6}/i.test(this.value)){g.backSample.style.backgroundColor=this.value;g.foreSample.style.color=this.value}};this.backSample=document.createElement("div");this.backSample.appendChild(document.createTextNode("\u00A0"));this.backSample.style.fontWeight="bold";this.backSample.style.fontFamily="small-caption,caption,sans-serif";this.backSample.fontSize="x-small";this.foreSample=document.createElement("div");this.foreSample.appendChild(document.createTextNode(Xinha._lc("Sample")));this.foreSample.style.fontWeight="bold";this.foreSample.style.fontFamily="small-caption,caption,sans-serif";this.foreSample.fontSize="x-small";function t(y){var x=y.toString(16);if(x.length<2){x="0"+x}return x}function p(x){return"#"+t(x.red)+t(x.green)+t(x.blue)}function q(x,y){return Math.round(Math.round(x/y)*y)}function h(x){return parseInt(x.toString(16)+x.toString(16),16)}function v(x){x.red=h(q(parseInt(t(x.red).charAt(0),16),3));x.blue=h(q(parseInt(t(x.blue).charAt(0),16),3));x.green=h(q(parseInt(t(x.green).charAt(0),16),3));return x}function a(A,F,D){var C;if(F===0){C={red:D,green:D,blue:D}}else{A/=60;var z=Math.floor(A);var B=A-z;var y=D*(1-F);var x=D*(1-F*B);var E=D*(1-F*(1-B));switch(z){case 0:C={red:D,green:E,blue:y};break;case 1:C={red:x,green:D,blue:y};break;case 2:C={red:y,green:D,blue:E};break;case 3:C={red:y,green:x,blue:D};break;case 4:C={red:E,green:y,blue:D};break;default:C={red:D,green:y,blue:x};break}}C.red=Math.ceil(C.red*255);C.green=Math.ceil(C.green*255);C.blue=Math.ceil(C.blue*255);return C}var o=this;function l(x){x=x?x:window.event;el=x.target?x.target:x.srcElement;do{if(el==o.table){return}}while(el=el.parentNode);o.close()}this.open=function(F,B,A){this.table.style.display="";this.pick_color();if(A&&/#[0-9a-f]{6,6}/i.test(A)){this.chosenColor.value=A;this.backSample.style.backgroundColor=A;this.foreSample.style.color=A}Xinha._addEvent(document.body,"mousedown",l);this.table.style.position="absolute";var E=B;var D=0;var C=0;do{if(E.style.position=="fixed"){this.table.style.position="fixed"}D+=E.offsetTop-E.scrollTop;C+=E.offsetLeft-E.scrollLeft;E=E.offsetParent}while(E);var z,G;if(/top/.test(F)||(D+this.table.offsetHeight>document.body.offsetHeight)){if(D-this.table.offsetHeight>0){this.table.style.top=(D-this.table.offsetHeight)+"px"}else{this.table.style.top=0}}else{this.table.style.top=(D+B.offsetHeight)+"px"}if(/left/.test(F)||(C+this.table.offsetWidth>document.body.offsetWidth)){if(C-(this.table.offsetWidth-B.offsetWidth)>0){this.table.style.left=(C-(this.table.offsetWidth-B.offsetWidth))+"px"}else{this.table.style.left=0}}else{this.table.style.left=C+"px"}if(this.is_ie_6){this.iframe.style.top=this.table.style.top;this.iframe.style.left=this.table.style.left}};function w(x){g.chosenColor.value=x.colorCode;g.backSample.style.backgroundColor=x.colorCode;g.foreSample.style.color=x.colorCode;if((x.hue>=195&&x.saturation>0.5)||(x.hue===0&&x.saturation===0&&x.value<0.5)||(x.hue!==0&&g.value<0.75)){x.style.borderColor="#fff"}else{x.style.borderColor="#000"}m=x.thisrow;r=x.thiscol}function c(x){if(g.value<0.5){x.style.borderColor="#fff"}else{x.style.borderColor="#000"}f=x.thisrow;i=x.thiscol;g.chosenColor.value=g.saved_cells[m][r].colorCode;g.backSample.style.backgroundColor=g.saved_cells[m][r].colorCode;g.foreSample.style.color=g.saved_cells[m][r].colorCode}function u(y,x){g.saved_cells[y][x].style.borderColor=g.saved_cells[y][x].colorCode}this.pick_color=function(){var K,L;var z=this;var S=359/(this.side);var E=1/(this.side-1);var A=1/(this.side-1);var T=this.constrain_cb.checked;if(this.saved_cells===null){this.saved_cells=[];for(var F=0;F<this.side;F++){var y=document.createElement("tr");this.saved_cells[F]=[];for(var D=0;D<this.side;D++){var I=document.createElement("td");if(T){I.colorCode=p(v(a(S*F,E*D,this.value)))}else{I.colorCode=p(a(S*F,E*D,this.value))}this.saved_cells[F][D]=I;I.style.height=this.cellsize+"px";I.style.width=this.cellsize-2+"px";I.style.borderWidth="1px";I.style.borderStyle="solid";I.style.borderColor=I.colorCode;I.style.backgroundColor=I.colorCode;if(F==m&&D==r){I.style.borderColor="#000";this.chosenColor.value=I.colorCode;this.backSample.style.backgroundColor=I.colorCode;this.foreSample.style.color=I.colorCode}I.hue=S*F;I.saturation=E*D;I.thisrow=F;I.thiscol=D;I.onmousedown=function(){d=true;z.saved_cells[m][r].style.borderColor=z.saved_cells[m][r].colorCode;w(this)};I.onmouseover=function(){if(d){w(this)}};I.onmouseout=function(){if(d){this.style.borderColor=this.colorCode}};I.ondblclick=function(){Xinha.colorPicker.remember(this.colorCode,z.savecolors);z.callback(this.colorCode);z.close()};I.appendChild(document.createTextNode(" "));I.style.cursor="pointer";y.appendChild(I);I=null}var I=document.createElement("td");I.appendChild(document.createTextNode(" "));I.style.width=this.cellsize+"px";y.appendChild(I);I=null;var I=document.createElement("td");this.saved_cells[F][D+1]=I;I.appendChild(document.createTextNode(" "));I.style.width=this.cellsize-2+"px";I.style.height=this.cellsize+"px";I.constrainedColorCode=p(v(a(0,0,A*F)));I.style.backgroundColor=I.colorCode=p(a(0,0,A*F));I.style.borderWidth="1px";I.style.borderStyle="solid";I.style.borderColor=I.colorCode;if(F==f){I.style.borderColor="black"}I.hue=S*F;I.saturation=E*D;I.hsv_value=A*F;I.thisrow=F;I.thiscol=D+1;I.onmousedown=function(){k=true;z.saved_cells[f][i].style.borderColor=z.saved_cells[f][i].colorCode;z.value=this.hsv_value;z.pick_color();c(this)};I.onmouseover=function(){if(k){z.value=this.hsv_value;z.pick_color();c(this)}};I.onmouseout=function(){if(k){this.style.borderColor=this.colorCode}};I.style.cursor="pointer";y.appendChild(I);I=null;this.tbody.appendChild(y);y=null}var y=document.createElement("tr");this.saved_cells[F]=[];for(var D=0;D<this.side;D++){var I=document.createElement("td");if(T){I.colorCode=p(v(a(0,0,A*(this.side-D-1))))}else{I.colorCode=p(a(0,0,A*(this.side-D-1)))}this.saved_cells[F][D]=I;I.style.height=this.cellsize+"px";I.style.width=this.cellsize-2+"px";I.style.borderWidth="1px";I.style.borderStyle="solid";I.style.borderColor=I.colorCode;I.style.backgroundColor=I.colorCode;I.hue=0;I.saturation=0;I.value=A*(this.side-D-1);I.thisrow=F;I.thiscol=D;I.onmousedown=function(){d=true;z.saved_cells[m][r].style.borderColor=z.saved_cells[m][r].colorCode;w(this)};I.onmouseover=function(){if(d){w(this)}};I.onmouseout=function(){if(d){this.style.borderColor=this.colorCode}};I.ondblclick=function(){Xinha.colorPicker.remember(this.colorCode,z.savecolors);z.callback(this.colorCode);z.close()};I.appendChild(document.createTextNode(" "));I.style.cursor="pointer";y.appendChild(I);I=null}this.tbody.appendChild(y);y=null;var y=document.createElement("tr");var I=document.createElement("td");y.appendChild(I);I.colSpan=this.side+2;I.style.padding="3px";if(this.websafe){var M=document.createElement("div");var J=document.createElement("label");J.appendChild(document.createTextNode(Xinha._lc("Web Safe: ")));this.constrain_cb.onclick=function(){z.pick_color()};J.appendChild(this.constrain_cb);J.style.fontFamily="small-caption,caption,sans-serif";J.style.fontSize="x-small";M.appendChild(J);I.appendChild(M);M=null}var M=document.createElement("div");var J=document.createElement("label");J.style.fontFamily="small-caption,caption,sans-serif";J.style.fontSize="x-small";J.appendChild(document.createTextNode(Xinha._lc("Color: ")));J.appendChild(this.chosenColor);M.appendChild(J);var O=document.createElement("span");O.className="buttonColor ";O.style.fontSize="13px";O.style.width="24px";O.style.marginLeft="2px";O.style.padding="0px 4px";O.style.cursor="pointer";O.onclick=function(){Xinha.colorPicker.remember(z.chosenColor.value,z.savecolors);z.callback(z.chosenColor.value);z.close()};O.appendChild(document.createTextNode(Xinha._lc("OK")));O.align="center";M.appendChild(O);I.appendChild(M);var x=document.createElement("table");x.style.width="100%";var P=document.createElement("tbody");x.appendChild(P);var C=document.createElement("tr");P.appendChild(C);var N=document.createElement("td");C.appendChild(N);N.appendChild(this.backSample);N.style.width="50%";var Q=document.createElement("td");C.appendChild(Q);Q.appendChild(this.foreSample);Q.style.width="50%";I.appendChild(x);var R=document.createElement("div");R.style.clear="both";function H(V){var U=Xinha.is_ie;var W=document.createElement("div");W.style.width=z.cellsize+"px";W.style.height=z.cellsize+"px";W.style.margin="1px";W.style.border="1px solid black";W.style.cursor="pointer";W.style.backgroundColor=V;W.style[U?"styleFloat":"cssFloat"]="left";W.ondblclick=function(){z.callback(V);z.close()};W.onclick=function(){z.chosenColor.value=V;z.backSample.style.backgroundColor=V;z.foreSample.style.color=V};R.appendChild(W)}for(var G=0;G<Xinha.colorPicker.savedColors.length;G++){H(Xinha.colorPicker.savedColors[G])}I.appendChild(R);this.tbody.appendChild(y);document.body.appendChild(this.table);if(this.is_ie_6){if(!this.iframe){this.iframe=document.createElement("iframe");this.iframe.frameBorder=0;this.iframe.src="javascript:;";this.iframe.style.position="absolute";this.iframe.style.width=this.table.offsetWidth;this.iframe.style.height=this.table.offsetHeight;this.iframe.style.zIndex="1049";document.body.insertBefore(this.iframe,this.table)}this.iframe.style.display=""}}else{for(var F=0;F<this.side;F++){for(var D=0;D<this.side;D++){if(T){this.saved_cells[F][D].colorCode=p(v(a(S*F,E*D,this.value)))}else{this.saved_cells[F][D].colorCode=p(a(S*F,E*D,this.value))}this.saved_cells[F][D].style.backgroundColor=this.saved_cells[F][D].colorCode;this.saved_cells[F][D].style.borderColor=this.saved_cells[F][D].colorCode}}var B=this.saved_cells[m][r];this.chosenColor.value=B.colorCode;this.backSample.style.backgroundColor=B.colorCode;this.foreSample.style.color=B.colorCode;if((B.hue>=195&&B.saturation>0.5)||(B.hue===0&&B.saturation===0&&B.value<0.5)||(B.hue!==0&&z.value<0.75)){B.style.borderColor="#fff"}else{B.style.borderColor="#000"}}};this.close=function(){Xinha._removeEvent(document.body,"mousedown",l);this.table.style.display="none";if(this.is_ie_6){if(this.iframe){this.iframe.style.display="none"}}}};Xinha.colorPicker.savedColors=[];Xinha.colorPicker.remember=function(b,d){for(var c=Xinha.colorPicker.savedColors.length;c--;){if(Xinha.colorPicker.savedColors[c]==b){return false}}Xinha.colorPicker.savedColors.splice(0,0,b);Xinha.colorPicker.savedColors=Xinha.colorPicker.savedColors.slice(0,d);var a=new Date();a.setMonth(a.getMonth()+1);document.cookie="XinhaColorPicker="+escape(Xinha.colorPicker.savedColors.join("-"))+";expires="+a.toGMTString();return true};Xinha.colorPicker.loadColors=function(){var b=document.cookie.indexOf("XinhaColorPicker");if(b!=-1){var c=(document.cookie.indexOf("=",b)+1);var a=document.cookie.indexOf(";",b);if(a==-1){a=document.cookie.length}Xinha.colorPicker.savedColors=unescape(document.cookie.substring(c,a)).split("-")}};Xinha.colorPicker.InputBinding=function(c,d){var g=c.ownerDocument;var b=g.createElement("span");b.className="buttonColor";var f=this.chooser=g.createElement("span");f.className="chooser";if(c.value){f.style.backgroundColor=c.value}f.onmouseover=function(){f.className="chooser buttonColor-hilite"};f.onmouseout=function(){f.className="chooser"};f.appendChild(g.createTextNode("\u00a0"));b.appendChild(f);var a=g.createElement("span");a.className="nocolor";a.onmouseover=function(){a.className="nocolor buttonColor-hilite";a.style.color="#f00"};a.onmouseout=function(){a.className="nocolor";a.style.color="#000"};a.onclick=function(){c.value="";f.style.backgroundColor=""};a.appendChild(g.createTextNode("\u00d7"));b.appendChild(a);c.parentNode.insertBefore(b,c.nextSibling);Xinha._addEvent(c,"change",function(){f.style.backgroundColor=this.value});d=(d)?Xinha.cloneObject(d):{cellsize:"5px"};d.callback=(d.callback)?d.callback:function(h){f.style.backgroundColor=h;c.value=h};f.onclick=function(){var h=new Xinha.colorPicker(d);h.open("",f,c.value)};Xinha.freeLater(this,"chooser")};Xinha.colorPicker.InputBinding.prototype.setColor=function(a){this.chooser.style.backgroundColor=a};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ColorPicker.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ColorPicker.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CreateLink</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<h1 id="[h1]"><l10n>Insert/Modify Link</l10n></h1>
<table border="0" style="margin-top:10px;width: 100%;">
<tr>
<td class="label"><l10n>URL:</l10n></td>
<td style="width: 70%"><input type="text" id="[f_href]" name="[f_href]" style="width: 90%" /></td>
</tr>
<tr>
<td class="label"><l10n>Title (tooltip):</l10n></td>
<td><input type="text" id="[f_title]" name="[f_title]" style="width: 90%" /></td>
</tr>
<tr>
<td class="label"><span id="[f_target_label]"><l10n>Target:</l10n></span></td>
<td><select id="[f_target]" name="[f_target]">
<option value=""><l10n>None (use implicit)</l10n></option>
<option value="_blank"><l10n>New window (_blank)</l10n></option>
<option value="_self"><l10n>Same frame (_self)</l10n></option>
<option value="_top"><l10n>Top frame (_top)</l10n></option>
<option value="_other"><l10n>Other</l10n></option>
</select>
<input type="text" name="[f_other_target]" id="[f_other_target]" size="10" style="visibility: hidden" />
</td>
</tr>
</table>
<div class="buttons" id="[buttons]">
<input type="button" id="[ok]" value="_(OK)" />
<input type="button" id="[cancel]" value="_(Cancel)" />
</div>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dialog.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dialog.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head>
<title>Insert/Modify Link</title>
<script type="text/javascript" src="../../popups/popup.js"></script>
<link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
<script type="text/javascript">
window.resizeTo(400, 200);
Xinha = window.opener.Xinha;
function i18n(str) {
return (Xinha._lc(str, 'Xinha'));
}
function onTargetChanged() {
var f = document.getElementById("f_other_target");
if (this.value == "_other") {
f.style.visibility = "visible";
f.select();
f.focus();
} else f.style.visibility = "hidden";
}
function Init() {
__dlg_translate('Xinha');
__dlg_init();
// Make sure the translated string appears in the drop down. (for gecko)
document.getElementById("f_target").selectedIndex = 1;
document.getElementById("f_target").selectedIndex = 0;
var param = window.dialogArguments;
var target_select = document.getElementById("f_target");
var use_target = true;
if (param) {
if ( typeof param["f_usetarget"] != "undefined" ) {
use_target = param["f_usetarget"];
}
if ( typeof param["f_href"] != "undefined" ) {
document.getElementById("f_href").value = param["f_href"];
document.getElementById("f_title").value = param["f_title"];
comboSelectValue(target_select, param["f_target"]);
if (target_select.value != param.f_target) {
var opt = document.createElement("option");
opt.value = param.f_target;
opt.innerHTML = opt.value;
target_select.appendChild(opt);
opt.selected = true;
}
}
}
if (! use_target) {
document.getElementById("f_target_label").style.visibility = "hidden";
document.getElementById("f_target").style.visibility = "hidden";
document.getElementById("f_other_target").style.visibility = "hidden";
}
var opt = document.createElement("option");
opt.value = "_other";
opt.innerHTML = i18n("Other");
target_select.appendChild(opt);
target_select.onchange = onTargetChanged;
document.getElementById("f_href").focus();
document.getElementById("f_href").select();
}
function onOK() {
var required = {
// f_href shouldn't be required or otherwise removing the link by entering an empty
// url isn't possible anymore.
// "f_href": i18n("You must enter the URL where this link points to")
};
for (var i in required) {
var el = document.getElementById(i);
if (!el.value) {
alert(required[i]);
el.focus();
return false;
}
}
// pass data back to the calling window
var fields = ["f_href", "f_title", "f_target" ];
var param = new Object();
for (var i in fields) {
var id = fields[i];
var el = document.getElementById(id);
param[id] = el.value;
}
if (param.f_target == "_other")
param.f_target = document.getElementById("f_other_target").value;
__dlg_close(param);
return false;
}
function onCancel() {
__dlg_close(null);
return false;
}
</script>
</head>
<body class="dialog" onload="Init()">
<div class="title">Insert/Modify Link</div>
<form>
<table border="0" style="width: 100%;">
<tr>
<td class="label">URL:</td>
<td><input type="text" id="f_href" style="width: 100%" /></td>
</tr>
<tr>
<td class="label">Title (tooltip):</td>
<td><input type="text" id="f_title" style="width: 100%" /></td>
</tr>
<tr>
<td class="label"><span id="f_target_label">Target:</span></td>
<td><select id="f_target">
<option value="">None (use implicit)</option>
<option value="_blank">New window (_blank)</option>
<option value="_self">Same frame (_self)</option>
<option value="_top">Top frame (_top)</option>
</select>
<input type="text" name="f_other_target" id="f_other_target" size="10" style="visibility: hidden" />
</td>
</tr>
</table>
<div id="buttons">
<button type="submit" name="ok" onclick="return onOK();">OK</button>
<button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
</div>
</form>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>link.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>link.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
function CreateLink(c){this.editor=c;var a=c.config;var b=this;c.config.btnList.createlink[3]=function(){b.show(b._getSelectedAnchor())}}CreateLink._pluginInfo={name:"CreateLink",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/CreateLink/link.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};CreateLink.prototype._lc=function(a){return Xinha._lc(a,"Xinha")};CreateLink.prototype.onGenerateOnce=function(){CreateLink.loadAssets()};CreateLink.loadAssets=function(){var self=CreateLink;if(self.loading){return}self.loading=true;Xinha._getback(_editor_url+"modules/CreateLink/dialog.html",function(getback){self.html=getback;self.dialogReady=true});Xinha._getback(_editor_url+"modules/CreateLink/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true})};CreateLink.prototype.onUpdateToolbar=function(){if(!(CreateLink.dialogReady&&CreateLink.methodsReady)){this.editor._toolbarObjects.createlink.state("enabled",false)}else{this.onUpdateToolbar=null}};CreateLink.prototype.prepareDialog=function(){var b=this;var a=this.editor;var c=this.dialog=new Xinha.Dialog(a,CreateLink.html,"Xinha",{width:400});c.getElementById("ok").onclick=function(){b.apply()};c.getElementById("cancel").onclick=function(){b.dialog.hide()};if(!a.config.makeLinkShowsTarget){c.getElementById("f_target_label").style.visibility="hidden";c.getElementById("f_target").style.visibility="hidden";c.getElementById("f_other_target").style.visibility="hidden"}c.getElementById("f_target").onchange=function(){var d=c.getElementById("f_other_target");if(this.value=="_other"){d.style.visibility="visible";d.select();d.focus()}else{d.style.visibility="hidden"}};this.dialogReady=true};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>link.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>link.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
CreateLink.prototype.show=function(b){if(!this.dialog){this.prepareDialog()}var c=this.editor;this.a=b;if(!b&&this.editor.selectionEmpty(this.editor.getSelection())){alert(this._lc("You need to select some text before creating a link"));return false}var d={f_href:"",f_title:"",f_target:"",f_other_target:""};if(b&&b.tagName.toLowerCase()=="a"){d.f_href=this.editor.fixRelativeLinks(b.getAttribute("href"));d.f_title=b.title;if(b.target){if(!/_self|_top|_blank/.test(b.target)){d.f_target="_other";d.f_other_target=b.target}else{d.f_target=b.target;d.f_other_target=""}}}this.dialog.show(d)};CreateLink.prototype.apply=function(){var m=this.dialog.hide();var k=this.a;var c=this.editor;var l={href:"",target:"",title:""};if(m.f_href){l.href=m.f_href;l.title=m.f_title;if(m.f_target.value){if(m.f_target.value=="other"){l.target=m.f_other_target}else{l.target=m.f_target.value}}}if(m.f_target.value){if(m.f_target.value!="_other"){l.target=m.f_target.value}else{l.target=m.f_other_target}}if(k&&k.tagName.toLowerCase()=="a"){if(!l.href){if(confirm(this._lc("Are you sure you wish to remove this link?"))){var b=k.parentNode;while(k.hasChildNodes()){b.insertBefore(k.removeChild(k.childNodes[0]),k)}b.removeChild(k);c.updateToolbar();return}}else{for(var g in l){k.setAttribute(g,l[g])}if(Xinha.is_ie){if(/mailto:([^?<>]*)(\?[^<]*)?$/i.test(k.innerHTML)){k.innerHTML=RegExp.$1}}}}else{if(!l.href){return true}var f=Xinha.uniq("http://www.example.com/Link");c._doc.execCommand("createlink",false,f);var h=c._doc.getElementsByTagName("a");for(var g=0;g<h.length;g++){var d=h[g];if(d.href==f){if(!k){k=d}for(var e in l){d.setAttribute(e,l[e])}}}}c.selectNodeContents(k);c.updateToolbar()};CreateLink.prototype._getSelectedAnchor=function(){var d=this.editor.getSelection();var c=this.editor.createRange(d);var b=this.editor.activeElement(d);if(b!=null&&b.tagName.toLowerCase()=="a"){return b}else{b=this.editor._getFirstAncestor(d,"a");if(b!=null){return b}}return null};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pluginMethods.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>pluginMethods.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Dialogs</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
-- Xinha (is not htmlArea) - http://xinha.gogo.co.nz/
--
-- Use of Xinha is granted by the terms of the htmlArea License (based on
-- BSD license) please read license.txt in this package for details.
--
-- Xinha was originally based on work by Mihai Bazon which is:
-- Copyright (c) 2003-2004 dynarch.com.
-- Copyright (c) 2002-2003 interactivetools.com, inc.
-- This copyright notice MUST stay intact for use.
--
-- $HeadURL: http://svn.xinha.webfactional.com/trunk/modules/Dialogs/inline-dialog.js $
-- $LastChangedDate: 2007-01-24 03:26:04 +1300 (Wed, 24 Jan 2007) $
-- $LastChangedRevision: 694 $
-- $LastChangedBy: gogo $
--------------------------------------------------------------------------*/
/** The DivDialog is used as a semi-independant means of using a Plugin outside of
* Xinha, it does not depend on having a Xinha editor available - not that of of course
* Plugins themselves may (and very likely do) require an editor.
*
* @param Div into which the dialog will draw itself.
*
* @param HTML for the dialog, with the special subtitutions...
* id="[someidhere]" will assign a unique id to the element in question
* and this can be retrieved with yourDialog.getElementById('someidhere')
* _(Some Text Here) will localize the text, this is used for within attributes
* <l10n>Some Text Here</l10n> will localize the text, this is used outside attributes
*
* @param A function which can take a native (english) string and return a localized version,
* OR; A "context" to be used with the standard Xinha._lc() method,
* OR; Null - no localization will happen, only native strings will be used.
*
*/
Xinha.DetachedDialog = function( html, localizer, size, options)
{
var fakeeditor =
{
'config': new Xinha.Config(),
'scrollPos': Xinha.prototype.scrollPos,
'_someEditorHasBeenActivated': false,
'saveSelection': function() { },
'deactivateEditor' : function() { },
'_textArea': document.createElement('textarea'),
'_iframe' : document.createElement('div'),
'_doc' : document,
'hidePanels': function() { },
'showPanels': function() { },
'_isFullScreen': false, // maybe not ?
'activateEditor': function() { },
'restoreSelection': function() { },
'updateToolbar': function() { },
'focusEditor': function() { }
};
Xinha.Dialog.initialZ = 100;
this.attached = false;
Xinha.DetachedDialog.parentConstructor.call(this, fakeeditor, html, localizer, size, options);
}
Xinha.extend(Xinha.DetachedDialog, Xinha.Dialog);
Xinha.DetachedDialog.prototype.attachToPanel
= function() { return false; }
Xinha.DetachedDialog.prototype.detachFromToPanel
= function() { return false; }
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>DetachedDialog.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>DetachedDialog.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
Xinha.Dialog=function(e,h,k,n,f){var t=this;this.id={};this.r_id={};this.editor=e;this.document=document;this.size=n;this.modal=(f&&f.modal===false)?false:true;this.closable=(f&&f.closable===false)?false:true;this.resizable=(f&&f.resizable===false)?false:true;this.layer=(f&&f.layer)?f.layer:0;this.centered=(f&&f.centered===true)?true:false;this.closeOnEscape=(f&&f.closeOnEscape===true)?true:false;this.rootElem=null;this.captionBar=null;this.main=null;this.background=null;this.centered=null;this.greyout=null;this.buttons=null;this.closer=null;this.icon=null;this.resizer=null;this.initialZ=null;var a=e.config.dialogOptions;if(a){if(typeof a.centered!="undefined"){this.centered=a.centered}if(typeof a.resizable!="undefined"){this.resizable=a.resizable}if(typeof a.closable!="undefined"){this.closable=a.closable}if(typeof a.greyout!="undefined"){this.greyout=a.greyout}if(typeof a.closeOnEscape!="undefined"){this.closeOnEscape=a.closeOnEscape}}var m;if(Xinha.is_ie){m=document.createElement("iframe");m.src="about:blank";m.onreadystatechange=function(){var w=window.event.srcElement.contentWindow.document;if(this.readyState=="complete"&&w&&w.body){var y=w.createElement("div");var p,x=document.styleSheets;for(var s=0;s<x.length;s++){if(x[s].id.indexOf("Xinha")!=-1&&x[s].cssText){p+=x[s].cssText}}y.innerHTML='<br><style type="text/css">\n'+p+"\n</style>";w.getElementsByTagName("body")[0].appendChild(y);w.body.className="xinha_dialog_background";if(t.modal){w.body.className+="_modal"}if(t.greyout){w.body.className+="_greyout"}}}}else{m=document.createElement("div")}m.className="xinha_dialog_background";if(this.modal){m.className+="_modal"}if(this.greyout){m.className+="_greyout"}var g=1000;if(!Xinha.Dialog.initialZ){var o=e._htmlArea;while(o){if(o.style&&parseInt(o.style.zIndex,10)>g){g=parseInt(o.style.zIndex,10)}o=o.parentNode}Xinha.Dialog.initialZ=g}g=Xinha.Dialog.initialZ;var l=m.style;l.position="absolute";l.top=0;l.left=0;l.border="none";l.overflow="hidden";l.display="none";l.zIndex=(this.modal?g+25:g+1)+this.layer;document.body.appendChild(m);this.background=m;m=null;Xinha.freeLater(this,"background");var j=document.createElement("div");j.style.position=(Xinha.is_ie||!this.modal)?"absolute":"fixed";j.style.zIndex=(this.modal?g+27:g+3)+this.layer;j.style.display="none";if(!this.modal){Xinha._addEvent(j,"mousedown",function(){Xinha.Dialog.activateModeless(t)})}j.className="dialog"+(this.modal?"":" modeless");if(Xinha.is_chrome){j.className+=" chrome"}document.body.appendChild(j);j.style.paddingBottom="10px";j.style.width=(n&&n.width)?n.width+"px":"";if(n&&n.height){if(Xinha.ie_version<7){j.style.height=n.height+"px"}else{j.style.minHeight=n.height+"px"}}h=this.translateHtml(h,k);var d=document.createElement("div");j.appendChild(d);d.innerHTML=h;this.fixupDOM(d,k);var q=d.removeChild(d.getElementsByTagName("h1")[0]);j.insertBefore(q,d);Xinha._addEvent(q,"mousedown",function(i){t.dragStart(i)});q.style.MozUserSelect="none";q.style.WebkitUserSelect="none";q.unselectable="on";q.onselectstart=function(){return false};this.buttons=document.createElement("div");l=this.buttons.style;l.position="absolute";l.top="0";l.right="2px";j.appendChild(this.buttons);if(this.closable&&this.closeOnEscape){Xinha._addEvent(document,"keypress",function(i){if(i.keyCode==27){if(Xinha.Dialog.activeModeless==t||t.modal){t.hide();return true}}})}this.closer=null;if(this.closable){this.closer=document.createElement("div");this.closer.className="closeButton";this.closer.onmousedown=function(i){this.className="closeButton buttonClick";Xinha._stopEvent(Xinha.getEvent(i));return false};this.closer.onmouseout=function(i){this.className="closeButton";Xinha._stopEvent(Xinha.getEvent(i));return false};this.closer.onmouseup=function(){this.className="closeButton";t.hide();return false};this.buttons.appendChild(this.closer);var v=document.createElement("span");v.className="innerX";v.style.position="relative";v.style.top="-3px";v.appendChild(document.createTextNode("\u00D7"));this.closer.appendChild(v);v=null}this.icon=document.createElement("img");var u=this.icon;u.className="icon";u.src=e.config.iconList.dialogCaption;u.style.position="absolute";u.style.top="3px";u.style.left="2px";u.ondrag=function(){return false};j.appendChild(this.icon);var c=j.getElementsByTagName("*");for(var r=0;r<c.length;r++){var b=c[r];if(b.tagName.toLowerCase()=="textarea"||b.tagName.toLowerCase()=="input"){}else{b.unselectable="on"}}this.resizer=null;if(this.resizable){this.resizer=document.createElement("div");this.resizer.className="resizeHandle";l=this.resizer.style;l.position="absolute";l.bottom="0px";l.right="0px";l.MozUserSelect="none";Xinha._addEvent(this.resizer,"mousedown",function(i){t.resizeStart(i)});j.appendChild(this.resizer)}this.rootElem=j;this.captionBar=q;this.main=d;q=null;j=null;d=null;Xinha.freeLater(this,"rootElem");Xinha.freeLater(this,"captionBar");Xinha.freeLater(this,"main");Xinha.freeLater(this,"buttons");Xinha.freeLater(this,"closer");Xinha.freeLater(this,"icon");Xinha.freeLater(this,"resizer");Xinha.freeLater(this,"document");this.size={}};Xinha.Dialog.prototype.onresize=function(){return true};Xinha.Dialog.prototype.show=function(l){var h=this.rootElem;var n=h.style;var m=this.modal;var d=this.editor.scrollPos();this.scrollPos=d;var a=this;if(this.attached){this.editor.showPanel(h)}if(Xinha._someEditorHasBeenActivated){this._lastRange=this.editor.saveSelection();if(Xinha.is_ie&&!m){a.saveSelection=function(){a._lastRange=a.editor.saveSelection()};Xinha._addEvent(this.editor._doc,"mouseup",a.saveSelection)}}if(m){this.editor.deactivateEditor();this.editor.suspendUpdateToolbar=true;this.editor.currentModal=a}if(Xinha.is_ff2&&m){this._restoreTo=[this.editor._textArea.style.display,this.editor._iframe.style.visibility,this.editor.hidePanels()];this.editor._textArea.style.display="none";this.editor._iframe.style.visibility="hidden"}if(!this.attached){if(m){this.showBackground();this.posBackground({top:0,left:0});this.resizeBackground(Xinha.Dialog.calcFullBgSize())}else{this.background.style.display=""}Xinha.Dialog.fadeIn(this.rootElem,100,function(){if(m){var o=a.rootElem.getElementsByTagName("input");for(var p=0;p<o.length;p++){if(o[p].type=="text"){try{o[p].focus();break}catch(q){}}}}});var k=h.offsetHeight;var f=h.offsetWidth;var i=Xinha.viewportSize();var g=i.y;var c=i.x;if(k>g){n.height=g+"px";if(h.scrollHeight>k){a.main.style.overflowY="auto"}}if(this.size.top&&this.size.left){n.top=parseInt(this.size.top,10)+"px";n.left=parseInt(this.size.left,10)+"px"}else{if(this.editor.btnClickEvent&&!this.centered){var b=this.editor.btnClickEvent;if(n.position=="absolute"){n.top=b.clientY+this.scrollPos.y+"px"}else{n.top=b.clientY+"px"}if(k+h.offsetTop>g){n.top=(n.position=="absolute"?this.scrollPos.y:0)+"px"}if(n.position=="absolute"){n.left=b.clientX+this.scrollPos.x+"px"}else{n.left=b.clientX+"px"}if(f+h.offsetLeft>c){n.left=b.clientX-f+"px";if(h.offsetLeft<0){n.left=0}}this.editor.btnClickEvent=null}else{var j=(g-k)/2;var e=(c-f)/2;n.top=((j>0)?j:0)+"px";n.left=((e>0)?e:0)+"px"}}}this.width=f;this.height=k;if(!m){this.resizeBackground({width:f+"px",height:k+"px"});this.posBackground({top:n.top,left:n.left})}if(typeof l!="undefined"){this.setValues(l)}this.dialogShown=true};Xinha.Dialog.prototype.hide=function(){if(this.attached){this.editor.hidePanel(this.rootElem)}else{Xinha.Dialog.fadeOut(this.rootElem);this.hideBackground();var a=this;if(Xinha.is_ff2&&this.modal){this.editor._textArea.style.display=this._restoreTo[0];this.editor._iframe.style.visibility=this._restoreTo[1];this.editor.showPanels(this._restoreTo[2])}if(!this.editor._isFullScreen&&this.modal){window.scroll(this.scrollPos.x,this.scrollPos.y)}if(Xinha.is_ie&&!this.modal){Xinha._removeEvent(this.editor._doc,"mouseup",a.saveSelection)}if(this.modal){this.editor.suspendUpdateToolbar=false;this.editor.currentModal=null;this.editor.activateEditor()}}if(this.modal){this.editor.restoreSelection(this._lastRange)}this.dialogShown=false;this.editor.updateToolbar();this.editor.focusEditor();return this.getValues()};Xinha.Dialog.prototype.toggle=function(){if(this.rootElem.style.display=="none"){this.show()}else{this.hide()}};Xinha.Dialog.prototype.collapse=function(){if(this.collapsed){this.collapsed=false;this.show()}else{this.main.style.height=0;this.collapsed=true}};Xinha.Dialog.prototype.getElementById=function(a){if(!this.rootElem.parentNode){this.document.body.appendChild(this.rootElem)}return this.document.getElementById(this.id[a]?this.id[a]:a)};Xinha.Dialog.prototype.getElementsByName=function(a){if(!this.rootElem.parentNode){this.document.body.appendChild(this.rootElem)}var b=this.document.getElementsByName(this.id[a]?this.id[a]:a);return Xinha.collectionToArray(b)};Xinha.Dialog.prototype.getElementsByClassName=function(a){return Xinha.getElementsByClassName(this.rootElem,a)};Xinha.Dialog.prototype.dragStart=function(c){if(this.attached||this.dragging){return}if(!this.modal){this.posBackground({top:0,left:0});this.resizeBackground(Xinha.Dialog.calcFullBgSize());this.editor.suspendUpdateToolbar=true}c=Xinha.getEvent(c);var b=this;b.dragging=true;b.scrollPos=b.editor.scrollPos();var a=b.rootElem.style;b.xOffs=c.offsetX||c.layerX;b.yOffs=c.offsetY||c.layerY;b.mouseMove=function(d){b.dragIt(d)};Xinha._addEvent(document,"mousemove",b.mouseMove);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mousemove",b.mouseMove)}b.mouseUp=function(d){b.dragEnd(d)};Xinha._addEvent(document,"mouseup",b.mouseUp);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mouseup",b.mouseUp)}};Xinha.Dialog.prototype.dragIt=function(c){var b=this;if(!b.dragging){return false}var d,e,a;if(b.rootElem.style.position=="absolute"){d=(c.clientY+this.scrollPos.y)-b.yOffs+"px";e=(c.clientX+this.scrollPos.x)-b.xOffs+"px";a={top:d,left:e}}else{if(b.rootElem.style.position=="fixed"){d=c.clientY-b.yOffs+"px";e=c.clientX-b.xOffs+"px";a={top:d,left:e}}}b.posDialog(a)};Xinha.Dialog.prototype.dragEnd=function(b){var a=this;if(!this.modal){this.editor.suspendUpdateToolbar=false}if(!a.dragging){return false}a.dragging=false;Xinha._removeEvent(document,"mousemove",a.mouseMove);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mousemove",a.mouseMove)}Xinha._removeEvent(document,"mouseup",a.mouseUp);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mouseup",a.mouseUp)}var c=a.rootElem.style;a.size.top=c.top;a.size.left=c.left;if(!this.modal){this.sizeBgToDialog()}};Xinha.Dialog.prototype.resizeStart=function(c){var b=this;if(b.resizing){return}b.resizing=true;if(!this.modal){this.editor.suspendUpdateToolbar=true;this.posBackground({top:0,left:0});this.resizeBackground(Xinha.Dialog.calcFullBgSize())}b.scrollPos=b.editor.scrollPos();var a=b.rootElem.style;a.minHeight="";a.overflow="hidden";b.xOffs=parseInt(a.left,10);b.yOffs=parseInt(a.top,10);b.mouseMove=function(d){b.resizeIt(d)};Xinha._addEvent(document,"mousemove",b.mouseMove);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mousemove",b.mouseMove)}b.mouseUp=function(d){b.resizeEnd(d)};Xinha._addEvent(document,"mouseup",b.mouseUp);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mouseup",b.mouseUp)}};Xinha.Dialog.prototype.resizeIt=function(c){var b=this;if(!b.resizing){return false}var d,e;if(b.rootElem.style.position=="absolute"){d=c.clientY+b.scrollPos.y;e=c.clientX+b.scrollPos.x}else{d=c.clientY;e=c.clientX}e-=b.xOffs;d-=b.yOffs;var a={};a.width=((e>10)?e:10)+8+"px";a.height=((d>10)?d:10)+"px";b.sizeDialog(a);b.width=b.rootElem.offsetWidth;b.height=b.rootElem.offsetHeight;b.onresize()};Xinha.Dialog.prototype.resizeEnd=function(b){var a=this;a.resizing=false;if(!this.modal){this.editor.suspendUpdateToolbar=false}Xinha._removeEvent(document,"mousemove",a.mouseMove);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mouseup",a.mouseUp)}Xinha._removeEvent(document,"mouseup",a.mouseUp);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mouseup",a.mouseUp)}a.size.width=a.rootElem.offsetWidth;a.size.height=a.rootElem.offsetHeight;if(!this.modal){this.sizeBgToDialog()}};Xinha.Dialog.prototype.attachToPanel=function(c){var b=this;var d=this.rootElem;var a=this.editor;this.attached=true;this.rootElem.side=c;this.captionBar.ondblclick=function(e){b.detachFromPanel(Xinha.getEvent(e))};d.style.position="static";d.parentNode.removeChild(d);this.background.style.display="none";this.captionBar.style.paddingLeft="3px";this.resizer.style.display="none";if(this.closable){this.closer.style.display="none"}this.icon.style.display="none";if(c=="left"||c=="right"){d.style.width=a.config.panel_dimensions[c]}else{d.style.width=""}Xinha.addClasses(d,"panel");a._panels[c].panels.push(d);a._panels[c].div.appendChild(d);a.notifyOf("panel_change",{action:"add",panel:d})};Xinha.Dialog.prototype.detachFromPanel=function(){var b=this;var c=b.rootElem;var d=c.style;var a=b.editor;b.attached=false;var e=Xinha.getElementTopLeft(c);d.position="absolute";d.top=e.top+"px";d.left=e.left+"px";b.resizer.style.display="";if(b.closable){b.closer.style.display=""}b.icon.style.display="";if(b.size.width){c.style.width=b.size.width+"px"}Xinha.removeClasses(c,"panel");a.removePanel(c);document.body.appendChild(c);b.captionBar.ondblclick=function(){b.attachToPanel(c.side)};this.background.style.display="";this.sizeBgToDialog()};Xinha.Dialog.calcFullBgSize=function(){var b=Xinha.pageSize();var a=Xinha.viewportSize();return{width:(b.x>a.x?b.x:a.x)+"px",height:(b.x>a.y?b.y:a.y)+"px"}};Xinha.Dialog.prototype.sizeBgToDialog=function(){var b=this.rootElem.style;var a=this.background.style;a.top=b.top;a.left=b.left;a.width=b.width;a.height=b.height};Xinha.Dialog.prototype.hideBackground=function(){Xinha.Dialog.fadeOut(this.background)};Xinha.Dialog.prototype.showBackground=function(){Xinha.Dialog.fadeIn(this.background,70)};Xinha.Dialog.prototype.posBackground=function(a){if(this.background.style.display!="none"){this.background.style.top=a.top;this.background.style.left=a.left}};Xinha.Dialog.prototype.resizeBackground=function(a){if(this.background.style.display!="none"){this.background.style.width=a.width;this.background.style.height=a.height}};Xinha.Dialog.prototype.posDialog=function(b){var a=this.rootElem.style;a.left=b.left;a.top=b.top};Xinha.Dialog.prototype.sizeDialog=function(b){var a=this.rootElem.style;a.height=b.height;a.width=b.width;var c=parseInt(b.width,10);var d=parseInt(b.height,10)-this.captionBar.offsetHeight;this.main.style.height=(d>20)?d:20+"px";this.main.style.width=(c>10)?c:10+"px"};Xinha.Dialog.prototype.setValues=function(g){for(var f in g){if(typeof f=="string"){var c=this.getElementsByName(f);if(!c){continue}for(var a=0;a<c.length;a++){var h=c[a];switch(h.tagName.toLowerCase()){case"select":for(var d=0;d<h.options.length;d++){if(typeof g[f]=="object"){for(var b=0;b<g[f].length;b++){if(g[f][b]==h.options[d].value){h.options[d].selected=true}}}else{if(g[f]==h.options[d].value){h.options[d].selected=true}}}break;case"textarea":case"input":switch(h.getAttribute("type")){case"radio":if(h.value==g[f]){h.checked=true}break;case"checkbox":if(typeof g[f]=="object"){for(d in g[f]){if(g[f][d]==h.value){h.checked=true}}}else{if(g[f]==h.value){h.checked=true}}break;default:h.value=g[f];break}}}}}};Xinha.Dialog.prototype.getValues=function(){var e=[];var f=Xinha.collectionToArray(this.rootElem.getElementsByTagName("input")).append(Xinha.collectionToArray(this.rootElem.getElementsByTagName("textarea"))).append(Xinha.collectionToArray(this.rootElem.getElementsByTagName("select")));for(var a=0;a<f.length;a++){var d=f[a];if(!(d.name&&this.r_id[d.name])){continue}if(typeof e[this.r_id[d.name]]=="undefined"){e[this.r_id[d.name]]=null}var b=e[this.r_id[d.name]];switch(d.tagName.toLowerCase()){case"select":if(d.multiple){if(!b.push){if(b!==null){b=[b]}else{b=[]}}for(var c=0;c<d.options.length;c++){if(d.options[c].selected){b.push(d.options[c].value)}}}else{if(d.selectedIndex>=0){b=d.options[d.selectedIndex]}}break;default:switch(d.type.toLowerCase()){case"radio":if(d.checked){b=d.value}break;case"checkbox":if(b===null){if(this.getElementsByName(this.r_id[d.name]).length>1){b=[]}}if(d.checked){if(b!==null&&typeof b=="object"&&b.push){b.push(d.value)}else{b=d.value}}break;default:b=d.value;break}}e[this.r_id[d.name]]=b}return e};Xinha.Dialog.prototype.setLocalizer=function(b){var a=this;if(typeof b=="function"){a._lc=b}else{if(b){this._lc=function(c){return Xinha._lc(c,b)}}else{this._lc=function(c){return c}}}};Xinha.Dialog.prototype.translateHtml=function(b,c){var a=this;if(c){this.setLocalizer(c)}b=b.replace(/((?:name)|(?:id))=(['"])\[([a-z0-9_]+)\]\2/ig,function(e,f,d,g){return f+"="+d+a.createId(g)+d}).replace(/<l10n>(.*?)<\/l10n>/ig,function(d,e){return a._lc(e)}).replace(/\="_\((.*?)\)"/g,function(d,e){return'="'+a._lc(e)+'"'});return b};Xinha.Dialog.prototype.fixupDOM=function(j,c){var b=this;if(typeof c!="string"){c="GenericPlugin"}var h=function(m,l){switch(l){case"editor":return _editor_url;case"plugin":return Xinha.getPluginDir(c);case"images":return b.editor.imgURL("images")}};var a=Xinha.collectionToArray(j.getElementsByTagName("img"));for(var g=0;g<a.length;++g){var d=a[g];var f=d.getAttribute("src");if(f){var e=f.replace(/^\[(editor|plugin|images)\]/,h);if(e!=f){d.setAttribute("src",e)}}}var k=Xinha.collectionToArray(j.getElementsByTagName("a"));for(var g=0;g<k.length;++g){var i=k[g];var f=i.getAttribute("href");if(f){var e=f.replace(/^\[(editor|plugin|images)\]/,h);if(e!=f){i.setAttribute("href",e)}}}};Xinha.Dialog.prototype.createId=function(b){var a=this;if(typeof a.id[b]=="undefined"){a.id[b]=Xinha.uniq("Dialog");a.r_id[a.id[b]]=b}return a.id[b]};Xinha.Dialog.activateModeless=function(a){if(Xinha.Dialog.activeModeless==a||a.attached){return}if(Xinha.Dialog.activeModeless){Xinha.Dialog.activeModeless.rootElem.style.zIndex=parseInt(Xinha.Dialog.activeModeless.rootElem.style.zIndex,10)-10}Xinha.Dialog.activeModeless=a;Xinha.Dialog.activeModeless.rootElem.style.zIndex=parseInt(Xinha.Dialog.activeModeless.rootElem.style.zIndex,10)+10};Xinha.Dialog.setOpacity=function(a,b){if(typeof a.style.filter!="undefined"){a.style.filter=(b<100)?"alpha(opacity="+b+")":""}else{a.style.opacity=b/100}};Xinha.Dialog.fadeIn=function(c,b,e,a,d){a=a||1;d=d||25;b=b||100;c.op=c.op||0;var f=c.op;if(c.style.display=="none"){Xinha.Dialog.setOpacity(c,0);c.style.display=""}if(f<b){c.op+=d;Xinha.Dialog.setOpacity(c,f);c.timeOut=setTimeout(function(){Xinha.Dialog.fadeIn(c,b,e,a,d)},a)}else{Xinha.Dialog.setOpacity(c,b);c.op=b;c.timeOut=null;if(typeof e=="function"){e.call()}}};Xinha.Dialog.fadeOut=function(b,a,c){a=a||1;c=c||30;if(typeof b.op=="undefined"){b.op=100}var d=b.op;if(d>=0){b.op-=c;Xinha.Dialog.setOpacity(b,d);b.timeOut=setTimeout(function(){Xinha.Dialog.fadeOut(b,a,c)},a)}else{Xinha.Dialog.setOpacity(b,0);b.style.display="none";b.op=0;b.timeOut=null}};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>XinhaDialog.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>XinhaDialog.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
function Dialog(b,a,d){if(typeof d=="undefined"){d=window}if(typeof window.showModalDialog=="function"&&!Xinha.is_webkit){Dialog._return=function(e){if(typeof a=="function"){a(e)}};var c=window.showModalDialog(b,d,"dialogheight=300;dialogwidth=400;resizable=yes")}else{Dialog._geckoOpenModal(b,a,d)}}Dialog._parentEvent=function(a){setTimeout(function(){if(Dialog._modal&&!Dialog._modal.closed){Dialog._modal.focus()}},50);try{if(Dialog._modal&&!Dialog._modal.closed){Xinha._stopEvent(a)}}catch(b){}};Dialog._return=null;Dialog._modal=null;Dialog._arguments=null;Dialog._selection=null;Dialog._geckoOpenModal=function(b,a,j){var h=window.open(b,"hadialog","toolbar=no,menubar=no,personalbar=no,width=10,height=10,scrollbars=no,resizable=yes,modal=yes,dependable=yes");Dialog._modal=h;Dialog._arguments=j;function d(e){Xinha._addEvent(e,"click",Dialog._parentEvent);Xinha._addEvent(e,"mousedown",Dialog._parentEvent);Xinha._addEvent(e,"focus",Dialog._parentEvent)}function f(e){Xinha._removeEvent(e,"click",Dialog._parentEvent);Xinha._removeEvent(e,"mousedown",Dialog._parentEvent);Xinha._removeEvent(e,"focus",Dialog._parentEvent)}d(window);for(var c=0;c<window.frames.length;c++){try{d(window.frames[c])}catch(g){}}Dialog._return=function(m){if(m&&a){a(m)}f(window);for(var k=0;k<window.frames.length;k++){try{f(window.frames[k])}catch(l){}}Dialog._modal=null};Dialog._modal.focus()};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dialog.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dialog.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
-- Xinha (is not htmlArea) - http://xinha.gogo.co.nz/
--
-- Use of Xinha is granted by the terms of the htmlArea License (based on
-- BSD license) please read license.txt in this package for details.
--
-- Xinha was originally based on work by Mihai Bazon which is:
-- Copyright (c) 2003-2004 dynarch.com.
-- Copyright (c) 2002-2003 interactivetools.com, inc.
-- This copyright notice MUST stay intact for use.
--
-- $HeadURL: http://svn.xinha.webfactional.com/trunk/modules/Dialogs/inline-dialog.js $
-- $LastChangedDate: 2007-01-24 03:26:04 +1300 (Wed, 24 Jan 2007) $
-- $LastChangedRevision: 694 $
-- $LastChangedBy: gogo $
--------------------------------------------------------------------------*/
/** The DivDialog is used as a semi-independant means of using a Plugin outside of
* Xinha, it does not depend on having a Xinha editor available - not that of of course
* Plugins themselves may (and very likely do) require an editor.
*
* @param Div into which the dialog will draw itself.
*
* @param HTML for the dialog, with the special subtitutions...
* id="[someidhere]" will assign a unique id to the element in question
* and this can be retrieved with yourDialog.getElementById('someidhere')
* _(Some Text Here) will localize the text, this is used for within attributes
* <l10n>Some Text Here</l10n> will localize the text, this is used outside attributes
*
* @param A function which can take a native (english) string and return a localized version,
* OR; A "context" to be used with the standard Xinha._lc() method,
* OR; Null - no localization will happen, only native strings will be used.
*
*/
Xinha.DivDialog = function(rootElem, html, localizer)
{
this.id = { };
this.r_id = { }; // reverse lookup id
this.document = document;
this.rootElem = rootElem;
this.rootElem.className += ' dialog';
this.rootElem.style.display = 'none';
this.width = this.rootElem.offsetWidth + 'px';
this.height = this.rootElem.offsetHeight + 'px';
this.setLocalizer(localizer);
this.rootElem.innerHTML = this.translateHtml(html);
}
Xinha.extend(Xinha.DivDialog, Xinha.Dialog);
Xinha.DivDialog.prototype.show = function(values)
{
if(typeof values != 'undefined')
{
this.setValues(values);
}
this.rootElem.style.display = '';
};
Xinha.DivDialog.prototype.hide = function()
{
this.rootElem.style.display = 'none';
return this.getValues();
};
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>div-dialog.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>div-dialog.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Xinha.PanelDialog = function(editor, side, html, localizer)
{
this.id = { };
this.r_id = { }; // reverse lookup id
this.editor = editor;
this.document = document;
this.rootElem = editor.addPanel(side);
var dialog = this;
if(typeof localizer == 'function')
{
this._lc = localizer;
}
else if(localizer)
{
this._lc = function(string)
{
return Xinha._lc(string,localizer);
};
}
else
{
this._lc = function(string)
{
return string;
};
}
html = html.replace(/\[([a-z0-9_]+)\]/ig,
function(fullString, id)
{
if(typeof dialog.id[id] == 'undefined')
{
dialog.id[id] = Xinha.uniq('Dialog');
dialog.r_id[dialog.id[id]] = id;
}
return dialog.id[id];
}
).replace(/<l10n>(.*?)<\/l10n>/ig,
function(fullString,translate)
{
return dialog._lc(translate) ;
}
).replace(/="_\((.*?)\)"/g,
function(fullString, translate)
{
return '="' + dialog._lc(translate) + '"';
}
);
this.rootElem.innerHTML = html;
};
Xinha.PanelDialog.prototype.show = function(values)
{
this.setValues(values);
this.editor.showPanel(this.rootElem);
};
Xinha.PanelDialog.prototype.hide = function()
{
this.editor.hidePanel(this.rootElem);
return this.getValues();
};
Xinha.PanelDialog.prototype.onresize = Xinha.Dialog.prototype.onresize;
Xinha.PanelDialog.prototype.toggle = Xinha.Dialog.prototype.toggle;
Xinha.PanelDialog.prototype.setValues = Xinha.Dialog.prototype.setValues;
Xinha.PanelDialog.prototype.getValues = Xinha.Dialog.prototype.getValues;
Xinha.PanelDialog.prototype.getElementById = Xinha.Dialog.prototype.getElementById;
Xinha.PanelDialog.prototype.getElementsByName = Xinha.Dialog.prototype.getElementsByName;
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>panel-dialog.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>panel-dialog.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
function PopupWin(c,g,j,a){this.editor=c;this.handler=j;var f=window.open("","__ha_dialog","toolbar=no,menubar=no,personalbar=no,width=600,height=600,left=20,top=40,scrollbars=no,resizable=yes");this.window=f;var h=f.document;this.doc=h;var i=this;var b=document.baseURI||document.URL;if(b&&b.match(/(.*)\/([^\/]+)/)){b=RegExp.$1+"/"}if(typeof _editor_url!="undefined"&&!(/^\//.test(_editor_url))&&!(/http:\/\//.test(_editor_url))){b+=_editor_url}else{b=_editor_url}if(!(/\/$/.test(b))){b+="/"}this.baseURL=b;h.open();var e="<html><head><title>"+g+"</title>\n";e+='<style type="text/css">@import url('+_editor_url+"Xinha.css);</style>\n";if(_editor_skin!=""){e+='<style type="text/css">@import url('+_editor_url+"skins/"+_editor_skin+"/skin.css);</style>\n"}e+="</head>\n";e+='<body class="dialog popupwin" id="--HA-body"></body></html>';h.write(e);h.close();function d(){var k=h.body;if(!k){setTimeout(d,25);return false}f.title=g;h.documentElement.style.padding="0px";h.documentElement.style.margin="0px";var l=h.createElement("div");l.className="content";i.content=l;k.appendChild(l);i.element=k;a(i);f.focus()}d()}PopupWin.prototype.callHandler=function(){var c=["input","textarea","select"];var h={};for(var f=c.length;--f>=0;){var a=c[f];var d=this.content.getElementsByTagName(a);for(var b=0;b<d.length;++b){var e=d[b];var g=e.value;if(e.tagName.toLowerCase()=="input"){if(e.type=="checkbox"){g=e.checked}}h[e.name]=g}}this.handler(this,h);return false};PopupWin.prototype.close=function(){this.window.close()};PopupWin.prototype.addButtons=function(){var a=this;var e=this.doc.createElement("div");this.content.appendChild(e);e.id="buttons";e.className="buttons";for(var d=0;d<arguments.length;++d){var c=arguments[d];var b=this.doc.createElement("button");e.appendChild(b);b.innerHTML=Xinha._lc(c,"Xinha");switch(c.toLowerCase()){case"ok":Xinha.addDom0Event(b,"click",function(){a.callHandler();a.close();return false});break;case"cancel":Xinha.addDom0Event(b,"click",function(){a.close();return false});break}}};PopupWin.prototype.showAtElement=function(){var a=this;setTimeout(function(){var b=a.content.offsetWidth+4;var e=a.content.offsetHeight+4;var d=a.content;var c=d.style;c.position="absolute";c.left=parseInt((b-d.offsetWidth)/2,10)+"px";c.top=parseInt((e-d.offsetHeight)/2,10)+"px";if(Xinha.is_gecko){a.window.innerWidth=b;a.window.innerHeight=e}else{a.window.resizeTo(b+8,e+70)}},25)};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>popupwin.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>popupwin.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>FullScreen</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
function FullScreen(b,c){this.editor=b;this.originalSizes=null;b._superclean_on=false;var a=b.config;a.registerIcon("fullscreen",[_editor_url+a.imgURL+"ed_buttons_main.png",8,0]);a.registerIcon("fullscreenrestore",[_editor_url+a.imgURL+"ed_buttons_main.png",9,0]);a.registerButton("fullscreen",this._lc("Maximize/Minimize Editor"),a.iconList.fullscreen,true,function(g,f,d){g._fullScreen()});a.addToolbarElement("fullscreen","popupeditor",0)}FullScreen._pluginInfo={name:"FullScreen",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};FullScreen.prototype._lc=function(a){return Xinha._lc(a,{url:_editor_url+"modules/FullScreen/lang/",context:"FullScreen"})};Xinha.prototype._fullScreen=function(){var g=this;var d=g.config;function j(){if(!g._isFullScreen||g._sizing){return false}g._sizing=true;var n=Xinha.viewportSize();if(g.config.fullScreenSizeDownMethod=="restore"){g.originalSizes={x:parseInt(g._htmlArea.style.width),y:parseInt(g._htmlArea.style.height),dim:n}}var i=n.y-g.config.fullScreenMargins[0]-g.config.fullScreenMargins[2];var e=n.x-g.config.fullScreenMargins[1]-g.config.fullScreenMargins[3];g.sizeEditor(e+"px",i+"px",true,true);g._sizing=false;if(g._toolbarObjects.fullscreen){g._toolbarObjects.fullscreen.swapImage(d.iconList.fullscreenrestore)}}function l(){if(g._isFullScreen||g._sizing){return false}g._sizing=true;if(g.originalSizes!=null){var o=g.originalSizes;var n=Xinha.viewportSize();var e=o.x+(n.x-o.dim.x);var i=o.y+(n.y-o.dim.y);g.sizeEditor(e+"px",i+"px",g.config.sizeIncludesBars,g.config.sizeIncludesPanels);g.originalSizes=null}else{g.initSize()}g._sizing=false;if(g._toolbarObjects.fullscreen){g._toolbarObjects.fullscreen.swapImage(d.iconList.fullscreen)}}function f(){if(g._isFullScreen){window.scroll(0,0);window.setTimeout(f,150)}}if(typeof this._isFullScreen=="undefined"){this._isFullScreen=false;if(g.target!=g._iframe){Xinha._addEvent(window,"resize",j)}}if(Xinha.is_gecko){this.deactivateEditor()}if(this._isFullScreen){this._htmlArea.style.position="";if(!Xinha.is_ie){this._htmlArea.style.border=""}try{if(Xinha.is_ie&&document.compatMode=="CSS1Compat"){var b=document.getElementsByTagName("html")}else{var b=document.getElementsByTagName("body")}b[0].style.overflow=""}catch(g){}this._isFullScreen=false;l();var a=this._htmlArea;while((a=a.parentNode)&&a.style){a.style.position=a._xinha_fullScreenOldPosition;a._xinha_fullScreenOldPosition=null}if(Xinha.ie_version<7){var h=document.getElementsByTagName("select");for(var c=0;c<h.length;++c){h[c].style.visibility="visible"}}window.scroll(this._unScroll.x,this._unScroll.y)}else{this._unScroll={x:(window.pageXOffset)?(window.pageXOffset):(document.documentElement)?document.documentElement.scrollLeft:document.body.scrollLeft,y:(window.pageYOffset)?(window.pageYOffset):(document.documentElement)?document.documentElement.scrollTop:document.body.scrollTop};var a=this._htmlArea;while((a=a.parentNode)&&a.style){a._xinha_fullScreenOldPosition=a.style.position;a.style.position="static"}if(Xinha.ie_version<7){var h=document.getElementsByTagName("select");var m,k;for(var c=0;c<h.length;++c){m=h[c];k=false;while(m=m.parentNode){if(m==this._htmlArea){k=true;break}}if(!k&&h[c].style.visibility!="hidden"){h[c].style.visibility="hidden"}}}window.scroll(0,0);this._htmlArea.style.position="absolute";this._htmlArea.style.zIndex=999;this._htmlArea.style.left=g.config.fullScreenMargins[3]+"px";this._htmlArea.style.top=g.config.fullScreenMargins[0]+"px";if(!Xinha.is_ie&&!Xinha.is_webkit){this._htmlArea.style.border="none"}this._isFullScreen=true;f();try{if(Xinha.is_ie&&document.compatMode=="CSS1Compat"){var b=document.getElementsByTagName("html")}else{var b=document.getElementsByTagName("body")}b[0].style.overflow="hidden"}catch(g){}j()}if(Xinha.is_gecko){this.activateEditor()}this.focusEditor()};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>full-screen.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>full-screen.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Gecko</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
Gecko._pluginInfo={name:"Gecko",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/Gecko/Gecko.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function Gecko(a){this.editor=a;a.Gecko=this}Gecko.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":sel=f.getSelection();sel.removeAllRanges();range=f.createRange();range.selectNodeContents(f._doc.body);sel.addRange(range);Xinha._stopEvent(t);return true;break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};Gecko.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};Gecko.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)strong(\s|>|\/)/ig,"<$1b$2");a=a.replace(/<(\/?)em(\s|>|\/)/ig,"<$1i$2");a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");return a};Gecko.prototype.outwardHtml=function(a){a=a.replace(/<script[\s]*src[\s]*=[\s]*['"]chrome:\/\/.*?["']>[\s]*<\/script>/ig,"");return a};Gecko.prototype.onExecCommand=function(g,e,f){try{this.editor._doc.execCommand("useCSS",false,true);this.editor._doc.execCommand("styleWithCSS",false,false)}catch(l){}switch(g){case"paste":alert(Xinha._lc("The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly."));return true;break;case"removeformat":var c=this.editor;var d=c.getSelection();var m=c.saveSelection(d);var k=c.createRange(d);var h=c._doc.body.getElementsByTagName("*");var a=(k.startContainer.nodeType==1)?k.startContainer:k.startContainer.parentNode;var j,b;if(d.isCollapsed){k.selectNodeContents(c._doc.body)}for(j=0;j<h.length;j++){b=h[j];if(k.isPointInRange(b,0)||(h[j]==a&&k.startOffset==0)){b.removeAttribute("style")}}this.editor._doc.execCommand(g,e,f);c.restoreSelection(m);return true;break}return false};Gecko.prototype.onMouseDown=function(b){if(b.target.tagName.toLowerCase()=="hr"){var c=this.editor.getSelection();var a=this.editor.createRange(c);a.selectNode(b.target)}};Xinha.prototype.insertNodeAtSelection=function(b){if(b.ownerDocument!=this._doc){try{b=this._doc.adoptNode(b)}catch(f){}}var d=this.getSelection();var a=this.createRange(d);d.removeAllRanges();a.deleteContents();var c=a.startContainer;var h=a.startOffset;var g=b;switch(c.nodeType){case 3:if(b.nodeType==3){c.insertData(h,b.data);a=this.createRange();a.setEnd(c,h+b.length);a.setStart(c,h+b.length);d.addRange(a)}else{c=c.splitText(h);if(b.nodeType==11){g=g.firstChild}c.parentNode.insertBefore(b,c);this.selectNodeContents(g);this.updateToolbar()}break;case 1:if(b.nodeType==11){g=g.firstChild}c.insertBefore(b,c.childNodes[h]);this.selectNodeContents(g);this.updateToolbar();break}};Xinha.prototype.getParentElement=function(c){if(typeof c=="undefined"){c=this.getSelection()}var a=this.createRange(c);try{var d=a.commonAncestorContainer;if(!a.collapsed&&a.startContainer==a.endContainer&&a.startOffset-a.endOffset<=1&&a.startContainer.hasChildNodes()){d=a.startContainer.childNodes[a.startOffset]}while(d.nodeType==3){d=d.parentNode}return d}catch(b){return null}};Xinha.prototype.activeElement=function(a){if((a===null)||this.selectionEmpty(a)){return null}if(!a.isCollapsed){if(a.anchorNode.childNodes.length>a.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){try{var a=this.getSelection();a.removeAllRanges();a.addRange(b)}catch(c){}};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(!c){d.removeAllRanges();return}if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);return Xinha.getHTML(a.cloneContents(),false,this)};Xinha.prototype.getSelection=function(){return this._iframe.contentWindow.getSelection()};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keypress"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.charCode)};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var g=this._textArea;var h=g.selectionStart;var j=g.value.substring(0,h);var b=g.value.substring(h,g.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;g.value=j+b.substring(0,a)+f+b.substring(a,b.length)}else{g.value=j+f+b}g.value=g.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");g.value=g.value.replace(new RegExp("(<script[^>]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");g.value=g.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*<body[^>]*>)(.*?)"),"$1$3$2$4")}else{var d=this.getSelection();d.getRangeAt(0).insertNode(this._doc.createTextNode(f))}}catch(i){}};Xinha.prototype.findCC=function(b){if(b=="textarea"){var f=this._textArea;var i=f.value.indexOf(Xinha.cc);if(i==-1){return}var d=i+Xinha.cc.length;var k=f.value.substring(0,i);var a=f.value.substring(d,f.value.length);f.value=k;f.scrollTop=f.scrollHeight;var c=f.scrollTop;f.value+=a;f.setSelectionRange(i,i);f.focus();f.scrollTop=c}else{try{var j=this._doc;j.body.innerHTML=j.body.innerHTML.replace(new RegExp(Xinha.cc),'<span id="XinhaEditingPostion"></span>');var h=j.getElementById("XinhaEditingPostion");this.selectNodeContents(h);this.scrollToElement(h);h.parentNode.removeChild(h);this._iframe.contentWindow.focus()}catch(g){}}};Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders;Xinha.prototype._toggleBorders=function(){var c=this._standardToggleBorders();var a=this._doc.getElementsByTagName("TABLE");for(var b=0;b<a.length;b++){a[b].style.display="none";a[b].style.display="table"}return c};Xinha.getDoctype=function(a){var b="";if(a.doctype){b+="<!DOCTYPE "+a.doctype.name+" PUBLIC ";b+=a.doctype.publicId?'"'+a.doctype.publicId+'"':"";b+=a.doctype.systemId?' "'+a.doctype.systemId+'"':"";b+=">"}return b};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Gecko.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Gecko.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
EnterParagraphs._pluginInfo={name:"EnterParagraphs",version:"1.0",developer:"Adam Wright",developer_url:"http://www.hipikat.org/",sponsor:"The University of Western Australia",sponsor_url:"http://www.uwa.edu.au/",license:"htmlArea"};EnterParagraphs.prototype._whiteSpace=/^\s*$/;EnterParagraphs.prototype._pExclusions=/^(address|blockquote|body|dd|div|dl|dt|fieldset|form|h1|h2|h3|h4|h5|h6|hr|li|noscript|ol|p|pre|table|ul)$/i;EnterParagraphs.prototype._pContainers=/^(body|del|div|fieldset|form|ins|map|noscript|object|td|th)$/i;EnterParagraphs.prototype._pBreak=/^(address|pre|blockquote)$/i;EnterParagraphs.prototype._permEmpty=/^(area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param)$/i;EnterParagraphs.prototype._elemSolid=/^(applet|br|button|hr|img|input|table)$/i;EnterParagraphs.prototype._pifySibling=/^(address|blockquote|del|div|dl|fieldset|form|h1|h2|h3|h4|h5|h6|hr|ins|map|noscript|object|ol|p|pre|table|ul|)$/i;EnterParagraphs.prototype._pifyForced=/^(ul|ol|dl|table)$/i;EnterParagraphs.prototype._pifyParent=/^(dd|dt|li|td|th|tr)$/i;function EnterParagraphs(a){this.editor=a;if(Xinha.is_gecko){this.onKeyPress=this.__onKeyPress}}EnterParagraphs.prototype.name="EnterParagraphs";EnterParagraphs.prototype.insertAdjacentElement=function(b,c,a){if(c=="BeforeBegin"){b.parentNode.insertBefore(a,b)}else{if(c=="AfterEnd"){b.nextSibling?b.parentNode.insertBefore(a,b.nextSibling):b.parentNode.appendChild(a)}else{if(c=="AfterBegin"&&b.firstChild){b.insertBefore(a,b.firstChild)}else{if(c=="BeforeEnd"||c=="AfterBegin"){b.appendChild(a)}}}}};EnterParagraphs.prototype.forEachNodeUnder=function(b,d,f,c){var e,a;if(b.nodeType==11&&b.firstChild){e=b.firstChild;a=b.lastChild}else{e=a=b}while(a.lastChild){a=a.lastChild}return this.forEachNode(e,a,d,f,c)};EnterParagraphs.prototype.forEachNode=function(d,i,f,l,k){var j=function(m,n){return(n=="ltr"?m.nextSibling:m.previousSibling)};var g=function(m,n){return(n=="ltr"?m.firstChild:m.lastChild)};var h,e,c;var a=k;var b=false;while(h!=l=="ltr"?i:d){if(!h){h=l=="ltr"?d:i}else{if(g(h,l)){h=g(h,l)}else{if(j(h,l)){h=j(h,l)}else{e=h;while(!j(e,l)&&e!=(l=="ltr"?i:d)){e=e.parentNode}h=(j(e,l)?j(e,l):e)}}}b=(h==(l=="ltr"?i:d));switch(f){case"cullids":c=this._fenCullIds(h,a);break;case"find_fill":c=this._fenEmptySet(h,a,f,b);break;case"find_cursorpoint":c=this._fenEmptySet(h,a,f,b);break}if(c[0]){return c[1]}if(b){break}if(c[1]){a=c[1]}}return false};EnterParagraphs.prototype._fenEmptySet=function(c,b,d,a){if(!b&&!c.firstChild){b=c}if((c.nodeType==1&&this._elemSolid.test(c.nodeName))||(c.nodeType==3&&!this._whiteSpace.test(c.nodeValue))||(c.nodeType!=1&&c.nodeType!=3)){switch(d){case"find_fill":return new Array(true,false);break;case"find_cursorpoint":return new Array(true,c);break}}if(a){return new Array(true,b)}return new Array(false,b)};EnterParagraphs.prototype._fenCullIds=function(c,a,b){if(a.id){b[a.id]?a.id="":b[a.id]=true}return new Array(false,b)};EnterParagraphs.prototype.processSide=function(a,c){var d=function(h,i){return(i=="left"?h.previousSibling:h.nextSibling)};var e=c=="left"?a.startContainer:a.endContainer;var f=c=="left"?a.startOffset:a.endOffset;var b,g=e;while(g.nodeType==1&&!this._permEmpty.test(g.nodeName)){g=(f?g.lastChild:g.firstChild)}while(b=b?(d(b,c)?d(b,c):b.parentNode):g){if(d(b,c)){if(this._pExclusions.test(d(b,c).nodeName)){return this.processRng(a,c,b,d(b,c),(c=="left"?"AfterEnd":"BeforeBegin"),true,false)}}else{if(this._pContainers.test(b.parentNode.nodeName)){return this.processRng(a,c,b,b.parentNode,(c=="left"?"AfterBegin":"BeforeEnd"),true,false)}else{if(this._pExclusions.test(b.parentNode.nodeName)){if(this._pBreak.test(b.parentNode.nodeName)){return this.processRng(a,c,b,b.parentNode,(c=="left"?"AfterBegin":"BeforeEnd"),false,(c=="left"?true:false))}else{return this.processRng(a,c,(b=b.parentNode),(d(b,c)?d(b,c):b.parentNode),(d(b,c)?(c=="left"?"AfterEnd":"BeforeBegin"):(c=="left"?"AfterBegin":"BeforeEnd")),false,false)}}}}}};EnterParagraphs.prototype.processRng=function(a,h,n,p,i,l,j){var e=h=="left"?a.startContainer:a.endContainer;var g=h=="left"?a.startOffset:a.endOffset;var c=this.editor;var k=c._doc.createRange();k.selectNode(n);if(h=="left"){k.setEnd(e,g);a.setStart(k.startContainer,k.startOffset)}else{if(h=="right"){k.setStart(e,g);a.setEnd(k.endContainer,k.endOffset)}}var d=k.cloneContents();this.forEachNodeUnder(d,"cullids","ltr",this.takenIds,false,false);var m,f,o;m=h=="left"?(k.endContainer.nodeType==3?true:false):(k.startContainer.nodeType==3?false:true);f=m?k.startOffset:k.endOffset;m=m?k.startContainer:k.endContainer;if(this._pifyParent.test(m.nodeName)&&m.parentNode.childNodes.item(0)==m){while(!this._pifySibling.test(m.nodeName)){m=m.parentNode}}if(d.nodeType==11&&!d.firstChild){if(m.nodeName!="BODY"||(m.nodeName=="BODY"&&f!=0)){d.appendChild(c._doc.createElement(m.nodeName))}}o=this.forEachNodeUnder(d,"find_fill","ltr",false);if(o&&this._pifySibling.test(m.nodeName)&&((f==0)||(f==1&&this._pifyForced.test(m.nodeName)))){n=c._doc.createElement("p");n.innerHTML="&nbsp;";if((h=="left")&&m.previousSibling){return new Array(m.previousSibling,"AfterEnd",n)}else{if((h=="right")&&m.nextSibling){return new Array(m.nextSibling,"BeforeBegin",n)}else{return new Array(m.parentNode,(h=="left"?"AfterBegin":"BeforeEnd"),n)}}}if(o){if(o.nodeType==3){o=c._doc.createDocumentFragment()}if((o.nodeType==1&&!this._elemSolid.test())||o.nodeType==11){var b=c._doc.createElement("p");b.innerHTML="&nbsp;";o.appendChild(b)}else{var b=c._doc.createElement("p");b.innerHTML="&nbsp;";o.parentNode.insertBefore(parentNode,o)}}if(o){n=o}else{n=(l||(d.nodeType==11&&!d.firstChild))?c._doc.createElement("p"):c._doc.createDocumentFragment();n.appendChild(d)}if(j){n.appendChild(c._doc.createElement("br"))}return new Array(p,i,n)};EnterParagraphs.prototype.isNormalListItem=function(a){var c,b;c=a.startContainer;if((typeof c.nodeName!="undefined")&&(c.nodeName.toLowerCase()=="li")){b=c}else{if((typeof c.parentNode!="undefined")&&(typeof c.parentNode.nodeName!="undefined")&&(c.parentNode.nodeName.toLowerCase()=="li")){b=c.parentNode}else{return false}}if(!b.previousSibling){if(a.startOffset==0){return false}}return true};EnterParagraphs.prototype.__onKeyPress=function(a){if(a.keyCode==13&&!a.shiftKey&&this.editor._iframe.contentWindow.getSelection){return this.handleEnter(a)}};EnterParagraphs.prototype.handleEnter=function(j){var b;var f=this.editor.getSelection();var a=this.editor.createRange(f);if(this.isNormalListItem(a)){return true}this.takenIds=new Object();var h=this.processSide(a,"left");var d=this.processSide(a,"right");b=d[2];f.removeAllRanges();a.deleteContents();var g=this.forEachNodeUnder(b,"find_cursorpoint","ltr",false,true);if(!g){alert("INTERNAL ERROR - could not find place to put cursor after ENTER")}if(h){this.insertAdjacentElement(h[0],h[1],h[2])}if(d&&d.nodeType!=1){this.insertAdjacentElement(d[0],d[1],d[2])}if((g)&&(this._permEmpty.test(g.nodeName))){var c=0;while(g.parentNode.childNodes.item(c)!=g){c++}f.collapse(g.parentNode,c)}else{try{f.collapse(g,0);if(g.nodeType==3){g=g.parentNode}this.editor.scrollToElement(g)}catch(i){}}this.editor.updateToolbar();Xinha._stopEvent(j);return true};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>paraHandlerBest.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>paraHandlerBest.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>GetHtml</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
function GetHtmlImplementation(a){this.editor=a}GetHtmlImplementation._pluginInfo={name:"GetHtmlImplementation DOMwalk",origin:"Xinha Core",version:"$LastChangedRevision: 1185 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/GetHtml/DOMwalk.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};Xinha.getHTML=function(a,c,b){return Xinha.getHTMLWrapper(a,c,b)};Xinha.emptyAttributes=" checked disabled ismap readonly nowrap compact declare selected defer multiple noresize noshade ";Xinha.getHTMLWrapper=function(m,l,d,k){var j="";if(!k){k=""}switch(m.nodeType){case 10:case 6:case 12:break;case 2:break;case 4:j+=(Xinha.is_ie?("\n"+k):"")+"<![CDATA["+m.data+"]]>";break;case 5:j+="&"+m.nodeValue+";";break;case 7:j+=(Xinha.is_ie?("\n"+k):"")+"<?"+m.target+" "+m.data+" ?>";break;case 1:case 11:case 9:var e;var g;var q=(m.nodeType==1)?m.tagName.toLowerCase():"";if((q=="script"||q=="noscript")&&d.config.stripScripts){break}if(l){l=!(d.config.htmlRemoveTags&&d.config.htmlRemoveTags.test(q))}if(Xinha.is_ie&&q=="head"){if(l){j+=(Xinha.is_ie?("\n"+k):"")+"<head>"}var r=RegExp.multiline;RegExp.multiline=true;var f=m.innerHTML.replace(Xinha.RE_tagName,function(s,i,a){return i+a.toLowerCase()}).replace(/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,'="$2$4$5"$3').replace(/<(link|meta)((\s*\S*="[^"]*")*)>([\n\r]*)/g,"<$1$2 />\n");RegExp.multiline=r;j+=f+"\n";if(l){j+=(Xinha.is_ie?("\n"+k):"")+"</head>"}break}else{if(l){e=(!(m.hasChildNodes()||Xinha.needsClosingTag(m)));j+=((Xinha.isBlockElement(m))?("\n"+k):"")+"<"+m.tagName.toLowerCase();var p=m.attributes;for(g=0;g<p.length;++g){var n=p.item(g);if(Xinha.is_real_gecko&&(m.tagName.toLowerCase()=="img")&&((n.nodeName.toLowerCase()=="height")||(n.nodeName.toLowerCase()=="width"))){if(!m.complete||m.naturalWidth===0){continue}}if(typeof n.nodeValue=="object"){continue}if(m.tagName.toLowerCase()=="input"&&m.type.toLowerCase()=="checkbox"&&n.nodeName.toLowerCase()=="value"&&n.nodeValue.toLowerCase()=="on"){continue}if(!n.specified&&!(m.tagName.toLowerCase().match(/input|option/)&&n.nodeName=="value")&&!(m.tagName.toLowerCase().match(/area/)&&n.nodeName.match(/shape|coords/i))){continue}var b=n.nodeName.toLowerCase();if(/_moz_editor_bogus_node/.test(b)||(b=="class"&&n.nodeValue=="webkit-block-placeholder")){j="";break}if(/(_moz)|(contenteditable)|(_msh)/.test(b)){continue}var o;if(Xinha.emptyAttributes.indexOf(" "+b+" ")!=-1){o=b}else{if(b!="style"){if(typeof m[n.nodeName]!="undefined"&&b!="href"&&b!="src"&&!(/^on/.test(b))){o=m[n.nodeName]}else{o=n.nodeValue;if(b=="class"){o=o.replace(/Apple-style-span/,"");if(!o){continue}}if(Xinha.is_ie&&(b=="href"||b=="src")){o=d.stripBaseURL(o)}if(d.config.only7BitPrintablesInURLs&&(b=="href"||b=="src")){o=o.replace(/([^!-~]+)/g,function(a){return escape(a)})}}}else{if(!Xinha.is_ie){o=m.style.cssText.replace(/rgb\(.*?\)/ig,function(a){return Xinha._colorToRgb(a)})}else{if(!o){continue}}}}if(/^(_moz)?$/.test(o)){continue}j+=" "+b+'="'+Xinha.htmlEncode(o)+'"'}if(Xinha.is_ie&&m.style.cssText){j+=' style="'+m.style.cssText.replace(/(^)?([^:]*):(.*?)(;|$)/g,function(u,t,s,i,a){return s.toLowerCase()+":"+i+a})+'"'}if(Xinha.is_ie&&m.tagName.toLowerCase()=="option"&&m.selected){j+=' selected="selected"'}if(j!==""){if(e&&q=="p"){j+=">&nbsp;</p>"}else{if(e){j+=" />"}else{j+=">"}}}}}var h=false;if(q=="script"||q=="noscript"){if(!d.config.stripScripts){if(Xinha.is_ie){var c="\n"+m.innerHTML.replace(/^[\n\r]*/,"").replace(/\s+$/,"")+"\n"+k}else{var c=(m.hasChildNodes())?m.firstChild.nodeValue:""}j+=c+"</"+q+">"+((Xinha.is_ie)?"\n":"")}}else{if(q=="pre"){j+=((Xinha.is_ie)?"\n":"")+m.innerHTML.replace(/<br>/g,"\n")+"</"+q+">"}else{for(g=m.firstChild;g;g=g.nextSibling){if(!h&&g.nodeType==1&&Xinha.isBlockElement(g)){h=true}j+=Xinha.getHTMLWrapper(g,true,d,k+" ")}if(l&&!e){j+=(((Xinha.isBlockElement(m)&&h)||q=="head"||q=="html")?("\n"+k):"")+"</"+m.tagName.toLowerCase()+">"}}}break;case 3:if(/^script|noscript|style$/i.test(m.parentNode.tagName)){j=m.data}else{if(m.data.trim()==""){if(m.data){j=" "}else{j=""}}else{j=Xinha.htmlEncode(m.data)}}break;case 8:j="<!--"+m.data+"-->";break}return j};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>DOMwalk.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>DOMwalk.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
function GetHtmlImplementation(a){this.editor=a}GetHtmlImplementation._pluginInfo={name:"GetHtmlImplementation TransformInnerHTML",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",sponsor:"",sponsor_url:"",license:"htmlArea"};Xinha.RegExpCache=[/<\s*\/?([^\s\/>]+)[\s*\/>]/gi,/(\s+)_moz[^=>]*=[^\s>]*/gi,/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,/\/>/g,/<(br|hr|img|input|link|meta|param|embed|area)((\s*\S*="[^"]*")*)>/g,/(<\w+\s+(\w*="[^"]*"\s+)*)(checked|compact|declare|defer|disabled|ismap|multiple|no(href|resize|shade|wrap)|readonly|selected)([\s>])/gi,/(="[^']*)'([^'"]*")/,/&(?=(?!(#[0-9]{2,5};|[a-zA-Z0-9]{2,6};|#x[0-9a-fA-F]{2,4};))[^<]*>)/g,/<\s+/g,/\s+(\/)?>/g,/\s{2,}/g,/\s+([^=\s]+)((="[^"]+")|([\s>]))/g,/\s+contenteditable(=[^>\s\/]*)?/gi,/((href|src)=")([^\s]*)"/g,/<\/?(div|p|h[1-6]|table|tr|td|th|ul|ol|li|dl|dt|dd|blockquote|object|br|hr|img|embed|param|pre|script|html|head|body|meta|link|title|area|input|form|textarea|select|option)[^>]*>/g,/<\/(div|p|h[1-6]|table|tr|ul|ol|dl|blockquote|html|head|body|script|form|select)( [^>]*)?>/g,/<(div|p|h[1-6]|table|tr|ul|ol|dl|blockquote|object|html|head|body|script|form|select)( [^>]*)?>/g,/<(td|th|li|dt|dd|option|br|hr|embed|param|pre|meta|link|title|area|input|textarea)[^>]*>/g,/(^|<\/(pre|script)>)(\s|[^\s])*?(<(pre|script)[^>]*>|$)/g,/(<pre[^>]*>)([\s\S])*?(<\/pre>)/g,/(^|<!--[\s\S]*?-->)([\s\S]*?)(?=<!--[\s\S]*?-->|$)/g,/\S*=""/g,/<!--[\s\S]*?-->|<\?[\s\S]*?\?>|<\/?\w[^>]*>/g,/(^|<\/script>)[\s\S]*?(<script[^>]*>|$)/g];var testRE=new RegExp().compile(Xinha.RegExpCache[3]);if(typeof testRE!="undefined"){for(var i=0;i<Xinha.RegExpCache.length;i++){Xinha.RegExpCache[i]=new RegExp().compile(Xinha.RegExpCache[i])}}Xinha.prototype.cleanHTML=function(b){var d=Xinha.RegExpCache;b=b.replace(d[0],function(c){return c.toLowerCase()}).replace(d[1]," ").replace(d[12]," ").replace(d[2],'="$2$4$5"$3').replace(d[21]," ").replace(d[11],function(f,e,c){return" "+e.toLowerCase()+c}).replace(d[3],">").replace(d[9],"$1>").replace(d[5],'$1$3="$3"$5').replace(d[4],"<$1$2 />").replace(d[6],"$1$2").replace(d[7],"&amp;").replace(d[8],"<").replace(d[10]," ");if(Xinha.is_ie&&d[13].test(b)){b=b.replace(d[13],"$1"+Xinha._escapeDollars(this.stripBaseURL(RegExp.$3))+'"')}if(this.config.only7BitPrintablesInURLs){if(Xinha.is_ie){d[13].test(b)}if(d[13].test(b)){try{b=b.replace(d[13],"$1"+Xinha._escapeDollars(decodeURIComponent(RegExp.$3).replace(/([^!-~]+)/g,function(c){return escape(c)}))+'"')}catch(a){b=b.replace(d[13],Xinha._escapeDollars("$1"+RegExp.$3.replace(/([^!-~]+)/g,function(c){return escape(c)})+'"'))}}}return b};Xinha.indent=function(a,d){Xinha.__nindent=0;Xinha.__sindent="";Xinha.__sindentChar=(typeof d=="undefined")?" ":d;var b=Xinha.RegExpCache;if(Xinha.is_gecko){a=a.replace(b[19],function(c){return c.replace(/<br \/>/g,"\n")})}a=a.replace(b[18],function(c){c=c.replace(b[20],function(f,e,g){string=g.replace(/[\n\r]/gi," ").replace(/\s+/gi," ").replace(b[14],function(l){if(l.match(b[16])){var k="\n"+Xinha.__sindent+l;Xinha.__sindent+=Xinha.__sindentChar;++Xinha.__nindent;return k}else{if(l.match(b[15])){--Xinha.__nindent;Xinha.__sindent="";for(var h=Xinha.__nindent;h>0;--h){Xinha.__sindent+=Xinha.__sindentChar}return"\n"+Xinha.__sindent+l}else{if(l.match(b[17])){return"\n"+Xinha.__sindent+l}}}return l});return e+string});return c});a=a.replace(/^\s*/,"").replace(/ +\n/g,"\n").replace(/[\r\n]+(\s+)<\/script>/g,"\n$1<\/script>");return a};Xinha.getHTML=function(k,g,e){var f="";var h=Xinha.RegExpCache;if(k.nodeType==11){var d=document.createElement("div");var o=k.insertBefore(d,k.firstChild);for(j=o.nextSibling;j;j=j.nextSibling){o.appendChild(j.cloneNode(true))}f+=o.innerHTML.replace(h[23],function(a){a=a.replace(h[22],function(c){if(/^<[!\?]/.test(c)){return c}else{return e.cleanHTML(c)}});return a})}else{var p=(k.nodeType==1)?k.tagName.toLowerCase():"";if(g){f+="<"+p;var n=k.attributes;for(i=0;i<n.length;++i){var l=n.item(i);if(!l.specified){continue}var b=l.nodeName.toLowerCase();var m=l.nodeValue;f+=" "+b+'="'+m+'"'}f+=">"}if(p=="html"){innerhtml=e._doc.documentElement.innerHTML}else{innerhtml=k.innerHTML}f+=innerhtml.replace(h[23],function(a){a=a.replace(h[22],function(c){if(/^<[!\?]/.test(c)){return c}else{if(!(e.config.htmlRemoveTags&&e.config.htmlRemoveTags.test(c.replace(/<([^\s>\/]+)/,"$1")))){return e.cleanHTML(c)}else{return""}}});return a});if(Xinha.is_ie){f=f.replace(/<(li|dd|dt)( [^>]*)?>/g,"</$1><$1$2>").replace(/(<[uod]l[^>]*>[\s\S]*?)<\/(li|dd|dt)>/g,"$1").replace(/\s*<\/(li|dd|dt)>(\s*<\/(li|dd|dt)>)+/g,"</$1>").replace(/(<dt[\s>][\s\S]*?)(<\/d[dt]>)+/g,"$1</dt>")}if(Xinha.is_gecko){f=f.replace(/<br \/>\n$/,"")}f=f.replace(/\s*(<\/(li|dd|dt)>)/g,"$1");if(g){f+="</"+p+">"}f=Xinha.indent(f)}return f};Xinha._escapeDollars=function(a){return a.replace(/\$/g,"$$$$")};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>TransformInnerHTML.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>TransformInnerHTML.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>InlineStyler</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
Xinha.InlineStyler=function(c,a,b,d){this.element=c;this.editor=a;this.dialog=b;this.doc=d?d:document;this.inputs={styles:{},aux:{}};this.styles={};this.auxData={}};Xinha.InlineStyler.getLength=function(b){var a=parseInt(b);if(isNaN(a)){a=""}return a};Xinha.InlineStyler.prototype.applyStyle=function(f){var a=this.element;var d=a.style;for(var b in f){if(typeof f[b]=="function"){continue}if(f[b]!=null){var e=f[b].value||f[b]}switch(b){case"backgroundImage":if(/\S/.test(e)){d.backgroundImage="url("+e+")"}else{d.backgroundImage="none"}break;case"borderCollapse":d.borderCollapse=f[b]=="on"?"collapse":"separate";break;case"width":if(/\S/.test(e)){d.width=e+this.inputs.aux.widthUnit.value}else{d.width=""}break;case"height":if(/\S/.test(e)){d.height=e+this.inputs.aux.heightUnit.value}else{d.height=""}break;case"textAlign":if(e=="char"){var c=this.inputs.aux.textAlignChar.value;if(c=='"'){c='\\"'}d.textAlign='"'+c+'"'}else{if(e=="-"){d.textAlign=""}else{d.textAlign=e}}break;case"verticalAlign":a.vAlign="";if(e=="-"){d.verticalAlign=""}else{d.verticalAlign=e}break;case"float":if(Xinha.is_ie){d.styleFloat=e}else{d.cssFloat=e}break;case"borderWidth":d[b]=e?e+"px":"0px";break;default:d[b]=e;break}}};Xinha.InlineStyler.prototype.createStyleLayoutFieldset=function(){var l=this;var f=this.editor;var u=this.doc;var d=this.element;var s=u.createElement("fieldset");var j=u.createElement("legend");s.appendChild(j);j.innerHTML=Xinha._lc("Layout","TableOperations");var p=u.createElement("table");s.appendChild(p);p.style.width="100%";var b=u.createElement("tbody");p.appendChild(b);var m=d.tagName.toLowerCase();var c,g,k,r,a,h,n;if(m!="td"&&m!="tr"&&m!="th"){c=u.createElement("tr");b.appendChild(c);g=u.createElement("td");g.className="label";c.appendChild(g);g.innerHTML=Xinha._lc("Float","TableOperations")+":";g=u.createElement("td");c.appendChild(g);r=u.createElement("select");r.name=this.dialog.createId("float");g.appendChild(r);this.inputs.styles["float"]=r;h=["None","Left","Right"];for(var n=0;n<h.length;++n){var e=h[n];var t=h[n].toLowerCase();a=u.createElement("option");a.innerHTML=Xinha._lc(e,"TableOperations");a.value=t;if(Xinha.is_ie){a.selected=((""+d.style.styleFloat).toLowerCase()==t)}else{a.selected=((""+d.style.cssFloat).toLowerCase()==t)}r.appendChild(a)}}c=u.createElement("tr");b.appendChild(c);g=u.createElement("td");g.className="label";c.appendChild(g);g.innerHTML=Xinha._lc("Width","TableOperations")+":";g=u.createElement("td");c.appendChild(g);k=u.createElement("input");k.name=this.dialog.createId("width");k.type="text";k.value=Xinha.InlineStyler.getLength(d.style.width);k.size="5";this.inputs.styles.width=k;k.style.marginRight="0.5em";g.appendChild(k);r=u.createElement("select");r.name=this.dialog.createId("widthUnit");this.inputs.aux.widthUnit=r;a=u.createElement("option");a.innerHTML=Xinha._lc("percent","TableOperations");a.value="%";a.selected=/%/.test(d.style.width);r.appendChild(a);a=u.createElement("option");a.innerHTML=Xinha._lc("pixels","TableOperations");a.value="px";a.selected=/px/.test(d.style.width);r.appendChild(a);g.appendChild(r);r.style.marginRight="0.5em";g.appendChild(u.createTextNode(Xinha._lc("Text align","TableOperations")+":"));r=u.createElement("select");r.name=this.dialog.createId("textAlign");r.style.marginLeft=r.style.marginRight="0.5em";g.appendChild(r);this.inputs.styles.textAlign=r;h=["Left","Center","Right","Justify","-"];if(m=="td"){h.push("Char")}k=u.createElement("input");this.inputs.aux.textAlignChar=k;k.name=this.dialog.createId("textAlignChar");k.size="1";k.style.fontFamily="monospace";g.appendChild(k);for(var n=0;n<h.length;++n){var e=h[n];var t=e.toLowerCase();a=u.createElement("option");a.value=t;a.innerHTML=Xinha._lc(e,"TableOperations");a.selected=((d.style.textAlign.toLowerCase()==t)||(d.style.textAlign==""&&e=="-"));r.appendChild(a)}var o=k;function q(i){o.style.visibility=i?"visible":"hidden";if(i){o.focus();o.select()}}r.onchange=function(){q(this.value=="char")};q(r.value=="char");c=u.createElement("tr");b.appendChild(c);g=u.createElement("td");g.className="label";c.appendChild(g);g.innerHTML=Xinha._lc("Height","TableOperations")+":";g=u.createElement("td");c.appendChild(g);k=u.createElement("input");k.name=this.dialog.createId("height");k.type="text";k.value=Xinha.InlineStyler.getLength(d.style.height);k.size="5";this.inputs.styles.height=k;k.style.marginRight="0.5em";g.appendChild(k);r=u.createElement("select");r.name=this.dialog.createId("heightUnit");this.inputs.aux.heightUnit=r;a=u.createElement("option");a.innerHTML=Xinha._lc("percent","TableOperations");a.value="%";a.selected=/%/.test(d.style.height);r.appendChild(a);a=u.createElement("option");a.innerHTML=Xinha._lc("pixels","TableOperations");a.value="px";a.selected=/px/.test(d.style.height);r.appendChild(a);g.appendChild(r);r.style.marginRight="0.5em";g.appendChild(u.createTextNode(Xinha._lc("Vertical align","TableOperations")+":"));r=u.createElement("select");r.name=this.dialog.createId("verticalAlign");this.inputs.styles.verticalAlign=r;r.style.marginLeft="0.5em";g.appendChild(r);h=["Top","Middle","Bottom","Baseline","-"];for(var n=0;n<h.length;++n){var e=h[n];var t=e.toLowerCase();a=u.createElement("option");a.value=t;a.innerHTML=Xinha._lc(e,"TableOperations");a.selected=((d.style.verticalAlign.toLowerCase()==t)||(d.style.verticalAlign==""&&e=="-"));r.appendChild(a)}return s};Xinha.InlineStyler.prototype.createStyleFieldset=function(){var f=this.editor;var u=this.doc;var e=this.element;var s=u.createElement("fieldset");var k=u.createElement("legend");s.appendChild(k);k.innerHTML=Xinha._lc("CSS Style","TableOperations");var q=u.createElement("table");s.appendChild(q);q.style.width="100%";var b=u.createElement("tbody");q.appendChild(b);var d,g,l,r,a,h,p;d=u.createElement("tr");b.appendChild(d);g=u.createElement("td");d.appendChild(g);g.className="label";g.innerHTML=Xinha._lc("Background","TableOperations")+":";g=u.createElement("td");d.appendChild(g);l=u.createElement("input");l.name=this.dialog.createId("backgroundColor");l.value=Xinha._colorToRgb(e.style.backgroundColor);l.type="hidden";this.inputs.styles.backgroundColor=l;l.style.marginRight="0.5em";g.appendChild(l);new Xinha.colorPicker.InputBinding(l);g.appendChild(u.createTextNode(" "+Xinha._lc("Image URL","TableOperations")+": "));l=u.createElement("input");l.name=this.dialog.createId("backgroundImage");l.type="text";this.inputs.styles.backgroundImage=l;if(e.style.backgroundImage.match(/url\(\s*(.*?)\s*\)/)){l.value=RegExp.$1}g.appendChild(l);d=u.createElement("tr");b.appendChild(d);g=u.createElement("td");d.appendChild(g);g.className="label";g.innerHTML=Xinha._lc("FG Color","TableOperations")+":";g=u.createElement("td");d.appendChild(g);l=u.createElement("input");l.name=this.dialog.createId("color");l.value=Xinha._colorToRgb(e.style.color);l.type="hidden";this.inputs.styles.color=l;l.style.marginRight="0.5em";g.appendChild(l);new Xinha.colorPicker.InputBinding(l);l=u.createElement("input");l.style.visibility="hidden";l.type="text";g.appendChild(l);d=u.createElement("tr");b.appendChild(d);g=u.createElement("td");d.appendChild(g);g.className="label";g.innerHTML=Xinha._lc("Border","TableOperations")+":";g=u.createElement("td");d.appendChild(g);l=u.createElement("input");l.name=this.dialog.createId("borderColor");l.value=Xinha._colorToRgb(e.style.borderColor);l.type="hidden";this.inputs.styles.borderColor=l;l.style.marginRight="0.5em";g.appendChild(l);new Xinha.colorPicker.InputBinding(l);r=u.createElement("select");r.name=this.dialog.createId("borderStyle");var n=[];g.appendChild(r);this.inputs.styles.borderStyle=r;h=["none","dotted","dashed","solid","double","groove","ridge","inset","outset"];var m=e.style.borderStyle;if(m.match(/([^\s]*)\s/)){m=RegExp.$1}for(var p=0;p<h.length;p++){var t=h[p];a=u.createElement("option");a.value=t;a.innerHTML=t;if(t==m){a.selected=true}r.appendChild(a)}r.style.marginRight="0.5em";function c(x){for(var v=0;v<n.length;++v){var w=n[v];w.style.visibility=x?"hidden":"visible";if(!x&&(w.tagName.toLowerCase()=="input")){w.focus();w.select()}}}r.onchange=function(){c(this.value=="none")};l=u.createElement("input");l.name=this.dialog.createId("borderWidth");n.push(l);l.type="text";this.inputs.styles.borderWidth=l;l.value=Xinha.InlineStyler.getLength(e.style.borderWidth);l.size="5";g.appendChild(l);l.style.marginRight="0.5em";var o=u.createElement("span");o.innerHTML=Xinha._lc("pixels","TableOperations");g.appendChild(o);n.push(o);c(r.value=="none");if(e.tagName.toLowerCase()=="table"){d=u.createElement("tr");b.appendChild(d);g=u.createElement("td");g.className="label";d.appendChild(g);l=u.createElement("input");l.name=this.dialog.createId("borderCollapse");l.type="checkbox";l.value="on";this.inputs.styles.borderCollapse=l;l.id="f_st_borderCollapse";var t=(/collapse/i.test(e.style.borderCollapse));l.checked=t?1:0;g.appendChild(l);g=u.createElement("td");d.appendChild(g);var j=u.createElement("label");j.htmlFor="f_st_borderCollapse";j.innerHTML=Xinha._lc("Collapsed borders","TableOperations");g.appendChild(j)}return s};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>InlineStyler.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>InlineStyler.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>InsertImage</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<h1 id="[h1]"><l10n>Insert Image</l10n></h1>
<!--- new stuff --->
<form action="" method="get" style="padding-top:10px" id="[inputs]">
<table border="0" width="95%" style="padding: 0px; margin: 0px">
<tbody>
<tr>
<td style="width: 7em; text-align: right"><l10n>Image URL:</l10n></td>
<td><input type="text" name="[f_url]" id="[f_url]" style="width:75%"
title="_(Enter the image URL here)" />
<button id="[preview]" title="_(Preview the image in a new window)"><l10n>Preview</l10n></button>
</td>
</tr>
<tr>
<td style="width: 7em; text-align: right"><l10n>Alternate text:</l10n></td>
<td><input type="text" name="[f_alt]" id="[f_alt]" style="width:100%"
title="_(For browsers that don't support images)" /></td>
</tr>
</tbody>
</table>
<br />
<fieldset style="float: left; margin-left: 5px;">
<legend><l10n>Layout</l10n></legend>
<div class="space"></div>
<div class="fl"><l10n>Alignment:</l10n></div>
<select size="1" name="[f_align]" id="[f_align]"
title="_(Positioning of this image)">
<option value="" ><l10n>Not set</l10n></option>
<option value="left" ><l10n>Left</l10n></option>
<option value="right" ><l10n>Right</l10n></option>
<option value="texttop" ><l10n>Texttop</l10n></option>
<option value="absmiddle" ><l10n>Absmiddle</l10n></option>
<option value="baseline" ><l10n>Baseline</l10n></option>
<option value="absbottom" ><l10n>Absbottom</l10n></option>
<option value="bottom" ><l10n>Bottom</l10n></option>
<option value="middle" ><l10n>Middle</l10n></option>
<option value="top" ><l10n>Top</l10n></option>
</select>
<br />
<div class="fl"><l10n>Border thickness:</l10n></div>
<input type="text" name="[f_border]" id="[f_border]" size="5"
title="_(Leave empty for no border)" />
<div class="space"></div>
</fieldset>
<fieldset>
<legend><l10n>Spacing</l10n></legend>
<div class="space"></div>
<div class="fr"><l10n>Horizontal:</l10n></div>
<input type="text" name="[f_horiz]" id="[f_horiz]" size="5"
title="_(Horizontal padding)" />
<br />
<div class="fr"><l10n>Vertical:</l10n></div>
<input type="text" name="[f_vert]" id="[f_vert]" size="5"
title="_(Vertical padding)" />
<div class="space"></div>
</fieldset>
</form>
<div>
<l10n>Image Preview:</l10n><br />
<iframe id="[ipreview]" frameborder="0" style="border : 1px solid gray;"
height="200" width="100%" src="about:blank"></iframe>
</div>
<div class="buttons" id="[buttons]">
<input type="button" id="[ok]" value="_(OK)" />
<input type="button" id="[cancel]" value="_(Cancel)" />
</div>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dialog.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dialog.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Insert Image</title>
<script type="text/javascript" src="../../popups/popup.js"></script>
<link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
<script type="text/javascript">
Xinha = window.opener.Xinha;
function i18n(str) {
return (Xinha._lc(str, 'Xinha'));
}
function Init() {
__dlg_translate('Xinha');
__dlg_init(null,{width:410,height:400});
// Make sure the translated string appears in the drop down. (for gecko)
document.getElementById("f_align").selectedIndex = 1;
document.getElementById("f_align").selectedIndex = 5;
var param = window.dialogArguments;
if (param["f_base"]) {
document.getElementById("f_base").value = param["f_base"];
}
document.getElementById("f_url").value = param["f_url"] ? param["f_url"] : "";
document.getElementById("f_alt").value = param["f_alt"] ? param["f_alt"] : "";
document.getElementById("f_border").value = (typeof param["f_border"]!="undefined") ? param["f_border"] : "";
document.getElementById("f_align").value = param["f_align"] ? param["f_align"] : "";
document.getElementById("f_vert").value = (typeof param["f_vert"]!="undefined") ? param["f_vert"] : "";
document.getElementById("f_horiz").value = (typeof param["f_horiz"]!="undefined") ? param["f_horiz"] : "";
if (param["f_url"]) {
window.ipreview.location.replace(Xinha._resolveRelativeUrl(param.f_base, param.f_url));
}
document.getElementById("f_url").focus();
}
function onOK() {
var required = {
"f_url": i18n("You must enter the URL")
};
for (var i in required) {
var el = document.getElementById(i);
if (!el.value) {
alert(required[i]);
el.focus();
return false;
}
}
// pass data back to the calling window
var fields = ["f_url", "f_alt", "f_align", "f_border",
"f_horiz", "f_vert"];
var param = new Object();
for (var i in fields) {
var id = fields[i];
var el = document.getElementById(id);
param[id] = el.value;
}
__dlg_close(param);
return false;
}
function onCancel() {
__dlg_close(null);
return false;
}
function onPreview() {
var f_url = document.getElementById("f_url");
var url = f_url.value;
var base = document.getElementById("f_base").value;
if (!url) {
alert(i18n("You must enter the URL"));
f_url.focus();
return false;
}
window.ipreview.location.replace(Xinha._resolveRelativeUrl(base, url));
return false;
}
</script>
</head>
<body class="dialog" onload="Init()">
<div class="title">Insert Image</div>
<!--- new stuff --->
<form action="" method="get">
<input type="hidden" name="base" id="f_base"/>
<table border="0" width="100%" style="padding: 0px; margin: 0px">
<tbody>
<tr>
<td style="width: 7em; text-align: right">Image URL:</td>
<td><input type="text" name="url" id="f_url" style="width:75%"
title="Enter the image URL here" />
<button name="preview" onclick="return onPreview();"
title="Preview the image in a new window">Preview</button>
</td>
</tr>
<tr>
<td style="width: 7em; text-align: right">Alternate text:</td>
<td><input type="text" name="alt" id="f_alt" style="width:100%"
title="For browsers that don't support images" /></td>
</tr>
</tbody>
</table>
<fieldset style="float: left; margin-left: 5px;">
<legend>Layout</legend>
<div class="space"></div>
<div class="fl">Alignment:</div>
<select size="1" name="align" id="f_align"
title="Positioning of this image">
<option value="" >Not set</option>
<option value="left" >Left</option>
<option value="right" >Right</option>
<option value="texttop" >Texttop</option>
<option value="absmiddle" >Absmiddle</option>
<option value="baseline" selected="selected" >Baseline</option>
<option value="absbottom" >Absbottom</option>
<option value="bottom" >Bottom</option>
<option value="middle" >Middle</option>
<option value="top" >Top</option>
</select>
<br />
<div class="fl">Border thickness:</div>
<input type="text" name="border" id="f_border" size="5"
title="Leave empty for no border" />
<div class="space"></div>
</fieldset>
<fieldset>
<legend>Spacing</legend>
<div class="space"></div>
<div class="fr">Horizontal:</div>
<input type="text" name="horiz" id="f_horiz" size="5"
title="Horizontal padding" />
<br />
<div class="fr">Vertical:</div>
<input type="text" name="vert" id="f_vert" size="5"
title="Vertical padding" />
<div class="space"></div>
</fieldset>
<div class="space" style="clear:all"></div>
<div>
Image Preview:<br />
<iframe name="ipreview" id="ipreview" frameborder="0" style="border : 1px solid gray;"
height="200" width="100%" src="../../popups/blank.html"></iframe>
</div>
<div id="buttons">
<button type="submit" name="ok" onclick="return onOK();">OK</button>
<button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
</div>
</form>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>insert_image.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>insert_image.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
InsertImage._pluginInfo={name:"InsertImage",origin:"Xinha Core",version:"$LastChangedRevision: 1239 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/InsertImage/insert_image.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function InsertImage(c){this.editor=c;var a=c.config;var b=this;if(typeof c._insertImage=="undefined"){c._insertImage=function(){b.show()}}}InsertImage.prototype._lc=function(a){return Xinha._lc(a,"Xinha")};InsertImage.prototype.onGenerateOnce=function(){InsertImage.loadAssets()};InsertImage.loadAssets=function(){var self=InsertImage;if(self.loading){return}self.loading=true;Xinha._getback(_editor_url+"modules/InsertImage/dialog.html",function(getback){self.html=getback;self.dialogReady=true});Xinha._getback(_editor_url+"modules/InsertImage/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true})};InsertImage.prototype.onUpdateToolbar=function(){if(!(InsertImage.dialogReady&&InsertImage.methodsReady)){this.editor._toolbarObjects.insertimage.state("enabled",false)}else{this.onUpdateToolbar=null}};InsertImage.prototype.prepareDialog=function(){var b=this;var a=this.editor;var c=this.dialog=new Xinha.Dialog(a,InsertImage.html,"Xinha",{width:410});c.getElementById("ok").onclick=function(){b.apply()};c.getElementById("cancel").onclick=function(){b.dialog.hide()};c.getElementById("preview").onclick=function(){var d=c.getElementById("f_url");var e=d.value;if(!e){alert(c._lc("You must enter the URL"));d.focus();return false}c.getElementById("ipreview").src=e;return false};this.dialog.onresize=function(){var d=parseInt(this.height,10)-this.getElementById("h1").offsetHeight-this.getElementById("buttons").offsetHeight-this.getElementById("inputs").offsetHeight-parseInt(this.rootElem.style.paddingBottom,10);this.getElementById("ipreview").style.height=((d>0)?d:0)+"px";this.getElementById("ipreview").style.width=this.width-2+"px"};this.dialogReady=true};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>insert_image.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>insert_image.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
InsertImage.prototype.show=function(c){if(!this.dialog){this.prepareDialog()}var b=this.editor;if(typeof c=="undefined"){c=b.getParentElement();if(c&&c.tagName.toLowerCase()!="img"){c=null}}if(c){function a(e,g){var d=e.attributes;for(var f=0;f<d.length;f++){if(d[f].nodeName==g&&d[f].specified){return d[f].value}}return""}outparam={f_url:b.stripBaseURL(c.getAttribute("src",2)),f_alt:c.alt,f_border:c.border,f_align:c.align,f_vert:a(c,"vspace"),f_horiz:a(c,"hspace"),f_width:c.width,f_height:c.height}}else{outparam={f_url:"",f_alt:"",f_border:"",f_align:"",f_vert:"",f_horiz:"",f_width:"",f_height:""}}this.image=c;this.dialog.show(outparam)};InsertImage.prototype.apply=function(){var g=this.dialog.hide();if(!g.f_url){return}var c=this.editor;var b=this.image;if(!b){if(Xinha.is_ie){var e=c.getSelection();var a=c.createRange(e);c._doc.execCommand("insertimage",false,g.f_url);b=a.parentElement();if(b.tagName.toLowerCase()!="img"){b=b.previousSibling}}else{b=document.createElement("img");b.src=g.f_url;c.insertNodeAtSelection(b);if(!b.tagName){b=a.startContainer.firstChild}}}else{b.src=g.f_url}for(var f in g){var d=g[f];switch(f){case"f_alt":if(d){b.alt=d}else{b.removeAttribute("alt")}break;case"f_border":if(d){b.border=parseInt(d||"0")}else{b.removeAttribute("border")}break;case"f_align":if(d.value){b.align=d.value}else{b.removeAttribute("align")}break;case"f_vert":if(d!=""){b.vspace=parseInt(d||"0")}else{b.removeAttribute("vspace")}break;case"f_horiz":if(d!=""){b.hspace=parseInt(d||"0")}else{b.removeAttribute("hspace")}break;case"f_width":if(d){b.width=parseInt(d||"0")}else{b.removeAttribute("width")}break;case"f_height":if(d){b.height=parseInt(d||"0")}else{b.removeAttribute("height")}break}}};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pluginMethods.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>pluginMethods.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>InsertTable</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<h1 id="[h1]"><l10n>Insert Table</l10n></h1>
<form action="" method="get" style="margin-top:10px">
<div id="[columns_alert]" style="color:red;display:none"><l10n>You must enter a number of columns</l10n></div>
<div id="[rows_alert]" style="color:red;display:none"><l10n>You must enter a number of rows</l10n></div>
<table border="0" style="padding: 0px; margin: 0px">
<tbody>
<tr>
<td>
<l10n>Caption</l10n>:
</td>
<td colspan="4">
<input type="text" name="[caption]" id="[caption]" style="width:90%" title="_(Caption for the table)" />
</td>
</tr>
<tr>
<td style="width: 4em; text-align: right"><l10n>Rows:</l10n></td>
<td><input type="text" name="[rows]" id="[rows]" size="5" title="_(Number of rows)" /></td>
<td style="width: 4em; text-align: right">Width:</td>
<td><input type="text" name="[width]" id="[width]" size="5" title="_(Width of the table)" /></td>
<td><select size="1" name="[unit]" id="[unit]" title="Width unit">
<option value="%" ><l10n>Percent</l10n></option>
<option value="px" ><l10n>Pixels</l10n></option>
<option value="em" >Em</option>
</select></td>
</tr>
<tr>
<td style="width: 4em; text-align: right">Cols:</td>
<td><input type="text" name="[cols]" id="[cols]" size="5" title="_(Number of columns)" /></td>
<td style="text-align: right"><input type="checkbox" name="[fixed]" id="[fixed]" value="on" /></td>
<td colspan="2"><label
><l10n>Fixed width columns</l10n></label></td>
</tr>
</tbody>
</table>
<br />
<fieldset id="[layout_fieldset]" style="float: left; margin-left: 10px;">
<legend><l10n>Layou</l10n>t</legend>
<div class="space"></div>
<div class="fl"><l10n>Alignment:</l10n></div>
<select size="1" name="[align]" id="[align]"
title="Positioning of this table">
<option value="" ><l10n>Not set</l10n></option>
<option value="left" ><l10n>Left</l10n></option>
<option value="right" ><l10n>Right</l10n></option>
<option value="texttop" ><l10n>Texttop</l10n></option>
<option value="absmiddle" ><l10n>Absmiddle</l10n></option>
<option value="baseline" ><l10n>Baseline</l10n></option>
<option value="absbottom" ><l10n>Absbottom</l10n></option>
<option value="bottom" ><l10n>Bottom</l10n></option>
<option value="middle" ><l10n>Middle</option>
<option value="top" ><l10n>Top</l10n></option>
</select>
<br />
<div class="fl"><l10n>Border</l10n></div>
<input type="text" name="[border]" id="[border]" size="2" title="_(Leave empty for no border)" /> <l10n>Pixels</l10n>
<select size="1" name="[border_style]" id="[border_style]" title="_(Style of the border)">
<option value="solid" >Solid</option>
<option value="dotted" >Dotted</option>
<option value="dashed" >Dashed</option>
<option value="double" >Double</option>
<option value="groove" >Groove</option>
<option value="ridge" >Ridge</option>
<option value="inset" >Inset</option>
<option value="outset" >outset</option>
</select>
<input type="text" size="7" id="[border_color]" name="[border_color]"/>
<br /><l10n>Collapse borders:</l10n>
<input type="checkbox" name="[border_collapse]" id="[border_collapse]" value="on" />
<div class="space"></div>
</fieldset>
<fieldset id="[spacing_fieldset]">
<legend><l10n>Spacing</l10n></legend>
<div class="space"></div>
<div class="fr"><l10n>Cell spacing:</l10n></div>
<input type="text" name="[spacing]" id="[spacing]" size="5" title="_(Space between adjacent cells)" />
<br />
<div class="fr"><l10n>Cell padding:</l10n></div>
<input type="text" name="[padding]" id="[padding]" size="5" title="_(Space between content and border in cell)" />
</fieldset>
<div class="buttons" style="clear:left">
<input type="button" id="[ok]" value="_(OK)" />
<input type="button" id="[cancel]" value="_(Cancel)" />
</div>
</form>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>dialog.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dialog.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head>
<title>Insert Table</title>
<script type="text/javascript" src="../../popups/popup.js"></script>
<link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
<script type="text/javascript">
window.resizeTo(425, 250);
Xinha = window.opener.Xinha;
function i18n(str) {
return (Xinha._lc(str, 'Xinha'));
}
function Init() {
Xinha = window.opener.Xinha; // load the Xinha plugin and lang file
__dlg_translate('Xinha');
__dlg_init(null, Xinha.is_ie ? null : {width:425,height:250});
// Make sure the translated string appears in the drop down. (for gecko)
document.getElementById("f_unit").selectedIndex = 1;
document.getElementById("f_unit").selectedIndex = 0;
document.getElementById("f_align").selectedIndex = 1;
document.getElementById("f_align").selectedIndex = 0;
document.getElementById("f_rows").focus();
}
function onOK() {
var required = {
"f_rows": i18n("You must enter a number of rows"),
"f_cols": i18n("You must enter a number of columns")
};
for (var i in required) {
var el = document.getElementById(i);
if (!el.value) {
alert(required[i]);
el.focus();
return false;
}
}
var fields = ["f_rows", "f_cols", "f_width", "f_unit", "f_fixed",
"f_align", "f_border", "f_spacing", "f_padding"];
var param = new Object();
for (var i in fields) {
var id = fields[i];
var el = document.getElementById(id);
param[id] = (el.type == "checkbox") ? el.checked : el.value;
}
__dlg_close(param);
return false;
}
function onCancel() {
__dlg_close(null);
return false;
}
</script>
</head>
<body class="dialog" onload="Init()">
<div class="title">Insert Table</div>
<form action="" method="get">
<table border="0" style="padding: 0px; margin: 0px">
<tbody>
<tr>
<td style="width: 4em; text-align: right">Rows:</td>
<td><input type="text" name="rows" id="f_rows" size="5" title="Number of rows" value="2" /></td>
<td style="width: 4em; text-align: right">Width:</td>
<td><input type="text" name="width" id="f_width" size="5" title="Width of the table" value="100" /></td>
<td><select size="1" name="unit" id="f_unit" title="Width unit">
<option value="%" selected="selected" >Percent</option>
<option value="px" >Pixels</option>
<option value="em" >Em</option>
</select></td>
</tr>
<tr>
<td style="width: 4em; text-align: right">Cols:</td>
<td><input type="text" name="cols" id="f_cols" size="5" title="Number of columns" value="4" /></td>
<td style="text-align: right"><input type="checkbox" checked="checked" name="fixed" id="f_fixed" value="on" /></td>
<td colspan="2"><label for="f_fixed"
>Fixed width columns</label></td>
</tr>
</tbody>
</table>
<p />
<fieldset style="float: left; margin-left: 5px;">
<legend>Layout</legend>
<div class="space"></div>
<div class="fl">Alignment:</div>
<select size="1" name="align" id="f_align"
title="Positioning of this table">
<option value="" selected="selected" >Not set</option>
<option value="left" >Left</option>
<option value="right" >Right</option>
<option value="texttop" >Texttop</option>
<option value="absmiddle" >Absmiddle</option>
<option value="baseline" >Baseline</option>
<option value="absbottom" >Absbottom</option>
<option value="bottom" >Bottom</option>
<option value="middle" >Middle</option>
<option value="top" >Top</option>
</select>
<p />
<div class="fl">Border thickness:</div>
<input type="text" name="border" id="f_border" size="5" value="1"
title="Leave empty for no border" />
<!--
<p />
<div class="fl">Collapse borders:</div>
<input type="checkbox" name="collapse" id="f_collapse" />
-->
<div class="space"></div>
</fieldset>
<fieldset style="float:right; margin-right: 5px;">
<legend>Spacing</legend>
<div class="space"></div>
<div class="fr">Cell spacing:</div>
<input type="text" name="spacing" id="f_spacing" size="5" value="1"
title="Space between adjacent cells" />
<p />
<div class="fr">Cell padding:</div>
<input type="text" name="padding" id="f_padding" size="5" value="1"
title="Space between content and border in cell" />
<div class="space"></div>
</fieldset>
<div style="margin-top: 85px; border-top: 1px solid #999; padding: 2px; text-align: right;">
<button type="button" name="ok" onclick="return onOK();">OK</button>
<button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
</div>
</form>
</body>
</html>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>insert_table.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>insert_table.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
InsertTable._pluginInfo={name:"InsertTable",origin:"Xinha Core",version:"$LastChangedRevision: 1085 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/InsertTable/insert_table.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function InsertTable(c){this.editor=c;var a=c.config;var b=this;c.config.btnList.inserttable[3]=function(){b.show()}}InsertTable.prototype._lc=function(a){return Xinha._lc(a,"Xinha")};InsertTable.prototype.onGenerateOnce=function(){InsertTable.loadAssets()};InsertTable.loadAssets=function(){var self=InsertTable;if(self.loading){return}self.loading=true;Xinha._getback(_editor_url+"modules/InsertTable/dialog.html",function(getback){self.html=getback;self.dialogReady=true});Xinha._getback(_editor_url+"modules/InsertTable/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true})};InsertTable.prototype.onUpdateToolbar=function(){if(!(InsertTable.dialogReady&&InsertTable.methodsReady)){this.editor._toolbarObjects.inserttable.state("enabled",false)}else{this.onUpdateToolbar=null}};InsertTable.prototype.prepareDialog=function(){var b=this;var a=this.editor;var c=this.dialog=new Xinha.Dialog(a,InsertTable.html,"Xinha",{width:400});c.getElementById("ok").onclick=function(){b.apply()};c.getElementById("cancel").onclick=function(){b.dialog.hide()};this.borderColorPicker=new Xinha.colorPicker.InputBinding(c.getElementById("border_color"));this.dialog.onresize=function(){this.getElementById("layout_fieldset").style.width=(this.width/2)+50+"px";this.getElementById("spacing_fieldset").style.width=(this.width/2)-120+"px"};this.dialogReady=true};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>insert_table.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>insert_table.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
InsertTable.prototype.show=function(c){if(!this.dialog){this.prepareDialog()}var a=this.editor;var b={caption:"",rows:"2",cols:"4",width:"100",unit:"%",fixed:"",align:"",border:"1",border_style:"dotted",border_color:"#000000",border_collapse:"on",spacing:"",padding:"5"};this.borderColorPicker.setColor("#000000");this.dialog.show(b);this.dialog.onresize()};InsertTable.prototype.apply=function(){var a=this.editor;var m=a._doc;var b=this.dialog.getValues();if(!b.rows||!b.cols){if(!b.rows){this.dialog.getElementById("rows_alert").style.display=""}if(!b.cols){this.dialog.getElementById("columns_alert").style.display=""}return}this.dialog.hide();var o=m.createElement("table");for(var k in b){var l=b[k];if(!l){continue}switch(k){case"width":o.style.width=l+b.unit.value;break;case"align":o.align=l.value;break;case"border":o.style.border=l+"px "+b.border_style.value+" "+b.border_color;break;case"border_collapse":o.style.borderCollapse=(l=="on")?"collapse":"";break;case"spacing":o.cellSpacing=parseInt(l,10);break;case"padding":o.cellPadding=parseInt(l,10);break}}if(b.caption){var n=o.createCaption();n.appendChild(m.createTextNode(b.caption))}var g=0;if(b.fixed){g=Math.floor(100/parseInt(b.cols,10))}var f=m.createElement("tbody");o.appendChild(f);for(var e=0;e<b.rows;++e){var h=m.createElement("tr");f.appendChild(h);for(var d=0;d<b.cols;++d){var c=m.createElement("td");if(g&&e===0){c.style.width=g+"%"}if(b.border){c.style.border=b.border+"px "+b.border_style.value+" "+b.border_color}h.appendChild(c);c.appendChild(m.createTextNode("\u00a0"))}}a.insertNodeAtSelection(o)};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pluginMethods.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>pluginMethods.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>InternetExplorer</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
InternetExplorer._pluginInfo={name:"Internet Explorer",origin:"Xinha Core",version:"$LastChangedRevision: 1260 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/InternetExplorer/InternetExplorer.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function InternetExplorer(a){this.editor=a;a.InternetExplorer=this}InternetExplorer.prototype.onKeyPress=function(a){if(this.editor.isShortCut(a)){switch(this.editor.getKey(a).toLowerCase()){case"n":this.editor.execCommand("formatblock",false,"<p>");Xinha._stopEvent(a);return true;break;case"1":case"2":case"3":case"4":case"5":case"6":this.editor.execCommand("formatblock",false,"<h"+this.editor.getKey(a).toLowerCase()+">");Xinha._stopEvent(a);return true;break}}switch(a.keyCode){case 8:case 46:if(this.handleBackspace()){Xinha._stopEvent(a);return true}break;case 9:Xinha._stopEvent(a);return true}return false};InternetExplorer.prototype.handleBackspace=function(){var e=this.editor;var f=e.getSelection();if(f.type=="Control"){var g=e.activeElement(f);Xinha.removeFromParent(g);return true}var d=e.createRange(f);var c=d.duplicate();c.moveStart("character",-1);var b=c.parentElement();if(b!=d.parentElement()&&(/^a$/i.test(b.tagName))){c.collapse(true);c.moveEnd("character",1);c.pasteHTML("");c.select();return true}};InternetExplorer.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");a=a.replace(/(<script|<!--)/i,"&nbsp;$1");a=a.replace(/<span[^>]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");return a};InternetExplorer.prototype.outwardHtml=function(a){a=a.replace(/&nbsp;(\s*)(<script|<!--)/i,"$1$2");a=a.replace(/<span[^>]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");return a};InternetExplorer.prototype.onExecCommand=function(h,d,e){switch(h){case"saveas":var o=null;var c=this.editor;var g=document.createElement("iframe");g.src="about:blank";g.style.display="none";document.body.appendChild(g);try{if(g.contentDocument){o=g.contentDocument}else{o=g.contentWindow.document}}catch(n){}o.open("text/html","replace");var l="";if(c.config.browserQuirksMode===false){var f='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'}else{if(c.config.browserQuirksMode===true){var f=""}else{var f=Xinha.getDoctype(document)}}if(!c.config.fullPage){l+=f+"\n";l+="<html>\n";l+="<head>\n";l+='<meta http-equiv="Content-Type" content="text/html; charset='+c.config.charSet+'">\n';if(typeof c.config.baseHref!="undefined"&&c.config.baseHref!==null){l+='<base href="'+c.config.baseHref+'"/>\n'}if(typeof c.config.pageStyleSheets!=="undefined"){for(var k=0;k<c.config.pageStyleSheets.length;k++){if(c.config.pageStyleSheets[k].length>0){l+='<link rel="stylesheet" type="text/css" href="'+c.config.pageStyleSheets[k]+'">'}}}if(c.config.pageStyle){l+='<style type="text/css">\n'+c.config.pageStyle+"\n</style>"}l+="</head>\n";l+="<body>\n";l+=c.getEditorContent();l+="</body>\n";l+="</html>"}else{l=c.getEditorContent();if(l.match(Xinha.RE_doctype)){c.setDoctype(RegExp.$1)}}o.write(l);o.close();o.execCommand(h,d,e);document.body.removeChild(g);return true;break;case"removeformat":var c=this.editor;var b=c.getSelection();var p=c.saveSelection(b);var k,a,j;function m(q){if(q.nodeType!=1){return}q.removeAttribute("style");for(var i=0;i<q.childNodes.length;i++){m(q.childNodes[i])}if((q.tagName.toLowerCase()=="span"&&!q.attributes.length)||q.tagName.toLowerCase()=="font"){q.outerHTML=q.innerHTML}}if(c.selectionEmpty(b)){j=c._doc.body.childNodes;for(k=0;k<j.length;k++){a=j[k];if(a.nodeType!=1){continue}if(a.tagName.toLowerCase()=="span"){newNode=c.convertNode(a,"div");a.parentNode.replaceChild(newNode,a);a=newNode}m(a)}}c._doc.execCommand(h,d,e);c.restoreSelection(p);return true;break}return false};Xinha.prototype.insertNodeAtSelection=function(a){this.insertHTML(a.outerHTML)};Xinha.prototype.getParentElement=function(d){if(typeof d=="undefined"){d=this.getSelection()}var b=this.createRange(d);switch(d.type){case"Text":var a=b.parentElement();while(true){var c=b.duplicate();c.moveToElementText(a);if(c.inRange(b)){break}if((a.nodeType!=1)||(a.tagName.toLowerCase()=="body")){break}a=a.parentElement}return a;case"None":try{return b.parentElement()}catch(f){return this._doc.body}case"Control":return b.item(0);default:return this._doc.body}};Xinha.prototype.activeElement=function(c){if((c===null)||this.selectionEmpty(c)){return null}if(c.type.toLowerCase()=="control"){return c.createRange().item(0)}else{var b=c.createRange();var a=this.getParentElement(c);if(a.innerHTML==b.htmlText){return a}return null}};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}return this.createRange(a).htmlText===""};Xinha.prototype.saveSelection=function(a){return this.createRange(a?a:this.getSelection())};Xinha.prototype.restoreSelection=function(i){if(!i){return}var f=null;if(i.parentElement){f=i.parentElement()}else{f=i.item(0)}var b=this.createRange(this.getSelection());var l=null;if(b.parentElement){l=b.parentElement()}else{l=b.item(0)}var n=function(o){for(var e=o;e;e=e.parentNode){if(e.tagName.toLowerCase()=="html"){return e.parentNode}}return null};if(i.parentElement&&n(f)==n(l)){if(b.isEqual(i)){return}}try{i.select()}catch(c){}b=this.createRange(this.getSelection());if(b.parentElement){l=b.parentElement()}else{l=b.item(0)}if(l!=f){var d=this.config.selectWorkaround||"VisibleCue";switch(d){case"SimulateClick":case"InsertSpan":var h=n(f);var j=function(p){var o="";for(var e=0;e<26;++e){o+=String.fromCharCode("a".charCodeAt(0)+e)}var q="";for(var e=0;e<p;++e){q+=o.substr(Math.floor(Math.random()*o.length+1),1)}return q};var m=1;var g="__InsertSpan_Workaround_"+j(m);while(h.getElementById(g)){m+=1;g="__InsertSpan_Workaround_"+j(m)}i.pasteHTML('<span id="'+g+'"></span>');var k=h.getElementById(g);i.moveToElementText(k);i.select();break;case"JustificationHack":var a=String.fromCharCode(1);i.pasteHTML(a);i.findText(a,-1);i.select();i.execCommand("JustifyNone");i.pasteHTML("");break;case"VisibleCue":default:var a=String.fromCharCode(1);i.pasteHTML(a);i.findText(a,-1);i.select()}}};Xinha.prototype.selectNodeContents=function(e,a){this.focusEditor();this.forceRedraw();var b;var g=typeof a=="undefined"?true:false;if(g&&e.tagName&&e.tagName.toLowerCase().match(/table|img|input|select|textarea/)){b=this._doc.body.createControlRange();b.add(e)}else{b=this._doc.body.createTextRange();if(3==e.nodeType){if(e.parentNode){b.moveToElementText(e.parentNode)}else{b.moveToElementText(this._doc.body)}var f=this._doc.body.createTextRange();var d=0;var c=e.previousSibling;for(;c&&(1!=c.nodeType);c=c.previousSibling){if(3==c.nodeType){d+=c.nodeValue.length-c.nodeValue.split("\r").length-1}}if(c&&(1==c.nodeType)){f.moveToElementText(c);b.setEndPoint("StartToEnd",f)}if(d){b.moveStart("character",d)}d=0;c=e.nextSibling;for(;c&&(1!=c.nodeType);c=c.nextSibling){if(3==c.nodeType){d+=c.nodeValue.length-c.nodeValue.split("\r").length-1;if(!c.nextSibling){d+=1}}}if(c&&(1==c.nodeType)){f.moveToElementText(c);b.setEndPoint("EndToStart",f)}if(d){b.moveEnd("character",-d)}if(!e.nextSibling){b.moveEnd("character",-1)}}else{b.moveToElementText(e)}}if(typeof a!="undefined"){b.collapse(a);if(!a){b.moveStart("character",-1);b.moveEnd("character",-1)}}b.select()};Xinha.prototype.insertHTML=function(b){this.focusEditor();var c=this.getSelection();var a=this.createRange(c);a.pasteHTML(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(this.selectionEmpty(b)){return""}var a=this.createRange(b);if(a.htmlText){return a.htmlText}else{if(a.length>=1){return a.item(0).outerHTML}}return""};Xinha.prototype.getSelection=function(){return this._doc.selection};Xinha.prototype.createRange=function(a){if(!a){a=this.getSelection()}return a.createRange()};Xinha.prototype.isKeyEvent=function(a){return a.type=="keydown"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.keyCode)};Xinha.getOuterHTML=function(a){return a.outerHTML};Xinha.cc=String.fromCharCode(8201);Xinha.prototype.setCC=function(d){var f=Xinha.cc;if(d=="textarea"){var h=this._textArea;var j=document.selection.createRange();j.collapse();j.text=f;var i=h.value.indexOf(f);var k=h.value.substring(0,i);var c=h.value.substring(i+f.length,h.value.length);if(c.match(/^[^<]*>/)){var b=c.indexOf(">")+1;h.value=k+c.substring(0,b)+f+c.substring(b,c.length)}else{h.value=k+f+c}h.value=h.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");h.value=h.value.replace(new RegExp("(<script[^>]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");h.value=h.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*<body[^>]*>)(.*?)"),"$1$3$2$4")}else{var e=this.getSelection();var a=e.createRange();if(e.type=="Control"){var g=a.item(0);g.outerHTML+=f}else{a.collapse();a.text=f}}};Xinha.prototype.findCC=function(b){var a=(b=="textarea")?this._textArea:this._doc.body;range=a.createTextRange();if(range.findText(escape(Xinha.cc))){range.select();range.text="";range.select()}if(range.findText(Xinha.cc)){range.select();range.text="";range.select()}if(b=="textarea"){this._textArea.focus()}};Xinha.getDoctype=function(a){return(a.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">':""};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>InternetExplorer.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>InternetExplorer.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Opera</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
Opera._pluginInfo={name:"Opera",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/Opera/Opera.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"Gogo Internet Services Limited",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"};function Opera(a){this.editor=a;a.Opera=this}Opera.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":sel=f.getSelection();sel.removeAllRanges();range=f.createRange();range.selectNodeContents(f._doc.body);sel.addRange(range);Xinha._stopEvent(t);return true;break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};Opera.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};Opera.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");return a};Opera.prototype.outwardHtml=function(a){return a};Opera.prototype.onExecCommand=function(g,e,f){switch(g){case"removeformat":var c=this.editor;var d=c.getSelection();var l=c.saveSelection(d);var k=c.createRange(d);var h=c._doc.body.getElementsByTagName("*");var a=(k.startContainer.nodeType==1)?k.startContainer:k.startContainer.parentNode;var j,b;if(d.isCollapsed){k.selectNodeContents(c._doc.body)}for(j=0;j<h.length;j++){b=h[j];if(k.isPointInRange(b,0)||(h[j]==a&&k.startOffset==0)){b.removeAttribute("style")}}this.editor._doc.execCommand(g,e,f);c.restoreSelection(l);return true;break}return false};Opera.prototype.onMouseDown=function(a){};Xinha.prototype.insertNodeAtSelection=function(b){if(b.ownerDocument!=this._doc){try{b=this._doc.adoptNode(b)}catch(f){}}this.focusEditor();var d=this.getSelection();var a=this.createRange(d);a.deleteContents();var c=a.startContainer;var h=a.startOffset;var g=b;d.removeAllRanges();switch(c.nodeType){case 3:if(b.nodeType==3){c.insertData(h,b.data);a=this.createRange();a.setEnd(c,h+b.length);a.setStart(c,h+b.length);d.addRange(a)}else{c=c.splitText(h);if(b.nodeType==11){g=g.firstChild}c.parentNode.insertBefore(b,c);this.selectNodeContents(g);this.updateToolbar()}break;case 1:if(b.nodeType==11){g=g.firstChild}c.insertBefore(b,c.childNodes[h]);this.selectNodeContents(g);this.updateToolbar();break}};Xinha.prototype.getParentElement=function(c){if(typeof c=="undefined"){c=this.getSelection()}var a=this.createRange(c);try{var d=a.commonAncestorContainer;if(!a.collapsed&&a.startContainer==a.endContainer&&a.startOffset-a.endOffset<=1&&a.startContainer.hasChildNodes()){d=a.startContainer.childNodes[a.startOffset]}while(d.nodeType==3){d=d.parentNode}return d}catch(b){return null}};Xinha.prototype.activeElement=function(a){if((a===null)||this.selectionEmpty(a)){return null}if(!a.isCollapsed){if(a.anchorNode.childNodes.length>a.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){var a=this.getSelection();a.removeAllRanges();a.addRange(b)};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);return Xinha.getHTML(a.cloneContents(),false,this)};Xinha.prototype.getSelection=function(){var c=this._iframe.contentWindow.getSelection();if(c&&c.focusNode&&c.focusNode.tagName&&c.focusNode.tagName=="HTML"){var b=this._doc.getElementsByTagName("body")[0];var a=this.createRange();a.selectNodeContents(b);c.removeAllRanges();c.addRange(a);c.collapseToEnd()}return c};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keypress"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.charCode)};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var h=this._textArea;var i=h.selectionStart;var k=h.value.substring(0,i);var b=h.value.substring(i,h.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;h.value=k+b.substring(0,a)+f+b.substring(a,b.length)}else{h.value=k+f+b}h.value=h.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");h.value=h.value.replace(new RegExp("(<script[^>]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");h.value=h.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*<body[^>]*>)(.*?)"),"$1$3$2$4");h.value=h.value.replace(f,'<span id="XinhaOperaCaretMarker">MARK</span>')}else{var d=this.getSelection();var g=this._doc.createElement("span");g.id="XinhaOperaCaretMarker";d.getRangeAt(0).insertNode(g)}}catch(j){}};Xinha.prototype.findCC=function(c){if(c=="textarea"){var i=this._textArea;var j=i.value.search(/(<span\s+id="XinhaOperaCaretMarker"\s*\/?>((\s|(MARK))*<\/span>)?)/);if(j==-1){return}var f=RegExp.$1;var h=j+f.length;var k=i.value.substring(0,j);var b=i.value.substring(h,i.value.length);i.value=k;i.scrollTop=i.scrollHeight;var e=i.scrollTop;i.value+=b;i.setSelectionRange(j,j);i.focus();i.scrollTop=e}else{var g=this._doc.getElementById("XinhaOperaCaretMarker");if(g){this.focusEditor();var a=this.createRange();a.selectNode(g);var d=this.getSelection();d.addRange(a);d.collapseToStart();this.scrollToElement(g);g.parentNode.removeChild(g);return}}};Xinha.getDoctype=function(a){var b="";if(a.doctype){b+="<!DOCTYPE "+a.doctype.name+" PUBLIC ";b+=a.doctype.publicId?'"'+a.doctype.publicId+'"':"";b+=a.doctype.systemId?' "'+a.doctype.systemId+'"':"";b+=">"}return b};Xinha.prototype._standardInitIframe=Xinha.prototype.initIframe;Xinha.prototype.initIframe=function(){if(!this._iframeLoadDone){if(this._iframe.contentWindow&&this._iframe.contentWindow.xinhaReadyToRoll){this._iframeLoadDone=true;this._standardInitIframe()}else{var a=this;setTimeout(function(){a.initIframe()},5)}}};Xinha._addEventOperaOrig=Xinha._addEvent;Xinha._addEvent=function(b,a,c){if(b.tagName&&b.tagName.toLowerCase()=="select"&&a=="change"){return Xinha.addDom0Event(b,a,c)}return Xinha._addEventOperaOrig(b,a,c)};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>Opera.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Opera.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebKit</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
WebKit._pluginInfo={name:"WebKit",origin:"Xinha Core",version:"$LastChangedRevision: 1146 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/WebKit/WebKit.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function WebKit(a){this.editor=a;a.WebKit=this}WebKit.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 13:if(t.shiftKey){}break;case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}break;default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};WebKit.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};WebKit.prototype.inwardHtml=function(a){return a};WebKit.prototype.outwardHtml=function(a){return a};WebKit.prototype.onExecCommand=function(k,h,j){this.editor._doc.execCommand("styleWithCSS",false,false);switch(k){case"paste":alert(Xinha._lc("The Paste button does not work in the Safari browser for security reasons. Press CTRL-V on your keyboard to paste directly."));return true;break;case"removeformat":var f=this.editor;var g=f.getSelection();var q=f.saveSelection(g);var n=f.createRange(g);var l=f._doc.getElementsByTagName("*");l=Xinha.collectionToArray(l);var b=(n.startContainer.nodeType==1)?n.startContainer:n.startContainer.parentNode;var m,e,p,a,d,c=f._doc.createRange();function o(r){if(r.nodeType!=1){return}r.removeAttribute("style");for(var i=0;i<r.childNodes.length;i++){o(r.childNodes[i])}if((r.tagName.toLowerCase()=="span"&&!r.attributes.length)||r.tagName.toLowerCase()=="font"){c.selectNodeContents(r);a=c.extractContents();while(a.firstChild){d=a.removeChild(a.firstChild);r.parentNode.insertBefore(d,r)}r.parentNode.removeChild(r)}}if(g.isCollapsed){l=f._doc.body.childNodes;for(m=0;m<l.length;m++){e=l[m];if(e.nodeType!=1){continue}if(e.tagName.toLowerCase()=="span"){p=f.convertNode(e,"div");e.parentNode.replaceChild(p,e);e=p}o(e)}}else{for(m=0;m<l.length;m++){e=l[m];if(n.isPointInRange(e,0)||(l[m]==b&&n.startOffset==0)){o(e)}}}c.detach();f.restoreSelection(q);return true;break}return false};WebKit.prototype.onMouseDown=function(a){if(a.target.tagName.toLowerCase()=="hr"||a.target.tagName.toLowerCase()=="img"){this.editor.selectNodeContents(a.target)}};Xinha.prototype.insertNodeAtSelection=function(b){var d=this.getSelection();var a=this.createRange(d);d.removeAllRanges();a.deleteContents();var c=a.startContainer;var f=a.startOffset;var e=b;switch(c.nodeType){case 3:if(b.nodeType==3){c.insertData(f,b.data);a=this.createRange();a.setEnd(c,f+b.length);a.setStart(c,f+b.length);d.addRange(a)}else{c=c.splitText(f);if(b.nodeType==11){e=e.firstChild}c.parentNode.insertBefore(b,c);this.selectNodeContents(e);this.updateToolbar()}break;case 1:if(b.nodeType==11){e=e.firstChild}c.insertBefore(b,c.childNodes[f]);this.selectNodeContents(e);this.updateToolbar();break}};Xinha.prototype.getParentElement=function(c){if(typeof c=="undefined"){c=this.getSelection()}var a=this.createRange(c);try{var d=a.commonAncestorContainer;if(!a.collapsed&&a.startContainer==a.endContainer&&a.startOffset-a.endOffset<=1&&a.startContainer.hasChildNodes()){d=a.startContainer.childNodes[a.startOffset]}while(d.nodeType==3){d=d.parentNode}return d}catch(b){return null}};Xinha.prototype.activeElement=function(a){if((a===null)||this.selectionEmpty(a)){return null}if(!a.isCollapsed){if(a.anchorNode.childNodes.length>a.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){var a=this.getSelection();a.removeAllRanges();a.addRange(b)};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);if(a){return Xinha.getHTML(a.cloneContents(),false,this)}else{return""}};Xinha.prototype.getSelection=function(){return this._iframe.contentWindow.getSelection()};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keydown"};Xinha.prototype.getKey=function(b){var a=String.fromCharCode(parseInt(b.keyIdentifier.replace(/^U\+/,""),16));if(b.shiftKey){return a}else{return a.toLowerCase()}};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var g=this._textArea;var h=g.selectionStart;var j=g.value.substring(0,h);var b=g.value.substring(h,g.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;g.value=j+b.substring(0,a)+f+b.substring(a,b.length)}else{g.value=j+f+b}g.value=g.value.replace(new RegExp("(&[^"+f+";]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");g.value=g.value.replace(new RegExp("(<script[^>]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");g.value=g.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*<body[^>]*>)(.*?)"),"$1$3$2$4")}else{var d=this.getSelection();d.getRangeAt(0).insertNode(this._doc.createTextNode(f))}}catch(i){}};Xinha.prototype.findCC=function(b){var d=Xinha.cc;if(b=="textarea"){var g=this._textArea;var j=g.value.indexOf(d);if(j==-1){return}var f=j+d.length;var m=g.value.substring(0,j);var a=g.value.substring(f,g.value.length);g.value=m;g.scrollTop=g.scrollHeight;var c=g.scrollTop;g.value+=a;g.setSelectionRange(j,j);g.focus();g.scrollTop=c}else{var l=this;try{var k=this._doc;k.body.innerHTML=k.body.innerHTML.replace(new RegExp(d),'<span id="XinhaEditingPostion"></span>');var i=k.getElementById("XinhaEditingPostion");this.selectNodeContents(i);this.scrollToElement(i);i.parentNode.removeChild(i);this._iframe.contentWindow.focus()}catch(h){}}};Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders;Xinha.prototype._toggleBorders=function(){var c=this._standardToggleBorders();var a=this._doc.getElementsByTagName("TABLE");for(var b=0;b<a.length;b++){a[b].style.display="none";a[b].style.display="table"}return c};Xinha.getDoctype=function(a){var b="";if(a.doctype){b+="<!DOCTYPE "+a.doctype.name+" PUBLIC ";b+=a.doctype.publicId?'"'+a.doctype.publicId+'"':"";b+=a.doctype.systemId?' "'+a.doctype.systemId+'"':"";b+=">"}return b};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>WebKit.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>WebKit.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>plugins</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>UnsavedChanges</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
function UnsavedChanges(editor) {
// Keep a copy of the editor to perform any necessary functions
var editor = editor;
// Private variable for storing the unmodified contents. This is necessary
// because whenDocReady needs a closure to reference this object.
var defaultValue;
// Variable to allow the protector to be bypassed in the case of submit.
var bypass = false;
var protector = function(event) {
if (bypass) {
return;
}
if (defaultValue != (editor.getEditorContent ? editor.getEditorContent() : editor.outwardHtml(editor.getHTML()))) {
// This needs to use _lc for multiple languages
var dirty_prompt = Xinha._lc('You have unsaved changes in the editor', 'UnsavedChanges');
event.returnValue = dirty_prompt;
return dirty_prompt;
}
}
this.onBeforeSubmit = function() {
bypass = true;
}
// Setup to be called when the plugin is loaded.
// We need a copy of the initial content for detection to work properly, so
// we will setup a callback for when the document is ready to store an
// unmodified copy of the content.
this.onGenerate = function() {
editor.whenDocReady(function () {
// Copy the original, unmodified contents to check for changes
defaultValue = defaultValue || (editor.getEditorContent ? editor.getEditorContent() : editor.outwardHtml(editor.getHTML()));
// Set up the blocker
Xinha._addEvent(window, 'beforeunload', protector);
});
}
}
// An object containing metadata for this plugin
UnsavedChanges._pluginInfo = {
name:'UnsavedChanges',
version:'3.7',
developer:'Douglas Mayle',
developer_url:'http://douglas.mayle.org',
c_owner:'Douglas Mayle',
sponsor:'The Open Planning Project',
sponsor_url:'http://topp.openplans.org',
license:'LGPL'
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>UnsavedChanges.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>popups</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html><body onload="window.xinhaReadyToRoll = true;"></body></html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>blank.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>blank.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head>
<title>Editor Help</title>
<script type="text/javascript" src="popup.js"></script>
<link rel="stylesheet" type="text/css" href="popup.css" />
<script type="text/javascript">
window.resizeTo(400, 480);
Xinha = window.opener.Xinha;
function Init() {
__dlg_translate('Xinha');
__dlg_init();
}
function onCancel() {
__dlg_close(null);
return false;
}
</script>
</head>
<body class="dialog" onload="Init()">
<div class="title">Editor Help</div>
<table width="100%" style="background: white none repeat scroll 0%;">
<thead style="border: 1px solid gray; background: silver none repeat scroll 0%;">
<tr>
<th colspan="2">
<span style="text-align:center">Keyboard shortcuts</span><br />
<span>The editor provides the following key combinations:</span>
</th>
</tr>
</thead>
<tbody>
<tr><td>ENTER</td><td><span>new paragraph</span>(&lt;P&gt;)</td></tr>
<tr><td>SHIFT-ENTER</td><td><span>insert linebreak</span>(&lt;BR&gt;)</td></tr>
<tr><td>CTRL-A</td><td><span>Select all</span></td></tr>
<tr><td>CTRL-B</td><td><span>Bold</span></td></tr>
<tr><td>CTRL-I</td><td><span>Italic</span></td></tr>
<tr><td>CTRL-U</td><td><span>Underline</span></td></tr>
<tr><td>CTRL-S</td><td><span>Strikethrough</span></td></tr>
<tr><td>CTRL-L</td><td><span>Justify Left</span></td></tr>
<tr><td>CTRL-E</td><td><span>Justify Center</span></td></tr>
<tr><td>CTRL-R</td><td><span>Justify Right</span></td></tr>
<tr><td>CTRL-J</td><td><span>Justify Full</span></td></tr>
<tr><td>CTRL-Z</td><td><span>Undoes your last action</span></td></tr>
<tr><td>CTRL-Y</td><td><span>Redoes your last action</span></td></tr>
<tr><td>CTRL-N</td><td><span>Set format to paragraph</span></td></tr>
<tr><td>CTRL-0 (zero)</td><td><span>Clean content pasted from Word</span></td></tr>
<tr><td>CTRL-1 .. CTRL-6</td><td><span>Headings</span> (&lt;h1&gt; .. &lt;h6&gt;)</td></tr>
<tr><td>CTRL-X</td><td><span>Cut selection</span></td></tr>
<tr><td>CTRL-C</td><td><span>Copy selection</span></td></tr>
<tr><td>CTRL-V</td><td><span>Paste from clipboard</span></td></tr>
</tbody>
</table>
<div id="buttons">
<button type="button" name="cancel" onclick="return onCancel();">Close</button>
</div>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>editor_help.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>editor_help.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
html, body, .dialog {
background: ButtonFace;
color: ButtonText;
font: 11px Tahoma,Verdana,sans-serif;
margin: 0px;
padding: 0px;
}
body { padding: 5px; }
form { padding: 0px; margin: 0px; }
form p {
margin-top: 5px;
margin-bottom: 5px;
}
table {
font: 11px Tahoma,Verdana,sans-serif;
}
select, input, button { font: 11px Tahoma,Verdana,sans-serif; }
button { width: 70px; }
table .label { text-align: right; width: 8em; }
.fl { width: 9em; float: left; padding: 2px 5px; text-align: right; }
.fr { width: 7em; float: left; padding: 2px 5px; text-align: right; }
fieldset { padding: 0px 10px 5px 5px; }
.space { padding: 2px; }
.title { background: #ddf; color: #000; font-weight: bold; font-size: 120%; padding: 3px 10px; margin-bottom: 10px;
border-bottom: 1px solid black; letter-spacing: 2px;
}
.buttonColor {
padding: 1px;
cursor: default;
border: 1px solid;
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
}
#buttons {
margin-top: 1em;
border-top: 1px solid #999;
padding: 1em;
text-align: right;
}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>popup.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>popup.css</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
if(typeof Xinha=="undefined"){Xinha=window.opener.Xinha}HTMLArea=Xinha;function getAbsolutePos(b){var c={x:b.offsetLeft,y:b.offsetTop};if(b.offsetParent){var a=getAbsolutePos(b.offsetParent);c.x+=a.x;c.y+=a.y}return c}function comboSelectValue(f,d){var b=f.getElementsByTagName("option");for(var a=b.length;--a>=0;){var e=b[a];e.selected=(e.value==d)}f.value=d}function __dlg_onclose(){opener.Dialog._return(null)}function __dlg_init(b,a){__xinha_dlg_init(a)}function __xinha_dlg_init(b){if(window.__dlg_init_done){return true}if(window.opener._editor_skin){var c=document.getElementsByTagName("head")[0];var d=document.createElement("link");d.type="text/css";d.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css";d.rel="stylesheet";c.appendChild(d)}if(!window.dialogArguments&&opener.Dialog._arguments){window.dialogArguments=opener.Dialog._arguments}var e=Xinha.pageSize(window);if(!b){b={width:e.x,height:e.y}}window.resizeTo(b.width,b.height);var f=Xinha.viewportSize(window);window.resizeBy(0,e.y-f.y);if(b.top&&b.left){window.moveTo(b.left,b.top)}else{if(!Xinha.is_ie){var a=opener.screenX+(opener.outerWidth-b.width)/2;var g=opener.screenY+(opener.outerHeight-b.height)/2}else{var a=(self.screen.availWidth-b.width)/2;var g=(self.screen.availHeight-b.height)/2}window.moveTo(a,g)}Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc);window.__dlg_init_done=true}function __dlg_translate(e){var d=["input","select","legend","span","option","td","th","button","div","label","a","img"];for(var g=0;g<d.length;++g){var c=document.getElementsByTagName(d[g]);for(var b=c.length;--b>=0;){var f=c[b];if(f.firstChild&&f.firstChild.data){var a=Xinha._lc(f.firstChild.data,e);if(a){f.firstChild.data=a}}if(f.title){var a=Xinha._lc(f.title,e);if(a){f.title=a}}if(f.tagName.toLowerCase()=="input"&&(/^(button|submit|reset)$/i.test(f.type))){var a=Xinha._lc(f.value,e);if(a){f.value=a}}}}document.title=Xinha._lc(document.title,e)}function __dlg_close(a){opener.Dialog._return(a);window.close()}function __dlg_close_on_esc(a){a||(a=window.event);if(a.keyCode==27){__dlg_close(null);return false}return true};
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>popup.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>popup.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">-->
<html><head><title>Select Color</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="popup.js"></script>
<script type="text/javascript">
window.resizeTo(240, 182);
// run on page load
function Init()
{
__dlg_translate('Xinha');
__dlg_init();
Xinha.addDom0Event(document, 'keypress', __dlg_close_on_esc);
var color = window.dialogArguments;
color = ValidateColor(color) || '000000';
View(color);
}
// preview color
function View(color)
{
document.getElementById("ColorPreview").style.backgroundColor = '#' + color;
document.getElementById("ColorHex").value = '#' + color;
}
// select color
function Set(string)
{
var color = ValidateColor(string);
if (color == null)
{
alert("Invalid color code: " + string);
}
else
{
View(color);
__dlg_close(color);
}
}
// return valid color code
function ValidateColor(string)
{
string = string || '';
string = string + "";
string = string.toUpperCase();
var chars = '0123456789ABCDEF';
var out = '';
// remove invalid color chars
for (var i=0; i<string.length; i++)
{
var schar = string.charAt(i);
if (chars.indexOf(schar) != -1) out += schar;
}
// check length
if (out.length != 6) return null;
return out;
}
</script>
<style type="text/css">
body { background:buttonface; margin:0; padding:0; }
form { margin:0; padding:0; }
#containerpreview td { background:buttonface; }
#preview { background-color:#000000; padding:1px; height:21px; width:50px; }
#ColorPreview { height:100%; width:100%; }
#ColorHex { font-size:12px; background:buttonface; border:0; }
#palettecolor { cursor:pointer; }
#palettecolor td { width:10px; height:10px; }
</style>
</head>
<body class="dialog" onload="Init()">
<form action="#" method="get" onsubmit="Set(document.getElementById('ColorHex').value); return false;">
<table border="0" cellspacing="0" cellpadding="4" width="100%" id="containerpreview">
<tr>
<td style="vertical-align: middle;"><div id="preview"><div id="ColorPreview"></div></div></td>
<td style="vertical-align: middle;" width="100%"><input type="text" name="ColorHex"
id="ColorHex" value="" size=15></td>
</tr>
</table>
</form>
<table id="palettecolor" border="0" cellspacing="1" cellpadding="0" width="100%" bgcolor="#000000">
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#003300" onmouseover="View('003300')" onclick="Set('003300')"></td>
<td bgcolor="#006600" onmouseover="View('006600')" onclick="Set('006600')"></td>
<td bgcolor="#009900" onmouseover="View('009900')" onclick="Set('009900')"></td>
<td bgcolor="#00CC00" onmouseover="View('00CC00')" onclick="Set('00CC00')"></td>
<td bgcolor="#00FF00" onmouseover="View('00FF00')" onclick="Set('00FF00')"></td>
<td bgcolor="#330000" onmouseover="View('330000')" onclick="Set('330000')"></td>
<td bgcolor="#333300" onmouseover="View('333300')" onclick="Set('333300')"></td>
<td bgcolor="#336600" onmouseover="View('336600')" onclick="Set('336600')"></td>
<td bgcolor="#339900" onmouseover="View('339900')" onclick="Set('339900')"></td>
<td bgcolor="#33CC00" onmouseover="View('33CC00')" onclick="Set('33CC00')"></td>
<td bgcolor="#33FF00" onmouseover="View('33FF00')" onclick="Set('33FF00')"></td>
<td bgcolor="#660000" onmouseover="View('660000')" onclick="Set('660000')"></td>
<td bgcolor="#663300" onmouseover="View('663300')" onclick="Set('663300')"></td>
<td bgcolor="#666600" onmouseover="View('666600')" onclick="Set('666600')"></td>
<td bgcolor="#669900" onmouseover="View('669900')" onclick="Set('669900')"></td>
<td bgcolor="#66CC00" onmouseover="View('66CC00')" onclick="Set('66CC00')"></td>
<td bgcolor="#66FF00" onmouseover="View('66FF00')" onclick="Set('66FF00')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#333333" onmouseover="View('333333')" onclick="Set('333333')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#000033" onmouseover="View('000033')" onclick="Set('000033')"></td>
<td bgcolor="#003333" onmouseover="View('003333')" onclick="Set('003333')"></td>
<td bgcolor="#006633" onmouseover="View('006633')" onclick="Set('006633')"></td>
<td bgcolor="#009933" onmouseover="View('009933')" onclick="Set('009933')"></td>
<td bgcolor="#00CC33" onmouseover="View('00CC33')" onclick="Set('00CC33')"></td>
<td bgcolor="#00FF33" onmouseover="View('00FF33')" onclick="Set('00FF33')"></td>
<td bgcolor="#330033" onmouseover="View('330033')" onclick="Set('330033')"></td>
<td bgcolor="#333333" onmouseover="View('333333')" onclick="Set('333333')"></td>
<td bgcolor="#336633" onmouseover="View('336633')" onclick="Set('336633')"></td>
<td bgcolor="#339933" onmouseover="View('339933')" onclick="Set('339933')"></td>
<td bgcolor="#33CC33" onmouseover="View('33CC33')" onclick="Set('33CC33')"></td>
<td bgcolor="#33FF33" onmouseover="View('33FF33')" onclick="Set('33FF33')"></td>
<td bgcolor="#660033" onmouseover="View('660033')" onclick="Set('660033')"></td>
<td bgcolor="#663333" onmouseover="View('663333')" onclick="Set('663333')"></td>
<td bgcolor="#666633" onmouseover="View('666633')" onclick="Set('666633')"></td>
<td bgcolor="#669933" onmouseover="View('669933')" onclick="Set('669933')"></td>
<td bgcolor="#66CC33" onmouseover="View('66CC33')" onclick="Set('66CC33')"></td>
<td bgcolor="#66FF33" onmouseover="View('66FF33')" onclick="Set('66FF33')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#666666" onmouseover="View('666666')" onclick="Set('666666')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#000066" onmouseover="View('000066')" onclick="Set('000066')"></td>
<td bgcolor="#003366" onmouseover="View('003366')" onclick="Set('003366')"></td>
<td bgcolor="#006666" onmouseover="View('006666')" onclick="Set('006666')"></td>
<td bgcolor="#009966" onmouseover="View('009966')" onclick="Set('009966')"></td>
<td bgcolor="#00CC66" onmouseover="View('00CC66')" onclick="Set('00CC66')"></td>
<td bgcolor="#00FF66" onmouseover="View('00FF66')" onclick="Set('00FF66')"></td>
<td bgcolor="#330066" onmouseover="View('330066')" onclick="Set('330066')"></td>
<td bgcolor="#333366" onmouseover="View('333366')" onclick="Set('333366')"></td>
<td bgcolor="#336666" onmouseover="View('336666')" onclick="Set('336666')"></td>
<td bgcolor="#339966" onmouseover="View('339966')" onclick="Set('339966')"></td>
<td bgcolor="#33CC66" onmouseover="View('33CC66')" onclick="Set('33CC66')"></td>
<td bgcolor="#33FF66" onmouseover="View('33FF66')" onclick="Set('33FF66')"></td>
<td bgcolor="#660066" onmouseover="View('660066')" onclick="Set('660066')"></td>
<td bgcolor="#663366" onmouseover="View('663366')" onclick="Set('663366')"></td>
<td bgcolor="#666666" onmouseover="View('666666')" onclick="Set('666666')"></td>
<td bgcolor="#669966" onmouseover="View('669966')" onclick="Set('669966')"></td>
<td bgcolor="#66CC66" onmouseover="View('66CC66')" onclick="Set('66CC66')"></td>
<td bgcolor="#66FF66" onmouseover="View('66FF66')" onclick="Set('66FF66')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#999999" onmouseover="View('999999')" onclick="Set('999999')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#000099" onmouseover="View('000099')" onclick="Set('000099')"></td>
<td bgcolor="#003399" onmouseover="View('003399')" onclick="Set('003399')"></td>
<td bgcolor="#006699" onmouseover="View('006699')" onclick="Set('006699')"></td>
<td bgcolor="#009999" onmouseover="View('009999')" onclick="Set('009999')"></td>
<td bgcolor="#00CC99" onmouseover="View('00CC99')" onclick="Set('00CC99')"></td>
<td bgcolor="#00FF99" onmouseover="View('00FF99')" onclick="Set('00FF99')"></td>
<td bgcolor="#330099" onmouseover="View('330099')" onclick="Set('330099')"></td>
<td bgcolor="#333399" onmouseover="View('333399')" onclick="Set('333399')"></td>
<td bgcolor="#336699" onmouseover="View('336699')" onclick="Set('336699')"></td>
<td bgcolor="#339999" onmouseover="View('339999')" onclick="Set('339999')"></td>
<td bgcolor="#33CC99" onmouseover="View('33CC99')" onclick="Set('33CC99')"></td>
<td bgcolor="#33FF99" onmouseover="View('33FF99')" onclick="Set('33FF99')"></td>
<td bgcolor="#660099" onmouseover="View('660099')" onclick="Set('660099')"></td>
<td bgcolor="#663399" onmouseover="View('663399')" onclick="Set('663399')"></td>
<td bgcolor="#666699" onmouseover="View('666699')" onclick="Set('666699')"></td>
<td bgcolor="#669999" onmouseover="View('669999')" onclick="Set('669999')"></td>
<td bgcolor="#66CC99" onmouseover="View('66CC99')" onclick="Set('66CC99')"></td>
<td bgcolor="#66FF99" onmouseover="View('66FF99')" onclick="Set('66FF99')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#CCCCCC" onmouseover="View('CCCCCC')" onclick="Set('CCCCCC')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#0000CC" onmouseover="View('0000CC')" onclick="Set('0000CC')"></td>
<td bgcolor="#0033CC" onmouseover="View('0033CC')" onclick="Set('0033CC')"></td>
<td bgcolor="#0066CC" onmouseover="View('0066CC')" onclick="Set('0066CC')"></td>
<td bgcolor="#0099CC" onmouseover="View('0099CC')" onclick="Set('0099CC')"></td>
<td bgcolor="#00CCCC" onmouseover="View('00CCCC')" onclick="Set('00CCCC')"></td>
<td bgcolor="#00FFCC" onmouseover="View('00FFCC')" onclick="Set('00FFCC')"></td>
<td bgcolor="#3300CC" onmouseover="View('3300CC')" onclick="Set('3300CC')"></td>
<td bgcolor="#3333CC" onmouseover="View('3333CC')" onclick="Set('3333CC')"></td>
<td bgcolor="#3366CC" onmouseover="View('3366CC')" onclick="Set('3366CC')"></td>
<td bgcolor="#3399CC" onmouseover="View('3399CC')" onclick="Set('3399CC')"></td>
<td bgcolor="#33CCCC" onmouseover="View('33CCCC')" onclick="Set('33CCCC')"></td>
<td bgcolor="#33FFCC" onmouseover="View('33FFCC')" onclick="Set('33FFCC')"></td>
<td bgcolor="#6600CC" onmouseover="View('6600CC')" onclick="Set('6600CC')"></td>
<td bgcolor="#6633CC" onmouseover="View('6633CC')" onclick="Set('6633CC')"></td>
<td bgcolor="#6666CC" onmouseover="View('6666CC')" onclick="Set('6666CC')"></td>
<td bgcolor="#6699CC" onmouseover="View('6699CC')" onclick="Set('6699CC')"></td>
<td bgcolor="#66CCCC" onmouseover="View('66CCCC')" onclick="Set('66CCCC')"></td>
<td bgcolor="#66FFCC" onmouseover="View('66FFCC')" onclick="Set('66FFCC')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#FFFFFF" onmouseover="View('FFFFFF')" onclick="Set('FFFFFF')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#0000FF" onmouseover="View('0000FF')" onclick="Set('0000FF')"></td>
<td bgcolor="#0033FF" onmouseover="View('0033FF')" onclick="Set('0033FF')"></td>
<td bgcolor="#0066FF" onmouseover="View('0066FF')" onclick="Set('0066FF')"></td>
<td bgcolor="#0099FF" onmouseover="View('0099FF')" onclick="Set('0099FF')"></td>
<td bgcolor="#00CCFF" onmouseover="View('00CCFF')" onclick="Set('00CCFF')"></td>
<td bgcolor="#00FFFF" onmouseover="View('00FFFF')" onclick="Set('00FFFF')"></td>
<td bgcolor="#3300FF" onmouseover="View('3300FF')" onclick="Set('3300FF')"></td>
<td bgcolor="#3333FF" onmouseover="View('3333FF')" onclick="Set('3333FF')"></td>
<td bgcolor="#3366FF" onmouseover="View('3366FF')" onclick="Set('3366FF')"></td>
<td bgcolor="#3399FF" onmouseover="View('3399FF')" onclick="Set('3399FF')"></td>
<td bgcolor="#33CCFF" onmouseover="View('33CCFF')" onclick="Set('33CCFF')"></td>
<td bgcolor="#33FFFF" onmouseover="View('33FFFF')" onclick="Set('33FFFF')"></td>
<td bgcolor="#6600FF" onmouseover="View('6600FF')" onclick="Set('6600FF')"></td>
<td bgcolor="#6633FF" onmouseover="View('6633FF')" onclick="Set('6633FF')"></td>
<td bgcolor="#6666FF" onmouseover="View('6666FF')" onclick="Set('6666FF')"></td>
<td bgcolor="#6699FF" onmouseover="View('6699FF')" onclick="Set('6699FF')"></td>
<td bgcolor="#66CCFF" onmouseover="View('66CCFF')" onclick="Set('66CCFF')"></td>
<td bgcolor="#66FFFF" onmouseover="View('66FFFF')" onclick="Set('66FFFF')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#FF0000" onmouseover="View('FF0000')" onclick="Set('FF0000')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#990000" onmouseover="View('990000')" onclick="Set('990000')"></td>
<td bgcolor="#993300" onmouseover="View('993300')" onclick="Set('993300')"></td>
<td bgcolor="#996600" onmouseover="View('996600')" onclick="Set('996600')"></td>
<td bgcolor="#999900" onmouseover="View('999900')" onclick="Set('999900')"></td>
<td bgcolor="#99CC00" onmouseover="View('99CC00')" onclick="Set('99CC00')"></td>
<td bgcolor="#99FF00" onmouseover="View('99FF00')" onclick="Set('99FF00')"></td>
<td bgcolor="#CC0000" onmouseover="View('CC0000')" onclick="Set('CC0000')"></td>
<td bgcolor="#CC3300" onmouseover="View('CC3300')" onclick="Set('CC3300')"></td>
<td bgcolor="#CC6600" onmouseover="View('CC6600')" onclick="Set('CC6600')"></td>
<td bgcolor="#CC9900" onmouseover="View('CC9900')" onclick="Set('CC9900')"></td>
<td bgcolor="#CCCC00" onmouseover="View('CCCC00')" onclick="Set('CCCC00')"></td>
<td bgcolor="#CCFF00" onmouseover="View('CCFF00')" onclick="Set('CCFF00')"></td>
<td bgcolor="#FF0000" onmouseover="View('FF0000')" onclick="Set('FF0000')"></td>
<td bgcolor="#FF3300" onmouseover="View('FF3300')" onclick="Set('FF3300')"></td>
<td bgcolor="#FF6600" onmouseover="View('FF6600')" onclick="Set('FF6600')"></td>
<td bgcolor="#FF9900" onmouseover="View('FF9900')" onclick="Set('FF9900')"></td>
<td bgcolor="#FFCC00" onmouseover="View('FFCC00')" onclick="Set('FFCC00')"></td>
<td bgcolor="#FFFF00" onmouseover="View('FFFF00')" onclick="Set('FFFF00')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#00FF00" onmouseover="View('00FF00')" onclick="Set('00FF00')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#990033" onmouseover="View('990033')" onclick="Set('990033')"></td>
<td bgcolor="#993333" onmouseover="View('993333')" onclick="Set('993333')"></td>
<td bgcolor="#996633" onmouseover="View('996633')" onclick="Set('996633')"></td>
<td bgcolor="#999933" onmouseover="View('999933')" onclick="Set('999933')"></td>
<td bgcolor="#99CC33" onmouseover="View('99CC33')" onclick="Set('99CC33')"></td>
<td bgcolor="#99FF33" onmouseover="View('99FF33')" onclick="Set('99FF33')"></td>
<td bgcolor="#CC0033" onmouseover="View('CC0033')" onclick="Set('CC0033')"></td>
<td bgcolor="#CC3333" onmouseover="View('CC3333')" onclick="Set('CC3333')"></td>
<td bgcolor="#CC6633" onmouseover="View('CC6633')" onclick="Set('CC6633')"></td>
<td bgcolor="#CC9933" onmouseover="View('CC9933')" onclick="Set('CC9933')"></td>
<td bgcolor="#CCCC33" onmouseover="View('CCCC33')" onclick="Set('CCCC33')"></td>
<td bgcolor="#CCFF33" onmouseover="View('CCFF33')" onclick="Set('CCFF33')"></td>
<td bgcolor="#FF0033" onmouseover="View('FF0033')" onclick="Set('FF0033')"></td>
<td bgcolor="#FF3333" onmouseover="View('FF3333')" onclick="Set('FF3333')"></td>
<td bgcolor="#FF6633" onmouseover="View('FF6633')" onclick="Set('FF6633')"></td>
<td bgcolor="#FF9933" onmouseover="View('FF9933')" onclick="Set('FF9933')"></td>
<td bgcolor="#FFCC33" onmouseover="View('FFCC33')" onclick="Set('FFCC33')"></td>
<td bgcolor="#FFFF33" onmouseover="View('FFFF33')" onclick="Set('FFFF33')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#0000FF" onmouseover="View('0000FF')" onclick="Set('0000FF')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#990066" onmouseover="View('990066')" onclick="Set('990066')"></td>
<td bgcolor="#993366" onmouseover="View('993366')" onclick="Set('993366')"></td>
<td bgcolor="#996666" onmouseover="View('996666')" onclick="Set('996666')"></td>
<td bgcolor="#999966" onmouseover="View('999966')" onclick="Set('999966')"></td>
<td bgcolor="#99CC66" onmouseover="View('99CC66')" onclick="Set('99CC66')"></td>
<td bgcolor="#99FF66" onmouseover="View('99FF66')" onclick="Set('99FF66')"></td>
<td bgcolor="#CC0066" onmouseover="View('CC0066')" onclick="Set('CC0066')"></td>
<td bgcolor="#CC3366" onmouseover="View('CC3366')" onclick="Set('CC3366')"></td>
<td bgcolor="#CC6666" onmouseover="View('CC6666')" onclick="Set('CC6666')"></td>
<td bgcolor="#CC9966" onmouseover="View('CC9966')" onclick="Set('CC9966')"></td>
<td bgcolor="#CCCC66" onmouseover="View('CCCC66')" onclick="Set('CCCC66')"></td>
<td bgcolor="#CCFF66" onmouseover="View('CCFF66')" onclick="Set('CCFF66')"></td>
<td bgcolor="#FF0066" onmouseover="View('FF0066')" onclick="Set('FF0066')"></td>
<td bgcolor="#FF3366" onmouseover="View('FF3366')" onclick="Set('FF3366')"></td>
<td bgcolor="#FF6666" onmouseover="View('FF6666')" onclick="Set('FF6666')"></td>
<td bgcolor="#FF9966" onmouseover="View('FF9966')" onclick="Set('FF9966')"></td>
<td bgcolor="#FFCC66" onmouseover="View('FFCC66')" onclick="Set('FFCC66')"></td>
<td bgcolor="#FFFF66" onmouseover="View('FFFF66')" onclick="Set('FFFF66')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#FFFF00" onmouseover="View('FFFF00')" onclick="Set('FFFF00')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#990099" onmouseover="View('990099')" onclick="Set('990099')"></td>
<td bgcolor="#993399" onmouseover="View('993399')" onclick="Set('993399')"></td>
<td bgcolor="#996699" onmouseover="View('996699')" onclick="Set('996699')"></td>
<td bgcolor="#999999" onmouseover="View('999999')" onclick="Set('999999')"></td>
<td bgcolor="#99CC99" onmouseover="View('99CC99')" onclick="Set('99CC99')"></td>
<td bgcolor="#99FF99" onmouseover="View('99FF99')" onclick="Set('99FF99')"></td>
<td bgcolor="#CC0099" onmouseover="View('CC0099')" onclick="Set('CC0099')"></td>
<td bgcolor="#CC3399" onmouseover="View('CC3399')" onclick="Set('CC3399')"></td>
<td bgcolor="#CC6699" onmouseover="View('CC6699')" onclick="Set('CC6699')"></td>
<td bgcolor="#CC9999" onmouseover="View('CC9999')" onclick="Set('CC9999')"></td>
<td bgcolor="#CCCC99" onmouseover="View('CCCC99')" onclick="Set('CCCC99')"></td>
<td bgcolor="#CCFF99" onmouseover="View('CCFF99')" onclick="Set('CCFF99')"></td>
<td bgcolor="#FF0099" onmouseover="View('FF0099')" onclick="Set('FF0099')"></td>
<td bgcolor="#FF3399" onmouseover="View('FF3399')" onclick="Set('FF3399')"></td>
<td bgcolor="#FF6699" onmouseover="View('FF6699')" onclick="Set('FF6699')"></td>
<td bgcolor="#FF9999" onmouseover="View('FF9999')" onclick="Set('FF9999')"></td>
<td bgcolor="#FFCC99" onmouseover="View('FFCC99')" onclick="Set('FFCC99')"></td>
<td bgcolor="#FFFF99" onmouseover="View('FFFF99')" onclick="Set('FFFF99')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#00FFFF" onmouseover="View('00FFFF')" onclick="Set('00FFFF')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#9900CC" onmouseover="View('9900CC')" onclick="Set('9900CC')"></td>
<td bgcolor="#9933CC" onmouseover="View('9933CC')" onclick="Set('9933CC')"></td>
<td bgcolor="#9966CC" onmouseover="View('9966CC')" onclick="Set('9966CC')"></td>
<td bgcolor="#9999CC" onmouseover="View('9999CC')" onclick="Set('9999CC')"></td>
<td bgcolor="#99CCCC" onmouseover="View('99CCCC')" onclick="Set('99CCCC')"></td>
<td bgcolor="#99FFCC" onmouseover="View('99FFCC')" onclick="Set('99FFCC')"></td>
<td bgcolor="#CC00CC" onmouseover="View('CC00CC')" onclick="Set('CC00CC')"></td>
<td bgcolor="#CC33CC" onmouseover="View('CC33CC')" onclick="Set('CC33CC')"></td>
<td bgcolor="#CC66CC" onmouseover="View('CC66CC')" onclick="Set('CC66CC')"></td>
<td bgcolor="#CC99CC" onmouseover="View('CC99CC')" onclick="Set('CC99CC')"></td>
<td bgcolor="#CCCCCC" onmouseover="View('CCCCCC')" onclick="Set('CCCCCC')"></td>
<td bgcolor="#CCFFCC" onmouseover="View('CCFFCC')" onclick="Set('CCFFCC')"></td>
<td bgcolor="#FF00CC" onmouseover="View('FF00CC')" onclick="Set('FF00CC')"></td>
<td bgcolor="#FF33CC" onmouseover="View('FF33CC')" onclick="Set('FF33CC')"></td>
<td bgcolor="#FF66CC" onmouseover="View('FF66CC')" onclick="Set('FF66CC')"></td>
<td bgcolor="#FF99CC" onmouseover="View('FF99CC')" onclick="Set('FF99CC')"></td>
<td bgcolor="#FFCCCC" onmouseover="View('FFCCCC')" onclick="Set('FFCCCC')"></td>
<td bgcolor="#FFFFCC" onmouseover="View('FFFFCC')" onclick="Set('FFFFCC')"></td>
</tr>
<tr>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#FF00FF" onmouseover="View('FF00FF')" onclick="Set('FF00FF')"></td>
<td bgcolor="#000000" onmouseover="View('000000')" onclick="Set('000000')"></td>
<td bgcolor="#9900FF" onmouseover="View('9900FF')" onclick="Set('9900FF')"></td>
<td bgcolor="#9933FF" onmouseover="View('9933FF')" onclick="Set('9933FF')"></td>
<td bgcolor="#9966FF" onmouseover="View('9966FF')" onclick="Set('9966FF')"></td>
<td bgcolor="#9999FF" onmouseover="View('9999FF')" onclick="Set('9999FF')"></td>
<td bgcolor="#99CCFF" onmouseover="View('99CCFF')" onclick="Set('99CCFF')"></td>
<td bgcolor="#99FFFF" onmouseover="View('99FFFF')" onclick="Set('99FFFF')"></td>
<td bgcolor="#CC00FF" onmouseover="View('CC00FF')" onclick="Set('CC00FF')"></td>
<td bgcolor="#CC33FF" onmouseover="View('CC33FF')" onclick="Set('CC33FF')"></td>
<td bgcolor="#CC66FF" onmouseover="View('CC66FF')" onclick="Set('CC66FF')"></td>
<td bgcolor="#CC99FF" onmouseover="View('CC99FF')" onclick="Set('CC99FF')"></td>
<td bgcolor="#CCCCFF" onmouseover="View('CCCCFF')" onclick="Set('CCCCFF')"></td>
<td bgcolor="#CCFFFF" onmouseover="View('CCFFFF')" onclick="Set('CCFFFF')"></td>
<td bgcolor="#FF00FF" onmouseover="View('FF00FF')" onclick="Set('FF00FF')"></td>
<td bgcolor="#FF33FF" onmouseover="View('FF33FF')" onclick="Set('FF33FF')"></td>
<td bgcolor="#FF66FF" onmouseover="View('FF66FF')" onclick="Set('FF66FF')"></td>
<td bgcolor="#FF99FF" onmouseover="View('FF99FF')" onclick="Set('FF99FF')"></td>
<td bgcolor="#FFCCFF" onmouseover="View('FFCCFF')" onclick="Set('FFCCFF')"></td>
<td bgcolor="#FFFFFF" onmouseover="View('FFFFFF')" onclick="Set('FFFFFF')"></td>
</tr>
</table>
</body></html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>select_color.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>select_color.html</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>xinha_custom.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>xinha_support</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:block tal:define="site_root python: here.getWebSiteValue() or here.getPortalObject();
portal_url python: site_root.absolute_url();">
<script type="text/javascript" tal:content="structure string:
_editor_url = '${portal_url}/xinha';">
</script>
<script type="text/javascript" tal:attributes="src string:${portal_url}/xinha/XinhaCore.js"></script>
<script type="text/javascript" tal:attributes="src string:${portal_url}/xinha/LoadEditor.js"></script>
<tal:block tal:define="field_value python: field_value;
field_name python: field_name;
cols python: field.get_value('width');
rows python: field.get_value('height');">
<textarea id="my_text_content" style="width:100%;" tal:content="field_value"
tal:attributes="name field_name;
rows rows;
cols cols;"/>
</tal:block>
</tal:block>
\ No newline at end of file
2012-12-13 Jérome
* enable UnsavedChanges plugin
2011-10-21 Kazuhiko
* Now working fine with Firefox.
2010-11-08 gabriel
* The initial commit
\ No newline at end of file
Copyright © 2001-2011 Nexedi SA
\ No newline at end of file
This Business Template contains a static files of Xinha editor version 0.96.1.
\ No newline at end of file
GPL
\ No newline at end of file
gabriel
\ No newline at end of file
erp5_xinha_editor
\ No newline at end of file
erp5_xinha_editor
\ No newline at end of file
5.4.7
\ No newline at end of file
text_editor_list = [("Plain Text", "text_area"), ("FCK Editor", "fck_editor")] text_editor_list = [("Plain Text", "text_area"), ("FCK Editor", "fck_editor")]
if getattr(context.portal_skins, "erp5_xinha_editor", None) is not None:
text_editor_list.append(("Xinha Editor", "xinha"))
if getattr(context.portal_skins, "erp5_ace_editor", None) is not None: if getattr(context.portal_skins, "erp5_ace_editor", None) is not None:
text_editor_list.append(("Ace Editor", "ace")) text_editor_list.append(("Ace Editor", "ace"))
......
...@@ -82,7 +82,6 @@ class TestXHTMLMixin(ERP5TypeTestCase): ...@@ -82,7 +82,6 @@ class TestXHTMLMixin(ERP5TypeTestCase):
'erp5_sql_browser', 'erp5_sql_browser',
'erp5_dhtmlx_scheduler', 'erp5_dhtmlx_scheduler',
'erp5_svg_editor', 'erp5_svg_editor',
'erp5_xinha_editor',
) )
def changeSkin(self, skin_name): def changeSkin(self, skin_name):
...@@ -237,7 +236,7 @@ class TestXHTMLMixin(ERP5TypeTestCase): ...@@ -237,7 +236,7 @@ class TestXHTMLMixin(ERP5TypeTestCase):
for script_path, script in skins_tool.ZopeFind( for script_path, script in skins_tool.ZopeFind(
skins_tool, obj_metatypes=['File'], search_sub=1): skins_tool, obj_metatypes=['File'], search_sub=1):
is_required_check_path = True is_required_check_path = True
ignore_bts = ['erp5_jquery','erp5_fckeditor','erp5_xinha_editor', 'erp5_svg_editor', 'erp5_jquery_ui'] ignore_bts = ['erp5_jquery','erp5_fckeditor', 'erp5_svg_editor', 'erp5_jquery_ui']
if script_path.endswith('.html'): if script_path.endswith('.html'):
for ignore_bt_name in ignore_bts: for ignore_bt_name in ignore_bts:
if script_path.startswith(ignore_bt_name): if script_path.startswith(ignore_bt_name):
...@@ -458,7 +457,6 @@ class TestXHTML(TestXHTMLMixin): ...@@ -458,7 +457,6 @@ class TestXHTML(TestXHTMLMixin):
'erp5_jquery_plugin_sheet', 'erp5_jquery_plugin_sheet',
'erp5_jquery_plugin_mbmenu', 'erp5_jquery_plugin_mbmenu',
'erp5_jquery_plugin_wdcalendar', 'erp5_jquery_plugin_wdcalendar',
'erp5_xinha_editor',
'erp5_svg_editor', 'erp5_svg_editor',
'erp5_jquery_sheet_editor', 'erp5_jquery_sheet_editor',
'erp5_graph_editor', 'erp5_graph_editor',
......
...@@ -71,7 +71,6 @@ class EditorWidget(Widget.TextAreaWidget): ...@@ -71,7 +71,6 @@ class EditorWidget(Widget.TextAreaWidget):
size=1, size=1,
items=[('Standard Text Area', 'text_area'), items=[('Standard Text Area', 'text_area'),
('FCK Editor', 'fck_editor'), ('FCK Editor', 'fck_editor'),
('Xinha Editor', 'xinha'),
('SVG Editor', 'svg_editor'), ('SVG Editor', 'svg_editor'),
('Spreadsheet Editor', 'spreadsheet_editor'), ('Spreadsheet Editor', 'spreadsheet_editor'),
('Ace Editor', 'ace'), ('Ace Editor', 'ace'),
...@@ -83,16 +82,7 @@ class EditorWidget(Widget.TextAreaWidget): ...@@ -83,16 +82,7 @@ class EditorWidget(Widget.TextAreaWidget):
""" """
here = REQUEST['here'] here = REQUEST['here']
text_editor = field.get_value('text_editor') text_editor = field.get_value('text_editor')
if text_editor == "xinha": if text_editor == "svg_editor":
xinha_support = getattr(here, 'xinha_support', None)
if xinha_support is not None:
return xinha_support.pt_render(
extra_context= {
'field' : field,
'field_value' : value,
'field_name' : key
})
elif text_editor == "svg_editor":
svg_editor_support = getattr(here, 'svg_editor_support', None) svg_editor_support = getattr(here, 'svg_editor_support', None)
if svg_editor_support is not None: if svg_editor_support is not None:
return svg_editor_support.pt_render() return svg_editor_support.pt_render()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment