/* * /MathJax/extensions/MathEvents.js * * Copyright (c) 2012 Design Science, Inc. * * Part of the MathJax library. * See http://www.mathjax.org for details. * * Licensed under the Apache License, Version 2.0; * you may not use this file except in compliance with the License. * * http://www.apache.org/licenses/LICENSE-2.0 */(function(d,h,l,g,b,j){varp="2.0";vari=MathJax.Extension;varc=i.MathEvents={version:p};vark=d.config.menuSettings;varo={hover:500,frame:{x:3.5,y:5,bwidth:1,bcolor:"#A6D",hwidth:"15px",hcolor:"#83A"},button:{x:-4,y:-3,wx:-2,src:l.fileURL(b.imageDir+"/MenuArrow-15.png")},fadeinInc:0.2,fadeoutInc:0.05,fadeDelay:50,fadeoutStart:400,fadeoutDelay:15*1000,styles:{".MathJax_Hover_Frame":{"border-radius":".25em","-webkit-border-radius":".25em","-moz-border-radius":".25em","-khtml-border-radius":".25em","box-shadow":"0px 0px 15px #83A","-webkit-box-shadow":"0px 0px 15px #83A","-moz-box-shadow":"0px 0px 15px #83A","-khtml-box-shadow":"0px 0px 15px #83A",border:"1px solid #A6D ! important",display:"inline-block",position:"absolute"},".MathJax_Hover_Arrow":{position:"absolute",width:"15px",height:"11px",cursor:"pointer"}}};varm=c.Event={LEFTBUTTON:0,RIGHTBUTTON:2,MENUKEY:"altKey",Mousedown:function(q){returnm.Handler(q,"Mousedown",this)},Mouseup:function(q){returnm.Handler(q,"Mouseup",this)},Mousemove:function(q){returnm.Handler(q,"Mousemove",this)},Mouseover:function(q){returnm.Handler(q,"Mouseover",this)},Mouseout:function(q){returnm.Handler(q,"Mouseout",this)},Click:function(q){returnm.Handler(q,"Click",this)},DblClick:function(q){returnm.Handler(q,"DblClick",this)},Menu:function(q){returnm.Handler(q,"ContextMenu",this)},Handler:function(t,r,s){if(l.loadingMathMenu){returnm.False(t)}varq=b[s.jaxID];if(!t){t=window.event}t.isContextMenu=(r==="ContextMenu");if(q[r]){returnq[r](t,s)}if(i.MathZoom){returni.MathZoom.HandleEvent(t,r,s)}},False:function(q){if(!q){q=window.event}if(q){if(q.preventDefault){q.preventDefault()}if(q.stopPropagation){q.stopPropagation()}q.cancelBubble=true;q.returnValue=false}returnfalse},ContextMenu:function(r,y,u){varw=b[y.jaxID],t=w.getJaxFromMath(y);varz=(w.config.showMathMenu!=null?w:d).config.showMathMenu;if(!z||(k.context!=="MathJax"&&!u)){return}if(c.msieEventBug){r=window.event||r}m.ClearSelection();f.ClearHoverTimer();if(t.hover){if(t.hover.remove){clearTimeout(t.hover.remove);deletet.hover.remove}t.hover.nofade=true}vars=MathJax.Menu;if(s){s.jax=t;varq=s.menu.Find("Show Math As").menu;q.items[1].name=(j[t.inputJax].sourceMenuTitle||"Original Form");q.items[0].hidden=(t.inputJax==="Error");varv=s.menu.Find("Math Settings","MathPlayer");v.hidden=!(t.outputJax==="NativeMML"&&d.Browser.hasMathPlayer);returns.menu.Post(r)}else{if(!l.loadingMathMenu){l.loadingMathMenu=true;varx={pageX:r.pageX,pageY:r.pageY,clientX:r.clientX,clientY:r.clientY};g.Queue(l.Require("[MathJax]/extensions/MathMenu.js"),function(){deletel.loadingMathMenu;if(!MathJax.Menu){MathJax.Menu={}}},["ContextMenu",this,x,y,u])}returnm.False(r)}},AltContextMenu:function(s,r){vart=b[r.jaxID];varq=(t.config.showMathMenu!=null?t:d).config.showMathMenu;if(q){q=(t.config.showMathMenuMSIE!=null?t:d).config.showMathMenuMSIE;if(k.context==="MathJax"&&!k.mpContext&&q){if(!c.noContextMenuBug||s.button!==m.RIGHTBUTTON){return}}else{if(!s[m.MENUKEY]||s.button!==m.LEFTBUTTON){return}}returnt.ContextMenu(s,r,true)}},ClearSelection:function(){if(c.safariContextMenuBug){setTimeout("window.getSelection().empty()",0)}if(document.selection){setTimeout("document.selection.empty()",0)}},getBBox:function(s){s.appendChild(c.topImg);varr=c.topImg.offsetTop,t=s.offsetHeight-r,q=s.offsetWidth;s.removeChild(c.topImg);return{w:q,h:r,d:t}}};varf=c.Hover={Mouseover:function(s,r){if(k.discoverable||k.zoom==="Hover"){varu=s.fromElement||s.relatedTarget,t=s.toElement||s.target;if(u&&t&&(u.isMathJax!=t.isMathJax||d.getJaxFor(u)!==d.getJaxFor(t))){varq=this.getJaxFromMath(r);if(q.hover){f.ReHover(q)}else{f.HoverTimer(q,r)}returnm.False(s)}}},Mouseout:function(s,r){if(k.discoverable||k.zoom==="Hover"){varu=s.fromElement||s.relatedTarget,t=s.toElement||s.target;if(u&&t&&(u.isMathJax!=t.isMathJax||d.getJaxFor(u)!==d.getJaxFor(t))){varq=this.getJaxFromMath(r);if(q.hover){f.UnHover(q)}else{f.ClearHoverTimer()}returnm.False(s)}}},Mousemove:function(s,r){if(k.discoverable||k.zoom==="Hover"){varq=this.getJaxFromMath(r);if(q.hover){return}if(f.lastX==s.clientX&&f.lastY==s.clientY){return}f.lastX=s.clientX;f.lastY=s.clientY;f.HoverTimer(q,r);returnm.False(s)}},HoverTimer:function(q,r){this.ClearHoverTimer();this.hoverTimer=setTimeout(g(["Hover",this,q,r]),o.hover)},ClearHoverTimer:function(){if(this.hoverTimer){clearTimeout(this.hoverTimer);deletethis.hoverTimer}},Hover:function(q,u){if(i.MathZoom&&i.MathZoom.Hover({},u)){return}vart=b[q.outputJax],v=t.getHoverSpan(q,u),y=t.getHoverBBox(q,v,u),w=(t.config.showMathMenu!=null?t:d).config.showMathMenu;varA=o.frame.x,z=o.frame.y,x=o.frame.bwidth;if(c.msieBorderWidthBug){x=0}q.hover={opacity:0,id:q.inputID+"-Hover"};varr=h.Element("span",{id:q.hover.id,isMathJax:true,style:{display:"inline-block",width:0,height:0,position:"relative"}},[["span",{className:"MathJax_Hover_Frame",isMathJax:true,style:{display:"inline-block",position:"absolute",top:this.Px(-y.h-z-x-(y.y||0)),left:this.Px(-A-x+(y.x||0)),width:this.Px(y.w+2*A),height:this.Px(y.h+y.d+2*z),opacity:0,filter:"alpha(opacity=0)"}}]]);vars=h.Element("span",{isMathJax:true,id:q.hover.id+"Menu",style:{display:"inline-block","z-index":1,width:0,height:0,position:"relative"}},[["img",{className:"MathJax_Hover_Arrow",isMathJax:true,math:u,src:o.button.src,onclick:this.HoverMenu,jax:t.id,style:{left:this.Px(y.w+A+x+(y.x||0)+o.button.x),top:this.Px(-y.h-z-x-(y.y||0)-o.button.y),opacity:0,filter:"alpha(opacity=0)"}}]]);if(y.width){r.style.width=s.style.width=y.width;r.style.marginRight=s.style.marginRight="-"+y.width;r.firstChild.style.width=y.width;s.firstChild.style.left="";s.firstChild.style.right=this.Px(o.button.wx)}v.parentNode.insertBefore(r,v);if(w){v.parentNode.insertBefore(s,v)}if(v.style){v.style.position="relative"}this.ReHover(q)},ReHover:function(q){if(q.hover.remove){clearTimeout(q.hover.remove)}q.hover.remove=setTimeout(g(["UnHover",this,q]),o.fadeoutDelay);this.HoverFadeTimer(q,o.fadeinInc)},UnHover:function(q){if(!q.hover.nofade){this.HoverFadeTimer(q,-o.fadeoutInc,o.fadeoutStart)}},HoverFade:function(q){deleteq.hover.timer;q.hover.opacity=Math.max(0,Math.min(1,q.hover.opacity+q.hover.inc));q.hover.opacity=Math.floor(1000*q.hover.opacity)/1000;vars=document.getElementById(q.hover.id),r=document.getElementById(q.hover.id+"Menu");s.firstChild.style.opacity=q.hover.opacity;s.firstChild.style.filter="alpha(opacity="+Math.floor(100*q.hover.opacity)+")";if(r){r.firstChild.style.opacity=q.hover.opacity;r.firstChild.style.filter=s.style.filter}if(q.hover.opacity===1){return}if(q.hover.opacity>0){this.HoverFadeTimer(q,q.hover.inc);return}s.parentNode.removeChild(s);if(r){r.parentNode.removeChild(r)}if(q.hover.remove){clearTimeout(q.hover.remove)}deleteq.hover},HoverFadeTimer:function(q,s,r){q.hover.inc=s;if(!q.hover.timer){q.hover.timer=setTimeout(g(["HoverFade",this,q]),(r||o.fadeDelay))}},HoverMenu:function(q){if(!q){q=window.event}returnb[this.jax].ContextMenu(q,this.math,true)},ClearHover:function(q){if(q.hover.remove){clearTimeout(q.hover.remove)}if(q.hover.timer){clearTimeout(q.hover.timer)}f.ClearHoverTimer();deleteq.hover},Px:function(q){if(Math.abs(q)<0.006){return"0px"}returnq.toFixed(2).replace(/\.?0+$/,"")+"px"},getImages:function(){varq=newImage();q.src=o.button.src}};vara=c.Touch={last:0,delay:500,start:function(r){varq=newDate().getTime();vars=(q-a.last<a.delay);a.last=q;if(s){a.timeout=setTimeout(a.menu,a.delay,r,this);r.preventDefault()}},end:function(q){if(a.timeout){clearTimeout(a.timeout);deletea.timeout;a.last=0;q.preventDefault();returnm.Handler((q.touches[0]||q.touch),"DblClick",this)}},menu:function(r,q){deletea.timeout;a.last=0;returnm.Handler((r.touches[0]||r.touch),"ContextMenu",q)}};if(d.Browser.isMobile){varn=o.styles[".MathJax_Hover_Arrow"];n.width="25px";n.height="18px";o.button.x=-6}d.Browser.Select({MSIE:function(q){vars=(document.documentMode||0);varr=q.versionAtLeast("8.0");c.msieBorderWidthBug=(document.compatMode==="BackCompat");c.msieEventBug=q.isIE9;c.msieAlignBug=(!r||s<8);if(s<9){m.LEFTBUTTON=1}},Safari:function(q){c.safariContextMenuBug=true},Opera:function(q){c.operaPositionBug=true},Konqueror:function(q){c.noContextMenuBug=true}});c.topImg=(c.msieAlignBug?h.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}):h.Element("span",{style:{width:0,height:0,display:"inline-block"}}));if(c.operaPositionBug){c.topImg.style.border="1px solid"}c.config=o=d.CombineConfig("MathEvents",o);vare=function(){varq=o.styles[".MathJax_Hover_Frame"];q.border=o.frame.bwidth+"px solid "+o.frame.bcolor+" ! important";q["box-shadow"]=q["-webkit-box-shadow"]=q["-moz-box-shadow"]=q["-khtml-box-shadow"]="0px 0px "+o.frame.hwidth+" "+o.frame.hcolor};g.Queue(d.Register.StartupHook("End Config",{}),[e],["getImages",f],["Styles",l,o.styles],["Post",d.Startup.signal,"MathEvents Ready"],["loadComplete",l,"[MathJax]/extensions/MathEvents.js"])})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.Callback,MathJax.OutputJax,MathJax.InputJax);