--- /dev/null
+var XUI_PAGES = {},\r
+ XUI_Page_prev = [],\r
+ XUI_Page_current,\r
+ XUI_Page_new,\r
+ XUI_Page_isBack,\r
+ XUI_Page_direction;\r
+\r
+X.UI.Page = X_EventDispatcher[ 'inherits' ](\r
+ 'Page',\r
+ X_Class.NONE,\r
+ {\r
+ 'Constructor' : function( title, uid ){\r
+ var args = X_Array_copy( arguments );\r
+ \r
+ if( !XUI_PAGES[ uid ] ){\r
+ args.splice( 0, 2 );\r
+ XUI_PAGES[ uid ] = {\r
+ page : this,\r
+ title : title,\r
+ uid : uid,\r
+ uinodes : args\r
+ };\r
+ };\r
+ },\r
+ \r
+ 'show' : function( direction ){\r
+ var size;\r
+ \r
+ if( XUI_Page_current !== this ){\r
+ XUI_Page_new = this;\r
+ XUI_Page_direction = direction;\r
+ \r
+ if( XUI_Page_current ){\r
+ if( XUI_Page_current[ 'dispatch' ]( XUI_Event.PAGE_HIDE_BEFORE ) & X_CALLBACK_PREVENT_DEFAULT ){\r
+ return false;\r
+ };\r
+ XUI_Page_current[ 'dispatch' ]( XUI_Event.PAGE_HIDE );\r
+ \r
+ console.log( 'スライドアウト開始' );\r
+ \r
+ // slideOut\r
+ XUI_rootData.xnode\r
+ [ 'animate' ]( {\r
+ 'from' : { x : 0 },\r
+ 'to' : { x : X[ 'ViewPort' ][ 'getSize' ]()[ 0 ] * -.05 * direction, opacity : 0 },\r
+ 'duration' : 333,\r
+ 'easing' : 'circular',\r
+ 'lazyRelease' : 0 })\r
+ [ 'listenOnce' ]( X_EVENT_ANIME_END, XUI_Page_onSlideOut );\r
+ } else {\r
+ XUI_Page_onSlideOut();\r
+ };\r
+ };\r
+ }\r
+ }\r
+);\r
+\r
+X.UI.Page[ 'move' ] = XUI_Page_move;\r
+X.UI.Page[ 'back' ] = XUI_Page_back;\r
+\r
+function XUI_Page_move( uid ){\r
+ for( var k in XUI_PAGES ){\r
+ if( XUI_PAGES[ k ].uid === uid ){\r
+ return XUI_PAGES[ k ].page[ 'show' ]( 1 );\r
+ };\r
+ };\r
+};\r
+\r
+function XUI_Page_back(){\r
+ var last = XUI_Page_prev[ XUI_Page_prev.length - 1 ];\r
+ \r
+ for( var k in XUI_PAGES ){\r
+ if( XUI_PAGES[ k ].page === last ){\r
+ XUI_Page_isBack = true;\r
+ XUI_Page_prev.pop();\r
+ return XUI_PAGES[ k ].page[ 'show' ]( -1 );\r
+ };\r
+ };\r
+};\r
+\r
+function XUI_Page_onSlideOut(){\r
+ var k, uinodes;\r
+ \r
+ if( XUI_Page_current ){\r
+ XUI_rootData.removeAt( 0, 9999 );\r
+ if( !XUI_Page_isBack ){\r
+ XUI_Page_prev.push( XUI_Page_current );\r
+ };\r
+ };\r
+ \r
+ XUI_Page_isBack = false;\r
+ XUI_Page_current = XUI_Page_new;\r
+ \r
+ for( k in XUI_PAGES ){\r
+ if( XUI_PAGES[ k ].page === XUI_Page_new ){\r
+ uinodes = XUI_PAGES[ k ].uinodes;\r
+ };\r
+ };\r
+ \r
+ \r
+ \r
+ if( !XUI_rootData ){\r
+ X.UI.Root.apply( 1, uinodes ).attr( { opacity : 0 } );\r
+ } else {\r
+ XUI_rootData.User.add.apply( XUI_rootData.User, uinodes );\r
+ };\r
+ \r
+ XUI_rootData[ 'listenOnce' ]( XUI_Event.LAYOUT_COMPLETE, XUI_Page_startSlideIn );\r
+ //if( XUI_rootData.phase < 4 ){\r
+ \r
+ //} else {\r
+ // XUI_Page_startSlideIn();\r
+ //};\r
+ console.log( 'スライドアウト完了' );\r
+};\r
+\r
+function XUI_Page_startSlideIn(){\r
+ console.log( 'スライドイン開始' );\r
+ XUI_rootData.xnode[ 'animate' ]( {\r
+ 'from' : { x : X[ 'ViewPort' ][ 'getSize' ]()[ 0 ] * .05 * XUI_Page_direction, opacity : 0 },\r
+ 'to' : { x : 0, opacity : 1 },\r
+ 'duration' : 333,\r
+ 'easing' : 'circular',\r
+ 'lazyRelease' : 0 });\r
+};\r