if(!window.jsMath){window.jsMath={}}if(jsMath.Autoload==null){jsMath.Autoload={}}jsMath.Add=function(dst,src){for(var id in src){dst[id]=src[id]}},jsMath.document=document;jsMath.Add(jsMath.Autoload,{Script:{request:null,iframe:null,operaXMLHttpRequestBug:(window.opera!=null),Init:function(){this.Root();if(window.XMLHttpRequest){try{this.request=new XMLHttpRequest}catch(err){}if(this.request&&window.location.protocol=="file:"){try{this.request.open("GET",jsMath.Autoload.root+"plugins/autoload.js",false);this.request.send(null)}catch(err){this.request=null;if(window.postMessage){this.mustPost=1;window.addEventListener("message",jsMath.Autoload.Post.Listener,false)}}}}if(!this.request&&window.ActiveXObject){var xml=["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];for(var i=0;i<xml.length&&!this.request;i++){try{this.request=new ActiveXObject(xml[i])}catch(err){}}}},Load:function(url){if(this.request&&!(this.operaXMLHttpRequestBug&&url=="jsMath.js")){setTimeout(function(){jsMath.Autoload.Script.xmlLoad(url)},1)}else{this.startLoad(url)}},xmlLoad:function(url){try{this.request.open("GET",jsMath.Autoload.root+url,false);this.request.send(null)}catch(err){throw"autoload: can't load the file '"+url+"'\nMessage: "+err.message}if(this.request.status&&this.request.status>=400){throw"autoload: can't load the file '"+url+"'\nError status: "+this.request.status}window.eval(this.request.responseText);this.endLoad()},startLoad:function(url){this.iframe=document.createElement("iframe");this.iframe.style.visibility="hidden";this.iframe.style.position="absolute";this.iframe.style.width="0px";this.iframe.style.height="0px";if(document.body.firstChild){document.body.insertBefore(this.iframe,document.body.firstChild)}else{document.body.appendChild(this.iframe)}this.url=url;setTimeout("jsMath.Autoload.Script.setURL()",100)},endLoad:function(){setTimeout("jsMath.Autoload.Script.AfterLoad()",1)},setURL:function(){if(this.mustPost){this.iframe.src=jsMath.Autoload.Post.startLoad(this.url,this.iframe)}else{var url=jsMath.Autoload.root+"jsMath-autoload.html";var doc=this.iframe.contentDocument;if(!doc&&this.iframe.contentWindow){doc=this.iframe.contentWindow.document}if(navigator.vendor=="Apple Computer, Inc."&&document.location.protocol=="file:"){doc=null}if(doc){doc.location.replace(url)}else{this.iframe.src=url}}},queue:[],Push:function(name,data){this.queue[this.queue.length]=[name,data]},RunStack:function(){if(this.tex2math){jsMath.Autoload.Check2();return}for(var i=0;i<this.queue.length;i++){var name=this.queue[i][0];var data=this.queue[i][1];if(data.length==1){jsMath[name](data[0])}else{jsMath[name](data[0],data[1],data[2],data[3])}}this.queue=[]},AfterLoad:function(){jsMath.Autoload.Script.RunStack()},Root:function(){if(jsMath.Autoload.root){return}var script=document.getElementsByTagName("script");if(script){for(var i=0;i<script.length;i++){var src=script[i].src;if(src&&src.match("(^|/|\\\\)plugins/autoload.js$")){jsMath.Autoload.root=src.replace(/plugins\/autoload.js$/,"");break}}}}},Post:{window:null,Listener:function(event){if(event.source!=jsMath.Autoload.Post.window){return}var domain=event.origin;var ddomain=document.domain;if(domain==null||domain==""){domain="localhost"}if(ddomain==null||ddomain==""){ddomain="localhost"}if(domain!=ddomain||event.data.substr(0,6)!="jsMAL:"){return}var type=event.data.substr(6,3).replace(/ /g,"");var message=event.data.substr(10);if(jsMath.Autoload.Post.Commands[type]){(jsMath.Autoload.Post.Commands[type])(message)}},Commands:{SCR:function(message){window.eval(message)},ERR:function(message){jsMath.Autoload.Script.endLoad()},END:function(message){jsMath.Autoload.Script.endLoad()}},startLoad:function(url,iframe){this.window=iframe.contentWindow;return jsMath.Autoload.root+"jsMath-loader-post.html?autoload="+url},endLoad:function(){this.window=null}},Check:function(){if(this.checked){return}this.checked=1;if((this.findTeXstrings||this.findLaTeXstrings||this.findCustomStrings||this.findCustomSettings)&&(!jsMath.tex2math||!jsMath.tex2math.loaded)){this.Script.tex2math=1;this.Script.Load("plugins/tex2math.js")}else{if(!jsMath.tex2math){jsMath.tex2math={}}this.Check2()}},ReCheck:function(){if(jsMath.loaded){return}this.InitStubs();this.checked=0;this.Script.queue=[];this.Check()},Check2:function(){this.Script.tex2math=0;this.needsJsMath=0;if(this.checkElement==null){this.checkElement=null}if(this.findTeXstrings){jsMath.tex2math.ConvertTeX(this.checkElement)}if(this.findLaTeXstrings){jsMath.tex2math.ConvertLaTeX(this.checkElement)}if(this.findCustomSettings){jsMath.tex2math.Convert(this.checkElement,this.findCustomSettings)}if(this.findCustomStrings){var s=this.findCustomStrings;jsMath.tex2math.CustomSearch(s[0],s[1],s[2],s[3]);jsMath.tex2math.ConvertCustom(this.checkElement)}this.needsJsMath=this.areMathElements(this.checkElement);if(this.needsJsMath){this.LoadJsMath()}else{jsMath.Process=function(){};jsMath.ProcessBeforeShowing=function(){};jsMath.ConvertTeX=function(){};jsMath.ConvertTeX2=function(){};jsMath.ConvertLaTeX=function(){};jsMath.ConvertCustom=function(){};jsMath.CustomSearch=function(){};jsMath.Macro=function(){};jsMath.Synchronize=function(code,data){if(typeof(code)=="string"){eval(code)}else{code(data)}};jsMath.Autoload.Script.RunStack();jsMath.Autoload.setMessage()}},tex2mathCallback:function(){jsMath.Autoload.needsJsMath=1;return false},Run:function(data){},areMathElements:function(obj){if(!obj){obj=document}if(typeof(obj)=="string"){obj=document.getElementById(obj)}if(!obj.getElementsByTagName){return false}var math=obj.getElementsByTagName("div");for(var k=0;k<math.length;k++){if(math[k].className.match(/(^| )math( |$)/)){return true}}math=obj.getElementsByTagName("span");for(var k=0;k<math.length;k++){if(math[k].className.match(/(^| )math( |$)/)){return true}}return false},LoadJsMath:function(){if(this.loading){return}if(jsMath.loaded){this.afterLoad();return}if(this.root){this.loading=1;this.setMessage("Loading jsMath...");this.Script.AfterLoad=this.afterLoad;this.Script.Load("jsMath.js")}else{alert("Can't determine URL for jsMath.js")}},afterLoad:function(){jsMath.Autoload.loading=0;if(jsMath.tex2math.window){jsMath.tex2math.window.jsMath=jsMath}if(jsMath.browser=="MSIE"){window.onscroll=jsMath.window.onscroll}var fonts=jsMath.Autoload.loadFonts;if(fonts){if(typeof(fonts)!="object"){fonts=[fonts]}for(var i=0;i<fonts.length;i++){jsMath.Font.Load(fonts[i])}}var files=jsMath.Autoload.loadFiles;if(files){if(typeof(files)!="object"){files=[files]}for(var i=0;i<files.length;i++){jsMath.Setup.Script(files[i])}}jsMath.Synchronize(function(){jsMath.Autoload.Script.RunStack()});jsMath.Autoload.setMessage()},setMessage:function(message){if(message){this.div=document.createElement("div");if(!document.body.hasChildNodes){document.body.appendChild(this.div)}else{document.body.insertBefore(this.div,document.body.firstChild)}var style={position:"fixed",bottom:"1px",left:"2px",backgroundColor:"#E6E6E6",border:"solid 1px #959595",margin:"0px",padding:"1px 8px",zIndex:102,color:"black",fontSize:"75%",width:"auto"};for(var id in style){this.div.style[id]=style[id]}this.div.appendChild(jsMath.document.createTextNode(message))}else{if(this.div){this.div.firstChild.nodeValue="";this.div.style.visibility="hidden"}}},stubs:{Process:function(data){jsMath.Autoload.Script.Push("Process",[data])},ProcessBeforeShowing:function(data){jsMath.Autoload.Script.Push("ProcessBeforeShowing",[data])},ConvertTeX:function(data){jsMath.Autoload.Script.Push("ConvertTeX",[data])},ConvertTeX2:function(data){jsMath.Autoload.Script.Push("ConvertTeX2",[data])},ConvertLaTeX:function(data){jsMath.Autoload.Script.Push("ConvertLaTeX",[data])},ConvertCustom:function(data){jsMath.Autoload.Script.Push("ConvertCustom",[data])},CustomSearch:function(d1,d2,d3,d4){jsMath.Autoload.Script.Push("CustomSearch",[d1,d2,d3,d4])},Synchronize:function(data){jsMath.Autoload.Script.Push("Synchronize",[data])},Macro:function(cs,def,params){jsMath.Autoload.Script.Push("Macro",[cs,def,params])}},InitStubs:function(){jsMath.Add(jsMath,jsMath.Autoload.stubs)}});if(jsMath.Autoload.findTeXstrings==null){jsMath.Autoload.findTeXstrings=0}if(jsMath.Autoload.findLaTeXstrings==null){jsMath.Autoload.findLaTeXstrings=0}jsMath.Autoload.Script.Init();jsMath.Autoload.InitStubs();if(document.body&&!jsMath.Autoload.delayCheck){jsMath.Autoload.Check()};