<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>examples/builder/builder.js</filename>
    </added>
    <added>
      <filename>examples/builder/builder.php</filename>
    </added>
    <added>
      <filename>examples/builder/builder.smd</filename>
    </added>
    <added>
      <filename>examples/builder/builder.sql</filename>
    </added>
    <added>
      <filename>examples/builder/test.html</filename>
    </added>
    <added>
      <filename>res/WireIt_JSON_formats.gif</filename>
    </added>
    <added>
      <filename>res/WireIt_Objects.gif</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -14,6 +14,14 @@ Changeset:
  * inputEx wirable option: make the inputEx fields wirable
  * LayerMap leave beta (indicate visible region, move layer on click)
 
+ * Terminal position switched to {top: , left: , right: , bottom: }
+ * new options: 
+	- TerminalProxy.proxySize (default 10) size of the proxy element
+	- Terminal.alwaysSrc : make this terminal the src element in every wires
+	- Container.preventSelfWiring : prevent to connect 2 terminals of the same container 
+
+ * The Builder: a WiringEditor building page !
+
  * New demo
  * Switching to git repository (http://github.com/neyric/wireit/)
  * Switching issue tracking</diff>
      <filename>VERSION.txt</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ class WiringEditor {
        'dbhost' =&gt; &quot;localhost&quot;,
        'dbuser' =&gt; &quot;root&quot;,
        'dbpass' =&gt; &quot;root&quot;,
-       'dbname' =&gt; &quot;WiringEditor&quot;
+       'dbname' =&gt; &quot;WireIt&quot;
     );
     
     private $link = null;</diff>
      <filename>backend/php/WiringEditor.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
-CREATE DATABASE `WiringEditor` ;
 
-CREATE TABLE `WiringEditor`.`wirings` (
-`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
-`name` varchar( 255 ) NOT NULL ,
-`working` text NOT NULL ,
-`language` varchar( 255 ) NOT NULL ,
-PRIMARY KEY ( `id` ) ,
-KEY `name` ( `name` , `language` )
+CREATE TABLE `wirings` (
+   `id` int( 11 ) NOT NULL AUTO_INCREMENT ,
+   `name` varchar( 255 ) NOT NULL ,
+   `working` text NOT NULL ,
+   `language` varchar( 255 ) NOT NULL ,
+
+   PRIMARY KEY ( `id` ) ,
+   KEY `name` ( `name` , `language` )
 );
\ No newline at end of file</diff>
      <filename>backend/php/WiringEditor.sql</filename>
    </modified>
    <modified>
      <diff>@@ -5,8 +5,8 @@ var demoLanguage = {
 	smdUrl: '../../backend/php/WiringEditor.smd',
 
 	propertiesFields: [
-		{&quot;type&quot;: &quot;string&quot;, inputParams: {&quot;name&quot;: &quot;name&quot;, label: &quot;Title&quot;, wirable: false, typeInvite: &quot;Enter a title&quot; } },
-		{&quot;type&quot;: &quot;text&quot;, inputParams: {&quot;name&quot;: &quot;description&quot;, label: &quot;Description&quot;, wirable: false, cols: 30} }
+		{&quot;type&quot;: &quot;string&quot;, inputParams: {&quot;name&quot;: &quot;name&quot;, label: &quot;Title&quot;, typeInvite: &quot;Enter a title&quot; } },
+		{&quot;type&quot;: &quot;text&quot;, inputParams: {&quot;name&quot;: &quot;description&quot;, label: &quot;Description&quot;, cols: 30} }
 	],
 	
 	modules: [
@@ -38,9 +38,9 @@ var demoLanguage = {
 	      		&quot;image&quot;: &quot;../logicGates/images/gate_and.png&quot;,
 	      		&quot;icon&quot;: &quot;http://dev.tarpipe.com/img/tumblr.png&quot;,
 	      		&quot;terminals&quot;: [
-	      			{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,2]},
-	      			{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,37]},
-	      			{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [103,20]}
+	      			{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 2 }},
+	      			{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 37 }},
+	      			{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 103, &quot;top&quot;: 20 }}
 	      		]
 	      	}
 	      },
@@ -54,10 +54,10 @@ var demoLanguage = {
 	            	&quot;icon&quot;: &quot;http://dev.tarpipe.com/img/photobucket.png&quot;,
 	         		&quot;image&quot;: &quot;../images/bubble.png&quot;,
 	         		&quot;terminals&quot;: [
-	         				{&quot;direction&quot;: [-1,-1], &quot;offsetPosition&quot;: [-10,-10], &quot;name&quot;: &quot;tl&quot;},
-	         				{&quot;direction&quot;: [1,-1], &quot;offsetPosition&quot;: [25,-10], &quot;name&quot;: &quot;tr&quot;},
-	         				{&quot;direction&quot;: [-1,1], &quot;offsetPosition&quot;: [-10,25], &quot;name&quot;: &quot;bl&quot;},
-	         				{&quot;direction&quot;: [1,1], &quot;offsetPosition&quot;: [25,25], &quot;name&quot;: &quot;br&quot;}
+	         				{&quot;direction&quot;: [-1,-1], &quot;offsetPosition&quot;: {&quot;left&quot;: -10, &quot;top&quot;: -10 }, &quot;name&quot;: &quot;tl&quot;},
+	         				{&quot;direction&quot;: [1,-1], &quot;offsetPosition&quot;: {&quot;left&quot;: 25, &quot;top&quot;: -10 }, &quot;name&quot;: &quot;tr&quot;},
+	         				{&quot;direction&quot;: [-1,1], &quot;offsetPosition&quot;: {&quot;left&quot;: -10, &quot;top&quot;: 25 }, &quot;name&quot;: &quot;bl&quot;},
+	         				{&quot;direction&quot;: [1,1], &quot;offsetPosition&quot;: {&quot;left&quot;: 25, &quot;top&quot;: 25 }, &quot;name&quot;: &quot;br&quot;}
 	         		]
 	         	}
 		      },
@@ -104,8 +104,8 @@ var demoLanguage = {
 	         		],
 
 	         		   	&quot;terminals&quot;: [
-	               			{&quot;name&quot;: &quot;SOURCES&quot;, &quot;direction&quot;: [0,-1], &quot;offsetPosition&quot;: [100,-15]},
-	               			{&quot;name&quot;: &quot;FOLLOWUPS&quot;, &quot;direction&quot;: [0,1], &quot;offsetPosition&quot;: {left: 100, bottom: -15}}
+	               			{&quot;name&quot;: &quot;SOURCES&quot;, &quot;direction&quot;: [0,-1], &quot;offsetPosition&quot;: {&quot;left&quot;: 100, &quot;top&quot;: -15 }},
+	               			{&quot;name&quot;: &quot;FOLLOWUPS&quot;, &quot;direction&quot;: [0,1], &quot;offsetPosition&quot;: {&quot;left&quot;: 100, &quot;bottom&quot;: -15}}
 	               			]
 	         	}
 	         }</diff>
      <filename>examples/WiringEditor/demo.js</filename>
    </modified>
    <modified>
      <diff>@@ -14,26 +14,117 @@
   &lt;style&gt;
 h1 {
 	margin: 20px;
-	font-size: 14pt;
+	font-size: 18pt;
 	font-weight: bold;
 }
+
+#headbar {
+	background-image: url(../../res/logo-wireit.jpg);
+	height: 223px;
+	margin: 0;
+	padding: 0;
+}
+
+#navigation {
+	position: absolute;
+	margin: 6px 0 0 380px;
+}
+
+#navigation li {
+	margin: 0;
+	display: inline;
+	margin-right: 30px;
+}
+
+#navigation li a {
+	color: white;
+	text-decoration: none;
+	font-size: 14px;
+}
+
+#navigation li a:hover {
+	color: #cccc33;
+	text-decoration: underline;
+}
+
+
+
 #mainBox {
-background-color:#EEEEFF;
-border:1px solid #9999FF;
-margin:50px;
-padding:10px;
+	margin: 10px 50px;
+	padding: 10px;
+	position: relative;
+}
+
+#toolbar {
+	left:400px;
+	position:absolute;
+	top:31px;
 }
 
 div.inputEx-Group.WireIt-Container-Group {
 	margin-left: 135px;
 }
+
+#languageList {
+	height: 300px;
+	overflow-y: scroll;
+}
+
+#languageList div.language {
+	width: 100%;
+	font-size: 16pt;
+	cursor: pointer;
+}
+
+#languageList div.language span.languageName {
+	text-align: left;
+	font-size: 16pt;
+	color: #666666;
+}
+
+#languageList div.language span.wiringsCount {
+	text-align: right;
+	font-size: 11pt;
+	color: #AAAAAA;
+}
+
+#languageList div.language:hover {
+	background-color: white;
+}
+
+#languageList div.language a {
+	color:blue;
+	font-size:14px;
+	position:absolute;
+	right:50px;
+}
+
   &lt;/style&gt;
 &lt;/head&gt;
 
 &lt;body class='yui-skin-sam'&gt;
+
+	&lt;div id='headbar'&gt;
+
+		&lt;ul id=&quot;navigation&quot;&gt;
+
+			&lt;li&gt;&lt;a href=&quot;http://javascript.neyric.com/wireit&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;	
+			&lt;li&gt;&lt;a href=&quot;http://github.com/neyric/wireit/&quot;&gt;GitHub[Git]&lt;/a&gt;&lt;/li&gt;
+			&lt;li&gt;&lt;a href=&quot;http://neyric.lighthouseapp.com/projects/25048-wireit/tickets?q=all&quot;&gt;Issues&lt;/a&gt;&lt;/li&gt;
+			&lt;li&gt;&lt;a href=&quot;doc/index.html&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;		
+			&lt;li&gt;&lt;a href=&quot;http://javascript.neyric.com/blog/category/wireit/&quot;&gt;Blog&lt;/a&gt; 
+				  &lt;a href=&quot;http://javascript.neyric.com/blog/feed/&quot;&gt;&lt;img src=&quot;../../doc/rss.png&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/li&gt;	
+			&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/wireit/&quot;&gt;Forums&lt;/a&gt;&lt;/li&gt;
+		&lt;/ul&gt;
+
+	&lt;/div&gt;
+
 	
 	 &lt;div id='mainBox'&gt;
 			&lt;h1&gt;Language Builder&lt;/h1&gt;
+			
+			&lt;div id='toolbar'&gt;&lt;/div&gt;
+			
 			&lt;div id='formContainer'&gt;&lt;/div&gt;
 	 &lt;/div&gt;
 
@@ -44,6 +135,9 @@ div.inputEx-Group.WireIt-Container-Group {
 &lt;script type='text/javascript' src='../../lib/yui/button/button-min.js'&gt;&lt;/script&gt;
 &lt;script type='text/javascript' src='../../lib/yui/calendar/calendar-min.js'&gt;&lt;/script&gt;
 
+&lt;!-- YUI-RPC library --&gt;
+&lt;script type='text/javascript' src='../../lib/yui-rpc.js'&gt;&lt;/script&gt;
+
 &lt;!-- InputEx --&gt;
 &lt;script src='../../lib/inputex/js/inputex.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/Visus.js'  type='text/javascript'&gt;&lt;/script&gt;
@@ -51,7 +145,6 @@ div.inputEx-Group.WireIt-Container-Group {
 &lt;script src='../../lib/inputex/js/fields/StringField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/RadioField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/CombineField.js'  type='text/javascript'&gt;&lt;/script&gt;
-
 &lt;script src='../../lib/inputex/js/Group.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/Form.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/CheckBox.js'  type='text/javascript'&gt;&lt;/script&gt;
@@ -61,7 +154,6 @@ div.inputEx-Group.WireIt-Container-Group {
 &lt;script src='../../lib/inputex/js/fields/PasswordField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/Textarea.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/UrlField.js'  type='text/javascript'&gt;&lt;/script&gt;
-
 &lt;script src='../../lib/inputex/js/fields/IntegerField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/NumberField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/ListField.js'  type='text/javascript'&gt;&lt;/script&gt;
@@ -71,364 +163,17 @@ div.inputEx-Group.WireIt-Container-Group {
 &lt;script src='../../lib/inputex/js/fields/PairField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/InPlaceEdit.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/SliderField.js'  type='text/javascript'&gt;&lt;/script&gt;
-
 &lt;script src='../../lib/inputex/js/fields/TimeField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/DateField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/DatePickerField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/DateTimeField.js'  type='text/javascript'&gt;&lt;/script&gt;
-&lt;script src='../../lib/inputex/js/ext/UpperCaseField/UpperCaseField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/ext/VectorField/VectorField.js'  type='text/javascript'&gt;&lt;/script&gt;
 &lt;script src='../../lib/inputex/js/fields/TypeField.js'  type='text/javascript'&gt;&lt;/script&gt;
 
-&lt;!-- To load some demos: --&gt;
-&lt;script src='../logicGates/logicGates.js'  type='text/javascript'&gt;&lt;/script&gt;
-&lt;script src='../WiringEditor/demo.js'  type='text/javascript'&gt;&lt;/script&gt;
-
-&lt;script&gt;
-
-YAHOO.inputEx.spacerUrl = &quot;../../lib/inputex/images/space.gif&quot;;
-
-var WireIt = {};
-WireIt.Builder = {
-	
-	form: null,
-	
-	init: function() {
-		try {
-			formDef.inputParams.parentEl = 'formContainer';
-			this.form = inputEx(formDef); 
-			//this.form.setValue(demoLanguage);
-			this.form.setValue(logicGatesLang);
-		} catch(ex) {
-			console.log(ex);
-		}
-	},
-	
-	generateWiringEditor: function() {
-		var html = [
-			&quot;&lt;!DOCTYPE HTML PUBLIC \&quot;-//W3C//DTD HTML 4.01//EN\&quot; \&quot;http://www.w3.org/TR/html4/strict.dtd\&quot;&gt;&quot;,
-			&quot;&lt;html&gt;&quot;,
-			&quot;&lt;head&gt;&quot;,
-			&quot;&lt;meta http-equiv=\&quot;Content-Type\&quot; content=\&quot;text/html; charset=utf-8\&quot;/&gt;&quot;,
-			&quot;&lt;title&gt;WireIt - WiringEditor&lt;/title&gt;&quot;,
-			&quot;&quot;,
-			&quot;&lt;!-- YUI --&gt;&quot;,
-			&quot;&lt;link rel='stylesheet' type='text/css' href='../../lib/yui/reset-fonts-grids/reset-fonts-grids.css' /&gt;&quot;,
-			&quot;&lt;link rel='stylesheet' type='text/css' href='../../lib/yui/assets/skins/sam/skin.css' /&gt;&quot;,
-			&quot;&quot;,
-			&quot;&lt;!-- InputEx CSS --&gt;&quot;,
-			&quot;&lt;link type='text/css' rel='stylesheet' href='../../lib/inputex/css/inputEx.css' /&gt;&quot;,
-			&quot;&quot;,
-			&quot;&lt;!-- WireIt CSS --&gt;&quot;,
-			&quot;&lt;link rel='stylesheet' type='text/css' href='../../css/WireIt.css' /&gt;&quot;,
-			&quot;&lt;link rel='stylesheet' type='text/css' href='../../css/WireItEditor.css' /&gt;&quot;,
-			&quot;&quot;,
-			&quot;&lt;!-- YUI --&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../lib/yui/utilities/utilities.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../lib/yui/resize/resize-min.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../lib/yui/layout/layout-min.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../lib/yui/container/container-min.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../lib/yui/json/json-min.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../lib/yui/button/button-min.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&quot;,
-			&quot;&lt;!-- YUI-RPC --&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../lib/yui-rpc.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&quot;,
-			&quot;&lt;!-- InputEx with wirable options (WirableField-beta) --&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/inputex.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/Field.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/util/inputex/WirableField-beta.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/Group.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/Visus.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/StringField.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/Textarea.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/SelectField.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/EmailField.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/UrlField.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/ListField.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/CheckBox.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/ColorField.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/InPlaceEdit.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt src='../../lib/inputex/js/fields/TypeField.js'  type='text/javascript'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&quot;,
-			&quot;&lt;!-- WireIt --&gt;&quot;,
-			&quot;&lt;!--[if IE]&gt;&lt;script type='text/javascript' src='../../lib/excanvas.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&lt;![endif]--&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/WireIt.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/CanvasElement.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/Wire.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/Terminal.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/util/DD.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/util/DDResize.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/Container.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/Layer.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/util/inputex/FormContainer-beta.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/ImageContainer.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/LayerMap.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt type='text/javascript' src='../../js/WiringEditor.js'&gt;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;// InputEx needs a correct path to this image&quot;,
-			&quot;inputEx.spacerUrl = '/inputex/trunk/images/space.gif';&quot;,
-			
-			&quot;var myLanguage = &quot;+YAHOO.lang.JSON.stringify(this.form.getValue())+&quot;;&quot;,
-			
-			&quot;YAHOO.util.Event.onDOMReady( function() {&quot;,
-			&quot;	new WireIt.WiringEditor(myLanguage); &quot;,
-			&quot;});&quot;,
-			&quot;&lt;/scr&quot;+&quot;ipt&gt;&quot;,
-			&quot;&lt;/head&gt;&quot;,
-
-			&quot;&lt;body class='yui-skin-sam'&gt;&quot;,
-
-			&quot;	&lt;div id='top'&gt;&quot;,
-			&quot;		&lt;div class='logo'&gt;WiringEditor&lt;/a&gt;&lt;/div&gt;&quot;,
-			&quot;		&lt;div id='toolbar'&gt;&lt;/div&gt;&quot;,
-			&quot;		&lt;div class='topright'&gt;&quot;,
-			&quot;			&lt;span&gt;Hello there !&lt;/span&gt; | &quot;,
-			&quot;			&lt;a href='../..'&gt;back to WireIt&lt;/a&gt;&quot;,
-			&quot;		&lt;/div&gt;&quot;,
-			&quot;	&lt;/div&gt;&quot;,
-			&quot;	&lt;div id='left'&gt;&quot;,
-			&quot;	&lt;/div&gt;&quot;,
-			&quot;	&lt;div id='right'&gt;&quot;,
-			&quot;		&lt;h2&gt;Properties&lt;/h2&gt;&quot;,
-			&quot;		&lt;div id='propertiesForm'&gt;&lt;/div&gt;&quot;,
-			&quot;		&lt;h2&gt;Minimap&lt;/h2&gt;&quot;,
-			&quot;		&lt;div id='layerMap'&gt;&lt;/div&gt;&quot;,
-			&quot;	&lt;/div&gt;&quot;,
-
-			&quot;	&lt;div id='center'&gt;&quot;,
-			&quot;	&lt;/div&gt;&quot;,
-
-			&quot;	&lt;div id='helpPanel'&gt;&quot;,
-			&quot;	    &lt;div class='hd'&gt;Some help here&lt;/div&gt;&quot;,
-			&quot;	    &lt;div class='bd'&gt;&quot;,
-			&quot;	        You asked for some help ?&quot;,
-			&quot;	Hello !&quot;,
-			&quot;	    &lt;/div&gt;&quot;,
-			&quot;	&lt;/div&gt;&quot;,
-			&quot;&lt;/body&gt;&quot;,
-			&quot;&lt;/html&gt;&quot;
-		];
-
-	   // Center popup
-	   var Posx = screen.width /2;
-	   var Posy = screen.height /2;
-	   Posx -= (this.windowWidth/2);
-	   Posy -= (this.windowHeight/2);
-
-	   var formPage = window.open(&quot;&quot;,'InputExForm','left='+Posx+',top='+Posy+
-																									 ',width=850,height=600,toolbar=no,scrollbars,resizable=yes');
-
-	   formPage.document.write(html.join(&quot;\n&quot;));
-	   formPage.document.close();
-	}
-	
-};
-YAHOO.util.Event.onDOMReady(WireIt.Builder.init, WireIt.Builder, true);
-
+&lt;!-- WireIt Builder --&gt;
+&lt;script src='../../js/wireit.js'  type='text/javascript'&gt;&lt;/script&gt;
+&lt;script&gt;YAHOO.inputEx.spacerUrl = &quot;../../lib/inputex/images/space.gif&quot;;&lt;/script&gt;
+&lt;script src='builder.js'  type='text/javascript'&gt;&lt;/script&gt;
 
-var formDef = {
-	&quot;type&quot;: &quot;form&quot;,
-	&quot;inputParams&quot;: {
-		
-			&quot;buttons&quot;: [
-				{&quot;type&quot;:&quot;button&quot;, &quot;value&quot;: &quot;Create !&quot;, &quot;onClick&quot;: (function() { WireIt.Builder.generateWiringEditor(); }) }
-			],
-			
-			&quot;fields&quot; : [
-				{
-					&quot;type&quot;: &quot;string&quot;,
-					&quot;inputParams&quot;: {
-						&quot;label&quot;: &quot;Language Name&quot;,
-						&quot;name&quot;: &quot;languageName&quot;
-					}
-				},
-				{
-					&quot;type&quot;: &quot;string&quot;,
-					&quot;inputParams&quot;: {
-						&quot;label&quot;: &quot;SMD url&quot;,
-						&quot;name&quot;: &quot;smdUrl&quot;,
-						&quot;value&quot;: &quot;../../backend/php/WiringEditor.smd&quot;
-					}
-				},
-				{
-					&quot;type&quot;: &quot;list&quot;,
-					&quot;inputParams&quot;: {
-						&quot;name&quot;: &quot;propertiesFields&quot;,
-						&quot;label&quot;: &quot;Properties&quot;,
-						&quot;elementType&quot;: {
-							&quot;type&quot;: &quot;type&quot;,
-							&quot;inputParams&quot;: {
-							}
-						}
-					}
-				},
-				{
-					&quot;type&quot; : &quot;list&quot;,
-					&quot;inputParams&quot; : {
-						&quot;label&quot; : &quot;Modules&quot;,
-						&quot;name&quot; : &quot;modules&quot;,
-						&quot;listAddLabel&quot;: &quot;Add a new module&quot;,
-						&quot;elementType&quot; : {
-							&quot;type&quot; : &quot;group&quot;,
-							&quot;inputParams&quot; : {
-								&quot;legend&quot; : &quot;&quot;,
-								&quot;fields&quot; : [
-									{
-										&quot;type&quot; : &quot;string&quot;,
-										&quot;inputParams&quot; : {
-											&quot;label&quot; : &quot;Name&quot;,
-											&quot;name&quot; : &quot;name&quot;,
-											&quot;typeInvite&quot; : &quot;name&quot;,
-											&quot;value&quot; : &quot;&quot;
-										}
-									},
-									{
-										&quot;type&quot; : &quot;group&quot;,
-										&quot;inputParams&quot; : {
-											&quot;className&quot;: &quot;inputEx-Group WireIt-Container-Group&quot;,
-											&quot;legend&quot; : &quot;Container options&quot;,
-								   		&quot;collapsible&quot;: true,
-											&quot;collapsed&quot;: true,
-											&quot;name&quot;: &quot;container&quot;,
-											&quot;fields&quot; : [
-												{
-													&quot;type&quot; : &quot;select&quot;,
-													&quot;inputParams&quot; : {
-														&quot;label&quot; : &quot;Type&quot;,
-														&quot;name&quot; : &quot;xtype&quot;,
-														&quot;selectValues&quot; : [
-															&quot;WireIt.Container&quot;,
-															&quot;WireIt.ImageContainer&quot;,
-															&quot;WireIt.FormContainer&quot;
-														],
-														&quot;selectOptions&quot; : [
-
-														],
-														&quot;value&quot; : &quot;WireIt.Container&quot;
-													}
-												},
-												{
-													&quot;type&quot; : &quot;string&quot;,
-													&quot;inputParams&quot; : {
-														&quot;label&quot; : &quot;Image&quot;,
-														&quot;name&quot; : &quot;image&quot;,
-														&quot;value&quot; : &quot;&quot;
-													}
-												},
-												{
-													&quot;type&quot; : &quot;url&quot;,
-													&quot;inputParams&quot; : {
-														&quot;label&quot; : &quot;Icon&quot;,
-														&quot;name&quot; : &quot;icon&quot;
-													}
-												},
-												{
-													&quot;type&quot; : &quot;list&quot;,
-													&quot;inputParams&quot; : {
-														&quot;label&quot; : &quot;Fields&quot;,
-														&quot;name&quot; : &quot;fields&quot;,
-														&quot;elementType&quot;: {
-															&quot;type&quot;: &quot;type&quot;,
-															&quot;inputParams&quot;: {
-															}
-														}
-													}
-												},
-												{
-													&quot;type&quot; : &quot;list&quot;,
-													&quot;inputParams&quot; : {
-														&quot;label&quot; : &quot;Terminals&quot;,
-														&quot;name&quot; : &quot;terminals&quot;,
-														&quot;elementType&quot; : {
-															&quot;type&quot; : &quot;group&quot;,
-															&quot;inputParams&quot; : {
-																&quot;legend&quot; : &quot;Terminal&quot;,
-														   	&quot;collapsible&quot;: true,
-																&quot;fields&quot; : [
-																	{
-																		&quot;type&quot; : &quot;string&quot;,
-																		&quot;inputParams&quot; : {
-																			&quot;label&quot; : &quot;Name&quot;,
-																			&quot;name&quot; : &quot;name&quot;
-																		}
-																	},
-																	{
-																		&quot;type&quot; : &quot;vector&quot;,
-																		&quot;inputParams&quot; : {
-																			&quot;label&quot; : &quot;Direction&quot;,
-																			&quot;name&quot; : &quot;direction&quot;
-																		}
-																	},
-																	{
-																		&quot;type&quot; : &quot;vector&quot;,
-																		&quot;inputParams&quot; : {
-																			&quot;label&quot; : &quot;Position&quot;,
-																			&quot;name&quot; : &quot;offsetPosition&quot;
-																		}
-																	},
-																	{
-																		&quot;type&quot;: &quot;group&quot;,
-																		&quot;inputParams&quot;: {
-																			&quot;name&quot;: &quot;ddConfig&quot;,
-																			&quot;fields&quot;: [
-																				{
-																					&quot;type&quot;: &quot;string&quot;,
-																					&quot;inputParams&quot;: {
-																						&quot;name&quot;: &quot;type&quot;,
-																						&quot;label&quot;: &quot;Terminal type&quot;
-																					}
-																				},
-																				{
-																					&quot;type&quot;: &quot;list&quot;,
-																					&quot;inputParams&quot;: {
-																						&quot;name&quot;: &quot;allowedTypes&quot;,
-																						&quot;label&quot;: &quot;Allowed types&quot;,
-																						&quot;elementType&quot;: {
-																							&quot;type&quot;:&quot;string&quot;,
-																							&quot;inputParams&quot;:{}
-																						}
-																					}
-																				},
-																				{
-																					&quot;type&quot;: &quot;integer&quot;,
-																					&quot;inputParams&quot;: {
-																						&quot;name&quot;: &quot;nMaxWires&quot;,
-																						&quot;label&quot;: &quot;Maximum wire number&quot;
-																					}
-																				}
-																			]
-																		}
-																	}
-																],
-																&quot;value&quot; : {
-																	&quot;name&quot; : &quot;&quot;,
-																	&quot;direction&quot; : [&quot;&quot;,&quot;&quot;],
-																	&quot;offsetPosition&quot; : [&quot;&quot;,&quot;&quot;]
-																}
-															}
-														},
-														&quot;value&quot; : []
-													}
-												}
-											],
-											&quot;value&quot; : {
-												&quot;xtype&quot; : &quot;WireIt.Container&quot;,
-												&quot;image&quot; : &quot;&quot;,
-												&quot;terminals&quot; : []
-											}
-										}
-									}
-								]
-							}
-						},
-						&quot;value&quot; : []
-					}
-				}
-			]
-		}
-};
-
-&lt;/script&gt;
 &lt;/body&gt;
 &lt;/html&gt;
\ No newline at end of file</diff>
      <filename>examples/builder/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -7,8 +7,8 @@ var jsBox = {
 	   languageName: &quot;jsBox&quot;,
 		smdUrl: '../../backend/php/WiringEditor.smd',
 		propertiesFields: [
-			{&quot;type&quot;: &quot;string&quot;, inputParams: {&quot;name&quot;: &quot;name&quot;, label: &quot;Title&quot;, wirable: false, typeInvite: &quot;Enter a title&quot; } },
-			{&quot;type&quot;: &quot;text&quot;, inputParams: {&quot;name&quot;: &quot;description&quot;, label: &quot;Description&quot;, wirable: false, cols: 30} }
+			{&quot;type&quot;: &quot;string&quot;, inputParams: {&quot;name&quot;: &quot;name&quot;, label: &quot;Title&quot;, typeInvite: &quot;Enter a title&quot; } },
+			{&quot;type&quot;: &quot;text&quot;, inputParams: {&quot;name&quot;: &quot;description&quot;, label: &quot;Description&quot;, cols: 30} }
 		],
 		modules: [
 		   {
@@ -59,7 +59,7 @@ var jsBox = {
 		   			{&quot;type&quot;: &quot;string&quot;, &quot;inputParams&quot;: {&quot;label&quot;: &quot;name&quot;, &quot;name&quot;: &quot;name&quot;, &quot;wirable&quot;: false}}
 		   		],
    		   	&quot;terminals&quot;: [
-	      		   {&quot;name&quot;: &quot;in&quot;, &quot;direction&quot;: [0,-1], &quot;offsetPosition&quot;: [82,-15], &quot;ddConfig&quot;: {
+	      		   {&quot;name&quot;: &quot;in&quot;, &quot;direction&quot;: [0,-1], &quot;offsetPosition&quot;: {&quot;left&quot;: 82, &quot;top&quot;: -15 }, &quot;ddConfig&quot;: {
                       &quot;type&quot;: &quot;input&quot;,
                       &quot;allowedTypes&quot;: [&quot;output&quot;]
                    },
@@ -234,7 +234,7 @@ YAHOO.extend(jsBox.Container, WireIt.Container, {
       }
       
       // Input terminals :
-   	var sParamList = (this.textarea.value).match(/^[ ]*function[ ]*\((.*)\)[ ]*{/)[1];
+   	var sParamList = (this.textarea.value).match((/^[ ]*function[ ]*\((.*)\)[ ]*\{/))[1];
       var params = sParamList.split(',');
       var nParams = (sParamList==&quot;&quot;) ? 0 : params.length;
       </diff>
      <filename>examples/jsBox/jsBox.js</filename>
    </modified>
    <modified>
      <diff>@@ -19,9 +19,9 @@ var logicGatesLang = {
 						&quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 						&quot;image&quot;: &quot;../logicGates/images/gate_and.png&quot;,
 	   				&quot;terminals&quot;: [
-	   					{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,2],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
-	   					{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,37],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}},
-	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [103,20],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+	   					{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 2 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
+	   					{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 37 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}},
+	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 103, &quot;top&quot;: 20 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 	   				]
 					}
 
@@ -34,9 +34,9 @@ var logicGatesLang = {
 				   		&quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 				   		&quot;image&quot;: &quot;../logicGates/images/gate_or.png&quot;,
 							&quot;terminals&quot;: [
-								{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,2],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
-								{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,37],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}},
-								{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [103,20],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+								{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 2 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
+								{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 37 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}},
+								{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 103, &quot;top&quot;: 20 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 							]
 					}
 				},
@@ -47,8 +47,8 @@ var logicGatesLang = {
 						&quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 					   &quot;image&quot;: &quot;../logicGates/images/gate_not.png&quot;,
 						&quot;terminals&quot;: [
-							{&quot;name&quot;: &quot;_INPUT&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-12,23],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
-							{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [117,23],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+							{&quot;name&quot;: &quot;_INPUT&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -12, &quot;top&quot;: 23 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
+							{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 117, &quot;top&quot;: 23 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 						]
 					}
 				},
@@ -59,9 +59,9 @@ var logicGatesLang = {
 					   &quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 					   &quot;image&quot;: &quot;../logicGates/images/gate_nand.png&quot;,
 						&quot;terminals&quot;: [
-							{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,2],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
-							{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,37],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
-							{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [103,20], &quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+							{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 2 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
+							{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 37 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
+							{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 103, &quot;top&quot;: 20 }, &quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 						]
 					}
 				},
@@ -72,9 +72,9 @@ var logicGatesLang = {
 				   	&quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 				   	&quot;image&quot;: &quot;../logicGates/images/gate_xor.png&quot;,
 						&quot;terminals&quot;: [
-							{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,2],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
-							{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: [-3,37],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
-							{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [103,20],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+							{&quot;name&quot;: &quot;_INPUT1&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 2 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
+							{&quot;name&quot;: &quot;_INPUT2&quot;, &quot;direction&quot;: [-1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: -3, &quot;top&quot;: 37 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;input&quot;,&quot;allowedTypes&quot;: [&quot;output&quot;]}, &quot;nMaxWires&quot;: 1 },
+							{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 103, &quot;top&quot;: 20 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 						]
 					}
 				},
@@ -85,7 +85,7 @@ var logicGatesLang = {
 						&quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 						&quot;image&quot;: &quot;../logicGates/images/A.png&quot;,
 	   				&quot;terminals&quot;: [
-	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [94,18],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 94, &quot;top&quot;: 18 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 	   				]
 					}
 				},
@@ -96,7 +96,7 @@ var logicGatesLang = {
 						&quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 						&quot;image&quot;: &quot;../logicGates/images/B.png&quot;,
 	   				&quot;terminals&quot;: [
-	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [94,18],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 94, &quot;top&quot;: 18 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 	   				]
 					}
 				},
@@ -107,7 +107,7 @@ var logicGatesLang = {
 						&quot;xtype&quot;:&quot;WireIt.ImageContainer&quot;, 
 						&quot;image&quot;: &quot;../logicGates/images/C.png&quot;,
 	   				&quot;terminals&quot;: [
-	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: [94,18],&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
+	   					{&quot;name&quot;: &quot;_OUTPUT&quot;, &quot;direction&quot;: [1,0], &quot;offsetPosition&quot;: {&quot;left&quot;: 94, &quot;top&quot;: 18 },&quot;ddConfig&quot;: {&quot;type&quot;: &quot;output&quot;,&quot;allowedTypes&quot;: [&quot;input&quot;]}}
 	   				]
 					}
 				}</diff>
      <filename>examples/logicGates/logicGates.js</filename>
    </modified>
    <modified>
      <diff>@@ -574,7 +574,7 @@ WireIt.Terminal.prototype = {
          // New version: {top: 32, left: 23}
          else if( lang.isObject(pos) ) {
             for(var key in pos) {
-               if(pos.hasOwnProperty(key)){
+               if(pos.hasOwnProperty(key) &amp;&amp; pos[key] != &quot;&quot;){
                   this.el.style[key] = pos[key]+&quot;px&quot;;
                }
             }</diff>
      <filename>js/Terminal.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2abf4a49185fea03190abdc0db055240420a8555</id>
    </parent>
  </parents>
  <author>
    <name>Eric Abouaf</name>
    <email>eric.abouaf@gmail.com</email>
  </author>
  <url>http://github.com/LeifW/wireit/commit/300703d5f81f58ad039d6e2851de163859924275</url>
  <id>300703d5f81f58ad039d6e2851de163859924275</id>
  <committed-date>2009-03-03T10:57:26-08:00</committed-date>
  <authored-date>2009-03-03T10:57:26-08:00</authored-date>
  <message>WiringEditor Builder: now comes with a backend !</message>
  <tree>51c263f228b5f4eb04772a9087ffa483af59c9a8</tree>
  <committer>
    <name>Eric Abouaf</name>
    <email>eric.abouaf@gmail.com</email>
  </committer>
</commit>
