function Sarissa(){}Sarissa.VERSION="${project.version}";Sarissa.PARSED_OK="Document contains no parsing errors";Sarissa.PARSED_EMPTY="Document is empty";Sarissa.PARSED_UNKNOWN_ERROR="Not well-formed or other error";Sarissa.IS_ENABLED_TRANSFORM_NODE=false;var _sarissa_iNsCounter=0;var _SARISSA_IEPREFIX4XSLPARAM="";var _SARISSA_HAS_DOM_IMPLEMENTATION=document.implementation&&true;var _SARISSA_HAS_DOM_CREATE_DOCUMENT=_SARISSA_HAS_DOM_IMPLEMENTATION&&document.implementation.createDocument;var _SARISSA_HAS_DOM_FEATURE=_SARISSA_HAS_DOM_IMPLEMENTATION&&document.implementation.hasFeature;var _SARISSA_IS_MOZ=_SARISSA_HAS_DOM_CREATE_DOCUMENT&&_SARISSA_HAS_DOM_FEATURE;var _SARISSA_IS_SAFARI=navigator.userAgent.toLowerCase().indexOf("safari")!=-1||navigator.userAgent.toLowerCase().indexOf("konqueror")!=-1;var _SARISSA_IS_SAFARI_OLD=_SARISSA_IS_SAFARI&&parseInt((navigator.userAgent.match(/AppleWebKit\/(\d+)/)||{})[1])<420;var _SARISSA_IS_IE=document.all&&window.ActiveXObject&&navigator.userAgent.toLowerCase().indexOf("msie")>-1&&navigator.userAgent.toLowerCase().indexOf("opera")==-1;var _SARISSA_IS_OPERA=navigator.userAgent.toLowerCase().indexOf("opera")!=-1;if(!window.Node||!Node.ELEMENT_NODE){Node={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12}}if(_SARISSA_IS_SAFARI_OLD){HTMLHtmlElement=document.createElement("html").constructor;Node=HTMLElement={};HTMLElement.prototype=HTMLHtmlElement.__proto__.__proto__;HTMLDocument=Document=document.constructor;var x=new DOMParser();XMLDocument=x.constructor;Element=x.parseFromString("<Single />","text/xml").documentElement.constructor;x=null}if(typeof XMLDocument=="undefined"&&typeof Document!="undefined"){XMLDocument=Document}if(_SARISSA_IS_IE){_SARISSA_IEPREFIX4XSLPARAM="xsl:";var _SARISSA_DOM_PROGID="";var _SARISSA_XMLHTTP_PROGID="";var _SARISSA_DOM_XMLWRITER="";Sarissa.pickRecentProgID=function(f){var d=false,h;for(var b=0;b<f.length&&!d;b++){try{var a=new ActiveXObject(f[b]);var g=f[b];d=true}catch(c){h=c}}if(!d){throw"Could not retrieve a valid progID of Class: "+f[f.length-1]+". (original exception: "+h+")"}f=null;return g};_SARISSA_DOM_PROGID=null;_SARISSA_THREADEDDOM_PROGID=null;_SARISSA_XSLTEMPLATE_PROGID=null;_SARISSA_XMLHTTP_PROGID=null;if(!window.XMLHttpRequest){XMLHttpRequest=function(){if(!_SARISSA_XMLHTTP_PROGID){_SARISSA_XMLHTTP_PROGID=Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"])}return new ActiveXObject(_SARISSA_XMLHTTP_PROGID)}}Sarissa.getDomDocument=function(d,c){if(!_SARISSA_DOM_PROGID){_SARISSA_DOM_PROGID=Sarissa.pickRecentProgID(["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.3.0","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"])}var a=new ActiveXObject(_SARISSA_DOM_PROGID);if(c){var b="";if(d){if(c.indexOf(":")>1){b=c.substring(0,c.indexOf(":"));c=c.substring(c.indexOf(":")+1)}else{b="a"+(_sarissa_iNsCounter++)}}if(d){a.loadXML("<"+b+":"+c+" xmlns:"+b+'="'+d+'" />')}else{a.loadXML("<"+c+" />")}}return a};Sarissa.getParseErrorText=function(a){var c=Sarissa.PARSED_OK;if(a&&a.parseError&&a.parseError.errorCode&&a.parseError.errorCode!=0){c="XML Parsing Error: "+a.parseError.reason+"\nLocation: "+a.parseError.url+"\nLine Number "+a.parseError.line+", Column "+a.parseError.linepos+":\n"+a.parseError.srcText+"\n";for(var b=0;b<a.parseError.linepos;b++){c+="-"}c+="^\n"}else{if(a.documentElement==null){c=Sarissa.PARSED_EMPTY}}return c};Sarissa.setXpathNamespaces=function(a,b){a.setProperty("SelectionLanguage","XPath");a.setProperty("SelectionNamespaces",b)};XSLTProcessor=function(){if(!_SARISSA_XSLTEMPLATE_PROGID){_SARISSA_XSLTEMPLATE_PROGID=Sarissa.pickRecentProgID(["Msxml2.XSLTemplate.6.0","MSXML2.XSLTemplate.3.0"])}this.template=new ActiveXObject(_SARISSA_XSLTEMPLATE_PROGID);this.processor=null};XSLTProcessor.prototype.importStylesheet=function(d){if(!_SARISSA_THREADEDDOM_PROGID){_SARISSA_THREADEDDOM_PROGID=Sarissa.pickRecentProgID(["MSXML2.FreeThreadedDOMDocument.6.0","MSXML2.FreeThreadedDOMDocument.3.0"])}d.setProperty("SelectionLanguage","XPath");d.setProperty("SelectionNamespaces","xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");var c=new ActiveXObject(_SARISSA_THREADEDDOM_PROGID);try{c.resolveExternals=true;c.setProperty("AllowDocumentFunction",true)}catch(b){}if(d.url&&d.selectSingleNode("//xsl:*[local-name() = 'import' or local-name() = 'include']")!=null){c.async=false;c.load(d.url)}else{c.loadXML(d.xml)}c.setProperty("SelectionNamespaces","xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");var a=c.selectSingleNode("//xsl:output");this.outputMethod=a?a.getAttribute("method"):"html";this.template.stylesheet=c;this.processor=this.template.createProcessor();this.paramsSet=[]};XSLTProcessor.prototype.transformToDocument=function(c){if(_SARISSA_THREADEDDOM_PROGID){this.processor.input=c;var b=new ActiveXObject(_SARISSA_DOM_PROGID);this.processor.output=b;this.processor.transform();return b}else{if(!_SARISSA_DOM_XMLWRITER){_SARISSA_DOM_XMLWRITER=Sarissa.pickRecentProgID(["Msxml2.MXXMLWriter.6.0","Msxml2.MXXMLWriter.3.0","MSXML2.MXXMLWriter","MSXML.MXXMLWriter","Microsoft.XMLDOM"])}this.processor.input=c;var b=new ActiveXObject(_SARISSA_DOM_XMLWRITER);this.processor.output=b;this.processor.transform();var a=new ActiveXObject(_SARISSA_DOM_PROGID);a.loadXML(b.output+"");return a}};XSLTProcessor.prototype.transformToFragment=function(i,d){this.processor.input=i;this.processor.transform();var g=this.processor.output;var h=d.createDocumentFragment();if(this.outputMethod=="text"){h.appendChild(d.createTextNode(g))}else{if(d.body&&d.body.innerHTML){var b=d.createElement("div");b.innerHTML=g;while(b.hasChildNodes()){h.appendChild(b.firstChild)}}else{var a=new ActiveXObject(_SARISSA_DOM_PROGID);if(g.substring(0,5)=="<?xml"){g=g.substring(g.indexOf("?>")+2)}var c="".concat("<my>",g,"</my>");a.loadXML(c);var b=a.documentElement;while(b.hasChildNodes()){h.appendChild(b.firstChild)}}}return h};XSLTProcessor.prototype.setParameter=function(c,a,b){b=b?b:"";if(c){this.processor.addParameter(a,b,c)}else{this.processor.addParameter(a,b)}c=""+(c||"");if(!this.paramsSet[c]){this.paramsSet[c]=new Array()}this.paramsSet[c][a]=b};XSLTProcessor.prototype.getParameter=function(b,a){b=""+(b||"");if(this.paramsSet[b]&&this.paramsSet[b][a]){return this.paramsSet[b][a]}else{return null}};XSLTProcessor.prototype.clearParameters=function(){for(var b in this.paramsSet){for(var a in this.paramsSet[b]){if(b!=""){this.processor.addParameter(a,"",b)}else{this.processor.addParameter(a,"")}}}this.paramsSet=new Array()}}else{if(_SARISSA_HAS_DOM_CREATE_DOCUMENT){Sarissa.__handleLoad__=function(a){Sarissa.__setReadyState__(a,4)};_sarissa_XMLDocument_onload=function(){Sarissa.__handleLoad__(this)};Sarissa.__setReadyState__=function(a,b){a.readyState=b;a.readystate=b;if(a.onreadystatechange!=null&&typeof a.onreadystatechange=="function"){a.onreadystatechange()}};Sarissa.getDomDocument=function(c,b){var a=document.implementation.createDocument(c?c:null,b?b:null,null);if(!a.onreadystatechange){a.onreadystatechange=null}if(!a.readyState){a.readyState=0}a.addEventListener("load",_sarissa_XMLDocument_onload,false);return a};if(window.XMLDocument){}else{if(_SARISSA_HAS_DOM_FEATURE&&window.Document&&!Document.prototype.load&&document.implementation.hasFeature("LS","3.0")){Sarissa.getDomDocument=function(c,b){var a=document.implementation.createDocument(c?c:null,b?b:null,null);return a}}else{Sarissa.getDomDocument=function(c,b){var a=document.implementation.createDocument(c?c:null,b?b:null,null);if(a&&(c||b)&&!a.documentElement){a.appendChild(a.createElementNS(c,b))}return a}}}}}if(!window.DOMParser){if(_SARISSA_IS_SAFARI){DOMParser=function(){};DOMParser.prototype.parseFromString=function(b,c){var a=new XMLHttpRequest();a.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(b),false);a.send(null);return a.responseXML}}else{if(Sarissa.getDomDocument&&Sarissa.getDomDocument()&&Sarissa.getDomDocument(null,"bar").xml){DOMParser=function(){};DOMParser.prototype.parseFromString=function(a,c){var b=Sarissa.getDomDocument();b.loadXML(a);return b}}}}if((typeof(document.importNode)=="undefined")&&_SARISSA_IS_IE){try{document.importNode=function(c,b){var a;if(c.nodeName=="#text"){return document.createTextNode(c.data)}else{if(c.nodeName=="tbody"||c.nodeName=="tr"){a=document.createElement("table")}else{if(c.nodeName=="td"){a=document.createElement("tr")}else{if(c.nodeName=="option"){a=document.createElement("select")}else{a=document.createElement("div")}}}if(b){a.innerHTML=c.xml?c.xml:c.outerHTML}else{a.innerHTML=c.xml?c.cloneNode(false).xml:c.cloneNode(false).outerHTML}return a.getElementsByTagName("*")[0]}}}catch(e){}}if(!Sarissa.getParseErrorText){Sarissa.getParseErrorText=function(a){var c=Sarissa.PARSED_OK;if(!a.documentElement){c=Sarissa.PARSED_EMPTY}else{if(a.documentElement.tagName=="parsererror"){c=a.documentElement.firstChild.data;c+="\n"+a.documentElement.firstChild.nextSibling.firstChild.data}else{if(a.getElementsByTagName("parsererror").length>0){var b=a.getElementsByTagName("parsererror")[0];c=Sarissa.getText(b,true)+"\n"}else{if(a.parseError&&a.parseError.errorCode!=0){c=Sarissa.PARSED_UNKNOWN_ERROR}}}}return c}}Sarissa.getText=function(h,b){var f="";var c=h.childNodes;for(var d=0;d<c.length;d++){var g=c[d];var a=g.nodeType;if(a==Node.TEXT_NODE||a==Node.CDATA_SECTION_NODE){f+=g.data}else{if(b==true&&(a==Node.ELEMENT_NODE||a==Node.DOCUMENT_NODE||a==Node.DOCUMENT_FRAGMENT_NODE)){f+=Sarissa.getText(g,true)}}}return f};if(!window.XMLSerializer&&Sarissa.getDomDocument&&Sarissa.getDomDocument("","foo",null).xml){XMLSerializer=function(){};XMLSerializer.prototype.serializeToString=function(a){return a.xml}}Sarissa.stripTags=function(a){return a.replace(/<[^>]+>/g,"")};Sarissa.clearChildNodes=function(a){while(a.firstChild){a.removeChild(a.firstChild)}};Sarissa.copyChildNodes=function(d,f,g){if(_SARISSA_IS_SAFARI&&f.nodeType==Node.DOCUMENT_NODE){f=f.documentElement}if((!d)||(!f)){throw"Both source and destination nodes must be provided"}if(!g){Sarissa.clearChildNodes(f)}var b=f.nodeType==Node.DOCUMENT_NODE?f:f.ownerDocument;var a=d.childNodes;if(typeof(b.importNode)!="undefined"){for(var c=0;c<a.length;c++){f.appendChild(b.importNode(a[c],true))}}else{for(var c=0;c<a.length;c++){f.appendChild(a[c].cloneNode(true))}}};Sarissa.moveChildNodes=function(d,f,g){if((!d)||(!f)){throw"Both source and destination nodes must be provided"}if(!g){Sarissa.clearChildNodes(f)}var a=d.childNodes;if(d.ownerDocument==f.ownerDocument){while(d.firstChild){f.appendChild(d.firstChild)}}else{var b=f.nodeType==Node.DOCUMENT_NODE?f:f.ownerDocument;if(typeof(b.importNode)!="undefined"){for(var c=0;c<a.length;c++){f.appendChild(b.importNode(a[c],true))}}else{for(var c=0;c<a.length;c++){f.appendChild(a[c].cloneNode(true))}}Sarissa.clearChildNodes(d)}};Sarissa.xmlize=function(f,h,d){d=d?d:"";var g=d+"<"+h+">";var b=false;if(!(f instanceof Object)||f instanceof Number||f instanceof String||f instanceof Boolean||f instanceof Date){g+=Sarissa.escape(""+f);b=true}else{g+="\n";var a=f instanceof Array;for(var c in f){g+=Sarissa.xmlize(f[c],(a?'array-item key="'+c+'"':c),d+"   ")}g+=d}return(g+=(h.indexOf(" ")!=-1?"</array-item>\n":"</"+h+">\n"))};Sarissa.escape=function(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")};Sarissa.unescape=function(a){return a.replace(/&apos;/g,"'").replace(/&quot;/g,'"').replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")};window._=function(c,a){if(a){for(var f in a){var d=a[f];var b=new RegExp("\\$\\{"+f+"\\}","g");c=c.replace(b,""+d)}}return c};if(_SARISSA_HAS_DOM_FEATURE&&document.implementation.hasFeature("XPath","3.0")){function SarissaNodeList(a){this.length=a}SarissaNodeList.prototype=[0];SarissaNodeList.prototype.constructor=Array;SarissaNodeList.prototype.item=function(a){return(a<0||a>=this.length)?null:this[a]};SarissaNodeList.prototype.expr="";if(window.XMLDocument&&(!XMLDocument.prototype.setProperty)){XMLDocument.prototype.setProperty=function(a,b){}}Sarissa.setXpathNamespaces=function(h,c){h._sarissa_useCustomResolver=true;var a=c.indexOf(" ")>-1?c.split(" "):[c];h._sarissa_xpathNamespaces=[a.length];for(var d=0;d<a.length;d++){var g=a[d];var j=g.indexOf(":");var k=g.indexOf("=");if(j>0&&k>j+1){var f=g.substring(j+1,k);var b=g.substring(k+2,g.length-1);h._sarissa_xpathNamespaces[f]=b}else{throw"Bad format on namespace declaration(s) given"}}};XMLDocument.prototype._sarissa_useCustomResolver=false;XMLDocument.prototype._sarissa_xpathNamespaces=[];XMLDocument.prototype.selectNodes=function(c,h,a){var f=this;var b=this._sarissa_useCustomResolver?function(l){var i=f._sarissa_xpathNamespaces[l];if(i){return i}else{throw"No namespace URI found for prefix: '"+l+"'"}}:this.createNSResolver(this.documentElement);var k=null;if(!a){var j=this.evaluate(c,(h?h:this),b,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);var d=new SarissaNodeList(j.snapshotLength);d.expr=c;for(var g=0;g<d.length;g++){d[g]=j.snapshotItem(g)}k=d}else{k=j=this.evaluate(c,(h?h:this),b,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}return k};Element.prototype.selectNodes=function(a){var b=this.ownerDocument;if(b.selectNodes){return b.selectNodes(a,this)}else{throw"Method selectNodes is only supported by XML Elements"}};XMLDocument.prototype.selectSingleNode=function(c,b){var a=b?b:null;return this.selectNodes(c,a,true)};Element.prototype.selectSingleNode=function(a){var b=this.ownerDocument;if(b.selectSingleNode){return b.selectSingleNode(a,this)}else{throw"Method selectNodes is only supported by XML Elements"}};Sarissa.IS_ENABLED_SELECT_NODES=true}function newDocumentElement(k,c,h){if(_SARISSA_IS_IE){var l=[c];for(var j=1;j<h.length;j++){var m=h[j];if(m.length===undefined){for(var g in m){var b=m[g];if(b===true){b=g}if(b===false){continue}if(g=="className"){g="class"}l.push(g+'="'+b.replace(/"/,"&quot;")+'"')}}}c="<"+l.join(" ")+"></"+c+">"}var d=k.createElement(c);for(var j=1;j<h.length;j++){var m=h[j];if(m.length===undefined){if(!_SARISSA_IS_IE){for(var g in m){if(/^on/.test(g)){d.setAttribute(g,m[g])}else{d[g]=m[g]}}}}else{for(var f=0;f<m.length;f++){if(typeof(m[f])=="string"){d.appendChild(k.createTextNode(m[f]))}else{d.appendChild(m[f])}}}}return d}function newElement(a){return newDocumentElement(document,a,arguments)}function addEventHandler(f,b,a,c){var k=new ContextFixer(a,c);var j=[null,null];for(var g=4;g<arguments.length;g++){j.push(arguments[g])}k.args=j;try{if(f.addEventListener){f.addEventListener(b,k.execute,false)}else{if(f.attachEvent){f.attachEvent("on"+b,k.execute)}else{throw _("Unsupported browser!")}}return k.execute}catch(h){var d=_("exception ${message} while registering an event handler for element ${element}, event ${event}, method ${method}, ",{message:h.message,element:f,event:b,method:a});if(h.stack){d+=_("\r\ntraceback:\r\n${traceback}",{traceback:h.stack})}alert(d)}}function removeEventHandler(a,b,c){if(a.removeEventListener){a.removeEventListener(b,c,false)}else{if(a.detachEvent){a.detachEvent("on"+b,c)}else{throw _("Unsupported browser!")}}}function getFromSelector(b){var c=/#(\S+)\s*([^ .]+)\.(\S+)/.exec(b);if(!c){return window.document.getElementById(b)}var g=c[1],a=c[2],d=c[3];var f=window.document.getElementById(g);return getBaseTagClass(f,a,d)}function getBaseTagClass(g,b,f){var a=new RegExp("\\b"+f+"\\b");var c=g.getElementsByTagName(b);for(var d=0;d<c.length;d++){if(a.test(c[d].className)){return c[d]}}return null}function openPopup(c,f,a,d){var b="width="+f+",height="+a;if(d){b+=","+d}var g=window.open(c,"someWindow",b);return g}function selectSelectItem(a,d){for(var b=0;b<a.options.length;b++){var c=a.options[b];if(c.value==d){a.selectedIndex=b;return}}a.selectedIndex=0}function parentWithStyleChecker(b,a,c,d){return function(m,j,k,l){if(d){var f=k.getInnerDocument().queryCommandState(d);if(f||k.getSelection().getContentLength()==0){return f}}var g=m;while(g&&g.style){for(var h=0;h<b.length;h++){if(g.nodeName.toLowerCase()==b[h].toLowerCase()){return true}}if(a&&g.style[a]==c){return true}g=g.parentNode}return false}}function _load_dict_helper(f){var k={};for(var d=0;d<f.childNodes.length;d++){var h=f.childNodes[d];if(h.nodeType==1){var g="";for(var c=0;c<h.childNodes.length;c++){if(h.childNodes[c].nodeType==1){g=_load_dict_helper(h);break}else{if(typeof(g)==typeof("")){g+=h.childNodes[c].nodeValue}}}if(typeof(g)==typeof("")&&!isNaN(parseInt(g))&&parseInt(g).toString().length==g.length){g=parseInt(g)}else{if(typeof(g)!=typeof("")){if(g.length==1){g=g[0]}}}var b=h.nodeName.toLowerCase();var a=h.attributes[0];if(a&&!(/^([^_]|_moz)/.test(a.name))){b+=a.name.toLowerCase()}if(k[b]!=undefined){if(!k[b].push){k[b]=[k[b],g]}else{k[b].push(g)}}else{k[b]=g}}}return k}function loadDictFromXML(a,f){var g={};var d=getFromSelector(f);var b=null;for(var c=0;c<d.childNodes.length;c++){if(d.childNodes[c].nodeType==1){b=d.childNodes[c];break}}if(!b){throw (_("No element found in the config island!"))}g=_load_dict_helper(b);return g}function NodeIterator(a,b){this.node=a;this.current=a;this.terminator=b?null:a;this.next=function(){if(this.current===false){this.current=this.node}var c=this.current;if(c.firstChild){this.current=c.firstChild}else{while(c!==this.terminator&&!c.nextSibling){c=c.parentNode}if(c===this.terminator){this.current=false}else{this.current=c.nextSibling}}return this.current};this.reset=function(){this.current=this.node};this.setCurrent=function(c){this.current=c}}function BaseSelection(){this.splitNodeAtSelection=function(f){if(!this.selectionInsideNode(f)){throw (_("Selection not inside the node!"))}var g=this.document.getDocument();var c=g.createElement("br");c.setAttribute("node_splitter","indeed");this.replaceWithNode(c);var i=f.cloneNode(true);var d=new NodeIterator(f);var b=d.next();var a=false;while(b){if(b.nodeName.toLowerCase()=="br"&&b.getAttribute("node_splitter")=="indeed"){a=true}var h=b;b=d.next();if(a&&(h.nodeType==3||!h.hasChildNodes())){h.parentNode.removeChild(h)}}var d=new NodeIterator(i);var b=d.next();var a=true;while(b){var h=b;b=d.next();if(h.nodeName.toLowerCase()=="br"&&h.getAttribute("node_splitter")=="indeed"){h.parentNode.removeChild(h);a=false}if(a&&(h.nodeType==3||!h.hasChildNodes())){h.parentNode.removeChild(h)}}if(f.nextSibling){f.parentNode.insertBefore(i,f.nextSibling)}else{f.parentNode.appendChild(i)}this.reset();return i};this.selectionInsideNode=function(b){var a=this.parentElement();while(a){if(a==b){return true}a=a.parentNode}return false}}function MozillaSelection(a){var b=a.getWindow();this.document=a;this.selection=b.getSelection();this._createRange=function(){return this.document.getDocument().createRange()};this.selectNodeContents=function(d){if(d&&d.parentNode){var f=this.selection;f.removeAllRanges();if(f.selectAllChildren){f.selectAllChildren(d)}else{var c=this._createRange();try{c.selectNode(d)}catch(g){c.selectNodeContents(d)}f.addRange(c)}}};this.collapse=function(d){try{if(!this.selection){this.reset()}if(!d){this.selection.collapseToStart()}else{this.selection.collapseToEnd()}}catch(c){}};this.replaceWithNode=function(f,k){var h=this.selection.getRangeAt(0);this.selection.removeAllRanges();h.deleteContents();var c=h.startContainer;var m=h.startOffset;var h=this._createRange();if(c.nodeType==3&&f.nodeType==3){c.insertData(m,f.nodeValue);h.setEnd(c,m+f.length);h.setStart(c,m+f.length)}else{var d;if(c.nodeType==3){var g=c;var c=g.parentNode;var n=g.nodeValue;var j=n.substr(0,m);var i=n.substr(m);var l=this.document.getDocument().createTextNode(j);d=this.document.getDocument().createTextNode(i);c.insertBefore(d,g);c.insertBefore(f,d);c.insertBefore(l,f);c.removeChild(g)}else{d=c.childNodes[m];if(d){c.insertBefore(f,d)}else{c.appendChild(f);d=c.nextSibling}}h.setEndAfter(f);h.collapse(false)}if(k){this.selection=b.getSelection();this.selection.addRange(h);if(k.nodeType==1){this.selection.selectAllChildren(k)}else{if(f.hasChildNodes()){this.selection.selectAllChildren(f)}else{var h=this.selection.getRangeAt(0).cloneRange();this.selection.removeAllRanges();h.selectNode(f);this.selection.addRange(h)}}b.focus()}return f};this.startOffset=function(){var g=this.startNode();var c=0;if(g==this.selection.anchorNode){c=this.selection.anchorOffset}else{c=this.selection.focusOffset}var f=this.parentElement();if(g==f){return c}var d=f.firstChild;var h=0;if(!d){if(c!=0){throw (_("Start node offset detected in a node without children!"))}return 0}while(d!=g){if(d.nodeType==3){h+=d.nodeValue.length}while(!d.nextSibling){d=d.parentNode}d=d.nextSibling}return h+c};this.startNode=function(){var g=this.selection.anchorNode;var i=this.selection.anchorOffset;var c=this.selection.focusNode;var f=this.selection.focusOffset;var h=this._createRange();h.setStart(g,i);var d=this._createRange();d.setStart(c,f);return h.compareBoundaryPoints("START_TO_START",d)<=0?g:c};this.endOffset=function(){var f=this.endNode();var l=0;if(f==this.selection.focusNode){l=this.selection.focusOffset}else{l=this.selection.anchorOffset}var d=this.parentElement();var c=d.firstChild;var j=0;if(d==f){for(var g=0;g<d.childNodes.length;g++){var k=d.childNodes[g];if(g==l){return j}if(k.nodeType==3){j+=k.nodeValue.length}}}if(!c){if(l!=0){var h=_("End node offset detected in a node without children!");alert(h);throw (h)}return 0}while(c&&c!=f){if(c.nodeType==3){j+=c.nodeValue.length}c=c.nextSibling}return j+l};this.endNode=function(){var g=this.selection.anchorNode;var i=this.selection.anchorOffset;var c=this.selection.focusNode;var f=this.selection.focusOffset;var h=this._createRange();h.setStart(g,i);var d=this._createRange();d.setStart(c,f);return h.compareBoundaryPoints("START_TO_START",d)>0?g:c};this.getContentLength=function(){return this.selection.toString().length};this.cutChunk=function(k,l){var i=this.selection.getRangeAt(0);var d=this.parentElement();var f=d.firstChild;var c=0;var m=null;var o=0;while(f){if(f.nodeType==3){var h=f.nodeValue.length;if(c+h<k){c+=h}else{m=f;o=k-c;break}}f=f.nextSibling}var f=d.firstChild;var c=0;var g=null;var j=0;while(f){if(f.nodeType==3){var h=f.nodeValue.length;if(c+h<l){c+=h}else{g=f;j=l-c;break}}f=f.nextSibling}if(!m){throw (_("Start offset out of range!"))}if(!g){throw (_("End offset out of range!"))}var n=i.cloneRange();n.setStart(m,o);n.setEnd(g,j);return n.extractContents()};this.getElementLength=function(d){var f=0;var c=d.firstChild;while(c){if(c.nodeType==3){f+=c.nodeValue.length}c=c.nextSibling}return f};this.parentElement=function(g){if(!this.selection){return null}if(this.selection.rangeCount==0){var k=this.document.getDocument().body;while(k.firstChild){k=k.firstChild}}else{var d=this.selection.getRangeAt(0);var k=this.parentElementOfRange(d);if(g){var m=this.selection.rangeCount;for(var c=1;c<m;c=c+1){var j=k;var h=null;var n=this._createRange();var l=this._createRange();var h=this.parentElementOfRange(this.selection.getRangeAt(c));n.selectNode(j);l.selectNode(h);if(n.compareBoundaryPoints(Range.START_TO_START,l)<=0&&n.compareBoundaryPoints(Range.END_TO_END,l)>=0){k=j}else{if(n.compareBoundaryPoints(Range.START_TO_START,l)>=0&&n.compareBoundaryPoints(Range.END_TO_END,l)<=0){k=h}else{if(n.compareBoundaryPoints(Range.START_TO_END,l)<=0){var f=this._createRange();f.setStartBefore(j);f.setEndAfter(h);k=f.commonAncestorContainer}else{var f=this._createRange();f.setStartBefore(h);f.setEndAfter(j);k=f.commonAncestorContainer}}}}}}if(k.nodeType==Node.TEXT_NODE){k=k.parentNode}return k};this.parentElementOfRange=function(g){if(g.compareBoundaryPoints(Range.START_TO_END,g)<0){var d=g.endContainer;var i=g.endOffset;var h=g.startContainer;var j=g.startOffset;g.setStart(d,i);g.setEnd(h,j)}var k=g.commonAncestorContainer;var f=g.compareBoundaryPoints(Range.START_TO_END,g)<0;var d=f?g.endContainer:g.startContainer;var i=f?g.endOffset:g.startOffset;var h=f?g.startContainer:g.endContainer;var j=f?g.startOffset:g.endOffset;var l=null;var c=k.firstChild;while(c){if(g.intersectsNode(c)&&!(c==d&&i==c.length)&&!(c==h&&j==0)){if(l){l=null;break}else{l=c}}else{if(l){break}}c=c.nextSibling}if(l){k=l}if(k.nodeType==Node.TEXT_NODE){k=k.parentNode}return k};this.getSelectedNode=this.parentElement;this.moveStart=function(i){var n=this.parentElement();var j=this.startOffset();var f=i+j;if(f>=0){var d=n.firstChild;var c=0;while(d){if(d.nodeType==3){var g=d.nodeValue.length;if(c+g>=f){var k=this.selection.getRangeAt(0);k.setStart(d,f-c);return}}d=d.nextSibling}var d=n.nextSibling;while(d){if(d.nodeType==3){var g=d.nodeValue.length;if(c+g>=f){var k=this.selection.getRangeAt(0);var h=this.endNode();var l=this.endOffset();k.setEnd(d,f-c);k.setStart(h,l);return}c+=g}d=d.nextSibling}throw (_("Offset out of document range"))}else{if(f<0){var d=n.prevSibling;var c=0;while(d){if(d.nodeType==3){var m=d.nodeValue.length;if(c-m<f){var k=this.selection.getRangeAt(0);k.setStart(d,f-c)}c-=m}d=d.prevSibling}}else{var k=this.selection.getRangeAt(0);k.setStart(n,0)}}};this.moveEnd=function(c){};this.reset=function(){this.selection=b.getSelection()};this.cloneContents=function(){var c=this.selection.getRangeAt(0);return c.cloneContents()};this.containsNode=function(d){var f=this.selection;if(f.containsNode){return f.containsNode(d,true)}else{for(var c=0;c<f.rangeCount;c++){if(f.getRangeAt(c).containsNode(d)){return true}}return false}};this.toString=function(){return this.selection.toString()};this.getRange=function(){if(this.selection&&this.selection.rangeCount>0){return this.selection.getRangeAt(0)}};this.restoreRange=function(c){var d=this.selection;if(d){d.removeAllRanges();d.addRange(c)}};if(!b.Range.prototype.intersectsNode){b.Range.prototype.intersectsNode=function(c){var f=c.ownerDocument.createRange();try{f.selectNode(c)}catch(d){f.selectNodeContents(c)}return this.compareBoundaryPoints(Range.END_TO_START,f)==-1&&this.compareBoundaryPoints(Range.START_TO_END,f)==1}}this.intersectsNode=function(d){for(var c=0;c<this.selection.rangeCount;c++){if(this.selection.getRangeAt(c).intersectsNode(d)){return true}}return false};if(!b.Range.prototype.containsNode){b.Range.prototype.containsNode=function(c){var f=c.ownerDocument.createRange();try{f.selectNode(c)}catch(d){f.selectNodeContents(c)}return this.compareBoundaryPoints(Range.START_TO_START,f)!=-1&&this.compareBoundaryPoints(Range.END_TO_END,f)!=1}}}MozillaSelection.prototype=new BaseSelection;function IESelection(a){this.document=a;this.selection=a.getDocument().selection;var d=a.getDocument();var b=this.selection.createRange();var c=this.selection.type=="Text"?b.parentElement():this.selection.type=="Control"?b.parentElement:null;if(c&&c.ownerDocument!=d){var b=d.body.createTextRange();b.collapse();b.select();this.reset()}this.selectNodeContents=function(g){var f=d.body.createTextRange();f.moveToElementText(g);f.moveStart("character",1);f.moveStart("character",-1);f.moveEnd("character",-1);f.moveEnd("character",1);f.select();this.reset()};this.collapse=function(g){var f=this.selection.createRange();f.collapse(!g);f.select();this.reset()};this.replaceWithNode=function(j,k){if(this.selection.type=="Control"){var g=this.selection.createRange();g.item(0).parentNode.replaceChild(j,g.item(0));for(var h=1;h<g.length;h++){g.item(h).parentNode.removeChild(g[h])}if(k){var g=this.document.getDocument().body.createTextRange();g.moveToElementText(j);g.select()}}else{var f=this.document.getDocument();var g=this.selection.createRange();g.pasteHTML('<img id="kupu-tempnode">');var l=f.getElementById("kupu-tempnode");l.replaceNode(j);if(k){if(k.nodeType==Node.ELEMENT_NODE){g.moveToElementText(k)}else{g.moveToElementText(j)}g.select()}}this.reset();return j};this.startOffset=function(){var f=0;var j=this.selection.createRange();var h=j.parentElement();var i=j.duplicate();i.moveToElementText(h);var g=j.duplicate();while(i.compareEndPoints("StartToStart",g)<0){f++;g.moveStart("character",-1)}return f};this.endOffset=function(){var i=0;var h=this.selection.createRange();var f=h.parentElement();var g=h.duplicate();g.moveToElementText(f);var j=h.duplicate();while(g.compareEndPoints("EndToEnd",j)>0){i++;j.moveEnd("character",1)}return i};this.getContentLength=function(){if(this.selection.type=="Control"){return this.selection.createRange().length}var h=0;var g=this.selection.createRange();var f=g.duplicate();while(g.compareEndPoints("StartToEnd",f)<0){g.move("character",1);h++}return h};this.cutChunk=function(f,h){var g=this.selection.createRange().duplicate();g.moveStart("character",f);g.moveEnd("character",-h);g.pasteHTML("")};this.getElementLength=function(g){var h=0;var f=this.selection.createRange().duplicate();f.moveToElementText(g);f.moveStart("character",1);f.moveEnd("character",-1);var i=f.duplicate();i.collapse(false);f.collapse();while(!f.isEqual(i)){f.moveEnd("character",1);f.moveStart("character",1);h++}return h};this.parentElement=function(f){if(this.selection.type=="Control"){return this.selection.createRange().item(0)}else{return this.selection.createRange().parentElement()}};this.getSelectedNode=this.parentElement;this.moveStart=function(g){var f=this.selection.createRange();f.moveStart("character",g);f.select();this.reset()};this.moveEnd=function(g){var f=this.selection.createRange();f.moveEnd("character",g);f.select();this.reset()};this.reset=function(){this.selection=this.document.getDocument().selection};this.cloneContents=function(){var f=this.selection.createRange().htmlText;var h=this.document.getDocument();var g=h.createElement("span");g.innerHTML=f;return g};this.containsNode=function(j){var h=this.selection.createRange();if(this.selection.type.toLowerCase()=="text"){var f=d.body.createTextRange();f.moveToElementText(j);if(h.compareEndPoints("StartToEnd",f)>=0||h.compareEndPoints("EndToStart",f)<=0){return false}return true}else{for(var g=0;g<h.length;g++){if(h.item(g).contains(j)){return true}}return false}};this.getRange=function(){return this.selection.createRange()};this.restoreRange=function(f){try{f.select();this.reset()}catch(g){}};this.toString=function(){return this.selection.createRange().text};this.intersectsNode=function(h){var f=d.body.createTextRange();f.moveToElementText(h);var g=this.selection.createRange();if((g.compareEndPoints("StartToStart",f)<=0&&g.compareEndPoints("EndToStart",f)>0)||(g.compareEndPoints("StartToStart",f)>0&&g.compareEndPoints("StartToEnd",f)<0)){return true}return false}}IESelection.prototype=new BaseSelection;function ContextFixer(c,b){this.func=c;this.context=b;this.args=arguments;var a=this;this.execute=function(){var d=[];for(var f=0;f<a.args.length-2;f++){d.push(a.args[f+2])}for(var f=0;f<arguments.length;f++){d.push(arguments[f])}return a.func.apply(a.context,d)}}function Timer(){this.lastid=0;this.functions={};this.registerFunction=function(b,d,f){var a=[];for(var c=0;c<arguments.length-3;c++){a.push(arguments[c+3])}var g=this._createUniqueId();this.functions[g]=[b,d,a];setTimeout("timer_instance._handleFunction("+g+")",f)};this._handleFunction=function(d){var c=this.functions[d][0];var b=this.functions[d][1];var a=this.functions[d][2];this.functions[d]=null;b.apply(c,a)};this._createUniqueId=function(){while(this.lastid in this.functions&&this.functions[this.lastid]){this.lastid++;if(this.lastid>100000){this.lastid=0}}return this.lastid}}timer_instance=new Timer();Array.prototype.contains=function(b,c){for(var a=0;a<this.length;a++){if(c){if(b===this[a]){return true}}else{if(b==this[a]){return true}}}return false};Array.prototype.removeDoubles=function(){var a=[];for(var b=0;b<this.length;b++){if(!a.contains(this[b])){a.push(this[b])}}return a};Array.prototype.map=function(b){for(var a=0;a<this.length;a++){this[a]=b(this[a])}};Array.prototype.reversed=function(){var a=[];for(var b=this.length;b>0;b--){a.push(this[b-1])}return a};String.prototype.strip=function(){var a=/^\s*([\s\S]*?)\s*$/;return a.exec(this)[1]};String.prototype.reduceWhitespace=function(){return this.replace(/\s+/g," ")};String.prototype.truncate=function(a){if(this.length<=a){return this}else{var b=this.substring(0,a+1).replace(/\s[^\s]*$/,"...");return b}};String.prototype.entitize=function(){var a=this.replace(/&/g,"&amp;");a=a.replace(/"/g,"&quot;");a=a.replace(/'/g,"&apos;");a=a.replace(/</g,"&lt;");a=a.replace(/>/g,"&gt;");return a};String.prototype.deentitize=function(){var a=this.replace(/&gt;/g,">");a=a.replace(/&lt;/g,"<");a=a.replace(/&apos;/g,"'");a=a.replace(/&quot;/g,'"');a=a.replace(/&amp;/g,"&");return a};String.prototype.urldecode=function(){var b=/%([a-fA-F0-9]{2})/g;var d=this;while(true){var a=b.exec(d);if(!a||!a.length){break}var c=new RegExp(a[0],"g");d=d.replace(c,String.fromCharCode(parseInt(a[1],16)))}return d};String.prototype.centerTruncate=function(b){if(this.length<=b){return this}var c=b/2-3;var d=this.substr(0,c);var a=this.substr(this.length-c);return d+" ... "+a};function debug(c,b){if(!b){b=window}var a=b.document;var d=a.createElement("div");d.appendChild(a.createTextNode(c));a.getElementsByTagName("body")[0].appendChild(d)}function Exception(){return}UpdateStateCancelBubble=new Exception();function kupuFixImage(c){c.removeAttribute("width");c.removeAttribute("height");var b=c.naturalWidth||c.width;var a=c.naturalHeight||c.height;if(a>b){if(a>128){b=b*128/a;a=128}}else{if(b>128){a=a*128/b;b=128}}if(b&&a){c.height=a;c.width=b}}function toggleAltFieldVisibility(c){var a=document.getElementById("image-alt-label");var d=c.checked?"none":"";if(a){a.style.display=d;var b=document.getElementById(a.htmlFor);if(b){b.style.display=d}}}function getOuterHtml(g){var f="<";f+=g.nodeName.toLowerCase();var d=g.attributes;for(var b=0;b<d.length;b++){var c=d[b];if(c.specified){f+=" "+c.nodeName.toLowerCase()+'="'+c.nodeValue+'"'}}f+=">";if(!(/hr|br|img|input/i.test(g.nodeName))){f+=g.innerHTML;f+="</"+g.nodeName.toLowerCase()+">"}return f}function KupuDocument(b){this.editable=b;this.window=this.editable.contentWindow;this.document=this.window.document;this._browser=_SARISSA_IS_IE?"IE":"Mozilla";var a={contentReadOnly:"readonly",styleWithCSS:"useCSS"};this.execCommand=function(f,c){if(c===undefined){c=null}try{this.document.execCommand(f,false,c)}catch(d){f=a[f];if(f){this.document.execCommand(f,false,!c)}}};this.reloadSource=function(){document.location=document.location};this.getDocument=function(){return this.document};this.getWindow=function(){return this.window};this.getSelection=function(){if(this._browser=="Mozilla"){return new MozillaSelection(this)}else{return new IESelection(this)}};this.getEditable=function(){return this.editable}}function KupuEditor(a,d,c){this.document=a;this.config=d;this.log=c;this.tools={};this.filters=[];this.serializer=new XMLSerializer();this._designModeSetAttempts=0;this._initialized=false;this._wantDesignMode=false;this._previous_range=null;this.content_changed=false;this.initialize=function(){this._initializeEventHandlers();if(this.getBrowserName()=="IE"){var f=this.getInnerDocument().getElementsByTagName("body")[0];f.setAttribute("contentEditable","true");this._initialized=true;if(this.afterInit){this.afterInit()}this._saveSelection()}else{this._setDesignModeWhenReady()}};this.setContextMenu=function(f){f.initialize(this)};this.registerTool=function(g,f){this.tools[g]=f;f.initialize(this)};this.getTool=function(f){return this.tools[f]};this.registerFilter=function(f){this.filters.push(f);f.initialize(this)};this.updateStateHandler=function(g){var f=[8,13,37,38,39,40,46];this._saveSelection();if(g.type=="click"||g.type=="mouseup"||(g.type=="keyup"&&f.contains(g.keyCode))){this.updateState(g)}};this.updateState=function(f){var g=this.getSelectedNode();for(var i in this.tools){try{this.tools[i].updateState(g,f)}catch(h){if(h==UpdateStateCancelBubble){this.updateState(f);break}else{this.logMessage("Exception while processing updateState on ${id}: ${msg}",{id:i,msg:h},2)}}}};this.saveDocument=function(l,f){if(!this.config.dst){this.logMessage(_("No destination URL available!"),2);return}var j=this.getTool("sourceedittool");if(j){j.cancelSourceMode()}if(!this._initialized){return}this._initialized=false;window.status=_("Please wait while saving document...");for(var g in this.tools){var m=this.tools[g];if(m.beforeSave){try{m.beforeSave()}catch(n){alert(n);this._initialized=true;return}}}this.logMessage(_("Starting HTML cleanup"));var h=this._filterContent(this.getInnerDocument().documentElement);var i=this._serializeOutputToString(h);this.logMessage(_("Cleanup done, sending document to server"));var k=new XMLHttpRequest();if(!f){k.onreadystatechange=(new ContextFixer(this._saveCallback,this,k,l)).execute;k.open("PUT",this.config.dst,true);k.setRequestHeader("Content-type",this.config.content_type);k.send(i);this.logMessage(_("Request sent to server"))}else{this.logMessage(_("Sending request to server"));k.open("PUT",this.config.dst,false);k.setRequestHeader("Content-type",this.config.content_type);k.send(i);this.handleSaveResponse(k,l)}};this.prepareForm=function(g,f){var j=this.getTool("sourceedittool");if(j){j.cancelSourceMode()}if(!this._initialized){return}this._initialized=false;window.status=_("Please wait while saving document...");for(var k in this.tools){var m=this.tools[k];if(m.beforeSave){try{m.beforeSave()}catch(n){alert(n);this._initialized=true;return}}}if(!f){f="kupu"}this.logMessage(_("Starting HTML cleanup"));var h=this._filterContent(this.getInnerDocument().documentElement);var i=this._serializeOutputToString(h);this.logMessage(_("Cleanup done, sending document to server"));var o=g.ownerDocument?g.ownerDocument:window.document;var l=o.createElement("textarea");l.style.visibility="hidden";var p=o.createTextNode(i);l.appendChild(p);l.setAttribute("name",f);g.appendChild(l);return true};this.execCommand=function(g,f){if(!this._initialized){this.logMessage(_("Editor not initialized yet!"));return}if(this.getBrowserName()=="IE"){this._restoreSelection()}else{this.focusDocument();if(g!="styleWithCSS"){this.content_changed=true;this.getDocument().execCommand("styleWithCSS",false)}}this.getDocument().execCommand(g,f);this.updateState()};this.getSelection=function(){this._restoreSelection();return this.getDocument().getSelection()};this.getSelectedNode=function(f){return this.getSelection().parentElement(f)};this.getNearestParentOfType=function(g,f){var f=f.toLowerCase();while(g){if(g.nodeName.toLowerCase()==f){return g}var g=g.parentNode}return false};this.removeNearestParentOfType=function(i,g){var h=this.getNearestParentOfType(i,g);if(!h){return false}var f=h.parentNode;while(h.childNodes.length){var j=h.firstChild;j=h.removeChild(j);f.insertBefore(j,h)}f.removeChild(h)};this.getDocument=function(){return this.document};this.getInnerDocument=function(){return this.getDocument().getDocument()};this.insertNodeAtSelection=function(i,h){if(!this._initialized){this.logMessage(_("Editor not initialized yet!"));return}this.content_changed=true;var g=this.getBrowserName();if(g!="IE"){this.focusDocument()}var f=this.getSelection().replaceWithNode(i,h);this._saveSelection();return f};this.focusDocument=function(){this.getDocument().getWindow().focus()};this.logMessage=function(g,f){this.log.log(g,f)};this.registerContentChanger=function(f){addEventHandler(f,"change",function(){this.content_changed=true},this)};this.getBrowserName=function(){if(_SARISSA_IS_MOZ){return"Mozilla"}else{if(_SARISSA_IS_IE){return"IE"}else{throw _("Browser not supported!")}}};this.handleSaveResponse=function(f,h){if(f.status!="200"&&f.status!="204"&&f.status!="1223"){var g=_("Error saving your data.\nResponse status: ${status}.\nCheck your server log for more information.",{status:f.status});alert(g);window.status=_("Error saving document")}else{if(h){window.document.location=h;this.content_changed=false}else{this.content_changed=false;if(this.config.reload_after_save){this.reloadSrc()}window.status=_("Document saved")}}this._initialized=true};this._addEventHandler=addEventHandler;this._saveCallback=function(f,g){if(f.readyState==4){this.handleSaveResponse(f,g)}};this.reloadSrc=function(){this.getDocument().reloadSource();if(this.getBrowserName()=="Mozilla"){this.getInnerDocument().designMode="On"}};this.imageInserted=function(j){var h=j.target;if(h&&h.nodeType==1){var f=(/^img$/i.test(h.nodeName))?[h]:h.getElementsByTagName("img");for(var g=0;g<f.length;g++){h=f[g];var k=h.getAttribute("kupu-src");if(k){h.src=k}}}};this.imageModified=function(g){var f=g.target;if(f&&(/^img$/i.test(f.nodeName))){if(g.attrName=="style"&&g.attrChange==1&&(/height|width/.test(g.newValue))){timer_instance.registerFunction(this,this._clearStyle,1,f)}}};this._clearStyle=function(i){var f=i.width;var g=i.height;i.style.width="";i.style.height="";if(this.okresize){if(f){i.width=f}if(g){i.height=g}}};this._cancelResize=function(f){return false};this._initializeEventHandlers=function(){var i=this.getDocument().getWindow();var f=this.getInnerDocument();var h=this._addEventHandler;var g=this.xhtmlvalid.tagAttributes.img;this.okresize=g.contains("width")&&g.contains("height");h(i,"resize",this._resizeHandler,this);h(f,"click",this.updateStateHandler,this);h(f,"dblclick",this.updateStateHandler,this);h(f,"keyup",this.updateStateHandler,this);h(f,"keyup",function(){this.content_changed=true},this);h(f,"mouseup",this.updateStateHandler,this);if(this.getBrowserName()=="IE"){h(f,"selectionchange",this.onSelectionChange,this);if(!this.okresize){h(f.documentElement,"resizestart",this._cancelResize,this)}}else{h(f,"DOMNodeInserted",this.imageInserted,this);h(f,"DOMAttrModified",this.imageModified,this)}};this._resizeHandler=function(){if(this._wantDesignMode){this._setDesignModeWhenReady()}};this._setDesignModeWhenReady=function(){var g=false;try{this._setDesignMode();g=true}catch(f){}if(g){this._wantDesignMode=false;if(this.afterInit){this.afterInit()}}else{this._wantDesignMode=true}};this._setDesignMode=function(){this.getInnerDocument().designMode="On";this.execCommand("undo");this._initialized=true};this._saveSelection=function(){if(this._isDocumentSelected()){var f=this.getInnerDocument().selection;var g=f.createRange();if(f.type=="Control"&&g.item(0).nodeName.toLowerCase()=="body"){this._restoreSelection(true);return}this._previous_range=g}};this._restoreSelection=function(f){if(this._previous_range&&(f||!this._isDocumentSelected())){try{this._previous_range.select()}catch(g){}}};if(this.getBrowserName()!="IE"){this._saveSelection=function(){};this._restoreSelection=function(){}}this.onSelectionChange=function(f){this._saveSelection()};this._isDocumentSelected=function(){if(this.suspended){return false}var i=this.getInnerDocument().getElementsByTagName("body")[0];try{var g=this.getInnerDocument().selection.createRange()}catch(h){return false}var f=g.parentElement?g.parentElement():g.item(0);while(f.nodeName.toLowerCase()!="body"){f=f.parentNode}return f==i};this._clearSelection=function(){this._previous_range=null};this._filterContent=function(g){var j=Sarissa.getDomDocument();var h=this._convertToSarissaNode(j,g);for(var f=0;f<this.filters.length;f++){var h=this.filters[f].filter(j,h)}this._fixXML(h,j);return h};this.getXMLBody=function(g){var f=g.getElementsByTagName("body");var j="";for(var h=0;h<f.length;h++){j+=this.serializer.serializeToString(f[h])}return this.layoutsource(this.escapeEntities(j))};this.getHTMLBody=function(){var k=this.getInnerDocument();var j=k.documentElement;var f=j.getElementsByTagName("body");var h="";for(var g=0;g<f.length;g++){h+=f[g].innerHTML}return this.layoutsource(this.escapeEntities(h))};this.setHTMLBody=function(m){var l=this.getInnerDocument().documentElement;var g=l.getElementsByTagName("body");for(var h=0;h<g.length-1;h++){g[h].parentNode.removeChild(g[h])}if(!_SARISSA_IS_IE){var k={strong:"b",em:"i"};m=m.replace(/<(\/?)(strong|em)\b([^>]*)>/gi,function(o,p,i,n){i=k[i.toLowerCase()];return"<"+p+i+n+">"})}m=m.replace(/<p>(<hr.*?>)<\/p>/g,"$1");g[g.length-1].innerHTML=m;var f=l.getElementsByTagName("img");for(var h=0;h<f.length;h++){var j=f[h];j.setAttribute("kupu-src",j.src)}};this._fixXML=function(u,r){var v=u.getElementsByTagName("head");var n=u.getElementsByTagName("title");if(!v.length){var o=u.getElementsByTagName("body")[0];var s=r.createElement("head");o.parentNode.insertBefore(s,o);var t=r.createElement("title");var p=r.createTextNode("");s.appendChild(t);t.appendChild(p)}else{if(!n.length){var s=v[0];var t=r.createElement("title");var p=r.createTextNode("");s.appendChild(t);t.appendChild(p)}}var l=["a","abbr","acronym","address","applet","b","bdo","big","blink","blockquote","button","caption","center","cite","comment","del","dfn","dir","div","dl","dt","em","embed","fieldset","font","form","frameset","h1","h2","h3","h4","h5","h6","i","iframe","ins","kbd","label","legend","li","listing","map","marquee","menu","multicol","nobr","noembed","noframes","noscript","object","ol","optgroup","option","p","pre","q","s","script","select","small","span","strike","strong","style","sub","sup","table","tbody","td","textarea","tfoot","th","thead","title","tr","tt","u","ul","xmp"];for(var m=0;m<l.length;m++){var q=l[m];var k=u.getElementsByTagName(q);for(var h=0;h<k.length;h++){var g=k[h];if(!g.hasChildNodes()){var f=r.createTextNode("");g.appendChild(f)}}}};this.xhtmlvalid=new XhtmlValidation(this);this._convertToSarissaNode=function(f,g){return this.xhtmlvalid._convertToSarissaNode(f,g)};this._fixupSingletons=function(f){return f.replace(/<([^>]+)\/>/g,"<$1 />")};this._serializeOutputToString=function(f){if(this.config.strict_output){var g='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n<html xmlns="http://www.w3.org/1999/xhtml">'+this.serializer.serializeToString(f.getElementsByTagName("head")[0])+this.serializer.serializeToString(f.getElementsByTagName("body")[0])+"</html>"}else{var g="<html>"+this.serializer.serializeToString(f.getElementsByTagName("head")[0])+this.serializer.serializeToString(f.getElementsByTagName("body")[0])+"</html>"}g=this.escapeEntities(g);if(this.config.compatible_singletons){g=this._fixupSingletons(g)}return g};this.layoutsource=function(f){f=f.replace(/\s*(<(p|div|h.|ul|ol|dl|menu|dir|pre|blockquote|address|center|table|thead|tbody|tfoot|tr|th|td))\b/ig,"\n$1");f=f.replace(/\s*(<\/(p|div|h.|ul|ol|dl|menu|dir|pre|blockquote|address|center|table|thead|tbody|tfoot|tr|th|td)>)\s*/ig,"$1\n");f=f.replace(/\<pre\>((?:.|\n)*?)\<\/pre\>/gm,function(g){return g.replace(/<br\b[^>]*>/gi,"\n")});return f.strip()};this.escapeEntities=function(f){f=f.replace(/\xa0/g,"&nbsp;");return f};this.getFullEditor=function(){var f=this.getDocument().getEditable();while(!(/kupu-fulleditor/.test(f.className))){f=f.parentNode}return f};this.setClass=function(f){this.getFullEditor().className+=" "+f};this.clearClass=function(f){var g=this.getFullEditor();g.className=g.className.replace(" "+f,"")};var b=0;this.busy=function(){if(b<=0){this.setClass("kupu-busy")}b++};this.notbusy=function(f){b=f?0:b?b-1:0;if(b<=0){this.clearClass("kupu-busy")}};this.suspendEditing=function(){this._previous_range=this.getSelection().getRange();this.setClass("kupu-modal");for(var g in this.tools){this.tools[g].disable()}if(this.getBrowserName()=="IE"){var f=this.getInnerDocument().getElementsByTagName("body")[0];f.setAttribute("contentEditable","false")}else{this.getDocument().execCommand("contentReadOnly","true")}this.suspended=true};this.resumeEditing=function(){if(!this.suspended){return}this.clearClass("kupu-modal");for(var h in this.tools){this.tools[h].enable()}if(this.getBrowserName()=="IE"){var f=this.getInnerDocument().getElementsByTagName("body")[0];f.setAttribute("contentEditable","true");this._restoreSelection()}else{var g=this.getInnerDocument();this.getDocument().execCommand("contentReadOnly","false");g.designMode="On";this.focusDocument();this.getSelection().restoreRange(this._previous_range)}this.suspended=false};this.newElement=function(f){return newDocumentElement(this.getInnerDocument(),f,arguments)};this.newText=function(f){return this.getInnerDocument().createTextNode(f)}}function KupuTool(){this.toolboxes={};addEventHandler=addEventHandler}KupuTool.prototype.initialize=function(a){this.editor=a};KupuTool.prototype.registerToolBox=function(b,a){this.toolboxes[b]=a;a.initialize(this,this.editor)};KupuTool.prototype.updateState=function(b,a){for(var c in this.toolboxes){this.toolboxes[c].updateState(b,a)}};KupuTool.prototype.enable=function(){};KupuTool.prototype.disable=function(){};function KupuToolBox(){}KupuToolBox.prototype.initialize=function(a,b){this.tool=a;this.editor=b};KupuToolBox.prototype.updateState=function(b,a){};function noContextMenu(a){a.createContextMenuElements=function(c,b){return[]};return a}function kupuButtonDisable(a){a=a||this.button;if(a){a.disabled="disabled";a.className+=" disabled"}}function kupuButtonEnable(a){a=a||this.button;if(a){a.disabled="";a.className=a.className.replace(/ *\bdisabled\b/g,"")}}function KupuButton(b,c,a){if(arguments.length){this.buttonid=b;this.button=getFromSelector(b);this.commandfunc=c;this.tool=a;this.disable=kupuButtonDisable;this.enable=kupuButtonEnable}}KupuButton.prototype=new KupuTool;KupuButton.prototype.initialize=function(a){this.editor=a;if(!this.button){return}addEventHandler(this.button,"click",this.execCommand,this)};KupuButton.prototype.execCommand=function(){this.commandfunc(this,this.editor,this.tool)};KupuButton.prototype.updateState=function(b,a){};function KupuStateButton(a,f,c,d,b){this.buttonid=a;this.button=getFromSelector(a);this.commandfunc=f;this.checkfunc=c;this.offclass=d;this.onclass=b;this.pressed=false;this.execCommand=function(){this.button.className=(this.pressed?this.offclass:this.onclass);this.pressed=!this.pressed;this.editor.focusDocument();this.commandfunc(this,this.editor)};this.updateState=function(j,h){if(!this.button){return}var i=this.button.className;var g=null;if(this.checkfunc(j,this,this.editor,h)){g=this.onclass;this.pressed=true}else{g=this.offclass;this.pressed=false}if(i!=g){this.button.className=g}}}KupuStateButton.prototype=new KupuButton;function KupuLateFocusStateButton(a,f,c,d,b){KupuStateButton.apply(this,[a,f,c,d,b])}KupuLateFocusStateButton.prototype=new KupuStateButton;KupuLateFocusStateButton.prototype.execCommand=function(){this.button.className=(this.pressed?this.offclass:this.onclass);this.pressed=!this.pressed;this.commandfunc(this,this.editor);this.editor.focusDocument()};function KupuRemoveElementButton(a,c,b){this.button=getFromSelector(a);this.element_name=c;this.onclass="invisible";this.offclass=b;this.pressed=false}KupuRemoveElementButton.prototype=new KupuStateButton;KupuRemoveElementButton.prototype.commandfunc=function(a,b){b.focusDocument();b.removeNearestParentOfType(b.getSelectedNode(),this.element_name);b.updateState()};KupuRemoveElementButton.prototype.checkfunc=function(a,c,d,f){var b=d.getNearestParentOfType(a,this.element_name);return(b?false:true)};function KupuUI(a){this.tsselect=getFromSelector(a);this.paraoptions=[];this.tableoptions=[];this.styleoptions=[];this.tableoffset=0;this.styleoffset=0;this.tablegrp=null;this.optionstate=-1;this.otherstyle=null;this.tablestyles={};this.charstyles={};this.styles={};this.blocktagre=/^(p|div|h.|ul|ol|dl|menu|dir|pre|blockquote|address|center)$/i;this.spanre=/^span\b/i;this.tblre=/^thead|tbody|table|t[rdh]\b/i}KupuUI.prototype=new KupuTool;KupuUI.prototype.initialize=function(a){this.editor=a;this.cleanStyles();this.enableOptions(false);if(this.tsselect){this._selectevent=addEventHandler(this.tsselect,"change",this.setTextStyleHandler,this)}};KupuUI.prototype.getStyles=function(){if(!this.paraoptions){this.cleanStyles()}return[this.paraoptions,this.tableoptions]};KupuUI.prototype.setTextStyleHandler=function(a){this.setTextStyle(this.tsselect.options[this.tsselect.selectedIndex].value)};KupuUI.prototype.basicButtonHandler=function(a){this.editor.execCommand(a);this.editor.updateState()};KupuUI.prototype.saveButtonHandler=function(){this.editor.saveDocument()};KupuUI.prototype.saveAndExitButtonHandler=function(a){this.editor.saveDocument(a)};KupuUI.prototype.cutButtonHandler=function(){try{this.editor.execCommand("Cut")}catch(a){if(this.editor.getBrowserName()=="Mozilla"){alert(_("Cutting from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html"))}else{throw a}}this.editor.updateState()};KupuUI.prototype.copyButtonHandler=function(){try{this.editor.execCommand("Copy")}catch(a){if(this.editor.getBrowserName()=="Mozilla"){alert(_("Copying from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html"))}else{throw a}}this.editor.updateState()};KupuUI.prototype.pasteButtonHandler=function(){try{this.editor.execCommand("Paste")}catch(a){if(this.editor.getBrowserName()=="Mozilla"){alert(_("Pasting from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html"))}else{throw a}}this.editor.updateState()};KupuUI.prototype.cleanStyles=function(){if(!this.tsselect){return}var o=this.tsselect.options;var c=this.styles;var d=this.tablestyles;var n=this.charstyles;var h=["Normal","p|"];var f=["Plain Cell","td|"];var k=["(remove style)",""];var a=[];while(o.length){var b=o[0];o[0]=null;var l=b.value;if(l.indexOf("|")>-1){var j=l.split("|");l=j[0].toLowerCase()+"|"+j[1]}else{l=l.toLowerCase()+"|"}var m=[b.text,l];if(l=="td|"){f=m}else{if(l=="p|"){h=m}else{if(l==""){k=m}else{a.push([b.text,l])}}}}this.tableoptions.push(f);d[f[1]]=0;this.paraoptions.push(h);c[h[1]]=0;for(var g=0;g<a.length;g++){m=a[g];l=m[1];if(this.spanre.test(l)){n[l]=this.styleoptions.length;this.styleoptions.push(m)}else{if(this.tblre.test(l)){d[l]=this.tableoptions.length;this.tableoptions.push(m)}else{c[l]=this.paraoptions.length;this.paraoptions.push(m)}}}this.paraoptions.push(k);this.styleoffset=this.paraoptions.length;this.tableoffset=this.styleoffset+this.styleoptions.length};KupuUI.prototype.enableOptions=function(c){if(!this.tsselect){return}var b=this.tsselect;var d=b.options;if(this.otherstyle){d[0]=null;this.otherstyle=null}if(this.optionstate==c){return}function g(h){return newElement("option",{value:h[1]},[h[0]])}if(this.optionstate==-1){for(var f=0;f<this.paraoptions.length;f++){b.appendChild(g(this.paraoptions[f]))}if(this.styleoptions.length){var a=document.createElement("optgroup");a.label="Character styles";for(var f=0;f<this.styleoptions.length;f++){a.appendChild(g(this.styleoptions[f]))}b.appendChild(a)}}if(c){var a=(this.tablegrp=document.createElement("optgroup"));a.label="Table elements";for(var f=0;f<this.tableoptions.length;f++){a.appendChild(g(this.tableoptions[f]))}b.appendChild(a)}else{while(b.options[this.tableoffset]){b.options[this.tableoffset]=null}if(this.tablegrp){b.removeChild(this.tablegrp);this.tablegrp=null}}this.optionstate=c};KupuUI.prototype.setIndex=function(c,a,b,g){var f=c.className;this.styletag=a;this.classname=f;var d=a+"|"+f;if(d in g){return g[d]}else{if(!f&&a in g){return g[a]}}return b};KupuUI.prototype.nodeStyle=function(d){var c=d;var b=-1;this.styletag=undefined;this.classname="";this.intable=false;while(c){var a=c.nodeName;if(/^body$/i.test(a)){break}if(this.tblre.test(a)){this.intable=true;break}c=c.parentNode}c=d;while(c){var a=c.nodeName.toLowerCase();if(/^body$/.test(a)){if(!this.styletag){return -1}break}if(this.spanre.test(a)){b=this.setIndex(c,a,b,this.charstyles);if(b>=0){return b+this.styleoffset}}else{if(this.blocktagre.test(a)){b=this.setIndex(c,a,b,this.styles)}else{if(this.tblre.test(a)){if(b>0){return b}b=this.setIndex(c,a,b,this.tablestyles);if(b>=0||a=="table"){return b+this.tableoffset}}}}c=c.parentNode}return b};KupuUI.prototype.updateState=function(f){if(!this.tsselect){return}var h=undefined;var j=false;var g,c;var k=this.editor.getSelection();for(var b=f.firstChild;b;b=b.nextSibling){if(b.nodeType==1&&k.containsNode(b)){var d=this.nodeStyle(b);if(h===undefined){h=d;g=this.styletag;c=this.classname}if(h!=d||g!=this.styletag||c!=this.classname){j=true;break}}}if(h===undefined){h=this.nodeStyle(f)}this.enableOptions(this.intable);if(h<0||j){if(j){var l="Mixed styles"}else{if(this.styletag){var l="Other: "+this.styletag+" "+this.classname}else{var l="<no style>"}}var a=newElement("option");a.text=l;this.otherstyle=a;this.tsselect.options.add(a,0);h=0}this.tsselect.selectedIndex=Math.max(h,0)};KupuUI.prototype._cleanNode=function(b,d){function a(){var g;while((g=b.lastChild)&&g.nodeType==3&&(/^\s*$/.test(g.data))){b.removeChild(g)}}a();var f=b.lastChild;if(f&&f.nodeType==1&&f.tagName=="BR"){b.removeChild(f)}a();if(b.childNodes.length==0&&!d){b.parentNode.removeChild(b)}};KupuUI.prototype._cleanCell=function(k,j,c){var l=k=="TD"?"TH":k=="TH"?"TD":null;var o=this.editor.getSelectedNode(true);var d=this.editor.getNearestParentOfType(o,k);if(!d&&l){d=this.editor.getNearestParentOfType(o,l)}if(d){if(k!=d.tagName){var h=d.ownerDocument.createElement(k);var q=d.parentNode;q.insertBefore(h,d);while(d.firstChild){h.appendChild(d.firstChild)}q.removeChild(d);d=h}this._setClass(d,j);if(c&&d.childNodes.length==1){var h=d.firstChild;if(this.blocktagre.test(h.nodeName)){for(var g=h.firstChild;g;){var b=g.nextSibling;d.insertBefore(g,h);g=b}b=h.nextSibling;d.removeChild(h);h=b}}}else{var p=this.editor.getSelection();var a=o.getElementsByTagName(k);var f=[];for(var m=0;m<a.length;m++){f.push(a.item(m))}if(l){a=o.getElementsByTagName(l);for(var m=0;m<a.length;m++){f.push(a.item(m))}}for(var m=0;m<f.length;m++){d=f[m];if(p.intersectsNode(d)){if(k!=d.tagName){var h=d.ownerDocument.createElement(k);var q=d.parentNode;q.insertBefore(h,d);while(d.firstChild){h.appendChild(d.firstChild)}q.removeChild(d);d=h}this._setClass(d,j)}}}};KupuUI.prototype._setClass=function(c,f){var b=c.parentNode;if(b.tagName=="DIV"){var a=b.parentNode;if(c!=b.firstChild){var d=b.cloneNode(false);while(c!=b.firstChild){d.appendChild(b.firstChild)}a.insertBefore(d,b);this._cleanNode(d)}a.insertBefore(c,b);this._cleanNode(b)}if(f){c.className=f}else{c.removeAttribute("class");c.removeAttribute("className")}};KupuUI.prototype._removeStyle=function(){var d=this;function c(j){if(h&&j){if(d.blocktagre.test(j.nodeName)||(/^br$/i.test(j.nodeName))){return}g.insertBefore(b.newElement("br"),i)}}var i=this.editor.getSelectedNode(true);var b=this.editor;while(i){var a=i.nodeName.toLowerCase();var h=this.blocktagre.test(a);if(this.tblre.test(a)&&i.className){i.removeAttribute("class");i.removeAttribute("className");return}if(h||a=="span"){var g=i.parentNode;var f;c(i.previousSibling);while((f=i.firstChild)){g.insertBefore(f,i)}c(i.nextSibling);g.removeChild(i);return}i=i.parentNode}};KupuUI.prototype.setTextStyle=function(b,o){var f="";var g=b.toUpperCase();if(b.indexOf("|")>-1){b=b.split("|");g=b[0].toUpperCase();f=b[1]}var n=this.editor.getDocument();var h=g;if(this.editor.getBrowserName()=="IE"){h="<"+g+">"}if(!b){this._removeStyle()}else{if(this.tblre.test(g)){this._cleanCell(g,f)}else{if(g=="SPAN"){n.execCommand("removeformat",null);if(this.editor.getBrowserName()=="IE"){var k=this.editor.getSelectedNode();var p=this.editor.getSelection();var a=k.getElementsByTagName("span");for(var j=0;j<a.length;j++){var m=a[j];if(p.containsNode(m)){var l=m.parentNode;while(m.firstChild){l.insertBefore(m.firstChild,m)}l.removeChild(m)}}}if(f){n.execCommand("fontsize","2");var q=n.getDocument();var a=q.getElementsByTagName("FONT");while(a.length>0){var d=a[0];var m=q.createElement("SPAN");m.className=f;var l=d.parentNode;l.replaceChild(m,d);while(d.firstChild){m.appendChild(d.firstChild)}}}}else{n.execCommand("formatblock",h);var k=this.editor.getSelectedNode(true);var c=this.editor.getNearestParentOfType(k,g);if(c){this._setClass(c,f)}else{var p=this.editor.getSelection();var a=k.getElementsByTagName(g);for(var j=0;j<a.length;j++){c=a[j];if(p.containsNode(c)){this._setClass(c,f)}}}}}}if(c){this.editor.getSelection().selectNodeContents(c)}if(!o){this.editor.updateState()}};KupuUI.prototype.createContextMenuElements=function(c,b){var a=[];a.push(new ContextMenuElement(_("Cut"),this.cutButtonHandler,this));a.push(new ContextMenuElement(_("Copy"),this.copyButtonHandler,this));a.push(new ContextMenuElement(_("Paste"),this.pasteButtonHandler,this));return a};KupuUI.prototype.disable=function(){if(this.tsselect){this.tsselect.disabled="disabled"}};KupuUI.prototype.enable=function(){if(this.tsselect){this.tsselect.disabled=""}};function ColorchooserTool(a,b,c){this.fgcolorbutton=getFromSelector(a);this.hlcolorbutton=getFromSelector(b);this.ccwindow=getFromSelector(c);this.command=null}ColorchooserTool.prototype=new KupuTool;ColorchooserTool.prototype.initialize=function(a){this.editor=a;if(!(this.fgcolorbutton&&this.hlcolorbutton&&this.ccwindow)){return}this.createColorchooser(this.ccwindow);addEventHandler(this.fgcolorbutton,"click",this.openFgColorChooser,this);addEventHandler(this.hlcolorbutton,"click",this.openHlColorChooser,this);addEventHandler(this.ccwindow,"click",this.chooseColor,this);this.hide()};ColorchooserTool.prototype.updateState=function(a){this.hide()};ColorchooserTool.prototype.openFgColorChooser=function(){this.command="forecolor";this.show()};ColorchooserTool.prototype.openHlColorChooser=function(){if(this.editor.getBrowserName()=="IE"){this.command="backcolor"}else{this.command="hilitecolor"}this.show()};ColorchooserTool.prototype.chooseColor=function(c){var f=_SARISSA_IS_MOZ?c.target:c.srcElement;var a=this.editor.getNearestParentOfType(f,"td");var b=this.editor;var d=b.getDocument();b.execCommand("styleWithCSS",true);d.execCommand(this.command,a.bgColor);b.execCommand("styleWithCSS",false);this.hide();this.editor.logMessage(_("Color chosen"))};ColorchooserTool.prototype.show=function(a){this.ccwindow.style.display="block"};ColorchooserTool.prototype.hide=function(){this.ccwindow.style.display="none"};ColorchooserTool.prototype.createColorchooser=function(t){var n=["00","33","66","99","CC","FF"];t.setAttribute("id","kupu-colorchooser-table");t.style.borderWidth="2px";t.style.borderStyle="solid";t.style.position="absolute";t.style.cursor="default";t.style.display="none";var m=document.createElement("tbody");for(var l=0;l<6;l++){var p=document.createElement("tr");var a=n[l];for(var h=0;h<6;h++){var o=n[h];for(var f=0;f<6;f++){var q=n[f];var d="#"+a+o+q;var c=document.createElement("td");c.setAttribute("bgColor",d);c.style.backgroundColor=d;c.style.borderWidth="1px";c.style.borderStyle="solid";c.style.fontSize="1px";c.style.width="10px";c.style.height="10px";var s=document.createTextNode("\u00a0");c.appendChild(s);p.appendChild(c)}}m.appendChild(p)}t.appendChild(m);return t};ColorchooserTool.prototype.enable=function(){kupuButtonEnable(this.fgcolorbutton);kupuButtonEnable(this.hlcolorbutton)};ColorchooserTool.prototype.disable=function(){kupuButtonDisable(this.fgcolorbutton);kupuButtonDisable(this.hlcolorbutton)};function PropertyTool(b,a){this.titlefield=getFromSelector(b);this.descfield=getFromSelector(a)}PropertyTool.prototype=new KupuTool;PropertyTool.prototype.initialize=function(c){this.editor=c;addEventHandler(this.titlefield,"change",this.updateProperties,this);addEventHandler(this.descfield,"change",this.updateProperties,this);var d=this.editor.getInnerDocument().getElementsByTagName("head");if(!d[0]){this.editor.logMessage(_("No head in document!"),1)}else{var b=d[0];var h=b.getElementsByTagName("title");if(h.length){this.titlefield.value=h[0].text}var g=b.getElementsByTagName("meta");if(g.length){for(var a=0;a<g.length;a++){var f=g[a];if(f.getAttribute("name")&&f.getAttribute("name").toLowerCase()=="description"){this.descfield.value=f.getAttribute("content");break}}}}};PropertyTool.prototype.updateProperties=function(){var h=this.editor.getInnerDocument();var k=h.getElementsByTagName("HEAD");if(!k){this.editor.logMessage(_("No head in document!"),1);return}var f=k[0];var c=f.getElementsByTagName("title");if(!c){var g=h.createElement("title");var j=h.createTextNode(this.titlefield.value);g.appendChild(j);f.appendChild(g)}else{var g=c[0];if(g.childNodes.length==0){g.removeNode(true);g=h.createElement("title");g.innerText=this.titlefield.value;f.appendChild(g)}else{g.childNodes[0].nodeValue=this.titlefield.value}}document.title=this.titlefield.value;var d=h.getElementsByTagName("meta");var a=0;for(var b=0;b<d.length;b++){var l=d[b];if(l.getAttribute("name")&&l.getAttribute("name").toLowerCase()=="description"){l.setAttribute("content",this.descfield.value);a=1}}if(!a){var l=h.createElement("meta");l.setAttribute("name","description");l.setAttribute("content",this.descfield.value);f.appendChild(l)}this.editor.logMessage(_("Properties modified"))};function LinkTool(c,b,d,a){this.popupurl=c||"kupupopups/link.html";this.popupwidth=b||300;this.popupheight=d||200;this.popupprops=a||""}LinkTool.prototype=new KupuTool;LinkTool.prototype.initialize=function(a){this.editor=a};LinkTool.prototype.createLinkHandler=function(a){var b=openPopup(this.popupurl,this.popupwidth,this.popupheight,this.popupprops);b.linktool=this;b.focus()};LinkTool.prototype.updateLink=function(g,a,f,b,c,h,d,j){if(f&&f=="anchor"){g.removeAttribute("href");g.setAttribute("name",b)}else{g.href=a;if(g.innerHTML==""||(j&&g.innerHTML==a)){var i=this.editor.getInnerDocument();while(g.firstChild){g.removeChild(g.firstChild)}g.appendChild(i.createTextNode(h||a))}if(h){g.title=h}else{g.removeAttribute("title")}if(c){g.setAttribute("target",c)}else{g.removeAttribute("target")}if(d===undefined){g.removeAttribute("className")}else{g.className=d}g.style.color=this.linkcolor}};LinkTool.prototype.formatSelectedLink=function(a,j,b,g,m,h,o){var c=this.editor.getSelectedNode();var k=this.editor.getNearestParentOfType(c,"A");if(k){this.updateLink(k,a,j,b,g,m,h,o);return true}if(c.nodeType!=1){return false}var l=c.getElementsByTagName("A");var n=this.editor.getSelection();var f=false;for(var d=0;d<l.length;d++){k=l[d];if(n.containsNode(k)){this.updateLink(k,a,j,b,g,m,h,o);f=true}}return f};LinkTool.prototype.createLink=function(c,f,b,h,i,d){c=c.strip();if(!c){this.deleteLink();return}if(!this.formatSelectedLink(c,f,b,h,i,d)){this.editor.execCommand("CreateLink",c);if(!this.formatSelectedLink(c,f,b,h,i,d,true)){var g=this.editor.getInnerDocument();var a=g.createElement("a");a.setAttribute("href",c);a.setAttribute("class",d||"generated");this.editor.getSelection().replaceWithNode(a,true);this.updateLink(a,c,f,b,h,i,d)}}};LinkTool.prototype.deleteLink=function(){var b=this.editor.getSelectedNode();var a=this.editor.getNearestParentOfType(b,"a");if(!a){this.editor.logMessage(_("Not inside link"));return}while(a.childNodes.length){a.parentNode.insertBefore(a.childNodes[0],a)}a.parentNode.removeChild(a)};LinkTool.prototype.createContextMenuElements=function(d,c){var a=[];var b=this.editor.getNearestParentOfType(d,"a");if(b){a.push(new ContextMenuElement(_("Delete link"),this.deleteLink,this))}else{a.push(new ContextMenuElement(_("Create link"),this.createLinkHandler,this))}return a};function LinkToolBox(a,d,c,b,f){this.input=getFromSelector(a);this.button=getFromSelector(d);this.toolboxel=getFromSelector(c);this.plainclass=b;this.activeclass=f}LinkToolBox.prototype=new LinkToolBox;LinkToolBox.prototype.initialize=function(a,b){this.tool=a;this.editor=b;if(!this.button){return}addEventHandler(this.input,"blur",this.updateLink,this);addEventHandler(this.button,"click",this.addLink,this)};LinkToolBox.prototype.updateState=function(b){var a=this.editor.getNearestParentOfType(b,"a");if(a){if(this.toolboxel){this.toolboxel.className=this.activeclass}this.input.value=a.getAttribute("href")}else{if(this.toolboxel){this.toolboxel.className=this.plainclass}this.input.value=""}};LinkToolBox.prototype.addLink=function(b){var a=this.input.value;this.editor.focusDocument();this.tool.createLink(a);this.editor.updateState()};LinkToolBox.prototype.updateLink=function(){var c=this.editor.getSelectedNode();var a=this.editor.getNearestParentOfType(c,"A");if(!a){return}var b=this.input.value;a.setAttribute("href",b);this.editor.updateState()};function ImageTool(c,b,d,a){this.popupurl=c||"kupupopups/image.html";this.popupwidth=b||300;this.popupheight=d||200;this.popupprops=a||""}ImageTool.prototype=new KupuTool;ImageTool.prototype.initialize=function(a){this.editor=a};ImageTool.prototype.createImageHandler=function(a){var b=openPopup(this.popupurl,this.popupwidth,this.popupheight,this.popupprops);b.imagetool=this;b.focus()};ImageTool.prototype.newNode=function(b,d){var a=this.editor;var f=a.getNearestParentOfType(a.getSelectedNode(),b);if(f){var c=f.parentNode;c.insertBefore(d,f);c.removeChild(f);return d}else{return a.insertNodeAtSelection(d,1)}};ImageTool.prototype.createImage=function(b,c,d){var a=this.editor.getInnerDocument().createElement("img");a.src=b;a.setAttribute("kupu-src",b);a.removeAttribute("height");a.removeAttribute("width");if(c){a.alt=c}if(d){a.className=d}this.newNode("IMG",a);return a};ImageTool.prototype.create_flash=function(c,d,g,f,a){var b=this.editor;var h=b.newElement("object",{src:c,alt:d,className:g,width:f,height:a,type:"application/x-shockwave-flash",data:c},[b.newElement("param",{name:"movie",value:c})]);this.newNode("OBJECT",h)};ImageTool.prototype.setImageClass=function(c){var b=this.editor.getSelectedNode();var a=this.editor.getNearestParentOfType(b,"IMG");if(a){a.className=c}};ImageTool.prototype.createContextMenuElements=function(b,a){return[new ContextMenuElement(_("Create image"),this.createImageHandler,this)]};function ImageToolBox(f,b,a,d,c,g){this.inputfield=getFromSelector(f);this.insertbutton=getFromSelector(b);this.classselect=getFromSelector(a);this.toolboxel=getFromSelector(d);this.plainclass=c;this.activeclass=g}ImageToolBox.prototype=new KupuToolBox;ImageToolBox.prototype.initialize=function(a,b){this.tool=a;this.editor=b;addEventHandler(this.classselect,"change",this.setImageClass,this);addEventHandler(this.insertbutton,"click",this.addImage,this)};ImageToolBox.prototype.updateState=function(b,a){var c=this.editor.getNearestParentOfType(b,"img");if(c){if(this.toolboxel){this.toolboxel.className=this.activeclass;this.inputfield.value=c.getAttribute("src");var d=c.className?c.className:"image-inline";selectSelectItem(this.classselect,d)}}else{if(this.toolboxel){this.toolboxel.className=this.plainclass}}};ImageToolBox.prototype.addImage=function(){var a=this.inputfield.value;var b=this.classselect.options[this.classselect.selectedIndex].value;this.editor.focusDocument();this.tool.createImage(a,null,b);this.editor.updateState()};ImageToolBox.prototype.setImageClass=function(){var a=this.classselect.options[this.classselect.selectedIndex].value;this.editor.focusDocument();this.tool.setImageClass(a);this.editor.updateState()};function TableTool(){}TableTool.prototype=new KupuTool;TableTool.prototype.createContextMenuElements=function(f,d){var c=this.editor.getNearestParentOfType(f,"table");if(!c){var a=[];var b=new ContextMenuElement(_("Add table"),this.addPlainTable,this);a.push(b);return a}else{var a=[];a.push(new ContextMenuElement(_("Add row"),this.addTableRow,this));a.push(new ContextMenuElement(_("Delete row"),this.delTableRow,this));a.push(new ContextMenuElement(_("Add column"),this.addTableColumn,this));a.push(new ContextMenuElement(_("Delete column"),this.delTableColumn,this));a.push(new ContextMenuElement(_("Delete Table"),this.delTable,this));return a}};TableTool.prototype.addPlainTable=function(){this.createTable(2,3,1,"plain")};TableTool.prototype.createTable=function(q,l,n,o){if(q<1||q>99||l<1||l>99){this.editor.logMessage(_("Invalid table size"),1);return}var m=this.editor.getInnerDocument();var p=m.createElement("table");p.className=o;if(n){var k=m.createElement("tr");var h=m.createElement("thead");for(var f=0;f<l;f++){var a=m.createElement("th");a.appendChild(m.createTextNode("Col "+f+1));k.appendChild(a)}h.appendChild(k);p.appendChild(h)}var d=m.createElement("tbody");for(var f=0;f<q;f++){var k=m.createElement("tr");for(var c=0;c<l;c++){var b=m.createElement("td");var g=m.createTextNode("\u00a0");b.appendChild(g);k.appendChild(b)}d.appendChild(k)}p.appendChild(d);this.editor.insertNodeAtSelection(p);this._setTableCellHandlers(p);return p};TableTool.prototype._setTableCellHandlers=function(g){addEventHandler(g,"click",this._selectContentIfEmpty,this);var a=g.getElementsByTagName("td");for(var c=0;c<a.length;c++){addEventHandler(a[c],"click",this._selectContentIfEmpty,this)}var f=a[0];if(f){var b=f.childNodes;if(b.length==1&&b[0].nodeType==3&&b[0].nodeValue=="\xa0"){var d=this.editor.getSelection();d.selectNodeContents(f)}}};TableTool.prototype._selectContentIfEmpty=function(){var d=this.editor.getSelectedNode();var a=this.editor.getNearestParentOfType(d,"td");if(!a){return}var b=a.childNodes;if(b.length==1&&b[0].nodeType==3&&b[0].nodeValue=="\xa0"){var c=this.editor.getSelection();c.selectNodeContents(a)}};TableTool.prototype.addTableRow=function(){var b=this.editor.getSelectedNode();var d=this.editor.getNearestParentOfType(b,"TBODY");var h="tbody";if(!d){d=this.editor.getNearestParentOfType(b,"THEAD");h="thead"}var o=this.editor.getNearestParentOfType(b,"TR");var m=o.nextSibling;var c=0;for(var k=0;k<d.childNodes.length;k++){var f=d.childNodes[k];if(f.nodeType!=1){continue}if(f.nodeName.toLowerCase()=="tr"){var l=0;for(var g=0;g<f.childNodes.length;g++){if(f.childNodes[g].nodeType==1){l++}}if(l>c){c=l}}}var n=this.editor.getInnerDocument().createElement("TR");for(var k=0;k<c;k++){var a;if(h=="tbody"){a=this.editor.getInnerDocument().createElement("TD")}else{a=this.editor.getInnerDocument().createElement("TH")}var p=this.editor.getInnerDocument().createTextNode("\u00a0");a.appendChild(p);n.appendChild(a)}if(!m){d.appendChild(n)}else{d.insertBefore(n,m)}};TableTool.prototype.delTableRow=function(){var b=this.editor.getSelectedNode();var a=this.editor.getNearestParentOfType(b,"TR");if(!a){this.editor.logMessage(_("No row to delete"),1);return}var c=this.editor.getSelection();if(a.nextSibling){c.selectNodeContents(a.nextSibling.firstChild)}else{if(a.previousSibling){c.selectNodeContents(a.previousSibling.firstChild)}}a.parentNode.removeChild(a)};TableTool.prototype.addTableColumn=function(){var u=this.editor.getSelectedNode();var o=this.editor.getNearestParentOfType(u,"TD");if(!o){o=this.editor.getNearestParentOfType(u,"TH")}if(!o){this.editor.logMessage(_("No parentcolumn found!"),1);return}var a=this.editor.getNearestParentOfType(u,"TABLE");var c=this._getColIndex(o);var p=a.getElementsByTagName("THEAD");if(p){for(var s=0;s<p.length;s++){var w=p[s];for(var r=0;r<w.childNodes.length;r++){var d=w.childNodes[r];if(d.nodeType!=1){continue}var m=0;for(var q=0;q<d.childNodes.length;q++){var h=d.childNodes[q];if(h.nodeType!=1){continue}if(m==c){var v=this.editor.getInnerDocument();var b=v.createElement("th");var n=v.createTextNode("\u00a0");b.appendChild(n);if(d.childNodes.length==q+1){d.appendChild(b)}else{d.insertBefore(b,d.childNodes[q+1])}break}m++}}}}var t=a.getElementsByTagName("TBODY");if(t){for(var s=0;s<t.length;s++){var g=t[s];for(var r=0;r<g.childNodes.length;r++){var d=g.childNodes[r];if(d.nodeType!=1){continue}var m=0;for(var q=0;q<d.childNodes.length;q++){var l=d.childNodes[q];if(l.nodeType!=1){continue}if(m==c){var v=this.editor.getInnerDocument();var f=v.createElement("td");var n=v.createTextNode("\u00a0");f.appendChild(n);if(d.childNodes.length==q+1){d.appendChild(f)}else{d.insertBefore(f,d.childNodes[q+1])}break}m++}}}}};TableTool.prototype.delTableColumn=function(){var b=this.editor.getSelectedNode();var n=this.editor.getNearestParentOfType(b,"TD");if(!n){n=this.editor.getNearestParentOfType(b,"TH")}var h=this._getColIndex(n);var p=this.editor.getNearestParentOfType(b,"TABLE");var r=this.editor.getSelection();if(n.nextSibling){r.selectNodeContents(n.nextSibling)}else{if(n.previousSibling){r.selectNodeContents(n.previousSibling)}}var t=p.getElementsByTagName("THEAD");if(t.length){for(var m=0;m<t.length;m++){var o=t[m];for(var l=0;l<o.childNodes.length;l++){var q=o.childNodes[l];if(q.nodeType!=1){continue}var f=0;for(var g=0;g<q.childNodes.length;g++){var d=q.childNodes[g];if(d.nodeType!=1){continue}if(f==h){q.removeChild(d);break}f++}}}}var a=p.getElementsByTagName("TBODY");for(var m=0;m<a.length;m++){var c=a[m];for(var l=0;l<c.childNodes.length;l++){var q=c.childNodes[l];if(q.nodeType!=1){continue}var f=0;for(var g=0;g<q.childNodes.length;g++){var s=q.childNodes[g];if(s.nodeType!=1){continue}if(f==h){q.removeChild(s);break}f++}}}};TableTool.prototype.delTable=function(){var a=this.editor.getSelectedNode();var b=this.editor.getNearestParentOfType(a,"table");if(!b){this.editor.logMessage(_("Not inside a table!"));return}b.parentNode.removeChild(b)};TableTool.prototype.setColumnAlign=function(b){var a=this.editor.getSelectedNode();var n=this.editor.getNearestParentOfType(a,"TD");var h="tbody";if(!n){n=this.editor.getNearestParentOfType(a,"TH");h="thead"}var f=this._getColIndex(n);var o=this.editor.getNearestParentOfType(a,"TABLE");for(var l=0;l<o.childNodes.length;l++){var c=o.childNodes[l];if(c.nodeType!=1||(/^thead|tbody$/i.test(c.nodeName))){continue}for(var g=0;g<c.childNodes.length;g++){var q=c.childNodes[g];if(q.nodeType!=1){continue}var m=0;for(var d=0;d<q.childNodes.length;d++){var p=q.childNodes[d];if(p.nodeType!=1){continue}if(m==f){if(this.editor.config.use_css){p.style.textAlign=b}else{p.setAttribute("align",b)}p.className="align-"+b}m++}}}};TableTool.prototype.setTableClass=function(b){var a=this.editor.getSelectedNode();var c=this.editor.getNearestParentOfType(a,"TABLE");if(c){c.className=b}};TableTool.prototype._getColIndex=function(c){var b=c.previousSibling;var a=0;while(b){if(b.nodeType==1&&(b.tagName.toUpperCase()=="TD"||b.tagName.toUpperCase()=="TH")){var d=b.colSpan;if(d){a+=parseInt(d)}else{a++}}b=b.previousSibling;if(a>30){alert("Recursion detected when counting column position");return}}return a};TableTool.prototype._getColumnAlign=function(a){var c;var b=this.editor.getNearestParentOfType(a,"td");if(!b){b=this.editor.getNearestParentOfType(a,"th")}if(b){c=b.getAttribute("align");if(this.editor.config.use_css){c=b.style.textAlign}}return c};TableTool.prototype.fixTable=function(c){var a=this.editor.getSelectedNode();var b=this.editor.getNearestParentOfType(a,"TABLE");if(!b){this.editor.logMessage(_("Not inside a table!"));return}this._fixTableHelper(b)};TableTool.prototype._isBodyRow=function(b){for(var a=b.firstChild;a;a=a.nextSibling){if(/^td$/i.test(a.nodeName)){return true}}return false};TableTool.prototype._cleanCell=function(b){var a,g;for(var d=b.firstChild;d;){if(/^div|p$/i.test(d.nodeName)){for(var g=d.firstChild;g;){var a=g.nextSibling;b.insertBefore(g,d);g=a}a=d.nextSibling;b.removeChild(d);d=a}else{d=d.nextSibling}}var f;while(b.firstChild&&(f=b.firstChild).nodeType==3&&(/^\s+/.test(f.data))){f.data=f.data.replace(/^\s+/,"");if(!f.data){b.removeChild(f)}else{break}}while(b.lastChild&&(f=b.lastChild).nodeType==3&&(/\s+$/.test(f.data))){f.data=f.data.replace(/\s+$/,"");if(!f.data){b.removeChild(f)}else{break}}b.removeAttribute("colSpan");b.removeAttribute("rowSpan")};TableTool.prototype._countCols=function(d,a){for(var b=0;b<d.length;b++){var g=d[b];var f=0;for(var c=g.firstChild;c;c=c.nextSibling){if(/^(td|th)$/i.test(c.nodeName)){f+=parseInt(c.getAttribute("colSpan")||"1")}}if(f>a){a=f}}return a};TableTool.prototype._cleanRows=function(n,a,l){for(var d=0;d<n.length;d++){var m=n[d];var h=this.editor.getInnerDocument();var k=h.createElement("tr");if(m.className){k.className=m.className}for(var c=m.firstChild;c;){var b=c.nextSibling;if(/^(td|th)$/i.test(c.nodeName)){this._cleanCell(c);k.appendChild(c)}c=b}if(k.childNodes.length){a.appendChild(k)}}for(var m=a.firstChild;m;m=m.nextSibling){var g=m.lastChild.nodeName;while(m.childNodes.length<l){var j=h.createElement(g);var f=h.createTextNode("\u00a0");j.appendChild(f);m.appendChild(j)}}};TableTool.prototype._fixTableHelper=function(o){var k=this.editor.getInnerDocument();var h=k.createElement("thead");var f=k.createElement("tbody");var j=k.createElement("tfoot");var l=this.editor.config.table_classes;function d(r){var u=l["class"];for(var s=0;s<u.length;s++){var t=u[s];t=t.classname||t;if(t==r){return r}}return u[0]}if(l){o.className=d(o.className)}else{o.removeAttribute("class");o.removeAttribute("className")}o.removeAttribute("border");o.removeAttribute("cellpadding");o.removeAttribute("cellPadding");o.removeAttribute("cellspacing");o.removeAttribute("cellSpacing");var p=[],g=[],b=[];for(var c=o.firstChild;c;c=c.nextSibling){var i=c.nodeName.toLowerCase();if(/tr/i.test(c.nodeName)){g.push(c)}else{if(/thead|tbody|tfoot/i.test(c.nodeName)){var q=i=="thead"?p:i=="tfoot"?b:g;for(var a=c.firstChild;a;a=a.nextSibling){if(/tr/i.test(a.nodeName)){q.push(a)}}}}}while(g.length&&!this._isBodyRow(g[0])){p.push(g[0]);g.shift()}while(g.length&&!this._isBodyRow(g[g.length-1])){var m=g[g.length-1];g.length-=1;b.unshift(m)}var n=this._countCols(p,0);n=this._countCols(g,n);n=this._countCols(b,n);this._cleanRows(p,h);this._cleanRows(g,f);this._cleanRows(b,j);while(o.firstChild){o.removeChild(o.firstChild)}if(p.length){o.appendChild(h)}if(g.length){o.appendChild(f)}if(b.length){o.appendChild(j)}};TableTool.prototype.fixAllTables=function(){var b=this.editor.getInnerDocument().getElementsByTagName("table");for(var a=0;a<b.length;a++){this._fixTableHelper(b[a])}};function TableToolBox(o,d,s,q,m,a,g,k,c,p,b,n,h,j,r,l,f,i){this.addtablediv=getFromSelector(o);this.edittablediv=getFromSelector(d);this.newrowsinput=getFromSelector(s);this.newcolsinput=getFromSelector(q);this.makeheaderinput=getFromSelector(m);this.classselect=getFromSelector(a);this.alignselect=getFromSelector(g);this.addtablebutton=getFromSelector(k);this.addrowbutton=getFromSelector(c);this.delrowbutton=getFromSelector(p);this.addcolbutton=getFromSelector(b);this.delcolbutton=getFromSelector(n);this.fixbutton=getFromSelector(h);this.delbutton=getFromSelector(j);this.fixallbutton=getFromSelector(r);this.toolboxel=getFromSelector(l);this.plainclass=f;this.activeclass=i}TableToolBox.prototype=new KupuToolBox;TableToolBox.prototype.initialize=function(a,f){this.tool=a;this.editor=f;if(this.editor.config.table_classes){var c=this.editor.config.table_classes["class"];while(this.classselect.hasChildNodes()){this.classselect.removeChild(this.classselect.firstChild)}for(var b=0;b<c.length;b++){var h=c[b];h=h.classname||h;var d=document.createElement("option");var g=document.createTextNode(h);d.appendChild(g);d.setAttribute("value",h);this.classselect.appendChild(d)}}addEventHandler(this.addtablebutton,"click",this.addTable,this);addEventHandler(this.addrowbutton,"click",this.addTableRow,this);addEventHandler(this.delrowbutton,"click",this.delTableRow,this);addEventHandler(this.addcolbutton,"click",this.addTableColumn,this);addEventHandler(this.delcolbutton,"click",this.delTableColumn,this);addEventHandler(this.alignselect,"change",this.setColumnAlign,this);addEventHandler(this.classselect,"change",this.setTableClass,this);addEventHandler(this.fixbutton,"click",this.fixTable,this);addEventHandler(this.delbutton,"click",this.delTable,this);addEventHandler(this.fixallbutton,"click",this.fixAllTables,this);this.addtablediv.style.display="block";this.edittablediv.style.display="none"};TableToolBox.prototype.updateState=function(b){var a=this.editor.getNearestParentOfType(b,"table");if(a){this.addtablediv.style.display="none";this.edittablediv.style.display="block";var c=this.tool._getColumnAlign(b);selectSelectItem(this.alignselect,c);selectSelectItem(this.classselect,a.className);if(this.toolboxel){this.toolboxel.className=this.activeclass}}else{this.edittablediv.style.display="none";this.addtablediv.style.display="block";this.alignselect.selectedIndex=0;this.classselect.selectedIndex=0;if(this.toolboxel){this.toolboxel.className=this.plainclass}}};TableToolBox.prototype.addTable=function(){var c=this.newrowsinput.value;var d=this.newcolsinput.value;var a=this.makeheaderinput.checked;var b=this.classselect.options[this.classselect.selectedIndex].value;this.tool.createTable(c,d,a,b);this.editor.focusDocument();this.editor.updateState()};TableToolBox.prototype.setColumnAlign=function(){var a=this.alignselect.options[this.alignselect.selectedIndex].value;this.editor.focusDocument();this.tool.setColumnAlign(a);this.editor.updateState()};TableToolBox.prototype.setTableClass=function(){var a=this.classselect.options[this.classselect.selectedIndex].value;if(a){this.editor.focusDocument();this.tool.setTableClass(a);this.editor.updateState()}};TableToolBox.prototype.addTableRow=function(){this.editor.focusDocument();this.tool.addTableRow();this.editor.updateState()};TableToolBox.prototype.delTableRow=function(){this.editor.focusDocument();this.tool.delTableRow();this.editor.updateState()};TableToolBox.prototype.addTableColumn=function(){this.editor.focusDocument();this.tool.addTableColumn();this.editor.updateState()};TableToolBox.prototype.delTableColumn=function(){this.editor.focusDocument();this.tool.delTableColumn();this.editor.updateState()};TableToolBox.prototype.fixTable=function(){this.editor.focusDocument();this.tool.fixTable();this.editor.updateState()};TableToolBox.prototype.fixAllTables=function(){this.editor.focusDocument();this.tool.fixAllTables();this.editor.updateState()};TableToolBox.prototype.delTable=function(){this.editor.focusDocument();this.tool.delTable();this.editor.updateState()};function ListTool(a,d,c,b){this.addulbutton=getFromSelector(a);this.addolbutton=getFromSelector(d);this.ulselect=getFromSelector(c);this.olselect=getFromSelector(b);this.style_to_type={decimal:"1","lower-alpha":"a","upper-alpha":"A","lower-roman":"i","upper-roman":"I",disc:"disc",square:"square",circle:"circle",none:"none"};this.type_to_style={"1":"decimal",a:"lower-alpha",A:"upper-alpha",i:"lower-roman",I:"upper-roman",disc:"disc",square:"square",circle:"circle",none:"none"}}ListTool.prototype=new KupuTool;ListTool.prototype.initialize=function(a){this.editor=a;if(this.addulbutton){addEventHandler(this.addulbutton,"click",this.addUnorderedList,this)}if(this.addolbutton){addEventHandler(this.addolbutton,"click",this.addOrderedList,this)}if(this.ulselect){addEventHandler(this.ulselect,"change",this.setUnorderedListStyle,this);this.ulselect.style.display="none"}if(this.olselect){addEventHandler(this.olselect,"change",this.setOrderedListStyle,this);this.olselect.style.display="none"}};ListTool.prototype._handleStyles=function(a,c,d){if(this.editor.config.use_css){var b=a.style.listStyleType}else{var b=this.type_to_style[a.getAttribute("type")]}if(c){selectSelectItem(c,b);c.style.display="inline"}if(d){d.style.display="none";d.selectedIndex=0}};ListTool.prototype.updateState=function(c){for(var b=c;b;b=b.parentNode){var a=b.nodeName.toLowerCase();if(a=="ul"){this._handleStyles(b,this.ulselect,this.olselect);return}else{if(a=="ol"){this._handleStyles(b,this.olselect,this.ulselect);return}}}if(this.ulselect){this.ulselect.selectedIndex=0;this.ulselect.style.display="none"}if(this.olselect){this.olselect.selectedIndex=0;this.olselect.style.display="none"}};ListTool.prototype.addList=function(a){if(this.ulselect){this.ulselect.style.display="inline"}if(this.olselect){this.olselect.style.display="none"}this.editor.execCommand(a);this.editor.focusDocument()};ListTool.prototype.addUnorderedList=function(){this.addList("insertunorderedlist")};ListTool.prototype.addOrderedList=function(){this.addList("insertorderedlist")};ListTool.prototype.setListStyle=function(b,a){if(!a){return}var d=this.editor.getSelectedNode();var c=this.editor.getNearestParentOfType(d,b);var f=a.options[a.selectedIndex].value;if(this.editor.config.use_css){c.style.listStyleType=f}else{c.setAttribute("type",this.style_to_type[f])}this.editor.focusDocument()};ListTool.prototype.setUnorderedListStyle=function(){this.setListStyle("ul",this.ulselect)};ListTool.prototype.setOrderedListStyle=function(){this.setListStyle("ol",this.olselect)};ListTool.prototype.enable=function(){kupuButtonEnable(this.addulbutton);kupuButtonEnable(this.addolbutton);if(this.ulselect){this.ulselect.disabled=""}if(this.olselect){this.olselect.disabled=""}};ListTool.prototype.disable=function(){kupuButtonDisable(this.addulbutton);kupuButtonDisable(this.addolbutton);if(this.ulselect){this.ulselect.disabled="disabled"}if(this.olselect){this.olselect.disabled="disabled"}};function ShowPathTool(){}ShowPathTool.prototype=new KupuTool;ShowPathTool.prototype.updateState=function(c){var f="";var b=null;var a=c;var g;while(a!=null&&(g=a.nodeName.toLowerCase())!="#document"){if(g=="a"){b=a.getAttribute("href")}f="/"+g+f;a=a.parentNode}try{window.status=b?(f.toString()+" - contains link to '"+b.toString()+"'"):f}catch(d){this.editor.logMessage(_("Could not set status bar message, check your browser's security settings."),1)}};function ViewSourceTool(){this.sourceWindow=null}ViewSourceTool.prototype=new KupuTool;ViewSourceTool.prototype.viewSource=function(){if(this.sourceWindow){this.sourceWindow.close()}this.sourceWindow=window.open("#","sourceWindow");var b="<html>\n"+this.editor.getInnerDocument().documentElement.innerHTML+"\n</html>";var d=this.sourceWindow.document;d.write("\xa0");d.close();var a=d.getElementsByTagName("body")[0];while(a.hasChildNodes()){a.removeChild(a.firstChild)}var c=d.createElement("pre");var f=d.createTextNode(b);a.appendChild(c);c.appendChild(f)};ViewSourceTool.prototype.createContextMenuElements=function(b,a){return[new ContextMenuElement(_("View source"),this.viewSource,this)]};function DefinitionListTool(a){this.dlbutton=getFromSelector(a)}DefinitionListTool.prototype=new KupuTool;DefinitionListTool.prototype.initialize=function(a){this.editor=a;if(!this.dlbutton){return}addEventHandler(this.dlbutton,"click",this.createDefinitionList,this);addEventHandler(a.getInnerDocument(),"keyup",this._keyDownHandler,this);addEventHandler(a.getInnerDocument(),"keypress",this._keyPressHandler,this)};DefinitionListTool.prototype.handleEnterPress=function(d){var f=this.editor.getNearestParentOfType(d,"dl");if(f){var b=this.editor.getNearestParentOfType(d,"dt");if(b){if(b.childNodes.length==1&&b.childNodes[0].nodeValue=="\xa0"){this.escapeFromDefinitionList(f,b,d);return}var k=this.editor.getSelection();var c=k.startOffset();var g=k.endOffset();if(g>c){k.cutChunk(c,g);k=this.editor.getSelection();c=k.startOffset()}var h=k.getElementLength(k.parentElement());if(c>=h-1){this.createDefinition(f,b)}else{var j=this.editor.getInnerDocument();var a=k.splitNodeAtSelection(b);var i=j.createElement("dd");while(a.hasChildNodes()){if(a.firstChild!=a.lastChild||a.firstChild.nodeName.toLowerCase()!="br"){i.appendChild(a.firstChild)}}a.parentNode.replaceChild(i,a);k.selectNodeContents(i);k.collapse()}}else{var l=this.editor.getNearestParentOfType(d,"dd");if(!l){this.editor.logMessage(_("Not inside a definition list element!"));return}if(l.childNodes.length==1&&l.childNodes[0].nodeValue=="\xa0"){this.escapeFromDefinitionList(f,l,d);return}var k=this.editor.getSelection();var c=k.startOffset();var g=k.endOffset();if(g>c){k.cutChunk(c,g);k=this.editor.getSelection();c=k.startOffset()}var h=k.getElementLength(k.parentElement());if(c>=h-1){this.createDefinitionTerm(f,l)}else{var m=this.editor.getInnerDocument().createElement("br");this.editor.insertNodeAtSelection(m,1);k.collapse(true)}}}};DefinitionListTool.prototype.handleTabPress=function(a){};DefinitionListTool.prototype._keyDownHandler=function(b){var c=this.editor.getSelectedNode();var a=this.editor.getNearestParentOfType(c,"dl");if(!a){return}if(b.keyCode){if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}}};DefinitionListTool.prototype._keyPressHandler=function(b){var c=this.editor.getSelectedNode();var a=this.editor.getNearestParentOfType(c,"dl");if(!a){return}switch(b.keyCode){case 13:this.handleEnterPress(c);if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}break;case 9:if(b.preventDefault){b.preventDefault()}else{b.returnValue=false}this.handleTabPress(c)}};DefinitionListTool.prototype.createDefinitionList=function(){var l=this.editor.getSelection();var k=this.editor.getInnerDocument();var l=this.editor.getSelection();var h=l.cloneContents();var f=new NodeIterator(h);var a=null;var d=false;while((a=f.next())){if(a.nodeName.toLowerCase()=="br"){d=true}if(d){var g=a;while(!g.nextSibling){g=g.parentNode}g=g.nextSibling;f.setCurrent(g);a.parentNode.removeChild(a)}}var c=h;var j=false;var i=k.createElement("dl");this.editor.insertNodeAtSelection(i);var b=this.createDefinitionTerm(i);if(c.hasChildNodes()){j=true;while(b.hasChildNodes()){b.removeChild(b.firstChild)}while(c.hasChildNodes()){b.appendChild(c.firstChild)}}var l=this.editor.getSelection();l.selectNodeContents(b);l.collapse(j)};DefinitionListTool.prototype.createDefinitionTerm=function(c,b){var g=this.editor.getInnerDocument();var f=g.createElement("dt");if(b){if(b.lastChild.nodeName.toLowerCase()=="br"){b.removeChild(b.lastChild)}}if(!b||c==b.lastChild){c.appendChild(f)}else{var h=b.nextSibling;if(h){c.insertBefore(f,h)}else{c.appendChild(f)}}var a=g.createTextNode("\xa0");f.appendChild(a);var d=this.editor.getSelection();d.selectNodeContents(f);d.collapse();this.editor.focusDocument();return f};DefinitionListTool.prototype.createDefinition=function(d,b,f){var k=this.editor.getInnerDocument();var l=k.createElement("dd");var g=b.nextSibling;if(b){if(b.lastChild.nodeName.toLowerCase()=="br"){b.removeChild(b.lastChild)}}while(g){var a=g.nodeName.toLowerCase();if(a=="dd"||a=="dt"){break}else{g=g.nextSibling}}if(g){d.insertBefore(l,g)}else{d.appendChild(l)}if(f){for(var c=0;c<f.length;c++){l.appendChild(f[c])}}var h=k.createTextNode("\xa0");l.appendChild(h);var j=this.editor.getSelection();j.selectNodeContents(l);j.collapse()};DefinitionListTool.prototype.escapeFromDefinitionList=function(h,c,g){var l=this.editor.getInnerDocument();var a=l.createElement("p");var j=l.createTextNode("\xa0");a.appendChild(j);if(h.lastChild==c){h.parentNode.insertBefore(a,h.nextSibling)}else{for(var d=0;d<h.childNodes.length;d++){var b=h.childNodes[d];if(b==c){var f=this.editor.getInnerDocument().createElement("dl");while(c.nextSibling){f.appendChild(c.nextSibling)}h.parentNode.insertBefore(f,h.nextSibling);h.parentNode.insertBefore(a,h.nextSibling)}}}c.parentNode.removeChild(c);var k=this.editor.getSelection();k.selectNodeContents(a);k.collapse();this.editor.focusDocument()};DefinitionListTool.prototype._fixStructure=function(i,f,h){var b=h.nodeName.toLowerCase();var d=h.nextSibling;while(d){if(d.nodeType==1){var c=d.nodeName.toLowerCase();if(b=="dt"&&c=="dt"){var a=i.createElement("dd");while(d.hasChildNodes()){a.appendChild(d.childNodes[0])}d.parentNode.replaceChild(a,d)}else{if(b=="dd"&&c=="dd"){var g=i.createElement("dt");while(d.hasChildNodes()){g.appendChild(d.childNodes[0])}d.parentNode.replaceChild(g,d)}}}d=d.nextSibling}};function KupuZoomTool(a,c,b){this.button=getFromSelector(a);c=c||"kupu-tb-styles";b=b||"kupu-logo-button";this.initialize=function(g){this.offclass="kupu-zoom";this.onclass="kupu-zoom-pressed";this.pressed=false;if(!this.button){return}this.baseinitialize(g);addEventHandler(window,"resize",this.onresize,this);addEventHandler(window,"scroll",this.onscroll,this);var d=getFromSelector(b);var h=getFromSelector(c);var f=g.getInnerDocument();this.setTabbing(f,h,d);this.setTabbing(h,null,g.getDocument().getWindow())}}KupuZoomTool.prototype=new KupuLateFocusStateButton;KupuZoomTool.prototype.baseinitialize=KupuZoomTool.prototype.initialize;KupuZoomTool.prototype.onscroll=function(){if(!this.zoomed){return}var b=window.pageYOffset!=undefined?window.pageYOffset:document.documentElement.scrollTop;var a=window.pageXOffset!=undefined?window.pageXOffset:document.documentElement.scrollLeft;if(b||a){window.scrollTo(0,0)}};KupuZoomTool.prototype.setTabbing=function(c,b,d){function a(f){if(f.keyCode!=9||!this.zoomed){return}var g=f.shiftKey?d:b;if(!g){return}if(f.stopPropogation){f.stopPropogation()}f.cancelBubble=true;f.returnValue=false;g.focus();return false}addEventHandler(c,"keydown",a,this)};KupuZoomTool.prototype.onresize=function(){if(!this.zoomed){return}var j=this.editor;var g=j.getDocument().editable;var d=j.getTool("sourceedittool");var c=d?d.getSourceArea():null;var b=g.parentNode;if(window.innerWidth){var a=window.innerWidth;var k=window.innerHeight}else{if(document.documentElement){if(!window._IE_VERSION){_IE_VERSION=/MSIE\s*([0-9.]*)/.exec(navigator.appVersion)}var h=(_IE_VERSION[1]<7)?5:0;var a=document.documentElement.offsetWidth-h;var k=document.documentElement.offsetHeight-h}else{var a=document.body.offsetWidth-5;var k=document.body.offsetHeight-5}}var f=b.offsetTop;var i=Math.max(k-f-1,10)+"px";a=a+"px";b.style.width=a;g.style.width=a;g.style.height=i;if(c){c.style.width=a;c.style.height=i}};KupuZoomTool.prototype.checkfunc=function(d,a,b,c){return this.zoomed};KupuZoomTool.prototype.commandfunc=function(f,j){var l=f.pressed;this.zoomed=l;var h="kupu-fulleditor-zoomed";var d=j.getDocument().getEditable();var i=document.body;var g=document.getElementsByTagName("html")[0];var k=j.getInnerDocument();if(l){g.style.overflow="hidden";window.scrollTo(0,0);j.setClass(h);i.className+=" "+h;k.body.className+=" "+h;this.onresize()}else{g.style.overflow="";var b=d.parentNode;b.style.width="";i.className=i.className.replace(/ *kupu-fulleditor-zoomed/,"");k.body.className=k.body.className.replace(/ *kupu-fulleditor-zoomed/,"");j.clearClass(h);d.style.width="";d.style.height="";var c=j.getTool("sourceedittool");var a=c?c.getSourceArea():null;if(a){a.style.width="";a.style.height=""}}k.designMode=k.designMode;window.scrollTo(0,d.offsetTop);j.focusDocument()};function AnchorTool(){}AnchorTool.prototype=new LinkTool;var proto=AnchorTool.prototype;proto.fillStyleSelect=function(a){var f=this.editor.getTool("ui");var b=f.getStyles()[0];for(var d=1;d<b.length-1;d++){var g=b[d];var c=document.createElement("option");c.text=g[0];c.value=g[1];a.options.add(c)}};proto.grubParas=function(k,h){var j=this.editor.getInnerDocument();var f=j.body;var n=[];var g=/(.*?)(\|.*|$)/;var m=k.replace(g,"$1");var l=h.replace(g,"$1");if(l&&l!=m){m="*"}if(m){var b=f.getElementsByTagName(m);for(var d=0;d<b.length;d++){var c=b[d];var a=c.nodeName.toLowerCase()+"|"+c.className;if(a==k){n.push([c,0])}if(a==h){n.push([c,1])}}}return n};proto.getAnchorsInUse=function(){var f=this.editor.getInnerDocument();var d=f.getElementsByTagName("a");var c={};for(var b=0;b<d.length;b++){var a=(/(.*)(#.*)$/.exec(d[b].href));if(a){c[decodeURIComponent(a[2])]=1}}return c};proto.removeAnchor=function(c){var b=c.getElementsByTagName("a");if(b.length>0){var a=b[0];a.removeAttribute("name");if(a.href){return}a.parentNode.removeChild(a)}};proto.getAnchor=function(f,d){var a=f.getElementsByTagName("a");for(var h=0;h<a.length;h++){if(a[h].name){return a[h].name}}if(d){return}var j=Sarissa.getText(f,true).strip().truncate(40).replace(/[^\w]+/g,"-").toLowerCase().replace(/-$/,"")||"anchor";j=j.replace(/^((?:[^-]*-){0,3}[^-]*)(.*)$/,"$1");var g=0;var c=this.editor.getInnerDocument().anchors;for(var h=0;h<c.length;h++){var b=c[h].name;if(b==j){if(g==0){g=-1}}else{if(b.length>j.length&&b.substring(0,j.length)==j){var k=b.substring(j.length);k=parseInt(k);if(k<=g){g=k-1}}}}if(g){j+=g.toString()}f.insertBefore(this.editor.newElement("a",{name:j}),f.firstChild);return j};if(window.dump===undefined){var dump=function(a){}}proto.createContextMenuElements=function(){return[]};function DebugLogger(){this.log=function(b,a){if(a>1){alert("Error: "+b)}else{if(a==1){alert("Warning: "+b)}else{alert("Log message: "+b)}}}}function PlainLogger(a,b){this.debugel=getFromSelector(a);this.maxlength=b;this.log=function(f,d){if(d>1){throw f}else{if(this.maxlength){if(this.debugel.childNodes.length>this.maxlength-1){this.debugel.removeChild(this.debugel.childNodes[0])}}var c=new Date();var g=c.getHours()+":"+c.getMinutes()+":"+c.getSeconds();var i=document.createElement("div");var h=document.createTextNode(g+" - "+f);i.appendChild(h);this.debugel.appendChild(i)}}}function DummyLogger(){this.log=function(b,a){if(a>1){throw b}}}function NonXHTMLTagFilter(){if(arguments.length){this.filterdata=arguments[0]}else{this.filterdata={html:1,body:1,head:1,title:1,a:1,abbr:1,acronym:1,address:1,b:1,base:1,big:1,blockquote:1,br:1,caption:1,cite:1,code:1,col:1,colgroup:1,dd:1,dfn:1,div:1,dl:1,dt:1,em:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,i:1,img:1,kbd:1,li:1,link:1,meta:1,ol:1,p:1,pre:1,q:1,samp:1,script:1,small:1,span:1,strong:1,style:1,sub:1,sup:1,table:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1,tt:1,ul:1,u:1,"var":1,font:1,center:0}}this.initialize=function(a){this.editor=a};this.filter=function(a,b){return this._filterHelper(a,b)};this._filterHelper=function(h,b){if(b.nodeType==3){return h.createTextNode(b.nodeValue)}else{if(b.nodeType==4){return h.createCDATASection(b.nodeValue)}}var g=h.createElement(b.nodeName);for(var f=0;f<b.attributes.length;f++){var k=b.attributes[f];g.setAttribute(k.nodeName,k.nodeValue)}for(var f=0;f<b.childNodes.length;f++){var a=b.childNodes[f];var d=a.nodeType;var l=a.nodeName.toLowerCase();if(d==3||d==4){g.appendChild(this._filterHelper(h,a))}if(l in this.filterdata&&this.filterdata[l]){g.appendChild(this._filterHelper(h,a))}else{if(l in this.filterdata){for(var c=0;c<a.childNodes.length;c++){g.appendChild(this._filterHelper(h,a.childNodes[c]))}}}}return g}}function XhtmlValidation(h){function g(c){if(typeof(c)==typeof("")||!c.length){c=[c]}return c}this.Set=function(m){if(typeof(m)==typeof("")){m=[m]}if(m instanceof Array){for(var l=0;l<m.length;l++){this[m[l]]=1}}else{for(var c in m){this[c]=1}}};this._exclude=function(o,n){var m;if(n.split){m=n.split("|")}else{m=n}var i=new this.Set(m);var l=[];for(var c=0;c<o.length;c++){if(!i[o[c]]){l.push(o[c])}}return l};this.setAttrFilter=function(i,m){for(var l=0;l<i.length;l++){var c=i[l];this.attrFilters[c]=m||this._defaultCopyAttribute}};this.setTagAttributes=function(l,c){for(var i=0;i<l.length;i++){this.tagAttributes[l[i]]=c}};this.includeTagAttributes=function(m,i){for(var l=0;l<m.length;l++){var c=m[l];this.tagAttributes[c]=this.tagAttributes[c].concat(i)}};this.excludeTagAttributes=function(m,l){var q=new this.Set(l);var o=new this.Set(m);for(var c in o){var p=this.tagAttributes[c];if(p){for(var n=p.length;n>=0;n--){if(q[p[n]]){p=p.concat();p.splice(n,1)}}}this.tagAttributes[c]=p;this.badTagAttributes[c]=l}};this.excludeTags=function(c){if(typeof(c)==typeof("")){c=[c]}for(var l=0;l<c.length;l++){delete this.tagAttributes[c[l]]}};this.excludeAttributes=function(l){this.excludeTagAttributes(this.tagAttributes,l);for(var c=0;c<l.length;c++){delete this.attrFilters[l[c]]}};var j={b:"strong",i:"em"};if(h.getBrowserName()=="IE"){this._getTagName=function(i){var c=i.nodeName.toLowerCase();if(i.scopeName&&i.scopeName!="HTML"){c=i.scopeName+":"+c}return j[c]||c}}else{this._getTagName=function(i){var c=i.nodeName.toLowerCase();return j[c]||c}}this.elements=new function(c){this.attributes=["abbr","accept","accept-charset","accesskey","action","align","alink","alt","archive","axis","background","bgcolor","border","cellpadding","cellspacing","char","charoff","charset","checked","cite","class","classid","clear","code","codebase","codetype","color","cols","colspan","compact","content","coords","data","datetime","declare","defer","dir","disabled","enctype","face","for","frame","frameborder","headers","height","href","hreflang","hspace","http-equiv","id","ismap","label","lang","language","link","longdesc","marginheight","marginwidth","maxlength","media","method","multiple","name","nohref","noshade","nowrap","object","onblur","onchange","onclick","ondblclick","onfocus","onkeydown","onkeypress","onkeyup","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onreset","onselect","onsubmit","onunload","profile","prompt","readonly","rel","rev","rows","rowspan","rules","scheme","scope","scrolling","selected","shape","size","span","src","standby","start","style","summary","tabindex","target","text","title","type","usemap","valign","value","valuetype","vlink","vspace","width","xml:lang","xml:space","xmlns"];this.coreattrs=["id","title","style","class"];this.i18n=["lang","dir","xml:lang"];this.events=[];this.focusevents=[];this.loadevents=[];this.formevents=[];this.inputevents=[];this.focus=["accesskey","tabindex"].concat(this.focusevents);this.attrs=[].concat(this.coreattrs,this.i18n,this.events);this.special_extra=["object","applet","img","map","iframe","embed"];this.special_basic=["br","span","bdo"];this.special=[].concat(this.special_basic,this.special_extra);this.fontstyle_extra=["big","small","font","basefont"];this.fontstyle_basic=["tt","i","b","u","s","strike"];this.fontstyle=[].concat(this.fontstyle_basic,this.fontstyle_extra);this.phrase_extra=["sub","sup"];this.phrase_basic=["em","strong","dfn","code","q","samp","kbd","var","cite","abbr","acronym"];this.phrase=[].concat(this.phrase_basic,this.phrase_extra);this.inline_forms=["input","select","textarea","label","button"];this.misc_inline=["ins","del","script"];this.misc=["noscript"].concat(this.misc_inline);this.inline=["a"].concat(this.special,this.fontstyle,this.phrase,this.inline_forms);this.Inline=["#text","#comment"].concat(this.inline,this.misc_inline);this.heading=["h1","h2","h3","h4","h5","h6"];this.lists=["ul","ol","dl","menu","dir"];this.blocktext=["pre","hr","blockquote","address","center","noframes"];this.block=["p","div","isindex","fieldset","table"].concat(this.heading,this.lists,this.blocktext);this.Flow=["#text","form"].concat(this.block,this.inline,this.misc)}(this);this._commonsetting=function(c,l,i){for(var m=0;m<l.length;m++){c[l[m]]=i}};this.tagAttributes=new function(i,c){this.title=i.i18n.concat("id");this.html=this.title.concat("xmlns");this.head=this.title.concat("profile");this.base=["id","href","target"];this.meta=this.title.concat("http-equiv","name","content","scheme");this.link=i.attrs.concat("charset","href","hreflang","type","rel","rev","media","target");this.style=this.title.concat("type","media","title","xml:space");this.script=["id","charset","type","language","src","defer","xml:space"];this.iframe=["longdesc","name","src","frameborder","marginwidth","marginheight","scrolling","align","height","width"].concat(i.coreattrs);this.body=["background","bgcolor","text","link","vlink","alink"].concat(i.attrs,i.loadevents);c._commonsetting(this,["p","div"].concat(i.heading),["align"].concat(i.attrs));this.dl=this.dir=this.menu=i.attrs.concat("compact");this.ul=this.menu.concat("type");this.ol=this.ul.concat("start");this.li=i.attrs.concat("type","value");this.hr=i.attrs.concat("align","noshade","size","width");this.pre=i.attrs.concat("width","xml:space");this.blockquote=this.q=i.attrs.concat("cite");this.ins=this.del=this.blockquote.concat("datetime");this.a=i.attrs.concat(i.focus,"charset","type","name","href","hreflang","rel","rev","shape","coords","target");this.bdo=i.coreattrs.concat(i.events,"lang","xml:lang","dir");this.br=i.coreattrs.concat("clear");c._commonsetting(this,["noscript","noframes","dt","dd","address","center","span","em","strong","dfn","code","samp","kbd","var","cite","abbr","acronym","sub","sup","tt","i","b","big","small","u","s","strike","fieldset"],i.attrs);this.basefont=["id","size","color","face"];this.font=i.coreattrs.concat(i.i18n,"size","color","face");this.object=i.attrs.concat("declare","classid","codebase","data","type","codetype","archive","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace");this.embed=["*"];this.param=["id","name","value","valuetype","type"];this.applet=i.coreattrs.concat("codebase","archive","code","object","alt","name","width","height","align","hspace","vspace");this.img=i.attrs.concat("src","alt","name","longdesc","height","width","usemap","ismap","align","border","hspace","vspace");this.map=this.title.concat("title","name","style","class",i.events);this.area=i.attrs.concat("shape","coords","href","nohref","alt","target",i.focus);this.form=i.attrs.concat("action","method","name","enctype",i.formevents,"accept","accept-charset","target");this.label=i.attrs.concat("for","accesskey",i.focusevents);this.input=i.attrs.concat("type","name","value","checked","disabled","readonly","size","maxlength","src","alt","usemap",i.input,"accept","align",i.focus);this.select=i.attrs.concat("name","size","multiple","disabled","tabindex",i.focusevents,i.input);this.optgroup=i.attrs.concat("disabled","label");this.option=i.attrs.concat("selected","disabled","label","value");this.textarea=i.attrs.concat("name","rows","cols","disabled","readonly",i.inputevents,i.focus);this.legend=i.attrs.concat("accesskey","align");this.button=i.attrs.concat("name","value","type","disabled",i.focus);this.isindex=i.coreattrs.concat("prompt",i.i18n);this.table=i.attrs.concat("summary","width","border","frame","rules","cellspacing","cellpadding","align","bgcolor");this.caption=i.attrs.concat("align");this.col=this.colgroup=i.attrs.concat("span","width","align","char","charoff","valign");this.thead=i.attrs.concat("align","char","charoff","valign");this.tfoot=this.tbody=this.thead;this.tr=this.thead.concat("bgcolor");this.td=this.th=this.tr.concat("abbr","axis","headers","scope","rowspan","colspan","nowrap","width","height")}(this.elements,this);this.badTagAttributes=new this.Set({});this.nastyTags=new this.Set({script:1,style:1,meta:1,title:1});this.States=new function(m,c){var l=this;function i(n,p){var q=new c.Set(p);for(var o=0;o<n.length;o++){l[n[o]]=q}}i(["html"],["head","body"]);i(["head"],["title","base","script","style","meta","link","object","isindex"]);i(["base","meta","link","hr","param","img","area","input","br","basefont","isindex","col"],[]);i(["title","style","script","option","textarea"],["#text"]);i(["noscript","iframe","noframes","body","div","li","dd","blockquote","center","ins","del","td","th"],m.Flow);i(m.heading,m.Inline);i(["p","dt","address","span","bdo","caption","em","strong","dfn","code","samp","kbd","var","cite","abbr","acronym","q","sub","sup","tt","i","b","big","small","u","s","strike","font","label","legend"],m.Inline);i(["ul","ol","menu","dir","ul"],["li"]);i(["dl"],["dt","dd"]);i(["pre"],c._exclude(m.Inline,"img|object|embed|applet|big|small|sub|sup|font|basefont"));i(["a"],c._exclude(m.Inline,"a"));i(["applet","object","embed"],["#text","param","form"].concat(m.block,m.inline,m.misc));i(["map"],["form","area"].concat(m.block,m.misc));i(["form"],c._exclude(m.Flow,["form"]));i(["select"],["optgroup","option"]);i(["optgroup"],["option"]);i(["fieldset"],["#text","legend","form"].concat(m.block,m.inline,m.misc));i(["button"],c._exclude(m.Flow,["a","form","iframe"].concat(m.inline_forms)));i(["table"],["caption","col","colgroup","thead","tfoot","tbody","tr"]);i(["thead","tfoot","tbody"],["tr"]);i(["colgroup"],["col"]);i(["tr"],["th","td"])}(this.elements,this);this.styleWhitelist=new this.Set(["text-align","list-style-type","float"]);this.classBlacklist=new this.Set(["MsoNormal","MsoTitle","MsoHeader","MsoFootnoteText","Bullet1","Bullet2","Apple-span-style"]);this.classFilter=function(o){var n=o.split(" ");var l=[];for(var m=0;m<n.length;m++){var p=n[m];if(p&&!this.classBlacklist[p]){l.push(p)}}return l.join(" ")};this._defaultCopyAttribute=function(c,m,i){var l=m.getAttribute(c);if(l){i.setAttribute(c,l)}return !!l};var f=this;this.attrFilters=new function(c,n){var l=c.elements.attributes;for(var m=0;m<l.length;m++){this[l[m]]=c._defaultCopyAttribute}this["class"]=function(i,q,o){var p=q.getAttribute("class");if(p){p=c.classFilter(p)}if(p){o.setAttribute("class",p)}return !!p};this["*"]=function(p,v,s){var r=false;var u=f._getTagName(v);var t=f.badTagAttributes[u];for(var q=0;q<v.attributes.length;q++){var o=v.attributes[q];var p=o.name;if(t&&t.contains(p)){continue}if(o.specified){s.setAttribute(p,o.value);r=true}}return r};if(n.getBrowserName()=="IE"){this["class"]=function(i,q,o){var p=q.className;if(p){p=c.classFilter(p);if(p){o.setAttribute("class",p)}}else{p=q.getAttribute("class");if(p){p=c.classFilter(p)}if(p){o.setAttribute("class",p)}}return !!p};this["http-equiv"]=function(i,q,o){var p=q.httpEquiv;if(p){o.setAttribute("http-equiv",p)}return !!p};this["xml:lang"]=this["xml:space"]=function(i,r,o){try{var q=r.getAttribute(i);if(q){o.setAttribute(i,q)}return !!q}catch(p){}}}this.alt=function(i,r,p){var q=r.getAttribute(i);var o=q||p.tagName=="img";if(o){p.setAttribute(i,q)}return o};this.rowspan=this.colspan=function(i,r,p){var q=r.getAttribute(i);var o=q&&q!="1";if(o){p.setAttribute(i,q)}return o};this.style=function(o,u,q){var t=u.style.cssText;if(t){var r=t.split(/; */);for(var p=r.length;p>=0;p--){if(r[p]){var s=/^([^:]+): *(.*)$/.exec(r[p]);var o=s[1].toLowerCase();if(c.styleWhitelist[o]){r[p]=o+": "+s[2]}else{r.splice(p,1)}}}if(r[r.length-1]){r.push("")}t=r.join("; ").strip()}if(t){q.setAttribute("style",t)}return !!t}}(this,h);this.excludeTags(["center","meta","title"]);if(h.config&&h.config.htmlfilter){this.filterStructure=h.config.htmlfilter.filterstructure;var a=h.config.htmlfilter;if(a.a){this.excludeAttributes(a.a)}if(a.t){this.excludeTags(a.t)}if(a.c){var k=g(a.c);for(var b=0;b<k.length;b++){this.excludeTagAttributes(k[b].t,k[b].a)}}if(a.xstyle){var d=g(a.xstyle);for(var b=0;b<d.length;b++){this.styleWhitelist[d[b]]=1}}if(a["class"]){var k=g(a["class"]);for(var b=0;b<k.length;b++){this.classBlacklist[k[b]]=1}}}this._copyAttributes=function(r,o,p){var c;var m=false;if(p.contains("*")){m=this.attrFilters["*"](c,r,o);if(m===undefined){m=true}}else{for(var l=0;l<p.length;l++){c=p[l];var n=this.attrFilters[c];if(n){var q=n(c,r,o);m|=(q||q===undefined)}}}return m};this._xmlCopyAttr=function(c,n){var m=this.tagAttributes[c.nodeName];for(var l=0;l<m.length;l++){var o=c.getAttribute(m[l]);if(o){n.setAttribute(m[l],o)}}};this._convertToSarissaNode=function(i,l){var c=this._convertNodes(i,l,null,new this.Set(["html"]));this._cleanupBr(i,c);this._cleanupParas(i,c);return c};this._cleanupPara=function(p,v){var u=this.States.p;var c=[[]];var r=0;for(var l=v.firstChild;l;l=l.nextSibling){var s=l.nodeName.toLowerCase();if(u[s]&&(s!="img"||!(/\bcaptioned\b/i.test(l.getAttribute("class"))))){c[r].push(l)}else{if(c[r].length){c.push(l)}else{c[r]=l}c.push([]);r=c.length-1}}if(!c[r].length){c.splice(r,1)}if(c.length>0&&c[0] instanceof Array&&!c[0].length){c.splice(0,1)}if(c.length==0||(c.length==1&&c[0] instanceof Array)){return}var i=v.parentNode;for(var r=0;r<c.length;r++){var m=c[r];if(m instanceof Array){var t=p.createElement("p");this._xmlCopyAttr(v,t);for(var q=m.length-1;q>=0;q--){var s=m[q].nodeName.toLowerCase();if(s=="br"||(s=="#text"&&(/^\s*$/.test(m[q].nodeValue)))){m.splice(q,1)}else{break}}if(m.length==0){continue}for(var o=0;o<m.length;o++){t.appendChild(m[o])}m=t}i.insertBefore(m,v)}i.removeChild(v)};this._cleanupParas=function(n,c){var l=c.getElementsByTagName("p");for(var m=l.length-1;m>=0;m--){this._cleanupPara(n,l[m])}};this._cleanupBr=function(r,l){var q=l.getElementsByTagName("br");for(var m=q.length-1;m>=0;m--){var o=q[m];var c=o.parentNode;if(c.tagName=="body"){var s=r.createElement("p");var n=o.previousSibling;if(n&&n.nodeType==3){s.appendChild(n)}c.insertBefore(s,o);c.removeChild(o)}else{if(!o.nextSibling&&(/(p|div)\b/i.test(c.nodeName)&&!(o.previousSibling&&o.previousSibling.nodeName=="br"))){c.removeChild(o)}}}};this._convertNodes=function(y,u,v,B){var l=v;var t=this._getTagName(u);var A=!this.filterstructure;var s=this.tagAttributes[t];if(s&&(A||B[t])){try{var q=y.createElement(t);l=q}catch(w){}if(s&&q){if(!this._copyAttributes(u,q,s)&&t=="span"){l=v;q=null}}}else{if(this.nastyTags[t]){return null}}var c=u.childNodes;var n=this.States[l.tagName]||B;if(c.length==0){if(u.text&&u.text!=""&&(A||n["#text"])){var z=u.text;var m=y.createTextNode(z);l.appendChild(m)}}else{for(var r=0;r<c.length;r++){var p=c[r];if(p.parentNode!==u){if(p.tagName.toLowerCase()=="body"){if(t!="html"){continue}}else{if(p.parentNode.tagName===u.tagName){continue}}}if(p.nodeType==1){var o=this._convertNodes(y,p,l,n);if(o!=null){l.appendChild(o)}}else{if(p.nodeType==3){if(A||n["#text"]){l.appendChild(y.createTextNode(p.nodeValue))}}else{if(p.nodeType==4){if(A||n["#text"]){l.appendChild(y.createCDATASection(p.nodeValue))}}else{if(p.nodeType==8){l.appendChild(y.createComment(p.nodeValue))}}}}}}return q}}KupuEditor.prototype._getBase=function(b){var a=b.getElementsByTagName("base");if(a.length){return a[0].getAttribute("href")}else{return""}};KupuEditor.prototype.makeLinksRelative=function(f,g,c){var b=g.replace(/\/[^\/]*$/,"/");var a=/.*\/([^\/]*)$/.exec(g)[1];var d=b.split("/");f=f.replace(/(<[^>]* (?:src|href)=")([^"]*)"/g,function(q,t,h,m,j){var k=h.indexOf("/resolveuid/");if(k!=-1){q=t+h.substr(k+1)+'"';return q}var l=h.split("#");var o=l[1]||"";h=l[0];var l=h.split("/");var p=0;while(p<l.length&&p<d.length&&l[p]==d[p]){p++}var r=l[p];if(p==l.length){l[p]="."}else{if(p+1==l.length&&(r=="emptypage"||r==a)){l[p]=""}}if(p>2){var s=[];var n=0;for(;n+p<d.length-1;n++){s[n]=".."}while(p<l.length){s[n++]=l[p++]}if(n==0&&!o){s[n++]="#"}q=s.join("/");if(o||q==""){q=[q,o].join("#")}q=t+q+'"'}return q});f=f.replace(/<a\s+href="[^"]*"\s*>\s*<\/a>/g,"");f=f.replace(/<((p|div)\b[^>]*)>\s*<\/\2>(<br \/>)*/g,"<$1>&nbsp;</$2>").strip();return f};KupuEditor.prototype.saveDataToField=function(d,g){var b=this.getTool("sourceedittool");if(b){b.cancelSourceMode()}if(!this._initialized){return}this._initialized=false;window.status="Please wait while saving document...";this.logMessage("Starting HTML cleanup");var a=this._filterContent(this.getInnerDocument().documentElement);var c=this.getXMLBody(a);if(/^<body[^>]*>(<\/?(p|br)[^>]*>|\&nbsp;|\s)*<\/body>$/.test(c)){c=""}var f=this._getBase(a);c=this._fixupSingletons(c);c=this.makeLinksRelative(c,f).replace(/<\/?body[^>]*>/g,"");this.logMessage("Cleanup done, sending document to server");g.value=c;this.content_changed=false};function SourceEditTool(b,a){this.sourceButton=getFromSelector(b);this.sourcemode=false;this._currently_editing=null;this.getSourceArea=function(){return getFromSelector(a)}}SourceEditTool.prototype=new KupuTool;SourceEditTool.prototype.cancelSourceMode=function(){if(this._currently_editing){this.switchSourceEdit(null,true)}};SourceEditTool.prototype.updateState=SourceEditTool.prototype.cancelSourceMode;SourceEditTool.prototype.initialize=function(a){this.editor=a;if(!this.sourceButton){return}addEventHandler(this.sourceButton,"click",this.switchSourceEdit,this);this.editor.logMessage(_("Source edit tool initialized"))};SourceEditTool.prototype.switchSourceEdit=function(a,m){var h=this.editor;var j=this._currently_editing||h.getDocument();var i=j.getEditable();var l=this.getSourceArea();var g=j.getDocument();var d="kupu-sourcemode";if(!this.sourcemode){if(window.drawertool){window.drawertool.closeDrawer()}if(/on/i.test(g.designMode)){g.designMode="Off"}h._initialized=false;var f="";if(h.config.filtersourceedit){window.status=_("Cleaning up HTML...");var c=h._filterContent(h.getInnerDocument().documentElement);f=h.getXMLBody(c);f=h._fixupSingletons(f).replace(/<\/?body[^>]*>/g,"");if(h._getBase&&h.makeLinksRelative){var b=h._getBase(c);f=h.makeLinksRelative(f,b).replace(/<\/?body[^>]*>/g,"")}window.status=""}else{f=h.getHTMLBody()}l.value=f.strip();h.setClass(d);i.style.display="none";l.style.display="block";if(!m){l.focus()}this._currently_editing=j}else{h.setHTMLBody(l.value);h.clearClass(d);l.style.display="none";i.style.display="block";if(/off/i.test(g.designMode)){g.designMode="On"}if(!m){j.getWindow().focus();var k=this.editor.getSelection();k.collapse()}h._initialized=true;this._currently_editing=null;this.editor.updateState()}this.sourcemode=!this.sourcemode};SourceEditTool.prototype.enable=function(){kupuButtonEnable(this.sourceButton)};SourceEditTool.prototype.disable=function(){kupuButtonDisable(this.sourceButton)};function MultiSourceEditTool(b,a){this.sourceButton=getFromSelector(b);this.textareaprefix=a;this._currently_editing=null}MultiSourceEditTool.prototype=new SourceEditTool;MultiSourceEditTool.prototype.getSourceArea=function(){var b=this._currently_editing||kupu.getDocument();var a=this.textareaprefix+b.getEditable().id;return getFromSelector(a)};function kupu_busy(a){if(a.busy){a.busy()}}function kupu_notbusy(a,b){if(a.notbusy){a.notbusy(b)}}function DrawerTool(){this.drawers={};this.current_drawer=null;this.initialize=function(a){this.editor=a;this.isIE=this.editor.getBrowserName()=="IE";window.drawertool=this};this.registerDrawer=function(c,b,a){this.drawers[c]=b;b.initialize(a||this.editor,this)};this.openDrawer=function(c,a){if(this.current_drawer){this.closeDrawer()}var b=this.drawers[c];if(this.isIE){b.editor._saveSelection()}this.current_drawer=b;if(a===undefined){a=[]}if(this.isIE){b.initMask(b.element)}b.createContent.apply(b,a);b.editor.suspendEditing();b.fixMask()};this.updateState=function(a){};this.closeDrawer=function(a){if(!this.current_drawer){return}this.current_drawer.hide();this.current_drawer.editor.resumeEditing();this.current_drawer=null;kupu_notbusy(this.editor,true)}}DrawerTool.prototype=new KupuTool;function Drawer(a,b){this.element=getFromSelector(a);this.tool=b}var proto=Drawer.prototype;proto.initialize=function(b,a){this.editor=b;this.drawertool=a};proto.createContent=function(){this.element.style.display="block";this.focusElement()};proto.hide=function(){if(this.maskframe){this.maskframe.style.display="none"}this.element.style.display="none";this.focussed=false};proto.focusElement=function(){this.focussed=false;var c=new NodeIterator(this.element);var b=c.next();while(b){if(b.tagName&&(b.tagName.toUpperCase()=="BUTTON"||(b.tagName.toUpperCase()=="INPUT"&&!(/nofocus/.test(b.className))))){this.focussed=true;function a(){try{b.focus()}catch(d){}}timer_instance.registerFunction(this,a,100);return}b=c.next()}};proto.initMask=function(b){var c=(this.maskframe=document.getElementById("kupu-maskframe"));if(!this.maskframe){c=this.maskframe=newElement("iframe",{id:"kupu-maskframe",src:"javascript:false;",frameBorder:"0",scrolling:"no"});var a=c.style;a.display="none"}b.parentNode.insertBefore(c,b)};proto.fixMask=function(){var a=this.maskframe;if(a){if(a.parentNode!=this.element.parentNode){this.element.parentNode.insertBefore(a,this.element)}var c=this.element;var b=a.style;var d=c.style;b.top=d.top;b.left=d.left;b.width=c.offsetWidth+"px";b.height=c.offsetHeight+"px";b.left=(c.offsetLeft)+"px";b.position="absolute";b.display=""}};proto.switchMode=function(f){f=f||window.event;var g=f.currentTarget||f.srcElement;var d=g;while(!(/^li$/i.test(d.nodeName))){d=d.parentNode}var h=d;while(!(/^ul$/i.test(d.nodeName))){d=d.parentNode}var c=d.getElementsByTagName("li");for(var b=0;b<c.length;b++){var d=c[b];var a=d.className.replace(/\s*selected/g,"");if(d===h){this.panel.className="kupu-panels "+a;a+=" selected"}if(d.className!=a){d.className=a}}if(this.fillList){this.fillList()}this.fixMask();if(f.preventDefault){f.preventDefault()}f.returnValue=false;return false};function DrawerWithAnchors(b,a,c){Drawer.call(this,b,a);this.anchorui=c;this.anchorframe=null}DrawerWithAnchors.prototype=new Drawer;proto=DrawerWithAnchors.prototype;proto.initAnchors=function(){var b=40;var a=this.anchorframe;var c=this.editor;function d(){var j=a.readyState;if(j&&!(/complete/.test(j))){if(b--&&a.src==h){timer_instance.registerFunction(this,d,500)}else{kupu_notbusy(c,true)}return}if(window.drawertool&&window.drawertool.current_drawer){window.drawertool.current_drawer.anchorframe_loaded()}kupu_notbusy(c)}var i="kupu-linkdrawer-anchors";var g=(this.anchorui=getBaseTagClass(this.element,"div",i));if(g){var f=g.getElementsByTagName("input");if(f.length>1){f[1].disabled=true}var h=f[0].value;f[0].value="";if(!h){return}kupu_busy(c);if(this.anchorframe.readyState){a.src=h;d()}else{this.anchorframe.onload=d;a.src=h}}};proto.anchorSelect=function(){return this.anchorui&&this.anchorui.getElementsByTagName("select")[0]};proto.addSelectEvent=function(){var a=this.anchorSelect();if(a){addEventHandler(a,"change",this.selChange,this)}};proto.hideAnchors=function(){this.anchorui.style.display="none"};proto.anchorText=function(c){var d=/^div|p|body|td|h.$/i;var b="";var h="#"+c.name;for(var g=c;g&&!b;g=g.parentNode){var b=g.textContent||g.innerText||"";if(b||d.test(g.nodeName)){break}for(var f=g.nextSibling;f&&!b;f=f.nextSibling){if(f.nodeName.toLowerCase()=="#text"){b=f.data.strip()}else{b+=f.textContent||f.innerText||""}b=b.strip()}}if(b){b=" ("+(b||"").substring(0,80).reduceWhitespace().strip()+")"}return h+b};proto.selChange=function(){};proto.anchorframe_loaded=function(){this.showAnchors("")};proto.showAnchors=function(f){var k=this.anchorSelect();if(k==undefined){return}var b=k.options;while(b.length>1){b[1]=null}try{var l=this.anchorframe.contentWindow.document;var c=l.anchors}catch(h){this.hideAnchors();return}for(var g=0;g<c.length;g++){var j=c[g];if(j.name){var d=document.createElement("option");d.text=this.anchorText(c[g]);var m=c[g].name;d.value=m;if(m==f){d.selected=true}k.options.add(d)}}k.disabled=false;if(b.length>1){this.anchorui.style.display=""}};proto.getFragment=function(){var a=this.anchorSelect();if(a){var b=a.options[a.selectedIndex].value;if(b){return"#"+b}}return""};function LinkDrawer(c,f){DrawerWithAnchors.call(this,c,f);var l=getBaseTagClass(this.element,"input","kupu-linkdrawer-input");var g=getBaseTagClass(this.element,"textarea","kupu-embed-input");var h=getBaseTagClass(this.element,"iframe","kupu-linkdrawer-preview");var b=getBaseTagClass(this.element,"div","watermark");this.anchorframe=h;this.anchorui=getBaseTagClass(this.element,"tr","kupu-linkdrawer-anchors");this.target="";this.panel=getBaseTagClass(this.element,"div","kupu-panels");var a=getBaseTagClass(this.element,"ul","kupu-tabs");if(a){var k=a.getElementsByTagName("a");for(var d=0;d<k.length;d++){addEventHandler(k[d],"click",this.switchMode,this)}}if(g){addEventHandler(g,"click",function(){if(g.defaultValue==g.value){g.select()}})}this.selChange=function(){var i=this.getFragment();l.value=l.value.replace(/#[^#]*$/,"");if(i){l.value+=i}};this.addSelectEvent();this.createContent=function(){var m=this.editor;var n=m.getSelectedNode();var i=m.getNearestParentOfType(n,"a");l.value="";this.preview();if(i){l.value=i.getAttribute("href")}else{l.value="http://"}var o=m.getNearestParentOfType(n,"object")||m.getNearestParentOfType(n,"embed");if(o){g.value=getOuterHtml(o)}else{g.value=g.defaultValue}this.element.style.display="block";this.hideAnchors();this.focusElement()};this.save=function(){this.editor.resumeEditing();if(this.getMode()){var m=l.value;this.tool.createLink(m,null,null,this.target,null,"external-link");l.value=""}else{var q=this.editor.getInnerDocument();var n=this.editor.getSelection();var p=q.createElement("div");p.innerHTML=g.value;try{for(var i=p.childNodes.length-1;i>=0;i--){var r=p.childNodes[i];if(/^\//.test(r.nodeName)){p.removeChild(r)}}while(p.firstChild){var r=p.firstChild;n.replaceWithNode(r,!r.nextSibling)}}catch(o){}}this.drawertool.closeDrawer()};function j(){var i=l.value.split("#");var m=i.length>1?i[i.length-1]:"";return m}this.getMode=function(){return !!(/addlink/.test(this.panel.className))};this.preview=function(){if(this.getMode()){var i=false;b.style.display="";if(/^http(s?):\x2f\x2f./.test(l.value)){try{h.src=l.value;i=true}catch(m){alert('Preview blew up"'+l.value+'"')}}else{h.src="";if(l.value.strip()){alert(_("Can only preview web urls"))}}if(i){this.showAnchors(j());if(this.editor.getBrowserName()=="IE"){h.width="800";h.height="365";h.style.zoom="60%"}}}};this.preview_loaded=function(){b.style.display=(/^http(s?):\x2f\x2f./.test(l.value))?"none":"";var i=l.value;try{var m=h.contentWindow.location.href}catch(n){return}if(m&&i!=m&&!(/^about:/.test(m))){l.value=m}this.showAnchors(j())};addEventHandler(h,"load",this.preview_loaded,this)}LinkDrawer.prototype=new DrawerWithAnchors;function TableDrawer(c,f){this.element=getFromSelector(c);this.tool=f;this.addpanel=getBaseTagClass(this.element,"div","kupu-tabledrawer-addtable");this.editpanel=getBaseTagClass(this.element,"div","kupu-tabledrawer-edittable");var b=getBaseTagClass(this.element,"select","kupu-tabledrawer-editclasschooser");var a=getBaseTagClass(this.element,"select","kupu-tabledrawer-addclasschooser");var h=getBaseTagClass(this.element,"select","kupu-tabledrawer-alignchooser");var d=getBaseTagClass(this.element,"input","kupu-tabledrawer-newrows");var g=getBaseTagClass(this.element,"input","kupu-tabledrawer-newcols");var i=getBaseTagClass(this.element,"input","kupu-tabledrawer-makeheader");this.createContent=function(){var m=this.editor;var o=m.getSelectedNode();function j(w){if(m.config.table_classes){var t=m.config.table_classes["class"];while(w.hasChildNodes()){w.removeChild(w.firstChild)}for(var s=0;s<t.length;s++){var r=t[s];var q=r.xcaption||r;var y=r.classname||r;var u=document.createElement("option");var v=document.createTextNode(q);u.appendChild(v);u.setAttribute("value",y);w.appendChild(u)}}}j(a);j(b);var n=m.getNearestParentOfType(o,"table");var k,l;if(!n){k=this.addpanel;l=this.editpanel}else{k=this.editpanel;l=this.addpanel;var p=this.tool._getColumnAlign(o);selectSelectItem(h,p);selectSelectItem(b,n.className)}l.style.display="none";k.style.display="block";this.element.style.display="block";this.focusElement()};this.createTable=function(){this.editor.resumeEditing();var k=d.value;var l=g.value;var j=a.value;var m=i.checked;this.tool.createTable(parseInt(k),parseInt(l),m,j);this.drawertool.closeDrawer()};this.delTableRow=function(){this.editor.resumeEditing();this.tool.delTableRow();this.editor.suspendEditing()};this.addTableRow=function(){this.editor.resumeEditing();this.tool.addTableRow();this.editor.suspendEditing()};this.delTableColumn=function(){this.editor.resumeEditing();this.tool.delTableColumn();this.editor.suspendEditing()};this.addTableColumn=function(){this.editor.resumeEditing();this.tool.addTableColumn();this.editor.suspendEditing()};this.fixTable=function(){this.editor.resumeEditing();this.tool.fixTable();this.editor.suspendEditing()};this.fixAllTables=function(){this.editor.resumeEditing();this.tool.fixAllTables();this.editor.suspendEditing()};this.delTable=function(){this.editor.resumeEditing();this.tool.delTable();this.drawertool.closeDrawer()};this.setTableClass=function(j){this.editor.resumeEditing();this.tool.setTableClass(j);this.editor.suspendEditing()};this.setColumnAlign=function(j){this.editor.resumeEditing();this.tool.setColumnAlign(j);this.editor.suspendEditing()}}TableDrawer.prototype=new Drawer;function LibraryDrawer(f,c,b,d,g,a){this.showupload="";this.showanchors="";this.multiple=false;this.currentSelection=[];this.init=function(l,j,i,k,m,h){this.drawerid="kupu-librarydrawer";this.librariespanelid="kupu-librariespanel";this.resourcespanelid="kupu-resourcespanel";this.propertiespanelid="kupu-propertiespanel";this.breadcrumbsid="kupu-breadcrumbs";if(m){this.baseelement=getFromSelector(m)}else{this.baseelement=getBaseTagClass(document.body,"div","kupu-librarydrawer-parent")}this.anchorframe=getBaseTagClass(this.baseelement,"iframe","kupu-anchorframe");var n;this.tool=l;this.element=document.getElementById(this.drawerid);if(!this.element){n=document.createElement("div");n.id=this.drawerid;n.className="kupu-drawer "+this.drawerid;this.baseelement.appendChild(n);this.element=n}this.shared.xsluri=j;this.libsuri=i;this.searchuri=k;this.selecturi=h;this.shared.newimages=null;this.shared.xsl=null;this.xmldata=null};if(f){this.init(f,c,b,d,g,a)}this.initialize=function(i,h){this.editor=i;this.drawertool=h;this._loadXML(this.shared.xsluri,this._libsXslCallback)};this.hide=function(){var h=this.element;h.style.left=h.style.top="";LibraryDrawer.prototype.hide.call(this)};this._libsXslCallback=function(j){this.shared.xsl=j;Sarissa.getDomDocument();try{var h=new XSLTProcessor();this.shared.xsltproc=h;h.importStylesheet(j);h.setParameter("","ie",this.editor.getBrowserName()=="IE");h.setParameter("","drawertype",this.drawertype);h.setParameter("","drawertitle",this.drawertitle);h.setParameter("","showupload",this.showupload);h.setParameter("","showanchors",this.showanchors);if(this.target!==undefined){h.setParameter("","link_target",this.target)}if(this.editor.config&&!!this.editor.config.captions){h.setParameter("","usecaptions","yes")}}catch(i){if(i&&i.name&&i.message){i=i.name+": "+i.message}alert("xlstproc error:"+i);return}if(this.xmldata){this.updateDisplay(this.drawerid)}};this.setTitle=function(i){this.drawertitle=i;var h=this.shared.xsltproc;if(h){h.setParameter("","drawertitle",this.drawertitle)}};this.createContent=function(){this.removeSelection();if(this.element.parentNode!=this.baseelement){this.baseelement.appendChild(this.element)}if(!this.xmldata){if(!window.XSLTProcessor){alert("This function requires better XML support in your browser.");return}this.loadLibraries()}else{var i=this.xmldata.selectSingleNode("/libraries");var h=i.selectSingleNode("library[@id='kupu-current-selection']");if(h){i.removeChild(h)}if(this.shared.newimages){this.reloadCurrent();this.shared.newimages=null}this.updateDisplay();this.initialSelection()}this.element.style.display="block"};this._singleLibsXslCallback=function(h){this.singlelibxsl=h};this.loadLibraries=function(){this._loadXML(this.libsuri,this._libsContentCallback)};this._libsContentCallback=function(h){this.xmldata=h;this.xmldata.setProperty("SelectionLanguage","XPath");this.updateDisplay(this.drawerid);this.initialSelection()};this.initialSelection=function(){if(this.selectedSrc&&this.selecturi){this.selectCurrent();return}var h="/libraries/library[@selected]";var i=this.xmldata.selectSingleNode(h);if(i){var j=i.getAttribute("id");this.selectLibrary(j)}};this.updateDisplay=function(p){if(!p){p=this.drawerid}var l=this.shared.xsltproc;if(!l){return}for(var j in this.options){l.setParameter("",j,this.options[j])}l.setParameter("","multiple",this.multiple?"yes":"");l.setParameter("","showupload",this.showupload?"yes":"");l.setParameter("","showanchors",this.showanchors);var o=this._transformXml();var n=o.selectSingleNode('//*[@id="'+p+'"]');var h=document.getElementById(p);if(!n||!h){return}var i=n.getAttribute("class");if(i){h.className=i}Sarissa.copyChildNodes(n,h);if(!this.focussed){this.focusElement()}var m=document.getElementById("kupu-preview-image");if(m&&m.width=="1"){kupuFixImage(m)}var m=this.element;m.className=m.className.replace(" kupu-has-selection","");if(this.xmldata.selectSingleNode("//*[@selected]//*[@checked]")){this.element.className+=" kupu-has-selection"}if(this.editor.getBrowserName()=="IE"&&p==this.resourcespanelid){this.updateDisplay(this.drawerid)}this.fixMask()};this.updateResources=function(){if(this.editor.getBrowserName()=="IE"){this.updateDisplay(this.drawerid)}else{this.updateDisplay(this.breadcrumbsid);this.updateDisplay(this.resourcespanelid);this.updateDisplay(this.propertiespanelid)}};this.deselectActiveCollection=function(){var h=document.getElementById(this.librariespanelid);if(!h){return}var l=h.getElementsByTagName("div");for(var j=0;j<l.length;j++){var m=l[j];m.className=m.className.replace(/[ -]*selected/,"")}var k;while((k=this.xmldata.selectSingleNode("//*[@selected]"))){k.removeAttribute("selected")}};this.selectLibrary=function(p){this.deselectActiveCollection();var n=this.element.getElementsByTagName("div");for(var l=0;l<n.length;l++){if(n[l].className=="kupu-libsource-selected"){n[l].className="kupu-libsource"}}var h='/libraries/library[@id="'+p+'"]';var m=this.xmldata.selectSingleNode(h);m.setAttribute("selected","1");var o="items";var k=m.selectSingleNode(o);if(k&&!this.shared.newimages){this.useCollection(m)}else{var j=m.selectSingleNode("src/text()").nodeValue;j=j.strip();this._loadXML(j,this._libraryContentCallback,null,false,m);this.shared.newimages=null}};this.flagSelectedLib=function(i){var h=document.getElementById(i);if(h){h.className="kupu-libsource-selected"}};this._libraryContentCallback=function(m,i,j){var h=j.selectSingleNode("items");var l=j.selectSingleNode("breadcrumbs");var k=m.selectSingleNode("//items");var n=m.selectSingleNode("//breadcrumbs");if(this.editor.getBrowserName()=="IE"){k=k.cloneNode(true);if(n){n=n.cloneNode(true)}}else{k=this.xmldata.importNode(k,true);if(n){n=this.xmldata.importNode(n,true)}}if(n){if(l){j.replaceChild(n,l)}else{j.appendChild(n)}}if(!h){j.appendChild(k)}else{j.replaceChild(k,h)}this.useCollection(j)};this.selectBreadcrumb=function(k){var h=k.href;if(/\$src\$$/.test(h)){var l=this.xmldata.selectSingleNode("//resource[@selected]/uri/text()");if(l){l=l.nodeValue.strip();h=h.replace(/\$src\$/,encodeURIComponent(l))}else{return false}}this.deselectActiveCollection();this.removeSelection();var j="/libraries/*[src/text()='"+h+"']";var m=this.xmldata.selectSingleNode(j);if(m){var i=m.selectSingleNode("items");if(i){m.setAttribute("selected","1");this.useCollection(m);return}}this._loadXML(h,this._collectionContentCallback,null);return false};this.useCollection=function(n){if(this.currentSelection){var m=n.selectNodes("//*[@checked]");for(var h=0;h<m.length;h++){m[h].removeAttribute("checked")}var l=this.currentSelection;for(var k=0;k<l.length;k++){var m=n.selectNodes("//*[@id='"+l[k]+"']");for(var h=0;h<m.length;h++){m[h].setAttribute("checked","1");if(!this.multiple){m[h].setAttribute("selected","1")}}}}n.setAttribute("selected","1");this.flagSelectedLib(n.getAttribute("id"));this.updateResources()};this.selectCollection=function(o,p){var i=o.id;p=p||"collection";this.deselectActiveCollection();this.removeSelection();var m="//"+p+"[@id='"+i+"']";var l=this.xmldata.selectSingleNode(m);var h=l.getAttribute("loadedInNode");if(h){var n="/libraries/*[@id='"+h+"']";var k=this.xmldata.selectSingleNode(n);if(k){this.useCollection(k);return}}var j=l.selectSingleNode("src/text()").nodeValue.strip();var n="/libraries/*[src/text()='"+j+"'][items]";var k=this.xmldata.selectSingleNode(n);if(k){i=k.getAttribute("id");l.setAttribute("loadedInNode",i);this.useCollection(k);return}l.setAttribute("selected","1");j=l.selectSingleNode("src/text()").nodeValue.strip();this._loadXML(j,this._collectionContentCallback,null)};this._collectionContentCallback=function(m,h){var j=new Date();var l=j.getTime();var k=this.xmldata.selectSingleNode("//*[@selected]");if(k){k.setAttribute("loadedInNode",l)}this.deselectActiveCollection();var n=m.selectSingleNode("/collection");n.setAttribute("id",l);n.setAttribute("selected","1");var i=this.xmldata.selectSingleNode("/libraries");if(this.editor.getBrowserName()=="IE"){n=n.cloneNode(true)}else{n=this.xmldata.importNode(n,true)}i.appendChild(n);this.useCollection(n)};this.reloadCurrent=function(){this.showupload="";var i=this.xmldata.selectSingleNode("//*[@selected]");if(i.tagName=="resource"){i.removeAttribute("selected");i=i.parentNode;i.setAttribute("selected","1")}var j=i.selectSingleNode("src");if(!j){return}var h=j.selectSingleNode("text()").nodeValue;h=h.strip();this._loadXML(h,this._libraryContentCallback,null,true,i)};this.removeSelection=function(){if(!this.xmldata){return}if(!this.multiple){var r=this.xmldata.selectNodes("//resource[@checked]");for(var n=0;n<r.length;n++){r[n].removeAttribute("checked")}}var l="//resource[@selected]";var o=this.xmldata.selectNodes(l);for(var n=0;n<o.length;n++){o[n].removeAttribute("selected");var k=o[n].getAttribute("id");var s=document.getElementById(k);if(s){var q=s.getElementsByTagName("span");for(var m=0;m<q.length;m++){var h=q[m].parentNode;h.className=h.className.replace(/(\s+|^)selected-item/,"")}}}this.showupload=""};this.selectUpload=function(){this.removeSelection();this.showupload="yes";this.updateResources()};this.selectItem=function(y,j){var l=y.id;var n='/libraries/*[@selected]//resource[@id="'+l+'"]';var h=this.xmldata.selectSingleNode(n+"/src");if(h){j=j||window.event;if(j){var t=j.target||j.srcElement}if(t.nodeName.toLowerCase()!="input"){this.selectCollection(y,"resource");return}}this.removeSelection();var s=this.xmldata.selectSingleNode(n);s.setAttribute("selected","1");var m=true;if(this.multiple){if(s.getAttribute("checked")){m=false;var o=this.currentSelection;for(var r=0;r<o.length;r++){if(o[r]==l){o.splice(r,1);break}}}else{this.currentSelection.push(l)}}else{this.currentSelection=[l]}if(m){s.setAttribute("checked","1")}else{s.removeAttribute("checked")}this.updateDisplay(this.propertiespanelid);var v=y.getElementsByTagName("span");if(v.length>0){v=v[0];var k=v.parentNode;k.className+=" selected-item";var u=k.getElementsByTagName("input");if(u){u[0].checked=m}}if(this.editor.getBrowserName()=="IE"){var q=document.getElementById(this.propertiespanelid);var w=q.clientHeight;if(w>q.scrollHeight){w=q.scrollHeight}if(w<260){w=260}document.getElementById(this.resourcespanelid).style.height=w+"px"}return};this.search=function(){this.removeSelection();var i=getFromSelector("kupu-searchbox-input").value;var h="SearchableText="+encodeURIComponent(i);var k=this.searchuri.split("?");var j=k[0];if(k[1]){h+="&"+k[1]}this._loadXML(j,this._searchCallback,h)};this._searchCallback=function(n){var m=n.selectSingleNode("/library");var i=m.selectNodes("items/*");if(!i.length){alert("No results found.");return}var j=new Date();var l=j.getTime();m.setAttribute("id",l);this.deselectActiveCollection();m.setAttribute("selected","1");if(this.editor.getBrowserName()=="IE"){m=m.cloneNode(true)}else{this.xmldata.importNode(m,true)}var h=this.xmldata.selectSingleNode("/libraries");h.appendChild(m);this.updateDisplay(this.drawerid);var k=getFromSelector(l);k.className="kupu-libsource-selected"};this.selectCurrent=function(){var j=this.selectedSrc;var h="src="+encodeURIComponent(j);var k=this.selecturi.split("?");var i=k[0];if(k[1]){h+="&"+k[1]}this._loadXML(i,this._selectedCallback,h)};this._selectedCallback=function(m){var k=m.selectSingleNode("/library");var n="kupu-current-selection";k.setAttribute("id",n);var l=k.selectNodes("//resource");this.currentSelection=[];for(var j=0;j<l.length;j++){this.currentSelection.push(l[j].getAttribute("id"))}this.deselectActiveCollection();k.setAttribute("selected","1");if(this.editor.getBrowserName()=="IE"){k=k.cloneNode(true)}else{k=this.xmldata.importNode(k,true)}var h=this.xmldata.selectSingleNode("/libraries");h.appendChild(k);this.useCollection(k);this.updateDisplay(this.librariespanelid);this.flagSelectedLib(n);this.updateDisplay(this.breadcrumbsid)};this.save=function(){throw"Not yet implemented"};this._transformXml=function(){var h=this.shared.xsltproc.transformToDocument(this.xmldata);return h};this._loadXML=function(k,q,n,i,l){function p(){if(j.readyState==4){if(j.status&&j.status!=200){var s="Error "+j.status+" loading "+(k||"XML");kupu_notbusy(m,true);alert(s);throw"Error loading XML"}var t=j.responseXML;if(!t||!t.documentElement){t=Sarissa.getDomDocument();t.loadXML(j.responseText)}q.apply(r,[t,k,l]);kupu_notbusy(m)}}var r=this;var m=this.editor;var j=new XMLHttpRequest();var h=n?"POST":"GET";n=n?n:null;kupu_busy(m);try{j.open(h,k,true);j.onreadystatechange=p;if(h=="POST"){j.setRequestHeader("content-type","application/x-www-form-urlencoded")}if(i){j.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT")}j.send(n)}catch(o){if(o&&o.name&&o.message){o=o.name+": "+o.message}kupu_notbusy(m,true);alert(o)}}}LibraryDrawer.prototype=new DrawerWithAnchors;LibraryDrawer.prototype.shared={};function ImageLibraryDrawer(f,c,b,d,g,a){this.drawertitle="Insert Image";this.drawertype="image";if(f){this.init(f,c,b,d,g,a)}this.createContent=function(){function l(s,u,r){var o=u.getElementsByTagName(r);for(var q=0;q<o.length;q++){if(s.containsNode(o[q])){return o[q]}}}var h=this.editor;var m=h.getSelection();var j=h.getSelectedNode();var i=h.getNearestParentOfType(j,"OBJECT")||h.getNearestParentOfType(j,"IMG")||l(m,j,"object")||l(m,j,"img");this.selectedSrc=i?(i.data||i.src||null):null;this.options={};if(i){h.getSelection().selectNodeContents(i);var k=i.className;var n=/\bimage-(left|right|inline)\b/.exec(k);if(n&&n.length>1){this.options["image-align"]=n[1]}this.options["image-caption"]=/\bcaptioned\b/.test(k);this.options["image-class"]=k.replace(/\b(image-(left|right|inline)|captioned)\b/g,"").strip()}ImageLibraryDrawer.prototype.createContent.call(this)};this.uploadImage=function(){var h=document.getElementById("kupu_upload_form");if(!h||(h.node_prop_image&&h.node_prop_image.value=="")){return}if(h.node_prop_title&&h.node_prop_title.value==""){alert("Please enter a title for the image you are uploading");return}this.upload_title=h.node_prop_title?h.node_prop_title.value:"";if(h.node_prop_desc){h.node_prop_desc.value=h.node_prop_desc.value.replace(/^\xa0|\xa0$/g,"")}h.submit()};this.cancelUpload=function(i){var h=this.xmldata.selectSingleNode("/libraries/*[@selected]");h.removeAttribute("selected");this.updateDisplay();if(i!=""){alert(i)}};this.finishUpload=function(m){this.editor.resumeEditing();var n=document.getElementsByName("image-size-selector");if(n&&n.length>0){n=n[0];var k=n.selectedIndex;if(n.length>0&&k>=0){m+=n.options[k].value}}var p=document.getElementsByName("image-align");var o="";for(var l=0;l<p.length;l++){if(p[l].checked){o=p[l].value}}var h=document.getElementsByName("image-caption");if(h&&h.length>0&&h[0].checked){o+=" captioned"}var j=document.getElementById("kupu-image-class");if(j&&j.selectedIndex>=0){o+=" "+j.options[j.selectedIndex].value}else{o+=" image-inline"}o=o.strip();this.tool.createImage(m,this.upload_title,o);this.shared.newimages=1;this.drawertool.closeDrawer()};this.save=function(){this.editor.resumeEditing();var s="//resource[@selected]";var k=this.xmldata.selectSingleNode(s);if(!k){var v=this.xmldata.selectSingleNode("/libraries/*[@selected]//uploadbutton");if(v){this.uploadImage()}return}var q=document.getElementsByName("image-size-selector");if(q&&q.length>0){q=q[0];var m=q.options[q.selectedIndex].value}else{var m=k.selectSingleNode("uri/text()").nodeValue}m=m.strip();var p=getFromSelector("image-alt");p=p?p.value:undefined;var r=document.getElementsByName("image-align");for(var o=0;o<r.length;o++){if(r[o].checked){var j=r[o].value}}var u=document.getElementsByName("image-caption");if(u&&u.length>0&&u[0].checked){j+=" captioned"}var n=document.getElementById("kupu-image-class");if(n&&n.selectedIndex>=0){j+=" "+n.options[n.selectedIndex].value}var l=document.getElementById("kupu-media").value;var h=document.getElementById("kupu-width").value;var t=document.getElementById("kupu-height").value;if(this.tool["create_"+l]){this.tool["create_"+l](m,p,j,h,t)}else{this.tool.createImage(m,p,j)}this.drawertool.closeDrawer()}}ImageLibraryDrawer.prototype=new LibraryDrawer;ImageLibraryDrawer.prototype.shared={};function LinkLibraryDrawer(f,c,b,d,g,a){this.drawertitle="Insert Link";this.drawertype="link";this.showanchors="yes";if(f){this.init(f,c,b,d,g,a)}this.createContent=function(){var h=this.editor.getSelectedNode();var i=this.editor.getNearestParentOfType(h,"A");this.selectedSrc=i?i.href:null;this.options={};if(i){this.options.link_name=i.name||"";this.options.link_target=i.target||""}LinkLibraryDrawer.prototype.createContent.call(this)};this.save=function(){this.editor.resumeEditing();var k="//resource[@selected]";var n=this.xmldata.selectSingleNode(k);if(!n){return}var j=n.selectSingleNode("uri/text()").nodeValue;j=j.strip()+this.getFragment();var m="";m=n.selectSingleNode("title/text()").nodeValue;m=m.strip();var h=getFromSelector("link_name").value;var i=getFromSelector("link_target");var l=i&&i.value;this.tool.createLink(j,null,h,l,m,"internal-link");this.drawertool.closeDrawer()}}LinkLibraryDrawer.prototype=new LibraryDrawer;LinkLibraryDrawer.prototype.shared={};function AnchorDrawer(a,b){Drawer.call(this,a,b);this.initialize=function(g,c){Drawer.prototype.initialize.apply(this,[g,c]);this.panel=getBaseTagClass(this.element,"div","kupu-panels");this.style1=getFromSelector("kupu-bm-sel1");this.style2=getFromSelector("kupu-bm-sel2");this.ostyle=getFromSelector("kupu-bm-outcls");this.nstyle=getFromSelector("kupu-bm-number");var f=getBaseTagClass(this.element,"ul","kupu-tabs").getElementsByTagName("a");this.paralist=getBaseTagClass(this.element,"div","kupu-bm-paras");this.checkall=getFromSelector("kupu-bm-checkall");for(var d=0;d<f.length;d++){addEventHandler(f[d],"click",this.switchMode,this)}addEventHandler(this.checkall,"click",this.checkAll,this);addEventHandler(this.style1,"change",this.fillList,this);addEventHandler(this.style2,"change",this.fillList,this);this.tool.fillStyleSelect(this.style1);this.tool.fillStyleSelect(this.style2);this.tool.fillStyleSelect(this.ostyle)};this.getMode=function(){if(/kupu-ins-bm/.test(this.panel.className)){return 0}if(/kupu-anchor/.test(this.panel.className)){return 1}return 2};this.checkAll=function(){var c=this.paralist.getElementsByTagName("input");var f=this.checkall.checked;for(var d=0;d<c.length;d++){var g=c[d];if(g.type=="checkbox"&&!g.disabled){c[d].checked=f}}};this.fillList=function(){var f=newElement;while(this.paralist.firstChild){this.paralist.removeChild(this.paralist.firstChild)}this.styleNames=["",""];var m=this.getMode();var t=["",""];for(var p=0;p<(m==2?2:1);p++){var d=this["style"+(p+1)];var l=d.selectedIndex;if(l>=0){t[p]=d.options[l].value;this.styleNames[p]=d.options[l].firstChild.data}}if(m==1){var g=this.tool.getAnchorsInUse()}var u=(this.nodelist=this.tool.grubParas(t[0],t[1]));for(var l=0;l<u.length;l++){var h=u[l][0];var q=Sarissa.getText(h,true).strip().truncate(60);if(!q){continue}var n=document.createTextNode(q);var k="";if(m==1){k=this.tool.getAnchor(h,true);if(k){k="#"+k}}var o;switch(m){case 0:o=l==0;break;case 1:o=!!k;break;case 2:o=this.checkall.checked;break}var j=f("input",{type:(m==0)?"radio":"checkbox",checked:o,title:"hello",name:"kupu-bm-paralist"});if(k&&g&&g[decodeURIComponent(k)]){j.disabled=true}var r=[j,f("span",[n])];if(k){r.push(f("a",{href:k,className:"kupu-anchor-link",onclick:"return false;",title:_("Right click to copy link")},[k]))}var c=f("div",{className:"kupu-bm-level"+u[l][1]},[f("label",r)]);this.paralist.appendChild(c)}};this.createContent=function(){this.fillList();this.element.style.display="block";this.focusElement()};this.save=function(){var m=this.getMode();var k=this.paralist.getElementsByTagName("input");var n=this.editor;n.resumeEditing();if(m==2){var h=n.newElement("ul")}var s=0,q=0;for(var l=0;l<k.length;l++){var p=this.nodelist[l];var g=p[0];var c=p[1];if(k[l].checked){var r=this.tool.getAnchor(g);var u=Sarissa.getText(g,true).strip().truncate(140);switch(m){case 0:this.tool.createLink("#"+r,null,null,null,u);break;case 1:break;case 2:var j;if(c==0){j=++s;q=0}else{j=s+"."+(++q)}var t=n.newElement("li",{className:"level"+c},[n.newElement("a",{href:"#"+r},[n.newText((this.nstyle.checked?j+" ":"")+u)])]);if(c==0){h.appendChild(t)}else{if(!h.lastChild||h.lastChild.nodeName.toLowerCase()!="ul"){h.appendChild(n.newElement("ul"))}h.lastChild.appendChild(t)}break}}else{if(m==1){this.tool.removeAnchor(g)}}}if(m==2&&h.firstChild){var f=this.ostyle.selectedIndex;if(f>0){var d=this.ostyle.options[f].value.split("|");if(d[0]=="ul"){h.className=d[1]}else{h=n.newElement(d[0],{className:d[1]},[h])}}var g=n.getSelection().parentElement();if(g.nodeName.toLowerCase()=="body"){g.insertBefore(h,g.firstChild)}else{while(g.parentNode.nodeName.toLowerCase()!="body"){g=g.parentNode}g.parentNode.insertBefore(h,g)}}this.nodelist=null;this.drawertool.closeDrawer()};this.hide=function(){this.nodelist=null;Drawer.prototype.hide.apply(this,[])}}AnchorDrawer.prototype=new Drawer;function HandleDrawerEnter(d,a){d=d||window.event;var c=d.which||d.keyCode;var b;if(c==13){if(a){b=document.getElementById(a);if(b&&!b.disabled){b.click()}}d.cancelBubble=true;if(d.stopPropogation){d.stopPropogation()}d.returnValue=false;return false}return true}function initPloneKupu(f){var ai="#"+f+" ";var o=getFromSelector(ai+"iframe.kupu-editor-iframe");if(o._kupuIsInitialized){return window.kupu}o._kupuIsInitialized=true;var j=getFromSelector(ai+"textarea.kupu-editor-textarea");var ae=j.form;var ao=j.value||(_SARISSA_IS_IE?"<p></p>":"<p><br></p>");var aq=new DummyLogger();var an=loadDictFromXML(document,ai+"xml.kupuconfig");var h=new KupuDocument(o);var V=(window.kupu=new KupuEditor(h,an,aq));V.setHTMLBody(ao);var ah=new KupuUI(ai+"select.kupu-tb-styles");window.kupuui=ah;V.registerTool("ui",ah);var a=function(i){return function(l,ax){ax.execCommand(i)}};var d=parentWithStyleChecker(["b","strong"],"font-weight","bold");var ag=new KupuStateButton(ai+"button.kupu-bold",a("bold"),d,"kupu-bold","kupu-bold-pressed");V.registerTool("boldbutton",ag);var ad=parentWithStyleChecker(["i","em"],"font-style","italic");var b=new KupuStateButton(ai+"button.kupu-italic",a("italic"),ad,"kupu-italic","kupu-italic-pressed");V.registerTool("italicsbutton",b);var u=parentWithStyleChecker(["sub"]);var G=new KupuStateButton(ai+"button.kupu-subscript",a("subscript"),u,"kupu-subscript","kupu-subscript-pressed");V.registerTool("subscriptbutton",G);var ar=parentWithStyleChecker(["super","sup"]);var n=new KupuStateButton(ai+"button.kupu-superscript",a("superscript"),ar,"kupu-superscript","kupu-superscript-pressed");V.registerTool("superscriptbutton",n);var L=new KupuButton(ai+"button.kupu-justifyleft",a("justifyleft"));V.registerTool("justifyleftbutton",L);var s=new KupuButton(ai+"button.kupu-justifycenter",a("justifycenter"));V.registerTool("justifycenterbutton",s);var ac=new KupuButton(ai+"button.kupu-justifyright",a("justifyright"));V.registerTool("justifyrightbutton",ac);var U=new KupuButton(ai+"button.kupu-outdent",a("outdent"));V.registerTool("outdentbutton",U);var ab=new KupuButton(ai+"button.kupu-indent",a("indent"));V.registerTool("indentbutton",ab);var aa=new KupuButton(ai+"button.kupu-undo",a("undo"));V.registerTool("undobutton",aa);var k=new KupuButton(ai+"button.kupu-redo",a("redo"));V.registerTool("redobutton",k);var m=new KupuRemoveElementButton(ai+"button.kupu-removeimage","img","kupu-removeimage");V.registerTool("removeimagebutton",m);var aj=new KupuRemoveElementButton(ai+"button.kupu-removelink","a","kupu-removelink");V.registerTool("removelinkbutton",aj);var M=new ColorchooserTool(ai+"button.kupu-forecolor",ai+"button.kupu-hilitecolor",ai+"table.kupu-colorchooser");V.registerTool("colorchooser",M);var ak=new ListTool(ai+"button.kupu-insertunorderedlist",ai+"button.kupu-insertorderedlist",ai+"select.kupu-ulstyles",ai+"select.kupu-olstyles");V.registerTool("listtool",ak);var N=new DefinitionListTool(ai+"button.kupu-insertdefinitionlist");V.registerTool("definitionlisttool",N);var al=new TableTool();V.registerTool("tabletool",al);var P=new AnchorTool();V.registerTool("anchortool",P);var aw=new ShowPathTool("kupu-showpath-field");V.registerTool("showpathtool",aw);var g=new SourceEditTool(ai+"button.kupu-source",ai+"textarea.kupu-editor-textarea");V.registerTool("sourceedittool",g);var J=noContextMenu(new ImageTool());V.registerTool("imagetool",J);var Z=noContextMenu(new LinkTool());V.registerTool("linktool",Z);var ap=new KupuZoomTool(ai+"button.kupu-zoom",ai+"select.kupu-tb-styles",ai+"button.kupu-logo");V.registerTool("zoomtool",ap);if(typeof KupuSpellChecker!="undefined"){var af=new KupuSpellChecker("kupu-spellchecker-button","kupu_library_tool/spellcheck");V.registerTool("spellchecker",af)}else{var I=getFromSelector(ai+"span.kupu-spellchecker-span");if(I){I.style.display="none"}}var R=window.onbeforeunload&&window.onbeforeunload.tool;if(R){var Y=V.getHTMLBody();R.addHandler(function(){for(var i=j;i;i=i.parentNode){if(i===document){return V.getHTMLBody()!=Y}}return false});R.chkId[j.id]=function(){return false};R.addForm(ae)}var c=j.name+"_text_format";var K=ae[c];if(K&&K.type=="select-one"){for(var at=0;at<K.length;at++){var E=K.options[at];E.selected=E.defaultSelected=(E.value=="text/html")}K.disabled=true;K.removeAttribute("name");var z=document.createElement("input");z.type="hidden";z.name=c;z.value="text/html";K.parentNode.appendChild(z)}var r=function(i){return function(l,ax){T.openDrawer(ai+i)}};var C=new KupuButton(ai+"button.kupu-image",r("imagelibdrawer"));V.registerTool("imagelibdrawerbutton",C);var q=new KupuButton(ai+"button.kupu-inthyperlink",r("linklibdrawer"));V.registerTool("linklibdrawerbutton",q);var y=new KupuButton(ai+"button.kupu-exthyperlink",r("linkdrawer"));V.registerTool("linkdrawerbutton",y);var O=new KupuButton(ai+"button.kupu-anchors",r("anchordrawer"));V.registerTool("anchorbutton",O);var p=new KupuButton(ai+"button.kupu-table",r("tabledrawer"));V.registerTool("tabledrawerbutton",p);var T=window.drawertool||new DrawerTool();window.drawertool=T;V.registerTool("drawertool",T);var au=ai+"div.kupu-librarydrawer-parent";var t=an.xsl_uri;var X=an.link_resource;var w=an.image_resource;var am=an.lib_prefix;var B=an.search_prefix;var F=an.select_prefix;var v=new LinkLibraryDrawer(Z,t,am+X,B+X,au,F+X);T.registerDrawer(ai+"linklibdrawer",v,V);var av=new ImageLibraryDrawer(J,t,am+w,B+w,au,F+w);T.registerDrawer(ai+"imagelibdrawer",av,V);var A=new LinkDrawer(ai+"div.kupu-linkdrawer",Z);T.registerDrawer(ai+"linkdrawer",A,V);var H=new AnchorDrawer(ai+"div.kupu-anchordrawer",P);T.registerDrawer(ai+"anchordrawer",H,V);var S=new TableDrawer(ai+"div.kupu-tabledrawer",al);T.registerDrawer(ai+"tabledrawer",S,V);function D(l){V.saveDataToField(this.form,this);var i=window.document.getElementById("kupu-librarydrawer");if(i){i.parentNode.removeChild(i)}}addEventHandler(j.form,"submit",D,j);function W(aA){aA=aA||window.event;if(aA.keyCode!=9){return}if(!(/kupu-fulleditor-zoomed/.test(document.body.className))){var az=j.form;var ax=az.elements;var aB;if(aA.shiftKey){for(var l=0;l<ax.length;l++){var ay=ax[l];if(!ay.disabled&&ay.offsetWidth&&ay.offsetHeight){aB=ay}if(ax[l]===j){break}}}else{for(var l=0;l<ax.length;l++){if(ax[l]===j){break}}for(;l<ax.length;l++){var ay=ax[l];if(!ay.disabled&&ay.offsetWidth&&ay.offsetHeight){aB=ay;break}}}if(aB){window.focus();aB.focus()}else{return}}if(aA.preventDefault){aA.preventDefault();aA.stopPropagation()}aA.returnValue=false;return false}var Q=V.getInnerDocument();V._addEventHandler(Q.documentElement,"keydown",W);V.initialize();return V}LinkDrawer.prototype.target="";LinkLibraryDrawer.prototype.target="";if(!window.console){window.console=new function(){this.log=function(){}}};
