changeset 480:1ef31d76eb88

updated to version of svg-edit Revision r1310
author Reimar Bauer <rb.proj AT googlemail DOT com>
date Sun, 31 Jan 2010 18:35:04 +0100
parents 167888214d95
children 6b4e6a08cae7
files htdocs/svg-edit/AUTHORS htdocs/svg-edit/build/yuicompressor.jar htdocs/svg-edit/docs/files/svgcanvas-js.html htdocs/svg-edit/docs/index.html htdocs/svg-edit/docs/index/Files.html htdocs/svg-edit/docs/index/Functions.html htdocs/svg-edit/docs/index/General.html htdocs/svg-edit/docs/javascript/main.js htdocs/svg-edit/docs/javascript/searchdata.js htdocs/svg-edit/docs/search/FilesS.html htdocs/svg-edit/docs/search/FunctionsA.html htdocs/svg-edit/docs/search/FunctionsC.html htdocs/svg-edit/docs/search/FunctionsD.html htdocs/svg-edit/docs/search/FunctionsG.html htdocs/svg-edit/docs/search/FunctionsM.html htdocs/svg-edit/docs/search/FunctionsO.html htdocs/svg-edit/docs/search/FunctionsR.html htdocs/svg-edit/docs/search/FunctionsS.html htdocs/svg-edit/docs/search/GeneralA.html htdocs/svg-edit/docs/search/GeneralC.html htdocs/svg-edit/docs/search/GeneralD.html htdocs/svg-edit/docs/search/GeneralF.html htdocs/svg-edit/docs/search/GeneralG.html htdocs/svg-edit/docs/search/GeneralL.html htdocs/svg-edit/docs/search/GeneralM.html htdocs/svg-edit/docs/search/GeneralO.html htdocs/svg-edit/docs/search/GeneralR.html htdocs/svg-edit/docs/search/GeneralS.html htdocs/svg-edit/docs/search/NoResults.html htdocs/svg-edit/docs/styles/main.css htdocs/svg-edit/editor/embedapi.js htdocs/svg-edit/editor/ext-connector.js htdocs/svg-edit/editor/images/README.txt htdocs/svg-edit/editor/images/align-bottom.png htdocs/svg-edit/editor/images/align-bottom.svg htdocs/svg-edit/editor/images/align-center.png htdocs/svg-edit/editor/images/align-center.svg htdocs/svg-edit/editor/images/align-left.png htdocs/svg-edit/editor/images/align-left.svg htdocs/svg-edit/editor/images/align-middle.png htdocs/svg-edit/editor/images/align-middle.svg htdocs/svg-edit/editor/images/align-right.png htdocs/svg-edit/editor/images/align-right.svg htdocs/svg-edit/editor/images/align-top.png htdocs/svg-edit/editor/images/align-top.svg htdocs/svg-edit/editor/images/bold.png htdocs/svg-edit/editor/images/cancel.png htdocs/svg-edit/editor/images/circle.png htdocs/svg-edit/editor/images/clear.png htdocs/svg-edit/editor/images/clone.png htdocs/svg-edit/editor/images/conn.svg htdocs/svg-edit/editor/images/copy.png htdocs/svg-edit/editor/images/cut.png htdocs/svg-edit/editor/images/delete.png htdocs/svg-edit/editor/images/document-properties.png htdocs/svg-edit/editor/images/dropdown.gif htdocs/svg-edit/editor/images/ellipse.png htdocs/svg-edit/editor/images/eye.png htdocs/svg-edit/editor/images/fhpath.png htdocs/svg-edit/editor/images/flyouth.png htdocs/svg-edit/editor/images/flyup.gif htdocs/svg-edit/editor/images/freehand-circle.png htdocs/svg-edit/editor/images/freehand-square.png htdocs/svg-edit/editor/images/go-down.png htdocs/svg-edit/editor/images/go-up.png htdocs/svg-edit/editor/images/image.png htdocs/svg-edit/editor/images/italic.png htdocs/svg-edit/editor/images/line.png htdocs/svg-edit/editor/images/link_controls.png htdocs/svg-edit/editor/images/logo.png htdocs/svg-edit/editor/images/logo.svg htdocs/svg-edit/editor/images/move_bottom.png htdocs/svg-edit/editor/images/move_top.png htdocs/svg-edit/editor/images/none.png htdocs/svg-edit/editor/images/open.png htdocs/svg-edit/editor/images/paste.png htdocs/svg-edit/editor/images/path.png htdocs/svg-edit/editor/images/polygon.png htdocs/svg-edit/editor/images/polygon.svg htdocs/svg-edit/editor/images/rect.png htdocs/svg-edit/editor/images/redo.png htdocs/svg-edit/editor/images/reorient.png htdocs/svg-edit/editor/images/rotate.png htdocs/svg-edit/editor/images/save.png htdocs/svg-edit/editor/images/select.png htdocs/svg-edit/editor/images/select_node.png htdocs/svg-edit/editor/images/sep.png htdocs/svg-edit/editor/images/shape_group.png htdocs/svg-edit/editor/images/shape_ungroup.png htdocs/svg-edit/editor/images/source.png htdocs/svg-edit/editor/images/spinbtn_updn_big.png htdocs/svg-edit/editor/images/square.png htdocs/svg-edit/editor/images/svg_edit_icons.svg htdocs/svg-edit/editor/images/svg_edit_icons.svgz htdocs/svg-edit/editor/images/text.png htdocs/svg-edit/editor/images/text.svg htdocs/svg-edit/editor/images/to_path.png htdocs/svg-edit/editor/images/undo.png htdocs/svg-edit/editor/images/view-refresh.png htdocs/svg-edit/editor/images/wave.png htdocs/svg-edit/editor/images/wireframe.png htdocs/svg-edit/editor/images/zoom.png htdocs/svg-edit/editor/jgraduate/LICENSE htdocs/svg-edit/editor/jgraduate/README htdocs/svg-edit/editor/jgraduate/css/jGraduate-0.2.0.css htdocs/svg-edit/editor/jgraduate/css/jPicker-1.0.12.css htdocs/svg-edit/editor/jgraduate/css/jPicker-1.0.9.css htdocs/svg-edit/editor/jgraduate/images/AlphaBar.png htdocs/svg-edit/editor/jgraduate/images/Bars.png htdocs/svg-edit/editor/jgraduate/images/Maps.png htdocs/svg-edit/editor/jgraduate/images/NoColor.png htdocs/svg-edit/editor/jgraduate/images/bar-opacity.png htdocs/svg-edit/editor/jgraduate/images/map-opacity.png htdocs/svg-edit/editor/jgraduate/images/mappoint.gif htdocs/svg-edit/editor/jgraduate/images/picker.gif htdocs/svg-edit/editor/jgraduate/images/preview-opacity.png htdocs/svg-edit/editor/jgraduate/images/rangearrows.gif htdocs/svg-edit/editor/jgraduate/images/rangearrows2.gif htdocs/svg-edit/editor/jgraduate/jpicker-1.0.12.min.js htdocs/svg-edit/editor/jgraduate/jpicker-1.0.9.min.js htdocs/svg-edit/editor/jgraduate/jquery.jgraduate.js htdocs/svg-edit/editor/jgraduate/jquery.jgraduate.min.js htdocs/svg-edit/editor/jpicker/css/jPicker-1.0.9.css htdocs/svg-edit/editor/jpicker/images/Bars.png htdocs/svg-edit/editor/jpicker/images/Maps.png htdocs/svg-edit/editor/jpicker/images/bar-opacity.png htdocs/svg-edit/editor/jpicker/images/map-opacity.png htdocs/svg-edit/editor/jpicker/images/mappoint.gif htdocs/svg-edit/editor/jpicker/images/picker.gif htdocs/svg-edit/editor/jpicker/images/preview-opacity.png htdocs/svg-edit/editor/jpicker/images/rangearrows.gif htdocs/svg-edit/editor/jpicker/images/rangearrows2.gif htdocs/svg-edit/editor/jpicker/jpicker-1.0.9.js htdocs/svg-edit/editor/jpicker/jpicker-1.0.9.min.js htdocs/svg-edit/editor/jquery-ui/jquery-ui-1.7.2.custom.min.js htdocs/svg-edit/editor/jquery.js htdocs/svg-edit/editor/js-hotkeys/README.md htdocs/svg-edit/editor/js-hotkeys/jquery.hotkeys.min.js htdocs/svg-edit/editor/locale/README.txt htdocs/svg-edit/editor/locale/lang.af.js htdocs/svg-edit/editor/locale/lang.ar.js htdocs/svg-edit/editor/locale/lang.az.js htdocs/svg-edit/editor/locale/lang.be.js htdocs/svg-edit/editor/locale/lang.bg.js htdocs/svg-edit/editor/locale/lang.ca.js htdocs/svg-edit/editor/locale/lang.cs.js htdocs/svg-edit/editor/locale/lang.cy.js htdocs/svg-edit/editor/locale/lang.da.js htdocs/svg-edit/editor/locale/lang.de.js htdocs/svg-edit/editor/locale/lang.el.js htdocs/svg-edit/editor/locale/lang.en.js htdocs/svg-edit/editor/locale/lang.es.js htdocs/svg-edit/editor/locale/lang.et.js htdocs/svg-edit/editor/locale/lang.fa.js htdocs/svg-edit/editor/locale/lang.fi.js htdocs/svg-edit/editor/locale/lang.fr.js htdocs/svg-edit/editor/locale/lang.fy.js htdocs/svg-edit/editor/locale/lang.ga.js htdocs/svg-edit/editor/locale/lang.gl.js htdocs/svg-edit/editor/locale/lang.he.js htdocs/svg-edit/editor/locale/lang.hi.js htdocs/svg-edit/editor/locale/lang.hr.js htdocs/svg-edit/editor/locale/lang.hu.js htdocs/svg-edit/editor/locale/lang.hy.js htdocs/svg-edit/editor/locale/lang.id.js htdocs/svg-edit/editor/locale/lang.is.js htdocs/svg-edit/editor/locale/lang.it.js htdocs/svg-edit/editor/locale/lang.iw.js htdocs/svg-edit/editor/locale/lang.ja.js htdocs/svg-edit/editor/locale/lang.ko.js htdocs/svg-edit/editor/locale/lang.lt.js htdocs/svg-edit/editor/locale/lang.lv.js htdocs/svg-edit/editor/locale/lang.mk.js htdocs/svg-edit/editor/locale/lang.ms.js htdocs/svg-edit/editor/locale/lang.mt.js htdocs/svg-edit/editor/locale/lang.nl.js htdocs/svg-edit/editor/locale/lang.no.js htdocs/svg-edit/editor/locale/lang.pl.js htdocs/svg-edit/editor/locale/lang.pt-PT.js htdocs/svg-edit/editor/locale/lang.ro.js htdocs/svg-edit/editor/locale/lang.ru.js htdocs/svg-edit/editor/locale/lang.sk.js htdocs/svg-edit/editor/locale/lang.sl.js htdocs/svg-edit/editor/locale/lang.sq.js htdocs/svg-edit/editor/locale/lang.sr.js htdocs/svg-edit/editor/locale/lang.sv.js htdocs/svg-edit/editor/locale/lang.sw.js htdocs/svg-edit/editor/locale/lang.th.js htdocs/svg-edit/editor/locale/lang.tl.js htdocs/svg-edit/editor/locale/lang.tr.js htdocs/svg-edit/editor/locale/lang.uk.js htdocs/svg-edit/editor/locale/lang.vi.js htdocs/svg-edit/editor/locale/lang.yi.js htdocs/svg-edit/editor/locale/lang.zh-CN.js htdocs/svg-edit/editor/locale/lang.zh-TW.js htdocs/svg-edit/editor/locale/lang.zh.js htdocs/svg-edit/editor/locale/locale.js htdocs/svg-edit/editor/spinbtn/JQuerySpinBtn.css htdocs/svg-edit/editor/spinbtn/JQuerySpinBtn.js htdocs/svg-edit/editor/spinbtn/JQuerySpinBtn.min.js htdocs/svg-edit/editor/spinbtn/spinbtn_updn.png htdocs/svg-edit/editor/svg-editor-svgicons.html htdocs/svg-edit/editor/svg-editor.css htdocs/svg-edit/editor/svg-editor.html htdocs/svg-edit/editor/svg-editor.js htdocs/svg-edit/editor/svg-editor.manifest htdocs/svg-edit/editor/svgcanvas.js htdocs/svg-edit/editor/svgicons/jquery.svgicons.js htdocs/svg-edit/extras/server-save/README htdocs/svg-edit/extras/server-save/svg-editor-save.js htdocs/svg-edit/extras/server-save/svg-editor-save.php htdocs/svg-edit/extras/update-langs.py htdocs/svg-edit/firefox-extension/Makefile htdocs/svg-edit/firefox-extension/build.sh htdocs/svg-edit/firefox-extension/chrome.manifest htdocs/svg-edit/firefox-extension/content/SVG-edit-overlay.js htdocs/svg-edit/firefox-extension/content/SVG-edit-overlay.xul htdocs/svg-edit/firefox-extension/content/svg-edit-overlay.css htdocs/svg-edit/firefox-extension/content/svg-edit-overlay.js htdocs/svg-edit/firefox-extension/content/svg-edit-overlay.xul htdocs/svg-edit/firefox-extension/handlers.js htdocs/svg-edit/firefox-extension/install.rdf htdocs/svg-edit/firefox-extension/mk_xpi.sh htdocs/svg-edit/opera-widget/Makefile htdocs/svg-edit/opera-widget/config.xml htdocs/svg-edit/opera-widget/handlers.js htdocs/svg-edit/opera-widget/index.html htdocs/svg-edit/opera-widget/style.css htdocs/svg-edit/test/qunit/qunit.css htdocs/svg-edit/test/qunit/qunit.js htdocs/svg-edit/test/test1.html htdocs/svg-edit/wave/json2.js htdocs/svg-edit/wave/manifest.xml htdocs/svg-edit/wave/svg-edit.xml htdocs/svg-edit/wave/wave.js
diffstat 235 files changed, 2320 insertions(+), 31120 deletions(-) [+]
line wrap: on
line diff
--- a/htdocs/svg-edit/AUTHORS	Sat Jan 23 21:56:24 2010 +0100
+++ b/htdocs/svg-edit/AUTHORS	Sun Jan 31 18:35:04 2010 +0100
@@ -6,10 +6,15 @@
 
 Translation credits:
 
+ar: Tarik Belaam <dubraise@gmail.com> (العربية)
 cs: Jan Ptacek <jan.ptacek@gmail.com> (Čeština)
 de: Reimar Bauer <rb.proj@googlemail.com> (Deutsch)
 es: Alicia Puerto <alicia.puerto.g@gmail.com> (Español)
+fa: Payman Delshad <payman@opera.com> (فارسی)
 fr: wormsxulla <wormsxulla@yahoo.com> (Français)
+fy: Wander Nauta <info@wandernauta.nl> (Frysk)
+hi: Tavish Naruka <tavishnaruka@gmail.com> (हिन्दी)
 nl: Jaap Blom <jaap.blom@gmail.com> (Nederlands)
