OSDN Git Service

Version 0.6.59, js/_old was removed.
authoritozyun <itozyun@user.sourceforge.jp>
Thu, 17 Jul 2014 11:36:16 +0000 (20:36 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Thu, 17 Jul 2014 11:36:16 +0000 (20:36 +0900)
0.6.x/js/_old/Attr.js [deleted file]
0.6.x/js/_old/AttrNo.js [deleted file]
0.6.x/js/_old/BasicLayoutManager.js [deleted file]
0.6.x/js/_old/Dirty.js [deleted file]
0.6.x/js/_old/LayoutBox.js [deleted file]
0.6.x/js/_old/Node.js [deleted file]
0.6.x/js/_old/NodeStyle.js [deleted file]
0.6.x/js/_old/Option.js [deleted file]
0.6.x/js/_old/Type.js [deleted file]
0.6.x/js/_old/xdoc.js [deleted file]

diff --git a/0.6.x/js/_old/Attr.js b/0.6.x/js/_old/Attr.js
deleted file mode 100644 (file)
index 8c48645..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-X.Css.Attr = {\r
-       borderWidth       : [ X.Css.Dirty.REFLOW,  0, X.Css.Type.QUARTET | X.Css.Type.LENGTH      ], // em [ top, right, bottom, left ]\r
-       borderColor       : [ X.Css.Dirty.PAINT,   4, X.Css.Type.QUARTET | X.Css.Type.DEF_COLOR   ], // color [ top, right, bottom, left ]\r
-       borderStyle       : [ X.Css.Dirty.PAINT,   8, X.Css.Type.QUARTET | X.Css.Type.LIST, X.Css.Option.BORDER_STYLE ], // string [ top, right, bottom, left ]\r
-       cornerRadius      : [ X.Css.Dirty.PAINT,  12, X.Css.Type.QUARTET | X.Css.Type.LENGTH | X.Css.Type.PERCENT ], // em, px [ top, right, bottom, left ]\r
-       bgColor           : [ X.Css.Dirty.PAINT,  16, X.Css.Type.COLOR     ], // color\r
-       bgAlpha           : [ X.Css.Dirty.PAINT,  17, X.Css.Type.U_DECIMAL ], // 0 - 1\r
-       bgImgUrl          : [ X.Css.Dirty.PAINT,  18, X.Css.Type.URL       ], // url\r
-       bgImgRepeatX      : [ X.Css.Dirty.PAINT,  19, X.Css.Type.BOOLEAN   ], // true / false\r
-       bgImgRepeatY      : [ X.Css.Dirty.PAINT,  20, X.Css.Type.BOOLEAN   ], // true / false\r
-       bgImgPositionX    : [ X.Css.Dirty.PAINT,  21, X.Css.Type.LENGTH | X.Css.Type.PERCENT | X.Css.Type.LIST, X.Css.Option.POSITION_X ], // em %, px, string\r
-       bgImgPositionY    : [ X.Css.Dirty.PAINT,  22, X.Css.Type.LENGTH | X.Css.Type.PERCENT | X.Css.Type.LIST, X.Css.Option.POSITION_Y ], // em %, px, string\r
-       shadowColor       : [ X.Css.Dirty.PAINT,  23, X.Css.Type.COLOR     ], // color\r
-       shadowAlpha       : [ X.Css.Dirty.PAINT,  24, X.Css.Type.U_DECIMAL ], // 0 - 1\r
-       shadowOffsetX     : [ X.Css.Dirty.PAINT,  25, X.Css.Type.LENGTH    ], // em\r
-       shadowOffsetY     : [ X.Css.Dirty.PAINT,  26, X.Css.Type.LENGTH    ], // em\r
-       shadowBlur        : [ X.Css.Dirty.PAINT,  27, X.Css.Type.LENGTH    ], // em\r
-       shadowSpread      : [ X.Css.Dirty.PAINT,  28, X.Css.Type.LENGTH    ], // em\r
-       shadowInset       : [ X.Css.Dirty.PAINT,  29, X.Css.Type.BOOLEAN   ], // true / false\r
-       \r
-       color             : [ X.Css.Dirty.PAINT,  30, X.Css.Type.COLOR     ], // color\r
-       fontFamily        : [ X.Css.Dirty.FONT,   31, X.Css.Dirty.FONT_NAME ], // string\r
-       fontSize          : [ X.Css.Dirty.FONT,   32, X.Css.Type.LENGTH | X.Css.Type.PERCENT ], // em, %\r
-       bold              : [ X.Css.Dirty.FONT,   33, X.Css.Type.BOOLEAN   ], // true / false\r
-       italic            : [ X.Css.Dirty.FONT,   34, X.Css.Type.BOOLEAN   ], // true / false\r
-       lineHeight        : [ X.Css.Dirty.FONT,   35, X.Css.Type.LENGTH | X.Css.Type.PERCENT | X.Css.Type.NUMERICAL ], // em, %, \r
-       letterSpacing     : [ X.Css.Dirty.FONT,   36, X.Css.Type.LENGTH    ], // em\r
-       wordSpacing       : [ X.Css.Dirty.FONT,   37, X.Css.Type.LENGTH    ],\r
-       align             : [ X.Css.Dirty.FONT,   38, X.Css.Type.LIST, X.Css.Type.ALIGN           ],\r
-       decoration        : [ X.Css.Dirty.PAINT,  39, X.Css.Type.LIST, X.Css.Type.TEXT_DECORATION ],\r
-       transform         : [ X.Css.Dirty.FONT,   40, X.Css.Type.LIST, X.Css.Type.TEXT_TRANSFORM  ],\r
-       textShadowColor   : [ X.Css.Dirty.PAINT,  41, X.Css.Type.COLOR     ],\r
-       textShadowOffsetX : [ X.Css.Dirty.PAINT,  42, X.Css.Type.LENGTH    ],\r
-       textShadowOffsetY : [ X.Css.Dirty.PAINT,  43, X.Css.Type.LENGTH    ],\r
-       shadowBlur        : [ X.Css.Dirty.PAINT,  44, X.Css.Type.LENGTH    ],\r
-       \r
-       width             : [ X.Css.Dirty.REFLOW, 45, X.Css.Type.LENGTH | X.Css.Type.PERCENT, X.Css.Option.WIDTH_HEIGHT ],\r
-       minWidth          : [ X.Css.Dirty.REFLOW, 46, X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       maxWidth          : [ X.Css.Dirty.REFLOW, 47, X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       height            : [ X.Css.Dirty.REFLOW, 48, X.Css.Type.LENGTH | X.Css.Type.PERCENT, X.Css.Option.WIDTH_HEIGHT ],\r
-       minHeight         : [ X.Css.Dirty.REFLOW, 49, X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       maxHeight         : [ X.Css.Dirty.REFLOW, 50, X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       padding           : [ X.Css.Dirty.REFLOW, 51, X.Css.Type.QUARTET | X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       margin            : [ X.Css.Dirty.REFLOW, 55, X.Css.Type.QUARTET | X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       sizing            : [ X.Css.Dirty.REFLOW, 59, X.Css.Type.LIST, X.Css.Option.BOX_SIZING ],\r
-       pageBox           : [ X.Css.Dirty.REFLOW, 60, X.Css.Type.BOOLEAN   ], // true / false\r
-       left              : [ X.Css.Dirty.REFLOW, 61, X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       top               : [ X.Css.Dirty.REFLOW, 62, X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       bottom            : [ X.Css.Dirty.REFLOW, 63, X.Css.Type.LENGTH | X.Css.Type.PERCENT ],\r
-       right             : [ X.Css.Dirty.REFLOW, 64, X.Css.Type.LENGTH | X.Css.Type.PERCENT ]\r
-};\r
-\r
-X.Css.Attr.x = X.Css.Attr.left;\r
-X.Css.Attr.y = X.Css.Attr.top;
\ No newline at end of file
diff --git a/0.6.x/js/_old/AttrNo.js b/0.6.x/js/_old/AttrNo.js
deleted file mode 100644 (file)
index a7a4d1a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-X.Css.AttrNo = ( function(){\r
-       var ret = {},\r
-               obj = X.Css.Attr,\r
-               p;\r
-       for( p in obj ){\r
-               ret[ p ] = obj[ p ][ 1 ];\r
-       };\r
-       return ret;\r
-})();\r
diff --git a/0.6.x/js/_old/BasicLayoutManager.js b/0.6.x/js/_old/BasicLayoutManager.js
deleted file mode 100644 (file)
index 460f8d3..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-       /**\r
-        * 再計算と再描画\r
-        * redraw 再描画はパラメータ変更後に setTimeout で\r
-        * reflow 再計算は値が get された場合 invalidate が サイズだったら\r
-        * または再描画前に invalidate がサイズなフラグが足っていたら \r
-        */\r
-       \r
-var BasicLayoutManager = X.Class.create(\r
-       'BasicLayoutManager',\r
-       X.Class.POOL_OBJECT,\r
-       {\r
-               Constructor : function(){\r
-                       \r
-               },\r
-               redraw : function( nodeData ){\r
-                       var root = nodeData.__root;\r
-                       root.dirty === X.Css.Dirty.REFLOW && this.reflow( root );\r
-                       \r
-                       // draw\r
-               },\r
-               reflow : function( nodeData, allowW, allowH ){\r
-                       nodeData.preMesure( allowW, allowH );\r
-                       \r
-                       var children = nodeData.children,                               \r
-                               contentW = nodeData.contentWidth,\r
-                               contentH = nodeData.contentHeight,\r
-                               autoW    = contentW === AUTO,\r
-                               autoH    = contentH === AUTO,\r
-                               auto, calc, childW, childH, child, i, style, data,\r
-                               t, r, b, l;                     \r
-                       if( children ){\r
-                               auto     = autoW && autoH;\r
-                               childW   = 0;\r
-                               childH   = 0;\r
-                               calc     = BasicLayoutManager.calcValue;                        \r
-                               for( i = children.length; i; ){\r
-                                       child = children[ --i ];\r
-                                       style = child.__style;\r
-                                       if( style ){\r
-                                               data = style.data;\r
-                                               t = calc( data[ X.Css.AttrNo.top ],    contentH );\r
-                                               r = calc( data[ X.Css.AttrNo.right ],  contentW );\r
-                                               b = calc( data[ X.Css.AttrNo.bottom ], contentH );\r
-                                               l = calc( data[ X.Css.AttrNo.left ],   contentW );\r
-                                       } else {\r
-                                               t = r = b = l = 0;\r
-                                       };\r
-                                       if( child instanceof LayoutBoxPrivate ){\r
-                                               child.layoutManager.reflow( child, contentW - r - l, contentH - t - b );\r
-                                       } else {\r
-                                               child.preMesure( contentW - r - l, contentH - t - b );\r
-                                               child.mesure();\r
-                                               child.postMesure();\r
-                                       };\r
-                                       if( !auto ) continue;\r
-                                       if( autoW && childW < child.boxWidth  + r + l ) childW = child.boxWidth  + r + l;\r
-                                       if( autoH && childH < child.boxHeight + t + b ) childH = child.boxHeight + t + b;                                               \r
-                               };\r
-                               if( autoW )     nodeData.contentWidth  = childW;\r
-                               if( autoH ) nodeData.contentHeight = childH;\r
-                       };\r
-                       ( autoW || autoH ) && nodeData.postMesure();\r
-                       \r
-                       delete nodeData.dirty;\r
-               }\r
-       }\r
-);\r
-BasicLayoutManager.finalValue = function( styleValue, styleMin, styleMax, srcValue ){\r
-       var calc = BasicLayoutManager.calcValue,\r
-               v    = calc( styleValue, srcValue ),\r
-               min  = calc( styleMin,   srcValue ),\r
-               max  = calc( styleMax,   srcValue );\r
-       if( v < min ) return min;\r
-       if( max < v ) return max;\r
-       return v;\r
-};\r
-BasicLayoutManager.calcValue = function( styleValue, srcValue ){\r
-       switch( styleValue ){\r
-               case 0 :\r
-                       return 0;\r
-               case AUTO :\r
-                       return AUTO;\r
-               case FULL :\r
-                       return srcValue; // 100%\r
-               default :\r
-                       if( 1 <= styleValue ) return styleValue; // legth\r
-                       if( -1 < styleValue ) return FLOOR( srcValue * styleValue ); // %\r
-       };\r
-       return styleValue; // - length\r
-};\r
-BasicLayoutManager.advancedCalcValue = function( styleValue, srcValue ){\r
-       switch( styleValue ){\r
-               case 0 :\r
-                       return 0;\r
-               case AUTO :\r
-                       return srcValue;\r
-               case FULL :\r
-                       throw new Error( 'advancedCalcValue FULL' ); \r
-                       // return ; // 100%\r
-               default :\r
-                       if( 1 <= styleValue ) return styleValue; \r
-                       if( -1 < styleValue ) return FLOOR( ( srcValue / ( 1 - styleValue ) ) * styleValue ); // %\r
-       };\r
-       return styleValue; // - length\r
-};
\ No newline at end of file
diff --git a/0.6.x/js/_old/Dirty.js b/0.6.x/js/_old/Dirty.js
deleted file mode 100644 (file)
index 9251070..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-X.Css.Dirty = {\r
-       CLEAN             : 0,\r
-       PAINT             : 1, // 再描画のみ必要\r
-       REFLOW            : 2, // レイアウトの再計算が必要\r
-       FONT              : 3, // フォントサイズが変更された\r
-       CONTENT_UPDATE    : 4 // コンテンツが変更された\r
-}
\ No newline at end of file
diff --git a/0.6.x/js/_old/LayoutBox.js b/0.6.x/js/_old/LayoutBox.js
deleted file mode 100644 (file)
index d7ba76b..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-var _LayoutBox = _Node.inherits(\r
-       '_LayoutBox',\r
-       X.Class.POOL_OBJECT | X.Class.SUPER_ACCESS,\r
-       {\r
-               Constructor : function( layoutManager, _root, _parent ){\r
-                       this.layoutManager = layoutManager;\r
-                       this._root         = _root;\r
-                       this.paintList     = [];\r
-                       if( _parent ) this._parent = _parent;\r
-               },\r
-               mesure : function(){\r
-                       this.layoutManager.reflow( this );\r
-               },\r
-               paintReserve : function( nodeData ){\r
-                       var list = this.paintList;\r
-                       if( list.indexOf( nodeData ) === -1 ) list[ list.length ] = nodeData;\r
-               },\r
-               paintRelease : function( nodeData ){\r
-                       var list = this.paintList,\r
-                               i    = list.indexOf( nodeData );\r
-                       i === -1 && list.splice( i, 1 );\r
-               },\r
-               paint : function(){\r
-                       var list = this.paintList, i = list.length;\r
-                       for( ; i; ){\r
-                               list[ --i ].paint();\r
-                       };\r
-               }\r
-       }\r
-);\r
-\r
-var LayoutBox = Node.inherits(\r
-       'LayoutBox',\r
-       X.Class.POOL_OBJECT,\r
-       _LayoutBox,\r
-       {\r
-               Constructor : function( layoutManager, root, parent ){\r
-                       LayoutBox.newPrivateData( this, layoutManager, X.Class._getPrivate( root ), parent ? X.Class._getPrivate( parent ) : undefined );\r
-               },\r
-               layoutManager : function( v ){\r
-                       \r
-               },\r
-               createLayoutBox : function(){\r
-                       \r
-               },\r
-               createContentBox : function(){\r
-                       \r
-               }\r
-       }\r
-);
\ No newline at end of file
diff --git a/0.6.x/js/_old/Node.js b/0.6.x/js/_old/Node.js
deleted file mode 100644 (file)
index 40e713c..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-var _Node = X.Class.create(\r
-       '_Node',\r
-       X.Class.PRIVATE_DATA | X.Class.POOL_OBJECT,\r
-       {\r
-               elmWrap           : null,\r
-               elmExtend         : null,\r
-               textNode          : null,\r
-               boxX              : 0,\r
-               boxY              : 0,\r
-               boxWidth          : 0,\r
-               boxHeight         : 0,\r
-               contentL          : 0,\r
-               contentT          : 0,\r
-               contentR          : 0,\r
-               contentB          : 0,\r
-               boxSizingOffsetLR : 0,\r
-               boxSizingOffsetTB : 0,          \r
-               contentWidth      : 0,\r
-               minContentWidth   : 0,\r
-               maxContentWidth   : AUTO,\r
-               lastContentWidth  : -1,\r
-               contentHeight     : 0,\r
-               minContentHeight  : 0,\r
-               maxContentHeight  : AUTO,\r
-               Constructor   : function( __root, __parent ){\r
-                       this.__root   = __root;\r
-                       if( __parent ) this.__parent = __parent;\r
-               },\r
-               style : function( v ){\r
-                       if( v instanceof NodeStyle ){\r
-                               if( v !== this._style ){\r
-                                       this.__style && this.__style.unRegister( this );\r
-                                       this._style = v;\r
-                                       this.__style = X.Class._getPrivate( v );                                        \r
-                                       this.__style.register( this );                                          \r
-                               };\r
-                               return this.User;\r
-                       } else\r
-                       if( v === null ){\r
-                               this.__style && this.__style.unRegister( this );\r
-                               delete this._style;\r
-                               delete this.__style;\r
-                               return this.User;\r
-                       };\r
-                       return this._style;\r
-               },\r
-               content : function( v ){\r
-                       if( Type.isString( v ) === true ){\r
-                               if( !this.textNode || ( this.textNode && this.textNode.data !== v ) ){\r
-                                       this._content = v;\r
-                                       this.updateContent = true;\r
-                               };\r
-                               return this.User;\r
-                       } else\r
-                       if( v === null ){\r
-                               if( this._content !== v && this.textNode ){\r
-                                       this._content = v;\r
-                                       this.updateContent = true;\r
-                               };\r
-                               return this.User;\r
-                       };\r
-                       if( this._content ) return this._content;\r
-                       if( this._content === null ) return null;\r
-                       if( this.textNode ) return this.textNode.data;\r
-                       return null;\r
-               },\r
-               /**\r
-                * 要素の追加・削除\r
-                * 1. ペイントがある // 予約のみ\r
-                * 2. コンテンツがある // 予約のみ *\r
-                * 3. コンテンツを削除 // 予約のみ\r
-                * 4. 要素を削除 // 予約のみ\r
-                * \r
-                * コンテンツの再計算\r
-                * 0. 要素追加して css セット\r
-                * 1. コンテンツの変更\r
-                * 2. font 指定の変更\r
-                * 3. contentWidth の変更 (コンテンツの高さの再計算) 前回の contentWidth の保持\r
-                * \r
-                * contentSize, scrollSize の決定\r
-                */\r
-               musure : function( dirty ){\r
-                       var content = this._content,\r
-                               root    = this.__root,\r
-                               style   = this.__style,\r
-                               w       = this.contentWidth,\r
-                               h       = this.contentHeight;\r
-                       switch( this.updateContent === true ? X.Css.Dirty.CONTENT : dirty ){\r
-                               case X.Css.Dirty.CONTENT : // コンテンツが変更された\r
-                                       this.paint( 0 );\r
-                                       this.lastContentWidth = -1;\r
-                               case X.Css.Dirty.FONT   : // フォントサイズが変更された\r
-                               case X.Css.Dirty.REFLOW : // レイアウトの再計算が必要\r
-                                       /* http://web-designs.seesaa.net/article/188400668.html\r
-                                        * min-width の値が max-width の値より大きい場合は、max-width の値は min-width の値に設定される。\r
-                                        * \r
-                                        * テキストノードがあり\r
-                                        * 1. contentWidth === AUTO\r
-                                        *     style を更新して contentWidth の決定\r
-                                        *     min or max に引っかかったら style 更新\r
-                                        *     contentHeight === AUTO の場合\r
-                                        *     textHeight の決定\r
-                                        *     contentHeight !== AUTO の場合 scrollHeight のみ更新\r
-                                        * 2. contentHeight === AUTO かつ \r
-                                        *     コンテンツの高さの再取得が必要( contentWidth が最終計測時の contentWidth と一致 かつ フォント・コンテンツに変更無し の場合再取得不要)\r
-                                        *      style を更新して contentHeight の決定\r
-                                        *     必要でない\r
-                                        * 3. content のサイズがすでに決定している\r
-                                        *     コンテンツの高さの再取得が必要\r
-                                        *     必要でない\r
-                                        */   \r
-                                       if( this.textNode ){\r
-                                               if( w === AUTO ){\r
-                                                       this.commitStyle();\r
-                                                       w = this.contentWidth = this.textNode.offsetWidth;\r
-                                                       this.scrollWidth = w + this.contentL + this.contentR;\r
-                                                       if( this.maxContentWidth < w - this.boxSizingOffsetLR ) this.contentWidth = this.maxContentWidth + this.boxSizingOffsetLR;\r
-                                                       if( w - this.boxSizingOffsetLR < this.minContentWidth ) this.contentWidth = this.minContentWidth + this.boxSizingOffsetLR;\r
-                                                       this.lastContentWidth = this.contentWidth;\r
-                                                       \r
-                                                       w !== this.contentWidth && this.commitStyle();\r
-                                                       \r
-                                                       if( h === AUTO ){\r
-                                                               h = this.conetntHeight = this.textNode.offsetHeight;\r
-                                                               this.scrollHeight = h + this.contentT + this.contentB;\r
-                                                               if( this.maxContentHeight < h - this.boxSizingOffsetTB ) this.contentHeight = this.maxContentHeight + this.boxSizingOffsetTB;\r
-                                                               if( h - this.boxSizingOffsetTB < this.minContentHeight ) this.contentHeight = this.minContentHeight + this.boxSizingOffsetTB;\r
-                                                       } else {\r
-                                                               this.scrollHeight = this.textNode.offsetHeight + this.contentT + this.contentB;\r
-                                                       };\r
-                                               } else\r
-                                               if( h === AUTO ){\r
-                                                       if( w !== this.lastContentWidth || dirty !== X.Css.Dirty.REFLOW ){\r
-                                                               this.commitStyle();\r
-                                                               this.lastContentWidth  = w;\r
-                                                               h = this.conetntHeight = this.textNode.offsetHeight;\r
-                                                               this.scrollWidth       = w + this.contentL + this.contentR;\r
-                                                               this.scrollHeight      = h + this.contentT + this.contentB;\r
-                                                               if( this.maxContentHeight < h - this.boxSizingOffsetTB ) this.contentHeight = this.maxContentHeight + this.boxSizingOffsetTB;\r
-                                                               if( h - this.boxSizingOffsetTB < this.minContentHeight ) this.contentHeight = this.minContentHeight + this.boxSizingOffsetTB;                                                           \r
-                                                       } else {\r
-                                                               this.scrollWidth  = w + this.contentL + this.contentR;\r
-                                                               this.scrollHeight = h + this.contentT + this.contentB;\r
-                                                               root.paintReserve( this );\r
-                                                       };\r
-                                               } else {\r
-                                                       if( dirty !== X.Css.Dirty.REFLOW ){\r
-                                                               this.commitStyle();\r
-                                                               this.scrollWidth  = this.textNode.offsetWidth  + this.contentL + this.contentR;\r
-                                                               this.scrollHeight = this.textNode.offsetHeight + this.contentT + this.contentB;\r
-                                                       } else {\r
-                                                               root.paintReserve( this );\r
-                                                               this.scrollWidth  = w + this.contentL + this.contentR;\r
-                                                               this.scrollHeight = h + this.contentT + this.contentB;\r
-                                                       };\r
-                                               };                                      \r
-                                       } else {\r
-                                               if( w === AUTO ) this.contentWidth  = w = 0 < this.minContentWidth  ? this.minContentWidth  : 0;\r
-                                               if( h === AUTO ) this.contentHeight = h = 0 < this.minContentHeight ? this.minContentHeight : 0;\r
-                                               this.scrollWidth  = w + this.contentL + this.contentR;\r
-                                               this.scrollHeight = h + this.contentT + this.contentB;\r
-                                               root.paintReserve( this );                              \r
-                                       };\r
-                                       break;                  \r
-                               case X.Css.Dirty.PAINT : // 再描画のみ必要\r
-                                       root.paintReserve( this );\r
-                                       break;                                          \r
-                       };\r
-               },\r
-               paint : function( dirty ){\r
-                       var content = this._content,\r
-                               style   = this.__style;                         \r
-                       if( this.updateContent === true || ( style && style.hasPaint === true ) ){\r
-                               if( !this.elmWrap ){\r
-                                       this.elmWrap = DOM.createDiv();\r
-                                       this.__parent.addDisplayElement( this );\r
-                               };\r
-                               dirty !== 0 && this.commitStyle();                      \r
-                               if( this.updateContent === true ){\r
-                                       if( content !== null ){\r
-                                               if( !this.textNode ){\r
-                                                       this.textNode = DOM.cerateText();\r
-                                                       this.elmWrap.appendChild( this.textNode );\r
-                                               };\r
-                                               this.textNode.data = content;                                                   \r
-                                       } else\r
-                                       if( this.textNode ){\r
-                                               DOM.correct( this.textNode );\r
-                                               delete this.textNode;\r
-                                               delete this.contentWidth;\r
-                                               delete this.conetntHeight;\r
-                                               delete this.scrollWidth;                                                        \r
-                                               delete this.scrollHeight;\r
-                                       };                                      \r
-                               };\r
-                       } else\r
-                       if( this.elmWrap && content === null && ( !style || style.hasPaint === false ) ){\r
-                               this.__parent.removeDisplayElement( this );\r
-                               DOM.correct( this.elmWrap );\r
-                               delete this.contentWidth;\r
-                               delete this.conetntHeight;\r
-                       };\r
-               },\r
-               commitStyle : function(){\r
-                       var css;\r
-                       if( this.elmWrap ){\r
-                               css = this.__style ? this.__style.cssText( this ) : '';\r
-                               if( this.contentWidth  !== AUTO ) css += 'width:'  + this.contentWidth  + 'px';\r
-                               if( this.contentHeight !== AUTO ) css += 'height:' + this.contentHeight + 'px';\r
-                               this.elmWrap.style.cssText = css;\r
-                       };\r
-               },\r
-               /*\r
-                * 親の サイズを元に自身のサイズを計算していく\r
-                */\r
-               preMesure : function( allowW, allowH ){\r
-                       var style    = this.__style,\r
-                               styles, calc, box, min, max,\r
-                               contentW, contentH, allowSize, boxMinus,\r
-                               paddingT, paddingR, paddingB, paddingL,\r
-                               borderT, borderR, borderB, borderL,\r
-                               marginT, marginR, marginB, marginL;\r
-\r
-                       if( style ){\r
-                               styles   = style.data;\r
-                               calc     = BasicLayoutManager.calcValue;\r
-                               box      = styles[ X.Css.AttrNo.sizing ];\r
-                               \r
-                               // Width\r
-                               // 自身が constraintW の場合 親が AUTO ではない\r
-                               // 自身が constraintW でない場合自身が  AUTO はなくかつ親 が AUTO の場合 or 自身は % でない\r
-                               if( style.constraintW ? allowW !== AUTO : !style.autoWidth && ( allowW !== AUTO || !style.percentWidth ) ){\r
-                                       if( style.constraintW ){\r
-                                               contentW = allowW;// - calc( styles[ X.Css.AttrNo.left ], allowW ) - calc( styles[ X.Css.AttrNo.right ], allowW );\r
-                                       } else {\r
-                                               contentW = BasicLayoutManager.finalValue( styles[ X.Css.AttrNo.width ], styles[ X.Css.AttrNo.minWidth ], styles[ X.Css.AttrNo.maxWidth ], allowW );                                     \r
-                                       };\r
-                                       paddingR = calc( styles[ X.Css.AttrNo.padding + 1 ], allowW );\r
-                                       paddingL = calc( styles[ X.Css.AttrNo.padding + 3 ], allowW );\r
-                                       borderR  = styles[ X.Css.AttrNo.border + 1 ];\r
-                                       borderL  = styles[ X.Css.AttrNo.margin + 3 ];\r
-                                       marginR  = calc( styles[ X.Css.AttrNo.margin + 1 ], allowW );\r
-                                       marginL  = calc( styles[ X.Css.AttrNo.margin + 3 ], allowW );\r
-                                       this.boxWidth = contentW;\r
-                                       boxMinus = 0;\r
-                                       switch( box ){\r
-                                               case 3 : // margin-box\r
-                                                        boxMinus = - marginR - marginL;\r
-                                               case 2 : // border-box\r
-                                                        boxMinus -= borderR + borderL;\r
-                                               case 1 : // padding-box\r
-                                                        boxMinus -= paddingR + paddingL;\r
-                                               // case 0 : // content-box\r
-                                       };\r
-                                       this.contentL     = marginL + borderL + paddingL;\r
-                                       this.contentR     = marginR + borderR + paddingR;               \r
-                                       this.contentWidth = contentW + boxMinus;\r
-                                       this.boxSizingOffsetLR = boxMinus;\r
-                               } else {\r
-                                       this.boxWidth = this.contentWidth = AUTO;\r
-                                       min = styles[ X.Css.AttrNo.minWidth ];\r
-                                       max = styles[ X.Css.AttrNo.maxWidth ];\r
-                                       this.minContentWidth = 1 <= min ? min : 0;\r
-                                       this.maxContentWidth = 1 <= max ? max : AUTO;\r
-                                       delete this.boxSizingOffsetLR;\r
-                               };\r
-                               \r
-                               // Height\r
-                               if( style.constraintH ? allowH !== AUTO : !style.autoHeight && ( allowH !== AUTO || !style.percentHeight ) ){\r
-                                       if( style.constraintH ){\r
-                                               contentH = allowH; // - calc( styles[ X.Css.AttrNo.top ], allowH ) - calc( styles[ X.Css.AttrNo.bottom ], allowH );\r
-                                       } else {\r
-                                               contentH = BasicLayoutManager.finalValue( styles[ X.Css.AttrNo.height ], styles[ X.Css.AttrNo.minHeight ], styles[ X.Css.AttrNo.maxHeight ], allowH );\r
-                                       };\r
-                                       allowSize = styles[ X.Css.AttrNo.pageBox ] === true ? allowH : allowW;\r
-                                       paddingT  = calc( styles[ X.Css.AttrNo.padding + 0 ], allowSize );// paddingTRBL の % 指定は 最大幅に対して TB でも幅に対して\r
-                                       paddingB  = calc( styles[ X.Css.AttrNo.padding + 2 ], allowSize );\r
-                                       borderT   = styles[ X.Css.AttrNo.border + 0 ];\r
-                                       borderB   = styles[ X.Css.AttrNo.border + 2 ];\r
-                                       marginT   = calc( styles[ X.Css.AttrNo.margin + 0 ], allowSize );// marginTRBL の % 指定は 最大幅に対して TB でも幅に対して\r
-                                       marginB   = calc( styles[ X.Css.AttrNo.margin + 2 ], allowSize );\r
-                                       this.boxHeight = contentH;\r
-                                       boxMinus = 0;\r
-                                       switch( box ){\r
-                                               case 3 : // margin-box\r
-                                                        boxMinus = - marginT - marginR;\r
-                                               case 2 : // border-box\r
-                                                        boxMinus -= borderT + borderR;\r
-                                               case 1 : // padding-box\r
-                                                        boxMinus -= paddingT + paddingR;\r
-                                               // case 0 : // content-box\r
-                                       };                      \r
-                                       this.contentT      = marginT + borderT + paddingT;\r
-                                       this.conetntB      = marginB + borderB + paddingB;                      \r
-                                       this.contentHeight = contentH + boxMinus;\r
-                                       this.boxSizingOffsetTB = boxMinus;\r
-                               } else {\r
-                                       this.boxHeight = this.contentHeight = AUTO;\r
-                                       min = styles[ X.Css.AttrNo.minHeight ];\r
-                                       max = styles[ X.Css.AttrNo.maxHeight ];\r
-                                       this.minContentHeight = 1 <= min ? min : 0;\r
-                                       this.maxContentHeight = 1 <= max ? max : AUTO;\r
-                                       delete this.boxSizingOffsetTB;\r
-                               };\r
-                       } else {\r
-                               this.boxWidth  = this.contentWidth  = allowW;\r
-                               this.boxHeight = this.contentHeight = allowH;\r
-                               delete this.minContentHeight;\r
-                               delete this.maxContentHeight;\r
-                               delete this.contentL;\r
-                               delete this.contentT;\r
-                               delete this.contentR;\r
-                               delete this.contentB;\r
-                       };\r
-               },\r
-               /**\r
-                * 自身のコンテンツサイズを元に AUTO な width, height を確定していく\r
-                */\r
-               postMesure : function(){\r
-                       var style    = this.__style,\r
-                               styles, calc, box,\r
-                               contentW, contentH, w, h\r
-                               contentSize, contentPlus;\r
-                       if( style ){\r
-                               styles   = style.data;\r
-                               calc     = BasicLayoutManager.advancedCalcValue;\r
-                               contentW = this.contentWidth;\r
-                               box      = styles[ X.Css.AttrNo.sizing ];\r
-                               \r
-                               // Width\r
-                               if( this.boxWidth === AUTO ){\r
-                                       paddingR = calc( styles[ X.Css.AttrNo.padding + 1 ], contentW );                                        \r
-                                       paddingL = calc( styles[ X.Css.AttrNo.padding + 3 ], contentW );                                        \r
-                                       borderR  = styles[ X.Css.AttrNo.border + 1 ];                                   \r
-                                       borderL  = styles[ X.Css.AttrNo.border + 3 ];                                   \r
-                                       marginR  = calc( styles[ X.Css.AttrNo.margin + 1 ], contentW );\r
-                                       marginL  = calc( styles[ X.Css.AttrNo.margin + 3 ], contentW );\r
-                                       contentPlus = 0;\r
-                                       switch( box ){\r
-                                               case 3 : // margin-box\r
-                                                        contentPlus  = ( marginR + marginL );\r
-                                               case 2 : // border-box\r
-                                                        contentPlus += ( borderR + borderL );\r
-                                               case 1 : // padding-box\r
-                                                        contentPlus += ( paddingR + paddingL );\r
-                                               // case 0 : // content-box\r
-                                       };\r
-                                       contentW += contentPlus;\r
-                                       if( !style.constraintW ){\r
-                                               min = styles[ X.Css.AttrNo.minWidth ];\r
-                                               max = styles[ X.Css.AttrNo.maxWidth ];\r
-                                               if( contentW < min && 1 <= min && contentPlus < min ){\r
-                                                       this.contentWidth = min - contentPlus;\r
-                                               } else\r
-                                               if( max < contentW && 1 <= max && contentPlus < max ){\r
-                                                       this.contentWidth = max - contentPlus;\r
-                                               };\r
-                                       };\r
-                                       this.contentL = marginL + borderL + paddingL;\r
-                                       this.contentR = marginR + borderR + paddingR;\r
-                                       this.boxWidth = this.contentWidth + this.contentL + this.contentR;\r
-                               };\r
-                               // Height\r
-                               if( this.boxHeight === AUTO ){\r
-                                       contentH    = this.contentHeight;\r
-                                       contentSize = styles[ X.Css.AttrNo.pageBox ] === true ? contentH : contentW;\r
-                                       paddingT    = calc( styles[ X.Css.AttrNo.padding + 0 ], contentSize );// paddingTRBL の % 指定は 最大幅に対して TB でも幅に対して\r
-                                       paddingB    = calc( styles[ X.Css.AttrNo.padding + 2 ], contentSize );\r
-                                       borderT     = styles[ X.Css.AttrNo.border + 0 ];\r
-                                       borderB     = styles[ X.Css.AttrNo.border + 2 ];\r
-                                       marginT     = calc( styles[ X.Css.AttrNo.margin + 0 ], contentSize );// marginTRBL の % 指定は 最大幅に対して TB でも幅に対して\r
-                                       marginB     = calc( styles[ X.Css.AttrNo.margin + 2 ], contentSize );\r
-                                       contentPlus = 0;\r
-                                       switch( box ){\r
-                                               case 3 : // margin-box\r
-                                                        contentPlus  = ( marginT + marginB );\r
-                                               case 2 : // border-box\r
-                                                        contentPlus += ( borderT + borderB );\r
-                                               case 1 : // padding-box\r
-                                                        contentPlus += ( paddingT + paddingB );\r
-                                               // case 0 : // content-box\r
-                                       };\r
-                                       contentH += contentPlus;\r
-                                       if( !style.constraintH ){\r
-                                               min = styles[ X.Css.AttrNo.minHeight ];\r
-                                               max = styles[ X.Css.AttrNo.maxHeight ];\r
-                                               if( contentH < min && 1 <= min && contentPlus < min ){\r
-                                                       this.contentHeight = min - contentPlus;\r
-                                               } else\r
-                                               if( max < contentH && 1 <= max && contentPlus < max ){\r
-                                                       this.contentHeight = max - contentPlus;\r
-                                               };\r
-                                       };\r
-                                       this.contentT  = marginT + borderT + paddingT;\r
-                                       this.contentB  = marginB + borderB + paddingB;                                          \r
-                                       this.boxHeight = this.contentHeight + this.contentT + this.contentB;\r
-                               };                              \r
-                       } else {\r
-                               this.boxWidth  = this.contentWidth;\r
-                               this.boxHeight = this.contentHeight;\r
-                               delete this.minContentHeight;\r
-                               delete this.maxContentHeight;\r
-                               delete this.contentL;\r
-                               delete this.contentT;\r
-                               delete this.contentR;\r
-                               delete this.contentB;\r
-                       };\r
-               },\r
-               addDisplayElement : function( nodeData ){\r
-                       // 描画更新リストに追加\r
-               },\r
-               removeDisplayElement : function( nodeData ){\r
-                       // 描画更新リストに追加\r
-                       DOM.correct( nodeData.elmWrap );\r
-                       delete nodeData.elmWrap;\r
-                       delete nodeData.textNode;\r
-                       delete nodeData.contentWidth;\r
-                       delete nodeData.conetntHeight;\r
-                       delete nodeData.currentWidth;\r
-                       delete nodeData.currentHeight;                  \r
-               }\r
-       }\r
-);\r
-var Node = X.Class.create(\r
-       'Node',\r
-       X.Class.POOL_OBJECT,\r
-       _Node,\r
-       {\r
-               Constructor : function( root, parent ){\r
-                       X.Class._newPrivate( this, X.Class._getPrivate( root ), parent ? X.Class._getPrivate( parent ) : undefined, this );\r
-               },\r
-               content : function( v ){\r
-                       return X.Class._getPrivate( this ).content( v );\r
-               },\r
-               style : function( v ){\r
-                       return X.Class._getPrivate( this ).paint( v );\r
-               },\r
-               remove : function(){\r
-                       X.Class._getPrivate( this ).remove();\r
-               },\r
-               nodeIndex : function( v ){\r
-                       return X.Class._getPrivate( this ).nodeIndex( v );\r
-               },\r
-               displayIndex : function(){\r
-                       \r
-               },\r
-               disabled : function( v ){\r
-                       return X.Class._getPrivate( this ).disabled( v );\r
-               },\r
-               cursor : function( v ){\r
-                       return X.Class._getPrivate( this ).cursor( v );\r
-               },\r
-               getX : function(){\r
-                       \r
-               },\r
-               getY : function(){\r
-                       \r
-               },\r
-               getWidth : function(){\r
-                       \r
-               },\r
-               getHeight : function(){\r
-                       \r
-               },\r
-               getAbsolutePositionX : function(){\r
-                       return X.Class._getPrivate( this ).getAbsolutePositionX();\r
-               },\r
-               getAbsolutePositionY : function(){\r
-                       return X.Class._getPrivate( this ).getAbsolutePositionY();\r
-               },\r
-               scrollTo : function( x, y ){\r
-                       X.Class._getPrivate( this ).scrollTo( x, y );\r
-               },\r
-               scrollX : function( v ){\r
-                       return X.Class._getPrivate( this ).scrollX( v );\r
-               },\r
-               scrollY : function( v ){\r
-                       return X.Class._getPrivate( this ).scrollY( v );\r
-               },\r
-               addEventListener : function( type, handler, opt_thisObject ){\r
-                       X.Class._getPrivate( this ).addEventListener( type, handler, opt_thisObject );\r
-               },\r
-               removeEventListener : function( type, handler ){\r
-                       X.Class._getPrivate( this ).removeEventListener( type, handler );\r
-               }\r
-       }\r
-);
\ No newline at end of file
diff --git a/0.6.x/js/_old/NodeStyle.js b/0.6.x/js/_old/NodeStyle.js
deleted file mode 100644 (file)
index 9df17ec..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-var _NodeStyle = X.Class.create(\r
-       '_NodeStyle',\r
-       X.Class.PRIVATE_DATA | Class.POOL_OBJECT,\r
-       {\r
-               fontCssText   : null,\r
-               colorCssText  : null,\r
-               layoutCssText : null,\r
-               Constructor : function(){\r
-                       this.data  = [];\r
-                       this.dirty = 0;\r
-               },\r
-               register : function( node ){\r
-                       var root  = node.__root,\r
-                               roots = this.rootList,\r
-                               nodes = this.nodeList;\r
-                       if( !roots ){\r
-                               this.rootList = [ root ];\r
-                       } else\r
-                       if( roots.indexOf( root ) === -1 ) roots[ roots.length ] = root;\r
-                       \r
-                       if( !nodes ){\r
-                               this.nodeList = [ node ];\r
-                               return;\r
-                       };\r
-                       if( nodes.indexOf( node ) === -1 ) nodes[ nodes.length ] = node;\r
-               },\r
-               unRegister : function( node ){\r
-                       var nodes = this.nodeList,\r
-                               i     = nodes.indexOf( node ),\r
-                               root  = node._root,\r
-                               roots = this.rootList,\r
-                               j     = roots.indexOf( root );\r
-                       if( i !== -1 && nodes.splice( i, 1 ) && nodes.length === 0 ) delete this.nodeList;\r
-                       if( j !== -1 && roots.splice( j, 1 ) && roots.length === 0 ) delete this.rootList;\r
-               },\r
-               clone : function(){\r
-                       var styleClass = Class.getClass( this.User ),\r
-                               dataClass  = Class.getClass( this );\r
-               },\r
-               /*\r
-                * opt_unit は getter のみ\r
-                */\r
-               attr : function( prop, v, opt_unit ){\r
-                       var update    = prop[ 0 ],\r
-                               propID    = prop[ 1 ],\r
-                               type      = prop[ 2 ],\r
-                               list      = prop[ 3 ],\r
-                               length    = !!( type & X.Css.Type.LENGTH    ),\r
-                               percent   = !!( type & X.Css.Type.PERCENT   ),\r
-                               color     = !!( type & X.Css.Type.COLOR     ),\r
-                               uDecimal  = !!( type & X.Css.Type.U_DECIMAL ),\r
-                               numerical = !!( type & X.Css.Type.NUMERICAL ),\r
-                               flag      = !!( type & X.Css.Type.BOOLEAN   ),\r
-                               quartet   = !!( type & X.Css.Type.QUARTET   ),\r
-                               url       = !!( type & X.Css.Type.URL       ),\r
-                               fontName  = !!( type & X.Css.Type.FONT_NAME ),\r
-                               //list      = !!( type & X.Css.Type.LIST      ),\r
-                               combi     = !!( type & X.Css.Type.COMBI     ),\r
-                               data      = this.data,\r
-                               _v        = -1,\r
-                               i, l, nodes, root;\r
-               /*\r
-                * Setter\r
-                */\r
-                       if( v !== undefined ){\r
-                               if( Type.isNumber( v ) === true ){\r
-                                       if( numerical === false ){\r
-                                               if( uDecimal === false || v < 0 || 1 < v ) throw new Error( '' );\r
-                                       };\r
-                               } else\r
-                               if( Type.isBoolean( v ) === true ){\r
-                                       if( flag === false ) throw new Error( '' );\r
-                               } else\r
-                               if( Type.isString( v ) === true ){\r
-                                       if( url === false && fontName === false ){\r
-                                               if( v.indexOf( ' ' ) !== -1 ){\r
-                                                       v = v.split( ' ' );\r
-                                               } else {\r
-                                                       if( length === false && percent === false && color === false ) throw new Error( '' );\r
-                                               };\r
-                                       };\r
-                               };                                      \r
-                               if( Type.isArray( v ) === true ){\r
-                                       if( v.length <= 4 && quartet === true ){\r
-                                               type ^= X.Css.Type.QUARTET;\r
-                                       } else\r
-                                       if( v.length === 2 && combi === true ){\r
-                                               type ^= X.Css.Type.COMBI;\r
-                                       } else {\r
-                                               throw new Error( '' );\r
-                                       };\r
-                                       switch( v.length ){\r
-                                               case 1 :\r
-                                                       this.attr( [ propID  , type, list ], v[ 0 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 0 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 0 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 0 ] );\r
-                                                       break;\r
-                                               case 2 :\r
-                                                       this.attr( [ propID  , type, list ], v[ 0 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 1 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 0 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 1 ] );\r
-                                                       break;\r
-                                               case 3 :\r
-                                                       this.attr( [ propID  , type, list ], v[ 0 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 1 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 2 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 1 ] );\r
-                                                       break;\r
-                                               case 4 :\r
-                                                       this.attr( [ propID  , type, list ], v[ 0 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 1 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 2 ] );\r
-                                                       this.attr( [ ++propID, type, list ], v[ 3 ] );\r
-                                                       break;\r
-                                               default :\r
-                                       };\r
-                                       return this.User;\r
-                               };\r
-                               switch( update ){\r
-                                       case X.Css.Dirty.REFLOW :\r
-                                               delete this.layoutCssText;\r
-                                               break;\r
-                                       case X.Css.Dirty.PAINT :\r
-                                               delete this.colorCssText;\r
-                                               break;\r
-                                       case X.Css.Dirty.FONT :\r
-                                               delete this.fontCssText;\r
-                               };\r
-\r
-                               if( this.dirty < update ){\r
-                                       this.dirty = update;\r
-                                       roots = this.rootList;\r
-                                       for( i = 0, l = roots.length; i < l; ++i ){\r
-                                               root = roots[ i ];\r
-                                               if( root.dirty < update ) root.dirty = update;\r
-                                       };\r
-                               };\r
-                               \r
-                               if( list ) _v = list.indexOf( v );\r
-                               data[ propID ] = _v !== -1 ? _v : v;\r
-                               \r
-                               switch( propID ){\r
-                                       case X.Css.AttrNo.left  :\r
-                                       case X.Css.AttrNo.right :\r
-                                               this.constraintW = Type.isNumber( data[ X.Css.AttrNo.left ] ) || Type.isNumber( data[ X.Css.AttrNo.right ] );\r
-                                               break;\r
-                                       case X.Css.AttrNo.top    :\r
-                                       case X.Css.AttrNo.bottom :\r
-                                               this.constraintH = Type.isNumber( data[ X.Css.AttrNo.top ] ) || Type.isNumber( data[ X.Css.AttrNo.bottom ] );\r
-                                               break;\r
-                                       case X.Css.AttrNo.width :\r
-                                               this.autoWidth = v === AUTO;\r
-                                               this.prctWidth = v === FULL || v < 1;\r
-                                               break;\r
-                                       case X.Css.AttrNo.height :\r
-                                               this.autoHeight = v === AUTO;\r
-                                               this.prctHeight = v === FULL || v < 1;\r
-                                               break;\r
-                               };                                      \r
-                               return this.User;\r
-                       };\r
-               /*\r
-                * Getter\r
-                */\r
-                       v = data[ propID ];\r
-                       // Unit\r
-                       if( quartet === true ) return [ v, data[ ++propID ], data[ ++propID ], data[ ++propID ] ];\r
-                       if( combi   === true ) return [ v, data[ ++propID ] ];\r
-                       if( list && Type.isNumber( v ) === true ) return list[ v ];\r
-                       return v;\r
-               },\r
-               cssText : function(){\r
-                       if( this.fontCssText   === null ) this.fontCssText   = this.createFontCssText();\r
-                       if( this.layoutCssText === null ) this.layoutCssText = this.createLayoutCssText();\r
-                       if( this.colorCssText  === null ) this.colorCssText  = this.createColorCssText();\r
-                       return [ this.fontCssText, this.colorCssText, this.layoutCssText ].join( ';' );\r
-               },\r
-               createFontCssText : function(){\r
-                       var data = this.data,\r
-                               css  = [],\r
-                               v;\r
-                       if( v = data[ X.Css.AttrNo.fontFamily    ] ) css[ 0 ] = 'font-family:' + v;\r
-                       if( v = data[ X.Css.AttrNo.fontSize      ] ) css[ css.length ] = 'font-size:' + v;\r
-                       if( v = data[ X.Css.AttrNo.bold          ] ) css[ css.length ] = 'font-weight:bold';\r
-                       if( v = data[ X.Css.AttrNo.italic        ] ) css[ css.length ] = 'font-style:italic';\r
-                       if( v = data[ X.Css.AttrNo.lineHeight    ] ) css[ css.length ] = 'line-height:' + v;\r
-                       if( v = data[ X.Css.AttrNo.letterSpacing ] ) css[ css.length ] = 'letter-spacing:' + v;\r
-                       if( v = data[ X.Css.AttrNo.wordSpacing   ] ) css[ css.length ] = 'word-spacing:' + v;\r
-                       if( v = data[ X.Css.AttrNo.align         ] ) css[ css.length ] = 'text-align:' + X.Css.Option.ALIGN[ v ];\r
-                       if( v = data[ X.Css.AttrNo.transform     ] ) css[ css.length ] = 'text-transform:' + X.Css.Option.TEXT_TRANSFORM[ v ];\r
-                       return css.join( ',' );\r
-               },\r
-               createColorCssText : function(){\r
-                       var data = this.data,\r
-                               css  = [],\r
-                               v, x, y, c, b;\r
-                       if( v = data[ X.Css.AttrNo.borderColor ]      ) css[ 0 ] = 'border-color:' + v;\r
-                       if( v = data[ X.Css.AttrNo.borderStyle + 0 ]  ) css[ css.length ] = 'border-top-style:' + X.Css.Option.BORDER_STYLE[ v ];\r
-                       if( v = data[ X.Css.AttrNo.borderStyle + 1 ]  ) css[ css.length ] = 'border-right-style:' + X.Css.Option.BORDER_STYLE[ v ];\r
-                       if( v = data[ X.Css.AttrNo.borderStyle + 2 ]  ) css[ css.length ] = 'border-bottom-style:' + X.Css.Option.BORDER_STYLE[ v ];\r
-                       if( v = data[ X.Css.AttrNo.borderStyle + 3 ]  ) css[ css.length ] = 'border-left-style:' + X.Css.Option.BORDER_STYLE[ v ];\r
-                       if( v = data[ X.Css.AttrNo.cornerRadius + 0 ] ) css[ css.length ] = 'corner-radius-top:' + v;\r
-                       if( v = data[ X.Css.AttrNo.cornerRadius + 1 ] ) css[ css.length ] = 'corner-radius-right:' + v;\r
-                       if( v = data[ X.Css.AttrNo.cornerRadius + 2 ] ) css[ css.length ] = 'border-radius-bottom:' + v;\r
-                       if( v = data[ X.Css.AttrNo.cornerRadius + 3 ] ) css[ css.length ] = 'border-radius-left:' + v;\r
-                       if( v = data[ X.Css.AttrNo.bgColor          ] ) css[ css.length ] = 'background-color:' + v;\r
-                       // X.Css.AttrNo.bgAlpha\r
-                       if( v = data[ X.Css.AttrNo.bgImgUrl         ] ) css[ css.length ] = 'background-image:url(' + v + ')';\r
-                       x = data[ X.Css.AttrNo.bgImgRepeatX ];\r
-                       y = data[ X.Css.AttrNo.bgImgRepeatY ];\r
-                       if( x && y ){\r
-                               css[ css.length ] = 'background-repeat:repeat';\r
-                       } else\r
-                       if( x ){\r
-                               css[ css.length ] = 'background-repeat:repeat-x';\r
-                       } else \r
-                       if( y ){\r
-                               css[ css.length ] = 'background-repeat:repeat-y';\r
-                       };\r
-                       x = data[ X.Css.AttrNo.bgImgPositionX ];\r
-                       y = data[ X.Css.AttrNo.bgImgPositionY ];\r
-                       if( x && y ){\r
-                               css[ css.length ] = 'background-position:' + x + ' ' + y;\r
-                       } else\r
-                       if( x ){\r
-                               css[ css.length ] = 'background-position:' + x + ' 0';\r
-                       } else \r
-                       if( y ){\r
-                               css[ css.length ] = 'background-position:0 ' + y;\r
-                       };\r
-                       if( v = data[ X.Css.AttrNo.color ]      ) css[ css.length ] = 'color:' + v;\r
-                       if( v = data[ X.Css.AttrNo.decoration ] ) css[ css.length ] = 'text-decoration:' + X.Css.Option.TEXT_DECORATION[ v ];\r
-                       x = data[ X.Css.AttrNo.textShadowOffsetX ];\r
-                       y = data[ X.Css.AttrNo.textShadowOffsetY ];\r
-                       b = data[ X.Css.AttrNo.textShadowBlur ];\r
-                       c = data[ X.Css.AttrNo.textShadowColor ];\r
-                       if( c || x || y || b ){\r
-                               css[ css.length ] = 'text-shadow:' + x + ' ' + y + ' ' + b + ' ' + c;\r
-                       };\r
-                       /*\r
-X.Css.AttrNo.shadowColor    = [ X.Css.Dirty.PAINT,  23, X.Css.Type.COLOR     ]; // color\r
-X.Css.AttrNo.shadowAlpha    = [ X.Css.Dirty.PAINT,  24, X.Css.Type.U_DECIMAL ]; // 0 - 1\r
-X.Css.AttrNo.shadowOffsetX  = [ X.Css.Dirty.PAINT,  25, X.Css.Type.LENGTH    ]; // em\r
-X.Css.AttrNo.shadowOffsetY  = [ X.Css.Dirty.PAINT,  26, X.Css.Type.LENGTH    ]; // em\r
-X.Css.AttrNo.shadowBlur     = [ X.Css.Dirty.PAINT,  27, X.Css.Type.LENGTH    ]; // em\r
-X.Css.AttrNo.shadowSpread   = [ X.Css.Dirty.PAINT,  28, X.Css.Type.LENGTH    ]; // em\r
-X.Css.AttrNo.shadowInset    = [ X.Css.Dirty.PAINT,  29, X.Css.Type.BOOLEAN   ]; // true / false\r
-                       */\r
-               },\r
-               createBoxShadowCssText : function(){\r
-                       \r
-               },\r
-               createBGAlphaCssText : function(){\r
-                       \r
-               },\r
-               createTextShadowCssText : function(){\r
-                       \r
-               },\r
-               createLayoutCssText : function(){\r
-                       \r
-               }\r
-       }\r
-);\r
-\r
-var NodeStyle = X.Class.create(\r
-       'NodeStyle',\r
-       X.Class.POOL_OBJECT,\r
-       _NodeStyle,\r
-       {\r
-               Constructor : function(){\r
-                       X.Class._newPrivate( this );\r
-               },\r
-               borderWidth : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.borderWidth, v );\r
-               },\r
-               borderColor : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.borderColor, v );\r
-               },\r
-               borderStyle : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.borderStyle, v );\r
-               },\r
-               cornerRadius : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.cornerRadius, v );\r
-               },\r
-               bgColor : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bgColor, v );\r
-               },\r
-               bgAlpha : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bgAlpha, v );\r
-               },\r
-               bgImgUrl : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bgImgUrl, v );\r
-               },\r
-               bgImgRepeatX : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bgImgRepeatX, v );\r
-               },\r
-               bgImgRepeatY : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bgImgRepeatY, v );\r
-               },\r
-               bgImgPositionX : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bgImgPositionX, v );\r
-               },\r
-               bgImgPositionY : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bgImgPositionY, v );\r
-               },\r
-               shadowColor : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowColor, v );\r
-               },\r
-               shadowAlpha : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowAlpha, v );\r
-               },\r
-               shadowOffsetX : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowOffsetX, v );\r
-               },\r
-               shadowOffsetY : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowOffsetY, v );\r
-               },\r
-               shadowBlur : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowBlur, v );\r
-               },\r
-               shadowSpread : function(){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowSpread, v );\r
-               },\r
-               shadowInset : function(){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowInset, v );\r
-               },\r
-               color : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.color, v );\r
-               },\r
-               fontFamily : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.fontFamily, v );\r
-               },\r
-               fontSize : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.fontSize, v );\r
-               },\r
-               bold : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.bold, v );\r
-               },\r
-               italic : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.italic, v );\r
-               },\r
-               lineHeight : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.lineHeight, v );\r
-               },\r
-               letterSpacing : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.letterSpacing, v );\r
-               },\r
-               wordSpacing : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.wordSpacing, v );\r
-               },\r
-               align : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.align, v );\r
-               },\r
-               decoration : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.decoration, v );\r
-               },\r
-               transform : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.transform, v );\r
-               },\r
-               textShadowColor : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.textShadowColor, v );\r
-               },\r
-               textShadowOffsetX : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.textShadowOffsetX, v );\r
-               },\r
-               textShadowOffsetY : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.textShadowOffsetY, v );\r
-               },\r
-               shadowBlur : function( v ){\r
-                       return X.Class._getPrivate( this ).attr( X.Css.Attr.shadowBlur, v );\r
-               },\r
-               cssText : function(){\r
-                       return X.Class._getPrivate( this ).cssText();\r
-               }\r
-       }\r
-);
\ No newline at end of file
diff --git a/0.6.x/js/_old/Option.js b/0.6.x/js/_old/Option.js
deleted file mode 100644 (file)
index c605d47..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-X.Css.Option = {\r
-       BORDER_STYLE      : 'none,hidden,dotted,dashed,solid,double,groove,ridge,inset,outset'.split(','),\r
-       POSITION_X        : 'left,center,right'.split(','),\r
-       POSITION_Y        : 'top,center,bottom'.split(','),\r
-       ALIGN             : 'left,center,right,justify'.split(','),\r
-       TEXT_DECORATION   : 'none,underline,overline,line-through,blink'.split(','),\r
-       TEXT_TRANSFORM    : 'none,capitalize,lowercase,uppercase'.split(','),\r
-       WIDTH_HEIGHT      : [ 'auto' ],\r
-       BOX_SIZING        : 'content-box,padding-box,border-box,margin-box'.split(',')\r
-};
\ No newline at end of file
diff --git a/0.6.x/js/_old/Type.js b/0.6.x/js/_old/Type.js
deleted file mode 100644 (file)
index 55c502f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-X.Css = {};\r
-\r
-X.Css.Type = {\r
-       LENGTH            :  1,\r
-       PERCENT           :  2,\r
-       COLOR             :  4,\r
-       U_DECIMAL         :  8,\r
-       NUMERICAL         : 16,\r
-       BOOLEAN           : 32,\r
-       QUARTET           : 64,\r
-       URL               : 128,\r
-       FONT_NAME         : 256,\r
-       LIST              : 512,\r
-       AUTO              : 1024,\r
-       COMBI             : 2048\r
-};\r
-\r
-var AUTO      = Number.POSITIVE_INFINITY;\r
-var FULL      = X.Css; // something unigue value;\r
-var FLOOR     = Math.floor;\r
diff --git a/0.6.x/js/_old/xdoc.js b/0.6.x/js/_old/xdoc.js
deleted file mode 100644 (file)
index 3b5d3ae..0000000
+++ /dev/null
@@ -1,866 +0,0 @@
-var BoxModel;\r
-\r
-var DOM = ( function( window, document ){\r
-       var DIV_LIST  = [],\r
-               SPAN_LIST = [],\r
-               TEXT_LIST = [];\r
-       \r
-       var elmTextSize;\r
-       \r
-       function correctNodes( node ){\r
-               var child;\r
-               if( node && node.parentNode ){\r
-                       while( node.lastChild ) correctNodes( node.lastChild );\r
-                       node.parentNode.removeChild( node );\r
-                       if( node.nodeType === 1 ){\r
-                               switch( node.tagName ){\r
-                                       case 'DIV':\r
-                                               DIV_LIST.push( node );\r
-                                               break;\r
-                                       case 'SPAN':\r
-                                               SPAN_LIST.push( node );\r
-                                               break;\r
-                                       \r
-                               };\r
-                               node.removeAttribute( 'className' );\r
-                               node.removeAttribute( 'style' );\r
-                               node.removeAttribute( 'id' );\r
-                       } else\r
-                       if( node.nodeType === 3 ){\r
-                               node.data = '';\r
-                               TEXT_LIST.push( node );\r
-                       };\r
-               };\r
-       };\r
-       \r
-       return {\r
-               createDiv : function(){\r
-                       return 0 < DIV_LIST.length ? DIV_LIST.shift() : document.createElement( 'div' );\r
-               },\r
-               createSpan : function(){\r
-                       \r
-               },\r
-               createText : function(){\r
-                       \r
-               },\r
-               getTextSize : function( elm, content ){\r
-                       var span = DOM.createSpan(),\r
-                               text = DOM.createText(),\r
-                               w, h;\r
-                       elm.appendChild( span );\r
-                       span.style.cssText = 'visibility:hidden;position:absolute;';\r
-                       span.appendChild( text );\r
-                       text.data = content;\r
-                       w = span.offsetWidth;\r
-                       h = span.offsetHeight;\r
-                       DOM.correctNodes( span );\r
-                       return [ w, h ];\r
-               },\r
-               getTextHeight : function( elm, w, content ){\r
-                       var div  = DOM.createSpan(),\r
-                               text = DOM.createText(),\r
-                               w, h;\r
-                       elm.appendChild( div );\r
-                       div.style.cssText = 'visibility:hidden;position:absolute;width:' + w + 'px;';\r
-                       div.appendChild( text );\r
-                       text.data = content;\r
-                       w = div.offsetWidth;\r
-                       h = div.offsetHeight;\r
-                       DOM.correctNodes( div );\r
-                       return h;\r
-               },\r
-               correctNodes : function( node ){\r
-                       var child;\r
-                       if( node && node.parentNode ){\r
-                               while( node.lastChild ) DOM.correctNodes( node.lastChild );\r
-                               node.parentNode.removeChild( node );\r
-                               if( node.nodeType === 1 ){\r
-                                       switch( node.tagName ){\r
-                                               case 'DIV':\r
-                                                       DIV_LIST.push( node );\r
-                                                       break;\r
-                                               case 'SPAN':\r
-                                                       SPAN_LIST.push( node );\r
-                                                       break;\r
-                                               \r
-                                       };\r
-                                       node.removeAttribute( 'className' );\r
-                                       node.removeAttribute( 'style' );\r
-                                       node.removeAttribute( 'id' );\r
-                               } else\r
-                               if( node.nodeType === 3 ){\r
-                                       node.data = '';\r
-                                       TEXT_LIST.push( node );\r
-                               };\r
-                       };\r
-               }\r
-       }\r
-})( window, document );\r
-\r
-var XBrowserStyle = ( function(){\r
-       var     EMPTY          = '',\r
-               CORON          = ':',\r
-               SEMICORON      = ';',\r
-               SPACE          = ' ',\r
-               UNITS          = 'px,cm,mm,in,pt,pc,em,%'.split( ',' ),\r
-               CLIP_SEPARATOR = UA.isIE === true && UA.ieVersion < 8 ? ' ' : ',';\r
-\r
-       var SPECIAL = ( function(){\r
-               var special = {};\r
-               if( UA.isIE === true && UA.ieVersion < 9 ){\r
-                       if( UA.ACTIVEX === true ){\r
-                               // special.opacity    = 'ActiveXOpacity';\r
-                               special.setFilters = function( style ){\r
-                                       var filters = ( style.filter || '' ).split( ') ' ),\r
-                                               data    = {},\r
-                                               i       = filters.length,\r
-                                               filter, names, props, prop, j, l, key, v;\r
-                                       for( ; i; ){\r
-                                               filter   = filters[ --i ].split( ' ' ).join( '' ).split( '(' );\r
-                                               if( filter.length !== 2 ) continue;\r
-                                               names    = filter[ 0 ].split( '.' ); // progid:DXImageTransform.Microsoft.Shadow(color=#666666,direction=120,strength=9)\r
-                                               props    = filter[ 1 ].split( ',' ); // \r
-                                               filter   = {};\r
-                                               for( j = 0, l = props.length; j < l; ++j ){\r
-                                                       prop = props[ j ].split( '=' );\r
-                                                       key  = prop[ 0 ].toLowerCase();\r
-                                                       v    = prop[ 1 ];\r
-                                                       filter[ key ] = v; //v.charAt( 0 ) === '#' ? v : parseInt( v );\r
-                                               };\r
-                                               data[ names[ names.length - 1 ] ] = filter;\r
-                                       };\r
-                                       \r
-                                       style.filter  = data;\r
-                                       style.opacity = data.alpha && data.alpha.opacity ? data.alpha.opacity / 100 : 1;\r
-                               };\r
-                               special.hasLayout = function( elm ){\r
-                                       return elm.currentStyle.hasLayout;\r
-                               };\r
-                       } else {\r
-                               special.opacity = null;\r
-                       };\r
-               } else {\r
-                       var style = document.documentElement.style;\r
-                       special.opacity = style.opacity           !== undefined ? 'opacity' : \r
-                                                       style.MozOpacity          !== undefined ? 'MozOpacity' :\r
-                                                       style.KhtmlOpacity        !== undefined ? 'KhtmlOpacity' :\r
-                                                       style[ '-khtml-opacity' ] !== undefined ? 'KhtmlOpacity' : null;\r
-\r
-                       // if( style.backgroundPositionX === undefined ){\r
-                               special.setBackgroundPositionXY = function( style ){\r
-                                       var bgp = ( style.backgroundPosition || '' ).split( ' ' );\r
-                                       style.backgroundPositionX = bgp[ 0 ] || 0;\r
-                                       style.backgroundPositionY = bgp[ 1 ] || 0;\r
-                               };\r
-                       // };\r
-                       if( style.clipTop === undefined && style[ 'clip-top' ] === undefined ){\r
-                               special.setClipTopRightBottomLeft = function( style ){\r
-                                       var clip = style.clip;\r
-                                       if( !cliop || clip.indexOf( 'rect(' ) === -1 ){\r
-                                               style.clipTop    = 0;\r
-                                               style.clipRight  = 0;\r
-                                               style.clipBottom = 0;\r
-                                               style.clipLeft   = 0;\r
-                                               return;\r
-                                       };\r
-                                       clip = clip.split( '(' )[ 1 ].split( ')' )[ 0 ].split( clip.indexOf( ',' ) !== -1 ? ',' : ' ' );\r
-                                       ret.clipTop    = clip[ 0 ];\r
-                                       ret.clipRight  = clip[ 1 ];\r
-                                       ret.clipBottom = clip[ 2 ];\r
-                                       ret.clipLeft   = clip[ 3 ];\r
-                               };\r
-                       };\r
-               };\r
-               return special;\r
-       })();\r
-       \r
-       function cssToObject( css ){\r
-               var ret      = {}, i, nv, n, v,\r
-                       parse    = Util.parse,\r
-                       isNumber = Type.isNumber,\r
-                       camelize = Util.camelize;\r
-               if( Type.isString( css ) === true ){\r
-                       css = css.split( SEMICORON );\r
-                       for( i = css.length; i; ){\r
-                               nv = css[ --i ].split( CORON ); // filter の場合, progid: がくる\r
-                               n  = nv.shift();\r
-                               if( isNumber( parse( n ) ) === true ) continue;\r
-                               v  = nv.join( EMPTY );\r
-                               while( v.charAt( 0 ) === ' ' ) v = v.substr( 1 );\r
-                               ret[ camelize( n ) ] = parse( v );\r
-                       };\r
-               } else {\r
-                       for( n in css ){\r
-                               if( Type.isNumber( parse( n ) ) === false ) ret[ n ] = parse( css[ n ] );\r
-                       };\r
-               };\r
-\r
-               if( SPECIAL.setFilters ){\r
-                       SPECIAL.setFilters( ret );\r
-               } else {\r
-                       ret.opacity = SPECIAL.opacity !== null ? ret[ SPECIAL.opacity ] : 1;\r
-               };\r
-               \r
-               SPECIAL.setBackgroundPositionXY && SPECIAL.setBackgroundPositionXY( ret );\r
-               SPECIAL.setClipTopRightBottomLeft && SPECIAL.setClipTopRightBottomLeft( ret );\r
-               \r
-               return ret;\r
-       };\r
-\r
-       var COLOR = ( function(){\r
-               var ret = {}, v, name,\r
-                       list = [\r
-                               '0', 'BLACK',\r
-                               'FF0000', 'RED',\r
-                               '00FF00', 'LIME',\r
-                               '0000FF', 'BLUE',\r
-                               'FFFF00', 'YELLOW',\r
-                               '00FFFF', 'AQUA',\r
-                               '00FFFF', 'CYAN',\r
-                               'FF00FF', 'MAGENTA',\r
-                               'FF00FF', 'FUCHSIA',\r
-                               'FFFFFF', 'WHITE',\r
-                               '008000', 'GREEN',\r
-                               '800080', 'PURPLE',\r
-                               '800000', 'MAROON',\r
-                               '000080', 'NAVY',\r
-                               '808000', 'OLIVE',\r
-                               '008080', 'TEAL',\r
-                               '808080', 'GRAY',\r
-                               'C0C0C0', 'SILVER',\r
-                               '696969', 'DIMGRAY',\r
-                               '708090', 'SLATEGRAY',\r
-                               'A9A9A9', 'DARKGRAY',\r
-                               'DCDCDC', 'GAINSBORO',\r
-                               '191970', 'MIDNIGHTBLUE',\r
-                               '6A5ACD', 'SLATEBLUE',\r
-                               '0000CD', 'MEDIUMBLUE',\r
-                               '4169E1', 'ROYALBLUE',\r
-                               '1E90FF', 'DODGERBLUE',\r
-                               '87CEEB', 'SKYBLUE',\r
-                               '4682B4', 'STEELBLUE',\r
-                               'ADD8E6', 'LIGHTBLUE',\r
-                               'AFEEEE', 'PALETURQUOISE',\r
-                               '40E0D0', 'TURQUOISE',\r
-                               'E0FFFF', 'LIGHTCYAN',\r
-                               '7FFFD4', 'AQUAMARINE',\r
-                               '006400', 'DARKGREEN',\r
-                               '2E8B57', 'SEAGREEN',\r
-                               '90EE90', 'LIGHTGREEN',\r
-                               '7FFF00', 'CHARTREUSE',\r
-                               'ADFF2F', 'GREENYELLOW',\r
-                               '32CD32', 'LIMEGREEN',\r
-                               '9ACD32', 'YELLOWGREEN',\r
-                               '6B8E23', 'OLIVEDRAB',\r
-                               'BCB76B', 'DARKKHAKI',\r
-                               'EEE8AA', 'PALEGOLDENROD',\r
-                               'FFFFE0', 'LIGHTYELLOW',\r
-                               'FFD700', 'GOLD',\r
-                               'DAA520', 'GOLDENROD',\r
-                               'B8860B', 'DARKGOLDENROD',\r
-                               'BC8F8F', 'ROSYBROWN',\r
-                               'CD5C5C', 'INDIANRED',\r
-                               '8B4513', 'SADDLEBROWN',\r
-                               'A0522D', 'SIENNA',\r
-                               'CD853F', 'PERU',\r
-                               'DEB887', 'BURLYWOOD',\r
-                               'F5F5DC', 'BEIGE',\r
-                               'F5DEB3', 'WHEAT',\r
-                               'F4A460', 'SANDYBROWN',\r
-                               'D2B48C', 'TAN',\r
-                               'D2691E', 'CHOCOLATE',\r
-                               'B22222', 'FIREBRICK',\r
-                               'A52A2A', 'BROWN',\r
-                               'FA8072', 'SALMON',\r
-                               'FFA500', 'ORANGE',\r
-                               'FF7F50', 'CORAL',\r
-                               'FF6347', 'TOMATO',\r
-                               'FF69B4', 'HOTPINK',\r
-                               'FFC0CB', 'PINK',\r
-                               'FF1493', 'DEEPPINK',\r
-                               'DB7093', 'PALEVIOLETRED',\r
-                               'EE82EE', 'VIOLET',\r
-                               'DDA0DD', 'PLUM',\r
-                               'DA70D6', 'ORCHILD',\r
-                               '9400D3', 'DARKVIOLET',\r
-                               '8A2BE2', 'BLUEVIOLET',\r
-                               '9370DB', 'MEDIUMPURPLE',\r
-                               'D8BFD8', 'THISTLE',\r
-                               'E6E6FA', 'LAVENDER',\r
-                               'FFE4E1', 'MISTYROSE',\r
-                               'FFFFF0', 'IVORY',\r
-                               'FFFACD', 'LEMONCHIFFON'\r
-                       ];\r
-               for( i = list.length; i; ){\r
-                       v    = list[ --i ];\r
-                       name = list[ --i ];\r
-                       ret[ name ] = parseInt( v, 16 );\r
-               };\r
-               return ret;\r
-       })();\r
-       \r
-       var PARAMS = ( function(){\r
-               var ret = {};\r
-               register( ret.percent = {},\r
-                       'marginBottom,marginLeft,marginRight,marginTop,paddingBottom,paddingLeft,paddingRight,paddingTop,fontSize,textIndent'\r
-               );\r
-               register( ret.offset = {},\r
-                       'height,width,bottom,left,right,top'\r
-               );              \r
-               register( ret.size = {},\r
-                       'borderBottomWidth,borderLeftWidth,borderRightWidth,borderTopWidth,letterSpacing'\r
-               );\r
-               register( ret.color = {},\r
-                       'backgroundColor,borderBottomColor,borderLeftColor,borderRightColor,borderTopColor,color'\r
-               );\r
-               register( ret.region = {},\r
-                       'margin,padding,borderWidth,borderColor'\r
-               );              \r
-               register( ret.special = {},\r
-                       'clip,backgroundPosition,opacity,lineHeight,zIndex'\r
-               );\r
-               register( ret.unit = {}, 'px,cm,mm,in,pt,pc,em,%' );\r
-               \r
-               register( ret.margin = {}, 'marginBottom,marginLeft,marginRight,marginTop,paddingBottom' );\r
-               register( ret.padding = {}, 'paddingBottom,paddingLeft,paddingRight,paddingTop' );\r
-               register( ret.borderWidth = {}, 'borderBottomWidth,borderLeftWidth,borderRightWidth,borderTopWidth' );\r
-               register( ret.borderColor = {}, 'borderBottomColor,borderLeftColor,borderRightColor,borderTopColor' );\r
-               \r
-               function register( obj, params ){\r
-                       params = params.split( ',' );\r
-                       for( var i=params.length; i; ) obj[ params[ --i ] ] = true;\r
-               };\r
-               return ret;\r
-       })();\r
-       \r
-       /*\r
-        * \r
-        */\r
-       var Property = Class.create(\r
-               'Property',\r
-               Class.POOL_OBJECT,\r
-               {\r
-                       Constructor : function( name, value, unit, pxPerEm ){\r
-                               this.name    = name;\r
-                               this.value   = value;\r
-                               this.unit    = unit;\r
-                               this.pxPerEm = pxPerEm; // XXpx = 1em;\r
-                       },\r
-                       name    : '',\r
-                       value   : 0,\r
-                       pxPerEm : 12, // 1em === ??px\r
-                       unit    : '',\r
-                       equal : function( prop ){\r
-                               if( this.unit === prop.unit ){\r
-                                       return this.value === prop.value;\r
-                               };\r
-                               return Math.abs( this.toPx() - prop.toPx() ) < 1;\r
-                       },\r
-                       convert: function( prop ){\r
-                               var u = prop.unit, v;\r
-                               if( this.unit === u ) return;\r
-                               this.value = v = this.toPx();\r
-                               this.unit  = u;\r
-                               if( u !== px ){\r
-                                       this.value = u === 'em' ? v / this.pxPerEm : Util.pxTo( v, u );\r
-                               };\r
-                       },\r
-                       setValue: function( v ){\r
-                               this.value = v;\r
-                       },\r
-                       getValue: function(){\r
-                               return this.value;\r
-                       },\r
-                       getOffset: function( prop ){\r
-                               return prop.value - this.value;\r
-                       },\r
-                       getUnit: function(){\r
-                               return this.unit;\r
-                       },\r
-                       getValueText: function(){\r
-                               return this.value === 0 ? '0' : this.value + this.unit;\r
-                       },\r
-                       toPx: function(){\r
-                               var v = this.value, u = this.unit;\r
-                               if( u === px )   return v;\r
-                               if( u === 'em' ) return v * this.pxPerEm;\r
-                               if( u === '' && this.name === 'lineHeight' ) return v * this.pxPerEm;\r
-                               return Util.toPx( v, u );\r
-                       },\r
-                       isValid: function( t ){\r
-                               t = t || this;\r
-                               var n = t.name,\r
-                                       v = t.value,\r
-                                       u = t.unit,\r
-                                       z = u !== '' ? true : v === 0;\r
-                               if( PARAMS.percent[ n ] === true ) return z;\r
-                               if( PARAMS.offset[ n ] === true  ) return z;\r
-                               if( PARAMS.size[ n ] === true  )   return z && u !== '%';\r
-                               if( PARAMS.special[ n ] === true  ){\r
-                                       if( n === 'lineHeight' ) return true;\r
-                                       if( n === 'opacity' )    return 0 <= v && v <= 1 && u === '';\r
-                                       if( n === 'zIndex'  )    return u === '';\r
-                               };\r
-                               return false;\r
-                       }\r
-               }\r
-       );\r
-       \r
-       /**\r
-        * backgroundPosition, clip\r
-        */\r
-       var PropertyGroup = Class.create(\r
-               'PropertyGroup',\r
-               Class.POOL_OBJECT,\r
-               {\r
-                       Constructor : function( name ){\r
-                               this.name  = name;\r
-                               this.props = [];\r
-                               for( var i = 1, l = arguments.length; i<l; ++i ){\r
-                                       this.props.push( arguments[ i ] );\r
-                               };\r
-                       },\r
-                       name  : '',\r
-                       equal : function( prop ){\r
-                               var ps = this.props, i = ps.length;\r
-                               for( ; i; ){\r
-                                       --i;\r
-                                       if( ps[ i ].equal( prop[ i ] ) === false ) return false;\r
-                               };\r
-                               return true;\r
-                       },\r
-                       convert : function( prop ){\r
-                               var ps = this.props, i = ps.length;\r
-                               for( ; i; ){\r
-                                       --i;\r
-                                       ps[ i ].convert( prop[ i ] );\r
-                               };\r
-                       },\r
-                       setValue : function( ary ){\r
-                               var ps = this.props, i = 0, l = ps.length;\r
-                               for( ; i<l; ++i ){\r
-                                       ps[ i ].setValue( ary[ i ] );\r
-                               };\r
-                       },\r
-                       getValue : function(){\r
-                               var ret = [], ps = this.props, i = 0, l = ps.length;\r
-                               for( ; i<l; ++i ){\r
-                                       ret.push( ps[ i ].getValue() );\r
-                               };\r
-                               return ret;\r
-                       },\r
-                       getOffset : function( prop ){\r
-                               var ret = [],\r
-                                       ps  = this.props,\r
-                                       _ps = prop.props,\r
-                                       i   = 0,\r
-                                       l = ps.length;\r
-                               for( ; i<l; ++i ){\r
-                                       ret.push( ps[ i ].getOffset( _ps[ i ] ) );\r
-                               };\r
-                               return ret;\r
-                       },\r
-                       getUnit : function(){\r
-                               var ret = [], ps = this.props, i = 0, l = ps.length;\r
-                               for( ; i<l; ++i ){\r
-                                       ret.push( ps[ i ].getUnit() );\r
-                               };\r
-                               return ret;\r
-                       },\r
-                       getValueText : function(){\r
-                               var ret = [], ps = this.props, i = 0, l = ps.length;\r
-                               for( ; i<l; ++i ){\r
-                                       ret.push( ps[ i ].getValueText() );\r
-                               };                      \r
-                               if( this.name === 'clip' ){\r
-                                       return 'rect(' + ret.join( CLIP_SEPARATOR ) + ')';\r
-                               };\r
-                               return ret.join( ' ' );\r
-                       },\r
-                       onKill : function(){\r
-                               var ps = this.props, i = ps.length;\r
-                               for( ; i; ){\r
-                                       ps[ --i ].kill();\r
-                               };\r
-                       },\r
-                       isValid : function( t ){\r
-                               t = t || this;\r
-                               var ps = t.props, i = ps.length;\r
-                               for( ; i; ){\r
-                                       if( ps[ --i ].isValid() === false ) return false;\r
-                               };\r
-                               return true;\r
-                       }\r
-               }\r
-       );\r
-       \r
-       /**\r
-        * margin, padding, borderWidth, borderColor\r
-        */\r
-       var FrexibleProperty = PropertyGroup.inherits(\r
-               'FrexibleProperty',\r
-               Class.POOL_OBJECT, {\r
-                       Constructor : function( name ){\r
-                               this.name  = name;\r
-                               this.props = [];\r
-                               for( var i = 1, l = arguments.length; i<l; ++i ){\r
-                                       this.props.push( arguments[ i ] );\r
-                               };\r
-                               // top, bottom, left, right, topbottom, leftright, all                          \r
-                       }\r
-               }\r
-       );\r
-\r
-       var ColorProperty = Class.create(\r
-               'ColorProperty',\r
-               Class.POOL_OBJECT, {\r
-                       Constructor : function( name, r, g, b, pct ){\r
-                               this.name = name;\r
-                               this.r    = r;\r
-                               this.g    = g;\r
-                               this.b    = b;\r
-                               this.pct  = pct;\r
-                       },\r
-                       name  : '',\r
-                       equal : function( prop ){\r
-                               if( this.pct === prop.pct ){\r
-                                       return this.r === prop.r && this.g === prop.g && this.b === prop.b;\r
-                               };\r
-                               var rgb  = this._toPct(),\r
-                                       _rgb = prop._toPct(),\r
-                                       i    = rgb.length;\r
-                               for( ; i; ){\r
-                                       --i;\r
-                                       if( Math.abs( rgb[ i ] - _rgb[ i ] ) > 1 ) return false;\r
-                               };\r
-                               return true;\r
-                       },\r
-                       convert : function( prop ){\r
-                               var u = prop.pct, x;\r
-                               if( this.pct === u ) return;\r
-                               x = u === true ? 100 / 255 : 2.55;\r
-                               this.r  *= x;\r
-                               this.g  *= x;\r
-                               this.b  *= x;\r
-                               this.pct = u;\r
-                       },\r
-                       setValue : function( rgb ){\r
-                               this.r = rgb[ 0 ];\r
-                               this.g = rgb[ 1 ];\r
-                               this.b = rgb[ 2 ];\r
-                       },\r
-                       getValue : function(){\r
-                               return [ this.r, this.g, this.b ];\r
-                       },\r
-                       getOffset : function( prop ){\r
-                               return [ prop.r - this.r, prop.g - this.g, prop.b - this.b ];\r
-                       },\r
-                       getUnit : function(){\r
-                               return this.pct === true ? '%' : '';\r
-                       },\r
-                       getValueText : function(){\r
-                               if( this.pct === true ){\r
-                                       return [ 'rgb(', this.r, '%,', this.g, '%,', this.b, '%)' ].join( '' );\r
-                               };\r
-                               var round = Math.round;\r
-                               //return [ 'rgb(', round( this.r ), ',', round( this.g ), ',', round( this.b ), ')' ].join( '' );\r
-                               \r
-                               var rgb   = '00000' + ( ( round( this.r ) << 16 ) + ( round( this.g ) << 8 ) + round( this.b ) ).toString( 16 );\r
-                               return '#' + rgb.substr( rgb.length - 6 );\r
-                       },\r
-                       _toPct : function(){\r
-                               if( this.pct === true ) return [ this.r, this.g, this.b ];\r
-                               return [ this.r / 2.55, this.g / 2.55, this.b / 2.55 ];\r
-                       },\r
-                       isValid : function( t ){\r
-                               var isFinite = window.isFinite;\r
-                               if( !isFinite( this.r ) || !isFinite( this.g ) || !isFinite( this.b ) ) return false;\r
-                               if( 0 > this.r || 0 > this.g || 0 > this.b ) return false;\r
-                               if( this.pct === true ) return this.r <= 100 && this.g <= 100 && this.b <= 100;\r
-                               return this.r <= 255 && this.g <= 255 && this.b <= 255;\r
-                       }\r
-               }\r
-       );\r
-       \r
-       var isString       = Type.isString,\r
-               isNumber       = Type.isNumber;\r
-       var REG_UINIT      = /.*\d(\w{1,2})?/,\r
-               $1             = '$1',\r
-               px             = 'px',\r
-               REG_XXXXXX     = /^#[\da-fA-F]{6}?/,\r
-               REG_XXX        = /^#[\da-fA-F]{3}?/;\r
-       \r
-       var WrappedStyle = Class.create(\r
-               'WrappedStyle',\r
-               Class.POOL_OBJECT,\r
-               {\r
-                       Constructor : function( style ){\r
-                               this.style   = style;\r
-                               var fontsize = this.get( 'fontSize' );\r
-                               this.pxPerEm = fontsize.toPx();\r
-                               fonstsize.kill();\r
-                       },\r
-                       get: function( p ){\r
-                               if( PARAMS.special[ p ] === true || PARAMS.region[ p ] === true ){\r
-                                       if( p === 'clip' )        return this.getClip();\r
-                                       if( p === 'margin' )      return this.getMarginPaddingBorder( p, '' );\r
-                                       if( p === 'padding' )     return this.getMarginPaddingBorder( p, '' );\r
-                                       if( p === 'borderWidth' ) return this.getMarginPaddingBorder( 'border', 'Width' );\r
-                                       if( p === 'borderColor' ) return this.getBorderColor( 'borderColor' );\r
-                                       if( p === 'backgroundPosition' ) return this.getBackgroundPosition( p );\r
-                                       // opacity, zindex, lineHeight\r
-                                       return new Property( p, this.getValue( x ), this.getUnit( x ), this.pxPerEm );\r
-                               };\r
-                               var x = this.style[ p ], e, v, u;\r
-                               if( PARAMS.offset[ p ] === true ){\r
-                                       return new Property( p, this.getValue( x ), this.getUnit( x, p ), this.pxPerEm );\r
-                                       /*\r
-                                       e = this.elm;\r
-                                       if( p === 'width'  ) v = e.offsetWidth;\r
-                                       if( p === 'height' ) v = e.offsetHeight;\r
-                                       if( p === 'top'    ) v = e.offsetTop;\r
-                                       if( p === 'bottom' ) v = e.offsetBottom;\r
-                                       if( p === 'left'   ) v = e.offsetLeft;\r
-                                       if( p === 'right'  ) v = e.offsetRight;\r
-                                       u = this.getUnit( x, p );\r
-                                       // alert( p + this.pxTo( v, u ) + u )\r
-                                       return new Property( p, this.pxTo( v, u ), u, this.pxPerEm ); */\r
-                               };\r
-                               if( p === 'fontSize' ){ // xx-small 等\r
-                                       v = Util.absoluteFontSizeToPx( x );\r
-                                       if( v !== 0 ){\r
-                                               return new Property( p, v, px, this.pxPerEm );\r
-                                       };\r
-                               };                      \r
-                               if( PARAMS.percent[ p ] === true ){\r
-                                       // alert( p + ' , ' + x + ' , ' + this.getUnit( x, p ) )\r
-                                       return new Property( p, this.getValue( x ), this.getUnit( x, p ), this.pxPerEm );\r
-                               };\r
-                               if( PARAMS.size[ p ] === true ){\r
-                                       return new Property( p, this.getValue( x ), this.getUnit( x, p ), this.pxPerEm );\r
-                               };\r
-                               if( PARAMS.color[ p ] === true ){\r
-                                       return this.getColor( x, p );\r
-                               };\r
-                       },\r
-                       pxTo: function( px, unit ){\r
-                               if( unit === 'em' ) return px / this.pxPerEm;\r
-                               return Util.pxTo( px, unit );\r
-                       },\r
-                       getValue: function( x ){\r
-                               return isString( x ) === true ? parseInt( x ) :\r
-                                      isNumber( x ) === true ? x : 0;\r
-                       },\r
-                       getUnit: function( x, p ){\r
-                               var u;\r
-                               if( isString( x ) === true ){\r
-                                       u = x.replace( REG_UINIT, $1 );\r
-                                       if( p === 'lineHeight' ) return u;\r
-                                       if( PARAMS.unit[ u ] !== true ) return px;\r
-                                       return u;\r
-                               };\r
-                               return px;\r
-                       },\r
-                       getColor: function( x, p ){\r
-                               var rgb = COLOR[ x.toUpperCase() ],\r
-                                       pct = false,\r
-                                       r   = 0,\r
-                                       g   = 0,\r
-                                       b   = 0;\r
-                               if( isNumber( rgb ) === true ){\r
-                                       r = ( rgb & 0xff0000 ) >> 16;\r
-                                       g = ( rgb & 0xff00 ) >> 8;\r
-                                       b = ( rgb & 0xff );\r
-                               } else\r
-                               if( x.match( REG_XXXXXX ) ){\r
-                                       r = parseInt( x.charAt( 1 ) + x.charAt( 2 ), 16 );\r
-                                       g = parseInt( x.charAt( 3 ) + x.charAt( 4 ), 16 );\r
-                                       b = parseInt( x.charAt( 5 ) + x.charAt( 6 ), 16 );\r
-                                       //alert( x + ' g: ' + g )\r
-                               } else                  \r
-                               if( x.match( REG_XXX ) ){\r
-                                       r = parseInt( x.charAt( 1 ) + x.charAt( 1 ), 16 );\r
-                                       g = parseInt( x.charAt( 2 ) + x.charAt( 2 ), 16 );\r
-                                       b = parseInt( x.charAt( 3 ) + x.charAt( 3 ), 16 );\r
-                               } else\r
-                               if( x.indexOf( 'rgb(' ) === 0 ){\r
-                                       rgb = x.substr( 4 ).split( ',' );\r
-                                       r = parseFloat( rgb[ 0 ] );\r
-                                       g = parseFloat( rgb[ 1 ] );\r
-                                       b = parseFloat( rgb[ 2 ] );\r
-                                       if( x.indexOf( '%' ) !== -1 ) pct = true;\r
-                               } else {\r
-                                       r = 255;\r
-                                       g = 255;\r
-                                       b = 255;\r
-                               };\r
-                               return new ColorProperty( p, r, g, b, pct );\r
-                       },\r
-                       getClip: function( name ){\r
-                               // rect(...)    クリップします。<top>, <bottom> は上端からの、 <right>, <left> は左端からのオフセットで指定します。Internet Explorer 4~7 では、カンマの代わりにスペースで区切る必要があります。\r
-                               // position:absolute または position:fixed を適用した要素に対してのみ有効です。\r
-                               var top    = this.get( name + 'Top' ),\r
-                                       right  = this.get( name + 'Right' ),\r
-                                       bottom = this.get( name + 'Bottom' ),\r
-                                       left   = this.get( name + 'Left' ),\r
-                                       ret    = new PropertyGroup( name, top, right, bottom, left),\r
-                    all;\r
-                               if( ret.isValid() === true ) return ret;\r
-                               ret.kill();\r
-                               all    = this.style[ name ].split( '(' )[ 1 ].split( ')' )[ 0 ].split( CLIP_SEPARATOR );\r
-                               return new PropertyGroup( name,\r
-                                       new Property( name + 'Top',    all[ 0 ], px, this.pxPerEm ),\r
-                                       new Property( name + 'Right',  all[ 1 ], px, this.pxPerEm ),\r
-                                       new Property( name + 'Bottom', all[ 2 ], px, this.pxPerEm ),\r
-                                       new Property( name + 'Left',   all[ 3 ], px, this.pxPerEm )\r
-                               );\r
-                       },\r
-                       getBackgroundPosition: function( name ){\r
-                               var x   = this.get( name + 'X' ),\r
-                                       y   = this.get( name + 'Y' ),\r
-                                       ret = new PropertyGroup( name, x, y ),\r
-                                       xy;\r
-                               if( ret.isValid() === true ) return ret;\r
-                               ret.kill();\r
-                               xy  = this.style[ name ].split( ' ' );\r
-                               return new PropertyGroup( name,\r
-                                       new Property( name + 'X', this.getValue( xy[ 0 ] ), this.getUnit( xy[ 0 ] ), this.pxPerEm ),\r
-                                       new Property( name + 'Y', this.getValue( xy[ 1 ] ), this.getUnit( xy[ 1 ] ), this.pxPerEm )\r
-                               );\r
-                       },\r
-                       getMarginPaddingBorder: function( name, width ){\r
-                               var props  = [ name + 'Top'    + width,\r
-                                                  name + 'Right'  + width,\r
-                                                  name + 'Bottom' + width,\r
-                                                  name + 'Left'   + width ],\r
-                                       top    = this.get( props[ 0 ] ),\r
-                                       right  = this.get( props[ 1 ] ),\r
-                                       bottom = this.get( props[ 2 ] ),\r
-                                       left   = this.get( props[ 3 ] ),\r
-                                       ret    = new FrexibleProperty( name, top, right, bottom, left ),\r
-                                       klass, pxPerEm, getValue, getUnit,\r
-                                       all, _0, _1, _2, _3, v, u;\r
-                               if( ret.isValid() === true ) return ret;\r
-                               ret.kill();\r
-                               klass    = Property;\r
-                               pxPerEm  = this.pxPerEm;\r
-                               getValue = this.getValue;\r
-                               getUnit  = this.getUnit;\r
-                               all = this.style[ name + width ].split( ' ' );\r
-                               _0 = all[ 0 ];\r
-                               _1 = all[ 1 ];\r
-                               _2 = all[ 2 ];\r
-                               _3 = all[ 3 ];\r
-                               v  = getValue( _0 );\r
-                               u  = getUnit( _0 );\r
-                               switch( all.length ){\r
-                                       case 1 :\r
-                                               top    = new klass( props[ 0 ], v, u, pxPerEm );\r
-                                               right  = new klass( props[ 1 ], v, u, pxPerEm );\r
-                                               bottom = new klass( props[ 2 ], v, u, pxPerEm );\r
-                                               left   = new klass( props[ 3 ], v, u, pxPerEm );\r
-                                               break;\r
-                                       case 2 :\r
-                                               top    = new klass( props[ 0 ], v, u, pxPerEm );\r
-                                               bottom = new klass( props[ 2 ], v, u, pxPerEm );\r
-                                               v  = getValue( _1 );\r
-                                               u  = getUnit( _1 );\r
-                                               right  = new klass( props[ 1 ], v, u, pxPerEm );\r
-                                               left   = new klass( props[ 3 ], v, u, pxPerEm );\r
-                                               break;\r
-                                       case 3 :\r
-                                               top    = new klass( props[ 0 ], v, u, pxPerEm );\r
-                                               v  = getValue( _1 );\r
-                                               u  = getUnit( _1 );\r
-                                               right  = new klass( props[ 1 ], v, u, pxPerEm );\r
-                                               left   = new klass( props[ 3 ], v, u, pxPerEm );\r
-                                               bottom = new klass( props[ 2 ], getValue( _2 ), getUnit( _2 ), pxPerEm );\r
-                                               break;\r
-                                       case 4 :\r
-                                               top    = new klass( props[ 0 ], v, u, pxPerEm );\r
-                                               right  = new klass( props[ 1 ], getValue( _1 ), getUnit( _1 ), pxPerEm );\r
-                                               bottom = new klass( props[ 2 ], getValue( _2 ), getUnit( _2 ), pxPerEm );\r
-                                               left   = new klass( props[ 3 ], getValue( _3 ), getUnit( _3 ), pxPerEm );\r
-                                               break;\r
-                               };\r
-                               return new FrexibleProperty( name, top, right, bottom, left );\r
-                       },\r
-                       getBorderColor: function( name ){\r
-                               var props    = 'borderTopColor,borderRightColor,borderBottomColor,borderLeftColor'.split( ',' ),\r
-                                       top      = this.get( props[ 0 ] ),\r
-                                       right    = this.get( props[ 1 ] ),\r
-                                       bottom   = this.get( props[ 2 ] ),\r
-                                       left     = this.get( props[ 3 ] ),\r
-                                       ret      = new FrexibleProperty( name, top, right, bottom, left ),\r
-                                       all, _0, _1, getColor;\r
-                               if( ret.isValid() === true ) return ret;\r
-                               ret.kill();\r
-                               getColor = this.getColor;\r
-                               all = this.style[ name ].split( ' ' );\r
-                               _0  = all[ 0 ];\r
-                               _1  = all[ 1 ];\r
-                               switch( all.length ){\r
-                                       case 1 :\r
-                                               top    = getColor( _0, props[ 0 ] );\r
-                                               right  = getColor( _0, props[ 1 ] );\r
-                                               bottom = getColor( _0, props[ 2 ] );\r
-                                               left   = getColor( _0, props[ 3 ] );\r
-                                               break;\r
-                                       case 2 :\r
-                                               top    = getColor( _0, props[ 0 ] );\r
-                                               right  = getColor( _1, props[ 1 ] );\r
-                                               bottom = getColor( _0, props[ 2 ] );\r
-                                               left   = getColor( _1, props[ 3 ] );\r
-                                               break;\r
-                                       case 3 :\r
-                                               top    = getColor( _0,       props[ 0 ] );\r
-                                               right  = getColor( _1,       props[ 1 ] );\r
-                                               bottom = getColor( all[ 2 ], props[ 2 ] );\r
-                                               left   = getColor( _1,       props[ 3 ] );\r
-                                               break;\r
-                                       case 4 :\r
-                                               top    = getColor( _0,       props[ 0 ] );\r
-                                               right  = getColor( _1,       props[ 1 ] );\r
-                                               bottom = getColor( all[ 2 ], props[ 2 ] );\r
-                                               left   = getColor( all[ 3 ], props[ 3 ] );\r
-                                               break;\r
-                               };\r
-                               return new FrexibleProperty( name, top, right, bottom, left );\r
-                       }\r
-               }\r
-       );\r
-       function camelizeHash( obj ){\r
-               var p, _p, came = Util.camelize;\r
-               for( p in obj ){\r
-                       _p = came( p );\r
-                       if( _p === p ) continue;\r
-                       obj[ _p ] = obj[ _p ] || obj[ p ];\r
-                       delete obj[ p ];\r
-               };\r
-       };      \r
-       return {\r
-               create: function( css ){\r
-                       return new WrappedStyle( camelizeHash( p ) );\r
-               }\r
-       };\r
-})();\r
-\r
-var XDocument = ( function( window, document ){\r
-       \r
-       var ROOT_LIST = [];\r
-       var AUTO      = Number.POSITIVE_INFINITY;\r
-       var FULL      = X.Css.Attr; // something unigue value;\r
-       var FLOOR     = Math.floor;\r
-       \r
-       var RootNode = Node.inherits(\r
-               'RootNode',\r
-               Class.POOL_OBJECT,\r
-               LayoutBoxPrivate,\r
-               {\r
-                       Constructor : function(){\r
-                               RootNode.newPrivateData( this, BasicLayoutManager );\r
-                       }\r
-               }\r
-       );\r
-       \r
-})( window, document );
\ No newline at end of file