var Ms_m=new Ms_msobj;
Ms_mouseon=true;	// information for sprite routines

function Ms_initmouse(){if(ns){document.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP|Event.MOUSEDOWN);document.onMouseMove=Ms_getmousexy;document.onMouseDown=Ms_md;document.onMouseUp=Ms_mu}else{document.onmousemove=Ms_getmousexy2;document.onmousedown=Ms_md;document.onmouseup=Ms_mu}return Ms_m}
function Ms_mu(evnt){Ms_m.mousedown=false;Ms_m.dragging=false;if(Ms_m.over!=null){Ms_m.over.ob.zIndex=Ms_m.z;Ms_m.over.on=Ms_m.onstate;eval(Ms_m.over.onclickup);Ms_m.over=null}return true}
function Ms_md(evnt){Ms_m.mousedown=true;if(Ms_m.over!=null){eval(Ms_m.over.onclickdown);Ms_m.xoff=Math.floor(Ms_m.x-Ms_m.over.x);Ms_m.yoff=Math.floor(Ms_m.x-Ms_m.over.x);Ms_m.onstate=Ms_m.over.on;Ms_m.over.on=false;Ms_m.z=Ms_m.over.ob.zIndex;Ms_m.over.ob.zIndex=10000;return false}return true}
function Ms_getmousexy(evnt){Ms_m.x=evnt.pageX-Sp_xoffset;Ms_m.y=evnt.pageY-Sp_yoffset;if(Ms_mouseon){if(!Ms_m.mousedown) checkmo();else if(Ms_m.over!=null&&Ms_m.over.draggable){Ms_m.over.x=Ms_m.x-Ms_m.xoff;Ms_m.over.y=Ms_m.y-Ms_m.yoff;Ms_m.over.ob.left=Ms_m.x-Ms_m.xoff+Sp_xoffset;Ms_m.over.ob.top=Ms_m.y-Ms_m.yoff+Sp_yoffset;Ms_m.dragging=true}if(Ms_m.over!=null) return false}return true}
function Ms_getmousexy2(){Ms_m.x=event.clientX-Sp_xoffset;Ms_m.y=event.clientY-Sp_yoffset;if(Ms_mouseon){if(!Ms_m.mousedown) checkmo();else if(Ms_m.over!=null&&Ms_m.over.draggable){Ms_m.over.x=Ms_m.x-Ms_m.xoff;Ms_m.over.y=Ms_m.y-Ms_m.yoff;Ms_m.over.ob.left=Ms_m.x-Ms_m.xoff+Sp_xoffset;Ms_m.over.ob.top=Ms_m.y-Ms_m.yoff+Sp_yoffset;Ms_m.dragging=true}if(Ms_m.over!=null) return false}return true}
function checkmo(){Ms_m.over=null;var Ms_msfnd=-10000;for(var n=0;n<Sp_totalsprites;n++){var sp=Sp_sprite[n];if(sp.on&&(Ms_m.x>sp.x)&&(Ms_m.x<sp.x+sp.width)&&(Ms_m.y>sp.y)&&(Ms_m.y<sp.y+sp.height)&&(sp.z>Ms_msfnd)){Ms_m.over=sp;Ms_msfnd=sp.z}}if(Ms_m.over!=Ms_m.cover){if(Ms_m.cover!=null) eval(Ms_m.cover.onmouseout);if(Ms_m.over!=null) eval(Ms_m.over.onmouseover)}Ms_m.cover=Ms_m.over}
function Ms_msobj(){this.xoff=0;this.yoff=0;this.z=0;this.onstate=false;this.mousedown=false;this.dragging=false;this.lmd=null;this.x=0;this.y=0;this.over=null;this.cover=null;this.enable=Ms_enable;this.disable=Ms_disable}
function Ms_enable(){Ms_mouseon=true;}
function Ms_disable(){Ms_mouseon=false;if(Ms_m.over!=null) eval(Ms_m.over.onmouseout);if(Ms_m.cover!=null) eval(Ms_m.cover.onmouseout);Ms_m.over=null;Ms_m.cover=null}