-ro: Christian.Tzurcanu <christian.tzurcanu@gmail.com> (Româneşte)
-sk: Pavol Rusnak <rusnakp@gmail.com> (Slovenčina)
+ro: Christian Tzurcanu <christian.tzurcanu@gmail.com> (Româneşte)
+ru: Laurent Dufloux <laurent.dufloux@etu.upmc.fr> (Русский язык)
+sk: Pavol Rusnak <rusnakp@gmail.com> (Slovenčina)
\ No newline at end of file
Binary file htdocs/svg-edit/build/yuicompressor.jar has changed
--- a/htdocs/svg-edit/docs/files/svgcanvas-js.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><title>/Users/jschill1/Documents/svg-edit/editor/svgcanvas.js</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="svgcanvas.js"></a>svgcanvas.js</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#svgcanvas.js" >svgcanvas.js</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Selection" >Selection</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#clearSelection" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">clearSelection</a></td><td class=SDescription>Clears the selection. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#addToSelection" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">addToSelection</a></td><td class=SDescription>Adds a list of elements to the selection. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#removeFromSelection" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">removeFromSelection</a></td><td class=SDescription>Removes elements from the selection.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Serialization" >Serialization</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#open" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">open</a></td><td class=SDescription>Calls the &lsquo;opened&rsquo; handler and sends the SVG XML text. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#save" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">save</a></td><td class=SDescription>Serializes the current drawing into SVG XML text and returns it to the &lsquo;saved&rsquo; handler. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#getSvgString" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">getSvgString</a></td><td class=SDescription>Returns the current drawing as raw SVG XML text.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#setSvgString" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">setSvgString</a></td><td class=SDescription>This function sets the current drawing as the input SVG XML.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Layers" >Layers</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#createLayer" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">createLayer</a></td><td class=SDescription>Creates a new top-level layer in the drawing with the given name, sets the current layer to it, and then clears the selection  This function then calls the &lsquo;changed&rsquo; handler. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#deleteCurrentLayer" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">deleteCurrentLayer</a></td><td class=SDescription>Deletes the current layer from the drawing and then clears the selection. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#getNumLayers" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">getNumLayers</a></td><td class=SDescription>Returns the number of layers in the current drawing.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#getLayer" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">getLayer</a></td><td class=SDescription>Returns the name of the ith layer. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#getCurrentLayer" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">getCurrentLayer</a></td><td class=SDescription>Returns the name of the currently selected layer. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#setCurrentLayer" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">setCurrentLayer</a></td><td class=SDescription>Sets the current layer. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#renameCurrentLayer" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">renameCurrentLayer</a></td><td class=SDescription>Renames the current layer. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#setCurrentLayerPosition" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">setCurrentLayerPosition</a></td><td class=SDescription>Changes the position of the current layer to the new value. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#getLayerVisibility" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">getLayerVisibility</a></td><td class=SDescription>Returns whether the layer is visible. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#setLayerVisibility" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">setLayerVisibility</a></td><td class=SDescription>Sets the visibility of the layer. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#moveSelectedToLayer" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">moveSelectedToLayer</a></td><td class=SDescription>Moves the selected elements to layername. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#getLayerOpacity" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">getLayerOpacity</a></td><td class=SDescription>Returns the opacity of the given layer. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#setLayerOpacity" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">setLayerOpacity</a></td><td class=SDescription>Sets the opacity of the given layer. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#clear" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">clear</a></td><td class=SDescription>Clears the current document. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Fill_and_Stroke" >Fill and Stroke</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Selection"></a>Selection</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="clearSelection"></a>clearSelection</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clearSelection = function()</td></tr></table></blockquote><p>Clears the selection.&nbsp;  The &lsquo;selected&rsquo; handler is then called.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="addToSelection"></a>addToSelection</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.addToSelection = function(</td><td class=PParameter nowrap>elemsToAdd,</td></tr><tr><td></td><td class=PParameter nowrap>showGrips</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a list of elements to the selection.&nbsp;  The &lsquo;selected&rsquo; handler is then called.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>elemsToAdd</td><td class=CDLDescription>an array of DOM elements to add to the selection</td></tr><tr><td class=CDLEntry>showGrips</td><td class=CDLDescription>a boolean flag indicating whether the resize grips should be shown</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="removeFromSelection"></a>removeFromSelection</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.removeFromSelection = function(</td><td class=PParameter nowrap>elemsToRemove</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes elements from the selection.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>elemsToRemove</td><td class=CDLDescription>an array of elements to remove from selection</td></tr></table></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Serialization"></a>Serialization</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="open"></a>open</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.open = function(</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Calls the &lsquo;opened&rsquo; handler and sends the SVG XML text.&nbsp;  Clients of the SvgCanvas bind their load function (typically calls to setSvgString() to the &lsquo;opened&rsquo; event.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="save"></a>save</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.save = function()</td></tr></table></blockquote><p>Serializes the current drawing into SVG XML text and returns it to the &lsquo;saved&rsquo; handler.&nbsp; This function also includes the XML prolog.&nbsp;  Clients of the SvgCanvas bind their save function to the &lsquo;saved&rsquo; event.</p><h4 class=CHeading>Returns</h4><p>Nothing</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="getSvgString"></a>getSvgString</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getSvgString = function()</td></tr></table></blockquote><p>Returns the current drawing as raw SVG XML text.</p><h4 class=CHeading>Returns</h4><p>The current drawing as raw SVG XML text.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="setSvgString"></a>setSvgString</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setSvgString = function(</td><td class=PParameter nowrap>xmlString</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>This function sets the current drawing as the input SVG XML.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>xmlString</td><td class=CDLDescription>The SVG as XML text.</td></tr></table><h4 class=CHeading>Returns</h4><p>This function returns false if the set was unsuccessful, true otherwise.</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Layers"></a>Layers</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="createLayer"></a>createLayer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.createLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a new top-level layer in the drawing with the given name, sets the current layer to it, and then clears the selection  This function then calls the &lsquo;changed&rsquo; handler.&nbsp; This is an undoable action.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>name</td><td class=CDLDescription>The given name</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="deleteCurrentLayer"></a>deleteCurrentLayer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.deleteCurrentLayer = function()</td></tr></table></blockquote><p>Deletes the current layer from the drawing and then clears the selection.&nbsp; This function then calls the &lsquo;changed&rsquo; handler.&nbsp;  This is an undoable action.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="getNumLayers"></a>getNumLayers</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getNumLayers = function()</td></tr></table></blockquote><p>Returns the number of layers in the current drawing.</p><h4 class=CHeading>Returns</h4><p>The number of layers in the current drawing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="getLayer"></a>getLayer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayer = function(</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the name of the ith layer.&nbsp; If the index is out of range, an empty string is returned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>i</td><td class=CDLDescription>the zero-based index of the layer you are querying.</td></tr></table><h4 class=CHeading>Returns</h4><p>The name of the ith layer</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="getCurrentLayer"></a>getCurrentLayer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getCurrentLayer = function()</td></tr></table></blockquote><p>Returns the name of the currently selected layer.&nbsp; If an error occurs, an empty string is returned.</p><h4 class=CHeading>Returns</h4><p>The name of the currently active layer.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="setCurrentLayer"></a>setCurrentLayer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the current layer.&nbsp; If the name is not a valid layer name, then this function returns false.&nbsp; Otherwise it returns true.&nbsp; This is not an undo-able action.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>name</td><td class=CDLDescription>the name of the layer you want to switch to.</td></tr></table><h4 class=CHeading>Returns</h4><p>true if the current layer was switched, otherwise false</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="renameCurrentLayer"></a>renameCurrentLayer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.renameCurrentLayer = function(</td><td class=PParameter nowrap>newname</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Renames the current layer.&nbsp; If the layer name is not valid (i.e. unique), then this function does nothing and returns false, otherwise it returns true.&nbsp; This is an undo-able action.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>newname</td><td class=CDLDescription>the new name you want to give the current layer.&nbsp;  This name must be unique among all layer names.</td></tr></table><h4 class=CHeading>Returns</h4><p>true if the rename succeeded, false otherwise.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="setCurrentLayerPosition"></a>setCurrentLayerPosition</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayerPosition = function(</td><td class=PParameter nowrap>newpos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the position of the current layer to the new value.&nbsp; If the new index is not valid, this function does nothing and returns false, otherwise it returns true.&nbsp; This is an undo-able action.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>newpos</td><td class=CDLDescription>The zero-based index of the new position of the layer.&nbsp;  This should be between</td></tr><tr><td class=CDLEntry>0 and (number of layers</td><td class=CDLDescription>1)</td></tr></table><h4 class=CHeading>Returns</h4><p>true if the current layer position was changed, false otherwise.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="getLayerVisibility"></a>getLayerVisibility</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerVisibility = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns whether the layer is visible.&nbsp;  If the layer name is not valid, then this function returns false.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>layername</td><td class=CDLDescription>the name of the layer which you want to query.</td></tr></table><h4 class=CHeading>Returns</h4><p>The visibility state of the layer, or false if the layer name was invalid.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="setLayerVisibility"></a>setLayerVisibility</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerVisibility = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>bVisible</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the visibility of the layer.&nbsp; If the layer name is not valid, this function return false, otherwise it returns true.&nbsp; This is an undo-able action.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>layername</td><td class=CDLDescription>the name of the layer to change the visibility</td></tr><tr><td class=CDLEntry>bVisible</td><td class=CDLDescription>true/false, whether the layer should be visible</td></tr></table><h4 class=CHeading>Returns</h4><p>true if the layer&rsquo;s visibility was set, false otherwise</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="moveSelectedToLayer"></a>moveSelectedToLayer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.moveSelectedToLayer = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Moves the selected elements to layername.&nbsp; If the name is not a valid layer name, then false is returned.&nbsp;  Otherwise it returns true.&nbsp; This is an undo-able action.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>layername</td><td class=CDLDescription>the name of the layer you want to which you want to move the selected elements</td></tr></table><h4 class=CHeading>Returns</h4><p>true if the selected elements were moved to the layer, false otherwise.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="getLayerOpacity"></a>getLayerOpacity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerOpacity = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the opacity of the given layer.&nbsp;  If the input name is not a layer, null is returned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>layername</td><td class=CDLDescription>name of the layer on which to get the opacity</td></tr></table><h4 class=CHeading>Returns</h4><p>The opacity value of the given layer.&nbsp;  This will be a value between 0.0 and 1.0, or null if layername is not a valid layer</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="setLayerOpacity"></a>setLayerOpacity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerOpacity = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>opacity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the opacity of the given layer.&nbsp;  If the input name is not a layer, nothing happens.&nbsp; This is not an undo-able action.&nbsp;  NOTE: this function exists solely to apply a highlighting/de-emphasis effect to a layer, when it is possible for a user to affect the opacity of a layer, we will need to allow this function to produce an undo-able action.&nbsp; If opacity is not a value between 0.0 and 1.0, then nothing happens.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>layername</td><td class=CDLDescription>name of the layer on which to set the opacity</td></tr><tr><td class=CDLEntry>opacity</td><td class=CDLDescription>a float value in the range 0.0-1.0</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="clear"></a>clear</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clear = function()</td></tr></table></blockquote><p>Clears the current document.&nbsp;  This is not an undoable action.</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Fill_and_Stroke"></a>Fill and Stroke</h3></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile id=MSelected>svgcanvas.js</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Files">Files</option><option value="Functions">Functions</option></select></div></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clearSelection = function()</td></tr></table></blockquote>Clears the selection. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.addToSelection = function(</td><td class=PParameter nowrap>elemsToAdd,</td></tr><tr><td></td><td class=PParameter nowrap>showGrips</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a list of elements to the selection. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.removeFromSelection = function(</td><td class=PParameter nowrap>elemsToRemove</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Removes elements from the selection.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.open = function(</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls the &lsquo;opened&rsquo; handler and sends the SVG XML text. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.save = function()</td></tr></table></blockquote>Serializes the current drawing into SVG XML text and returns it to the &lsquo;saved&rsquo; handler. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getSvgString = function()</td></tr></table></blockquote>Returns the current drawing as raw SVG XML text.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setSvgString = function(</td><td class=PParameter nowrap>xmlString</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function sets the current drawing as the input SVG XML.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.createLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new top-level layer in the drawing with the given name, sets the current layer to it, and then clears the selection  This function then calls the &lsquo;changed&rsquo; handler. </div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.deleteCurrentLayer = function()</td></tr></table></blockquote>Deletes the current layer from the drawing and then clears the selection. </div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getNumLayers = function()</td></tr></table></blockquote>Returns the number of layers in the current drawing.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayer = function(</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the name of the ith layer. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getCurrentLayer = function()</td></tr></table></blockquote>Returns the name of the currently selected layer. </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the current layer. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.renameCurrentLayer = function(</td><td class=PParameter nowrap>newname</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Renames the current layer. </div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayerPosition = function(</td><td class=PParameter nowrap>newpos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the position of the current layer to the new value. </div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerVisibility = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns whether the layer is visible. </div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerVisibility = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>bVisible</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the visibility of the layer. </div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.moveSelectedToLayer = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Moves the selected elements to layername. </div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerOpacity = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the opacity of the given layer. </div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerOpacity = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>opacity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the opacity of the given layer. </div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clear = function()</td></tr></table></blockquote>Clears the current document. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/index.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-<html><head><meta http-equiv="Refresh" CONTENT="0; URL=files/svgcanvas-js.html"></head></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/index/Files.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><title>File Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>File Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; G &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; <a href="#S">S</a> &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#svgcanvas.js"  class=ISymbol>svgcanvas.js</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/svgcanvas-js.html">svgcanvas.js</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Files</div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Files">Files</option><option value="Functions">Functions</option></select></div></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/index/Functions.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="#A">A</a> &middot; B &middot; <a href="#C">C</a> &middot; <a href="#D">D</a> &middot; E &middot; F &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; L &middot; <a href="#M">M</a> &middot; N &middot; <a href="#O">O</a> &middot; P &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="A"></a>A</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#addToSelection" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>addToSelection</a></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#clear" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>clear</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#clearSelection" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>clearSelection</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#createLayer" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>createLayer</a></td></tr><tr><td class=IHeading><a name="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#deleteCurrentLayer" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>deleteCurrentLayer</a></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getCurrentLayer" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>getCurrentLayer</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getLayer" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>getLayer</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getLayerOpacity" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>getLayerOpacity</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getLayerVisibility" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>getLayerVisibility</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getNumLayers" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>getNumLayers</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getSvgString" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>getSvgString</a></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#moveSelectedToLayer" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>moveSelectedToLayer</a></td></tr><tr><td class=IHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#open" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>open</a></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#removeFromSelection" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>removeFromSelection</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#renameCurrentLayer" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>renameCurrentLayer</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#save" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>save</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayer" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>setCurrentLayer</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayerPosition" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>setCurrentLayerPosition</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setLayerOpacity" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>setLayerOpacity</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setLayerVisibility" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>setLayerVisibility</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setSvgString" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>setSvgString</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.addToSelection = function(</td><td class=PParameter nowrap>elemsToAdd,</td></tr><tr><td></td><td class=PParameter nowrap>showGrips</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a list of elements to the selection. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clear = function()</td></tr></table></blockquote>Clears the current document. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clearSelection = function()</td></tr></table></blockquote>Clears the selection. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.createLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new top-level layer in the drawing with the given name, sets the current layer to it, and then clears the selection  This function then calls the &lsquo;changed&rsquo; handler. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.deleteCurrentLayer = function()</td></tr></table></blockquote>Deletes the current layer from the drawing and then clears the selection. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getCurrentLayer = function()</td></tr></table></blockquote>Returns the name of the currently selected layer. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayer = function(</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the name of the ith layer. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerOpacity = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the opacity of the given layer. </div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerVisibility = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns whether the layer is visible. </div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getNumLayers = function()</td></tr></table></blockquote>Returns the number of layers in the current drawing.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getSvgString = function()</td></tr></table></blockquote>Returns the current drawing as raw SVG XML text.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.moveSelectedToLayer = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Moves the selected elements to layername. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.open = function(</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls the &lsquo;opened&rsquo; handler and sends the SVG XML text. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.removeFromSelection = function(</td><td class=PParameter nowrap>elemsToRemove</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Removes elements from the selection.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.renameCurrentLayer = function(</td><td class=PParameter nowrap>newname</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Renames the current layer. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.save = function()</td></tr></table></blockquote>Serializes the current drawing into SVG XML text and returns it to the &lsquo;saved&rsquo; handler. </div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the current layer. </div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayerPosition = function(</td><td class=PParameter nowrap>newpos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the position of the current layer to the new value. </div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerOpacity = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>opacity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the opacity of the given layer. </div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerVisibility = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>bVisible</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the visibility of the layer. </div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setSvgString = function(</td><td class=PParameter nowrap>xmlString</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function sets the current drawing as the input SVG XML.</div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/svgcanvas-js.html">svgcanvas.js</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Files">Files</option><option value="Functions">Functions</option></select></div></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/index/General.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; <a href="#A">A</a> &middot; B &middot; <a href="#C">C</a> &middot; <a href="#D">D</a> &middot; E &middot; <a href="#F">F</a> &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; <a href="#L">L</a> &middot; <a href="#M">M</a> &middot; N &middot; <a href="#O">O</a> &middot; P &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="A"></a>A</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#addToSelection" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>addToSelection</a></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#clear" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>clear</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#clearSelection" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>clearSelection</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#createLayer" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>createLayer</a></td></tr><tr><td class=IHeading><a name="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#deleteCurrentLayer" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>deleteCurrentLayer</a></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#Fill_and_Stroke"  class=ISymbol>Fill and Stroke</a></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getCurrentLayer" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>getCurrentLayer</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getLayer" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>getLayer</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getLayerOpacity" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>getLayerOpacity</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getLayerVisibility" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>getLayerVisibility</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getNumLayers" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>getNumLayers</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#getSvgString" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>getSvgString</a></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#Layers"  class=ISymbol>Layers</a></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#moveSelectedToLayer" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>moveSelectedToLayer</a></td></tr><tr><td class=IHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#open" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>open</a></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#removeFromSelection" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>removeFromSelection</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#renameCurrentLayer" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>renameCurrentLayer</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#save" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>save</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#Selection"  class=ISymbol>Selection</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#Serialization"  class=ISymbol>Serialization</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayer" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>setCurrentLayer</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayerPosition" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>setCurrentLayerPosition</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setLayerOpacity" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>setLayerOpacity</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setLayerVisibility" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>setLayerVisibility</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#setSvgString" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>setSvgString</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/svgcanvas-js.html#svgcanvas.js"  class=ISymbol>svgcanvas.js</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.addToSelection = function(</td><td class=PParameter nowrap>elemsToAdd,</td></tr><tr><td></td><td class=PParameter nowrap>showGrips</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a list of elements to the selection. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clear = function()</td></tr></table></blockquote>Clears the current document. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.clearSelection = function()</td></tr></table></blockquote>Clears the selection. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.createLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new top-level layer in the drawing with the given name, sets the current layer to it, and then clears the selection  This function then calls the &lsquo;changed&rsquo; handler. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.deleteCurrentLayer = function()</td></tr></table></blockquote>Deletes the current layer from the drawing and then clears the selection. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getCurrentLayer = function()</td></tr></table></blockquote>Returns the name of the currently selected layer. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayer = function(</td><td class=PParameter nowrap>i</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the name of the ith layer. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerOpacity = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the opacity of the given layer. </div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.getLayerVisibility = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns whether the layer is visible. </div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getNumLayers = function()</td></tr></table></blockquote>Returns the number of layers in the current drawing.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.getSvgString = function()</td></tr></table></blockquote>Returns the current drawing as raw SVG XML text.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.moveSelectedToLayer = function(</td><td class=PParameter nowrap>layername</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Moves the selected elements to layername. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.open = function(</td><td class=PParameter nowrap>str</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls the &lsquo;opened&rsquo; handler and sends the SVG XML text. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.removeFromSelection = function(</td><td class=PParameter nowrap>elemsToRemove</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Removes elements from the selection.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.renameCurrentLayer = function(</td><td class=PParameter nowrap>newname</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Renames the current layer. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>this.save = function()</td></tr></table></blockquote>Serializes the current drawing into SVG XML text and returns it to the &lsquo;saved&rsquo; handler. </div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayer = function(</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the current layer. </div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setCurrentLayerPosition = function(</td><td class=PParameter nowrap>newpos</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the position of the current layer to the new value. </div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerOpacity = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>opacity</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the opacity of the given layer. </div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setLayerVisibility = function(</td><td class=PParameter nowrap>layername,</td></tr><tr><td></td><td class=PParameter nowrap>bVisible</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the visibility of the layer. </div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>this.setSvgString = function(</td><td class=PParameter nowrap>xmlString</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function sets the current drawing as the input SVG XML.</div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/svgcanvas-js.html">svgcanvas.js</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Files">Files</option><option value="Functions">Functions</option></select></div></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/javascript/main.js	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,836 +0,0 @@
-// This file is part of Natural Docs, which is Copyright (C) 2003-2008 Greg Valure
-// Natural Docs is licensed under the GPL
-
-
-//
-//  Browser Styles
-// ____________________________________________________________________________
-
-var agt=navigator.userAgent.toLowerCase();
-var browserType;
-var browserVer;
-
-if (agt.indexOf("opera") != -1)
-    {
-    browserType = "Opera";
-
-    if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
-        {  browserVer = "Opera7";  }
-    else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1)
-        {  browserVer = "Opera8";  }
-    else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1)
-        {  browserVer = "Opera9";  }
-    }
-
-else if (agt.indexOf("applewebkit") != -1)
-    {
-    browserType = "Safari";
-
-    if (agt.indexOf("version/3") != -1)
-        {  browserVer = "Safari3";  }
-    else if (agt.indexOf("safari/4") != -1)
-        {  browserVer = "Safari2";  }
-    }
-
-else if (agt.indexOf("khtml") != -1)
-    {
-    browserType = "Konqueror";
-    }
-
-else if (agt.indexOf("msie") != -1)
-    {
-    browserType = "IE";
-
-    if (agt.indexOf("msie 6") != -1)
-        {  browserVer = "IE6";  }
-    else if (agt.indexOf("msie 7") != -1)
-        {  browserVer = "IE7";  }
-    }
-
-else if (agt.indexOf("gecko") != -1)
-    {
-    browserType = "Firefox";
-
-    if (agt.indexOf("rv:1.7") != -1)
-        {  browserVer = "Firefox1";  }
-    else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1)
-        {  browserVer = "Firefox15";  }
-    else if (agt.indexOf("rv:1.8.1") != -1)
-        {  browserVer = "Firefox2";  }
-    }
-
-
-//
-//  Support Functions
-// ____________________________________________________________________________
-
-
-function GetXPosition(item)
-    {
-    var position = 0;
-
-    if (item.offsetWidth != null)
-        {
-        while (item != document.body && item != null)
-            {
-            position += item.offsetLeft;
-            item = item.offsetParent;
-            };
-        };
-
-    return position;
-    };
-
-
-function GetYPosition(item)
-    {
-    var position = 0;
-
-    if (item.offsetWidth != null)
-        {
-        while (item != document.body && item != null)
-            {
-            position += item.offsetTop;
-            item = item.offsetParent;
-            };
-        };
-
-    return position;
-    };
-
-
-function MoveToPosition(item, x, y)
-    {
-    // Opera 5 chokes on the px extension, so it can use the Microsoft one instead.
-
-    if (item.style.left != null)
-        {
-        item.style.left = x + "px";
-        item.style.top = y + "px";
-        }
-    else if (item.style.pixelLeft != null)
-        {
-        item.style.pixelLeft = x;
-        item.style.pixelTop = y;
-        };
-    };
-
-
-//
-//  Menu
-// ____________________________________________________________________________
-
-
-function ToggleMenu(id)
-    {
-    if (!window.document.getElementById)
-        {  return;  };
-
-    var display = window.document.getElementById(id).style.display;
-
-    if (display == "none")
-        {  display = "block";  }
-    else
-        {  display = "none";  }
-
-    window.document.getElementById(id).style.display = display;
-    }
-
-function HideAllBut(ids, max)
-    {
-    if (document.getElementById)
-        {
-        ids.sort( function(a,b) { return a - b; } );
-        var number = 1;
-
-        while (number < max)
-            {
-            if (ids.length > 0 && number == ids[0])
-                {  ids.shift();  }
-            else
-                {
-                document.getElementById("MGroupContent" + number).style.display = "none";
-                };
-
-            number++;
-            };
-        };
-    }
-
-
-//
-//  Tooltips
-// ____________________________________________________________________________
-
-
-var tooltipTimer = 0;
-
-function ShowTip(event, tooltipID, linkID)
-    {
-    if (tooltipTimer)
-        {  clearTimeout(tooltipTimer);  };
-
-    var docX = event.clientX + window.pageXOffset;
-    var docY = event.clientY + window.pageYOffset;
-
-    var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";
-
-    tooltipTimer = setTimeout(showCommand, 1000);
-    }
-
-function ReallyShowTip(tooltipID, linkID, docX, docY)
-    {
-    tooltipTimer = 0;
-
-    var tooltip;
-    var link;
-
-    if (document.getElementById)
-        {
-        tooltip = document.getElementById(tooltipID);
-        link = document.getElementById(linkID);
-        }
-/*    else if (document.all)
-        {
-        tooltip = eval("document.all['" + tooltipID + "']");
-        link = eval("document.all['" + linkID + "']");
-        }
-*/
-    if (tooltip)
-        {
-        var left = GetXPosition(link);
-        var top = GetYPosition(link);
-        top += link.offsetHeight;
-
-
-        // The fallback method is to use the mouse X and Y relative to the document.  We use a separate if and test if its a number
-        // in case some browser snuck through the above if statement but didn't support everything.
-
-        if (!isFinite(top) || top == 0)
-            {
-            left = docX;
-            top = docY;
-            }
-
-        // Some spacing to get it out from under the cursor.
-
-        top += 10;
-
-        // Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the
-        // page.  We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.
-
-        if (tooltip.offsetWidth != null)
-            {
-            var width = tooltip.offsetWidth;
-            var docWidth = document.body.clientWidth;
-
-            if (left + width > docWidth)
-                {  left = docWidth - width - 1;  }
-
-            // If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width.
-            if (left < 0)
-                {  left = 0;  };
-            }
-
-        MoveToPosition(tooltip, left, top);
-        tooltip.style.visibility = "visible";
-        }
-    }
-
-function HideTip(tooltipID)
-    {
-    if (tooltipTimer)
-        {
-        clearTimeout(tooltipTimer);
-        tooltipTimer = 0;
-        }
-
-    var tooltip;
-
-    if (document.getElementById)
-        {  tooltip = document.getElementById(tooltipID); }
-    else if (document.all)
-        {  tooltip = eval("document.all['" + tooltipID + "']");  }
-
-    if (tooltip)
-        {  tooltip.style.visibility = "hidden";  }
-    }
-
-
-//
-//  Blockquote fix for IE
-// ____________________________________________________________________________
-
-
-function NDOnLoad()
-    {
-    if (browserVer == "IE6")
-        {
-        var scrollboxes = document.getElementsByTagName('blockquote');
-
-        if (scrollboxes.item(0))
-            {
-            NDDoResize();
-            window.onresize=NDOnResize;
-            };
-        };
-    };
-
-
-var resizeTimer = 0;
-
-function NDOnResize()
-    {
-    if (resizeTimer != 0)
-        {  clearTimeout(resizeTimer);  };
-
-    resizeTimer = setTimeout(NDDoResize, 250);
-    };
-
-
-function NDDoResize()
-    {
-    var scrollboxes = document.getElementsByTagName('blockquote');
-
-    var i;
-    var item;
-
-    i = 0;
-    while (item = scrollboxes.item(i))
-        {
-        item.style.width = 100;
-        i++;
-        };
-
-    i = 0;
-    while (item = scrollboxes.item(i))
-        {
-        item.style.width = item.parentNode.offsetWidth;
-        i++;
-        };
-
-    clearTimeout(resizeTimer);
-    resizeTimer = 0;
-    }
-
-
-
-/* ________________________________________________________________________________________________________
-
-    Class: SearchPanel
-    ________________________________________________________________________________________________________
-
-    A class handling everything associated with the search panel.
-
-    Parameters:
-
-        name - The name of the global variable that will be storing this instance.  Is needed to be able to set timeouts.
-        mode - The mode the search is going to work in.  Pass <NaturalDocs::Builder::Base->CommandLineOption()>, so the
-                   value will be something like "HTML" or "FramedHTML".
-
-    ________________________________________________________________________________________________________
-*/
-
-
-function SearchPanel(name, mode, resultsPath)
-    {
-    if (!name || !mode || !resultsPath)
-        {  alert("Incorrect parameters to SearchPanel.");  };
-
-
-    // Group: Variables
-    // ________________________________________________________________________
-
-    /*
-        var: name
-        The name of the global variable that will be storing this instance of the class.
-    */
-    this.name = name;
-
-    /*
-        var: mode
-        The mode the search is going to work in, such as "HTML" or "FramedHTML".
-    */
-    this.mode = mode;
-
-    /*
-        var: resultsPath
-        The relative path from the current HTML page to the results page directory.
-    */
-    this.resultsPath = resultsPath;
-
-    /*
-        var: keyTimeout
-        The timeout used between a keystroke and when a search is performed.
-    */
-    this.keyTimeout = 0;
-
-    /*
-        var: keyTimeoutLength
-        The length of <keyTimeout> in thousandths of a second.
-    */
-    this.keyTimeoutLength = 500;
-
-    /*
-        var: lastSearchValue
-        The last search string executed, or an empty string if none.
-    */
-    this.lastSearchValue = "";
-
-    /*
-        var: lastResultsPage
-        The last results page.  The value is only relevant if <lastSearchValue> is set.
-    */
-    this.lastResultsPage = "";
-
-    /*
-        var: deactivateTimeout
-
-        The timeout used between when a control is deactivated and when the entire panel is deactivated.  Is necessary
-        because a control may be deactivated in favor of another control in the same panel, in which case it should stay
-        active.
-    */
-    this.deactivateTimout = 0;
-
-    /*
-        var: deactivateTimeoutLength
-        The length of <deactivateTimeout> in thousandths of a second.
-    */
-    this.deactivateTimeoutLength = 200;
-
-
-
-
-    // Group: DOM Elements
-    // ________________________________________________________________________
-
-
-    // Function: DOMSearchField
-    this.DOMSearchField = function()
-        {  return document.getElementById("MSearchField");  };
-
-    // Function: DOMSearchType
-    this.DOMSearchType = function()
-        {  return document.getElementById("MSearchType");  };
-
-    // Function: DOMPopupSearchResults
-    this.DOMPopupSearchResults = function()
-        {  return document.getElementById("MSearchResults");  };
-
-    // Function: DOMPopupSearchResultsWindow
-    this.DOMPopupSearchResultsWindow = function()
-        {  return document.getElementById("MSearchResultsWindow");  };
-
-    // Function: DOMSearchPanel
-    this.DOMSearchPanel = function()
-        {  return document.getElementById("MSearchPanel");  };
-
-
-
-
-    // Group: Event Handlers
-    // ________________________________________________________________________
-
-
-    /*
-        Function: OnSearchFieldFocus
-        Called when focus is added or removed from the search field.
-    */
-    this.OnSearchFieldFocus = function(isActive)
-        {
-        this.Activate(isActive);
-        };
-
-
-    /*
-        Function: OnSearchFieldChange
-        Called when the content of the search field is changed.
-    */
-    this.OnSearchFieldChange = function()
-        {
-        if (this.keyTimeout)
-            {
-            clearTimeout(this.keyTimeout);
-            this.keyTimeout = 0;
-            };
-
-        var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
-
-        if (searchValue != this.lastSearchValue)
-            {
-            if (searchValue != "")
-                {
-                this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength);
-                }
-            else
-                {
-                if (this.mode == "HTML")
-                    {  this.DOMPopupSearchResultsWindow().style.display = "none";  };
-                this.lastSearchValue = "";
-                };
-            };
-        };
-
-
-    /*
-        Function: OnSearchTypeFocus
-        Called when focus is added or removed from the search type.
-    */
-    this.OnSearchTypeFocus = function(isActive)
-        {
-        this.Activate(isActive);
-        };
-
-
-    /*
-        Function: OnSearchTypeChange
-        Called when the search type is changed.
-    */
-    this.OnSearchTypeChange = function()
-        {
-        var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
-
-        if (searchValue != "")
-            {
-            this.Search();
-            };
-        };
-
-
-
-    // Group: Action Functions
-    // ________________________________________________________________________
-
-
-    /*
-        Function: CloseResultsWindow
-        Closes the results window.
-    */
-    this.CloseResultsWindow = function()
-        {
-        this.DOMPopupSearchResultsWindow().style.display = "none";
-        this.Activate(false, true);
-        };
-
-
-    /*
-        Function: Search
-        Performs a search.
-    */
-    this.Search = function()
-        {
-        this.keyTimeout = 0;
-
-        var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
-        var searchTopic = this.DOMSearchType().value;
-
-        var pageExtension = searchValue.substr(0,1);
-
-        if (pageExtension.match(/^[a-z]/i))
-            {  pageExtension = pageExtension.toUpperCase();  }
-        else if (pageExtension.match(/^[0-9]/))
-            {  pageExtension = 'Numbers';  }
-        else
-            {  pageExtension = "Symbols";  };
-
-        var resultsPage;
-        var resultsPageWithSearch;
-        var hasResultsPage;
-
-        // indexSectionsWithContent is defined in searchdata.js
-        if (indexSectionsWithContent[searchTopic][pageExtension] == true)
-            {
-            resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html';
-            resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
-            hasResultsPage = true;
-            }
-        else
-            {
-            resultsPage = this.resultsPath + '/NoResults.html';
-            resultsPageWithSearch = resultsPage;
-            hasResultsPage = false;
-            };
-
-        var resultsFrame;
-        if (this.mode == "HTML")
-            {  resultsFrame = window.frames.MSearchResults;  }
-        else if (this.mode == "FramedHTML")
-            {  resultsFrame = window.top.frames['Content'];  };
-
-
-        if (resultsPage != this.lastResultsPage ||
-
-            // Bug in IE.  If everything becomes hidden in a run, none of them will be able to be reshown in the next for some
-            // reason.  It counts the right number of results, and you can even read the display as "block" after setting it, but it
-            // just doesn't work in IE 6 or IE 7.  So if we're on the right page but the previous search had no results, reload the
-            // page anyway to get around the bug.
-            (browserType == "IE" && hasResultsPage &&
-            	(!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) )
-
-            {
-            resultsFrame.location.href = resultsPageWithSearch;
-            }
-
-        // So if the results page is right and there's no IE bug, reperform the search on the existing page.  We have to check if there
-        // are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even
-        // if it did.
-        else if (hasResultsPage)
-            {
-            // We need to check if this exists in case the frame is present but didn't finish loading.
-            if (resultsFrame.searchResults)
-                {  resultsFrame.searchResults.Search(searchValue);  }
-
-            // Otherwise just reload instead of waiting.
-            else
-                {  resultsFrame.location.href = resultsPageWithSearch;  };
-            };
-
-
-        var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
-
-        if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block")
-            {
-            var domSearchType = this.DOMSearchType();
-
-            var left = GetXPosition(domSearchType);
-            var top = GetYPosition(domSearchType) + domSearchType.offsetHeight;
-
-            MoveToPosition(domPopupSearchResultsWindow, left, top);
-            domPopupSearchResultsWindow.style.display = 'block';
-            };
-
-
-        this.lastSearchValue = searchValue;
-        this.lastResultsPage = resultsPage;
-        };
-
-
-
-    // Group: Activation Functions
-    // Functions that handle whether the entire panel is active or not.
-    // ________________________________________________________________________
-
-
-    /*
-        Function: Activate
-
-        Activates or deactivates the search panel, resetting things to their default values if necessary.  You can call this on every
-        control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently.
-
-        Parameters:
-
-            isActive - Whether you're activating or deactivating the panel.
-            ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay.
-    */
-    this.Activate = function(isActive, ignoreDeactivateDelay)
-        {
-        // We want to ignore isActive being false while the results window is open.
-        if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block"))
-            {
-            if (this.inactivateTimeout)
-                {
-                clearTimeout(this.inactivateTimeout);
-                this.inactivateTimeout = 0;
-                };
-
-            this.DOMSearchPanel().className = 'MSearchPanelActive';
-
-            var searchField = this.DOMSearchField();
-
-            if (searchField.value == 'Search')
-                 {  searchField.value = "";  }
-            }
-        else if (!ignoreDeactivateDelay)
-            {
-            this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength);
-            }
-        else
-            {
-            this.InactivateAfterTimeout();
-            };
-        };
-
-
-    /*
-        Function: InactivateAfterTimeout
-
-        Called by <inactivateTimeout>, which is set by <Activate()>.  Inactivation occurs on a timeout because a control may
-        receive OnBlur() when focus is really transferring to another control in the search panel.  In this case we don't want to
-        actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value.
-        So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation.
-    */
-    this.InactivateAfterTimeout = function()
-        {
-        this.inactivateTimeout = 0;
-
-        this.DOMSearchPanel().className = 'MSearchPanelInactive';
-        this.DOMSearchField().value = "Search";
-
-	    this.lastSearchValue = "";
-	    this.lastResultsPage = "";
-        };
-    };
-
-
-
-
-/* ________________________________________________________________________________________________________
-
-   Class: SearchResults
-   _________________________________________________________________________________________________________
-
-   The class that handles everything on the search results page.
-   _________________________________________________________________________________________________________
-*/
-
-
-function SearchResults(name, mode)
-    {
-    /*
-        var: mode
-        The mode the search is going to work in, such as "HTML" or "FramedHTML".
-    */
-    this.mode = mode;
-
-    /*
-        var: lastMatchCount
-        The number of matches from the last run of <Search()>.
-    */
-    this.lastMatchCount = 0;
-
-
-    /*
-        Function: Toggle
-        Toggles the visibility of the passed element ID.
-    */
-    this.Toggle = function(id)
-        {
-        if (this.mode == "FramedHTML")
-            {  return;  };
-
-        var parentElement = document.getElementById(id);
-
-        var element = parentElement.firstChild;
-
-        while (element && element != parentElement)
-            {
-            if (element.nodeName == 'DIV' && element.className == 'ISubIndex')
-                {
-                if (element.style.display == 'block')
-                    {  element.style.display = "none";  }
-                else
-                    {  element.style.display = 'block';  }
-                };
-
-            if (element.nodeName == 'DIV' && element.hasChildNodes())
-                {  element = element.firstChild;  }
-            else if (element.nextSibling)
-                {  element = element.nextSibling;  }
-            else
-                {
-                do
-                    {
-                    element = element.parentNode;
-                    }
-                while (element && element != parentElement && !element.nextSibling);
-
-                if (element && element != parentElement)
-                    {  element = element.nextSibling;  };
-                };
-            };
-        };
-
-
-    /*
-        Function: Search
-
-        Searches for the passed string.  If there is no parameter, it takes it from the URL query.
-
-        Always returns true, since other documents may try to call it and that may or may not be possible.
-    */
-    this.Search = function(search)
-        {
-        if (!search)
-            {
-            search = window.location.search;
-            search = search.substring(1);  // Remove the leading ?
-            search = unescape(search);
-            };
-
-        search = search.replace(/^ +/, "");
-        search = search.replace(/ +$/, "");
-        search = search.toLowerCase();
-
-        if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily.
-            {
-            search = search.replace(/\_/g, "_und");
-            search = search.replace(/\ +/gi, "_spc");
-            search = search.replace(/\~/g, "_til");
-            search = search.replace(/\!/g, "_exc");
-            search = search.replace(/\@/g, "_att");
-            search = search.replace(/\#/g, "_num");
-            search = search.replace(/\$/g, "_dol");
-            search = search.replace(/\%/g, "_pct");
-            search = search.replace(/\^/g, "_car");
-            search = search.replace(/\&/g, "_amp");
-            search = search.replace(/\*/g, "_ast");
-            search = search.replace(/\(/g, "_lpa");
-            search = search.replace(/\)/g, "_rpa");
-            search = search.replace(/\-/g, "_min");
-            search = search.replace(/\+/g, "_plu");
-            search = search.replace(/\=/g, "_equ");
-            search = search.replace(/\{/g, "_lbc");
-            search = search.replace(/\}/g, "_rbc");
-            search = search.replace(/\[/g, "_lbk");
-            search = search.replace(/\]/g, "_rbk");
-            search = search.replace(/\:/g, "_col");
-            search = search.replace(/\;/g, "_sco");
-            search = search.replace(/\"/g, "_quo");
-            search = search.replace(/\'/g, "_apo");
-            search = search.replace(/\</g, "_lan");
-            search = search.replace(/\>/g, "_ran");
-            search = search.replace(/\,/g, "_com");
-            search = search.replace(/\./g, "_per");
-            search = search.replace(/\?/g, "_que");
-            search = search.replace(/\//g, "_sla");
-            search = search.replace(/[^a-z0-9\_]i/gi, "_zzz");
-            };
-
-        var resultRows = document.getElementsByTagName("div");
-        var matches = 0;
-
-        var i = 0;
-        while (i < resultRows.length)
-            {
-            var row = resultRows.item(i);
-
-            if (row.className == "SRResult")
-                {
-                var rowMatchName = row.id.toLowerCase();
-                rowMatchName = rowMatchName.replace(/^sr\d*_/, '');
-
-                if (search.length <= rowMatchName.length && rowMatchName.substr(0, search.length) == search)
-                    {
-                    row.style.display = "block";
-                    matches++;
-                    }
-                else
-                    {  row.style.display = "none";  };
-                };
-
-            i++;
-            };
-
-        document.getElementById("Searching").style.display="none";
-
-        if (matches == 0)
-            {  document.getElementById("NoMatches").style.display="block";  }
-        else
-            {  document.getElementById("NoMatches").style.display="none";  }
-
-        this.lastMatchCount = matches;
-
-        return true;
-        };
-    };
-
--- a/htdocs/svg-edit/docs/javascript/searchdata.js	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-var indexSectionsWithContent = {
-   "General": {
-      "Symbols": false,
-      "Numbers": false,
-      "A": false,
-      "B": false,
-      "C": true,
-      "D": true,
-      "E": false,
-      "F": true,
-      "G": true,
-      "H": false,
-      "I": false,
-      "J": false,
-      "K": false,
-      "L": false,
-      "M": false,
-      "N": false,
-      "O": false,
-      "P": false,
-      "Q": false,
-      "R": false,
-      "S": true,
-      "T": false,
-      "U": false,
-      "V": false,
-      "W": false,
-      "X": false,
-      "Y": false,
-      "Z": false
-      },
-   "Functions": {
-      "Symbols": false,
-      "Numbers": false,
-      "A": true,
-      "B": false,
-      "C": true,
-      "D": true,
-      "E": false,
-      "F": false,
-      "G": true,
-      "H": false,
-      "I": false,
-      "J": false,
-      "K": false,
-      "L": false,
-      "M": true,
-      "N": false,
-      "O": true,
-      "P": false,
-      "Q": false,
-      "R": true,
-      "S": true,
-      "T": false,
-      "U": false,
-      "V": false,
-      "W": false,
-      "X": false,
-      "Y": false,
-      "Z": false
-      },
-   "Files": {
-      "Symbols": false,
-      "Numbers": false,
-      "A": false,
-      "B": false,
-      "C": false,
-      "D": false,
-      "E": false,
-      "F": false,
-      "G": false,
-      "H": false,
-      "I": false,
-      "J": false,
-      "K": false,
-      "L": false,
-      "M": false,
-      "N": false,
-      "O": false,
-      "P": false,
-      "Q": false,
-      "R": false,
-      "S": true,
-      "T": false,
-      "U": false,
-      "V": false,
-      "W": false,
-      "X": false,
-      "Y": false,
-      "Z": false
-      }
-   }
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FilesS.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_svgcanvas_perjs><div class=IEntry><a href="../files/svgcanvas-js.html#svgcanvas.js" target=_parent class=ISymbol>svgcanvas.js</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsA.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_addToSelection><div class=IEntry><a href="../files/svgcanvas-js.html#addToSelection" target=_parent class=ISymbol>addToSelection</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsC.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/svgcanvas-js.html#clear" target=_parent class=ISymbol>clear</a></div></div><div class=SRResult id=SR_clearSelection><div class=IEntry><a href="../files/svgcanvas-js.html#clearSelection" target=_parent class=ISymbol>clearSelection</a></div></div><div class=SRResult id=SR_createLayer><div class=IEntry><a href="../files/svgcanvas-js.html#createLayer" target=_parent class=ISymbol>createLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsD.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_deleteCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#deleteCurrentLayer" target=_parent class=ISymbol>deleteCurrentLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsG.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_getCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#getCurrentLayer" target=_parent class=ISymbol>getCurrentLayer</a></div></div><div class=SRResult id=SR_getLayer><div class=IEntry><a href="../files/svgcanvas-js.html#getLayer" target=_parent class=ISymbol>getLayer</a></div></div><div class=SRResult id=SR_getLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#getLayerOpacity" target=_parent class=ISymbol>getLayerOpacity</a></div></div><div class=SRResult id=SR_getLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#getLayerVisibility" target=_parent class=ISymbol>getLayerVisibility</a></div></div><div class=SRResult id=SR_getNumLayers><div class=IEntry><a href="../files/svgcanvas-js.html#getNumLayers" target=_parent class=ISymbol>getNumLayers</a></div></div><div class=SRResult id=SR_getSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#getSvgString" target=_parent class=ISymbol>getSvgString</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsM.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_moveSelectedToLayer><div class=IEntry><a href="../files/svgcanvas-js.html#moveSelectedToLayer" target=_parent class=ISymbol>moveSelectedToLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsO.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_open><div class=IEntry><a href="../files/svgcanvas-js.html#open" target=_parent class=ISymbol>open</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsR.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_removeFromSelection><div class=IEntry><a href="../files/svgcanvas-js.html#removeFromSelection" target=_parent class=ISymbol>removeFromSelection</a></div></div><div class=SRResult id=SR_renameCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#renameCurrentLayer" target=_parent class=ISymbol>renameCurrentLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/FunctionsS.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/svgcanvas-js.html#save" target=_parent class=ISymbol>save</a></div></div><div class=SRResult id=SR_setCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayer" target=_parent class=ISymbol>setCurrentLayer</a></div></div><div class=SRResult id=SR_setCurrentLayerPosition><div class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayerPosition" target=_parent class=ISymbol>setCurrentLayerPosition</a></div></div><div class=SRResult id=SR_setLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#setLayerOpacity" target=_parent class=ISymbol>setLayerOpacity</a></div></div><div class=SRResult id=SR_setLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#setLayerVisibility" target=_parent class=ISymbol>setLayerVisibility</a></div></div><div class=SRResult id=SR_setSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#setSvgString" target=_parent class=ISymbol>setSvgString</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralA.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_addToSelection><div class=IEntry><a href="../files/svgcanvas-js.html#addToSelection" target=_parent class=ISymbol>addToSelection</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralC.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/svgcanvas-js.html#clear" target=_parent class=ISymbol>clear</a></div></div><div class=SRResult id=SR_clearSelection><div class=IEntry><a href="../files/svgcanvas-js.html#clearSelection" target=_parent class=ISymbol>clearSelection</a></div></div><div class=SRResult id=SR_createLayer><div class=IEntry><a href="../files/svgcanvas-js.html#createLayer" target=_parent class=ISymbol>createLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralD.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_deleteCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#deleteCurrentLayer" target=_parent class=ISymbol>deleteCurrentLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralF.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Fill_spcand_spcStroke><div class=IEntry><a href="../files/svgcanvas-js.html#Fill_and_Stroke" target=_parent class=ISymbol>Fill and Stroke</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralG.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_getCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#getCurrentLayer" target=_parent class=ISymbol>getCurrentLayer</a></div></div><div class=SRResult id=SR_getLayer><div class=IEntry><a href="../files/svgcanvas-js.html#getLayer" target=_parent class=ISymbol>getLayer</a></div></div><div class=SRResult id=SR_getLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#getLayerOpacity" target=_parent class=ISymbol>getLayerOpacity</a></div></div><div class=SRResult id=SR_getLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#getLayerVisibility" target=_parent class=ISymbol>getLayerVisibility</a></div></div><div class=SRResult id=SR_getNumLayers><div class=IEntry><a href="../files/svgcanvas-js.html#getNumLayers" target=_parent class=ISymbol>getNumLayers</a></div></div><div class=SRResult id=SR_getSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#getSvgString" target=_parent class=ISymbol>getSvgString</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralL.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Layers><div class=IEntry><a href="../files/svgcanvas-js.html#Layers" target=_parent class=ISymbol>Layers</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralM.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_moveSelectedToLayer><div class=IEntry><a href="../files/svgcanvas-js.html#moveSelectedToLayer" target=_parent class=ISymbol>moveSelectedToLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralO.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_open><div class=IEntry><a href="../files/svgcanvas-js.html#open" target=_parent class=ISymbol>open</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralR.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_removeFromSelection><div class=IEntry><a href="../files/svgcanvas-js.html#removeFromSelection" target=_parent class=ISymbol>removeFromSelection</a></div></div><div class=SRResult id=SR_renameCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#renameCurrentLayer" target=_parent class=ISymbol>renameCurrentLayer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/GeneralS.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/svgcanvas-js.html#save" target=_parent class=ISymbol>save</a></div></div><div class=SRResult id=SR_Selection><div class=IEntry><a href="../files/svgcanvas-js.html#Selection" target=_parent class=ISymbol>Selection</a></div></div><div class=SRResult id=SR_Serialization><div class=IEntry><a href="../files/svgcanvas-js.html#Serialization" target=_parent class=ISymbol>Serialization</a></div></div><div class=SRResult id=SR_setCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayer" target=_parent class=ISymbol>setCurrentLayer</a></div></div><div class=SRResult id=SR_setCurrentLayerPosition><div class=IEntry><a href="../files/svgcanvas-js.html#setCurrentLayerPosition" target=_parent class=ISymbol>setCurrentLayerPosition</a></div></div><div class=SRResult id=SR_setLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#setLayerOpacity" target=_parent class=ISymbol>setLayerOpacity</a></div></div><div class=SRResult id=SR_setLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#setLayerVisibility" target=_parent class=ISymbol>setLayerVisibility</a></div></div><div class=SRResult id=SR_setSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#setSvgString" target=_parent class=ISymbol>setSvgString</a></div></div><div class=SRResult id=SR_svgcanvas_perjs><div class=IEntry><a href="../files/svgcanvas-js.html#svgcanvas.js" target=_parent class=ISymbol>svgcanvas.js</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/search/NoResults.html	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!--  Generated by Natural Docs, version 1.4 -->
-<!--  http://www.naturaldocs.org  -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=NoMatches>No Matches</div></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
\ No newline at end of file
--- a/htdocs/svg-edit/docs/styles/main.css	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,767 +0,0 @@
-/*
-   IMPORTANT: If you're editing this file in the output directory of one of
-   your projects, your changes will be overwritten the next time you run
-   Natural Docs.  Instead, copy this file to your project directory, make your
-   changes, and you can use it with -s.  Even better would be to make a CSS
-   file in your project directory with only your changes, which you can then
-   use with -s [original style] [your changes].
-
-   On the other hand, if you're editing this file in the Natural Docs styles
-   directory, the changes will automatically be applied to all your projects
-   that use this style the next time Natural Docs is run on them.
-
-   This file is part of Natural Docs, which is Copyright (C) 2003-2008 Greg Valure
-   Natural Docs is licensed under the GPL
-*/
-
-body {
-    font: 10pt Verdana, Arial, sans-serif;
-    color: #000000;
-    margin: 0; padding: 0;
-    }
-
-.ContentPage,
-.IndexPage,
-.FramedMenuPage {
-    background-color: #E8E8E8;
-    }
-.FramedContentPage,
-.FramedIndexPage,
-.FramedSearchResultsPage,
-.PopupSearchResultsPage {
-    background-color: #FFFFFF;
-    }
-
-
-a:link,
-a:visited { color: #900000; text-decoration: none }
-a:hover { color: #900000; text-decoration: underline }
-a:active { color: #FF0000; text-decoration: underline }
-
-td {
-    vertical-align: top }
-
-img { border: 0;  }
-
-
-/*
-    Comment out this line to use web-style paragraphs (blank line between
-    paragraphs, no indent) instead of print-style paragraphs (no blank line,
-    indented.)
-*/
-p {
-    text-indent: 5ex; margin: 0 }
-
-
-/*  Opera doesn't break with just wbr, but will if you add this.  */
-.Opera wbr:after {
-	content: "\00200B";
-	}
-
-
-/*  Blockquotes are used as containers for things that may need to scroll.  */
-blockquote {
-    padding: 0;
-    margin: 0;
-    overflow: auto;
-    }
-
-
-.Firefox1 blockquote {
-    padding-bottom: .5em;
-    }
-
-/*  Turn off scrolling when printing.  */
-@media print {
-    blockquote {
-        overflow: visible;
-        }
-    .IE blockquote {
-        width: auto;
-        }
-    }
-
-
-
-#Menu {
-    font-size: 9pt;
-    padding: 10px 0 0 0;
-    }
-.ContentPage #Menu,
-.IndexPage #Menu {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 31ex;
-    overflow: hidden;
-    }
-.ContentPage .Firefox #Menu,
-.IndexPage .Firefox #Menu {
-    width: 27ex;
-    }
-
-
-    .MTitle {
-        font-size: 16pt; font-weight: bold; font-variant: small-caps;
-        text-align: center;
-        padding: 5px 10px 15px 10px;
-        border-bottom: 1px dotted #000000;
-        margin-bottom: 15px }
-
-    .MSubTitle {
-        font-size: 9pt; font-weight: normal; font-variant: normal;
-        margin-top: 1ex; margin-bottom: 5px }
-
-
-    .MEntry a:link,
-    .MEntry a:hover,
-    .MEntry a:visited { color: #606060; margin-right: 0 }
-    .MEntry a:active { color: #A00000; margin-right: 0 }
-
-
-    .MGroup {
-        font-variant: small-caps; font-weight: bold;
-        margin: 1em 0 1em 10px;
-        }
-
-    .MGroupContent {
-        font-variant: normal; font-weight: normal }
-
-    .MGroup a:link,
-    .MGroup a:hover,
-    .MGroup a:visited { color: #545454; margin-right: 10px }
-    .MGroup a:active { color: #A00000; margin-right: 10px }
-
-
-    .MFile,
-    .MText,
-    .MLink,
-    .MIndex {
-        padding: 1px 17px 2px 10px;
-        margin: .25em 0 .25em 0;
-        }
-
-    .MText {
-        font-size: 8pt; font-style: italic }
-
-    .MLink {
-        font-style: italic }
-
-    #MSelected {
-        color: #000000; background-color: #FFFFFF;
-        /*  Replace padding with border.  */
-        padding: 0 10px 0 10px;
-        border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
-        margin-right: 5px;
-        }
-
-    /*  Close off the left side when its in a group.  */
-    .MGroup #MSelected {
-        padding-left: 9px; border-left-width: 1px }
-
-    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */
-    .Firefox #MSelected {
-        -moz-border-radius-topright: 10px;
-        -moz-border-radius-bottomright: 10px }
-    .Firefox .MGroup #MSelected {
-        -moz-border-radius-topleft: 10px;
-        -moz-border-radius-bottomleft: 10px }
-
-
-    #MSearchPanel {
-        padding: 0px 6px;
-        margin: .25em 0;
-        }
-
-
-    #MSearchField {
-        font: italic 9pt Verdana, sans-serif;
-        color: #606060;
-        background-color: #E8E8E8;
-        border: none;
-        padding: 2px 4px;
-        width: 100%;
-        }
-    /* Only Opera gets it right. */
-    .Firefox #MSearchField,
-    .IE #MSearchField,
-    .Safari #MSearchField {
-        width: 94%;
-        }
-    .Opera9 #MSearchField,
-    .Konqueror #MSearchField {
-        width: 97%;
-        }
-    .FramedMenuPage .Firefox #MSearchField,
-    .FramedMenuPage .Safari #MSearchField,
-    .FramedMenuPage .Konqueror #MSearchField {
-        width: 98%;
-        }
-
-    /* Firefox doesn't do this right in frames without #MSearchPanel added on.
-        It's presence doesn't hurt anything other browsers. */
-    #MSearchPanel.MSearchPanelInactive:hover #MSearchField {
-        background-color: #FFFFFF;
-        border: 1px solid #C0C0C0;
-        padding: 1px 3px;
-        }
-    .MSearchPanelActive #MSearchField {
-        background-color: #FFFFFF;
-        border: 1px solid #C0C0C0;
-        font-style: normal;
-        padding: 1px 3px;
-        }
-
-    #MSearchType {
-        visibility: hidden;
-        font: 8pt Verdana, sans-serif;
-        width: 98%;
-        padding: 0;
-        border: 1px solid #C0C0C0;
-        }
-    .MSearchPanelActive #MSearchType,
-    /*  As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */
-    #MSearchPanel.MSearchPanelInactive:hover #MSearchType,
-    #MSearchType:focus {
-        visibility: visible;
-        color: #606060;
-        }
-    #MSearchType option#MSearchEverything {
-        font-weight: bold;
-        }
-
-    .Opera8 .MSearchPanelInactive:hover,
-    .Opera8 .MSearchPanelActive {
-        margin-left: -1px;
-        }
-
-
-    iframe#MSearchResults {
-        width: 60ex;
-        height: 15em;
-        }
-    #MSearchResultsWindow {
-        display: none;
-        position: absolute;
-        left: 0; top: 0;
-        border: 1px solid #000000;
-        background-color: #E8E8E8;
-        }
-    #MSearchResultsWindowClose {
-        font-weight: bold;
-        font-size: 8pt;
-        display: block;
-        padding: 2px 5px;
-        }
-    #MSearchResultsWindowClose:link,
-    #MSearchResultsWindowClose:visited {
-        color: #000000;
-        text-decoration: none;
-        }
-    #MSearchResultsWindowClose:active,
-    #MSearchResultsWindowClose:hover {
-        color: #800000;
-        text-decoration: none;
-        background-color: #F4F4F4;
-        }
-
-
-
-
-#Content {
-    padding-bottom: 15px;
-    }
-
-.ContentPage #Content {
-    border-width: 0 0 1px 1px;
-    border-style: solid;
-    border-color: #000000;
-    background-color: #FFFFFF;
-    font-size: 9pt;  /* To make 31ex match the menu's 31ex. */
-    margin-left: 31ex;
-    }
-.ContentPage .Firefox #Content {
-    margin-left: 27ex;
-    }
-
-
-
-    .CTopic {
-        font-size: 10pt;
-        margin-bottom: 3em;
-        }
-
-
-    .CTitle {
-        font-size: 12pt; font-weight: bold;
-        border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
-        margin: 0 15px .5em 15px }
-
-    .CGroup .CTitle {
-        font-size: 16pt; font-variant: small-caps;
-        padding-left: 15px; padding-right: 15px;
-        border-width: 0 0 2px 0; border-color: #000000;
-        margin-left: 0; margin-right: 0 }
-
-    .CClass .CTitle,
-    .CInterface .CTitle,
-    .CDatabase .CTitle,
-    .CDatabaseTable .CTitle,
-    .CSection .CTitle {
-        font-size: 18pt;
-        color: #FFFFFF; background-color: #A0A0A0;
-        padding: 10px 15px 10px 15px;
-        border-width: 2px 0; border-color: #000000;
-        margin-left: 0; margin-right: 0 }
-
-    #MainTopic .CTitle {
-        font-size: 20pt;
-        color: #FFFFFF; background-color: #7070C0;
-        padding: 10px 15px 10px 15px;
-        border-width: 0 0 3px 0; border-color: #000000;
-        margin-left: 0; margin-right: 0 }
-
-    .CBody {
-        margin-left: 15px; margin-right: 15px }
-
-
-    .CToolTip {
-        position: absolute; visibility: hidden;
-        left: 0; top: 0;
-        background-color: #FFFFE0;
-        padding: 5px;
-        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
-        font-size: 8pt;
-        }
-
-    .Opera .CToolTip {
-        max-width: 98%;
-        }
-
-    /*  Scrollbars would be useless.  */
-    .CToolTip blockquote {
-        overflow: hidden;
-        }
-    .IE6 .CToolTip blockquote {
-        overflow: visible;
-        }
-
-    .CHeading {
-        font-weight: bold; font-size: 10pt;
-        margin: 1.5em 0 .5em 0;
-        }
-
-    .CBody pre {
-        font: 10pt "Courier New", Courier, monospace;
-        margin: 1em 0;
-        }
-
-    .CBody ul {
-        /*  I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
-             Reapply it here as padding.  */
-        padding-left: 15px; padding-right: 15px;
-        margin: .5em 5ex .5em 5ex;
-        }
-
-    .CDescriptionList {
-        margin: .5em 5ex 0 5ex }
-
-        .CDLEntry {
-            font: 10pt "Courier New", Courier, monospace; color: #808080;
-            padding-bottom: .25em;
-            white-space: nowrap }
-
-        .CDLDescription {
-            font-size: 10pt;  /*  For browsers that don't inherit correctly, like Opera 5.  */
-            padding-bottom: .5em; padding-left: 5ex }
-
-
-    .CTopic img {
-        text-align: center;
-        display: block;
-        margin: 1em auto;
-        }
-    .CImageCaption {
-        font-variant: small-caps;
-        font-size: 8pt;
-        color: #808080;
-        text-align: center;
-        position: relative;
-        top: 1em;
-        }
-
-    .CImageLink {
-        color: #808080;
-        font-style: italic;
-        }
-    a.CImageLink:link,
-    a.CImageLink:visited,
-    a.CImageLink:hover { color: #808080 }
-
-
-
-
-
-.Prototype {
-    font: 10pt "Courier New", Courier, monospace;
-    padding: 5px 3ex;
-    border-width: 1px; border-style: solid;
-    margin: 0 5ex 1.5em 5ex;
-    }
-
-    .Prototype td {
-        font-size: 10pt;
-        }
-
-    .PDefaultValue,
-    .PDefaultValuePrefix,
-    .PTypePrefix {
-        color: #8F8F8F;
-        }
-    .PTypePrefix {
-        text-align: right;
-        }
-    .PAfterParameters {
-        vertical-align: bottom;
-        }
-
-    .IE .Prototype table {
-        padding: 0;
-        }
-
-    .CFunction .Prototype {
-        background-color: #F4F4F4; border-color: #D0D0D0 }
-    .CProperty .Prototype {
-        background-color: #F4F4FF; border-color: #C0C0E8 }
-    .CVariable .Prototype {
-        background-color: #FFFFF0; border-color: #E0E0A0 }
-
-    .CClass .Prototype {
-        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
-        background-color: #F4F4F4;
-        }
-    .CInterface .Prototype {
-        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0D0;
-        background-color: #F4F4FF;
-        }
-
-    .CDatabaseIndex .Prototype,
-    .CConstant .Prototype {
-        background-color: #D0D0D0; border-color: #000000 }
-    .CType .Prototype,
-    .CEnumeration .Prototype {
-        background-color: #FAF0F0; border-color: #E0B0B0;
-        }
-    .CDatabaseTrigger .Prototype,
-    .CEvent .Prototype,
-    .CDelegate .Prototype {
-        background-color: #F0FCF0; border-color: #B8E4B8 }
-
-    .CToolTip .Prototype {
-        margin: 0 0 .5em 0;
-        white-space: nowrap;
-        }
-
-
-
-
-
-.Summary {
-    margin: 1.5em 5ex 0 5ex }
-
-    .STitle {
-        font-size: 12pt; font-weight: bold;
-        margin-bottom: .5em }
-
-
-    .SBorder {
-        background-color: #FFFFF0;
-        padding: 15px;
-        border: 1px solid #C0C060 }
-
-    /* In a frame IE 6 will make them too long unless you set the width to 100%.  Without frames it will be correct without a width
-        or slightly too long (but not enough to scroll) with a width.  This arbitrary weirdness simply astounds me.  IE 7 has the same
-        problem with frames, haven't tested it without.  */
-    .FramedContentPage .IE .SBorder {
-        width: 100% }
-
-    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */
-    .Firefox .SBorder {
-        -moz-border-radius: 20px }
-
-
-    .STable {
-        font-size: 9pt; width: 100% }
-
-    .SEntry {
-        width: 30% }
-    .SDescription {
-        width: 70% }
-
-
-    .SMarked {
-        background-color: #F8F8D8 }
-
-    .SDescription { padding-left: 2ex }
-    .SIndent1 .SEntry { padding-left: 1.5ex }   .SIndent1 .SDescription { padding-left: 3.5ex }
-    .SIndent2 .SEntry { padding-left: 3.0ex }   .SIndent2 .SDescription { padding-left: 5.0ex }
-    .SIndent3 .SEntry { padding-left: 4.5ex }   .SIndent3 .SDescription { padding-left: 6.5ex }
-    .SIndent4 .SEntry { padding-left: 6.0ex }   .SIndent4 .SDescription { padding-left: 8.0ex }
-    .SIndent5 .SEntry { padding-left: 7.5ex }   .SIndent5 .SDescription { padding-left: 9.5ex }
-
-    .SDescription a { color: #800000}
-    .SDescription a:active { color: #A00000 }
-
-    .SGroup td {
-        padding-top: .5em; padding-bottom: .25em }
-
-    .SGroup .SEntry {
-        font-weight: bold; font-variant: small-caps }
-
-    .SGroup .SEntry a { color: #800000 }
-    .SGroup .SEntry a:active { color: #F00000 }
-
-
-    .SMain td,
-    .SClass td,
-    .SDatabase td,
-    .SDatabaseTable td,
-    .SSection td {
-        font-size: 10pt;
-        padding-bottom: .25em }
-
-    .SClass td,
-    .SDatabase td,
-    .SDatabaseTable td,
-    .SSection td {
-        padding-top: 1em }
-
-    .SMain .SEntry,
-    .SClass .SEntry,
-    .SDatabase .SEntry,
-    .SDatabaseTable .SEntry,
-    .SSection .SEntry {
-        font-weight: bold;
-        }
-
-    .SMain .SEntry a,
-    .SClass .SEntry a,
-    .SDatabase .SEntry a,
-    .SDatabaseTable .SEntry a,
-    .SSection .SEntry a { color: #000000 }
-
-    .SMain .SEntry a:active,
-    .SClass .SEntry a:active,
-    .SDatabase .SEntry a:active,
-    .SDatabaseTable .SEntry a:active,
-    .SSection .SEntry a:active { color: #A00000 }
-
-
-
-
-
-.ClassHierarchy {
-    margin: 0 15px 1em 15px }
-
-    .CHEntry {
-        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
-        margin-bottom: 3px;
-        padding: 2px 2ex;
-        font-size: 10pt;
-        background-color: #F4F4F4; color: #606060;
-        }
-
-    .Firefox .CHEntry {
-        -moz-border-radius: 4px;
-        }
-
-    .CHCurrent .CHEntry {
-        font-weight: bold;
-        border-color: #000000;
-        color: #000000;
-        }
-
-    .CHChildNote .CHEntry {
-        font-style: italic;
-        font-size: 8pt;
-        }
-
-    .CHIndent {
-        margin-left: 3ex;
-        }
-
-    .CHEntry a:link,
-    .CHEntry a:visited,
-    .CHEntry a:hover {
-        color: #606060;
-        }
-    .CHEntry a:active {
-        color: #800000;
-        }
-
-
-
-
-
-#Index {
-    background-color: #FFFFFF;
-    }
-
-/*  As opposed to .PopupSearchResultsPage #Index  */
-.IndexPage #Index,
-.FramedIndexPage #Index,
-.FramedSearchResultsPage #Index {
-    padding: 15px;
-    }
-
-.IndexPage #Index {
-    border-width: 0 0 1px 1px;
-    border-style: solid;
-    border-color: #000000;
-    font-size: 9pt;  /* To make 27ex match the menu's 27ex. */
-    margin-left: 27ex;
-    }
-
-
-    .IPageTitle {
-        font-size: 20pt; font-weight: bold;
-        color: #FFFFFF; background-color: #7070C0;
-        padding: 10px 15px 10px 15px;
-        border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
-        margin: -15px -15px 0 -15px }
-
-    .FramedSearchResultsPage .IPageTitle {
-        margin-bottom: 15px;
-        }
-
-    .INavigationBar {
-        font-size: 10pt;
-        text-align: center;
-        background-color: #FFFFF0;
-        padding: 5px;
-        border-bottom: solid 1px black;
-        margin: 0 -15px 15px -15px;
-        }
-
-    .INavigationBar a {
-        font-weight: bold }
-
-    .IHeading {
-        font-size: 16pt; font-weight: bold;
-        padding: 2.5em 0 .5em 0;
-        text-align: center;
-        width: 3.5ex;
-        }
-    #IFirstHeading {
-        padding-top: 0;
-        }
-
-    .IEntry {
-        font-size: 10pt;
-        padding-left: 1ex;
-        }
-    .PopupSearchResultsPage .IEntry {
-        font-size: 8pt;
-        padding: 1px 5px;
-        }
-    .PopupSearchResultsPage .Opera9 .IEntry,
-    .FramedSearchResultsPage .Opera9 .IEntry {
-        text-align: left;
-        }
-    .FramedSearchResultsPage .IEntry {
-        padding: 0;
-        }
-
-    .ISubIndex {
-        padding-left: 3ex; padding-bottom: .5em }
-    .PopupSearchResultsPage .ISubIndex {
-        display: none;
-        }
-
-    /*  While it may cause some entries to look like links when they aren't, I found it's much easier to read the
-         index if everything's the same color.  */
-    .ISymbol {
-        font-weight: bold; color: #900000  }
-
-    .IndexPage .ISymbolPrefix,
-    .FramedIndexPage .ISymbolPrefix {
-        font-size: 10pt;
-        text-align: right;
-        color: #C47C7C;
-        background-color: #F8F8F8;
-        border-right: 3px solid #E0E0E0;
-        border-left: 1px solid #E0E0E0;
-        padding: 0 1px 0 2px;
-        }
-    .PopupSearchResultsPage .ISymbolPrefix,
-    .FramedSearchResultsPage .ISymbolPrefix {
-        color: #900000;
-        }
-    .PopupSearchResultsPage .ISymbolPrefix {
-        font-size: 8pt;
-        }
-
-    .IndexPage #IFirstSymbolPrefix,
-    .FramedIndexPage #IFirstSymbolPrefix {
-        border-top: 1px solid #E0E0E0;
-        }
-    .IndexPage #ILastSymbolPrefix,
-    .FramedIndexPage #ILastSymbolPrefix {
-        border-bottom: 1px solid #E0E0E0;
-        }
-    .IndexPage #IOnlySymbolPrefix,
-    .FramedIndexPage #IOnlySymbolPrefix {
-        border-top: 1px solid #E0E0E0;
-        border-bottom: 1px solid #E0E0E0;
-        }
-
-    a.IParent,
-    a.IFile {
-        display: block;
-        }
-
-    .PopupSearchResultsPage .SRStatus {
-        padding: 2px 5px;
-        font-size: 8pt;
-        font-style: italic;
-        }
-    .FramedSearchResultsPage .SRStatus {
-        font-size: 10pt;
-        font-style: italic;
-        }
-
-    .SRResult {
-        display: none;
-        }
-
-
-
-#Footer {
-    font-size: 8pt;
-    color: #989898;
-    text-align: right;
-    }
-
-#Footer p {
-    text-indent: 0;
-    margin-bottom: .5em;
-    }
-
-.ContentPage #Footer,
-.IndexPage #Footer {
-    text-align: right;
-    margin: 2px;
-    }
-
-.FramedMenuPage #Footer {
-    text-align: center;
-    margin: 5em 10px 10px 10px;
-    padding-top: 1em;
-    border-top: 1px solid #C8C8C8;
-    }
-
-    #Footer a:link,
-    #Footer a:hover,
-    #Footer a:visited { color: #989898 }
-    #Footer a:active { color: #A00000 }
-
--- a/htdocs/svg-edit/editor/embedapi.js	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-function embedded_svg_edit(frame){
-  //initialize communication
-  this.frame = frame;
-  this.stack = []; //callback stack
-  
-  var editapi = this;
-  
-  window.addEventListener("message", function(e){
-    if(e.data.substr(0,5) == "ERROR"){
-      editapi.stack.splice(0,1)[0](e.data,"error")
-    }else{
-      editapi.stack.splice(0,1)[0](e.data)
-    }
-  }, false)
-}
-
-embedded_svg_edit.prototype.call = function(code, callback){
-  this.stack.push(callback);
-  this.frame.contentWindow.postMessage(code,"*");
-}
-
-embedded_svg_edit.prototype.getSvgString = function(callback){
-  this.call("svgCanvas.getSvgString()",callback)
-}
-
-embedded_svg_edit.prototype.setSvgString = function(svg){
-  this.call("svgCanvas.setSvgString('"+svg.replace(/'/g, "\\'")+"')");
-}
-*/
-
-
-/*
-Embedded SVG-edit API
-
-General usage:
-- Have an iframe somewhere pointing to a version of svg-edit > r1000
-- Initialize the magic with:
-var svgCanvas = new embedded_svg_edit(window.frames['svgedit']);
-- Pass functions in this format:
-svgCanvas.setSvgString("string")
-- Or if a callback is needed:
-svgCanvas.setSvgString("string")(function(data, error){
-  if(error){
-    //there was an error
-  }else{
-    //handle data
-  }
-})
-
-Everything is done with the same API as the real svg-edit, 
-and all documentation is unchanged. The only difference is
-when handling returns, the callback notation is used instead. 
-
-var blah = new embedded_svg_edit(window.frames['svgedit']);
-blah.clearSelection("woot","blah",1337,[1,2,3,4,5,"moo"],-42,{a: "tree",b:6, c: 9})(function(){console.log("GET DATA",arguments)})
-*/
-
-function embedded_svg_edit(frame){
-  //initialize communication
-  this.frame = frame;
-  //this.stack = [] //callback stack
-  this.callbacks = {}; //successor to stack
-  this.encode = embedded_svg_edit.encode;
-  //List of functions extracted with this:
-  //Run in firebug on http://svg-edit.googlecode.com/svn/trunk/docs/files/svgcanvas-js.html
-  
-  //for(var i=0,q=[],f = document.querySelectorAll("div.CFunction h3.CTitle a");i<f.length;i++){q.push(f[i].name)};q
-  //var functions = ["clearSelection", "addToSelection", "removeFromSelection", "open", "save", "getSvgString", "setSvgString", "createLayer", "deleteCurrentLayer", "getNumLayers", "getLayer", "getCurrentLayer", "setCurrentLayer", "renameCurrentLayer", "setCurrentLayerPosition", "getLayerVisibility", "setLayerVisibility", "moveSelectedToLayer", "getLayerOpacity", "setLayerOpacity", "clear"];
-  
-  
-  //Newer, well, it extracts things that aren't documented as well. All functions accessible through the normal thingy can now be accessed though the API
-  //var l=[];for(var i in svgCanvas){if(typeof svgCanvas[i] == "function"){l.push(i)}};
-  //run in svgedit itself
-  var functions = ["updateElementFromJson", "embedImage", "fixOperaXML", "clearSelection", "addToSelection", "removeFromSelection", "addNodeToSelection", "open", "save", "getSvgString", "setSvgString", "createLayer", "deleteCurrentLayer", "getNumLayers", "getLayer", "getCurrentLayer", "setCurrentLayer", "renameCurrentLayer", "setCurrentLayerPosition", "getLayerVisibility", "setLayerVisibility", "moveSelectedToLayer", "getLayerOpacity", "setLayerOpacity", "clear", "clearPath", "getNodePoint", "clonePathNode", "deletePathNode", "getResolution", "getImageTitle", "setImageTitle", "setResolution", "setBBoxZoom", "setZoom", "getMode", "setMode", "getStrokeColor", "setStrokeColor", "getFillColor", "setFillColor", "setStrokePaint", "setFillPaint", "getStrokeWidth", "setStrokeWidth", "getStrokeStyle", "setStrokeStyle", "getOpacity", "setOpacity", "getFillOpacity", "setFillOpacity", "getStrokeOpacity", "setStrokeOpacity", "getTransformList", "getBBox", "getRotationAngle", "setRotationAngle", "each", "bind", "setIdPrefix", "getBold", "setBold", "getItalic", "setItalic", "getFontFamily", "setFontFamily", "getFontSize", "setFontSize", "getText", "setTextContent", "setImageURL", "setRectRadius", "setSegType", "quickClone", "beginUndoableChange", "changeSelectedAttributeNoUndo", "finishUndoableChange", "changeSelectedAttribute", "deleteSelectedElements", "groupSelectedElements", "ungroupSelectedElement", "moveToTopSelectedElement", "moveToBottomSelectedElement", "moveSelectedElements", "getStrokedBBox", "getVisibleElements", "cycleElement", "getUndoStackSize", "getRedoStackSize", "getNextUndoCommandText", "getNextRedoCommandText", "undo", "redo", "cloneSelectedElements", "alignSelectedElements", "getZoom", "getVersion", "setIconSize", "setLang", "setCustomHandlers"]
-  
-  //TODO: rewrite the following, it's pretty scary.
-  for(var i = 0; i < functions.length; i++){
-    this[functions[i]] = (function(d){
-      return function(){
-        var t = this //new callback
-        for(var g = 0, args = []; g < arguments.length; g++){
-          args.push(arguments[g]);
-        }
-        var cbid = t.send(d,args, function(){})  //the callback (currently it's nothing, but will be set later
-        
-        return function(newcallback){
-          t.callbacks[cbid] = newcallback; //set callback
-        }
-      }
-    })(functions[i])
-  }
-  //TODO: use AddEvent for Trident browsers, currently they dont support SVG, but they do support onmessage
-  var t = this;
-  window.addEventListener("message", function(e){
-    if(e.data.substr(0,4)=="SVGe"){ //because svg-edit is too longish
-      var data = e.data.substr(4);
-      var cbid = data.substr(0, data.indexOf(";"));
-      if(t.callbacks[cbid]){
-        if(data.substr(0,6) != "error:"){
-          t.callbacks[cbid](eval("("+data.substr(cbid.length+1)+")"))
-        }else{
-          t.callbacks[cbid](data, "error");
-        }
-      }
-    }
-    //this.stack.shift()[0](e.data,e.data.substr(0,5) == "ERROR"?'error':null) //replace with shift
-  }, false)
-}
-
-embedded_svg_edit.encode = function(obj){
-  //simple partial JSON encoder implementation
-  if(window.JSON && JSON.stringify) return JSON.stringify(obj);
-  var enc = arguments.callee; //for purposes of recursion
-  
-  if(typeof obj == "boolean" || typeof obj == "number"){
-      return obj+'' //should work...
-  }else if(typeof obj == "string"){
-    //a large portion of this is stolen from Douglas Crockford's json2.js
-    return '"'+
-          obj.replace(
-            /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g
-          , function (a) {
-            return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-          })
-          +'"'; //note that this isn't quite as purtyful as the usualness
-  }else if(obj.length){ //simple hackish test for arrayish-ness
-    for(var i = 0; i < obj.length; i++){
-      obj[i] = enc(obj[i]); //encode every sub-thingy on top
-    }
-    return "["+obj.join(",")+"]";
-  }else{
-    var pairs = []; //pairs will be stored here
-    for(var k in obj){ //loop through thingys
-      pairs.push(enc(k)+":"+enc(obj[k])); //key: value
-    }
-    return "{"+pairs.join(",")+"}" //wrap in the braces
-  }
-}
-
-embedded_svg_edit.prototype.send = function(name, args, callback){
-  var cbid = Math.floor(Math.random()*31776352877+993577).toString();
-  //this.stack.push(callback);
-  this.callbacks[cbid] = callback;
-  for(var argstr = [], i = 0; i < args.length; i++){
-    argstr.push(this.encode(args[i]))
-  }
-  var t = this;
-  setTimeout(function(){//delay for the callback to be set in case its synchronous
-    t.frame.contentWindow.postMessage(cbid+";svgCanvas['"+name+"']("+argstr.join(",")+")","*");
-  }, 0);
-  return cbid;
-  //this.stack.shift()("svgCanvas['"+name+"']("+argstr.join(",")+")")
-}
-
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/htdocs/svg-edit/editor/ext-connector.js	Sun Jan 31 18:35:04 2010 +0100
@@ -0,0 +1,367 @@
+$(function() {
+	svgCanvas.addExtension("Connector", function(vars) {
+		var svgcontent = vars.content,
+			svgroot = vars.root,
+			getNextId = vars.getNextId,
+			getElem = vars.getElem,
+			addElem = vars.addSvgElementFromJson,
+			selManager = vars.selectorManager,
+			started = false,
+			start_x,
+			start_y,
+			cur_line,
+			start_elem,
+			end_elem,
+			connections = [],
+			conn_class = "se_connect",
+			connect_str = "-SE_CONNECT-",
+			selElems;
+			
+		var lang_list = {
+			"en":[
+				{"id": "mode_connect", "title": "Connect two objects" },
+				{"id": "conn_arrow_none", "textContent": "No arrow" },
+				{"id": "conn_arrow_arrow", "textContent": "Arrow" }
+			],
+			"fr":[
+				{"id": "mode_connect", "title": "Connecter deux objets"},
+				{"id": "conn_arrow_none", "textContent": "Sans flèche" },
+				{"id": "conn_arrow_arrow", "textContent": "Flèche" }
+			]
+		};
+		
+		function showPanel(on) {
+			var conn_rules = $('#connector_rules');
+			if(!conn_rules.length) {
+				conn_rules = $('<style id="connector_rules"><\/style>').appendTo('head');
+			} 
+			conn_rules.text(!on?"":"#tool_clone, #tool_topath, #tool_angle, #xy_panel { display: none !important; }");
+			$('#connector_panel').toggle(on);
+			
+			if(on) {
+				var has_arrow = selElems[0].getAttribute("marker-mid");
+				$("#connector_arrow").val(has_arrow?"arrow":"none");
+			}
+		}
+		
+		function setPoint(elem, pos, x, y, setMid) {
+			var pts = elem.points;
+			var pt = svgroot.createSVGPoint();
+			pt.x = x;
+			pt.y = y;
+			if(pos === 'end') pos = pts.numberOfItems-1;
+			// TODO: Test for this on init, then use alt only if needed
+			try {
+				pts.replaceItem(pt, pos);
+			} catch(err) {
+				// Should only occur in FF which formats points attr as "n,n n,n", so just split
+				var pt_arr = elem.getAttribute("points").split(" ");
+				for(var i=0; i< pt_arr.length; i++) {
+					if(i == pos) {
+						pt_arr[i] = x + ',' + y;
+					}
+				}
+				elem.setAttribute("points",pt_arr.join(" ")); 
+			}
+			
+			if(setMid) {
+				// Add center point
+				var pt_start = pts.getItem(0);
+				var pt_end = pts.getItem(pts.numberOfItems-1);
+				setPoint(elem, 1, (pt_end.x + pt_start.x)/2, (pt_end.y + pt_start.y)/2);
+			}
+		}
+		
+		function addArrow() {
+			var defs = vars.findDefs();
+			var m_id = "se_connector_arrow";
+			var marker = getElem(m_id);
+			
+			if(!marker) {
+				marker = addElem({
+					"element": "marker",
+					"attr": {
+						"viewBox": "0 0 10 10",
+						"id": m_id,
+						"refX": 5,
+						"refY": 5,
+						"markerUnits": "strokeWidth",
+						"markerWidth": 16,
+						"markerHeight": 14,
+						"orient": "auto"
+					}
+				});
+				var arrow = addElem({
+					"element": "path",
+					"attr": {
+						"d": "M0,0 L10,5 L0,10 z",
+						"fill": "#000"
+					}
+				});
+				
+				marker.appendChild(arrow);
+				defs.appendChild(marker);
+			}
+			
+			selElems[0].setAttribute("marker-mid", "url(#" + m_id + ")");
+		}
+
+		function remArrow() {
+			selElems[0].removeAttribute("marker-mid");
+		}
+		
+		// Init code
+		(function() {
+			var conn_tools = $('<div id="connector_panel">\
+			<label><select id="connector_arrow">\
+			<option id="conn_arrow_none" value="none">No arrow</option>\
+			<option id="conn_arrow_arrow" value="arrow">Arrow</option>\
+			</select></label></div>"').hide().appendTo("#tools_top");
+			
+			$('#connector_arrow').change(function() {
+				switch ( this.value ) {
+					case "arrow":
+						addArrow();
+						break;
+					case "none":
+						remArrow();
+						break;
+				}
+			});
+
+			vars.extendWhitelist({
+				"marker": ["viewBox", "id", "refX", "refY", "markerUnits", "markerWidth", "markerHeight", "orient"],
+				"polyline": ["class", "marker-mid"]
+			});
+		}());
+		
+		return {
+			name: "Connector",
+			svgicons: "images/conn.svg",
+			buttons: [{
+				id: "mode_connect",
+				type: "mode",
+				icon: "images/cut.png",
+				title: "Connect two objects",
+				key: "L",
+				includeWith: {
+					button: '#tool_line',
+					isDefault: false,
+					position: 1
+				},
+				events: {
+					'click': function() {
+						svgCanvas.setMode("connector");
+					}
+				}
+			}],
+			addLangData: function(lang) {
+				return {
+					data: lang_list[lang]
+				};
+			},
+			mouseDown: function(opts) {
+				var e = opts.event;
+				
+				start_x = opts.start_x,
+				start_y = opts.start_y;
+				var mode = svgCanvas.getMode();
+				
+				if(mode == "connector") {
+					
+					if(started) return;
+					
+					if(e.target.parentNode.parentNode == svgcontent) {
+						// Connectable element
+						start_elem = e.target;
+						
+						// Get center of source element
+						var bb = svgCanvas.getStrokedBBox([start_elem]);
+						var x = bb.x + bb.width/2;
+						var y = bb.y + bb.height/2;
+						
+						started = true;
+						cur_line = addElem({
+							"element": "polyline",
+							"attr": {
+								"points": (x+','+y+' '+x+','+y+' '+start_x+','+start_y),
+								"stroke": '#000',
+								"stroke-width": 1,
+								"fill": "none",
+								"opacity": .5,
+								"style": "pointer-events:none"
+							}
+						});
+					}
+					return {
+						started: true
+					};
+				} else if(mode == "select") {
+					
+					// Check if selected elements have connections
+					var elems = opts.selectedElements;
+					var i = elems.length;
+					var connectors = $(svgcontent).find("." + conn_class);
+					if(!connectors.length) return;
+					connections = [];
+					
+					while(i--) {
+						var elem = elems[i];
+						if(!elem) continue;
+						if(elem.getAttribute('class') == conn_class) continue;
+						var elem_id = elem.id;
+						connectors.each(function() {
+							var con_id = this.id;
+							if(con_id.indexOf(elem_id) != -1) {
+								var is_start = true;
+								if(con_id.indexOf(connect_str + elem_id) != -1) {
+									// Found connector (selected is end elem)
+									is_start = false;
+								}
+								
+								var bb = svgCanvas.getStrokedBBox([elem]);
+								var x = bb.x + bb.width/2;
+								var y = bb.y + bb.height/2;
+								connections.push({
+									elem: elem,
+									connector: this,
+									is_start: is_start,
+									start_x: x,
+									start_y: y
+								});	
+							}
+						});
+					}
+				}
+			},
+			mouseMove: function(opts) {
+				var zoom = svgCanvas.getZoom();
+				var e = opts.event;
+				var x = opts.mouse_x/zoom;
+				var y = opts.mouse_y/zoom;
+				
+				var	diff_x = x - start_x,
+					diff_y = y - start_y;
+									
+				var mode = svgCanvas.getMode();
+				
+				if(mode == "connector" && started) {
+					// Set middle point for marker
+					setPoint(cur_line, 'end', x, y, true);
+				} else if(mode == "select") {
+					var slen = selElems.length;
+					
+					while(slen--) {
+						var elem = selElems[slen];
+						// Look for selected connector elements
+						if(elem && elem.getAttribute('class') == conn_class) {
+							// Remove the "translate" transform given to move
+							svgCanvas.getTransformList(elem).clear();
+						}
+					}
+					if(connections.length) {
+						// Update line with element
+						var i = connections.length;
+						while(i--) {
+							var conn = connections[i];
+							var line = conn.connector;
+							var elem = conn.elem;
+							var pt_x = conn.start_x + diff_x;
+							var pt_y = conn.start_y + diff_y;
+							setPoint(line, conn.is_start?0:'end', pt_x, pt_y, true);
+						}
+					}
+				} 
+			},
+			mouseUp: function(opts) {
+				var zoom = svgCanvas.getZoom();
+				var e = opts.event,
+					x = opts.mouse_x/zoom,
+					y = opts.mouse_y/zoom;
+				
+				if(svgCanvas.getMode() == "connector") {
+					if(e.target.parentNode.parentNode != svgcontent) {
+						// Not a valid target element, so remove line
+						$(cur_line).remove();
+						started = false;
+						return {
+							keep: false,
+							element: null,
+							started: started
+						}
+					} else if(e.target == start_elem) {
+						// Start line through click
+						started = true;
+						return {
+							keep: true,
+							element: null,
+							started: started
+						}						
+					} else {
+						// Valid end element
+						end_elem = e.target;
+						var line_id = start_elem.id + connect_str + end_elem.id;
+						var alt_line_id = end_elem.id + connect_str + start_elem.id;
+						
+						// Don't create connector if one already exists
+						if($('#'+line_id + ', #' + alt_line_id).length) {
+							$(cur_line).remove();
+							return {
+								keep: false,
+								element: null,
+								started: false
+							}
+						}
+						
+						var bb = svgCanvas.getStrokedBBox([end_elem]);
+						var x = bb.x + bb.width/2;
+						var y = bb.y + bb.height/2;
+						setPoint(cur_line, 'end', x, y, true);
+						cur_line.id = line_id;
+						cur_line.setAttribute("class", conn_class);
+						svgCanvas.addToSelection([cur_line]);
+						svgCanvas.moveToBottomSelectedElement();
+						
+						started = false;
+						return {
+							keep: true,
+							element: cur_line,
+							started: started
+						}
+					}
+				}
+			},
+			selectedChanged: function(opts) {
+				
+				// Use this to update the current selected elements
+				selElems = opts.elems;
+				
+				var i = selElems.length;
+				
+				while(i--) {
+					var elem = selElems[i];
+					if(elem && elem.getAttribute('class') == conn_class) {
+						selManager.requestSelector(elem).showGrips(false);
+						
+						if(opts.selectedElement && !opts.multiselected) {
+							// TODO: Set up context tools and hide most regular line tools
+							showPanel(true);
+						} else {
+							showPanel(false);
+						}
+					} else {
+						showPanel(false);
+					}
+				}
+			},
+			elementChanged: function(opts) {
+				var elem = opts.elems[0];
+				if (elem && elem.tagName == 'svg' && elem.id == "svgcontent") {
+					// Update svgcontent (can change on import)
+					svgcontent = elem;
+				}
+				
+			}
+		};
+	});
+});
\ No newline at end of file
--- a/htdocs/svg-edit/editor/images/README.txt	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-filename                        origin
-
-align-bottom.png                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.png
-align-bottom.svg                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.svg
-align-center.png                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.png
-align-center.svg                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.svg
-align-left.png                  http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.png
-align-left.svg                  http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.svg
-align-middle.png                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.png
-align-middle.svg                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.svg
-align-right.png                 http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.png
-align-right.svg                 http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.svg
-align-top.png                   http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.png
-align-top.svg                   http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.svg
-bold.png
-cancel.png
-circle.png
-clear.png
-clone.png
-copy.png
-cut.png
-delete.png
-document-properties.png
-dropdown.gif
-ellipse.png
-eye.png
-flyouth.png
-flyup.gif
-freehand-circle.png
-freehand-square.png
-go-down.png
-go-up.png
-image.png
-italic.png
-line.png
-logo.png
-logo.svg
-move_bottom.png
-move_top.png
-none.png
-open.png
-paste.png
-path.png
-polygon.png                     http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-polygon.png
-polygon.svg                     http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-polygon.svg
-rect.png
-redo.png
-rotate.png
-save.png
-select.png
-sep.png
-shape_group.png
-shape_ungroup.png
-source.png
-square.png
-text.png                        http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.png
-text.svg                        http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.svg
-undo.png
-view-refresh.png
-wave.png
-zoom.png                        http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/page-magnifier.png
Binary file htdocs/svg-edit/editor/images/align-bottom.png has changed
--- a/htdocs/svg-edit/editor/images/align-bottom.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="22"
-   height="22"
-   id="svg5741"
-   sodipodi:version="0.32"
-   inkscape:version="0.44+devel"
-   version="1.0"
-   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
-   sodipodi:docname="align-bottom-vertical.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-bottom-vertical.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   sodipodi:modified="true">
-  <defs
-     id="defs5743">
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2968"
-       id="linearGradient6938"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2974"
-       id="linearGradient6936"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2986"
-       id="linearGradient6934"
-       gradientUnits="userSpaceOnUse"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2980"
-       id="linearGradient6932"
-       gradientUnits="userSpaceOnUse"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       id="linearGradient2968"
-       inkscape:collect="always">
-      <stop
-         id="stop2970"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2972"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2968"
-       id="linearGradient6930"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2974"
-       inkscape:collect="always">
-      <stop
-         id="stop2976"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2978"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2974"
-       id="linearGradient6928"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       id="linearGradient2986"
-       inkscape:collect="always">
-      <stop
-         id="stop2988"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2990"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2986"
-       id="linearGradient6926"
-       gradientUnits="userSpaceOnUse"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2980"
-       inkscape:collect="always">
-      <stop
-         id="stop2982"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2984"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2980"
-       id="linearGradient6924"
-       gradientUnits="userSpaceOnUse"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="22.197802"
-     inkscape:cx="8"
-     inkscape:cy="9.8019802"
-     inkscape:current-layer="g6828"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     width="22px"
-     height="22px"
-     inkscape:window-width="1078"
-     inkscape:window-height="786"
-     inkscape:window-x="243"
-     inkscape:window-y="71" />
-  <metadata
-     id="metadata5746">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <g
-       style="display:inline"
-       id="g6828"
-       transform="translate(30.00011,90.000366)"
-       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
-      <g
-         style="display:inline"
-         id="g6838"
-         transform="translate(-30.00009,-1.0002798)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90">
-        <rect
-           style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-           id="rect3052"
-           width="12"
-           height="7"
-           x="69.500122"
-           y="12.5"
-           transform="matrix(0,-1,1,0,0,0)"
-           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-           inkscape:export-xdpi="90"
-           inkscape:export-ydpi="90" />
-        <rect
-           style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-           id="rect3054"
-           width="10"
-           height="5.0000305"
-           x="70.500122"
-           y="13.5"
-           transform="matrix(0,-1,1,0,0,0)"
-           rx="0"
-           ry="0"
-           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-           inkscape:export-xdpi="90"
-           inkscape:export-ydpi="90" />
-        <g
-           id="g3056"
-           transform="translate(-127,-559)"
-           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-           inkscape:export-xdpi="90"
-           inkscape:export-ydpi="90">
-          <rect
-             transform="matrix(0,-1,1,0,0,0)"
-             y="129.49626"
-             x="-489.49979"
-             height="7.0035982"
-             width="17.999748"
-             id="rect3058"
-             style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
-          <rect
-             transform="matrix(0,-1,1,0,0,0)"
-             y="130.50006"
-             x="-488.50009"
-             height="4.9998937"
-             width="15.999757"
-             id="rect3060"
-             style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-             rx="0"
-             ry="0" />
-        </g>
-        <g
-           id="g3294"
-           transform="translate(-187,-560)"
-           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-           inkscape:export-xdpi="90"
-           inkscape:export-ydpi="90">
-          <rect
-             y="489.5"
-             x="196.49989"
-             height="1.9999999"
-             width="3.0000916"
-             id="rect3296"
-             style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-          <path
-             style="fill:url(#linearGradient6932);fill-opacity:1;stroke:url(#linearGradient6934);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-             d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
-             id="path3298"
-             sodipodi:nodetypes="cccc" />
-          <path
-             style="fill:url(#linearGradient6936);fill-opacity:1;stroke:url(#linearGradient6938);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-             d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
-             id="path3300"
-             sodipodi:nodetypes="cccc" />
-        </g>
-      </g>
-    </g>
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/align-center.png has changed
--- a/htdocs/svg-edit/editor/images/align-center.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="22"
-   height="22"
-   id="svg10958"
-   sodipodi:version="0.32"
-   inkscape:version="0.44+devel"
-   version="1.0"
-   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
-   sodipodi:docname="align-horisontal-center.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-center.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   sodipodi:modified="true">
-  <defs
-     id="defs10960">
-    <linearGradient
-       id="linearGradient2968"
-       inkscape:collect="always">
-      <stop
-         id="stop2970"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2972"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2968"
-       id="linearGradient4708"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-395.9999,-981)"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2974"
-       inkscape:collect="always">
-      <stop
-         id="stop2976"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2978"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2974"
-       id="linearGradient4706"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-395.9999,-981)"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       id="linearGradient2986"
-       inkscape:collect="always">
-      <stop
-         id="stop2988"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2990"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2986"
-       id="linearGradient4704"
-       gradientUnits="userSpaceOnUse"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2980"
-       inkscape:collect="always">
-      <stop
-         id="stop2982"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2984"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2980"
-       id="linearGradient4702"
-       gradientUnits="userSpaceOnUse"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="11.197802"
-     inkscape:cx="16"
-     inkscape:cy="11.460711"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     width="22px"
-     height="22px"
-     inkscape:window-width="797"
-     inkscape:window-height="628"
-     inkscape:window-x="0"
-     inkscape:window-y="47" />
-  <metadata
-     id="metadata10963">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <g
-       style="display:inline"
-       id="g4044"
-       transform="matrix(0,-1,1,0,-59.999911,-168.00002)"
-       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
-      <rect
-         style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-         id="rect3851"
-         width="12"
-         height="7"
-         x="-76.499878"
-         y="-177.5"
-         transform="matrix(0,-1,1,0,0,0)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90" />
-      <g
-         transform="translate(-317,-410)"
-         id="g3853"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90"
-         style="display:inline">
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="129.49626"
-           x="-489.49979"
-           height="7.0035982"
-           width="17.999748"
-           id="rect3855"
-           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="130.50006"
-           x="-488.50009"
-           height="4.9998937"
-           width="15.999757"
-           id="rect3857"
-           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-           rx="0"
-           ry="0" />
-      </g>
-      <rect
-         style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-         id="rect3859"
-         width="10"
-         height="5.0000305"
-         x="-75.499878"
-         y="-176.5"
-         transform="matrix(0,-1,1,0,0,0)"
-         rx="0"
-         ry="0"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90" />
-      <g
-         id="g3861"
-         transform="translate(-377,-420)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90"
-         style="display:inline">
-        <rect
-           y="489.5"
-           x="186.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3863"
-           style="fill:url(#linearGradient4702);fill-opacity:1;stroke:url(#linearGradient4704);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           y="489.5"
-           x="191.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3865"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           y="489.5"
-           x="196.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3867"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           y="489.5"
-           x="201.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3869"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           transform="scale(-1,-1)"
-           y="-491.5"
-           x="-209.49998"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3871"
-           style="fill:url(#linearGradient4706);fill-opacity:1;stroke:url(#linearGradient4708);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-      </g>
-    </g>
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/align-left.png has changed
--- a/htdocs/svg-edit/editor/images/align-left.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="22"
-   height="22"
-   id="svg11272"
-   sodipodi:version="0.32"
-   inkscape:version="0.44+devel"
-   version="1.0"
-   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
-   sodipodi:docname="align-horisontal-left.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-left.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   sodipodi:modified="true">
-  <defs
-     id="defs11274">
-    <linearGradient
-       id="linearGradient2968"
-       inkscape:collect="always">
-      <stop
-         id="stop2970"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2972"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2968"
-       id="linearGradient4716"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2974"
-       inkscape:collect="always">
-      <stop
-         id="stop2976"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2978"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2974"
-       id="linearGradient4714"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       id="linearGradient2986"
-       inkscape:collect="always">
-      <stop
-         id="stop2988"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2990"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2986"
-       id="linearGradient4712"
-       gradientUnits="userSpaceOnUse"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2980"
-       inkscape:collect="always">
-      <stop
-         id="stop2982"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2984"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2980"
-       id="linearGradient4710"
-       gradientUnits="userSpaceOnUse"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="11.197802"
-     inkscape:cx="16"
-     inkscape:cy="14.269093"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     width="22px"
-     height="22px"
-     inkscape:window-width="797"
-     inkscape:window-height="628"
-     inkscape:window-x="0"
-     inkscape:window-y="47" />
-  <metadata
-     id="metadata11277">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <g
-       style="display:inline"
-       id="g4065"
-       transform="matrix(0,-1,1,0,8.9287758e-5,51.99998)"
-       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
-      <g
-         id="g3883"
-         transform="translate(-127,-473)"
-         style="fill:#d3d7cf;stroke:#888a85;display:inline"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90">
-        <rect
-           transform="matrix(0,1,1,0,0,0)"
-           y="169.5"
-           x="475.50012"
-           height="7"
-           width="12"
-           id="rect3885"
-           style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           ry="0"
-           rx="0"
-           transform="matrix(0,1,1,0,0,0)"
-           y="170.5"
-           x="476.50012"
-           height="5.0000305"
-           width="10"
-           id="rect3887"
-           style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-      </g>
-      <g
-         id="g3889"
-         transform="translate(-97,-469)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90"
-         style="display:inline">
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="129.49626"
-           x="-489.49979"
-           height="7.0035982"
-           width="17.999748"
-           id="rect3891"
-           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="130.50006"
-           x="-488.50009"
-           height="4.9998937"
-           width="15.999757"
-           id="rect3893"
-           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-           rx="0"
-           ry="0" />
-      </g>
-      <g
-         id="g3903"
-         transform="translate(-157,-488)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90"
-         style="display:inline">
-        <rect
-           y="489.5"
-           x="196.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3905"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <path
-           style="fill:url(#linearGradient4710);fill-opacity:1;stroke:url(#linearGradient4712);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-           d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
-           id="path3907"
-           sodipodi:nodetypes="cccc" />
-        <path
-           style="fill:url(#linearGradient4714);fill-opacity:1;stroke:url(#linearGradient4716);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-           d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
-           id="path3909"
-           sodipodi:nodetypes="cccc" />
-      </g>
-    </g>
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/align-middle.png has changed
--- a/htdocs/svg-edit/editor/images/align-middle.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="22"
-   height="22"
-   id="svg10625"
-   sodipodi:version="0.32"
-   inkscape:version="0.44+devel"
-   version="1.0"
-   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
-   sodipodi:docname="align-vertical-center.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-vertical-center.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   sodipodi:modified="true">
-  <defs
-     id="defs10627">
-    <linearGradient
-       id="linearGradient2968"
-       inkscape:collect="always">
-      <stop
-         id="stop2970"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2972"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2968"
-       id="linearGradient6962"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-395.9999,-981)"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2974"
-       inkscape:collect="always">
-      <stop
-         id="stop2976"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2978"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2974"
-       id="linearGradient6960"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-395.9999,-981)"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       id="linearGradient2986"
-       inkscape:collect="always">
-      <stop
-         id="stop2988"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2990"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2986"
-       id="linearGradient6958"
-       gradientUnits="userSpaceOnUse"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2980"
-       inkscape:collect="always">
-      <stop
-         id="stop2982"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2984"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2980"
-       id="linearGradient6956"
-       gradientUnits="userSpaceOnUse"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="11.197802"
-     inkscape:cx="16"
-     inkscape:cy="16"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     width="22px"
-     height="22px"
-     inkscape:window-width="797"
-     inkscape:window-height="628"
-     inkscape:window-x="0"
-     inkscape:window-y="47" />
-  <metadata
-     id="metadata10630">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <g
-       style="display:inline"
-       id="g6849"
-       transform="translate(-29.999893,91.000089)"
-       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
-      <rect
-         style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-         id="rect1933"
-         width="12"
-         height="7"
-         x="73.500122"
-         y="42.5"
-         transform="matrix(0,-1,1,0,0,0)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90" />
-      <g
-         transform="translate(-97,-560)"
-         id="g2063"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90">
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="129.49626"
-           x="-489.49979"
-           height="7.0035982"
-           width="17.999748"
-           id="rect1935"
-           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="130.50006"
-           x="-488.50009"
-           height="4.9998937"
-           width="15.999757"
-           id="rect1937"
-           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-           rx="0"
-           ry="0" />
-      </g>
-      <rect
-         style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-         id="rect1939"
-         width="10"
-         height="5.0000305"
-         x="74.500122"
-         y="43.5"
-         transform="matrix(0,-1,1,0,0,0)"
-         rx="0"
-         ry="0"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90" />
-      <g
-         id="g2992"
-         transform="translate(-157,-570)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90">
-        <rect
-           y="489.5"
-           x="186.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect2994"
-           style="fill:url(#linearGradient6956);fill-opacity:1;stroke:url(#linearGradient6958);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           y="489.5"
-           x="191.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect2996"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           y="489.5"
-           x="196.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect2998"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           y="489.5"
-           x="201.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3000"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           transform="scale(-1,-1)"
-           y="-491.5"
-           x="-209.49998"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3002"
-           style="fill:url(#linearGradient6960);fill-opacity:1;stroke:url(#linearGradient6962);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-      </g>
-    </g>
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/align-right.png has changed
--- a/htdocs/svg-edit/editor/images/align-right.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="22"
-   height="22"
-   id="svg11187"
-   sodipodi:version="0.32"
-   inkscape:version="0.44+devel"
-   version="1.0"
-   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
-   sodipodi:docname="align-horisontal-right.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   sodipodi:modified="TRUE"
-   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-right.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <defs
-     id="defs11189">
-    <linearGradient
-       id="linearGradient2968"
-       inkscape:collect="always">
-      <stop
-         id="stop2970"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2972"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2968"
-       id="linearGradient4732"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2974"
-       inkscape:collect="always">
-      <stop
-         id="stop2976"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2978"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2974"
-       id="linearGradient4730"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       id="linearGradient2986"
-       inkscape:collect="always">
-      <stop
-         id="stop2988"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2990"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2986"
-       id="linearGradient4728"
-       gradientUnits="userSpaceOnUse"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2980"
-       inkscape:collect="always">
-      <stop
-         id="stop2982"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2984"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2980"
-       id="linearGradient4726"
-       gradientUnits="userSpaceOnUse"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="11.197802"
-     inkscape:cx="16"
-     inkscape:cy="16"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     width="22px"
-     height="22px"
-     inkscape:window-width="797"
-     inkscape:window-height="628"
-     inkscape:window-x="0"
-     inkscape:window-y="47" />
-  <metadata
-     id="metadata11192">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <g
-       style="display:inline"
-       id="g4025"
-       transform="matrix(0,-1,1,0,-60.999914,-198.00011)"
-       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
-      <rect
-         style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-         id="rect3873"
-         width="12"
-         height="7"
-         x="-80.499878"
-         y="-207.5"
-         transform="matrix(0,-1,1,0,0,0)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90" />
-      <rect
-         style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-         id="rect3875"
-         width="10"
-         height="5.0000305"
-         x="-79.499878"
-         y="-206.5"
-         transform="matrix(0,-1,1,0,0,0)"
-         rx="0"
-         ry="0"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90" />
-      <g
-         id="g3877"
-         transform="translate(-347,-409)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90"
-         style="display:inline">
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="129.49626"
-           x="-489.49979"
-           height="7.0035982"
-           width="17.999748"
-           id="rect3879"
-           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="130.50006"
-           x="-488.50009"
-           height="4.9998937"
-           width="15.999757"
-           id="rect3881"
-           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-           rx="0"
-           ry="0" />
-      </g>
-      <g
-         id="g3919"
-         transform="translate(-407,-410)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90"
-         style="display:inline">
-        <rect
-           y="489.5"
-           x="196.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3921"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <path
-           style="fill:url(#linearGradient4726);fill-opacity:1;stroke:url(#linearGradient4728);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-           d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
-           id="path3923"
-           sodipodi:nodetypes="cccc" />
-        <path
-           style="fill:url(#linearGradient4730);fill-opacity:1;stroke:url(#linearGradient4732);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-           d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
-           id="path3925"
-           sodipodi:nodetypes="cccc" />
-      </g>
-    </g>
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/align-top.png has changed
--- a/htdocs/svg-edit/editor/images/align-top.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="22"
-   height="22"
-   id="svg10699"
-   sodipodi:version="0.32"
-   inkscape:version="0.44+devel"
-   version="1.0"
-   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
-   sodipodi:docname="align-vertical-bottom.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-vertical-bottom.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   sodipodi:modified="true">
-  <defs
-     id="defs10701">
-    <linearGradient
-       id="linearGradient2968"
-       inkscape:collect="always">
-      <stop
-         id="stop2970"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2972"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2968"
-       id="linearGradient6954"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2974"
-       inkscape:collect="always">
-      <stop
-         id="stop2976"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2978"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2974"
-       id="linearGradient6952"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-    <linearGradient
-       id="linearGradient2986"
-       inkscape:collect="always">
-      <stop
-         id="stop2988"
-         offset="0"
-         style="stop-color:#ce5c00;stop-opacity:1" />
-      <stop
-         id="stop2990"
-         offset="1"
-         style="stop-color:#ce5c00;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2986"
-       id="linearGradient6950"
-       gradientUnits="userSpaceOnUse"
-       x1="187.60938"
-       y1="489.35938"
-       x2="186.93732"
-       y2="489.35938" />
-    <linearGradient
-       id="linearGradient2980"
-       inkscape:collect="always">
-      <stop
-         id="stop2982"
-         offset="0"
-         style="stop-color:#fcaf3e;stop-opacity:1" />
-      <stop
-         id="stop2984"
-         offset="1"
-         style="stop-color:#fcaf3e;stop-opacity:0" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2980"
-       id="linearGradient6948"
-       gradientUnits="userSpaceOnUse"
-       x1="187.81554"
-       y1="489.54688"
-       x2="187.1716"
-       y2="489.54688" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="11.197802"
-     inkscape:cx="16"
-     inkscape:cy="16"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     width="22px"
-     height="22px"
-     inkscape:window-width="797"
-     inkscape:window-height="628"
-     inkscape:window-x="0"
-     inkscape:window-y="47" />
-  <metadata
-     id="metadata10704">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <g
-       style="display:inline"
-       id="g6862"
-       transform="translate(-59.99998,90)"
-       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
-      <g
-         id="g3084"
-         transform="translate(-97,-563)"
-         style="fill:#d3d7cf;stroke:#888a85"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90">
-        <rect
-           transform="matrix(0,1,1,0,0,0)"
-           y="169.5"
-           x="475.50012"
-           height="7"
-           width="12"
-           id="rect3086"
-           style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <rect
-           ry="0"
-           rx="0"
-           transform="matrix(0,1,1,0,0,0)"
-           y="170.5"
-           x="476.50012"
-           height="5.0000305"
-           width="10"
-           id="rect3088"
-           style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-      </g>
-      <g
-         id="g3090"
-         transform="translate(-67,-559)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90">
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="129.49626"
-           x="-489.49979"
-           height="7.0035982"
-           width="17.999748"
-           id="rect3092"
-           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
-        <rect
-           transform="matrix(0,-1,1,0,0,0)"
-           y="130.50006"
-           x="-488.50009"
-           height="4.9998937"
-           width="15.999757"
-           id="rect3094"
-           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-           rx="0"
-           ry="0" />
-      </g>
-      <g
-         id="g3262"
-         transform="translate(-127,-578)"
-         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
-         inkscape:export-xdpi="90"
-         inkscape:export-ydpi="90">
-        <rect
-           y="489.5"
-           x="196.49989"
-           height="1.9999999"
-           width="3.0000916"
-           id="rect3264"
-           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
-        <path
-           style="fill:url(#linearGradient6948);fill-opacity:1;stroke:url(#linearGradient6950);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-           d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
-           id="path3266"
-           sodipodi:nodetypes="cccc" />
-        <path
-           style="fill:url(#linearGradient6952);fill-opacity:1;stroke:url(#linearGradient6954);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
-           d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
-           id="path3268"
-           sodipodi:nodetypes="cccc" />
-      </g>
-    </g>
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/bold.png has changed
Binary file htdocs/svg-edit/editor/images/cancel.png has changed
Binary file htdocs/svg-edit/editor/images/circle.png has changed
Binary file htdocs/svg-edit/editor/images/clear.png has changed
Binary file htdocs/svg-edit/editor/images/clone.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/htdocs/svg-edit/editor/images/conn.svg	Sun Jan 31 18:35:04 2010 +0100
@@ -0,0 +1,29 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+	<g id="mode_connect">
+		<svg viewBox="0 0 24 24" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">
+		 <defs>
+
+		  <line stroke-width="5" fill="none" stroke="#000000" id="svg_2" y2="121" x2="136" y1="7" x1="136">
+		   <stop stop-opacity="1" stop-color="#4687a0"/>
+		   <stop stop-opacity="1" stop-color="#ffffff"/>
+		  </line>
+		  <linearGradient y2="0.18359" x2="0.29688" y1="0.92188" x1="0.62109" id="svg_3">
+		   <stop stop-opacity="1" stop-color="#417dad" offset="0"/>
+		   <stop stop-opacity="1" stop-color="#ffffff" offset="1"/>
+		  </linearGradient>
+		 </defs>
+		 <g>
+		  <title>Layer 1</title>
+		  <line x1="5.64676" y1="5.60056" x2="18.50037" y2="18.62557" id="svg_5" stroke="#000000" fill="none"/>
+		  <rect opacity="0.75" stroke-width="0.5" x="0.5" y="0.5" width="9.625" height="5.125" id="svg_1" fill="url(#svg_3)" stroke="#000000"/>
+		  <rect opacity="0.75" id="svg_4" stroke-width="0.5" x="13.75" y="18.25" width="9.625" height="5.125" fill="url(#svg_3)" stroke="#000000"/>
+		  <g id="svg_9">
+		   <path d="m14.57119,9.12143l-0.98244,5.18852l2.70861,-4.36084" id="svg_6" fill="#a0a0a0" stroke="#000000"/>
+		   <path d="m14.27564,6.76258c-0.25872,0.72562 -0.40735,1.65632 -0.33812,2.15432l2.90784,1.2509c0.30961,-0.21212 1.08198,-1.1814 1.08198,-1.73736" id="svg_7" fill="url(#svg_3)" stroke="#000000"/>
+		   <path d="m16.28893,0.37519l-2.46413,5.9304l4.76481,2.39435l2.13178,-4.96735" id="svg_8" fill="url(#svg_3)" stroke="#000000"/>
+		  </g>
+		 </g>
+		</svg>
+	</g>
+	<g id="svg_eof"/>
+</svg>
\ No newline at end of file
Binary file htdocs/svg-edit/editor/images/copy.png has changed
Binary file htdocs/svg-edit/editor/images/cut.png has changed
Binary file htdocs/svg-edit/editor/images/delete.png has changed
Binary file htdocs/svg-edit/editor/images/document-properties.png has changed
Binary file htdocs/svg-edit/editor/images/dropdown.gif has changed
Binary file htdocs/svg-edit/editor/images/ellipse.png has changed
Binary file htdocs/svg-edit/editor/images/eye.png has changed
Binary file htdocs/svg-edit/editor/images/fhpath.png has changed
Binary file htdocs/svg-edit/editor/images/flyouth.png has changed
Binary file htdocs/svg-edit/editor/images/flyup.gif has changed
Binary file htdocs/svg-edit/editor/images/freehand-circle.png has changed
Binary file htdocs/svg-edit/editor/images/freehand-square.png has changed
Binary file htdocs/svg-edit/editor/images/go-down.png has changed
Binary file htdocs/svg-edit/editor/images/go-up.png has changed
Binary file htdocs/svg-edit/editor/images/image.png has changed
Binary file htdocs/svg-edit/editor/images/italic.png has changed
Binary file htdocs/svg-edit/editor/images/line.png has changed
Binary file htdocs/svg-edit/editor/images/link_controls.png has changed
Binary file htdocs/svg-edit/editor/images/logo.png has changed
--- a/htdocs/svg-edit/editor/images/logo.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   viewBox="0 0 600 600"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   width="48"
-   height="48"
-   sodipodi:docname="logo.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   version="1.0"
-   inkscape:export-filename="logo.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <sodipodi:namedview
-     inkscape:window-height="858"
-     inkscape:window-width="911"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     guidetolerance="10.0"
-     gridtolerance="10.0"
-     objecttolerance="10.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base"
-     showgrid="false"
-     inkscape:zoom="11.352818"
-     inkscape:cx="27.728302"
-     inkscape:cy="25.018074"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:current-layer="a32" />
-  <defs
-     id="defs14280">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective71" />
-    <linearGradient
-       gradientUnits="userSpaceOnUse"
-       id="XMLID_16_"
-       x1="67.8452"
-       x2="144.5898"
-       y1="115.5361"
-       y2="115.5361">
-      <stop
-         id="stop780"
-         offset="0"
-         stop-color="#7D7D99" />
-      <stop
-         id="stop781"
-         offset="0.1798"
-         stop-color="#B1B1C5" />
-      <stop
-         id="stop782"
-         offset="0.3727"
-         stop-color="#BCBCC8" />
-      <stop
-         id="stop783"
-         offset="0.6825"
-         stop-color="#C8C8CB" />
-      <stop
-         id="stop784"
-         offset="1"
-         stop-color="#CCC" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(-0.999,4.35e-2,4.35e-2,0.999,-1277.01,-496.517)"
-       gradientUnits="userSpaceOnUse"
-       id="XMLID_15_"
-       x1="-1401.459"
-       x2="-1354.6851"
-       y1="595.63092"
-       y2="699.47632">
-      <stop
-         id="stop770"
-         offset="0"
-         stop-color="#FFA700" />
-      <stop
-         id="stop771"
-         offset="0.7753"
-         stop-color="#FFD700" />
-      <stop
-         id="stop772"
-         offset="1"
-         stop-color="#FF9200" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(-0.999,4.35e-2,4.35e-2,0.999,-1277.01,-496.517)"
-       gradientUnits="userSpaceOnUse"
-       id="XMLID_14_"
-       x1="-1336.4497"
-       x2="-1325.3219"
-       y1="635.79492"
-       y2="622.53333">
-      <stop
-         id="stop763"
-         offset="0"
-         stop-color="#FFC957" />
-      <stop
-         id="stop764"
-         offset="1"
-         stop-color="#FF6D00" />
-    </linearGradient>
-    <linearGradient
-       gradientUnits="userSpaceOnUse"
-       id="XMLID_13_"
-       x1="65.094704"
-       x2="137.6021"
-       y1="-0.79540002"
-       y2="160.1823">
-      <stop
-         id="stop750"
-         offset="0"
-         stop-color="#FFA700" />
-      <stop
-         id="stop751"
-         offset="0.7753"
-         stop-color="#FFD700" />
-      <stop
-         id="stop752"
-         offset="1"
-         stop-color="#FF794B" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(-0.999,4.35e-2,4.35e-2,0.999,-1277.01,-496.517)"
-       gradientUnits="userSpaceOnUse"
-       id="XMLID_12_"
-       x1="-1375.9844"
-       x2="-1355.0455"
-       y1="685.38092"
-       y2="706.32172">
-      <stop
-         id="stop743"
-         offset="0"
-         stop-color="#F8F1DC" />
-      <stop
-         id="stop744"
-         offset="1"
-         stop-color="#D6A84A" />
-    </linearGradient>
-    <linearGradient
-       gradientTransform="matrix(0.1991,0.98,-0.98,0.1991,91.6944,573.565)"
-       gradientUnits="userSpaceOnUse"
-       id="XMLID_11_"
-       x1="-481.70071"
-       x2="-360.24561"
-       y1="-94.419403"
-       y2="-164.22141">
-      <stop
-         id="stop736"
-         offset="0"
-         stop-color="#900" />
-      <stop
-         id="stop737"
-         offset="1"
-         stop-color="#7C0000" />
-    </linearGradient>
-    <clipPath
-       clipPathUnits="userSpaceOnUse"
-       id="clipPath4418">
-      <rect
-         height="79.958374"
-         id="rect4420"
-         stroke-miterlimit="4"
-         style="fill:none;stroke:#000000;stroke-width:0.14421287;stroke-miterlimit:4;stroke-dasharray:none"
-         transform="scale(-1,1)"
-         width="73.952118"
-         x="-196.68831"
-         y="126.58712" />
-    </clipPath>
-  </defs>
-  <metadata
-     id="metadata30">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <a
-     xlink:href="http://svg-edit.googlecode.com/"
-     xlink:title="SVG-edit, an in-browser vector graphics editor"
-     target="_blank"
-     id="a32">
-    <path
-       sodipodi:type="star"
-       style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3216"
-       sodipodi:sides="8"
-       sodipodi:cx="239.79607"
-       sodipodi:cy="346.96844"
-       sodipodi:r1="194.03661"
-       sodipodi:r2="155.59306"
-       sodipodi:arg1="0.78539816"
-       sodipodi:arg2="1.1780972"
-       inkscape:flatsided="false"
-       inkscape:rounded="0"
-       inkscape:randomized="0"
-       d="M 377.00067,484.17304 L 299.33895,490.71769 L 239.79607,541.00505 L 180.25318,490.71769 L 102.59147,484.17305 L 96.04682,406.51133 L 45.75946,346.96845 L 96.046819,287.42556 L 102.59147,209.76385 L 180.25318,203.2192 L 239.79607,152.93184 L 299.33895,203.2192 L 377.00067,209.76384 L 383.54531,287.42556 L 433.83267,346.96844 L 383.54531,406.51133 L 377.00067,484.17304 z"
-       transform="translate(4.1586051,6.9957853)" />
-    <path
-       d="M 257.74,558.2 C 282.68,551.18 299.44,533.03 303.3,508.86 L 304.6,500.74 L 310.09,504.65 C 342.6,527.8 385.95,516.69 401.92,481.11 C 410.74,461.44 406.88,429.74 394.39,419.38 C 389.52,415.34 390.73,414.03 400.54,412.71 C 463.81,404.2 466.02,308.53 403.26,294.99 C 389.53,292.02 390.07,292.74 395.81,285.17 C 435.22,233.14 367.98,163.64 313.59,200.18 L 305.09,205.89 L 302.14,193.86 C 286.67,130.77 193.37,133.52 184.62,197.33 C 183.22,207.55 183.54,207.42 175.45,201.25 C 145.54,178.44 96.024,193.52 84.229,229.04 C 77.621,248.93 81.839,276.52 93.036,286.66 C 98.393,291.5 97.7,292.63 88.496,294.06 C 22.466,304.29 22.003,403.73 87.943,412.77 L 96.572,413.95 L 91.187,421.94 C 63.478,463.02 91.34,516.89 140.25,516.79 C 154.94,516.76 170.97,511.38 177.33,504.36 C 181.99,499.22 183.95,499.74 183.95,506.13 C 183.95,538.55 224.9,567.45 257.74,558.2 L 257.74,558.2 z M 224.97,526.08 C 211.13,516.23 207.03,494.21 216.63,481.24 C 220.49,476.01 220.78,473.32 220.78,442.14 L 220.78,408.66 L 196.55,432.83 C 177.87,451.47 172.32,458.16 172.32,462.07 C 172.32,481.92 139.36,496.53 122.68,484.07 C 99.738,466.94 105.5,432.15 132.4,425.3 C 138.8,423.67 144.87,418.74 163.57,399.95 L 186.8,376.62 L 154.85,376.63 C 124.63,376.64 122.38,376.9 113.36,381.47 C 76.809,400.02 46.091,351.65 78.652,326.81 C 88.187,319.54 106.02,319.02 115.45,325.74 C 121.2,329.85 123.45,330.1 154.18,330.1 L 186.8,330.1 L 163.79,307.04 C 147.4,290.61 139.05,283.62 134.78,282.77 C 106.14,277.04 98.685,240.4 122.56,222.71 C 139.4,210.23 172.44,224.79 172.28,244.63 C 172.25,248.57 177.44,254.67 196.02,272.54 L 219.81,295.41 L 220.34,263.32 C 220.84,233.01 220.64,230.91 216.67,225.55 C 202.3,206.11 216.23,177.52 241.09,175.46 C 267.18,173.29 284.31,199.14 272.29,222.54 C 267.54,231.79 267.31,233.68 267.3,264.18 L 267.29,296.13 L 290.36,273.12 C 306.39,257.14 313.79,248.33 314.59,244.3 C 320.55,214.53 361.13,208.27 375.2,234.95 C 385.62,254.7 375.71,276.27 353.68,281.82 C 346.89,283.53 341.33,288 322.38,307 L 299.33,330.1 L 332.92,330.1 C 363.2,330.1 367.04,329.73 371.86,326.3 C 384.69,317.16 402.12,319.56 413.39,332.03 C 438.43,359.76 402.17,402.01 371.86,380.43 C 367.04,377 363.2,376.62 332.92,376.62 L 299.33,376.62 L 322.38,399.72 C 341.33,418.73 346.89,423.2 353.68,424.91 C 390.29,434.13 386.87,485.55 349.44,488.65 C 332.45,490.06 313.81,474.97 313.81,459.8 C 313.81,458.26 303.34,446.56 290.55,433.8 L 267.29,410.6 L 267.3,442.55 C 267.31,472.77 267.57,475.02 272.15,484.03 C 287.66,514.61 252.66,545.8 224.97,526.08 L 224.97,526.08 z"
-       id="path34"
-       style="fill:#000000" />
-    <g
-       clip-path="url(#clipPath4418)"
-       transform="matrix(-4.6717475,0,0,4.6717475,1143.4575,-562.74962)"
-       id="g36">
-      <path
-         d="M 191.92,195.98 C 180.31,159.86 178.21,153.31 177.06,151.92 C 177.18,152 177.35,152.1 177.35,152.1 L 98.804,64.643 C 94.609,59.993 84.799,64.999 77.449,71.619 C 70.166,78.161 64.129,87.392 68.079,92.183 L 147.02,179.73 L 147.56,179.82 L 185.32,197.42 L 193.01,199.79 L 191.92,195.98 L 191.92,195.98 z"
-         id="path38"
-         style="opacity:0.2" />
-      <path
-         d="M 193.56,193.52 C 181.95,157.39 179.84,150.85 178.7,149.45 C 178.82,149.52 178.99,149.63 178.99,149.63 L 100.44,62.175 C 96.245,57.524 86.429,62.53 79.083,69.15 C 71.802,75.695 65.763,84.923 69.715,89.716 L 148.66,177.26 L 149.19,177.36 L 186.96,194.95 L 194.64,197.32 L 193.56,193.52 L 193.56,193.52 z"
-         id="path40"
-         style="opacity:0.2" />
-      <path
-         d="M 186.77,191.05 C 175.16,154.92 173.06,148.38 171.91,146.98 C 172.03,147.06 172.2,147.16 172.2,147.16 L 93.653,59.704 C 89.461,55.054 79.644,60.063 72.299,66.682 C 65.016,73.224 58.978,82.453 62.93,87.247 L 141.87,174.79 L 142.41,174.88 L 180.18,192.48 L 187.86,194.85 L 186.77,191.05 L 186.77,191.05 z"
-         id="path42"
-         style="opacity:0.2" />
-      <path
-         d="M 186.43,189.36 C 174.82,153.23 172.72,146.69 171.57,145.29 C 171.69,145.37 171.86,145.47 171.86,145.47 L 93.314,58.016 C 89.115,53.365 79.299,58.373 71.955,64.993 C 64.672,71.536 58.633,80.767 62.585,85.559 L 141.53,173.1 L 142.06,173.2 L 179.83,190.8 L 187.52,193.16 L 186.43,189.36 L 186.43,189.36 z"
-         id="path44"
-         style="fill:#ffffff" />
-      <path
-         d="M 186.43,189.36 C 174.82,153.23 172.72,146.69 171.57,145.29 C 171.69,145.37 171.86,145.47 171.86,145.47 L 93.314,58.016 C 89.115,53.365 79.299,58.373 71.955,64.993 C 64.672,71.536 58.633,80.767 62.585,85.559 L 141.53,173.1 L 142.06,173.2 L 179.83,190.8 L 187.52,193.16 L 186.43,189.36 L 186.43,189.36 z"
-         id="path46"
-         style="fill:url(#XMLID_11_)" />
-      <path
-         d="M 166.97,147.76 L 180.69,185.89 L 144.32,167.99 L 144.49,167.84 C 144.24,167.76 143.99,167.66 143.79,167.52 L 143.66,167.64 L 68.36,84.072 L 68.483,83.968 C 66.237,81.478 69.515,74.874 75.791,69.216 C 82.071,63.564 88.971,60.997 91.216,63.483 L 166.51,147.05 L 166.97,147.76 L 166.97,147.76 z"
-         id="path48"
-         style="fill:url(#XMLID_12_)" />
-      <path
-         d="M 148.65,170.12 C 150.73,169.75 153.29,168.64 155.9,166.98 C 157.52,165.96 159.18,164.7 160.8,163.24 C 162.26,161.94 163.54,160.57 164.64,159.23 C 166.72,156.7 167.96,154.02 168.42,151.8 L 166.97,147.76 L 166.5,147.05 L 91.707,64.028 C 92.315,66.268 90.745,69.966 87.644,73.768 C 86.51,75.157 85.203,76.557 83.699,77.909 C 82.125,79.328 80.504,80.561 78.932,81.563 C 74.439,84.434 70.304,85.491 68.384,84.049 L 68.359,84.07 L 143.66,167.64 L 143.79,167.52 C 143.99,167.66 144.24,167.76 144.49,167.84 L 144.32,167.99 L 148.65,170.12 L 148.65,170.12 z"
-         id="path50"
-         style="fill:url(#XMLID_13_)" />
-      <path
-         d="M 68.083,83.41 C 69.815,85.182 74.077,84.186 78.726,81.216 C 80.267,80.234 81.858,79.023 83.403,77.63 C 84.879,76.305 86.162,74.929 87.275,73.567 C 90.853,69.179 92.366,64.925 90.752,62.983 L 90.775,62.959 L 166.59,147.08 C 167.23,149.34 166,153.58 162.84,157.44 C 161.76,158.75 160.5,160.09 159.07,161.37 C 157.48,162.8 155.85,164.04 154.26,165.04 C 149.52,168.05 144.96,169.24 143.24,167.35 C 142.85,166.91 141.15,165.01 141.1,164.94 L 67.845,83.626 L 68.083,83.41 L 68.083,83.41 z"
-         id="path52"
-         style="fill:#ffffff" />
-      <path
-         d="M 75.79,69.215 C 82.07,63.563 88.97,60.996 91.215,63.482 L 108.18,82.31 L 109.33,108.8 L 91.355,109.58 L 68.359,84.071 L 68.482,83.967 C 66.236,81.477 69.514,74.874 75.79,69.215 L 75.79,69.215 z"
-         id="path54"
-         style="fill:#ffffff" />
-      <path
-         d="M 68.083,83.41 C 69.815,85.182 74.077,84.186 78.726,81.216 C 80.267,80.234 81.858,79.023 83.403,77.63 C 84.879,76.305 86.162,74.929 87.275,73.567 C 90.853,69.179 92.366,64.925 90.752,62.983 L 90.775,62.959 L 166.59,147.08 C 167.23,149.34 166,153.58 162.84,157.44 C 161.76,158.75 160.5,160.09 159.07,161.37 C 157.48,162.8 155.85,164.04 154.26,165.04 C 149.52,168.05 144.96,169.24 143.24,167.35 C 142.85,166.91 141.15,165.01 141.1,164.94 L 67.845,83.626 L 68.083,83.41 L 68.083,83.41 z"
-         id="path56"
-         style="fill:#ffffff" />
-      <path
-         d="M 75.79,69.215 C 82.07,63.563 88.97,60.996 91.215,63.482 L 108.18,82.31 L 109.33,108.8 L 91.355,109.58 L 68.359,84.071 L 68.482,83.967 C 66.236,81.477 69.514,74.874 75.79,69.215 L 75.79,69.215 z"
-         id="path58"
-         style="fill:url(#XMLID_14_)" />
-      <path
-         d="M 68.083,83.41 C 69.815,85.182 74.077,84.186 78.726,81.216 C 80.267,80.234 81.858,79.023 83.403,77.63 C 84.879,76.305 86.162,74.929 87.275,73.567 C 90.853,69.179 92.366,64.925 90.752,62.983 L 90.775,62.959 L 166.59,147.08 C 167.23,149.34 166,153.58 162.84,157.44 C 161.76,158.75 160.5,160.09 159.07,161.37 C 157.48,162.8 155.85,164.04 154.26,165.04 C 149.52,168.05 144.96,169.24 143.24,167.35 C 142.85,166.91 141.15,165.01 141.1,164.94 L 67.845,83.626 L 68.083,83.41 L 68.083,83.41 z"
-         id="path60"
-         style="fill:url(#XMLID_15_)" />
-      <path
-         d="M 74.357,90.713 C 74.357,90.713 80.393,90.501 85.042,87.531 C 86.584,86.548 88.174,85.338 89.719,83.945 C 91.196,82.619 92.479,81.244 93.592,79.881 C 96.52,76.292 98.061,72.793 97.641,70.574 L 90.776,62.957 L 90.753,62.981 C 92.367,64.923 90.855,69.177 87.276,73.565 C 86.163,74.927 84.88,76.303 83.404,77.628 C 81.859,79.021 80.268,80.232 78.727,81.214 C 74.079,84.185 69.817,85.181 68.084,83.408 L 67.846,83.625 L 141.1,164.94 C 141.15,165.01 142.85,166.9 143.25,167.34 C 143.59,167.72 144.05,167.97 144.59,168.11 L 74.357,90.713 L 74.357,90.713 z"
-         id="path62"
-         style="fill:url(#XMLID_16_)" />
-      <path
-         d="M 172.04,175.35 C 170.4,176.83 168.73,178.12 167.09,179.19 L 180.69,185.89 L 175.6,171.74 C 174.54,172.95 173.35,174.18 172.04,175.35 z"
-         id="path64"
-         style="fill:#003333" />
-      <path
-         d="M 163.12,157.05 L 86.968,73.93 C 87.068,73.81 87.181,73.688 87.275,73.566 C 88.703,71.814 89.795,70.076 90.5,68.508 L 166.27,151.22 C 165.72,153.04 164.67,155.08 163.12,157.05 L 163.12,157.05 z"
-         id="path66"
-         style="opacity:0.5;fill:#ffffff" />
-      <path
-         d="M 87.275,73.566 C 87.909,72.792 88.464,72.018 88.969,71.266 L 164.98,154.24 C 164.41,155.3 163.7,156.39 162.84,157.43 C 162.09,158.33 161.27,159.24 160.37,160.13 L 84.152,76.932 C 85.316,75.824 86.361,74.692 87.275,73.566 L 87.275,73.566 z"
-         id="path68"
-         style="opacity:0.5;fill:#ffffff" />
-    </g>
-  </a>
-</svg>
Binary file htdocs/svg-edit/editor/images/move_bottom.png has changed
Binary file htdocs/svg-edit/editor/images/move_top.png has changed
Binary file htdocs/svg-edit/editor/images/none.png has changed
Binary file htdocs/svg-edit/editor/images/open.png has changed
Binary file htdocs/svg-edit/editor/images/paste.png has changed
Binary file htdocs/svg-edit/editor/images/path.png has changed
Binary file htdocs/svg-edit/editor/images/polygon.png has changed
--- a/htdocs/svg-edit/editor/images/polygon.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   sodipodi:docname="draw-polygon.svg"
-   sodipodi:docbase="/home/andreas/projekt/tango/22"
-   inkscape:version="0.42"
-   id="svg8728"
-   height="22.000000px"
-   width="22.000000px"
-   inkscape:export-filename="/home/andreas/projekt/tango/22/draw-polygon.png"
-   inkscape:export-xdpi="90.000000"
-   inkscape:export-ydpi="90.000000">
-  <defs
-     id="defs3">
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3941">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop3943" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop3945" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient6581">
-      <stop
-         style="stop-color:#eeeeec;stop-opacity:1;"
-         offset="0"
-         id="stop6583" />
-      <stop
-         style="stop-color:#e0e0de;stop-opacity:1.0000000;"
-         offset="1.0000000"
-         id="stop6585" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient14920">
-      <stop
-         id="stop14922"
-         offset="0"
-         style="stop-color:#5a7aa4;stop-opacity:1;" />
-      <stop
-         id="stop14924"
-         offset="1.0000000"
-         style="stop-color:#1f2b3a;stop-opacity:1.0000000;" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient13390">
-      <stop
-         id="stop13392"
-         offset="0.0000000"
-         style="stop-color:#81a2cd;stop-opacity:1.0000000;" />
-      <stop
-         id="stop13394"
-         offset="1.0000000"
-         style="stop-color:#2a415f;stop-opacity:1.0000000;" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient10325">
-      <stop
-         id="stop10327"
-         offset="0"
-         style="stop-color:#5a7aa4;stop-opacity:1;" />
-      <stop
-         id="stop10329"
-         offset="1.0000000"
-         style="stop-color:#455e7e;stop-opacity:1.0000000;" />
-    </linearGradient>
-    <linearGradient
-       gradientUnits="userSpaceOnUse"
-       y2="39.486301"
-       x2="37.746555"
-       y1="23.992306"
-       x1="23.598076"
-       gradientTransform="matrix(0.363308,0,0,0.363571,1.976073,1.180651)"
-       id="linearGradient13217"
-       xlink:href="#linearGradient6581"
-       inkscape:collect="always" />
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3941"
-       id="radialGradient3947"
-       cx="2.25"
-       cy="16"
-       fx="2.25"
-       fy="16"
-       r="16.875"
-       gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,-5.774893e-15,10.66667)"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient6581"
-       id="linearGradient2398"
-       x1="10.769515"
-       y1="8.7196503"
-       x2="15.923767"
-       y2="15.039417"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient6581"
-       id="linearGradient2403"
-       gradientUnits="userSpaceOnUse"
-       x1="10.769515"
-       y1="8.7196503"
-       x2="15.923767"
-       y2="15.039417"
-       gradientTransform="matrix(0.874941,0.000000,0.000000,0.868551,1.339139,1.349650)" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient6581"
-       id="linearGradient2405"
-       gradientUnits="userSpaceOnUse"
-       x1="10.769515"
-       y1="8.7196503"
-       x2="15.923767"
-       y2="15.039417"
-       gradientTransform="matrix(1.001575,0.000000,0.000000,1.000000,-3.040037e-3,0.000000)" />
-  </defs>
-  <sodipodi:namedview
-     inkscape:window-y="25"
-     inkscape:window-x="0"
-     inkscape:window-height="949"
-     inkscape:window-width="1280"
-     inkscape:document-units="px"
-     inkscape:grid-bbox="true"
-     showgrid="false"
-     inkscape:current-layer="layer1"
-     inkscape:cy="10.249014"
-     inkscape:cx="16.435231"
-     inkscape:zoom="15.999999"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     borderopacity="0.08235294"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:showpageshadow="false"
-     stroke="#888a85" />
-  <metadata
-     id="metadata4">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title>Draw Rectangle</dc:title>
-        <dc:date>2005-10-10</dc:date>
-        <dc:creator>
-          <cc:Agent>
-            <dc:title>Andreas Nilsson</dc:title>
-          </cc:Agent>
-        </dc:creator>
-        <dc:subject>
-          <rdf:Bag>
-            <rdf:li>draw</rdf:li>
-            <rdf:li>rectangle</rdf:li>
-            <rdf:li>square</rdf:li>
-          </rdf:Bag>
-        </dc:subject>
-        <cc:license
-           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
-      </cc:Work>
-      <cc:License
-         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
-        <cc:permits
-           rdf:resource="http://web.resource.org/cc/Reproduction" />
-        <cc:permits
-           rdf:resource="http://web.resource.org/cc/Distribution" />
-        <cc:requires
-           rdf:resource="http://web.resource.org/cc/Notice" />
-        <cc:requires
-           rdf:resource="http://web.resource.org/cc/Attribution" />
-        <cc:permits
-           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
-        <cc:requires
-           rdf:resource="http://web.resource.org/cc/ShareAlike" />
-      </cc:License>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:groupmode="layer"
-     inkscape:label="Layer 1"
-     id="layer1">
-    <path
-       sodipodi:type="arc"
-       style="opacity:0.60000000;color:#000000;fill:url(#radialGradient3947);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
-       id="path2193"
-       sodipodi:cx="2.2500000"
-       sodipodi:cy="16.000000"
-       sodipodi:rx="16.875000"
-       sodipodi:ry="5.6250000"
-       d="M 19.125000 16.000000 A 16.875000 5.6250000 0 1 1  -14.625000,16.000000 A 16.875000 5.6250000 0 1 1  19.125000 16.000000 z"
-       transform="matrix(0.503704,0.000000,0.000000,0.349014,9.366667,12.45257)" />
-    <path
-       style="fill:url(#linearGradient2405);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#888a85;stroke-width:1.0000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
-       d="M 10.376363,3.6237647 L 18.439333,9.5822222 L 15.644242,18.503298 L 5.3933717,18.503298 L 2.5694122,9.5814367 L 10.376363,3.6237647 z "
-       id="path1661"
-       sodipodi:nodetypes="cccccc" />
-    <path
-       style="fill:url(#linearGradient2403);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#fdfdfb;stroke-width:0.99999976px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
-       d="M 10.383801,4.6223366 L 17.428917,9.8682235 L 14.894231,17.502140 L 6.1335005,17.494329 L 3.6135882,9.9131875 L 10.383801,4.6223366 z "
-       id="path2401"
-       sodipodi:nodetypes="cccccc" />
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/rect.png has changed
Binary file htdocs/svg-edit/editor/images/redo.png has changed
Binary file htdocs/svg-edit/editor/images/reorient.png has changed
Binary file htdocs/svg-edit/editor/images/rotate.png has changed
Binary file htdocs/svg-edit/editor/images/save.png has changed
Binary file htdocs/svg-edit/editor/images/select.png has changed
Binary file htdocs/svg-edit/editor/images/select_node.png has changed
Binary file htdocs/svg-edit/editor/images/sep.png has changed
Binary file htdocs/svg-edit/editor/images/shape_group.png has changed
Binary file htdocs/svg-edit/editor/images/shape_ungroup.png has changed
Binary file htdocs/svg-edit/editor/images/source.png has changed
Binary file htdocs/svg-edit/editor/images/spinbtn_updn_big.png has changed
Binary file htdocs/svg-edit/editor/images/square.png has changed
--- a/htdocs/svg-edit/editor/images/svg_edit_icons.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,732 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg">
-<!-- All images except logo created with SVG-edit - http://svg-edit.googlecode.com/ -->
-
-<g id="logo">
-	<svg version="1.0"
-		 id="svg2" inkscape:output_extension="org.inkscape.output.svg.inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#" inkscape:export-ydpi="90" inkscape:export-xdpi="90" xmlns:svg="http://www.w3.org/2000/svg"
-		 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-		 viewBox="0 0 48 48" enable-background="new 0 0 48 48" xml:space="preserve">
-	<a id="a32" xlink:href="http://svg-edit.googlecode.com/"  xlink:title="SVG-edit, an in-browser vector graphics editor">
-		
-			<path id="path3216" inkscape:randomized="0" inkscape:rounded="0" inkscape:flatsided="false" sodipodi:arg2="1.1780972" sodipodi:arg1="0.78539816" sodipodi:r2="155.59306" sodipodi:r1="194.03661" sodipodi:cy="346.96844" sodipodi:cx="239.79607" sodipodi:sides="8" sodipodi:type="star" fill="#FFFFFF" d="
-			M30.5,39.3l-6.2,0.5l-4.8,4l-4.8-4l-6.2-0.5L8,33.1l-4-4.8l4-4.8l0.5-6.2l6.2-0.5l4.8-4l4.8,4l6.2,0.5l0.5,6.2l4,4.8l-4,4.8
-			L30.5,39.3z"/>
-		<path id="path34" d="M20.6,44.7c2-0.6,3.3-2,3.6-3.9l0.1-0.7l0.4,0.3c2.6,1.9,6.1,1,7.3-1.9c0.7-1.6,0.4-4.1-0.6-4.9
-			c-0.4-0.3-0.3-0.4,0.5-0.5c5.1-0.7,5.2-8.3,0.2-9.4c-1.1-0.2-1.1-0.2-0.6-0.8c3.2-4.2-2.2-9.7-6.6-6.8l-0.7,0.5l-0.2-1
-			c-1.2-5-8.7-4.8-9.4,0.3c-0.1,0.8-0.1,0.8-0.7,0.3c-2.4-1.8-6.4-0.6-7.3,2.2c-0.5,1.6-0.2,3.8,0.7,4.6c0.4,0.4,0.4,0.5-0.4,0.6
-			c-5.3,0.8-5.3,8.8,0,9.5l0.7,0.1l-0.4,0.6c-2.2,3.3,0,7.6,3.9,7.6c1.2,0,2.5-0.4,3-1c0.4-0.4,0.5-0.4,0.5,0.1
-			C14.7,43.1,18,45.4,20.6,44.7L20.6,44.7z M18,42.1c-1.1-0.8-1.4-2.5-0.7-3.6c0.3-0.4,0.3-0.6,0.3-3.1v-2.7l-1.9,1.9
-			c-1.5,1.5-1.9,2-1.9,2.3c0,1.6-2.6,2.8-4,1.8C8,37.4,8.4,34.6,10.6,34c0.5-0.1,1-0.5,2.5-2l1.9-1.9l-2.6,0c-2.4,0-2.6,0-3.3,0.4
-			c-2.9,1.5-5.4-2.4-2.8-4.4c0.8-0.6,2.2-0.6,2.9-0.1c0.5,0.3,0.6,0.3,3.1,0.3h2.6l-1.8-1.8c-1.3-1.3-2-1.9-2.3-1.9
-			c-2.3-0.5-2.9-3.4-1-4.8c1.3-1,4,0.2,4,1.8c0,0.3,0.4,0.8,1.9,2.2l1.9,1.8l0-2.6c0-2.4,0-2.6-0.3-3c-1.1-1.6,0-3.8,2-4
-			c2.1-0.2,3.5,1.9,2.5,3.8c-0.4,0.7-0.4,0.9-0.4,3.3l0,2.6l1.8-1.8c1.3-1.3,1.9-2,1.9-2.3c0.5-2.4,3.7-2.9,4.8-0.7
-			c0.8,1.6,0,3.3-1.7,3.7c-0.5,0.1-1,0.5-2.5,2l-1.8,1.8h2.7c2.4,0,2.7,0,3.1-0.3c1-0.7,2.4-0.5,3.3,0.5c2,2.2-0.9,5.6-3.3,3.9
-			c-0.4-0.3-0.7-0.3-3.1-0.3h-2.7l1.8,1.8c1.5,1.5,2,1.9,2.5,2c2.9,0.7,2.7,4.9-0.3,5.1c-1.4,0.1-2.8-1.1-2.8-2.3
-			c0-0.1-0.8-1.1-1.9-2.1l-1.9-1.9l0,2.6c0,2.4,0,2.6,0.4,3.3C23,41.2,20.2,43.7,18,42.1L18,42.1z"/>
-		<g>
-			<g id="g36" transform="matrix(-4.6717475,0,0,4.6717475,1143.4575,-562.74962)">
-				<path id="path38" opacity="0.2" enable-background="new    " d="M240.5,126.5c-0.9-2.9-1.1-3.4-1.2-3.5c0,0,0,0,0,0l-6.3-7
-					c-0.3-0.4-1.1,0-1.7,0.6c-0.6,0.5-1.1,1.3-0.7,1.6l6.3,7l0,0l3,1.4l0.6,0.2L240.5,126.5L240.5,126.5z"/>
-				<path id="path40" opacity="0.2" enable-background="new    " d="M240.7,126.3c-0.9-2.9-1.1-3.4-1.2-3.5c0,0,0,0,0,0l-6.3-7
-					c-0.3-0.4-1.1,0-1.7,0.6c-0.6,0.5-1.1,1.3-0.7,1.6l6.3,7l0,0l3,1.4l0.6,0.2L240.7,126.3L240.7,126.3z"/>
-				<path id="path42" opacity="0.2" enable-background="new    " d="M240.1,126.1c-0.9-2.9-1.1-3.4-1.2-3.5c0,0,0,0,0,0l-6.3-7
-					c-0.3-0.4-1.1,0-1.7,0.6c-0.6,0.5-1.1,1.3-0.7,1.6l6.3,7l0,0l3,1.4l0.6,0.2L240.1,126.1L240.1,126.1z"/>
-				<path id="path44" fill="#FFFFFF" d="M240.1,126c-0.9-2.9-1.1-3.4-1.2-3.5c0,0,0,0,0,0l-6.3-7c-0.3-0.4-1.1,0-1.7,0.6
-					c-0.6,0.5-1.1,1.3-0.7,1.6l6.3,7l0,0l3,1.4l0.6,0.2L240.1,126L240.1,126z"/>
-				
-					<linearGradient id="path46_1_" gradientUnits="userSpaceOnUse" x1="251.6057" y1="30.2918" x2="373.0601" y2="100.0934" gradientTransform="matrix(-7.441159e-02 -0.3663 0.3663 -7.441159e-02 239.8726 211.8456)">
-					<stop  offset="0" style="stop-color:#990000"/>
-					<stop  offset="1" style="stop-color:#7C0000"/>
-				</linearGradient>
-				<path id="path46" fill="url(#path46_1_)" d="M240.1,126c-0.9-2.9-1.1-3.4-1.2-3.5c0,0,0,0,0,0l-6.3-7c-0.3-0.4-1.1,0-1.7,0.6
-					c-0.6,0.5-1.1,1.3-0.7,1.6l6.3,7l0,0l3,1.4l0.6,0.2L240.1,126L240.1,126z"/>
-				
-					<linearGradient id="path48_1_" gradientUnits="userSpaceOnUse" x1="448.9506" y1="-141.7113" x2="469.8885" y2="-162.6511" gradientTransform="matrix(0.3734 -1.625768e-02 -1.625768e-02 -0.3734 65.4455 75.4761)">
-					<stop  offset="0" style="stop-color:#F8F1DC"/>
-					<stop  offset="1" style="stop-color:#D6A84A"/>
-				</linearGradient>
-				<path id="path48" fill="url(#path48_1_)" d="M238.5,122.6l1.1,3.1l-2.9-1.4l0,0c0,0,0,0-0.1,0l0,0l-6-6.7l0,0
-					c-0.2-0.2,0.1-0.7,0.6-1.2c0.5-0.5,1.1-0.7,1.2-0.5L238.5,122.6L238.5,122.6L238.5,122.6z"/>
-				
-					<linearGradient id="path50_1_" gradientUnits="userSpaceOnUse" x1="473.214" y1="-2.063" x2="545.7217" y2="-163.0414" gradientTransform="matrix(-0.3737 0 0 -0.3737 407.2458 109.9867)">
-					<stop  offset="0" style="stop-color:#FFA700"/>
-					<stop  offset="0.7753" style="stop-color:#FFD700"/>
-					<stop  offset="1" style="stop-color:#FF794B"/>
-				</linearGradient>
-				<path id="path50" fill="url(#path50_1_)" d="M237.1,124.4c0.2,0,0.4-0.1,0.6-0.3c0.1-0.1,0.3-0.2,0.4-0.3
-					c0.1-0.1,0.2-0.2,0.3-0.3c0.2-0.2,0.3-0.4,0.3-0.6l-0.1-0.3l0-0.1l-6-6.6c0,0.2-0.1,0.5-0.3,0.8c-0.1,0.1-0.2,0.2-0.3,0.3
-					c-0.1,0.1-0.3,0.2-0.4,0.3c-0.4,0.2-0.7,0.3-0.8,0.2l0,0l6,6.7l0,0c0,0,0,0,0.1,0l0,0L237.1,124.4L237.1,124.4z"/>
-				<path id="path52" fill="#FFFFFF" d="M230.6,117.5c0.1,0.1,0.5,0.1,0.9-0.2c0.1-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.2,0.3-0.3
-					c0.3-0.4,0.4-0.7,0.3-0.8l0,0l6.1,6.7c0.1,0.2,0,0.5-0.3,0.8c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.3
-					c-0.4,0.2-0.7,0.3-0.9,0.2c0,0-0.2-0.2-0.2-0.2L230.6,117.5L230.6,117.5L230.6,117.5z"/>
-				<path id="path54" fill="#FFFFFF" d="M231.2,116.4c0.5-0.5,1.1-0.7,1.2-0.5l1.4,1.5l0.1,2.1l-1.4,0.1l-1.8-2l0,0
-					C230.5,117.3,230.7,116.8,231.2,116.4L231.2,116.4z"/>
-				<path id="path56" fill="#FFFFFF" d="M230.6,117.5c0.1,0.1,0.5,0.1,0.9-0.2c0.1-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.2,0.3-0.3
-					c0.3-0.4,0.4-0.7,0.3-0.8l0,0l6.1,6.7c0.1,0.2,0,0.5-0.3,0.8c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.3
-					c-0.4,0.2-0.7,0.3-0.9,0.2c0,0-0.2-0.2-0.2-0.2L230.6,117.5L230.6,117.5L230.6,117.5z"/>
-				
-					<linearGradient id="path58_1_" gradientUnits="userSpaceOnUse" x1="440.489" y1="-131.0965" x2="451.6169" y2="-117.8349" gradientTransform="matrix(0.3734 -1.625768e-02 -1.625768e-02 -0.3734 65.4455 75.4761)">
-					<stop  offset="0" style="stop-color:#FFC957"/>
-					<stop  offset="1" style="stop-color:#FF6D00"/>
-				</linearGradient>
-				<path id="path58" fill="url(#path58_1_)" d="M231.2,116.4c0.5-0.5,1.1-0.7,1.2-0.5l1.4,1.5l0.1,2.1l-1.4,0.1l-1.8-2l0,0
-					C230.5,117.3,230.7,116.8,231.2,116.4L231.2,116.4z"/>
-				
-					<linearGradient id="path60_1_" gradientUnits="userSpaceOnUse" x1="454.4041" y1="-122.501" x2="501.1769" y2="-226.3438" gradientTransform="matrix(0.3734 -1.625768e-02 -1.625768e-02 -0.3734 65.4455 75.4761)">
-					<stop  offset="0" style="stop-color:#FFA700"/>
-					<stop  offset="0.7753" style="stop-color:#FFD700"/>
-					<stop  offset="1" style="stop-color:#FF9200"/>
-				</linearGradient>
-				<path id="path60" fill="url(#path60_1_)" d="M230.6,117.5c0.1,0.1,0.5,0.1,0.9-0.2c0.1-0.1,0.3-0.2,0.4-0.3
-					c0.1-0.1,0.2-0.2,0.3-0.3c0.3-0.4,0.4-0.7,0.3-0.8l0,0l6.1,6.7c0.1,0.2,0,0.5-0.3,0.8c-0.1,0.1-0.2,0.2-0.3,0.3
-					c-0.1,0.1-0.3,0.2-0.4,0.3c-0.4,0.2-0.7,0.3-0.9,0.2c0,0-0.2-0.2-0.2-0.2L230.6,117.5L230.6,117.5L230.6,117.5z"/>
-				
-					<linearGradient id="path62_1_" gradientUnits="userSpaceOnUse" x1="472.6249" y1="-26.9638" x2="549.3671" y2="-26.9638" gradientTransform="matrix(-0.3737 0 0 -0.3737 407.2458 109.9867)">
-					<stop  offset="0" style="stop-color:#7D7D99"/>
-					<stop  offset="0.1798" style="stop-color:#B1B1C5"/>
-					<stop  offset="0.3727" style="stop-color:#BCBCC8"/>
-					<stop  offset="0.6825" style="stop-color:#C8C8CB"/>
-					<stop  offset="1" style="stop-color:#CCCCCC"/>
-				</linearGradient>
-				<path id="path62" fill="url(#path62_1_)" d="M231.1,118.1c0,0,0.5,0,0.9-0.3c0.1-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.2,0.3-0.3
-					c0.2-0.3,0.4-0.6,0.3-0.7l-0.5-0.6l0,0c0.1,0.2,0,0.5-0.3,0.8c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.3
-					c-0.4,0.2-0.7,0.3-0.9,0.2l0,0l5.9,6.5c0,0,0.1,0.2,0.2,0.2c0,0,0.1,0.1,0.1,0.1L231.1,118.1L231.1,118.1z"/>
-				<path id="path64" fill="#003333" d="M238.9,124.8c-0.1,0.1-0.3,0.2-0.4,0.3l1.1,0.5l-0.4-1.1C239.1,124.7,239,124.8,238.9,124.8z
-					"/>
-				<path id="path66" opacity="0.5" fill="#FFFFFF" enable-background="new    " d="M238.2,123.4l-6.1-6.6c0,0,0,0,0,0
-					c0.1-0.1,0.2-0.3,0.3-0.4l6.1,6.6C238.4,123.1,238.4,123.2,238.2,123.4L238.2,123.4z"/>
-				<path id="path68" opacity="0.5" fill="#FFFFFF" enable-background="new    " d="M232.2,116.7c0.1-0.1,0.1-0.1,0.1-0.2l6.1,6.6
-					c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.1-0.2,0.2l-6.1-6.7C232,116.9,232.1,116.8,232.2,116.7L232.2,116.7z"/>
-			</g>
-		</g>
-	</a>
-	</svg>
-</g>
-
-
-<g id="select">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
-	  <path stroke="#ffffff" fill="#000000" id="svg_13" d="m7.38168,2.46948l0.07502,17.03258l3.30083,-2.62617l2.62566,5.62751l4.20105,-2.62617l-3.30082,-4.80214l4.57614,-0.37517l-11.47787,-12.23044z"/>
-	</svg>
-</g>
-
-<g id="select_node">
-	<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	  <circle stroke="#0000ff" fill="#00ffff" id="svg_44" r="3.87891" cy="5.3" cx="8.7" stroke-width="1.5"/>
-	  <path d="m9.18161,5.6695l0.07763,15.16198l3.41588,-2.33775l2.71718,5.00947l4.34748,-2.33775l-3.41587,-4.27474l4.73565,-0.33397l-11.87794,-10.88723z" id="svg_13" fill="#000000" stroke="#ffffff"/>
-	</svg>
-</g>
-
-<g id="square">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <defs>
-  <linearGradient id="svg_2" x1="0.36328" y1="0.10156" x2="1" y2="1">
-   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>
-   <stop offset="1" stop-color="#3b7e9b" stop-opacity="1"/>
-  </linearGradient>
- </defs>
-  <rect x="1.5" y="1.5" width="20" height="20" id="svg_1" fill="url(#svg_2)" stroke="#000000"/>
- </svg>
-</g>
-
-<g id="rect">
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient y2="1" x2="1" y1="0.10156" x1="0.36328" id="svg_2">
-   <stop stop-opacity="1" stop-color="#ffffff" offset="0"/>
-   <stop stop-opacity="1" stop-color="#3b7e9b" offset="1"/>
-  </linearGradient>
- </defs>
-  <rect transform="matrix(1, 0, 0, 1, 0, 0)" stroke="#000000" fill="url(#svg_2)" id="svg_1" height="12" width="20" y="5.5" x="1.5"/>
- </svg>
-</g>
-
-<g id="fh_rect">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
- <defs>
-  <linearGradient y2="1" x2="1" y1="0.10156" x1="0.36328" id="svg_2">
-
-   <stop stop-opacity="1" stop-color="#ffffff" offset="0"/>
-   <stop stop-opacity="1" stop-color="#3b7e9b" offset="1"/>
-  </linearGradient>
-  <linearGradient y2="0.3945" x2="0.6132" y1="0.1093" x1="0.3046" id="svg_9">
-   <stop stop-opacity="1" stop-color="#f9d225" offset="0"/>
-   <stop stop-opacity="1" stop-color="#bf5f00" offset="1"/>
-  </linearGradient>
- </defs>
-  <rect stroke="#000000" stroke-width="2" fill="url(#svg_2)" id="svg_1" height="50" width="50" y="0.75" x="1.25"/>
-  <path stroke-width="2" stroke="#000000" fill="url(#svg_9)" id="svg_2" d="m31.5,0l-8.75,20.25l0.75,24l16.5,-16.5l6,-12.5"/>
-  <path stroke-width="2" stroke="#000000" fill="#fce0a9" id="svg_10" d="m39.5,28.5c-2,-9.25 -10.25,-11.75 -17,-7.4375l0.4843,24.4414z"/>
-  <path id="svg_11" stroke-width="2" stroke="#000000" fill="#000000" d="m26.9318,41.1745c-0.4491,-2.3511 -2.3021,-2.9866 -3.8181,-1.8905l0.1087,6.2126z"/>
-</svg>
-</g>
-
-
-<g id="circle">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54" id="svgzoom">
- <defs>
-  <linearGradient y2="1.0" x2="1.0" y1="0.1875" x1="0.171875" id="svg_4">
-   <stop stop-opacity="1" stop-color="#ffffff" offset="0.0"/>
-   <stop stop-opacity="1" stop-color="#ff6666" offset="1.0"/>
-  </linearGradient>
- </defs>
- <g>
-  <circle stroke-opacity="1" fill-opacity="1" stroke-width="2" stroke="#000000" fill="url(#svg_4)" id="svg_1" r="23" cy="27" cx="27"/>
- </g>
-</svg>
-</g>
-
-<g id="ellipse">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54" id="svgzoom">
- <defs>
-  <linearGradient y2="1.0" x2="1.0" y1="0.1875" x1="0.171875" id="svg_4">
-   <stop stop-opacity="1" stop-color="#ffffff" offset="0.0"/>
-   <stop stop-opacity="1" stop-color="#ff6666" offset="1.0"/>
-  </linearGradient>
- </defs>
- <g>
-  <ellipse stroke-opacity="1" fill-opacity="1" stroke-width="2" stroke="#000000" fill="url(#svg_4)" id="svg_1" rx="23" ry="15" cy="27" cx="27"/>
- </g>
-</svg>
-</g>
-
-<g id="fh_ellipse">
-<svg viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient id="svg_9" x1="0.3046" y1="0.1093" x2="0.6132" y2="0.3945">
-   <stop offset="0" stop-color="#f9d225" stop-opacity="1"/>
-   <stop offset="1" stop-color="#bf5f00" stop-opacity="1"/>
-  </linearGradient>
-  <linearGradient id="svg_4" x1="0.17188" y1="0.1875" x2="1" y2="1">
-   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>
-   <stop offset="1" stop-color="#ff6666" stop-opacity="1"/>
-  </linearGradient>
- </defs>
-  <ellipse stroke-width="2" stroke="#000000" fill="url(#svg_4)" id="svg_1" rx="23" ry="12" cy="37" cx="27"/>
-  <path d="m31.5,0l-8.75,20.25l0.75,24l16.5,-16.5l6,-12.5" id="svg_2" fill="url(#svg_9)" stroke="#000000" stroke-width="2"/>
-  <path d="m39.5,28.5c-2,-9.25 -10.25,-11.75 -17,-7.4375l0.4843,24.4414z" id="svg_10" fill="#fce0a9" stroke="#000000" stroke-width="2"/>
-  <path d="m26.9318,41.1745c-0.4491,-2.3511 -2.3021,-2.9866 -3.8181,-1.8905l0.1087,6.2126z" fill="#000000" stroke="#000000" stroke-width="2" id="svg_11"/>
- </svg>
-</g>
-
-<g id="pencil">
-<svg id="svgzoom" viewBox="0 0 48 52" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <defs>
-   <linearGradient id="svg_9" x1="0.3046" y1="0.1093" x2="0.6132" y2="0.3945">
-    <stop offset="0.0" stop-color="#f9d225" stop-opacity="1"/>
-    <stop offset="1.0" stop-color="#bf5f00" stop-opacity="1"/>
-   </linearGradient>
-  </defs>
-  <path d="M31.5,0 l-8.75,20.25 l0.75,24 l16.5,-16.5 l6,-12.5" id="svg_2" fill="url(#svg_9)" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1"/>
-  <path d="M39.5,28.5 c-2,-9.25 -10.25,-11.75 -17,-7.4375 l0.4843,24.4414z" id="svg_10" fill="#fce0a9" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1"/>
-  <path d="M26.9318,41.1745 c-0.4491,-2.3511 -2.3021,-2.9866 -3.8181,-1.8905 l0.1087,6.2126z" fill="#000000" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1" id="svg_11"/>
-  <path d="M2.3132,4.6197 c12.4998,-1.6891 10.4729,7.0945 0,21.6215 c22.9729,-4.0539 12.1620,5.4053 12.1620,13.1756 c-0.3377,4.0539 8.7836,21.9594 26.0135,-1.3513" id="svg_12" fill="none" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1"/>
-</svg>
-</g>
-
-<g id="pen">
-	<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	 <defs>
-	  <linearGradient id="svg_16" x1="0.46484" y1="0.15625" x2="0.9375" y2="0.39453">
-	   <stop offset="0" stop-color="#f2feff" stop-opacity="1"/>
-	   <stop offset="1" stop-color="#14609b" stop-opacity="1"/>
-	  </linearGradient>
-	  <linearGradient id="svg_19" x1="0.18359" y1="0.26172" x2="0.77734" y2="0.56641">
-	   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>
-	   <stop offset="1" stop-color="#fce564" stop-opacity="1"/>
-	  </linearGradient>
-	 </defs>
-	  <line x1="0.99844" y1="1.49067" x2="12.97691" y2="21.14149" id="svg_5" stroke="#000000" fill="none"/>
-	  <path d="m14.05272,13.68732l-1.46451,7.52632l4.03769,-6.32571" id="svg_6" fill="#a0a0a0" stroke="#000000"/>
-	  <path d="m13.61215,10.26563c-0.38567,1.05257 -0.60723,2.40261 -0.50403,3.125l4.33468,1.81452c0.46153,-0.30769 1.6129,-1.71371 1.6129,-2.52016" id="svg_7" fill="url(#svg_19)" stroke="#000000"/>
-	  <path d="m16.61335,1.00028l-3.67325,8.60247l7.10285,3.47318l3.17783,-7.20549" id="svg_8" fill="url(#svg_16)" stroke="#000000"/>
-	</svg>
-</g>
-
-<g id="text">
-	<svg id="svgzoom" viewBox="0 0 158 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	  <text x="58" y="120" id="svg_1" fill="#000000" stroke="#000000" stroke-width="0" font-size="120pt" font-family="sans-serif" text-anchor="middle" fill-opacity="1" stroke-opacity="1" font-weight="bold">A</text>
-	  <line x1="136" y1="7" x2="136" y2="121" id="svg_2" stroke="#000000" fill="none" fill-opacity="1" stroke-opacity="1" stroke-width="5"/>
-	  <line x1="120" y1="4" x2="152" y2="4" id="svg_3" stroke="#000000" stroke-width="5" fill="none" fill-opacity="1" stroke-opacity="1"/>
-	 <line x1="120" y1="124" x2="152" y2="124" stroke="#000000" stroke-width="5" fill="none" fill-opacity="1" stroke-opacity="1" id="svg_4"/>
-	</svg>
-</g>
-
-
-<g id="path">
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 124 124" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient y2="1" x2="1" y1="0.28125" x1="0.33594" id="svg_4">
-   <stop stop-opacity="1" stop-color="#ffffff" offset="0"/>
-   <stop stop-opacity="1" stop-color="#33a533" offset="1"/>
-  </linearGradient>
- </defs>
-  <path stroke-dasharray="null" stroke-width="4" stroke="#000000" fill="url(#svg_4)" id="svg_1" d="m6,103l55,-87c85,33.64 -26,37.12 55,87l-110,0z"/>
- </svg>
-</g>
-
-<g id="image">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <defs>
-  <linearGradient y2="1" x2="1" y1="0" x1="1" id="svg_25">
-   <stop stop-opacity="1" stop-color="#10284c" offset="0"/>
-   <stop stop-opacity="1" stop-color="#5374ad" offset="1"/>
-  </linearGradient>
-  <linearGradient y2="0.75781" x2="0.99609" y1="0" x1="1" id="svg_23">
-   <stop stop-opacity="1" stop-color="#162e84" offset="0"/>
-   <stop stop-opacity="1" stop-color="#97c4ef" offset="1"/>
-  </linearGradient>
- </defs>
-  <rect x="1" y="3.83333" width="22" height="17" id="svg_18" fill="#202020" stroke="#ffffff" stroke-width="0"/>
-  <rect stroke-width="1.2" stroke="#ffffff" fill="#232947" id="svg_15" height="14" width="19" y="5.33333" x="2.5"/>
-  <rect fill="url(#svg_23)" id="svg_20" height="7.02244" width="15.96424" y="6.7266" x="4"/>
-  <rect fill="url(#svg_25)" id="svg_24" height="4.02393" width="15.96303" y="13.77454" x="4"/>
-  <circle fill="#ffffad" id="svg_26" r="1.83333" cy="9.82002" cx="7.13254"/>
-  <path d="m14.5696,13.77458l0.70243,-4.85313l-3.12899,4.85313l2.42656,0z" id="svg_14" fill="#404040" stroke="#000000" stroke-width="0"/>
-  <path d="m15.27203,8.98531c2.74584,0.06386 2.42657,4.21456 -0.63857,4.85313c0.70243,-1.27714 1.66028,-3.63985 0.63857,-4.85313z" id="svg_17" fill="#404040" stroke="#000000" stroke-width="0"/>
-</svg>
-</g>
-
-<g id="zoom">
-	<svg viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	 <defs>
-	  <linearGradient id="svg_30" x1="0" y1="0" x2="1" y2="0">
-	   <stop offset="0" stop-color="#d3d3d3" stop-opacity="1"/>
-	   <stop offset="1" stop-color="#424242" stop-opacity="1"/>
-	  </linearGradient>
-	 </defs>
-	  <path d="m107.14774,101.03477l-0.64774,43.96523c5.00857,4.72089 14.00811,5.27188 19,0l-0.31667,-44.16l-9.61514,-19.84l-8.42046,20.03477z" id="svg_29" fill="url(#svg_30)" stroke="#202020" stroke-width="2" transform="rotate(-45, 116, 114)"/>
-	  <circle cx="58" cy="58" r="51" id="svg_22" fill="#c0c0c0" stroke="#202020" stroke-width="5"/>
-	  <circle cx="58" cy="58" r="43" id="svg_27" fill="#aaccff" stroke="#202020" stroke-width="0"/>
-	  <path d="m15.68604,61.46511c38.13954,17.67442 48.13954,15.34883 85.11628,-0.46511c1.39536,18.60465 -19.30231,41.86047 -42.7907,40.93023c-21.6279,-0.93023 -42.7907,-21.86046 -42.32558,-40.46511z" id="svg_28" fill="#8cbaff" stroke="#202020" stroke-width="0"/>
-	</svg>
-</g>
-
-<g id="arrow_right">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 50">
-	  <path stroke="#000000" fill="#000000" d="m0,0l0,50l25,-25l-25,-25z"/>
-	</svg>
-</g>
-
-<g id="arrow_down">
-	<svg viewBox="0 0 50 40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	  <path transform="rotate(90, 26, 13)" d="m14,-12l0,50l25,-25l-25,-25z" fill="#000000" stroke="#000000"/>
-	</svg>
-</g>
-
-
-<g id="new_image">
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <rect x="2.42792" y="1.6692" width="18" height="21" id="svg_55" fill="#eaeaea" stroke="#606060"/>
-  <circle stroke-width="0" stroke="#a0a0a0" fill="#fff175" id="svg_65" r="3.83333" cy="6.24769" cx="19.16813"/>
- </svg>
-</g>
-
-<g id="save">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
-	 <defs>
-	  <linearGradient y2="0" x2="1" y1="0" x1="0" id="svg_41">
-	   <stop stop-opacity="1" stop-color="#727272" offset="0"/>
-	   <stop stop-opacity="1" stop-color="#d6d6d6" offset="1"/>
-	  </linearGradient>
-	  <linearGradient y2="0.875" x2="0.21484" y1="0.00391" x1="0.04297" id="svg_46">
-	   <stop stop-opacity="1" stop-color="#81bbf4" offset="0"/>
-	   <stop stop-opacity="1" stop-color="#376eb7" offset="1"/>
-	  </linearGradient>
-	 </defs>
-	   <path stroke="#202020" fill="#e0e0e0" id="svg_21" d="m1.51669,22.3458l21.13245,-0.10111l0,-6.06673l-2.62892,-9.80789l-16.27907,0.10111l-2.32558,9.20121l0.10111,6.67341z"/>
-	   <rect stroke="#efefef" fill="url(#svg_41)" id="svg_32" height="4.75108" width="19.21031" y="16.58227" x="2.42667"/>
-	   <path stroke="#ffffff" fill="#c0c0c0" id="svg_42" d="m4.55005,11.12235l0.70779,-2.83114l13.04348,0l0.70779,3.13448c-0.70779,2.52781 -4.04479,3.84227 -7.17897,3.84227c-2.72977,0 -6.37007,-1.41557 -7.28008,-4.1456z"/>
-	  <path stroke="#285582" fill="url(#svg_46)" id="svg_45" d="m7.14286,9.74903l5.21236,5.79151l5.50193,-5.88803l-2.50965,-0.09653l0,-2.79923c0,-2.3166 -2.3166,-5.59846 -6.56371,-5.59846c-4.05405,0 -6.27413,3.37838 -6.56371,6.75676c0.48263,-1.5444 2.7027,-4.53668 4.44015,-4.44015c2.12355,-0.09653 2.79923,1.64093 2.79923,3.37838l0.09653,2.79923l-2.41313,0.09653z"/>
-	</svg>
-</g>
-
-<g id="open">
-<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient y2="0.91406" x2="0.65234" y1="0.14063" x1="0.42578" id="svg_76">
-   <stop stop-opacity="1" stop-color="#81bbf4" offset="0"/>
-   <stop stop-opacity="1" stop-color="#376eb7" offset="1"/>
-  </linearGradient>
- </defs>
-  <rect x="1.65" y="3.75" width="9.8" height="16.72712" id="svg_98" fill="#c0c0c0" stroke="#606060"/>
-  <rect stroke-width="0" stroke="#606060" fill="#a0a0a0" id="svg_88" height="14.17459" width="6.39585" y="4.9758" x="2.89542"/>
-  <path d="m18.62576,4.54365l0,6.91443l-9.9395,0l-0.08643,-10.11236l6.828,0l3.19792,3.19793z" id="svg_99" fill="#e0e0e0" stroke="#404040"/>
-  <path d="m2.95,20.53644l1.65,-12.03644l16.2,0l-1.5,12l-16.35,0.03643z" id="svg_97" fill="url(#svg_76)" stroke="#285582"/>
-  <line fill="none" stroke="#606060" id="svg_89" y2="4.28436" x2="13.95851" y1="4.28436" x1="10.32844"/>
-  <line fill="none" stroke="#606060" id="svg_91" y2="6.53155" x2="14.82282" y1="6.53155" x1="10.32844"/>
-  <path stroke-width="0" stroke="#606060" fill="#ffffff" id="svg_100" d="m15.25895,1.95069l-0.00401,2.85225l2.89558,0.00004l-2.89157,-2.85229z"/>
-</svg>
-</g>
-
-<g id="docprops">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
-	 <defs>
-	  <linearGradient y2="1" x2="1" y1="0.5" x1="1" id="svg_53">
-	   <stop stop-opacity="1" stop-color="#606060" offset="0"/>
-	   <stop stop-opacity="0" stop-color="#5e5e5e" offset="1"/>
-	  </linearGradient>
-	 </defs>
-	  <rect stroke="#606060" fill="#eaeaea" id="svg_55" height="21" width="18" y="1.6692" x="2.42792"/>
-	  <line fill="none" stroke="#a0a0a0" id="svg_56" y2="4.37757" x2="14.89023" y1="4.37757" x1="6.696"/>
-	  <line fill="none" stroke="#a0a0a0" id="svg_57" y2="7.10804" x2="12.92026" y1="7.10804" x1="6.6948"/>
-	  <line fill="none" stroke="#a0a0a0" id="svg_58" y2="9.84241" x2="15.64716" y1="9.84241" x1="6.6942"/>
-	  <line fill="none" stroke="#a0a0a0" id="svg_59" y2="12.36585" x2="13.21805" y1="12.36585" x1="6.69691"/>
-	  <line fill="none" stroke="#a0a0a0" id="svg_60" y2="15.06507" x2="14.43591" y1="15.06507" x1="6.69691"/>
-	  <line fill="none" stroke="#a0a0a0" id="svg_61" y2="17.84241" x2="13.36979" y1="17.84241" x1="6.69691"/>
-	  <g id="svg_54">
-	   <path transform="rotate(-45, 12.5448, 11.7085)" stroke-width="0" stroke="#000000" fill="#606060" id="svg_31" d="m11.24329,8.73944l0,2.79974l2.53499,0.07777l0,-2.95528c1.78134,0.07777 2.26093,1.39987 2.12391,2.95528c-0.06851,1.63318 -1.30175,3.49967 -3.49418,3.26636c-2.19242,-0.31108 -2.87755,-1.39987 -3.15161,-2.72197c-0.27406,-1.39987 0.41108,-3.34413 1.98689,-3.4219z"/>
-	   <rect opacity="0.95" transform="rotate(-45, 16.2485, 15.1732)" stroke-width="0" stroke="#000000" fill="url(#svg_53)" id="svg_50" height="4.85445" width="2.57974" y="12.746" x="15.04047"/>
-	  </g>
-	</svg>
-</g>
-
-<g id="source">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 52">
-  <text xml:space="preserve" text-anchor="middle" font-family="monospace" font-size="24" stroke-width="0" stroke="#000000" fill="#019191" id="svg_40" y="15" x="28.23" font-weight="bold">s</text>
-  <text xml:space="preserve" text-anchor="middle" font-family="monospace" font-size="24" stroke-width="0" stroke="#000000" fill="#019191" id="svg_47" y="30" x="28.23" font-weight="bold">v</text>
-  <text xml:space="preserve" text-anchor="middle" font-family="monospace" font-size="24" stroke-width="0" stroke="#000000" fill="#019191" id="svg_48" y="44" x="28.23" font-weight="bold">g</text>
-  <line stroke-width="3" fill="none" stroke="#aa0000" id="svg_51" y2="43" x2="16" y1="25" x1="5"/>
-  <line id="svg_62" stroke-width="3" fill="none" stroke="#aa0000" y2="8" x2="16" y1="26" x1="5"/>
-  <line id="svg_63" stroke-width="3" fill="none" stroke="#aa0000" y2="43" x2="39" y1="25" x1="50"/>
-  <line id="svg_64" stroke-width="3" fill="none" stroke="#aa0000" y2="8" x2="39" y1="26" x1="51"/>
- </svg>
-</g>
- 
-<g id="wireframe">
- <svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
-  <circle stroke="#000000" fill="none" id="svg_49" r="8" cy="9.5" cx="9.5"/>
-  <rect stroke="#000000" fill="none" id="svg_52" height="14" width="14" y="8.5" x="8.5"/>
- </svg>
-</g>
-
-<g id="undo">
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient id="svg_66" x1="0.04297" y1="0.00391" x2="0.21484" y2="0.875">
-   <stop offset="0" stop-color="#f7f963" stop-opacity="1"/>
-   <stop offset="1" stop-color="#d3c310" stop-opacity="1"/>
-  </linearGradient>
- </defs>
-  <path transform="rotate(-90, 10.3017, 11.5526)" d="m6.70188,10.72562l6.55493,-7.13388l6.65817,7.24912l-3.79441,0.03193l0,2.72259c-0.04257,2.74017 -2.76516,5.83068 -7.81235,6.02135c-5.18575,0 -7.1226,-3.75464 -7.49302,-7.41944c0.61736,1.6754 3.14913,3.78397 5.3716,3.67918c2.71635,0.1048 4.41501,-0.61714 4.41501,-2.50184l0,-2.64901l-3.89995,0z" id="svg_45" fill="url(#svg_66)" stroke="#b7a800"/>
- </svg>
-</g>
-
-<g id="redo">
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient y2="1" x2="1" y1="0" x1="1" id="svg_71">
-   <stop stop-opacity="1" stop-color="#98fc46" offset="0"/>
-   <stop stop-opacity="1" stop-color="#56aa25" offset="1"/>
-  </linearGradient>
- </defs>
-  <path transform="rotate(-90, 12.7299, 11.5526)" d="m9.11294,12.43144l6.54089,6.84566l6.6439,-6.95624l-3.78628,-0.03064l0,-2.61259c-0.04248,-2.62946 -2.75924,-5.5951 -7.79561,-5.77807c-5.17464,0 -7.10734,3.60294 -7.47697,7.11967c0.61604,-1.60771 3.14238,-3.63109 5.36009,-3.53053c2.71053,-0.10056 4.40555,0.59221 4.40555,2.40076l0,2.54198l-3.89159,0z" id="svg_45" fill="url(#svg_71)" stroke="#44aa00"/>
- </svg>
-</g>
-
-<g id="clone">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
- <defs>
-  <linearGradient y2="1" x2="1" y1="0" x1="0" id="svg_36">
-   <stop stop-opacity="1" stop-color="#f9f3de" offset="0"/>
-   <stop stop-opacity="1" stop-color="#ccbd8f" offset="1"/>
-  </linearGradient>
-  <linearGradient y2="0.80078" x2="0.42578" y1="0" x1="0" id="svg_69">
-   <stop stop-opacity="1" stop-color="#f9f3de" offset="0"/>
-   <stop stop-opacity="1" stop-color="#af995b" offset="1"/>
-  </linearGradient>
- </defs>
-  <path stroke="#8f5902" fill="url(#svg_69)" id="svg_34" d="m2.11676,16.32061l-0.13787,-5.05515l1.93015,-2.02206l10.11029,0l2.02206,2.29779l0,4.77941l-13.92463,0z"/>
-  <rect x="7.85379" y="6.30027" width="2.2932" height="4.3407" id="svg_38" fill="url(#svg_36)" stroke="#8f5902" rx="1" ry="1"/>
-  <circle stroke="#8f5902" fill="url(#svg_36)" id="svg_35" r="2.96392" cy="4.48149" cx="9.11757"/>
-  <line x1="2.44838" y1="12.03512" x2="15.5524" y2="12.03512" id="svg_39" stroke="#f9f3de" fill="none"/>
-  <path d="m6.72427,12.55859l4.74203,0l-2.30831,2.07258l-2.43372,-2.07258z" id="svg_43" fill="#000000" stroke="#8f5902" fill-opacity="0.76" stroke-width="0"/>
-</svg>
-</g>
-
-<g id="delete">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
-  <rect ry="3" rx="3" stroke="#800000" fill="#aa0000" id="svg_37" height="20.29514" width="21.17486" y="1.70304" x="1.42011"/>
-  <rect ry="3" rx="3" stroke="#ff5555" fill="#aa0000" id="svg_67" height="18.63022" width="19.61118" y="2.53597" x="2.20258"/>
-  <line stroke-width="2" fill="none" stroke="#ffffff" id="svg_68" y2="16.85127" x2="17.00646" y1="6.85127" x1="7.00646"/>
-  <line stroke-width="2" id="svg_70" fill="none" stroke="#ffffff" y2="16.85127" x2="7.00646" y1="6.85127" x1="17.00646"/>
- </svg>
-</g>
-
-<g id="go_up">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
-	 <defs>
-	  <linearGradient y2="0" x2="0.7" y1="0" x1="0" id="svg_74">
-	   <stop stop-opacity="1" stop-color="#afe853" offset="0"/>
-	   <stop stop-opacity="1" stop-color="#52a310" offset="1"/>
-	  </linearGradient>
-	 </defs>
-	  <path stroke="#008000" fill="url(#svg_74)" id="svg_33" d="m5.38492,16.77043l7.07692,0l0,-5.23077l4.15385,0l-7.69231,-10.15385l-7.69231,10.15385l4.15385,0l0,5.23077z"/>
-	</svg>
-</g>
-
-<g id="go_down">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
- <defs>
-  <linearGradient y2="0" x2="0.7" y1="0" x1="0" id="svg_75">
-   <stop stop-opacity="1" stop-color="#afe853" offset="0"/>
-   <stop stop-opacity="1" stop-color="#52a310" offset="1"/>
-  </linearGradient>
- </defs>
-  <path stroke="#008000" fill="url(#svg_75)" id="svg_33" d="m5.3015,1.69202l6.93483,0l0,5.07323l4.07045,0l-7.53786,9.84803l-7.53786,-9.84803l4.07045,0l0,-5.07323z"/>
- </svg>
-</g>
-
-<g id="move_bottom">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23">
- <defs>
-  <linearGradient y2="0" x2="1" y1="0" x1="0" id="svg_80">
-   <stop stop-opacity="1" stop-color="#bc7f05" offset="0"/>
-   <stop stop-opacity="1" stop-color="#fcfc9f" offset="1"/>
-  </linearGradient>
- </defs>
-  <line stroke-width="2" fill="none" stroke="#000000" id="svg_72" y2="2.5" x2="22" y1="2.5" x1="10.5"/>
-  <line id="svg_73" stroke-width="2" fill="none" stroke="#000000" y2="6.5" x2="21.99844" y1="6.5" x1="10.49844"/>
-  <line id="svg_74" stroke-width="2" fill="none" stroke="#000000" y2="10.5" x2="21.99922" y1="10.5" x1="10.49922"/>
-  <line id="svg_75" stroke-width="2" fill="none" stroke="#000000" y2="14.5" x2="21.99922" y1="14.5" x1="10.49922"/>
-  <rect stroke="#000000" fill="url(#svg_80)" id="svg_77" height="2.2" width="20" y="17.65" x="1.65"/>
-  <path stroke-width="0" stroke="#000000" fill="#000000" id="svg_81" d="m4.25,1.55l2.35,0l0,11.05l2,0l-3.175,3.45l-3.175,-3.45l2,0l0,-11.05z"/>
- </svg>
-</g>
-
-<g id="move_top">
-<svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient id="svg_86" x1="0" y1="0" x2="1" y2="0">
-   <stop offset="0" stop-color="#9fdcf4" stop-opacity="1"/>
-   <stop offset="1" stop-color="#617e96" stop-opacity="1"/>
-  </linearGradient>
- </defs>
-  <line x1="1.3" y1="8.19922" x2="12.8" y2="8.19922" id="svg_72" stroke="#000000" fill="none" stroke-width="2"/>
-  <line x1="1.29844" y1="12.19922" x2="12.79844" y2="12.19922" stroke="#000000" fill="none" stroke-width="2" id="svg_73"/>
-  <line x1="1.29922" y1="16.19922" x2="12.79922" y2="16.19922" stroke="#000000" fill="none" stroke-width="2" id="svg_74"/>
-  <line x1="1.29922" y1="20.19922" x2="12.79922" y2="20.19922" stroke="#000000" fill="none" stroke-width="2" id="svg_75"/>
-  <rect x="1.55" y="1.85" width="20" height="3.2" id="svg_77" fill="url(#svg_86)" stroke="#000000"/>
-  <path d="m16.83475,21.14603l2.33207,0l0,-11.04578l1.98474,0l-3.15077,-3.44869l-3.15077,3.44869l1.98474,0l0,11.04578z" id="svg_81" fill="#000000" stroke="#000000" stroke-width="0"/>
- </svg>
-</g>
-
-<g id="to_path">
-<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient y2="0.46875" x2="0.42969" y1="0.10156" x1="0.10547" id="svg_105">
-   <stop stop-color="#ff0000" offset="0"/>
-   <stop stop-opacity="0" stop-color="#ff0000" offset="1"/>
-  </linearGradient>
- </defs>
- <g>
-  <circle cx="21" cy="21.3125" r="18.44531" id="svg_120" fill="url(#svg_105)" stroke="#000000"/>
-  <path fill="none" stroke="#000000" d="m2.875,21.3125c-0.375,-9.25 7.75,-18.875 17.75,-18" id="svg_115"/>
-  <line x1="25.375" y1="3.0625" x2="8.5" y2="3.0625" id="svg_116" stroke="#808080" fill="none"/>
-  <line x1="2.625" y1="24.75" x2="2.625" y2="9.8125" id="svg_117" stroke="#808080" fill="none"/>
-  <circle cx="8.5" cy="2.9375" r="1.95313" fill="#00ffff" stroke="#0000ff" stroke-width="0.5" id="svg_118"/>
-  <circle cx="2.625" cy="9.8125" r="1.95313" fill="#00ffff" stroke="#0000ff" stroke-width="0.5" id="svg_119"/>
-  <circle cx="20.875" cy="3.1875" r="2.5" id="svg_112" fill="#00ffff" stroke="#0000ff"/>
-  <circle cx="2.875" cy="21.0625" r="2.5" fill="#00ffff" stroke="#0000ff" id="svg_114"/>
- </g>
-</svg>
-</g>
-
-<g id="link_controls">
-<svg viewBox="0 0 24 24" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">
-  <path stroke-width="2" id="svg_102" d="m9.875,23c-2,-4.25 -1.6875,-7.375 1.6875,-10.5c3.375,-3.125 7.5625,-2.75 11.0625,2" stroke="#8dd35f" fill="none"/>
-  <line fill="none" stroke="#606060" id="svg_109" y2="4" x2="19" y1="19" x1="4"/>
-  <circle stroke="#0000ff" fill="#00ffff" id="svg_111" r="2.17578" cy="11.5" cx="11.5"/>
-  <circle stroke-width="0.5" id="svg_121" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="4" cx="19"/>
-  <circle id="svg_123" stroke-width="0.5" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="19" cx="4"/>
-</svg>
-</g>
-
-<g id="reorient">
-<svg viewBox="0 0 24 24" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">
- <defs>
-  <linearGradient y2="1" x2="1" y1="1" x1="0" id="svg_113">
-   <stop stop-opacity="0" stop-color="#0000ff" offset="0"/>
-   <stop stop-opacity="1" stop-color="#507ece" offset="1"/>
-  </linearGradient>
- </defs>
-  <rect stroke-dasharray="2,2" stroke="#0000ff" fill="none" id="svg_108" height="19.125" width="18.625" y="2.625" x="2.875"/>
-  <rect transform="rotate(45, 12.2344, 12.1719)" stroke="#000000" fill="url(#svg_113)" id="svg_107" height="6.125" width="16" y="9.10848" x="4.23267"/>
-</svg>
-</g>
-
-<g id="group">
-<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient id="svg_90" x1="0" y1="0" x2="1" y2="1">
-   <stop offset="0" stop-color="#ccddff" stop-opacity="1"/>
-   <stop offset="1" stop-color="#789fed" stop-opacity="1"/>
-  </linearGradient>
-  <linearGradient id="svg_92" x1="0" y1="0" x2="1" y2="1">
-   <stop offset="0" stop-color="#70a1e5" stop-opacity="1"/>
-   <stop offset="1" stop-color="#4b6baf" stop-opacity="1"/>
-  </linearGradient>
- </defs>
-  <rect x="13.5" y="0.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_79"/>
-  <rect x="13.5" y="13.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_82"/>
-  <rect x="0.5" y="13.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_83"/>
-  <rect x="2.5" y="2.5" width="8" height="7" fill="#a0a0a0" stroke="#555555" id="svg_85"/>
-  <rect x="2.5" y="2.5" width="8" height="7" fill="url(#svg_90)" stroke="url(#svg_92)" id="svg_87"/>
-  <rect x="5.5" y="6.5" width="8" height="7" id="svg_84" fill="#7399d6" stroke="url(#svg_92)"/>
-  <rect x="0.5" y="0.5" width="2" height="2" id="svg_78" fill="#a0a0a0" stroke="#555555"/>
- </svg>
-</g>
-
-<g id="ungroup">
-<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <linearGradient id="svg_90" x1="0" y1="0" x2="1" y2="1">
-   <stop offset="0" stop-color="#ccddff" stop-opacity="1"/>
-   <stop offset="1" stop-color="#789fed" stop-opacity="1"/>
-  </linearGradient>
-  <linearGradient id="svg_92" x1="0" y1="0" x2="1" y2="1">
-   <stop offset="0" stop-color="#70a1e5" stop-opacity="1"/>
-   <stop offset="1" stop-color="#4b6baf" stop-opacity="1"/>
-  </linearGradient>
- </defs>
-  <rect x="2.5" y="2.5" width="8" height="7" fill="url(#svg_90)" stroke="url(#svg_92)" id="svg_87"/>
-  <rect x="5.5" y="6.5" width="8" height="7" id="svg_84" fill="#7399d6" stroke="url(#svg_92)"/>
-  <rect x="9.5" y="1.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_79"/>
-  <rect x="1.5" y="8.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_83"/>
-  <rect x="1.5" y="1.5" width="2" height="2" id="svg_78" fill="#a0a0a0" stroke="#555555"/>
-  <rect id="svg_93" x="12.5" y="5.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>
-  <rect id="svg_94" x="12.5" y="12.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>
-  <rect id="svg_95" x="4.5" y="12.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>
-  <rect id="svg_96" x="4.5" y="5.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>
-</svg>
-</g>
-
-<g id="align_left">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
-	  <rect stroke="#606060" fill="#ffffff" id="svg_4" height="7" width="12" y="2.5" x="2.5"/>
-	  <rect stroke-width="0" stroke="#606060" fill="#c0c0c0" id="svg_5" height="4" width="11" y="4" x="2"/>
-	  <rect id="svg_6" stroke="#606060" fill="#ffffff" height="7" width="18" y="12.5" x="2.5"/>
-	  <rect id="svg_7" stroke-width="0" stroke="#606060" fill="#c0c0c0" height="4" width="17" y="14" x="2"/>
-	  <rect stroke="#c15909" fill="#ef9a23" id="svg_2" height="40" width="2" y="-10" x="1.5"/>
-	</svg>
-</g>
-
-<g id="align_center">
-	<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	  <rect x="1.5" y="12.5" width="18" height="7" fill="#c0c0c0" stroke="#606060" id="svg_6"/>
-	  <rect x="4.5" y="2.5" width="12" height="7" id="svg_4" fill="#c0c0c0" stroke="#606060"/>
-	  <rect x="9.5" y="-10" width="2" height="40" id="svg_2" fill="#ef9a23" stroke="#c15909"/>
-	  <rect x="2.5" y="13.5" width="16" height="5" fill="none" stroke="#ffffff" id="svg_7"/>
-	  <rect x="5.5" y="3.5" width="10" height="5" id="svg_5" fill="none" stroke="#ffffff"/>
-	</svg>
-</g>
-
-<g id="align_right">
-	<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	  <rect x="7.5" y="2.5" width="12" height="7" id="svg_4" fill="#ffffff" stroke="#606060"/>
-	  <rect x="9" y="4" width="11" height="4" id="svg_5" fill="#c0c0c0" stroke="#606060" stroke-width="0"/>
-	  <rect x="1.5" y="12.5" width="18" height="7" fill="#ffffff" stroke="#606060" id="svg_6"/>
-	  <rect x="3" y="14" width="17" height="4" fill="#c0c0c0" stroke="#606060" stroke-width="0" id="svg_7"/>
-	  <rect x="18.5" y="-10" width="2" height="40" id="svg_2" fill="#ef9a23" stroke="#c15909"/>
-	</svg>
-</g>
-
-<g id="align_top">
-	<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-	  <g transform="rotate(90, 11, 11)" id="svg_1">
-	   <rect x="2.5" y="3.5" width="12" height="7" id="svg_4" fill="#ffffff" stroke="#606060"/>
-	   <rect x="2" y="5" width="11" height="4" id="svg_5" fill="#c0c0c0" stroke="#606060" stroke-width="0"/>
-	   <rect x="2.5" y="13.5" width="18" height="7" fill="#ffffff" stroke="#606060" id="svg_6"/>
-	   <rect x="2" y="15" width="17" height="4" fill="#c0c0c0" stroke="#606060" stroke-width="0" id="svg_7"/>
-	   <rect x="1.5" y="-9" width="2" height="40" id="svg_2" fill="#ef9a23" stroke="#c15909"/>
-	  </g>
-	</svg>
-</g>
-
-<g id="align_middle">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
-  <g transform="rotate(90, 12, 11.5)" id="svg_1">
-   <rect id="svg_6" stroke="#606060" fill="#c0c0c0" height="7" width="18" y="14" x="3"/>
-   <rect stroke="#606060" fill="#c0c0c0" id="svg_4" height="7" width="12" y="4" x="6"/>
-   <rect stroke="#c15909" fill="#ef9a23" id="svg_2" height="40" width="2" y="-8.5" x="11"/>
-   <rect id="svg_7" stroke="#ffffff" fill="none" height="5" width="16" y="15" x="4"/>
-   <rect stroke="#ffffff" fill="none" id="svg_5" height="5" width="10" y="5" x="7"/>
-   </g>
-</svg>
-</g>
-
-<g id="align_bottom">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
-  <g transform="rotate(90, 11, 11)" id="svg_1">
-   <rect stroke="#606060" fill="#ffffff" id="svg_4" height="7" width="12" y="2.5" x="7.5"/>
-   <rect stroke-width="0" stroke="#606060" fill="#c0c0c0" id="svg_5" height="4" width="11" y="4" x="9"/>
-   <rect id="svg_6" stroke="#606060" fill="#ffffff" height="7" width="18" y="12.5" x="1.5"/>
-   <rect id="svg_7" stroke-width="0" stroke="#606060" fill="#c0c0c0" height="4" width="17" y="14" x="3"/>
-   <rect stroke="#c15909" fill="#ef9a23" id="svg_2" height="40" width="2" y="-10" x="18.5"/>
-   </g>
-</svg>
-</g>
-
-<g id="eye">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17">
- <defs>
-  <linearGradient y2="0.79688" x2="0.5625" y1="0.19141" x1="0.42969" id="svg_91">
-   <stop stop-opacity="1" stop-color="#d3a16b" offset="0"/>
-   <stop stop-opacity="1" stop-color="#a37c53" offset="1"/>
-  </linearGradient>
- </defs>
-  <path stroke-width="0" stroke="#000000" fill="url(#svg_91)" id="svg_9" d="m0.12852,8.18338c3.59931,-7.71208 13.19749,-7.36932 16.75236,0.08569c-3.02165,7.5407 -13.59741,7.66924 -16.75236,-0.08569z"/>
-  <path id="svg_76" stroke-width="0" stroke="#000000" fill="#ffffff" d="m0.33033,8.2557c3.5173,-4.97159 12.89675,-4.75063 16.37062,0.05524c-2.95279,4.86111 -13.28756,4.94397 -16.37062,-0.05524z"/>
-  <circle stroke-width="0" stroke="#000000" fill="#4f92c1" id="svg_88" r="3.08008" cy="7.71116" cx="8.45861"/>
-  <circle stroke-width="0" stroke="#000000" fill="#000000" id="svg_89" r="1.27539" cy="7.6539" cx="8.43159"/>
- </svg>
-</g>
-
-<g id="no_color">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
-	  <line fill="none" stroke="#d40000" id="svg_90" y2="24" x2="24" y1="0" x1="0"/>
-	  <line id="svg_92" fill="none" stroke="#d40000" y2="24" x2="0" y1="0" x1="24"/>
-	</svg>
-</g>
-
-<g id="ok">
-	<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
-	 <defs>
-	  <linearGradient y2="0.65625" x2="0.94141" y1="0.43359" x1="0.42969" id="svg_106">
-	   <stop stop-opacity="1" stop-color="#38ff45" offset="0"/>
-	   <stop stop-opacity="1" stop-color="#127c0c" offset="1"/>
-	  </linearGradient>
-	 </defs>
-	  <path transform="rotate(45, 12, 10)" stroke="#005500" fill="url(#svg_106)" id="svg_101" d="m7.9,15.9l4.9,-0.05l0,-13.75l3.8,0l0,17.6l-8.7,0l0,-3.8z"/>
-	</svg>
-</g>
-
-<g id="cancel">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <defs>
-  <linearGradient y2="0.65625" x2="0.94141" y1="0.43359" x1="0.42969" id="svg_9">
-   <stop stop-opacity="1" stop-color="#ff3838" offset="0"/>
-   <stop stop-opacity="1" stop-color="#7a0c0c" offset="1"/>
-  </linearGradient>
- </defs>
-  <path stroke="#550000" fill="url(#svg_9)" id="svg_101" d="m2.10526,10.52632l7.36842,0l0,-7.36842l3.68421,0l0,7.36842l7.36842,0l0,3.68421l-7.36842,0l0,7.36842l-3.68421,0l0,-7.36842l-7.36842,0l0,-3.68421z" transform="rotate(45, 11.3, 12.3)"/>
- </svg>
-</g>
-
-<g id="warning">
-<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <defs>
-  <linearGradient y2="0.98047" x2="0.57813" y1="0.44922" x1="0.56641" id="svg_110">
-   <stop stop-opacity="1" stop-color="#ffff00" offset="0"/>
-   <stop stop-opacity="1" stop-color="#9e9e00" offset="1"/>
-  </linearGradient>
- </defs>
-  <path d="m1.42857,21.55559l10.71429,-19.36489l10.71429,19.20352l-21.42857,0.16137z" id="svg_44" fill="url(#svg_110)" stroke="#916d1f" stroke-width="2"/>
-  <path stroke-width="0" stroke="#916d1f" fill="#000000" id="svg_103" d="m11.98371,14.68571c-0.57143,-3.82857 -1.82857,-6.4 0.11429,-6.4c2.11429,0 0.74286,2.57143 0.11429,6.4l-0.22857,0z"/>
-  <circle stroke-width="0" stroke="#916d1f" fill="#000000" id="svg_104" r="1.17578" cy="17.37143" cx="12.14308"/>
- </svg>
-</g>
-
-<g id="svg_eof"/>
-
-</svg>
\ No newline at end of file
Binary file htdocs/svg-edit/editor/images/svg_edit_icons.svgz has changed
Binary file htdocs/svg-edit/editor/images/text.png has changed
--- a/htdocs/svg-edit/editor/images/text.svg	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="22.000000px"
-   height="22.000000px"
-   id="svg1306"
-   sodipodi:version="0.32"
-   inkscape:version="0.42.2"
-   sodipodi:docbase="/home/andreas/projekt/bild/tango/22"
-   sodipodi:docname="draw-text2.svg">
-  <defs
-     id="defs1308">
-    <linearGradient
-       id="linearGradient3682">
-      <stop
-         style="stop-color:#1f1f1f;stop-opacity:1.0000000;"
-         offset="0.0000000"
-         id="stop3684" />
-      <stop
-         style="stop-color:#5c5c5c;stop-opacity:1.0000000;"
-         offset="1.0000000"
-         id="stop3686" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3558">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop3560" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop3562" />
-    </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3558"
-       id="radialGradient3564"
-       cx="22.571428"
-       cy="30.857143"
-       fx="22.571428"
-       fy="30.857143"
-       r="15.571428"
-       gradientTransform="matrix(1.000000,0.000000,0.000000,0.651376,4.300378e-15,10.75754)"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       id="linearGradient2834">
-      <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
-         offset="0"
-         id="stop2836" />
-      <stop
-         style="stop-color:#b3b3b3;stop-opacity:0.0000000;"
-         offset="1.0000000"
-         id="stop2838" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2834"
-       id="linearGradient2840"
-       x1="19.944447"
-       y1="16.527262"
-       x2="24.133829"
-       y2="19.642126"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.498259,0.000000,0.000000,0.466519,-0.799974,-0.839637)" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3682"
-       id="linearGradient3688"
-       x1="23.305620"
-       y1="24.843527"
-       x2="14.388516"
-       y2="9.5902243"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.498259,0.000000,0.000000,0.488600,-0.799974,-1.273557)" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="14.000000"
-     inkscape:cx="17.541947"
-     inkscape:cy="12.572768"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="1280"
-     inkscape:window-height="885"
-     inkscape:window-x="0"
-     inkscape:window-y="25" />
-  <metadata
-     id="metadata1311">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <path
-       sodipodi:type="arc"
-       style="opacity:0.47368422;color:#000000;fill:url(#radialGradient3564);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
-       id="path3556"
-       sodipodi:cx="22.571428"
-       sodipodi:cy="30.857143"
-       sodipodi:rx="15.571428"
-       sodipodi:ry="10.142858"
-       d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1  7.0000000,30.857143 A 15.571428 10.142858 0 1 1  38.142857 30.857143 z"
-       transform="matrix(0.706422,0.000000,0.000000,0.208015,-4.944952,13.47138)" />
-    <path
-       style="font-size:54.869392px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient3688);fill-opacity:1.0000000;stroke:#000000;stroke-width:1.0000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
-       d="M 15.189363,15.520771 L 7.1531447,15.520771 L 5.8598048,19.513834 L 0.51627279,19.513834 L 8.1009381,0.48837876 L 14.228221,0.48837876 L 21.560524,19.464779 L 16.444188,19.464779 L 15.189363,15.520771 M 8.3990779,12.473977 L 13.858901,12.473977 L 11.171254,5.1526958 L 8.3990779,12.473977"
-       id="text1314"
-       sodipodi:nodetypes="ccccccccccccc" />
-    <path
-       style="font-size:54.869392px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;opacity:0.37912086;fill:none;fill-opacity:1.0000000;stroke:url(#linearGradient2840);stroke-width:1.0000008;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
-       d="M 15.684541,15.159554 L 6.6710758,15.159554 L 5.4166733,18.527305 L 2.0035414,18.527305 L 8.7384662,1.4621947 L 13.512484,1.4621947 L 20.022564,18.410463 L 16.899702,18.410463 L 15.684541,15.159554 z "
-       id="path2047"
-       sodipodi:nodetypes="ccccccccc" />
-    <image
-       id="image2089"
-       height="459.00000"
-       width="400.00000"
-       sodipodi:absref="/home/andreas/palette2.png"
-       xlink:href="/home/andreas/palette2.png"
-       x="-354.93631"
-       y="-214.53793" />
-    <path
-       style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#999999;stroke-width:1.0000007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;opacity:0.51098901"
-       d="M 8.1686844,13.551882 L 14.147791,13.551882"
-       id="path5142"
-       sodipodi:nodetypes="cc" />
-  </g>
-</svg>
Binary file htdocs/svg-edit/editor/images/to_path.png has changed
Binary file htdocs/svg-edit/editor/images/undo.png has changed
Binary file htdocs/svg-edit/editor/images/view-refresh.png has changed
Binary file htdocs/svg-edit/editor/images/wave.png has changed
Binary file htdocs/svg-edit/editor/images/wireframe.png has changed
Binary file htdocs/svg-edit/editor/images/zoom.png has changed
--- a/htdocs/svg-edit/editor/jgraduate/LICENSE	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--- a/htdocs/svg-edit/editor/jgraduate/README	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-jGraduate - A jQuery plugin for picking gradients
-
-Licensed under the Apache License 2.  See LICENSE for more information.
--- a/htdocs/svg-edit/editor/jgraduate/css/jGraduate-0.2.0.css	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/* 
- * jGraduate Default CSS
- * 
- * Copyright (c) 2009 Jeff Schiller
- *
- * Licensed under the Apache License Version 2
- */
-
-h2.jGraduate_Title {
-  font-family: Arial, Helvetica, Sans-Serif;
-  font-size: 11px !important;
-  font-weight: bold;
-  margin: -13px 0px 0px 0px;
-  padding: 0px;
-  text-align: center;
-}
-
-.jGraduate_Picker {
-	font-family: Arial, Helvetica, Sans-Serif;
-	font-size: 12px;
-	border-style: solid;
-	border-color: lightgrey black black lightgrey;
-	border-width: 1px;
-	background-color: #EFEFEF;
-	position: absolute;
-	padding: 10px;
-}
-
-li.jGraduate_tab_color, li.jGraduate_tab_lingrad {
-	background-color: #ccc;
-	display: inline;
-	border: solid 1px grey;
-	padding: 3px;
-	margin: 2px;
-	cursor: pointer;
-}
-
-li.jGraduate_tab_current {
-	background-color: #EFEFEF;
-	display: inline;
-	padding: 3px;
-	margin: 2px;
-	border: solid 1px black;
-	cursor: pointer;
-}
-
-.jGraduate_colPick {
-	display: none;
-}
-
-.jGraduate_lgPick {	
-	display: none;
-	border: outset 1px #666;
-	padding: 10px 7px 5px 5px;
-	overflow: auto;
-}
-
-.jGraduate_tabs {
-	position: relative;
-	background-color: #EFEFEF;
-	padding: 0px;
-	margin: 0px;
-	margin-bottom: 5px;
-}
-
-div.jGraduate_Swatch {
-	float: left;
-	margin: 8px;
-}
-div.jGraduate_GradContainer {
-	border: 2px inset #EEE;
-	background-image: url(../images/map-opacity.png); 
-	background-position: 0px 0px;
-	height: 256px;
-}
-
-.jGraduate_AlphaArrows {
-	position: absolute;
-	margin-top: -10px;
-	margin-left: 250.5px;
-}
-
-div.jGraduate_Opacity {
-	border: 2px inset #eee;
-	margin-top: 14px;
-	background-color: black;
-	background-image: url(../images/Maps.png);
-	background-position: 0px -2816px;
-	height: 20px;
-	cursor: ew-resize;
-}
-
-div.jGraduate_OpacityField {
-	position: absolute;
-	bottom: 25px;
-	left: 292px;
-}
-
-div.jGraduate_Form {
-	float: left;
-	width: 140px;
-	margin: -3px 3px 0px 4px;
-}
-
-div.jGraduate_StopSection {
-	width: 120px;
-	text-align: center;
-}
-
-div.jGraduate_OkCancel {
-	float: left;
-	width: 113px;
-}
-
-input.jGraduate_Ok, input.jGraduate_Cancel {
-	display: block;
-	width: 100px;
-	margin-left: -4px;
-	margin-right: -4px;
-}
-input.jGraduate_Ok {
-	margin: 9px -4px 5px -4px;
-}
-
-.colorBox {
-	float: left;
-	height: 16px;
-	width: 16px;
-	border: 1px solid #808080;
-	cursor: pointer;
-	margin: 4px 4px 4px 30px;
-}
-
-.colorBox + label {
-	float: left;
-	margin-top: 7px;
-}
-
-label.jGraduate_Form_Heading {
-	position: relative;
-	top: 10px;
-	background-color: #EFEFEF;
-	padding: 2px;
-	font-weight: bold;
-	font-size: 13px;
-}
-
-div.jGraduate_Form_Section {
-	border-style: solid;
-	border-width: 1px;
-	border-color: grey;
-	-moz-border-radius: 5px;
-	-webkit-border-radius: 5px;
-	padding: 15px 5px 5px 5px;
-	margin: 2px;
-	width: 110px;
-	text-align: center;
-	overflow: auto;
-}
-
-div.jGraduate_LightBox {
-	position: fixed;
-	top: 0px;
-	left: 0px;
-	right: 0px;
-	bottom: 0px;
-	background-color: #000;
-	opacity: 0.5;
-	display: none;
-}
-
-div.jGraduate_stopPicker {
-	position: absolute;
-	display: none;
-	background: #E8E8E8;
-}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/htdocs/svg-edit/editor/jgraduate/css/jPicker-1.0.12.css	Sun Jan 31 18:35:04 2010 +0100
@@ -0,0 +1,191 @@
+.jPicker_Picker {
+  display: inline-block;
+  height: 24px; /* change this value if using a different sized color picker icon */
+  position: relative; /* make this element an absolute positioning container */
+  text-align: left; /* make the zero width children position to the left of container */
+  width: 25px; /* change this value if using a different sized color picker icon */
+}
+.jPicker_Color, .jPicker_Alpha {
+  background-position: 2px 2px;
+  display: block;
+  height: 100%;
+  left: 0px;
+  position: absolute;
+  top: 0px;
+  width: 100%;
+}
+.jPicker_Icon {
+  background-repeat: no-repeat;
+  cursor: pointer;
+  display: block;
+  height: 100%;
+  left: 0px;
+  position: absolute;
+  top: 0px;
+  width: 100%;
+}
+.jPicker_Container {
+  display: none;
+  z-index: 10; /* make sure container draws above color picker icon in Firefox/Safari/Chrome/Opera/etc. -
+                  IE calculates z-index so this won't work - we will hide all color picker icons placed after the selected one in code when shown in IE */
+}
+.jPicker_table {
+  background-color: #efefef;
+  border: 1px outset #666;
+  font-family: Arial, Helvetica, Sans-Serif;
+  font-size: 12px;
+  margin: 0px;
+  padding: 5px;
+  width: 550px;
+}
+.jPicker_table td {
+  margin: 0px;
+  padding: 0px;
+  vertical-align: top;
+}
+.jPicker_MoveBar {
+  background-color: #dddddd;
+  border: 1px outset #aaa;
+  cursor: move;
+  height: 12px;
+}
+.jPicker_Title {
+  font-size: 11px !important;
+  font-weight: bold;
+  margin: -2px 0px 0px 0px;
+  padding: 0px;
+  text-align: center;
+  width: 100%;
+}
+.jPicker_ColorMap {
+  border: 2px inset #eee;
+  cursor: crosshair;
+  height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
+  margin: 0px 5px 0px 5px;
+  overflow: hidden; /* hide the overdraw of the Color Map icon when at edge of viewing box */
+  padding: 0px;
+  position: relative; /* make this element an absolute positioning container */
+  width: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
+}
+div[class="jPicker_ColorMap"] {
+  height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
+  width: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
+}
+.jPicker_ColorBar {
+  border: 2px inset #eee;
+  cursor: n-resize;
+  height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
+  margin: 12px 10px 0px 5px;
+  padding: 0px;
+  position: relative;
+  width: 24px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 20px later */
+}
+div[class="jPicker_ColorBar"] {
+  height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
+  width: 20px; /* correct to 20px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
+}
+.jPicker_ColorMap_l1, .jPicker_ColorMap_l2, .jPicker_ColorMap_l3, .jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3, .jPicker_ColorBar_l4, .jPicker_ColorBar_l5, .jPicker_ColorBar_l6 {
+  background-color: transparent;
+  background-image: none;
+  display: block;
+  height: 256px; /* must specific pixel height. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar
+                    would not be drawn if its overflow is set to hidden. */
+  left: 0px;
+  position: absolute;
+  top: 0px;
+}
+.jPicker_ColorMap_l1, .jPicker_ColorMap_l2, .jPicker_ColorMap_l3 {
+  width: 256px; /* must specific pixel width. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar
+                   would not be drawn if its overflow is set to hidden. */
+}
+.jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3, .jPicker_ColorBar_l4, .jPicker_ColorBar_l5, .jPicker_ColorBar_l6 {
+  width: 20px; /* must specific pixel width. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar
+                  would not be drawn if its overflow is set to hidden. */
+}
+.jPicker_ColorMap_l1, .jPicker_ColorMap_l2, .jPicker_ColorBar_l6 {
+  background-repeat: no-repeat;
+}
+.jPicker_ColorMap_l3, .jPicker_ColorBar_l5 {
+  background-repeat: repeat;
+}
+.jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3, .jPicker_ColorBar_l4 {
+  background-repeat: repeat-x;
+}
+.jPicker_ColorMap_Arrow {
+  display: block;
+  position: absolute;
+}
+.jPicker_ColorBar_Arrow {
+  display: block;
+  left: -10px; /* (arrow width / 2) - (element width / 2) - position arrows' center in elements' center */
+  position: absolute;
+}
+.jPicker_Preview {
+  font-size: x-small;
+  text-align: center;
+}
+.jPicker_Preview div {
+  border: 2px inset #eee;
+  height: 62px;
+  margin: 0px auto;
+  padding: 0px;
+  width: 62px;
+}
+.jPicker_Preview div span {
+  border: 1px solid #000;
+  display: block;
+  height: 30px;
+  margin: 0px auto;
+  padding: 0px;
+  width: 60px;
+}
+.jPicker_Preview div span.jPicker_Active {
+  border-bottom-width: 0px;
+}
+.jPicker_Preview div span.jPicker_Current {
+  border-top-width: 0px;
+  cursor: pointer;
+}
+.jPicker_OkCancel {
+  text-align: center;
+  width: 120px;
+}
+.jPicker_OkCancel input {
+  width: 100px;
+}
+.jPicker_OkCancel input.jPicker_Ok {
+  margin: 12px 0px 5px 0px;
+}
+.jPicker_Text {
+  text-align: left;
+}
+.jPicker_HueText, .jPicker_SaturationText, .jPicker_BrightnessText, .jPicker_RedText, .jPicker_GreenText, .jPicker_BlueText, .jPicker_AlphaText {
+  background-color: #fff;
+  border: 1px inset #aaa;
+  margin: 0px 0px 0px 5px;
+  text-align: left;
+  width: 30px;
+}
+.jPicker_HexText {
+  background-color: #fff;
+  border: 1px inset #aaa;
+  margin: 0px 0px 0px 5px;
+  width: 65px;
+}
+.jPicker_Grid {
+  text-align: center;
+}
+span.jPicker_QuickColor {
+  border: 1px inset #aaa;
+  cursor: pointer;
+  display: block;
+  float: left;
+  height: 13px;
+  line-height: 13px;
+  margin: 2px 2px 1px 2px;
+  padding: 0px;
+  width: 15px;
+}
+span[class="jPicker_QuickColor"] {
+  width: 13px;
+}
\ No newline at end of file
--- a/htdocs/svg-edit/editor/jgraduate/css/jPicker-1.0.9.css	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-.jPicker_Picker {
-  display: inline-block;
-  height: 24px; /* change this value if using a different sized color picker icon */
-  position: relative; /* make this element an absolute positioning container */
-  text-align: left; /* make the zero width children position to the left of container */
-  width: 25px; /* change this value if using a different sized color picker icon */
-}
-.jPicker_Color {
-  display: block;
-  height: 100%;
-  left: 0px;
-  position: absolute;
-  top: 0px;
-  width: 100%;
-}
-.jPicker_Icon {
-  background-repeat: no-repeat;
-  cursor: pointer;
-  display: block;
-  height: 100%;
-  left: 0px;
-  position: absolute;
-  top: 0px;
-  width: 100%;
-}
-.jPicker_Container {
-  display: none;
-  z-index: 10; /* make sure container draws above color picker icon in Firefox/Safari/Chrome/Opera/etc. -
-                  IE calculates z-index so this won't work - we will hide all color picker icons placed after the selected one in code when shown in IE */
-}
-.jPicker_table {
-  background-color: #efefef;
-  border: 1px outset #666;
-  font-family: Arial, Helvetica, Sans-Serif;
-  font-size: 12px;
-  height: 330px;
-  margin: 0px;
-  padding: 5px;
-  width: 550px;
-}
-.jPicker_table td {
-  margin: 0px;
-  padding: 0px;
-  vertical-align: top;
-}
-.jPicker_MoveBar {
-  background-color: #dddddd;
-  border: 1px outset #aaa;
-  cursor: move;
-  height: 12px;
-}
-.jPicker_Title {
-  font-size: 11px !important;
-  font-weight: bold;
-  margin: -2px 0px 0px 0px;
-  padding: 0px;
-  text-align: center;
-  width: 100%;
-}
-.jPicker_ColorMap {
-  border: 2px inset #eee;
-  cursor: crosshair;
-  height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
-  margin: 0px 5px 0px 5px;
-  overflow: hidden; /* hide the overdraw of the Color Map icon when at edge of viewing box */
-  padding: 0px;
-  position: relative; /* make this element an absolute positioning container */
-  width: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
-}
-div[class="jPicker_ColorMap"] {
-  height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
-  width: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
-}
-.jPicker_ColorMap_l1, .jPicker_ColorMap_l2, .jPicker_ColorMap_l3, .jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3, .jPicker_ColorBar_l4, .jPicker_ColorBar_l5, .jPicker_AlphaBar_l1, .jPicker_AlphaBar_l2 {
-  background-repeat: no-repeat;
-  display: block;
-  height: 100%;
-  left: 0px;
-  position: absolute;
-  top: 0px;
-  width: 100%;
-}
-.jPicker_ColorMap_l1 {
-  background-color: #000000;
-  background-image: none;
-}
-.jPicker_ColorMap_l2 {
-  background-color: transparent;
-}
-.jPicker_ColorMap_l3 {
-  background-repeat: repeat;
-}
-.jPicker_ColorMap_Arrow {
-  display: block;
-  position: absolute;
-}
-.jPicker_ColorBar {
-  border: 2px inset #eee;
-  cursor: n-resize;
-  height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
-  margin: 12px 10px 0px 5px;
-  padding: 0px;
-  position: relative;
-  width: 24px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 20px later */
-}
-div[class="jPicker_ColorBar"] {
-  height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
-  width: 20px; /* correct to 20px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
-}
-.jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3 {
-  background-color: transparent;
-  background-image: none;
-  background-repeat: repeat-x;
-}
-.jPicker_ColorBar_l4 {
-  background-color: transparent;
-  background-repeat: repeat-x;
-}
-.jPicker_ColorBar_l5 {
-  background-color: transparent;
-  background-repeat: repeat;
-}
-.jPicker_ColorBar_Arrow {
-  display: block;
-  left: -10px; /* (arrow width / 2) - (element width / 2) - position arrows' center in elements' center */
-  position: absolute;
-}
-.jPicker_AlphaBar {
-  border: 2px inset #eee;
-  cursor: e-resize;
-  display: none;
-  height: 24px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 20px later */
-  margin: 10px 5px 4px 5px;
-  padding: 0px;
-  position: relative;
-  width: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
-}
-div[class="jPicker_AlphaBar"] {
-  height: 20px; /* correct to 20px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
-  width: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
-}
-.jPicker_AlphaBar_Arrow {
-  display: block;
-  top: -10px; /* (arrow height / 2) - (element height / 2) - position arrows' center in elements' center */
-  position: absolute;
-}
-.jPicker_EnableAlpha {
-  text-align: left;
-}
-.jPicker_Preview {
-  font-size: x-small;
-  text-align: center;
-}
-.jPicker_Preview div {
-  border: 2px inset #eee;
-  height: 62px;
-  margin: 0px auto;
-  padding: 0px;
-  width: 62px;
-}
-.jPicker_Preview div span {
-  border: 1px solid #000;
-  display: block;
-  height: 30px;
-  margin: 0px auto;
-  padding: 0px;
-  width: 60px;
-}
-.jPicker_Preview div span.jPicker_Active {
-  border-bottom-width: 0px;
-}
-.jPicker_Preview div span.jPicker_Current {
-  border-top-width: 0px;
-  cursor: pointer;
-}
-.jPicker_OkCancel {
-  text-align: center;
-  width: 120px;
-}
-.jPicker_OkCancel input {
-  width: 100px;
-}
-.jPicker_OkCancel input.jPicker_Ok {
-  margin: 12px 0px 5px 0px;
-}
-.jPicker_Spacer {
-  height: 10px;
-}
-.jPicker_HueText, .jPicker_SaturationText, .jPicker_BrightnessText, .jPicker_RedText, .jPicker_GreenText, .jPicker_BlueText, .jPicker_AlphaText {
-  background-color: #fff;
-  border: 1px inset #aaa;
-  margin: 0px 0px 0px 5px;
-  width: 30px;
-}
-.jPicker_EnterHex {
-  text-align: right;
-}
-.jPicker_HexText {
-  background-color: #fff;
-  border: 1px inset #aaa;
-  margin: 0px 19px 0px 5px;
-  width: 50px;
-}
-td.jPicker_OpacityCol {
-  padding-top: 12px;
-  text-indent: -8px;
-}
-td.jPicker_OpacityCol * {
-  display: none;
-}
-td.jPicker_HexCol {
-  text-align: left;
-}
-.jPicker_Grid {
-  text-align: center;
-}
-.jPicker_QuickColor {
-  border: 1px inset #aaa;
-  cursor: pointer;
-  display: block;
-  float: left;
-  height: 12px;
-  line-height: 12px;
-  margin: 2px 3px 1px 3px;
-  padding: 0px;
-  width: 12px;
-}
\ No newline at end of file
Binary file htdocs/svg-edit/editor/jgraduate/images/AlphaBar.png has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/Bars.png has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/Maps.png has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/NoColor.png has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/bar-opacity.png has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/map-opacity.png has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/mappoint.gif has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/picker.gif has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/preview-opacity.png has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/rangearrows.gif has changed
Binary file htdocs/svg-edit/editor/jgraduate/images/rangearrows2.gif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/htdocs/svg-edit/editor/jgraduate/jpicker-1.0.12.min.js	Sun Jan 31 18:35:04 2010 +0100
@@ -0,0 +1,1 @@
+(function(e,a){var d=function(t,k){var o=this,j=t.find("img"),B=0,A=100,s=100,z=0,w=100,r=100,q=0,p=0,m,n=function(x){var y=t.offset();m={left:y.left+parseInt(t.css("border-left-width")),top:y.top+parseInt(t.css("border-top-width"))};u(x);o.draw();e(document).bind("mousemove",l).bind("mouseup",h);x.stopPropagation();x.preventDefault();return false;},l=function(x){u(x);o.draw();x.stopPropagation();x.preventDefault();return false;},h=function(x){e(document).unbind("mouseup",h).unbind("mousemove",l);x.stopPropagation();x.preventDefault();return false;},u=function(E){var C=E.pageX-m.left,x=E.pageY-m.top,D=t.w,y=t.h;if(C<0){C=0;}else{if(C>D){C=D;}}if(x<0){x=0;}else{if(x>y){x=y;}}o.set_X(((C/D)*s)+B);o.set_Y(((x/y)*r)+z);e.isFunction(o.valuesChanged)&&o.valuesChanged(o);};e.extend(true,o,{settings:k,valuesChanged:e.isFunction(arguments[2])&&arguments[2]||null,get_X:function(){return q;},set_X:function(x){x=Math.floor(x);if(q==x){return;}if(x<B){x=B;}else{if(x>A){x=A;}}q=x;},get_Y:function(){return p;},set_Y:function(x){x=Math.floor(x);if(p==x){return;}if(x<z){x=z;}else{if(x>w){x=w;}}p=x;},set_RangeX:function(y,x){if(B==y&&A==x){return;}if(y>x){return;}B=y;A=x;s=A-B;},set_RangeY:function(y,x){if(z==y&&w==x){return;}if(y>x){return;}z=y;w=x;r=w-z;},draw:function(){var D=0,x=0,F=t.w,C=t.h,E=j.w,y=j.h;if(s>0){if(q==A){D=F;}else{D=Math.floor((q/s)*F);}}if(r>0){if(p==w){x=C;}else{x=Math.floor((p/r)*C);}}if(E>F){D=(F>>1)-(E>>1);}else{D-=E>>1;}if(y>C){x=(C>>1)-(y>>1);}else{x-=y>>1;}j.css({left:D+"px",top:x+"px"});},destroy:function(){e(document).unbind("mouseup",h).unbind("mousemove",l);t.unbind("mousedown",n);t=null;j=null;o.valuesChanged=null;}});var v=o.settings;j.src=v.arrow&&v.arrow.image;j.w=v.arrow&&v.arrow.width||j.width();j.h=v.arrow&&v.arrow.height||j.height();t.w=v.map&&v.map.width||t.width();t.h=v.map&&v.map.height||t.height();t.bind("mousedown",n);o.draw();e.isFunction(o.valuesChanged)&&o.valuesChanged(o);},b=function(m){var l=this,w=function(A){if(A.target.value==""){return;}if(!u.get_R()){s.red.val(0);}if(!u.get_G()){s.green.val(0);}if(!u.get_B()){s.blue.val(0);}if(!u.get_A()){s.alpha.val(100);}q(A);l.setValuesFromHsva();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},p=function(A){if(A.target.value==""){return;}if(!u.get_H()){s.hue.val(0);}if(!u.get_S()){s.saturation.val(0);}if(!u.get_V()){s.value.val(0);}if(!u.get_A()){s.alpha.val(100);}o(A);l.setValuesFromRgba();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},r=function(A){if(A.target.value==""){return;}if(!u.get_R()){s.red.val(0);}if(!u.get_G()){s.green.val(0);}if(!u.get_B()){s.blue.val(0);}if(!u.get_H()){s.hue.val(0);}if(!u.get_S()){s.saturation.val(0);}if(!u.get_V()){s.value.val(0);}y(A);l.setValuesFromRgba();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},t=function(A){if(A.target.value==""){l.setValuesFromRgba();}e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},k=function(A){if(A.target.value==""){l.setValuesFromHsva();}e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},x=function(A){if(A.target.value==""){s.alpha.val(100);}e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},z=function(A){v(A);l.setValuesFromHex();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},j=function(A){if(A.target.value==""){l.setValuesFromHex();}},o=function(D){if(!n(D)){return D;}var C=h(s.red.val(),0,255),B=h(s.green.val(),0,255),A=h(s.blue.val(),0,255);s.red.val(C!=null?C:"");s.green.val(B!=null?B:"");s.blue.val(A!=null?A:"");},y=function(B){if(!n(B)){return B;}var A=h(s.alpha.val(),0,100);s.alpha.val(A!=null?A:"");},q=function(D){if(!n(D)){return D;}var A=h(s.hue.val(),0,360),B=h(s.saturation.val(),0,100),C=h(s.value.val(),0,100);s.hue.val(A!=null?A:"");s.saturation.val(B!=null?B:"");s.value.val(C!=null?C:"");},v=function(A){if(!n(A)){return A;}s.hex.val(s.hex.val().replace(/[^a-fA-F0-9]/g,"").toLowerCase().substring(0,8));},n=function(A){switch(A.keyCode){case 9:case 16:case 29:case 37:case 38:case 40:return false;case"c".charCodeAt():case"v".charCodeAt():if(A.ctrlKey){return false;}}return true;},h=function(C,B,A){if(C==""||isNaN(C)){return B;}if(C>A){return A;}if(C<B){return B;}return C;};e.extend(true,l,{color:new f(),fields:{hue:m.find(".jPicker_HueText"),saturation:m.find(".jPicker_SaturationText"),value:m.find(".jPicker_BrightnessText"),red:m.find(".jPicker_RedText"),green:m.find(".jPicker_GreenText"),blue:m.find(".jPicker_BlueText"),hex:m.find(".jPicker_HexText"),alpha:m.find(".jPicker_AlphaText")},valuesChanged:e.isFunction(arguments[1])&&arguments[1]||null,bindedHexKeyUp:function(A){z(A);},setValuesFromRgba:function(){u.fromRgba(s.red.val(),s.green.val(),s.blue.val(),s.alpha.val());var B=u.get_Rgba(),A=u.get_H(),C=u.get_S(),D=u.get_V(),E=u.get_A();s.hex.val(B!=null?B:"");s.hue.val(A!=null?A:"");s.saturation.val(C!=null?C:"");s.value.val(D!=null?D:"");s.alpha.val(E!=null?E:"");},setValuesFromHsva:function(){u.fromHsva(s.hue.val(),s.saturation.val(),s.value.val(),s.alpha.val());var B=u.get_Rgba(),E=u.get_R(),C=u.get_G(),A=u.get_B(),D=u.get_A();s.hex.val(B!=null?B:"");s.red.val(E!=null?E:"");s.green.val(C!=null?C:"");s.blue.val(A!=null?A:"");s.alpha.val(D!=null?D:"");},setValuesFromHex:function(){u.fromHex(s.hex.val());var C=u.get_Rgba(),H=u.get_R(),F=u.get_G(),A=u.get_B(),G=u.get_A(),B=u.get_H(),D=u.get_S(),E=u.get_V();s.red.val(H!=null?H:"");s.green.val(F!=null?F:"");s.blue.val(A!=null?A:"");s.alpha.val(G!=null?G:"");s.hue.val(B!=null?B:"");s.saturation.val(D!=null?D:"");s.value.val(E!=null?E:"");},destroy:function(){s.hue.add(s.saturation).add(s.value).unbind("keyup",events.hsvKeyUp).unbind("blur",t);s.red.add(s.green).add(s.blue).unbind("keyup",events.rgbKeyUp).unbind("blur",k);s.alpha.unbind("keyup",alphaKeyUp).unbind("blur",x);s.hex.unbind("keyup",z);s=null;u=null;l.valuesChanged=null;}});var s=l.fields,u=l.color;s.hue.add(s.saturation).add(s.value).bind("keyup",w).bind("blur",t);s.red.add(s.green).add(s.blue).bind("keyup",p).bind("blur",k);s.alpha.bind("keyup",r).bind("blur",x);s.hex.bind("keyup",z).bind("blur",j);if(s.hex.val()!=""){u.fromHex(s.hex.val());l.setValuesFromHex();}};e.jPicker={List:[],Color:function(q){var m=this,j,l,n,o,k,t,p;e.extend(true,m,{get_R:function(){return j;},get_G:function(){return l;},get_B:function(){return n;},get_A:function(){return o;},get_Rgba:function(){return j!=null&&l!=null&&n!=null&&o!=null?g.rgbaToHex({r:j,g:l,b:n,a:o}):null;},get_Hex:function(){var h=m.get_Rgba();return h&&h.substring(0,6)||null;},get_H:function(){return k;},get_S:function(){return t;},get_V:function(){return p;},get_Hsv:function(){return{h:k,s:t,v:p};},fromRgba:function(v,s,h,u){j=v;l=s;n=h;o=u;var r=g.rgbToHsv({r:v,g:s,b:h});k=r.h;t=r.s;p=r.v;},fromHsva:function(h,s,u,v){k=h;t=s;p=u;o=v;var r=g.hsvToRgb({h:h,s:s,v:u});j=r.r;l=r.g;n=r.b;},fromHex:function(s){if(s==null||s==""){j=null;l=null;n=null;o=null;k=null;t=null;p=null;return;}var r=g.hexToRgba(s);j=r.r;l=r.g;n=r.b;o=r.a;var h=g.rgbToHsv({r:r.r,g:r.g,b:r.b});k=h.h;t=h.s;p=h.v;}});if(q){if(q.hex!=null&&q.hex!=""){m.fromHex(q.hex);}else{if(!isNaN(q.r)){m.fromRgba(q.r,q.g,q.b,q.a||100);}else{if(!isNaN(q.h)){m.fromHsva(q.h,q.s,q.v,q.a||100);}}}}},ColorMethods:{hexToRgba:function(m){m=this.validateHex(m);if(m==""){return{r:null,g:null,b:null,a:null};}var l="00",k="00",h="00",j="100";if(m.length==6){m+="ff";}if(m.length>6){l=m.substring(0,2);k=m.substring(2,4);h=m.substring(4,6);j=m.substring(6,m.length);}else{if(m.length>4){l=m.substring(4,m.length);m=m.substring(0,4);}if(m.length>2){k=m.substring(2,m.length);m=m.substring(0,2);}if(m.length>0){h=m.substring(0,m.length);}}return{r:this.hexToInt(l),g:this.hexToInt(k),b:this.hexToInt(h),a:Math.floor((this.hexToInt(j)*100)/255)};},validateHex:function(h){h=h.toLowerCase().replace(/[^a-f0-9]/g,"");if(h.length>8){h=h.substring(0,8);}return h;},rgbaToHex:function(h){return this.intToHex(h.r)+this.intToHex(h.g)+this.intToHex(h.b)+this.intToHex(Math.floor((h.a*255)/100));},intToHex:function(j){var h=Math.floor(j).toString(16);if(h.length==1){h=("0"+h);}return h.toLowerCase();},hexToInt:function(h){return parseInt(h,16);},rgbToHsv:function(l){var o=l.r/255,n=l.g/255,j=l.b/255,k={h:0,s:0,v:0},m=0,h=0,p;if(o>=n&&o>=j){h=o;m=n>j?j:n;}else{if(n>=j&&n>=o){h=n;m=o>j?j:o;}else{h=j;m=n>o?o:n;}}k.v=h;k.s=h?(h-m)/h:0;if(!k.s){k.h=0;}else{p=h-m;if(o==h){k.h=(n-j)/p;}else{if(n==h){k.h=2+(j-o)/p;}else{k.h=4+(o-n)/p;}}k.h=parseInt(k.h*60);if(k.h<0){k.h+=360;}}k.s=Math.floor(k.s*100);k.v=Math.floor(k.v*100);return k;},hsvToRgb:function(n){var r={r:0,g:0,b:0,a:100},m=n.h,x=n.s,u=n.v;if(x==0){if(u==0){r.r=r.g=r.b=0;}else{r.r=r.g=r.b=Math.floor(u*255/100);}}else{if(m==360){m=0;}m/=60;x=x/100;u=u/100;var l=Math.floor(m),o=m-l,k=u*(1-x),j=u*(1-(x*o)),w=u*(1-(x*(1-o)));switch(l){case 0:r.r=u;r.g=w;r.b=k;break;case 1:r.r=j;r.g=u;r.b=k;break;case 2:r.r=k;r.g=u;r.b=w;break;case 3:r.r=k;r.g=j;r.b=u;break;case 4:r.r=w;r.g=k;r.b=u;break;case 5:r.r=u;r.g=k;r.b=j;break;}r.r=Math.floor(r.r*255);r.g=Math.floor(r.g*255);r.b=Math.floor(r.b*255);}return r;}}};var f=e.jPicker.Color,c=e.jPicker.List,g=e.jPicker.ColorMethods;e.fn.jPicker=function(j){var h=arguments;return this.each(function(){var w=e(this),y=e.extend(true,{},e.fn.jPicker.defaults,j);if(w.get(0).nodeName.toLowerCase()=="input"){e.extend(true,y,{window:{bindToInput:true,expandable:true,input:w}});if(g.validateHex(w.val())){y.color.active=new f({hex:w.val(),a:y.color.active.get_A()});y.color.current=new f({hex:w.val(),a:y.color.active.get_A()});}}if(y.window.expandable){w.after('<span class="jPicker_Picker"><span class="jPicker_Color">&nbsp;</span><span class="jPicker_Alpha">&nbsp;</span><span class="jPicker_Icon" title="Click To Open Color Picker">&nbsp;</span><span class="jPicker_Container">&nbsp;</span></span>');}else{y.window.liveUpdate=false;}var U=parseFloat(navigator.appVersion.split("MSIE")[1])<7&&document.body.filters,ay=null,av=null,au=null,T=null,S=null,R=null,Q=null,P=null,O=null,V=null,aa=null,aA=null,ak=null,am=null,ao=null,I=null,aw=null,G=null,Y=null,az=null,M=null,L=null,at=null,aq=null,A=null,l=null,J=null,ap=null,ab=null,ai=null,o=null,m=null,C=null,u=null,an=function(aE){K.active=az.color;var aF=K.active,aG=q.clientPath,aD=aF.get_Hex(),aC=function(aH){ad(aH,100);aH.css({backgroundColor:"transparent",backgroundPosition:"0px 0px",filter:""});};aC(ay);aC(av);aC(au);aC(T);aC(S);aC(R);aC(Q);aC(P);aC(O);aa.add(aA).add(ak).add(am).add(ao).add(I).removeAttr("checked");switch(aE){case"h":aa.attr({checked:true});ay.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});av.css({backgroundColor:"transparent"});x(av,-256);ad(av,100);x(Q,-256);ad(O,0);break;case"s":aA.attr({checked:true});x(ay,-512);x(av,-768);z(R,aF.get_Hex());x(Q,-512);ad(O,0);break;case"v":ak.attr({checked:true});z(ay,"000000");x(av,-1024);R.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});x(Q,-768);ad(O,0);break;case"r":am.attr({checked:true});x(av,-1536);x(ay,-1280);x(Q,-1024);x(R,-1280);x(S,-1536);x(T,-1792);ad(O,0);break;case"g":ao.attr({checked:true});x(av,-2048);x(ay,-1792);x(Q,-2048);x(R,-2304);x(S,-2560);x(T,-2816);ad(O,0);break;case"b":I.attr({checked:true});x(av,-2560);x(ay,-2304);x(Q,-3072);x(R,-3328);x(S,-3584);x(T,-3840);ad(O,0);break;case"a":aw.attr({checked:true});x(ay,-512);x(av,-768);ad(av,0);z(R,aF.get_Hex());ad(Q,0);ad(P,0);ad(O,100);break;default:throw ("Invalid Mode");break;}switch(aE){case"h":G.set_RangeX(0,100);G.set_RangeY(0,100);Y.set_RangeY(0,360);break;case"s":case"v":case"a":G.set_RangeX(0,360);G.set_RangeY(0,100);Y.set_RangeY(0,100);break;case"r":case"g":case"b":G.set_RangeX(0,255);G.set_RangeY(0,255);Y.set_RangeY(0,255);break;}K.mode=aE;v();G.draw();Y.draw();ah();if(aj.expandable&&aj.liveUpdate){o.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});ad(m,100-aF.get_A());if(aj.bindToInput){aj.input.val(aF.get_Rgba()||"").css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent",color:aF.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aF);},n=function(){v();G.draw();Y.draw();ah();K.active=az.color;var aD=K.active;if(aj.expandable&&aj.liveUpdate){var aC=aD.get_Hex();o.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(m,100-aD.get_A());if(aj.bindToInput){aj.input.val(az.fields.hex.val()||"").css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent",color:aD.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aD);},B=function(){if(!az||!G||!Y){return;}K.active=az.color;var aC=az.fields,aE=K.active;switch(K.mode){case"h":aC.saturation.val(G.get_X());aC.value.val(100-G.get_Y());if(aE.get_H()==null){aC.hue.val(0);}break;case"s":case"a":aC.hue.val(G.get_X());aC.value.val(100-G.get_Y());if(aE.get_S()==null){aC.saturation.val(0);}break;case"v":aC.hue.val(G.get_X());aC.saturation.val(100-G.get_Y());if(aE.get_V()==null){aC.value.val(0);}break;case"r":aC.green.val(255-G.get_Y());aC.blue.val(G.get_X());if(aE.get_R()==null){aC.red.val(0);}break;case"g":aC.red.val(255-G.get_Y());aC.blue.val(G.get_X());if(aE.get_G()==null){aC.green.val(0);}break;case"b":aC.red.val(G.get_X());aC.green.val(255-G.get_Y());if(aE.get_B()==null){aC.blue.val(0);}break;}if(aE.get_A()==null){aC.alpha.val(100);az.setValuesFromHsva();v();Y.draw();}switch(K.mode){case"h":case"s":case"v":case"a":az.setValuesFromHsva();break;case"r":case"g":case"b":az.setValuesFromRgba();break;}ah();if(aj.expandable&&aj.liveUpdate){var aD=aE.get_Hex();o.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});ad(m,100-aE.get_A());if(aj.bindToInput){aj.input.val(aE.get_Rgba()||"").css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent",color:aE.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aE);},al=function(){if(!az||!G||!Y){return;}K.active=az.color;var aC=az.fields,aE=K.active;switch(K.mode){case"h":aC.hue.val(360-Y.get_Y());if(aE.get_S()==null){aC.saturation.val(0);}if(aE.get_V()==null){aC.value.val(0);}break;case"s":aC.saturation.val(100-Y.get_Y());if(aE.get_H()==null){aC.hue.val(0);}if(aE.get_V()==null){aC.value.val(0);}break;case"v":aC.value.val(100-Y.get_Y());if(aE.get_H()==null){aC.hue.val(0);}if(aE.get_S()==null){aC.saturation.val(0);}break;case"r":aC.red.val(255-Y.get_Y());if(aE.get_G()==null){aC.green.val(0);}if(aE.get_B()==null){aC.blue.val(0);}break;case"g":aC.green.val(255-Y.get_Y());if(aE.get_R()==null){aC.red.val(0);}if(aE.get_B()==null){aC.blue.val(0);}break;case"b":aC.blue.val(255-Y.get_Y());if(aE.get_R()==null){aC.red.val(0);}if(aE.get_G()==null){aC.green.val(0);}break;case"a":aC.alpha.val(100-Y.get_Y());if(aE.get_R()==null){aC.red.val(0);}if(aE.get_G()==null){aC.green.val(0);}if(aE.get_B()==null){aC.blue.val(0);}break;}if(aE.get_A()==null){aC.alpha.val(100);}switch(K.mode){case"h":case"s":case"v":az.setValuesFromHsva();break;case"r":case"g":case"b":case"a":az.setValuesFromRgba();break;}ah();if(aj.expandable&&aj.liveUpdate){var aD=aE.get_Hex();o.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});ad(m,100-aE.get_A());if(aj.bindToInput){aj.input.val(aE.get_Rgba()||"").css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent",color:aE.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aE);},v=function(){K.active=az.color;var aF=0,aE=K.active;switch(w.settings.color.mode){case"h":aF=360-aE.get_H();break;case"s":aF=100-aE.get_S();break;case"v":aF=100-aE.get_V();break;case"r":aF=255-aE.get_R();break;case"g":aF=255-aE.get_G();break;case"b":aF=255-aE.get_B();break;case"a":aF=100-aE.get_A();break;}Y.set_Y(aF);var aD=0,aC=0;switch(w.settings.color.mode){case"h":aD=aE.get_S();aC=100-aE.get_V();break;case"s":case"a":aD=aE.get_H();aC=100-aE.get_V();break;case"v":aD=aE.get_H();aC=100-aE.get_S();break;case"r":aD=aE.get_B();aC=255-aE.get_G();break;case"g":aD=aE.get_B();aC=255-aE.get_R();break;case"b":aD=aE.get_R();aC=255-aE.get_G();break;}G.set_X(aD);G.set_Y(aC);},ah=function(){aB();ar();Z();},aB=function(){try{var aC=az.color.get_Hex();A.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(A,az.color.get_A());}catch(aD){}},ar=function(){if(!K||!az){return;}K.active=az.color;var aC=K.active;switch(K.mode){case"h":z(ay,new f({h:aC.get_H(),s:100,v:100}).get_Hex());break;case"s":case"a":ad(av,100-aC.get_S());break;case"v":ad(av,aC.get_V());break;case"r":ad(av,aC.get_R()/255*100);break;case"g":ad(av,aC.get_G()/255*100);break;case"b":ad(av,aC.get_B()/255*100);break;}ad(au,100-aC.get_A());},Z=function(){if(!K||!az){return;}K.active=az.color;var aG=K.active;switch(K.mode){case"h":ad(P,100-aG.get_A());break;case"s":var aH=new f({h:aG.get_H(),s:100,v:aG.get_V()});z(R,aH.get_Hex());ad(P,100-aG.get_A());break;case"v":var aJ=new f({h:aG.get_H(),s:aG.get_S(),v:100});z(R,aJ.get_Hex());ad(P,100-aG.get_A());break;case"r":case"g":case"b":var aI=0,aK=0;if(K.mode=="r"){aI=aG.get_B();aK=aG.get_G();}else{if(K.mode=="g"){aI=aG.get_B();aK=aG.get_R();}else{if(K.mode=="b"){aI=aG.get_R();aK=aG.get_G();}}}var aC=aI/255*100,aF=aK/255*100,aE=(255-aI)/255*100,aD=(255-aK)/255*100;ad(T,aD>aE?aE:aD);ad(S,aD>aC?aC:aD);ad(R,aF>aC?aC:aF);ad(Q,aF>aE?aE:aF);ad(P,100-aG.get_A());break;case"a":z(R,aG.get_Hex());break;}},z=function(aC,aD){aC.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});},t=function(aC,aD){aC.css({backgroundImage:"url("+aD+")"});},x=function(aC,aD){aC.css({backgroundPosition:"0px "+aD+"px"});},ad=function(aD,aC){aD.css({visibility:aC>0?"visible":"hidden"});if(aC>0&&aC<100){aD.css({opacity:aC/100});}else{if(aC==0||aC==100){aD.css({opacity:""});}}},E=function(){az.fields.hex.val(K.current.get_Rgba()||"");az.setValuesFromHex();e.isFunction(az.valuesChanged)&&az.valuesChanged(az);},D=function(aC){an(aC.target.value);},ae=function(){E();},s=function(){E();aj.expandable&&w.hide();e.isFunction(w.cancelCallback)&&w.cancelCallback(K.active);},X=function(){var aD=K.active;K.current=new f({hex:aD.get_Rgba()});var aC=aD.get_Hex();l.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(l,az.color.get_A());if(aj.expandable){o.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(m,100-aD.get_A());if(aj.bindToInput){aj.input.val(aD.get_Rgba()||"").css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent",color:aD.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.commitCallback)&&w.commitCallback(aD);},p=function(){X();aj.expandable&&w.hide();},ag=function(){w.show();},W=function(aE){var aC=aj.element,aD=aj.page;M=parseInt(V.css("left"));L=parseInt(V.css("top"));at=aE.pageX;aq=aE.pageY;e(document).bind("mousemove",k).bind("mouseup",r);aE.stopPropagation();aE.preventDefault();return false;},k=function(aC){V.css({left:M-(at-aC.pageX)+"px",top:L-(aq-aC.pageY)+"px"});aC.stopPropagation();aC.preventDefault();return false;},r=function(aC){e(document).unbind("mousemove",k).unbind("mouseup",r);aC.stopPropagation();aC.preventDefault();return false;},F=function(aC){az.fields.hex.val(w.settings.window.input.val());az.bindedHexKeyUp(aC);},H=function(aC){az.fields.hex.val(new f({hex:e(this).attr("title")}).get_Rgba()||"");az.setValuesFromHex();e.isFunction(az.valuesChanged)&&az.valuesChanged(az);};e.extend(true,w,{id:w.attr("id"),settings:y,color:null,icon:null,commitCallback:e.isFunction(h[1])&&h[1]||null,liveCallback:e.isFunction(h[2])&&h[2]||null,cancelCallback:e.isFunction(h[3])&&h[3]||null,show:function(){if(document.all){var aD=false;for(i=0;i<c.length;i++){if(aD){c[i].color.add(c[i].icon).css({display:"none"});}if(c[i].id==w.id){aD=true;}}}K.current=new f({hex:K.active.get_Rgba()});var aC=K.active.get_Hex();l.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(l,K.active.get_A());V.css({display:"block"});v();},hide:function(){if(document.all){var aC=false;for(i=0;i<c.length;i++){if(aC){c[i].color.add(c[i].icon).css({display:"block"});}if(c[i].id==w.id){aC=true;}}}V.css({display:"none"});},destroy:function(){if(aj.expandable){C=V.find(".jPicker_Icon").unbind("click",ag);}if(aj.bindToInput){aj.input.unbind("keyup",F).unbind("change",F);}aa.add(aA).add(ak).add(am).add(ao).add(I).unbind("click",D);l.unbind("click",ae);ab.unbind("click",s);ap.unbind("click",p);if(aj.expandable){u.unbind("mousedown",W);}V.find(".jPicker_QuickColor").unbind("click",H);aa=null;aA=null;ak=null;am=null;ao=null;I=null;aw=null;ay=null;av=null;au=null;T=null;S=null;R=null;Q=null;P=null;O=null;J=null;A=null;l=null;ap=null;ab=null;ai=null;w.color=null;w.icon=null;G.destroy();G=null;Y.destroy();Y=null;az.destroy();az=null;w.commitCallback=null;w.cancelCallback=null;w.liveCallback=null;V.html("");for(i=0;i<c.length;i++){if(c[i].id==w.id){c.splice(i,1);}}}});var q=w.settings.images,aj=w.settings.window,af=w.settings.localization,K=w.settings.color;V=aj.expandable?w.next().find(".jPicker_Container"):w;if(aj.expandable){V.css({left:aj.position.x=="left"?"-526px":aj.position.x=="center"?"-259px":aj.position.x=="right"?"0px":aj.position.x=="screenCenter"?((e(document).width()>>1)-259)-w.next().offset().left+"px":aj.position.x,position:"absolute",top:aj.position.y=="top"?"-350px":aj.position.y=="center"?"-158px":aj.position.y=="bottom"?"25px":aj.position.y});}if((typeof(K.active)).toString().toLowerCase()=="string"){K.active=new f({hex:K.active});}V.html('<table class="jPicker_table"><tbody>'+(aj.expandable?'<tr><td class="jPicker_MoveBar" colspan="6">&nbsp;</td></tr>':"")+'<tr><td rowspan="9"><h2 class="jPicker_Title">'+(aj.title||af.text.title)+'</h2><div class="jPicker_ColorMap"><span class="jPicker_ColorMap_l1">&nbsp;</span><span class="jPicker_ColorMap_l2">&nbsp;</span><span class="jPicker_ColorMap_l3">&nbsp;</span><img src="'+q.clientPath+q.colorMap.arrow.file+'" class="jPicker_ColorMap_Arrow"/></div></td><td rowspan="9"><div class="jPicker_ColorBar"><span class="jPicker_ColorBar_l1">&nbsp;</span><span class="jPicker_ColorBar_l2">&nbsp;</span><span class="jPicker_ColorBar_l3">&nbsp;</span><span class="jPicker_ColorBar_l4">&nbsp;</span><span class="jPicker_ColorBar_l5">&nbsp;</span><span class="jPicker_ColorBar_l6">&nbsp;</span><img src="'+q.clientPath+q.colorBar.arrow.file+'" class="jPicker_ColorBar_Arrow"/></div></td><td colspan="3" class="jPicker_Preview">'+af.text.newColor+'<div class="jPicker_NewCurrent"><span class="jPicker_Active" title="'+af.tooltips.colors.newColor+'">&nbsp;</span><span class="jPicker_Current" title="'+af.tooltips.colors.currentColor+'">&nbsp;</span></div>'+af.text.currentColor+'</td><td rowspan="9" class="jPicker_OkCancel"><input type="button" class="jPicker_Ok" value="'+af.text.ok+'" title="'+af.tooltips.buttons.ok+'"/><input type="button" class="jPicker_Cancel" value="'+af.text.cancel+'" title="'+af.tooltips.buttons.cancel+'"/><hr/><div class="jPicker_Grid">&nbsp;</div></td></tr><tr><td><input type="radio" class="jPicker_HueRadio" id="jPicker_Hue_'+c.length+'" name="jPicker_Mode_'+c.length+'" value="h" title="'+af.tooltips.hue.radio+'"/></td><td><label for="jPicker_Hue_'+c.length+'" title="'+af.tooltips.hue.radio+'">H:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_HueText" value="'+K.active.get_H()+'" title="'+af.tooltips.hue.textbox+'"/> &deg;</td></tr><tr><td><input type="radio" class="jPicker_SaturationRadio" id="jPicker_Saturation_'+c.length+'" name="jPicker_Mode_'+c.length+'" value="s" title="'+af.tooltips.saturation.radio+'"/></td><td><label for="jPicker_Saturation_'+c.length+'" title="'+af.tooltips.saturation.radio+'">S:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_SaturationText" value="'+K.active.get_S()+'" title="'+af.tooltips.saturation.textbox+'"/> %</td></tr><tr><td><input type="radio" class="jPicker_BrightnessRadio" id="jPicker_Brightness_'+c.length+'" name="jPicker_Mode_'+c.length+'" value="v" title="'+af.tooltips.brightness.radio+'"/><br/><br/></td><td><label for="jPicker_Brightness_'+c.length+'" title="'+af.tooltips.brightness.radio+'">B:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_BrightnessText" value="'+K.active.get_V()+'" title="'+af.tooltips.brightness.textbox+'"/> %</td></tr><tr><td><input type="radio" class="jPicker_RedRadio" id="jPicker_Red_'+c.length+'" name="jPicker_Mode_'+c.length+'" value="r" title="'+af.tooltips.red.radio+'"/></td><td><label for="jPicker_Red_'+c.length+'" title="'+af.tooltips.red.radio+'">R:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_RedText" value="'+K.active.get_R()+'" title="'+af.tooltips.red.textbox+'"/></td></tr><tr><td><input type="radio" class="jPicker_GreenRadio" id="jPicker_Green_'+c.length+'" name="jPicker_Mode_'+c.length+'" value="g" title="'+af.tooltips.green.radio+'"/></td><td><label for="jPicker_Green_'+c.length+'" title="'+af.tooltips.green.radio+'">G:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_GreenText" value="'+K.active.get_G()+'" title="'+af.tooltips.green.textbox+'"/></td></tr><tr><td><input type="radio" class="jPicker_BlueRadio" id="jPicker_Blue_'+c.length+'" name="jPicker_Mode_'+c.length+'" value="b" title="'+af.tooltips.blue.radio+'"/></td><td><label for="jPicker_Blue_'+c.length+'" title="'+af.tooltips.blue.radio+'">B:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_BlueText" value="'+K.active.get_B()+'" title="'+af.tooltips.blue.textbox+'"/></td></tr><tr><td><input type="radio" class="jPicker_AlphaRadio" id="jPicker_Alpha_'+c.length+'" name="jPicker_Mode_'+c.length+'" value="a" title="'+af.tooltips.alpha.radio+'"/></td><td><label for="jPicker_Alpha_'+c.length+'" title="'+af.tooltips.alpha.radio+'">A:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_AlphaText" value="'+K.active.get_A()+'" title="'+af.tooltips.alpha.textbox+'"/> %</td></tr><tr><td class="jPicker_HexCol"><label for="jPicker_Hex_'+c.length+'" title="'+af.tooltips.hex.textbox+'">#:</label></td><td class="jPicker_EnterHex" colspan="2"><input type="text" class="jPicker_HexText" id="jPicker_Hex_'+c.length+'" value="'+K.active.get_Rgba()+'" title="'+af.tooltips.hex.textbox+'"/></td></tr></tbody></table>');aa=V.find(".jPicker_HueRadio");aA=V.find(".jPicker_SaturationRadio");ak=V.find(".jPicker_BrightnessRadio");am=V.find(".jPicker_RedRadio");ao=V.find(".jPicker_GreenRadio");I=V.find(".jPicker_BlueRadio");aw=V.find(".jPicker_AlphaRadio");ay=V.find(".jPicker_ColorMap_l1");av=V.find(".jPicker_ColorMap_l2");au=V.find(".jPicker_ColorMap_l3");T=V.find(".jPicker_ColorBar_l1");S=V.find(".jPicker_ColorBar_l2");R=V.find(".jPicker_ColorBar_l3");Q=V.find(".jPicker_ColorBar_l4");P=V.find(".jPicker_ColorBar_l5");O=V.find(".jPicker_ColorBar_l6");J=V.find(".jPicker_NewCurrent");var ac=K.active.get_Hex();A=V.find(".jPicker_Active").css({backgroundColor:ac&&ac.length==6?"#"+ac:"transparent"});l=V.find(".jPicker_Current").css({backgroundColor:ac&&ac.length==6?"#"+ac:"transparent"});ap=V.find(".jPicker_Ok");ab=V.find(".jPicker_Cancel");ai=V.find(".jPicker_Grid");w.color=e(".Picker_Color");w.icon=e(".jPicker_Icon");az=new b(V,n);G=new d(V.find(".jPicker_ColorMap"),{map:{width:q.colorMap.width,height:q.colorMap.height},arrow:{image:q.clientPath+q.colorMap.arrow.file,width:q.colorMap.arrow.width,height:q.colorMap.arrow.height}},B);Y=new d(V.find(".jPicker_ColorBar"),{map:{width:q.colorBar.width,height:q.colorBar.height},arrow:{image:q.clientPath+q.colorBar.arrow.file,width:q.colorBar.arrow.width,height:q.colorBar.arrow.height}},al);t(ay,q.clientPath+"Maps.png");t(av,q.clientPath+"Maps.png");t(au,q.clientPath+"map-opacity.png");t(T,q.clientPath+"Bars.png");t(S,q.clientPath+"Bars.png");t(R,q.clientPath+"Bars.png");t(Q,q.clientPath+"Bars.png");t(P,q.clientPath+"bar-opacity.png");t(O,q.clientPath+"AlphaBar.png");t(J,q.clientPath+"preview-opacity.png");if(aj.expandable){o=w.next().find(".jPicker_Color").css({backgroundColor:ac&&ac.length==6?"#"+ac:"transparent"});m=w.next().find(".jPicker_Alpha");t(m,q.clientPath+"bar-opacity.png");ad(m,100-K.active.get_A());C=w.next().find(".jPicker_Icon").css({backgroundImage:"url("+q.clientPath+q.picker.file+")"}).bind("click",ag);if(aj.bindToInput){aj.input.bind("keyup",F).bind("change",F);}}aa.add(aA).add(ak).add(am).add(ao).add(I).add(aw).bind("click",D);l.bind("click",ae);ab.bind("click",s);ap.bind("click",p);if(aj.expandable){u=V.find(".jPicker_MoveBar").bind("mousedown",W);}if(K.quickList&&K.quickList.length>0){ai.html("");for(i=0;i<K.quickList.length;i++){if((typeof(K.quickList[i])).toString().toLowerCase()=="string"){K.quickList[i]=new f({hex:K.quickList[i]});}var ax=K.quickList[i].get_Rgba();ai.append('<span class="jPicker_QuickColor" title="'+(ax&&"#"+ax||"")+'">&nbsp;</span>');var N=K.quickList[i].get_Hex();V.find(".jPicker_QuickColor").eq(i).css({backgroundColor:N&&N.length==6?"#"+N:"transparent",backgroundImage:N?"none":"url("+q.clientPath+"NoColor.png)"}).click(H);}}an(K.mode);az.fields.hex.val(K.active.get_Rgba()||"");az.setValuesFromHex();v();ah();if(!aj.expandable){w.show();}c.push(w);});};e.fn.jPicker.defaults={window:{title:null,position:{x:"screenCenter",y:"top"},expandable:false,liveUpdate:true},color:{mode:"h",active:new f({hex:"#ffcc00ff"}),quickList:[new f({h:360,s:33,v:100}),new f({h:360,s:66,v:100}),new f({h:360,s:100,v:100}),new f({h:360,s:100,v:75}),new f({h:360,s:100,v:50}),new f({h:180,s:0,v:100}),new f({h:30,s:33,v:100}),new f({h:30,s:66,v:100}),new f({h:30,s:100,v:100}),new f({h:30,s:100,v:75}),new f({h:30,s:100,v:50}),new f({h:180,s:0,v:90}),new f({h:60,s:33,v:100}),new f({h:60,s:66,v:100}),new f({h:60,s:100,v:100}),new f({h:60,s:100,v:75}),new f({h:60,s:100,v:50}),new f({h:180,s:0,v:80}),new f({h:90,s:33,v:100}),new f({h:90,s:66,v:100}),new f({h:90,s:100,v:100}),new f({h:90,s:100,v:75}),new f({h:90,s:100,v:50}),new f({h:180,s:0,v:70}),new f({h:120,s:33,v:100}),new f({h:120,s:66,v:100}),new f({h:120,s:100,v:100}),new f({h:120,s:100,v:75}),new f({h:120,s:100,v:50}),new f({h:180,s:0,v:60}),new f({h:150,s:33,v:100}),new f({h:150,s:66,v:100}),new f({h:150,s:100,v:100}),new f({h:150,s:100,v:75}),new f({h:150,s:100,v:50}),new f({h:180,s:0,v:50}),new f({h:180,s:33,v:100}),new f({h:180,s:66,v:100}),new f({h:180,s:100,v:100}),new f({h:180,s:100,v:75}),new f({h:180,s:100,v:50}),new f({h:180,s:0,v:40}),new f({h:210,s:33,v:100}),new f({h:210,s:66,v:100}),new f({h:210,s:100,v:100}),new f({h:210,s:100,v:75}),new f({h:210,s:100,v:50}),new f({h:180,s:0,v:30}),new f({h:240,s:33,v:100}),new f({h:240,s:66,v:100}),new f({h:240,s:100,v:100}),new f({h:240,s:100,v:75}),new f({h:240,s:100,v:50}),new f({h:180,s:0,v:20}),new f({h:270,s:33,v:100}),new f({h:270,s:66,v:100}),new f({h:270,s:100,v:100}),new f({h:270,s:100,v:75}),new f({h:270,s:100,v:50}),new f({h:180,s:0,v:10}),new f({h:300,s:33,v:100}),new f({h:300,s:66,v:100}),new f({h:300,s:100,v:100}),new f({h:300,s:100,v:75}),new f({h:300,s:100,v:50}),new f({h:180,s:0,v:0}),new f({h:330,s:33,v:100}),new f({h:330,s:66,v:100}),new f({h:330,s:100,v:100}),new f({h:330,s:100,v:75}),new f({h:330,s:100,v:50}),new f()]},images:{clientPath:"/jPicker/images/",colorMap:{width:256,height:256,arrow:{file:"mappoint.gif",width:15,height:15}},colorBar:{width:20,height:256,arrow:{file:"rangearrows.gif",width:40,height:9}},picker:{file:"picker.gif",width:25,height:24}},localization:{text:{title:"Drag Markers To Pick A Color",newColor:"new",currentColor:"current",ok:"OK",cancel:"Cancel"},tooltips:{colors:{newColor:"New Color - Press &ldquo;OK&rdquo; To Commit",currentColor:"Click To Revert To Original Color"},buttons:{ok:"Commit To This Color Selection",cancel:"Cancel And Revert To Original Color"},hue:{radio:"Set To &ldquo;Hue&rdquo; Color Mode",textbox:"Enter A &ldquo;Hue&rdquo; Value (0-360&deg;)"},saturation:{radio:"Set To &ldquo;Saturation&rdquo; Color Mode",textbox:"Enter A &ldquo;Saturation&rdquo; Value (0-100%)"},brightness:{radio:"Set To &ldquo;Brightness&rdquo; Color Mode",textbox:"Enter A &ldquo;Brightness&rdquo; Value (0-100%)"},red:{radio:"Set To &ldquo;Red&rdquo; Color Mode",textbox:"Enter A &ldquo;Red&rdquo; Value (0-255)"},green:{radio:"Set To &ldquo;Green&rdquo; Color Mode",textbox:"Enter A &ldquo;Green&rdquo; Value (0-255)"},blue:{radio:"Set To &ldquo;Blue&rdquo; Color Mode",textbox:"Enter A &ldquo;Blue&rdquo; Value (0-255)"},alpha:{radio:"Set To &ldquo;Alpha&rdquo; Color Mode",textbox:"Enter A &ldquo;Alpha&rdquo; Value (0-100)"},hex:{textbox:"Enter A &ldquo;Hex&rdquo; Color Value (#000000-#ffffff)"}}}};})(jQuery,"1.0.12");
\ No newline at end of file
--- a/htdocs/svg-edit/editor/jgraduate/jpicker-1.0.9.min.js	Sat Jan 23 21:56:24 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-(function(e,a){var d=function(n,k){var p=this,o=e("img",n),l=function(q){h(q);e(document).bind("mousemove",m).bind("mouseup",j);q.stopPropagation();q.preventDefault();return false;},m=function(q){h(q);q.stopPropagation();q.preventDefault();return false;},j=function(q){e(document).unbind("mouseup",j).unbind("mousemove",m);q.stopPropagation();q.preventDefault();return false;},h=function(u){var w=n.offset(),q=u.pageX-w.left-parseInt(n.css("border-left-width")),z=u.pageY-w.top-parseInt(n.css("border-top-width")),t=n.w,r=n.h,v,s;if(q<0){q=0;}else{if(q>t){q=t;}}if(z<0){z=0;}else{if(z>r){z=r;}}v=Math.floor(q/t*p.mxX);s=Math.floor(z/r*p.mxY);p.x=v;p.y=s;if(p.mxX==p.mnX){q=0;}if(p.mxY==p.mnY){z=0;}p.setArrowPosition(q,z);e.isFunction(p.valuesChanged)&&p.valuesChanged(p);};e.extend(true,p,{settings:k,x:0,y:0,mnX:0,mxX:0,mnY:100,mxY:100,valuesChanged:e.isFunction(arguments[2])&&arguments[2]||null,setPositioningVariables:function(r){var q=p.settings.map;n.w=q&&q.width||n.width();n.h=q&&q.height||n.height();p.MinX=0;p.MinY=0;p.MaxX=n.w;p.MaxY=n.h;},setArrowPositionFromValues:function(t){p.setPositioningVariables();var w=0,v=0,u=p.mnX,r=p.mxX,s=p.mnY,q=p.mxY,A=p.x,z=p.y;if(u!=r){if(A==u){w=0;}else{if(A==r){w=n.w;}else{if(u<1){r+=Math.abs(u)+1;}if(A<1){A+=1;}w=A/r*n.w;if(parseInt(w)==(r-1)){w=r;}else{w=parseInt(w);}if(u<1){w-=Math.abs(u)-1;}}}}if(s!=q){if(z==s){v=0;}else{if(z==q){v=n.h;}else{if(s<1){q+=Math.abs(s)+1;}if(z<1){z+=1;}v=z/q*n.h;if(parseInt(v)==(q-1)){v=q;}else{v=parseInt(v);}if(s<1){v-=Math.abs(s)-1;}}}}p.setArrowPosition(w,v);},setArrowPosition:function(q,v){var u=n.w,s=n.h,t=o.w,r=o.h;if(q<0){q=0;}else{if(q>u){q=u;}}if(v<0){v=0;}else{if(v>s){v=s;}}if(t>u){q=(u>>1)-(t>>1);}else{q-=t>>1;}if(r>s){v=(s>>1)-(r>>1);}else{v-=r>>1;}o.css({left:q+"px",top:v+"px"});},destroy:function(){e(document).unbind("mouseup",j).unbind("mousemove",m);n.unbind("mousedown",l);n=null;o=null;p.valuesChanged=null;}});o.src=p.settings.arrow&&p.settings.arrow.image;o.w=p.settings.arrow&&p.settings.arrow.width||o.width();o.h=p.settings.arrow&&p.settings.arrow.height||o.height();p.setPositioningVariables();n.bind("mousedown",l);p.setArrowPositionFromValues();e.isFunction(p.valuesChanged)&&p.valuesChanged(p);},b=function(n){var m=this,y=function(A){if(A.target.value==""){return;}t(A);m.setValuesFromHsv();e.isFunction(m.valuesChanged)&&m.valuesChanged(m);},s=function(A){if(A.target.value==""){return;}q(A);m.setValuesFromRgb();e.isFunction(m.valuesChanged)&&m.valuesChanged(m);},r=function(A){if(A.target.value==""){return;}l(A);w.a=A.target.value;e.isFunction(m.valuesChanged)&&m.valuesChanged(m);},v=function(A){if(A.target.value==""){m.setValuesFromRgb();}},k=function(A){if(A.target.value==""){m.setValuesFromHsv();}},o=function(A){if(A.target.value==""){u.alpha.val(100);}},z=function(A){if(A.target.value==""){return;}x(A);m.setValuesFromHex();e.isFunction(m.valuesChanged)&&m.valuesChanged(m);},j=function(A){if(A.target.value==""){m.setValuesFromHsv();}},q=function(A){if(!p(A)){return A;}u.red.val(h(u.red.val(),0,255));u.green.val(h(u.green.val(),0,255));u.blue.val(h(u.blue.val(),0,255));},l=function(A){if(!p(A)){return A;}u.alpha.val(h(u.alpha.val(),0,100));},t=function(A){if(!p(A)){return A;}u.hue.val(h(u.hue.val(),0,360));u.saturation.val(h(u.saturation.val(),0,100));u.value.val(h(u.value.val(),0,100));},x=function(A){if(!p(A)){return A;}u.hex.val(u.hex.val().replace(/[^a-fA-F0-9]/g,"0").toLowerCase().substring(0,6));},p=function(A){switch(A.keyCode){case 9:case 16:case 29:case 37:case 38:case 40:return false;case"c".charCodeAt():case"v".charCodeAt():if(A.ctrlKey){return false;}}return true;},h=function(C,B,A){if(C==""||isNaN(C)){return B;}C=parseInt(C);if(C>A){return A;}if(C<B){return B;}return C;};e.extend(true,m,{color:new f(),fields:{hue:e(".jPicker_HueText",n),saturation:e(".jPicker_SaturationText",n),value:e(".jPicker_BrightnessText",n),red:e(".jPicker_RedText",n),green:e(".jPicker_GreenText",n),blue:e(".jPicker_BlueText",n),hex:e(".jPicker_HexText",n),alpha:e(".jPicker_AlphaText",n)},valuesChanged:e.isFunction(arguments[1])&&arguments[1]||null,bindedHexKeyUp:function(A){z(A);},setValuesFromRgb:function(){w.fromRgb(u.red.val(),u.green.val(),u.blue.val());u.hex.val(w.hex);u.hue.val(w.h);u.saturation.val(w.s);u.value.val(w.v);},setValuesFromHsv:function(){w.fromHsv(u.hue.val(),u.saturation.val(),u.value.val());u.hex.val(w.hex);u.red.val(w.r);u.green.val(w.g);u.blue.val(w.b);},setValuesFromHex:function(){w.fromHex(u.hex.val());u.red.val(w.r);u.green.val(w.g);u.blue.val(w.b);u.hue.val(w.h);u.saturation.val(w.s);u.value.val(w.v);},setAlphaFromValue:function(){w.a=u.alpha.val();},destroy:function(){u.hue.add(u.saturation).add(u.value).unbind("keyup",events.hsvKeyUp).unbind("blur",v);u.red.add(u.green).add(u.blue).unbind("keyup",events.rgbKeyUp).unbind("blur",k);u.alpha.unbind("keyup",r).unbind("blur",o);u.hex.unbind("keyup",z);u=null;w=null;m.valuesChanged=null;}});var u=m.fields,w=m.color;u.hue.add(u.saturation).add(u.value).bind("keyup",y).bind("blur",v);u.red.add(u.green).add(u.blue).bind("keyup",s).bind("blur",k);u.alpha.bind("keyup",r).bind("blur",o);u.hex.bind("keyup",z).bind("blur",j);if(u.hex.val()!=""){w.fromHex(u.hex.val());m.setValuesFromHex();}};e.jPicker={List:[],Color:function(j){var h=this;e.extend(true,h,{r:0,g:0,b:0,h:0,s:0,v:0,a:100,hex:"",fromRgb:function(m,l,k){var o=this;o.r=m;o.g=l;o.b=k;var n=g.rgbToHsv(o);o.h=n.h;o.s=n.s;o.v=n.v;o.hex=g.rgbToHex(o);},fromHsv:function(m,l,k){var o=this;o.h=m;o.s=l;o.v=k;var n=g.hsvToRgb(o);o.r=n.r;o.g=n.g;o.b=n.b;o.hex=g.rgbToHex(n);},fromHex:function(k){var n=this;n.hex=k;var m=g.hexToRgb(k);n.r=m.r;n.g=m.g;n.b=m.b;var l=g.rgbToHsv(m);n.h=l.h;n.s=l.s;n.v=l.v;n.hex=g.rgbToHex(m);}});if(j){if(j.hex){h.fromHex(j.hex);}else{if(!isNaN(j.r)){h.fromRgb(j.r,j.g,j.b);}else{if(!isNaN(j.h)){h.fromHsv(j.h,j.s,j.v);}}}if(!isNaN(j.a)){h.a=j.a;}}},ColorMethods:{hexToRgb:function(l){l=this.validateHex(l);var k="00",j="00",h="00";if(l.length==6){k=l.substring(0,2);j=l.substring(2,4);h=l.substring(4,6);}else{if(l.length>4){k=l.substring(4,l.length);l=l.substring(0,4);}if(l.length>2){j=l.substring(2,l.length);l=l.substring(0,2);}if(l.length>0){h=l.substring(0,l.length);}}return{r:this.hexToInt(k),g:this.hexToInt(j),b:this.hexToInt(h)};},validateHex:function(h){h=h.toLowerCase().replace(/[^a-f0-9]/g,"0");if(h.length>6){h=h.substring(0,6);}return h;},rgbToHex:function(h){return this.intToHex(h.r)+this.intToHex(h.g)+this.intToHex(h.b);},intToHex:function(j){var h=parseInt(j).toString(16);if(h.length==1){h=("0"+h);}return h.toLowerCase();},hexToInt:function(h){return parseInt(h,16);},rgbToHsv:function(l){var o=l.r/255,n=l.g/255,j=l.b/255,k={h:0,s:0,v:0},m=0,h=0,p;if(o>=n&&o>=j){h=o;m=n>j?j:n;}else{if(n>=j&&n>=o){h=n;m=o>j?j:o;}else{h=j;m=n>o?o:n;}}k.v=h;k.s=h?(h-m)/h:0;if(!k.s){k.h=0;}else{p=h-m;if(o==h){k.h=(n-j)/p;}else{if(n==h){k.h=2+(j-o)/p;}else{k.h=4+(o-n)/p;}}k.h=parseInt(k.h*60);if(k.h<0){k.h+=360;}}k.s=parseInt(k.s*100);k.v=parseInt(k.v*100);return k;},hsvToRgb:function(n){var r={r:0,g:0,b:0},m=n.h,x=n.s,u=n.v;if(x==0){if(u==0){r.r=r.g=r.b=0;}else{r.r=r.g=r.b=parseInt(u*255/100);}}else{if(m==360){m=0;}m/=60;x=x/100;u=u/100;var l=parseInt(m),o=m-l,k=u*(1-x),j=u*(1-(x*o)),w=u*(1-(x*(1-o)));switch(l){case 0:r.r=u;r.g=w;r.b=k;break;case 1:r.r=j;r.g=u;r.b=k;break;case 2:r.r=k;r.g=u;r.b=w;break;case 3:r.r=k;r.g=j;r.b=u;break;case 4:r.r=w;r.g=k;r.b=u;break;case 5:r.r=u;r.g=k;r.b=j;break;}r.r=parseInt(r.r*255);r.g=parseInt(r.g*255);r.b=parseInt(r.b*255);}return r;}}};var f=e.jPicker.Color,c=e.jPicker.List,g=e.jPicker.ColorMethods;e.fn.jPicker=function(j){var h=arguments;return this.each(function(){var w=e(this),y=e.extend(true,{},e.fn.jPicker.defaults,j);if(w.get(0).nodeName.toLowerCase()=="input"){e.extend(true,y,{window:{bindToInput:true,expandable:true,input:w}});if(g.validateHex(w.val())){y.color.active=new f({hex:w.val(),a:y.color.active.a});y.color.current=new f({hex:w.val(),a:y.color.active.a});}}if(y.window.expandable){w.after('<span class="jPicker_Picker"><span class="jPicker_Color">&nbsp;</span><span class="jPicker_Icon" title="Click To Open Color Picker">&nbsp;</span><span class="jPicker_Container">&nbsp;</span></span>');}else{y.window.liveUpdate=false;}var W=parseFloat(navigator.appVersion.split("MSIE")[1])<7&&document.body.filters,ax=null,aw=null,av=null,U=null,T=null,S=null,R=null,Q=null,aC=null,V=null,au=null,J=null,I=null,X=null,ac=null,az=null,ak=null,am=null,ao=null,K=null,G=null,aa=null,L=null,ay=null,P=null,O=null,at=null,aq=null,A=null,l=null,M=null,ap=null,ad=null,ai=null,n=null,C=null,u=null,an=function(aE){N.active=ay.color;var aF=N.active,aG=p.clientPath,aD=function(aH){ae(aH,100);aH.css({backgroundColor:"",backgroundPosition:"0px 0px",filter:""});};aD(ax);aD(aw);aD(U);aD(T);aD(S);aD(R);ac.add(az).add(ak).add(am).add(ao).add(K).removeAttr("checked");switch(aE){case"h":ac.attr("checked",true);ax.css({backgroundColor:"#"+aF.hex});aw.css({backgroundColor:"transparent"});x(aw,-256);ae(aw,100);x(R,-256);G.mxX=100;G.mxY=100;aa.mxY=360;break;case"s":az.attr("checked",true);x(ax,-512);x(aw,-768);ae(aw,0);z(S,aF.hex);x(R,-512);G.mxX=360;G.mxY=100;aa.mxY=100;break;case"v":ak.attr("checked",true);z(ax,"000");x(aw,-1024);S.css({backgroundColor:"#"+aF.hex});x(R,-768);G.mxX=360;G.mxY=100;aa.mxY=100;break;case"r":am.attr("checked",true);x(aw,-1536);x(ax,-1280);x(R,-1024);x(S,-1280);x(T,-1536);x(U,-1792);break;case"g":ao.attr("checked",true);x(aw,-2048);x(ax,-1792);x(R,-2048);x(S,-2304);x(T,-2560);x(U,-2816);break;case"b":K.attr("checked",true);x(aw,-2560);x(ax,-2304);x(R,-3072);x(S,-3328);x(T,-3584);x(U,-3840);break;default:throw ("Invalid Mode");break;}switch(aE){case"h":case"s":case"v":G.mnX=1;G.mnY=1;aa.mnY=1;break;case"r":case"g":case"b":G.mnX=0;G.mnY=0;aa.mnY=0;G.mxX=255;G.mxY=255;aa.mxY=255;break;}N.mode=aE;v();ar();ab();if(aj.expandable&&aj.liveUpdate){n.css({backgroundColor:"#"+aF.hex});if(aj.bindToInput){aj.input.val(aF.hex).css({backgroundColor:"#"+aF.hex,color:aF.v>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aF);},m=function(){v();ah();N.active=ay.color;var aD=N.active;if(aj.expandable&&aj.liveUpdate){n.css({backgroundColor:"#"+aD.hex});if(aj.bindToInput){aj.input.val(ay.fields.hex.val()).css({backgroundColor:"#"+aD.hex,color:aD.v>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aD);},B=function(){if(!ay||!G||!aa||!L){return;}N.active=ay.color;var aD=ay.fields,aE=N.active;switch(N.mode){case"h":aD.saturation.val(G.x);aD.value.val(100-G.y);break;case"s":aD.hue.val(G.x);aD.value.val(100-G.y);break;case"v":aD.hue.val(G.x);aD.saturation.val(100-G.y);break;case"r":aD.blue.val(G.x);aD.green.val(255-G.y);break;case"g":aD.blue.val(G.x);aD.red.val(255-G.y);break;case"b":aD.red.val(G.x);aD.green.val(255-G.y);break;}switch(N.mode){case"h":case"s":case"v":ay.setValuesFromHsv();break;case"r":case"g":case"b":ay.setValuesFromRgb();break;}ah();if(aj.expandable&&aj.liveUpdate){n.css({backgroundColor:"#"+aE.hex});if(aj.bindToInput){aj.input.val(aE.hex).css({backgroundColor:"#"+aE.hex,color:aE.v>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aE);},al=function(){if(!ay||!G||!aa||!L){return;}N.active=ay.color;var aD=ay.fields,aE=N.active;switch(N.mode){case"h":aD.hue.val(360-aa.y);break;case"s":aD.saturation.val(100-aa.y);break;case"v":aD.value.val(100-aa.y);break;case"r":aD.red.val(255-aa.y);break;case"g":aD.green.val(255-aa.y);break;case"b":aD.blue.val(255-aa.y);break;}switch(N.mode){case"h":case"s":case"v":ay.setValuesFromHsv();break;case"r":case"g":case"b":ay.setValuesFromRgb();break;}ah();if(aj.expandable&&aj.liveUpdate){n.css({backgroundColor:"#"+aE.hex});if(aj.bindToInput){aj.input.val(aE.hex).css({backgroundColor:"#"+aE.hex,color:aE.v>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aE);},s=function(){if(!ay||!G||!aa||!L){return;}N.active=ay.color;var aD=ay.fields,aE=N.active;aD.alpha.val(L.x);ay.setAlphaFromValue();ah();e.isFunction(w.liveCallback)&&w.liveCallback(N.active);},v=function(){N.active=ay.color;var aG=0,aF=N.active;switch(w.settings.color.mode){case"h":aG=360-aF.h;break;case"s":aG=100-aF.s;break;case"v":aG=100-aF.v;break;case"r":aG=255-aF.r;break;case"g":aG=255-aF.g;break;case"b":aG=255-aF.b;break;}aa.y=aG;L.x=aF.a;aa.setArrowPositionFromValues();L.s