OSDN Git Service

Version 0.6.134, add comments for closure compiler.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 06_XNodeCSS.js
index 6a87798..4f22524 100644 (file)
@@ -47,15 +47,15 @@ function X_Node_CSS_uncamelize( str ){
 
 var
 
-X_node_CSS_getComputedStyle = window.getComputedStyle || document.defaultView && document.defaultView.getComputedStyle,
-
-       /* font-size -> fontSize */
-X_Node_CSS__DICTIONARY_CAMELIZE = {},
-
-       /* fontSize -> font-size */
-X_Node_CSS_CHAR_CODE_A = 'A'.charCodeAt( 0 ),
+       X_Node_CSS_getComputedStyle       = window.getComputedStyle || document.defaultView && document.defaultView.getComputedStyle,
+       
+               /* font-size -> fontSize */
+       X_Node_CSS__DICTIONARY_CAMELIZE   = {},
        
-X_Node_CSS__DICTIONARY_UNCAMELIZE = {},
+               /* fontSize -> font-size */
+       X_Node_CSS_CHAR_CODE_A            = 'A'.charCodeAt( 0 ),
+               
+       X_Node_CSS__DICTIONARY_UNCAMELIZE = {},
        
 /*
  * CSS における display, position, float プロパティの相互関係
@@ -84,12 +84,12 @@ _ABSOLUTE_BOX
 _FLOAT_BOX
 _GRNERAL
  */
-X_Node_CSS_VENDER_PREFIX = {},
-       
-X_Node_CSS__CLIP_SEPARATOR = X_UA[ 'IE' ] < 8 ? ' ' : ',',
-       
-X_Node_CSS__UNIT_RATIO      = {},
-X_Node_CSS__FONT_SIZE_RATIO = {},
+       X_Node_CSS_VENDER_PREFIX          = {},
+               
+       X_Node_CSS__CLIP_SEPARATOR        = X_UA[ 'IE' ] < 8 ? ' ' : ',',
+               
+       X_Node_CSS__UNIT_RATIO            = {},
+       X_Node_CSS__FONT_SIZE_RATIO       = {},
 
        //  https://developer.mozilla.org/en-US/docs/Web/CSS/transform
        //  Firefox 3.5, ie9, Opera 10.5, Safari 3.1, Chrome
@@ -103,88 +103,88 @@ X_Node_CSS__FONT_SIZE_RATIO = {},
        
        // ブラウザ毎の getComputedStyle の戻り値 http://d.hatena.ne.jp/uupaa/20080928/1222543331
 
-X_Node_CSS_COLOR = {
-               BLACK         : 0x0,
-               RED           : 0xFF0000,
-               LIME          : 0x00FF00,
-               BLUE          : 0x0000FF,
-               YELLOW        : 0xFFFF00,
-               AQUA          : 0x00FFFF,
-               CYAN          : 0x00FFFF,
-               MAGENTA       : 0xFF00FF,
-               FUCHSIA       : 0xFF00FF,
-               WHITE         : 0xFFFFFF,
-               GREEN         : 0x008000,
-               PURPLE        : 0x800080,
-               MAROON        : 0x800000,
-               NAVY          : 0x000080,
-               OLIVE         : 0x808000,
-               TEAL          : 0x008080,
-               GRAY          : 0x808080,
-               SILVER        : 0xC0C0C0,
-               DIMGRAY       : 0x696969,
-               SLATEGRAY     : 0x708090,
-               DARKGRAY      : 0xA9A9A9,
-               GAINSBORO     : 0xDCDCDC,
-               MIDNIGHTBLUE  : 0x191970,
-               SLATEBLUE     : 0x6A5ACD,
-               MEDIUMBLUE    : 0x0000CD,
-               ROYALBLUE     : 0x4169E1,
-               DODGERBLUE    : 0x1E90FF,
-               SKYBLUE       : 0x87CEEB,
-               STEELBLUE     : 0x4682B4,
-               LIGHTBLUE     : 0xADD8E6,
-               PALETURQUOISE : 0xAFEEEE,
-               TURQUOISE     : 0x40E0D0,
-               LIGHTCYAN     : 0xE0FFFF,
-               AQUAMARINE    : 0x7FFFD4,
-               DARKGREEN     : 0x006400,
-               SEAGREEN      : 0x2E8B57,
-               LIGHTGREEN    : 0x90EE90,
-               CHARTREUSE    : 0x7FFF00,
-               GREENYELLOW   : 0xADFF2F,
-               LIMEGREEN     : 0x32CD32,
-               YELLOWGREEN   : 0x9ACD32,
-               OLIVEDRAB     : 0x6B8E23,
-               DARKKHAKI     : 0xBCB76B,
-               PALEGOLDENROD : 0xEEE8AA,
-               LIGHTYELLOW   : 0xFFFFE0,
-               GOLD          : 0xFFD700,
-               GOLDENROD     : 0xDAA520,
-               DARKGOLDENROD : 0xB8860B,
-               ROSYBROWN     : 0xBC8F8F,
-               INDIANRED     : 0xCD5C5C,
-               SADDLEBROWN   : 0x8B4513,
-               SIENNA        : 0xA0522D,
-               PERU          : 0xCD853F,
-               BURLYWOOD     : 0xDEB887,
-               BEIGE         : 0xF5F5DC,
-               WHEAT         : 0xF5DEB3,
-               SANDYBROWN    : 0xF4A460,
-               TAN           : 0xD2B48C,
-               CHOCOLATE     : 0xD2691E,
-               FIREBRICK     : 0xB22222,
-               BROWN         : 0xA52A2A,
-               SALMON        : 0xFA8072,
-               ORANGE        : 0xFFA500,
-               CORAL         : 0xFF7F50,
-               TOMATO        : 0xFF6347,
-               HOTPINK       : 0xFF69B4,
-               PINK          : 0xFFC0CB,
-               DEEPPINK      : 0xFF1493,
-               PALEVIOLETRED : 0xDB7093,
-               VIOLET        : 0xEE82EE,
-               PLUM          : 0xDDA0DD,
-               ORCHILD       : 0xDA70D6,
-               DARKVIOLET    : 0x9400D3,
-               BLUEVIOLET    : 0x8A2BE2,
-               MEDIUMPURPLE  : 0x9370DB,
-               THISTLE       : 0xD8BFD8,
-               LAVENDER      : 0xE6E6FA,
-               MISTYROSE     : 0xFFE4E1,
-               IVORY         : 0xFFFFF0,
-               LEMONCHIFFON  : 0xFFFACD
-};
+       X_Node_CSS_COLOR = {
+               'BLACK'         : 0x0,
+               'RED'           : 0xFF0000,
+               'LIME'          : 0x00FF00,
+               'BLUE'          : 0x0000FF,
+               'YELLOW'        : 0xFFFF00,
+               'AQUA'          : 0x00FFFF,
+               'CYAN'          : 0x00FFFF,
+               'MAGENTA'       : 0xFF00FF,
+               'FUCHSIA'       : 0xFF00FF,
+               'WHITE'         : 0xFFFFFF,
+               'GREEN'         : 0x008000,
+               'PURPLE'        : 0x800080,
+               'MAROON'        : 0x800000,
+               'NAVY'          : 0x000080,
+               'OLIVE'         : 0x808000,
+               'TEAL'          : 0x008080,
+               'GRAY'          : 0x808080,
+               'SILVER'        : 0xC0C0C0,
+               'DIMGRAY'       : 0x696969,
+               'SLATEGRAY'     : 0x708090,
+               'DARKGRAY'      : 0xA9A9A9,
+               'GAINSBORO'     : 0xDCDCDC,
+               'MIDNIGHTBLUE'  : 0x191970,
+               'SLATEBLUE'     : 0x6A5ACD,
+               'MEDIUMBLUE'    : 0x0000CD,
+               'ROYALBLUE'     : 0x4169E1,
+               'DODGERBLUE'    : 0x1E90FF,
+               'SKYBLUE'       : 0x87CEEB,
+               'STEELBLUE'     : 0x4682B4,
+               'LIGHTBLUE'     : 0xADD8E6,
+               'PALETURQUOISE' : 0xAFEEEE,
+               'TURQUOISE'     : 0x40E0D0,
+               'LIGHTCYAN'     : 0xE0FFFF,
+               'AQUAMARINE'    : 0x7FFFD4,
+               'DARKGREEN'     : 0x006400,
+               'SEAGREEN'      : 0x2E8B57,
+               'LIGHTGREEN'    : 0x90EE90,
+               'CHARTREUSE'    : 0x7FFF00,
+               'GREENYELLOW'   : 0xADFF2F,
+               'LIMEGREEN'     : 0x32CD32,
+               'YELLOWGREEN'   : 0x9ACD32,
+               'OLIVEDRAB'     : 0x6B8E23,
+               'DARKKHAKI'     : 0xBCB76B,
+               'PALEGOLDENROD' : 0xEEE8AA,
+               'LIGHTYELLOW'   : 0xFFFFE0,
+               'GOLD'          : 0xFFD700,
+               'GOLDENROD'     : 0xDAA520,
+               'DARKGOLDENROD' : 0xB8860B,
+               'ROSYBROWN'     : 0xBC8F8F,
+               'INDIANRED'     : 0xCD5C5C,
+               'SADDLEBROWN'   : 0x8B4513,
+               'SIENNA'        : 0xA0522D,
+               'PERU'          : 0xCD853F,
+               'BURLYWOOD'     : 0xDEB887,
+               'BEIGE'         : 0xF5F5DC,
+               'WHEAT'         : 0xF5DEB3,
+               'SANDYBROWN'    : 0xF4A460,
+               'TAN'           : 0xD2B48C,
+               'CHOCOLATE'     : 0xD2691E,
+               'FIREBRICK'     : 0xB22222,
+               'BROWN'         : 0xA52A2A,
+               'SALMON'        : 0xFA8072,
+               'ORANGE'        : 0xFFA500,
+               'CORAL'         : 0xFF7F50,
+               'TOMATO'        : 0xFF6347,
+               'HOTPINK'       : 0xFF69B4,
+               'PINK'          : 0xFFC0CB,
+               'DEEPPINK'      : 0xFF1493,
+               'PALEVIOLETRED' : 0xDB7093,
+               'VIOLET'        : 0xEE82EE,
+               'PLUM'          : 0xDDA0DD,
+               'ORCHILD'       : 0xDA70D6,
+               'DARKVIOLET'    : 0x9400D3,
+               'BLUEVIOLET'    : 0x8A2BE2,
+               'MEDIUMPURPLE'  : 0x9370DB,
+               'THISTLE'       : 0xD8BFD8,
+               'LAVENDER'      : 0xE6E6FA,
+               'MISTYROSE'     : 0xFFE4E1,
+               'IVORY'         : 0xFFFFF0,
+               'LEMONCHIFFON'  : 0xFFFACD
+       };
        
 function X_Node_CSS_parseColor( x ){
        var rgb, r, g, b;
@@ -245,16 +245,16 @@ function X_Node_CSS_parseColor( x ){
 };
 
 function X_Node_CSS_objToCssText( that, skipFilter ){
-       var obj   = that._css,
+       var obj   = that[ '_css' ],
                plain = X_EMPTY_OBJECT,
                css   = [],
                n     = -1,
                p, v, specialFix, filterFix;
        
-       that._flags &= ~X_Node_State.OLD_CSSTEXT;
+       that[ '_flags' ] &= ~X_Node_State.OLD_CSSTEXT;
        
        if( !obj ){ // Opera7.5 未満?
-               delete that._cssText;
+               delete that[ '_cssText' ];
                return '';
        };
        
@@ -286,14 +286,14 @@ function X_Node_CSS_objToCssText( that, skipFilter ){
        
        if( 0 <= n ){
                // cssText には完全なものを控えるが、戻すのは filter を抜いたもの
-               that._cssText = css.join( ';' );
+               that[ '_cssText' ] = css.join( ';' );
                if( skipFilter ){
                        --css.length;
                        return css.join( ';' );
                };
-               return that._cssText;
+               return that[ '_cssText' ];
        };
-       delete that._cssText;
+       delete that[ '_cssText' ];
        return '';
 };
 
@@ -301,19 +301,19 @@ var
 X_Node_CSS_FILTER_FIX_PROPS =
        X_UA[ 'ActiveX' ] && X_UA[ 'IE' ] < 9 && !X_UA[ 'MacIE' ] ?
                {
-                       opacity    : 2,
-                       boxShadow  : 3,
-                       textShadow : 4,
-                       transform  : 5
+                       'opacity'    : 2,
+                       'boxShadow'  : 3,
+                       'textShadow' : 4,
+                       'transform'  : 5
                } :
        X_UA[ 'ActiveX' ] && X_UA[ 'IE9' ] ? // == 9
                {
-                       textShadow : 4
+                       'textShadow' : 4
                } :
                null;
 
 function X_Node_CSS_objToIEFilterText( that, opt_css ){
-       var obj     = opt_css || that._css,
+       var obj     = opt_css || that[ '_css' ],
                test    = X_Node_CSS_FILTER_FIX_PROPS,
                filters = [],
                n       = -1,
@@ -393,7 +393,7 @@ function X_Node_CSS_objToIEFilterText( that, opt_css ){
                                };
                                if( afterUpdate ){
                                        // AFTER_UPDATE 時に 再計算
-                                       X_ViewPort.listenOnce( X_Event.AFTER_UPDATE, that, X_Node_CSS_onAfterUpdateForIEFilterFix );
+                                       X_ViewPort[ 'listenOnce' ]( X_EVENT_AFTER_UPDATE, that, X_Node_CSS_onAfterUpdateForIEFilterFix );
                                        break;
                                };
                                dir = Math.atan2( params[ 1 ] + params[ 3 ], params[ 0 ] + params[ 3 ] ) * 180 / Math.PI + 90;
@@ -416,8 +416,8 @@ function X_Node_CSS_objToIEFilterText( that, opt_css ){
 };
 
 function X_Node_CSS_onAfterUpdateForIEFilterFix(){
-       if( this._flags & X_Node_State.IN_TREE ){ // 要素があり、要素がツリーに属している
-               this._flags |= X_Node_State.DIRTY_IE_FILTER;
+       if( this[ '_flags' ] & X_Node_State.IN_TREE ){ // 要素があり、要素がツリーに属している
+               this[ '_flags' ] |= X_Node_State.DIRTY_IE_FILTER;
                X_Node_reserveUpdate();
        };
 };
@@ -505,17 +505,18 @@ function X_Node_CSS__splitValueAndUnit( v ){
 // obj setter
 // name, value setter
 
-Node.prototype.css = function( nameOrObj /* orUnitID, valuOrUnitOrName */ ){
+Node.prototype[ 'css' ] = function( nameOrObj /* orUnitID, valuOrUnitOrName */ ){
        var args = arguments,
-               css  = this._css,
+               css  = this[ '_css' ],
                p, name, v, plain, camelize, flags;
-       if( !this._tag || X_Dom_DTD_MOVE_TO_HEAD[ this._tag ] || this._tag === 'SCRIPT' ) return this;
+
+       if( !this[ '_tag' ] || X_Dom_DTD_MOVE_TO_HEAD[ this[ '_tag' ] ] || this[ '_tag' ] === 'SCRIPT' ) return this;
 // setter:object
        if( X_Type_isObject( nameOrObj ) ){
-               if( !css ) css = this._css = {};
+               if( !css ) css = this[ '_css' ] = {};
                plain    = X_EMPTY_OBJECT;
                camelize = X_Node_CSS_camelize;
-               flags    = this._flags;
+               flags    = this[ '_flags' ];
                for( p in nameOrObj ){
                        if( plain[ p ] ) continue;
                        name = camelize( p );
@@ -523,20 +524,20 @@ Node.prototype.css = function( nameOrObj /* orUnitID, valuOrUnitOrName */ ){
                        if( css[ name ] === v ) continue;
                        flags = X_Node_CSS_setStyle( css, flags, name, v );
                };
-               this._flags |= X_Node_State.DIRTY_CSS | X_Node_State.OLD_CSSTEXT;
-               this._flags & X_Node_State.IN_TREE && X_Node_reserveUpdate();
-               delete this._cssText;
+               this[ '_flags' ] |= X_Node_State.DIRTY_CSS | X_Node_State.OLD_CSSTEXT;
+               this[ '_flags' ] & X_Node_State.IN_TREE && X_Node_reserveUpdate();
+               delete this[ '_cssText' ];
                return this;
        } else
        if( 1 < args.length ){
 // setter name, value
-               if( !css ) css = this._css = {};
+               if( !css ) css = this[ '_css' ] = {};
                name = X_Node_CSS_camelize( nameOrObj );
                v    = args[ 1 ];
                if( css[ name ] === v ) return this;
-               this._flags = X_Node_CSS_setStyle( css, this._flags, name, v ) | X_Node_State.DIRTY_CSS | X_Node_State.OLD_CSSTEXT;
-               this._flags & X_Node_State.IN_TREE && X_Node_reserveUpdate();
-               delete this._cssText;
+               this[ '_flags' ] = X_Node_CSS_setStyle( css, this[ '_flags' ], name, v ) | X_Node_State.DIRTY_CSS | X_Node_State.OLD_CSSTEXT;
+               this[ '_flags' ] & X_Node_State.IN_TREE && X_Node_reserveUpdate();
+               delete this[ '_cssText' ];
                return this;
        };
 // getter
@@ -611,34 +612,34 @@ function X_Node_CSS_setStyle( css, flags, name, newValue ){
        return flags;
 };
 
-Node.prototype.cssText = function( v ){
+Node.prototype[ 'cssText' ] = function( v ){
        var obj, i, l, attr, name;
        
-       if( v === this._cssText && ( this._flags & X_Node_State.OLD_CSSTEXT ) === 0 ){
+       if( v === this[ '_cssText' ] && ( this[ '_flags' ] & X_Node_State.OLD_CSSTEXT ) === 0 ){
                return this;
        };      
        
        if( v === '' ){
-               delete this._css;
-               delete this._cssText;
-               this._flags |= X_Node_State.DIRTY_CSS | X_Node_State.DIRTY_IE_FILTER;
-               this._flags &= ~X_Node_State.OLD_CSSTEXT;
-               this._flags & X_Node_State.IN_TREE && X_Node_reserveUpdate();
+               delete this[ '_css' ];
+               delete this[ '_cssText' ];
+               this[ '_flags' ] |= X_Node_State.DIRTY_CSS | X_Node_State.DIRTY_IE_FILTER;
+               this[ '_flags' ] &= ~X_Node_State.OLD_CSSTEXT;
+               this[ '_flags' ] & X_Node_State.IN_TREE && X_Node_reserveUpdate();
                return this;
        } else
        if( X_Type_isString( v ) ){
-               delete this._css;
+               delete this[ '_css' ];
                obj = {};
-               v   = v.split( ';' ); // TODO content ";" などにも対応 <- 不要 :before :after 疑似要素には触らない
+               v   = v.split( ';' ); // TODO content ";" などにも対応 <- 不要 :before :after 疑似要素には触らない
                for( i = 0, l = v.length; i < l; ++i ){
                        attr = v[ i ].split( ':' );
                        ( name = attr[ 0 ] ) && ( obj[ name ] = attr[ 1 ] || true );
                };
-               return this.css( obj );
+               return this[ 'css' ]( obj );
        };
        // getter
-       this._flags & X_Node_State.OLD_CSSTEXT && X_Node_CSS_objToCssText( this );
-       return this._cssText;
+       this[ '_flags' ] & X_Node_State.OLD_CSSTEXT && X_Node_CSS_objToCssText( this );
+       return this[ '_cssText' ];
 };
 
 /*
@@ -651,12 +652,12 @@ Node.prototype.cssText = function( v ){
  */
 var
 X_Node_CSS_getCharSize =
-       X_node_CSS_getComputedStyle ?
+       X_Node_CSS_getComputedStyle ?
                (function( that ){
                        X_Node_updateTimerID && X_Node_startUpdate();
                        if( that === X_Node_body && X_ViewPort_baseFontSize ) return X_ViewPort_baseFontSize;
-                       if( that._fontSize ) return that._fontSize;
-                       return that._fontSize = parseFloat( X_node_CSS_getComputedStyle( that._rawObject, null ).fontSize );
+                       if( that[ '_fontSize' ] ) return that[ '_fontSize' ];
+                       return that[ '_fontSize' ] = parseFloat( X_Node_CSS_getComputedStyle( that[ '_rawObject' ], null ).fontSize );
                }) :
 
        5 <= X_UA[ 'IE' ] ?
@@ -664,29 +665,29 @@ X_Node_CSS_getCharSize =
                        var font, vu, v, u, _v;
                        X_Node_updateTimerID && X_Node_startUpdate();
                        if( that === X_Node_body && X_ViewPort_baseFontSize ) return X_ViewPort_baseFontSize;
-                       if( that._fontSize ) return that._fontSize;
+                       if( that[ '_fontSize' ] ) return that[ '_fontSize' ];
                        
-                       font = that._rawObject.currentStyle.fontSize;
-                       //font = that._css && that._css.fontSize || '1em';
+                       font = that[ '_rawObject' ].currentStyle.fontSize;
+                       //font = that[ '_css' ] && that[ '_css' ].fontSize || '1em';
                        vu   = X_Node_CSS__splitValueAndUnit( font );
                        v    = vu[ 0 ];
                        u    = vu[ 1 ];
 
                        if( v === 0 ){
-                               if( v = X_Node_CSS__FONT_SIZE_RATIO[ font ] ) return that._fontSize = v;
+                               if( v = X_Node_CSS__FONT_SIZE_RATIO[ font ] ) return that[ '_fontSize' ] = v;
                        } else {
-                               if( _v = X_Node_CSS__UNIT_RATIO[ u ] ) return that._fontSize = v / _v;
+                               if( _v = X_Node_CSS__UNIT_RATIO[ u ] ) return that[ '_fontSize' ] = v / _v;
                        };
                        switch( u ){
                                case 'px' :
-                                       return that._fontSize = v;
+                                       return that[ '_fontSize' ] = v;
                                case 'em' :
                                // body まで辿ってしまった場合は?
-                                       if( that.parent ) return that._fontSize = X_Node_CSS_getCharSize( that.parent ) * v;
+                                       if( that.parent ) return that[ '_fontSize' ] = X_Node_CSS_getCharSize( that.parent ) * v;
                                        break;
                                case '%' :
                                // body まで辿ってしまった場合は?
-                                       if( that.parent ) return that._fontSize = X_Node_CSS_getCharSize( that.parent ) * v / 100;
+                                       if( that.parent ) return that[ '_fontSize' ] = X_Node_CSS_getCharSize( that.parent ) * v / 100;
                        };
                        return 0;
                }) :
@@ -695,52 +696,52 @@ X_Node_CSS_getCharSize =
                        var elm, v;
                        X_Node_updateTimerID && X_Node_startUpdate();
                        if( that === X_Node_body && X_ViewPort_baseFontSize ) return X_ViewPort_baseFontSize;
-                       if( that._fontSize ) return that._fontSize;
+                       if( that[ '_fontSize' ] ) return that[ '_fontSize' ];
 
-                       that._rawObject.appendChild( elm = document.createElement( 'span' ) );
+                       that[ '_rawObject' ].appendChild( elm = document.createElement( 'span' ) );
                        elm.style.cssText = 'display:block;position:absolute;top:0;left:0;visivility:hidden;line-height:1;height:1em;';
                        elm.innerHTML = 'X';
                        v = elm.offsetHeight;
-                       that._rawObject.removeChild( elm );
-                       return that._fontSize = v;
+                       that[ '_rawObject' ].removeChild( elm );
+                       return that[ '_fontSize' ] = v;
                }) :
        X_UA_DOM.IE4 ?
                (function( that ){
                        var font, vu, v, u, _v;
                        X_Node_updateTimerID && X_Node_startUpdate();
                        if( that === X_Node_body && X_ViewPort_baseFontSize ) return X_ViewPort_baseFontSize;
-                       if( that._fontSize ) return that._fontSize;
+                       if( that[ '_fontSize' ] ) return that[ '_fontSize' ];
                        
-                       if( that._css && ( font = that._css.fontSize ) ){
+                       if( that[ '_css' ] && ( font = that[ '_css' ].fontSize ) ){
                                vu = X_Node_CSS__splitValueAndUnit( font );
                                v  = vu[ 0 ];
                                u  = vu[ 1 ];
                                
                                if( v === 0 ){
-                                       if( _v = X_Node_CSS__FONT_SIZE_RATIO[ font ] ) return that._fontSize = _v;
+                                       if( _v = X_Node_CSS__FONT_SIZE_RATIO[ font ] ) return that[ '_fontSize' ] = _v;
                                } else {
-                                       if( _v = X_Node_CSS__UNIT_RATIO[ u ] ) return that._fontSize = v / _v;
+                                       if( _v = X_Node_CSS__UNIT_RATIO[ u ] ) return that[ '_fontSize' ] = v / _v;
                                };
                        } else {
                                // 要素を生成して測定!
-                               ( that._rawObject || X_Node__ie4getRawNode( that ) ).insertAdjacentHTML( 'BeforeEnd', '<div id="ie4charsize" style="position:absolute;top:0;left:0;visivility:hidden;line-height:1;height:1em;">X</div>' );
+                               ( that[ '_rawObject' ] || X_Node__ie4getRawNode( that ) ).insertAdjacentHTML( 'BeforeEnd', '<div id="ie4charsize" style="position:absolute;top:0;left:0;visivility:hidden;line-height:1;height:1em;">X</div>' );
                                elm = document.all[ 'ie4charsize' ];
                                v = elm.offsetHeight;
                                elm.removeAttribute( 'id' ); // ?
                                elm.outerHTML = '';
-                               return that._fontSize = v;
+                               return that[ '_fontSize' ] = v;
                        };
 
                        switch( u ){
                                case 'px' :
-                                       return that._fontSize = v;
+                                       return that[ '_fontSize' ] = v;
                                case 'em' :
                                // body まで辿ってしまった場合は?
-                                       if( that.parent ) return that._fontSize = X_Node_CSS_getCharSize( that.parent ) * v;
+                                       if( that.parent ) return that[ '_fontSize' ] = X_Node_CSS_getCharSize( that.parent ) * v;
                                        break;
                                case '%' :
                                // body まで辿ってしまった場合は?
-                                       if( that.parent ) return that._fontSize = X_Node_CSS_getCharSize( that.parent ) * v / 100;
+                                       if( that.parent ) return that[ '_fontSize' ] = X_Node_CSS_getCharSize( that.parent ) * v / 100;
                        };
                        return 0;
                }) :
@@ -750,7 +751,7 @@ var X_Node_CSS_Support = {},
 
        X_Node_CSS_SPECIAL_FIX_PROP = {
                
-               transitionDuration : X_UA[ 'Android' ] && !X_UA[ 'Chrome' ] && function( v ){ // bad Android
+               'transitionDuration' : X_UA[ 'Android' ] && !X_UA[ 'Chrome' ] && function( v ){ // bad Android
                                return parseFloat( v ) === 0 ? '0.001s' : v;
                        }
                
@@ -760,13 +761,16 @@ var X_Node_CSS_Support = {},
                
        };
 
-X.CSS = {
+/**
+ * @namespace X.CSS
+ */
+X[ 'CSS' ] = {
        
-       VENDER_PREFIX : X_Node_CSS_VENDER_PREFIX,
+       'VENDER_PREFIX' : X_Node_CSS_VENDER_PREFIX,
        // iscroll で使用
-       uncamelize    : X_Node_CSS_uncamelize,
+       'uncamelize'    : X_Node_CSS_uncamelize,
        
-       Support       : X_Node_CSS_Support
+       'Support'       : X_Node_CSS_Support
 };
 
 /*
@@ -848,7 +852,7 @@ X.CSS = {
 
 })();
 
-X_ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_INIT, function(){
+X_ViewPort[ 'listenOnce' ]( X_EVENT_INIT, function(){
        var xnode  = X_Node_systemNode,
                output = X_Node_CSS__UNIT_RATIO,
                list   = 'cm,mm,in,pt,pc'.split( ',' ),
@@ -856,18 +860,18 @@ X_ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_INIT, function(){
        
        for( i = list.length; i; ){
                unit = list[ --i ];
-               output[ unit ] = xnode.css( 'width', 10 + unit ).width() / 10;
+               output[ unit ] = xnode[ 'css' ]( 'width', 10 + unit )[ 'width' ]() / 10;
        };
 
        output = X_Node_CSS__FONT_SIZE_RATIO,
        list   = 'xx-large,x-large,large,larger,medium,small,smaller,x-small,xx-small'.split( ',' );
-       xnode.css( { lineHeight : '100%', height : '1em' } ).text( 'X' );
+       xnode[ 'css' ]( { lineHeight : '100%', height : '1em' } )[ 'text' ]( 'X' );
        
        for( i = list.length; i; ){
                size = list[ --i ];
-               output[ size ] = xnode.css( 'fontSize', size ).height();// / base;
+               output[ size ] = xnode[ 'css' ]( 'fontSize', size )[ 'height' ]();// / base;
        };
        
-       xnode.cssText( '' ).empty();
+       xnode[ 'cssText' ]( '' )[ 'empty' ]();
 });