--- loncom/html/adm/jsMath/plugins/CHMmode.js 2006/05/17 22:23:23 1.1 +++ loncom/html/adm/jsMath/plugins/CHMmode.js 2007/10/09 21:29:28 1.2 @@ -10,7 +10,7 @@ * * --------------------------------------------------------------------- * - * Copyright 2006 by Davide P. Cervone + * Copyright 2006-2007 by Davide P. Cervone * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,8 +29,57 @@ if (!window.jsMath) {window.jsMath = {}} if (!jsMath.Controls) {jsMath.Controls = {}} if (!jsMath.Controls.cookie) {jsMath.Controls.cookie = {}} +jsMath.isCHMmode = 1; + jsMath.noChangeGlobal = 1; jsMath.noShowGlobal = 1; -jsMath.noImageFonts = 1; +jsMath.noImgFonts = 1; jsMath.Controls.cookie.global = 'always'; jsMath.Controls.cookie.hiddenGlobal = 1; + +if (window.location.protocol == "mk:") { + + /* + * Work around bug in hh.exe that causes it to run at 100% CPU + * and not exit if the page is reloaded after an IFRAME is used + * to load the controls file, so fake it using XMLHttpRequest. + * Load the data into a DIV instead of an IFRAME, and make sure + * that the styles are correct for it. Change the GetPanel() + * call to get the hide the other panel and open the cirrect one. + */ + + jsMath.Controls.Init = function () { + this.controlPanels = jsMath.Setup.DIV("controlPanels"); + if (!jsMath.Browser.msieButtonBug) {this.Button()} + else {setTimeout("jsMath.Controls.Button()",500)} + } + + jsMath.Controls.Panel = function () { + jsMath.Translate.Cancel(); + jsMath.Setup.AddStyleSheet({ + '#jsMath_options': jsMath.styles['#jsMath_panel'], + '#jsMath_options .disabled': jsMath.styles['#jsMath_panel .disabled'], + '#jsMath_options .infoLink': jsMath.styles['#jsMath_panel .infoLink'] + }); + if (this.loaded) {this.panel = jsMath.Element("panel"); this.Main(); return} + var html = jsMath.Script.xmlRequest(jsMath.root+"jsMath-controls.html"); + var body = (html.match(/([\s\S]*)<\/body>/))[1]; + this.controlPanels.innerHTML = body; + var script = (body.match(/