<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FAjax_Layer%2FDraggable_Layer</id>
		<title>JavaScript DHTML/Ajax Layer/Draggable Layer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FAjax_Layer%2FDraggable_Layer"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer/Draggable_Layer&amp;action=history"/>
		<updated>2026-04-05T03:50:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer/Draggable_Layer&amp;diff=1632&amp;oldid=prev</id>
		<title> в 09:58, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer/Draggable_Layer&amp;diff=1632&amp;oldid=prev"/>
				<updated>2010-05-26T09:58:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:58, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer/Draggable_Layer&amp;diff=1633&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer/Draggable_Layer&amp;diff=1633&amp;oldid=prev"/>
				<updated>2010-05-26T07:15:45Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Drag and Snap (SnapX)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://dynapi.sourceforge.net/&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE&lt;br /&gt;
Version 2.1, February 1999&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.0 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Dynapi Examples - Drag &amp;amp; Snap (SnapX)&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=content-type content=&amp;quot;text/html; charset=iso-8859-1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;./dynapisrc/dynapi.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
    dynapi.library.setPath(&amp;quot;./dynapisrc/&amp;quot;);&lt;br /&gt;
    dynapi.library.include(&amp;quot;dynapi.api&amp;quot;);&lt;br /&gt;
    dynapi.library.include(&amp;quot;dynapi.api.ext.DragEvent&amp;quot;);&lt;br /&gt;
    dynapi.library.include(&amp;quot;dynapi.fx.SnapX&amp;quot;);&lt;br /&gt;
    dynapi.library.include(&amp;quot;dynapi.functions.Color&amp;quot;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
    var l1,l2,l3,l4,l5,l6,l7,l8,l9,l1txt,l2txt,l3txt,l4txt,l5txt,l6txt,l7txt,l8txt,l9txt;&lt;br /&gt;
    l1txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;drag&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;inner, 5&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l2txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;drag&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;outer, 5&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l3txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;drag&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;both, 5&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l4txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;drag&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;both, 10&amp;lt;br /&amp;gt;sticky&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l5txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;drag&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;both, 10&amp;lt;br /&amp;gt;grid, def&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l6txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;static&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;def, 15&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l7txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;static&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;def, 10&amp;lt;br /&amp;gt;sticky&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l8txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;drag&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;def, def&amp;lt;br /&amp;gt;grid, def&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    //l9txt = &amp;quot;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;Verdana&amp;quot;&amp;gt;drag&amp;lt;br /&amp;gt;snap&amp;lt;br /&amp;gt;def, def&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
    l1 = new DynLayer(l1txt,25,25,50,50,&amp;quot;red&amp;quot;);&lt;br /&gt;
    l2 = new DynLayer(l2txt,185,25,50,50,&amp;quot;orange&amp;quot;);&lt;br /&gt;
    l3 = new DynLayer(l3txt,350,25,50,50,&amp;quot;yellow&amp;quot;);&lt;br /&gt;
    l4 = new DynLayer(l4txt,515,25,50,50,&amp;quot;lightgreen&amp;quot;);&lt;br /&gt;
    l5 = new DynLayer(l5txt,675,25,50,50,&amp;quot;lightblue&amp;quot;);&lt;br /&gt;
    l6 = new DynLayer(l6txt,25,100,100,100,&amp;quot;violet&amp;quot;);&lt;br /&gt;
    l7 = new DynLayer(l7txt,225,100,100,100,&amp;quot;tan&amp;quot;);&lt;br /&gt;
    l8 = new DynLayer(l8txt,425,100,175,175,&amp;quot;lightgrey&amp;quot;);&lt;br /&gt;
    //l9 = new DynLayer(l9txt,625,100,100,100,&amp;quot;gray&amp;quot;);&lt;br /&gt;
    l1.setTextSelectable(false);&lt;br /&gt;
    l2.setTextSelectable(false);&lt;br /&gt;
    l3.setTextSelectable(false);&lt;br /&gt;
    l4.setTextSelectable(false);&lt;br /&gt;
    l5.setTextSelectable(false);&lt;br /&gt;
    l6.setTextSelectable(false);&lt;br /&gt;
    l7.setTextSelectable(false);&lt;br /&gt;
    l8.setTextSelectable(false);&lt;br /&gt;
    //l9.setTextSelectable(false);&lt;br /&gt;
    l1.enableSnap();&lt;br /&gt;
    l2.enableSnap();&lt;br /&gt;
    l3.enableSnap();&lt;br /&gt;
    l4.enableSnap();&lt;br /&gt;
    l4.enableStickySnap();&lt;br /&gt;
    l5.enableSnap();&lt;br /&gt;
    l5.enableGridSnap();&lt;br /&gt;
    l6.enableSnap();&lt;br /&gt;
    l7.enableSnap();&lt;br /&gt;
    l7.enableStickySnap();&lt;br /&gt;
    l8.enableSnap();&lt;br /&gt;
    l8.enableGridSnap();&lt;br /&gt;
    //l9.enableSnap();&lt;br /&gt;
    l1.setSnapBoundary(&amp;quot;inner&amp;quot;,5);&lt;br /&gt;
    l2.setSnapBoundary(&amp;quot;outer&amp;quot;,5);&lt;br /&gt;
    l3.setSnapBoundary(&amp;quot;both&amp;quot;,5);&lt;br /&gt;
    l4.setSnapBoundary(&amp;quot;both&amp;quot;,10);&lt;br /&gt;
    l5.setSnapBoundary(&amp;quot;both&amp;quot;,10);&lt;br /&gt;
    l6.setSnapBoundary(15);&lt;br /&gt;
    l7.setSnapBoundary(10);&lt;br /&gt;
    l8.setSnapBoundary(15,40);&lt;br /&gt;
    l1.setZIndex(100);&lt;br /&gt;
    l2.setZIndex(101);&lt;br /&gt;
    l3.setZIndex(102);&lt;br /&gt;
    l4.setZIndex(103);&lt;br /&gt;
    l5.setZIndex(104);&lt;br /&gt;
    l6.setZIndex(10);&lt;br /&gt;
    l7.setZIndex(11);&lt;br /&gt;
    l8.setZIndex(12);&lt;br /&gt;
    //l9.setZIndex(13);&lt;br /&gt;
    DragEvent.enableDragEvents(l1);&lt;br /&gt;
    DragEvent.enableDragEvents(l2);&lt;br /&gt;
    DragEvent.enableDragEvents(l3);&lt;br /&gt;
    DragEvent.enableDragEvents(l4);&lt;br /&gt;
    DragEvent.enableDragEvents(l5);&lt;br /&gt;
    l1.addEventListener({&lt;br /&gt;
        onsnap : function(e) {&lt;br /&gt;
            var src = e.getSource();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    l2.addEventListener({&lt;br /&gt;
        onsnap : function(e) {&lt;br /&gt;
            var src = e.getSource();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    l3.addEventListener({&lt;br /&gt;
        onsnap : function(e) {&lt;br /&gt;
            var src = e.getSource();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    l4.addEventListener({&lt;br /&gt;
        onsnap : function(e) {&lt;br /&gt;
            var src = e.getSource();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    l5.addEventListener({&lt;br /&gt;
        onsnap : function(e) {&lt;br /&gt;
            var src = e.getSource();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    dynapi.document.addChild(l1);&lt;br /&gt;
    dynapi.document.addChild(l2);&lt;br /&gt;
    dynapi.document.addChild(l3);&lt;br /&gt;
    dynapi.document.addChild(l4);&lt;br /&gt;
    dynapi.document.addChild(l5);&lt;br /&gt;
    dynapi.document.addChild(l6);&lt;br /&gt;
    dynapi.document.addChild(l7);&lt;br /&gt;
    dynapi.document.addChild(l8);&lt;br /&gt;
    //dynapi.document.addChild(l9);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;font face=&amp;quot;Verdana, Arial&amp;quot; size=&amp;quot;2&amp;quot;&amp;gt;Drag &amp;amp;amp; Snap the layers above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;API notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Public Methods (Snap):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] enableSnap() &amp;amp;amp; disableSnap()&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] setSnapBoundaryTypeDefault([inner|outer|both]) &amp;amp;amp; [inner|outer|both] getSnapBoundaryTypeDefault()&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] setSnapBoundaryType([inner|outer|both]) &amp;amp;amp; [snapType] getSnapBoundaryType()&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] setSnapBoundaryDefault(b) &amp;amp;amp; [b] getSnapBoundaryDefault()&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] setSnapBoundary() or setSnapBoundary(b) or&amp;lt;br /&amp;gt;&lt;br /&gt;
      [null] setSnapBoundary([inner|outer|both],b) or&amp;lt;br /&amp;gt;&lt;br /&gt;
      [null] setSnapBoundary(number,number) or&amp;lt;br /&amp;gt;&lt;br /&gt;
      [null] setSnapBoundary([inner|outer|both],t,r,b,l) or&amp;lt;br /&amp;gt;&lt;br /&gt;
      [null] setSnapBoundary(ti,ri,bi,li,to,ro,bo,lo)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[Array (t,r,b,l)] getSnapBoundary([inner|outer]) or&amp;lt;br/&amp;gt;&lt;br /&gt;
      [Array (ti,ri,bi,li,to,ro,bo,lo)] getSnapBoundary(both)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] enableStickySnap() &amp;amp;amp; disableStickySnap()&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] enableGridSnap() &amp;amp;amp; disableGridSnap()&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[null] setGridSnapSize(b)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
BUGS list:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Dragging a grid snap layer over a sticky snap layer acts like grid snap when it should not.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Double check &amp;amp;amp; clean up inner &amp;amp;amp; outer corner grid snapping code.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Add sticky snap support for both sides of the target layer&amp;quot;s border (currently inner or outer only).&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Add sticky snap support for upper-right and lower-left corners (i.e. reflective w.r.t. real edge).&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Find a way to make the snapping/resnapping less jittery (i.e. sticky &amp;amp; grid are options).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
TODO list:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Add argument passing to enableSnap() for more compact way to specify snap type [normal|sticky|grid], boundary type [inner|outer|both], grid size (if applicable) and boundary sizes.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Add a dockable feature.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Add a &amp;quot;ghost&amp;quot; feature.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/dynapi.zip&amp;quot;&amp;gt;dynapi.zip( 791 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Draggable Layers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/MochiKit-1.3.1.zip&amp;quot;&amp;gt;MochiKit-1.3.1.zip( 302 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/DragandSnapSnapX.htm&amp;quot;&amp;gt;Drag and Snap (SnapX)&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/DragandSnapSnapX.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
2. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/Layerdragevent.htm&amp;quot;&amp;gt;Layer drag event&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/Layerdragevent.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
3. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/DraggingLargeChildLayers.htm&amp;quot;&amp;gt;Dragging Large Child Layers&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/DraggingLargeChildLayers.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
4. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/DraggingFormsandLayersformcontrolsonalayer.htm&amp;quot;&amp;gt;Dragging Forms and Layers: form controls on a layer&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/DraggingFormsandLayersformcontrolsonalayer.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
5. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/RelativeLayersDragdropexample.htm&amp;quot;&amp;gt;Relative Layers : Drag &amp;amp; drop example&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/RelativeLayersDragdropexample.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
6. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/Inlinelayerdraganddrop.htm&amp;quot;&amp;gt;Inline layer drag and drop&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Ajax-Layer/Inlinelayerdraganddrop.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dragging Forms and Layers: form controls on a layer==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://dynapi.sourceforge.net/&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE&lt;br /&gt;
Version 2.1, February 1999&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.0 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Dragging Forms &amp;amp; Layers&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot; type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;./dynapisrc/dynapi.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
dynapi.library.setPath(&amp;quot;./dynapisrc/&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.api&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;DragEvent&amp;quot;)&lt;br /&gt;
//--&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
  lyr = new DynLayer(null,50,50,250,200,&amp;quot;red&amp;quot;);&lt;br /&gt;
  lyr.setHTML(&amp;quot;drag me &amp;lt;form&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;input type=&amp;quot;radio&amp;quot; value=&amp;quot;1&amp;quot; name=&amp;quot;r1&amp;quot; checked&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;input type=&amp;quot;radio&amp;quot; value=&amp;quot;1&amp;quot; name=&amp;quot;r1&amp;quot;&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;input type=&amp;quot;checkbox&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;input type=&amp;quot;text&amp;quot; value=&amp;quot;text&amp;quot;&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;submit&amp;quot;&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;input type=&amp;quot;image&amp;quot; name=&amp;quot;myimage&amp;quot; src=&amp;quot;./dynapisrc/ext/images/debug_imgreload.gif&amp;quot;&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;textarea name=&amp;quot;ta&amp;quot; cols=20 rows=3&amp;gt;textarea textarea textarea textarea textarea textarea textarea&amp;lt;/textarea&amp;gt;&amp;quot;+&lt;br /&gt;
        &amp;quot;&amp;lt;br&amp;gt;&amp;lt;img src=&amp;quot;./dynapiexamples/images/arrowdown.gif&amp;quot; width=50 height=50&amp;gt;&amp;lt;/form&amp;gt;&amp;quot;);&lt;br /&gt;
  dynapi.document.addChild(lyr);&lt;br /&gt;
  DragEvent.enableDragEvents(lyr);&lt;br /&gt;
  DragEvent.setDragBoundary(lyr);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body bgcolor=&amp;quot;#ffffff&amp;quot;&amp;gt;&lt;br /&gt;
Issue: Unable to scroll or select text in some browsers (e.g. IE) when drag events are &lt;br /&gt;
enabled on the layer&lt;br /&gt;
Try scrolling or selecting text within the text boxes&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/dynapi.zip&amp;quot;&amp;gt;dynapi.zip( 791 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dragging Large Child Layers==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://dynapi.sourceforge.net/&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE&lt;br /&gt;
Version 2.1, February 1999&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Dragging Large Child Layers&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;./dynapisrc/dynapi.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;gt;&lt;br /&gt;
dynapi.library.setPath(&amp;quot;./dynapisrc/&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.api&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;DragEvent&amp;quot;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;gt;&lt;br /&gt;
var container = new DynLayer(null,0,0,200,200,&amp;quot;e0e0e0&amp;quot;);&lt;br /&gt;
var insideObj = new DynLayer(&amp;quot;Can drag until x &amp;amp; y=0. This due to boundrary  {left:0, right:0, top:0, bottom:0} and this layer being larger than it&amp;quot;s parent&amp;quot;,100,100,400,400, &amp;quot;lime&amp;quot;); // larger than our container...&lt;br /&gt;
container.addChild(insideObj);&lt;br /&gt;
DragEvent.setDragBoundary(insideObj, {left:0, right:0, top:0, bottom:0});&lt;br /&gt;
DragEvent.enableDragEvents(insideObj);&lt;br /&gt;
dynapi.document.addChild(container);&lt;br /&gt;
var container = new DynLayer(null,250,0,200,200,&amp;quot;e0e0e0&amp;quot;);&lt;br /&gt;
var insideObj = new DynLayer(&amp;quot;Can&amp;quot;t drag due to boundrary  {left:0, right:0, top:0, bottom:0} and this layer being larger than it&amp;quot;s parent&amp;quot;,0,0,400,400, &amp;quot;yellow&amp;quot;); // larger than our container...&lt;br /&gt;
container.addChild(insideObj);&lt;br /&gt;
DragEvent.setDragBoundary(insideObj, {left:0, right:0, top:0, bottom:0});&lt;br /&gt;
DragEvent.enableDragEvents(insideObj);&lt;br /&gt;
dynapi.document.addChild(container);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  dynapi.document.insertAllChildren();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/dynapi.zip&amp;quot;&amp;gt;dynapi.zip( 791 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Inline layer drag and drop==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://dynapi.sourceforge.net/&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE&lt;br /&gt;
Version 2.1, February 1999&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;DynAPI Examples - Inline Widget&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;./dynapisrc/dynapi.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;gt;&lt;br /&gt;
dynapi.library.setPath(&amp;quot;./dynapisrc/&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.library&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.debug&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.api&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;DynLayerInline&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;DragEvent&amp;quot;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;gt;&lt;br /&gt;
var mylayer = dynapi.document.addChild(new DynLayer(),null,&amp;quot;mylayer&amp;quot;);&lt;br /&gt;
mylayer.addChild(new DynLayer(),&amp;quot;lyrBox1&amp;quot;,&amp;quot;box1&amp;quot;);&lt;br /&gt;
mylayer.addChild(new DynLayer(),&amp;quot;lyrBox2&amp;quot;,&amp;quot;box2&amp;quot;);&lt;br /&gt;
mylayer.addChild(new DynLayer(),&amp;quot;lyrBox3&amp;quot;,&amp;quot;box3&amp;quot;);&lt;br /&gt;
mylayer.addChild(new DynLayer(),&amp;quot;lyrBox4&amp;quot;,&amp;quot;box4&amp;quot;);&lt;br /&gt;
DragEvent.enableDragEvents(&lt;br /&gt;
  mylayer,&lt;br /&gt;
  mylayer.lyrBox1,&lt;br /&gt;
  mylayer.lyrBox2,&lt;br /&gt;
  mylayer.lyrBox3,&lt;br /&gt;
  mylayer.lyrBox4&lt;br /&gt;
);&lt;br /&gt;
var el = {&lt;br /&gt;
  onmousedown : function(e) {&lt;br /&gt;
    dynapi.debug.print(&amp;quot;mousedown on &amp;quot;+e.getSource().id)&lt;br /&gt;
    e.preventBubble();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
mylayer.addEventListener(el);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
#mylayer {position:absolute; left:250px; top:50px; width:200px; height:200px; clip:rect(0px 200px 200px 0px); background-color:red; layer-background-color:red;}&lt;br /&gt;
#box1 {position:absolute; left:0px; top:0px; width:20px; height:20px; clip:rect(0px 20px 20px 0px); background-color:yellow; z-index:5; layer-background-color:yellow;}&lt;br /&gt;
#box2 {position:absolute; left:180px; top:0px; width:20px; height:20px; clip:rect(0px 20px 20px 0px); background-color:blue; z-index:5; layer-background-color:blue;}&lt;br /&gt;
#box3 {position:absolute; left:180px; top:180px; width:20px; height:20px; clip:rect(0px 20px 20px 0px); background-color:silver; z-index:5; layer-background-color:silver;}&lt;br /&gt;
#box4 {position:absolute; left:0px; top:180px; width:20px; height:20px; clip:rect(0px 20px 20px 0px); background-color:green; z-index:5; layer-background-color:green;}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body bgcolor=&amp;quot;#FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mylayer&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; height=&amp;quot;200&amp;quot; width=&amp;quot;200&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt;My Inline Widget&amp;lt;br&amp;gt;Drag Me&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;box1&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;box2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;box3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;box4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/dynapi.zip&amp;quot;&amp;gt;dynapi.zip( 791 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Layer drag event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://dynapi.sourceforge.net/&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE&lt;br /&gt;
Version 2.1, February 1999&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;DynAPI Examples - Drag Event&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;./dynapisrc/dynapi.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;gt;&lt;br /&gt;
dynapi.library.setPath(&amp;quot;./dynapisrc/&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.api&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.library&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;dynapi.debug&amp;quot;);&lt;br /&gt;
dynapi.library.include(&amp;quot;DragEvent&amp;quot;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;Javascript&amp;quot;&amp;gt;&lt;br /&gt;
var p = dynapi.document.addChild(new DynLayer(null,50,50,200,200,&amp;quot;silver&amp;quot;))&lt;br /&gt;
var a=p.addChild(new DynLayer(null,10,10,20,20,&amp;quot;red&amp;quot;))&lt;br /&gt;
DragEvent.enableDragEvents(a);&lt;br /&gt;
DragEvent.setDragBoundary(a, {left:5, right:5, top:5, bottom:5});&lt;br /&gt;
dynapi.onLoad(function() {&lt;br /&gt;
  str = &amp;quot;// Try these tests:\n\n&amp;quot;+&lt;br /&gt;
  &amp;quot;p.setSize(150,350);\n&amp;quot;+&lt;br /&gt;
  &amp;quot;//p.setSize(200,200);\n&amp;quot;;&lt;br /&gt;
  dynapi.debug.setEvaluate(str);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body bgcolor=&amp;quot;#999999&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
dynapi.document.insertAllChildren();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/dynapi.zip&amp;quot;&amp;gt;dynapi.zip( 791 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Relative Layers : Drag &amp;amp; drop example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
// RelativeLayers 0.9.7&lt;br /&gt;
// &lt;br /&gt;
// $Id: example8.html 1.7 04/02/02 21:22:32+01:00 gbevin@willow.uwyn.office $&lt;br /&gt;
// &lt;br /&gt;
// Library for creating dynamic designs that adapt themselves to the user&amp;quot;s&lt;br /&gt;
// browser environment.&lt;br /&gt;
// &lt;br /&gt;
// Copyright (C) 1998-2004, Geert Bevin&lt;br /&gt;
// Distributed under the terms of the GNU Lesser General Public, v2.1 or later&lt;br /&gt;
// &lt;br /&gt;
// gbevin[remove] at uwyn dot com&lt;br /&gt;
// http://www.uwyn.ru/projects/relativelayers&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
&amp;lt;HEAD&amp;gt;&lt;br /&gt;
&amp;lt;TITLE&amp;gt;RelativeLayers : Drag &amp;amp;amp; drop example&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT LANGUAGE=&amp;quot;JavaScript&amp;quot; SRC=&amp;quot;rl_error_stripped.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT LANGUAGE=&amp;quot;JavaScript&amp;quot; SRC=&amp;quot;rl_browser_stripped.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT LANGUAGE=&amp;quot;JavaScript1.2&amp;quot; SRC=&amp;quot;rl_utility_stripped.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT LANGUAGE=&amp;quot;JavaScript1.2&amp;quot; SRC=&amp;quot;rl_window_stripped.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT LANGUAGE=&amp;quot;JavaScript1.2&amp;quot; SRC=&amp;quot;rl_layer_stripped.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT LANGUAGE=&amp;quot;JavaScript1.2&amp;quot; SRC=&amp;quot;rl_dragdrop_stripped.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;SCRIPT LANGUAGE=&amp;quot;JavaScript1.2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
layer1 = new RelativeLayer(&lt;br /&gt;
&amp;quot;layer1Div&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;40%&amp;quot;,&amp;quot;60%&amp;quot;,LEFT,&amp;quot;5%&amp;quot;,TOP,&amp;quot;10%&amp;quot;,&amp;quot;-50%&amp;quot;,&amp;quot;-50%&amp;quot;,&lt;br /&gt;
&amp;quot;100%&amp;quot;,&amp;quot;100%&amp;quot;,LEFT,&amp;quot;50%&amp;quot;,TOP,&amp;quot;50%&amp;quot;,&amp;quot;0&amp;quot;,&amp;quot;0&amp;quot;,&lt;br /&gt;
&amp;quot;#dddddd&amp;quot;);&lt;br /&gt;
layer1.setDraggable(DRAGGABLE);&lt;br /&gt;
layer1.setDragLimit(AVAILABLELIMITS);&lt;br /&gt;
layer1.setDragAutoRaise(true);&lt;br /&gt;
layer1.setVisible(true);&lt;br /&gt;
layer1.addEventListener(&amp;quot;dragstart&amp;quot;, dragStart);&lt;br /&gt;
layer1.addEventListener(&amp;quot;dragmoved&amp;quot;, dragMove);&lt;br /&gt;
layer1.addEventListener(&amp;quot;dragend&amp;quot;, dragEnd);&lt;br /&gt;
layer1.addEventListener(&amp;quot;dragenter&amp;quot;, dragEnter);&lt;br /&gt;
layer1.addEventListener(&amp;quot;dragleave&amp;quot;, dragLeave);&lt;br /&gt;
layer1.addEventListener(&amp;quot;dragdrop&amp;quot;, dragDrop);&lt;br /&gt;
  &lt;br /&gt;
layer2 = new RelativeLayer(&lt;br /&gt;
&amp;quot;layer2Div&amp;quot;, &amp;quot;layer1Div&amp;quot;, &amp;quot;layer1Div&amp;quot;,&lt;br /&gt;
&amp;quot;40%&amp;quot;,&amp;quot;60%&amp;quot;,RIGHT,&amp;quot;10%&amp;quot;,TOP,&amp;quot;20%&amp;quot;,&amp;quot;-50%&amp;quot;,&amp;quot;-50%&amp;quot;,&lt;br /&gt;
&amp;quot;100%&amp;quot;,&amp;quot;100%&amp;quot;,LEFT,&amp;quot;50%&amp;quot;,TOP,&amp;quot;50%&amp;quot;,&amp;quot;0&amp;quot;,&amp;quot;0&amp;quot;,&lt;br /&gt;
&amp;quot;#99dd99&amp;quot;);&lt;br /&gt;
layer2.setDraggable(DRAGGABLE);&lt;br /&gt;
layer2.setDragAutoRaise(true);&lt;br /&gt;
layer2.setVisible(true);&lt;br /&gt;
layer2.addEventListener(&amp;quot;dragstart&amp;quot;, dragStart);&lt;br /&gt;
layer2.addEventListener(&amp;quot;dragmoved&amp;quot;, dragMove);&lt;br /&gt;
layer2.addEventListener(&amp;quot;dragend&amp;quot;, dragEnd);&lt;br /&gt;
layer2.addDropTarget(layer1);&lt;br /&gt;
  &lt;br /&gt;
layer3 = new RelativeLayer(&lt;br /&gt;
&amp;quot;layer3Div&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;80%&amp;quot;,&amp;quot;80%&amp;quot;,LEFT,&amp;quot;50%&amp;quot;,TOP,&amp;quot;50%&amp;quot;,&amp;quot;0&amp;quot;,&amp;quot;0&amp;quot;,&lt;br /&gt;
&amp;quot;100%&amp;quot;,&amp;quot;100%&amp;quot;,LEFT,&amp;quot;50%&amp;quot;,TOP,&amp;quot;50%&amp;quot;,&amp;quot;0&amp;quot;,&amp;quot;0&amp;quot;,&lt;br /&gt;
&amp;quot;#dd9999&amp;quot;);&lt;br /&gt;
layer3.setDraggable(VERTDRAGGABLE);&lt;br /&gt;
layer3.setDragLimit(AVAILABLELIMITS);&lt;br /&gt;
layer3.setVisible(true);&lt;br /&gt;
layer3.addEventListener(&amp;quot;dragstart&amp;quot;, dragStart);&lt;br /&gt;
layer3.addEventListener(&amp;quot;dragmoved&amp;quot;, dragMove);&lt;br /&gt;
layer3.addEventListener(&amp;quot;dragend&amp;quot;, dragEnd);&lt;br /&gt;
function dragStart(par_event)&lt;br /&gt;
{&lt;br /&gt;
    window.status = par_event.target.getId()+&amp;quot; : drag start : layer(&amp;quot;+par_event.layerX+&amp;quot;,&amp;quot;+par_event.layerY+&amp;quot;) page(&amp;quot;+par_event.pageX+&amp;quot;,&amp;quot;+par_event.pageY+&amp;quot;)&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
function dragMove(par_event)&lt;br /&gt;
{&lt;br /&gt;
    window.status = par_event.target.getId()+&amp;quot; : drag move : layer(&amp;quot;+par_event.layerX+&amp;quot;,&amp;quot;+par_event.layerY+&amp;quot;) page(&amp;quot;+par_event.pageX+&amp;quot;,&amp;quot;+par_event.pageY+&amp;quot;) delta(&amp;quot;+par_event.deltaX+&amp;quot;,&amp;quot;+par_event.deltaY+&amp;quot;)&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
function dragEnd(par_event)&lt;br /&gt;
{&lt;br /&gt;
    window.status = par_event.target.getId()+&amp;quot; : drag end : layer(&amp;quot;+par_event.layerX+&amp;quot;,&amp;quot;+par_event.layerY+&amp;quot;) page(&amp;quot;+par_event.pageX+&amp;quot;,&amp;quot;+par_event.pageY+&amp;quot;)&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
function dragEnter(par_event)&lt;br /&gt;
{&lt;br /&gt;
    window.status = par_event.target.getId()+&amp;quot; : drag enter : source &amp;quot;&amp;quot;+par_event.source.getId()+&amp;quot;&amp;quot; page(&amp;quot;+par_event.pageX+&amp;quot;,&amp;quot;+par_event.pageY+&amp;quot;)&amp;quot;;&lt;br /&gt;
  par_event.target.lastbgcolor = par_event.target.getBgColor();&lt;br /&gt;
  par_event.target.setBgColor(&amp;quot;#ffffff&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
function dragLeave(par_event)&lt;br /&gt;
{&lt;br /&gt;
    window.status = par_event.target.getId()+&amp;quot; : drag leave : source &amp;quot;&amp;quot;+par_event.source.getId()+&amp;quot;&amp;quot; page(&amp;quot;+par_event.pageX+&amp;quot;,&amp;quot;+par_event.pageY+&amp;quot;)&amp;quot;;&lt;br /&gt;
  par_event.target.setBgColor(par_event.target.lastbgcolor);&lt;br /&gt;
  par_event.target.lastbgcolor = null;&lt;br /&gt;
};&lt;br /&gt;
function dragDrop(par_event)&lt;br /&gt;
{&lt;br /&gt;
    window.status = par_event.target.getId()+&amp;quot; : drag drop : source &amp;quot;&amp;quot;+par_event.source.getId()+&amp;quot;&amp;quot; page(&amp;quot;+par_event.pageX+&amp;quot;,&amp;quot;+par_event.pageY+&amp;quot;)&amp;quot;;&lt;br /&gt;
  par_event.target.setBgColor(par_event.target.lastbgcolor);&lt;br /&gt;
  par_event.target.lastbgcolor = null;&lt;br /&gt;
};&lt;br /&gt;
//--&amp;gt;&lt;br /&gt;
&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;/HEAD&amp;gt;&lt;br /&gt;
&amp;lt;BODY BGCOLOR=&amp;quot;#2F4078&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DIV ID=&amp;quot;layer1Div&amp;quot;&amp;gt;&lt;br /&gt;
   Layer 1.&amp;lt;BR&amp;gt;&lt;br /&gt;
   Demo of drag and drop.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/DIV&amp;gt;&lt;br /&gt;
&amp;lt;DIV ID=&amp;quot;layer2Div&amp;quot;&amp;gt;&lt;br /&gt;
   Layer 2.&amp;lt;BR&amp;gt;&lt;br /&gt;
  &amp;lt;A HREF=&amp;quot;javascript:layer2.visibleResizeBy(&amp;quot;-10%&amp;quot;,0)&amp;quot;&amp;gt;Narrower&amp;lt;/A&amp;gt;&lt;br /&gt;
  &amp;lt;A HREF=&amp;quot;javascript:layer2.visibleResizeBy(&amp;quot;10%&amp;quot;,0)&amp;quot;&amp;gt;Wider&amp;lt;/A&amp;gt;&lt;br /&gt;
  &amp;lt;A HREF=&amp;quot;javascript:layer2.visibleResizeBy(0,&amp;quot;-10%&amp;quot;)&amp;quot;&amp;gt;Shorter&amp;lt;/A&amp;gt;&lt;br /&gt;
  &amp;lt;A HREF=&amp;quot;javascript:layer2.visibleResizeBy(0,&amp;quot;10%&amp;quot;)&amp;quot;&amp;gt;Longer&amp;lt;/A&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;DIV ID=&amp;quot;layer3Div&amp;quot;&amp;gt;&lt;br /&gt;
     Layer 3.&amp;lt;BR&amp;gt;&lt;br /&gt;
     Demo of drag and drop.&amp;lt;BR&amp;gt;&lt;br /&gt;
  &amp;lt;/DIV&amp;gt;&lt;br /&gt;
&amp;lt;/DIV&amp;gt;&lt;br /&gt;
&amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/relativelayers-0.9.7.zip&amp;quot;&amp;gt;relativelayers-0.9.7.zip( 74 k)&amp;lt;/a&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>