/********************************************************************* === Event === * Action [ Action.js ] * updated 2001/05/28 mail : peace@skipup.com home : http://www.skipup.com/~peace/ *********************************************************************/ // public class Action function Action(){ var A = Action ; var C = Client ; var E = C.NN ? Event : null ; /****************************** SET_STATIC_MEMBER - BEGIN ******************************/ // public static final int A.MOUSEDOWN = C.NN ? E.MOUSEDOWN : 1 ; A.MOUSEUP = C.NN ? E.MOUSEUP : 2 ; A.MOUSEOVER = C.NN ? E.MOUSEOVER : 4 ; A.MOUSEOUT = C.NN ? E.MOUSEOUT : 8 ; A.MOUSEMOVE = C.NN ? E.MOUSEMOVE : 16 ; A.CLICK = C.NN ? E.CLICK : 64 ; A.DBLCLICK = C.NN ? E.DBLCLICK : 128 ; A.KEYDOWN = C.NN ? E.KEYDOWN : 256 ; A.KEYUP = C.NN ? E.KEYUP : 512 ; A.KEYPRESS = C.NN ? E.KEYPRESS : 1024 ; A.DRAGDROP = C.NN ? E.DRAGDROP : 2048 ; A.FOCUS = C.NN ? E.FOCUS : 4096 ; A.BLUR = C.NN ? E.BLUR : 8192 ; A.SELECT = C.NN ? E.SELECT : 16384 ; A.CHANGE = C.NN ? E.CHANGE : 32768 ; A.RESET = C.NN ? E.RESET : 65536 ; A.SUBMIT = C.NN ? E.SUBMIT : 131072 ; A.SCROLL = C.NN ? E.SCROLL : 262144 ; A.LOAD = C.NN ? E.LOAD : 524288 ; A.UNLOAD = C.NN ? E.UNLOAD : 1048576 ; A.ABORT = C.NN ? E.ABORT : 4194304 ; A.ERROR = C.NN ? E.ERROR : 8388608 ; A.MOVE = C.NN ? E.MOVE : 33554432 ; A.RESIZE = C.NN ? E.RESIZE : 67108864 ; A.FORWARD = C.NN ? E.FORWARD : 134217728 ; A.BACK = C.NN ? E.BACK : 536870912 ; // public static boolean A.isPrimary = function( e ){ return C.IE ? ( event.button == 1 ) : ( e.which == 1 ) ; }; A.isSecondary = function( e ){ return C.IE ? ( event.button == 2 ) : ( e.which == 3 ) ; }; // public static void A.estEventListener = A.$l = function( t , e , l ){ if( C.NN ) ( l ) ? t.captureEvents( e ) : t.releaseEvents( e ) ; if( ( e & A.MOUSEDOWN ) ) t.onmousedown = eval( l ); if( ( e & A.MOUSEUP ) ) t.onmouseup = eval( l ); if( ( e & A.MOUSEOVER ) ) t.onmouseover = eval( l ); if( ( e & A.MOUSEOUT ) ) t.onmouseout = eval( l ); if( ( e & A.MOUSEMOVE ) ) t.onmousemove = eval( l ); if( ( e & A.CLICK ) ) t.onclick = eval( l ); if( ( e & A.DBLCLICK ) ) t.ondblclick = eval( l ); if( ( e & A.LOAD ) ) t.onload = eval( l ); }; // public string A.toString = function(){ return "Action" ; }; /****************************** SET_STATIC_MEMBER - E N D ******************************/ } new Action(); function setEventMember__Client__(){ var C = Client ; /****************************** SET_STATIC_MEMBER - BEGIN ******************************/ // public void C.setEventListener = function( e , l ){ Action.$l( document , e , l ); }; // public void C.clearEventListener = function( e ){ Action.$l( document , e , null ); }; // public Dimension C.getEventAbsolutePosition = function( e ){ if( C.IE ){ var p = new Dimension( event.clientX , event.clientY ); p.add( C.getScroll() ); p.sub( 2 ); return p ; }else{ return new Dimension( parseInt( e.pageX ) , parseInt( e.pageY ) ); } }; // public Dimension C.getEventRelativePosition = function( e ){ if( C.IE ) e = event ; var p = !C.NN ? new Dimension( parseInt( e.clientX ) , parseInt( e.clientY ) ) : new Dimension( e.pageX , e.pageY ) ; if( !C.MZ ) p.sub( ( C.IE ? 2 : C.getScroll() ) ); return p ; }; /****************************** SET_STATIC_MEMBER - E N D ******************************/ } setEventMember__Client__(); function setEventMember__Element__(){ var EP = Element.prototype ; var C = Client ; /****************************** SET_METHOD - BEGIN ******************************/ // public Dimension EP.getEventAbsolutePosition = function( e ){ if( C.IE ){ var p = new Dimension( event.clientX , event.clientY ); p.add( C.getScroll() ); p.sub( 2 ); return p ; }else{ return new Dimension( parseInt( e.pageX ) , parseInt( e.pageY ) ); } }; // public Dimension EP.getEventRelativePosition = function( e ){ if( C.IE ) e = event ; var p = !C.NN ? new Dimension( parseInt( e.clientX ) , parseInt( e.clientY ) ) : new Dimension( e.pageX , e.pageY ) ; if( !C.MZ ) p.sub( ( C.IE ? 2 : C.getScroll() ) ); return p ; }; // public Dimension EP.getEventElementPosition = function( e ){ return C.IE ? new Dimension( event.offsetX , event.offsetY ) : new Dimension( parseInt( e.layerX ) , parseInt( e.layerY ) ) ; }; // public void EP.setEventListener = function( e , l ){ Action.$l( this.layer , e , l ); }; // public void EP.clearEventListener = function( e ){ Action.$l( this.layer , e , null ); }; // public void EP.setDrag = function(){ var A = Action ; function $_d_(e){ if( A.isPrimary(e) ){ if( Client.IE ) document.oncontextmenu = function(){ return false ; }; b = true ; p = t.getEventElementPosition(e); A.$l( document , A.MOUSEMOVE , $_m_ ); A.$l( t.layer , A.MOUSEUP , $_u_ ); }} function $_u_(e){ if( Action.isPrimary(e) ){ if( Client.IE ) document.oncontextmenu = null ; b = false ; A.$l( t.layer , A.MOUSEUP , null ); A.$l( document , A.MOUSEMOVE , null ); }} function $_m_(e){ if( b ){ var q = Client.getEventAbsolutePosition(e); q.sub( p ); t.setPosition( q ); }} var b = false ; var p ; var t = this ; switch( arguments.length ){ case 0 : default : A.$l( this.layer , A.MOUSEDOWN , $_d_ ); break ; case 1 : { // boolean if( arguments[0] ){ A.$l( this.layer , A.MOUSEDOWN , $_d_ ); }else{ A.$l( this.layer , A.MOUSEDOWN , null ); } break ; } } }; /****************************** SET_METHOD - E N D ******************************/ } setEventMember__Element__();