',
+a.$after("#"+e._id+"_appletdiv",h.replace(/ID/g,e._id+"_localReader")),e._localReader=a.$(e,"localReader"));a.$appEvent(e,"localReader_loadfile","click");a.$appEvent(e,"localReader_loadfile","click",function(){var c=a.$(e,"localReader_files")[0].files[0],k=new FileReader;k.onloadend=function(k){k.target.readyState==FileReader.DONE&&(a.$css(a.$(e,"localReader"),{display:"none"}),a._setData(b,c.name,c.name,k.target.result,d))};k.readAsArrayBuffer(c)});a.$appEvent(e,"localReader_cancel","click");a.$appEvent(e,
+"localReader_cancel","click",function(){a.$css(a.$(e,"localReader"),{display:"none"});b.setData(null,null,null,d)});a.$css(a.$(e,"localReader"),{display:"block"})};a._setData=function(b,e,c,d,k){d=a._strToBytes(d);0<=e.indexOf(".jdx")&&a.Cache.put("cache://"+e,d);b.setData(e,c,d,k)};a._toBytes=function(a){if("string"==typeof a)return a.getBytes();a=new Uint8Array(a);for(var e=Clazz.newByteArray(a.length,0),c=a.length;0<=--c;)e[c]=a[c];return e};a._doAjax=function(b,e,c){b=b.toString();if(null!=c)return a._saveFile(b,
+c);e&&(b+="?POST?"+e);return a._getFileData(b,null,!0)};a._saveFile=function(b,e,c,d){if(a._localFileSaveFunction&&a._localFileSaveFunction(b,e))return"OK";b=b.substring(b.lastIndexOf("/")+1);c||(c=0<=b.indexOf(".pdf")?"application/pdf":0<=b.indexOf(".png")?"image/png":0<=b.indexOf(".gif")?"image/gif":0<=b.indexOf(".jpg")?"image/jpg":"");var k="string"==typeof e;k||(e=(JU?JU:J.util).Base64.getBase64(e).toString());d||(d=k?"":"base64");(k=a._serverUrl)&&0<=k.indexOf("your.server")&&(k="");a._useDataURI||
+!k?(d||(e=btoa(e)),d=document.createElement("a"),d.href="data:"+c+";base64,"+e,d.type=c||"text/plain",d.download=b,d.target="_blank",l("body").append(d),d.click(),d.remove()):(a._formdiv||(a.$after("body",'
\t\t\t\t\t\t\t\t\t\t\t\t
'),
+a._formdiv="__jsmolform__"),a.$attr(a._formdiv,"action",k+"?"+(new Date).getMilliseconds()),a.$val("__jsmoldata__",e),a.$val("__jsmolfilename__",b),a.$val("__jsmolmimetype__",c),a.$val("__jsmolencoding__",d),a.$submit("__jsmolform__"),a.$val("__jsmoldata__",""),a.$val("__jsmolfilename__",""));return"OK"};a._strToBytes=function(b){if(Clazz.instanceOf(b,self.ArrayBuffer))return a._toBytes(b);for(var e=Clazz.newByteArray(b.length,0),c=b.length;0<=--c;)e[c]=b.charCodeAt(c)&255;return e};a._setConsoleDiv=
+function(a){self.Clazz&&Clazz.setConsoleDiv(a)};a._registerApplet=function(b,e){return window[b]=a._applets[b]=a._applets[e]=a._applets[b+"__"+a._syncId+"__"]=e};a._readyCallback=function(b,e,c,d,k){b=b.split("_object")[0];k||(k=d);c=c.booleanValue?c.booleanValue():c;var h=a._applets[b];h._appletPanel=k;h._applet=d;a._track(h._readyCallback(b,e,c))};a._getWrapper=function(b,e){var c;if(e){var d="";b._coverImage&&(d=' onclick="Jmol.coverApplet(ID, false)" title="'+b._coverTitle+'"',c='
",d='
"+c+"
");c=a._appletCssText.replace(/\'/g,'"');c=0<=c.indexOf('style="')?c.split('style="')[1]:
+'" '+c;c='...
IMG......
";var k=b._height,h=b._width;if("string"!==typeof k||0>k.indexOf("%"))k+="px";if("string"!==typeof h||0>h.indexOf("%"))h+="px";c=c.replace(/IMG/,d).replace(/Hpx/g,k).replace(/Wpx/g,h)}else c='......
......
......
...
';
+return c.replace(/\.\.\./g,"").replace(/[\n\r]/g,"").replace(/ID/g,b._id)};a._documentWrite=function(b){if(a._document){if(a._isXHTML&&!a._XhtmlElement){var e=document.getElementsByTagName("script");a._XhtmlElement=e.item(e.length-1);a._XhtmlAppendChild=!1}a._XhtmlElement?a._domWrite(b):a._document.write(b)}return b};a._domWrite=function(b){for(var e=[0];e[0]
b.jarFile.indexOf("Signed")&&(b.jarFile=b.jarFile.replace(/Applet/,"AppletSigned")),b.use=b.use.replace(/SIGNED/,"JAVA"),b.isSigned=!0)};a._syncedApplets=[];a._syncedCommands=[];a._syncedReady=[];a._syncReady=!1;a._isJmolJSVSync=!1;a._setReady=function(b){a._syncedReady[b]=
+1;for(var e=0,c=0;cb[0]?-1:0}if(!a||"object"!=typeof a)return[];for(var c=[],d=a.length-1;0<=d;d--)for(var k=0,h=a[d].length;ke.type.indexOf("touch"))return!1;var c=a.$offset(b.id),d,k=e.originalEvent;e.pageX||(e.pageX=k.pageX);e.pageY||(e.pageY=k.pageY);
+a._mousePageX=e.pageX;a._mousePageY=e.pageY;k.targetTouches&&k.targetTouches[0]?(d=k.targetTouches[0].pageX-c.left,c=k.targetTouches[0].pageY-c.top):k.changedTouches?(d=k.changedTouches[0].pageX-c.left,c=k.changedTouches[0].pageY-c.top):(d=e.pageX-c.left,c=e.pageY-c.top);return void 0==d?null:[Math.round(d),Math.round(c),a._jsGetMouseModifiers(e)]};a._gestureUpdate=function(b,e){e.stopPropagation();e.preventDefault();var c=e.originalEvent;switch(e.type){case "touchstart":a._touching=!0;break;case "touchend":a._touching=
+!1}if(!c.touches||2!=c.touches.length)return!1;switch(e.type){case "touchstart":b._touches=[[],[]];break;case "touchmove":var d=a.$offset(b.id),k=b._touches[0],h=b._touches[1];k.push([c.touches[0].pageX-d.left,c.touches[0].pageY-d.top]);h.push([c.touches[1].pageX-d.left,c.touches[1].pageY-d.top]);c=k.length;3d?-1:1,0,c]);return!1});a.$bind(b,
+"contextmenu",function(){return!1});a.$bind(b,"mouseout",function(c){if(e(c))return!0;a._mouseOwner&&!a._mouseOwner.mouseMove&&a._setMouseOwner(null);b.applet._appletPanel&&b.applet._appletPanel.startHoverWatcher(!1);a._jsGetXY(b,c);return!1});a.$bind(b,"mouseenter",function(c){if(e(c))return!0;b.applet._appletPanel&&b.applet._appletPanel.startHoverWatcher(!0);if(0===c.buttons||0===c.which){b.isDragging=!1;c=a._jsGetXY(b,c);if(!c)return!1;b.applet._processEvent(504,c);b.applet._processEvent(502,c);
+return!1}});a.$bind(b,"mousemoveoutjsmol",function(c,d,k){if(e(k))return!0;if(b==a._mouseOwner&&b.isDragging)return a._drag(b,k)});b.applet._is2D&&a.$resize(function(){b.applet&&b.applet._resize()});a.$bind("body","mouseup touchend",function(c){if(e(c))return!0;b.applet&&(b.isDragging=!1);a._setMouseOwner(null)})};a._jsUnsetMouse=function(b){b.applet=null;a.$bind(b,"mousedown touchstart mousemove touchmove mouseup touchend DOMMouseScroll mousewheel contextmenu mouseout mouseenter",null);a._setMouseOwner(null)};
+a.Swing={count:0,menuInitialized:0,menuCounter:0,htDialogs:{}};var r=a.Swing;SwingController=r;r.setDraggable=function(b){b=b.prototype;b.setContainer||(b.setContainer=function(b){this.container=b;b.obj=this;this.ignoreMouse=this.isDragging=!1;var c=this;b.bind("mousedown touchstart",function(b){if(c.ignoreMouse)return c.ignoreMouse=!1,!0;a._setMouseOwner(c,!0);c.isDragging=!0;c.pageX=b.pageX;c.pageY=b.pageY;return!1});b.bind("mousemove touchmove",function(b){if(c.isDragging&&a._mouseOwner==c)return c.mouseMove(b),
+!1});b.bind("mouseup touchend",function(b){c.mouseUp(b);a._setMouseOwner(null)})},b.mouseUp=function(b){if(this.isDragging&&a._mouseOwner==this)return this.pageX0+=b.pageX-this.pageX,this.pageY0+=b.pageY-this.pageY,this.isDragging=!1;a._setMouseOwner(null)},b.setPosition=function(){if(null===a._mousePageX){var b=a.$offset(this.applet._id+"_"+(this.applet._is2D?"canvas2d":"canvas"));a._mousePageX=b.left;a._mousePageY=b.top}this.pageX0=a._mousePageX;this.pageY0=a._mousePageY;this.container.css({top:a._mousePageY+
+"px",left:a._mousePageX+"px"})},b.mouseMove=function(b){if(this.isDragging&&a._mouseOwner==this){this.timestamp=System.currentTimeMillis();var c=this.pageX0+(b.pageX-this.pageX);b=this.pageY0+(b.pageY-this.pageY);a._mousePageX=c;a._mousePageY=b;this.container.css({top:b+"px",left:c+"px"})}},b.dragBind=function(b){this.applet._ignoreMouse=!b;this.container.unbind("mousemoveoutjsmol");this.container.unbind("touchmoveoutjsmol");this.container.unbind("mouseupoutjsmol");this.container.unbind("touchendoutjsmol");
+a._setMouseOwner(null);if(b){var c=this;this.container.bind("mousemoveoutjsmol touchmoveoutjsmol",function(a,b,d){c.mouseMove(d)});this.container.bind("mouseupoutjsmol touchendoutjsmol",function(a,b,d){c.mouseUp(d)})}})};r.JSDialog=function(){};r.setDraggable(r.JSDialog);r.getScreenDimensions=function(a){a.width=l(window).width();a.height=l(window).height()};r.dispose=function(b){a.$remove(b.id+"_mover");delete r.htDialogs[b.id];b.container.obj.dragBind(!1)};r.register=function(a,d){a.id=d+ ++r.count;
+r.htDialogs[a.id]=a};r.setDialog=function(b){a._setMouseOwner(null);a.$remove(b.id);var d=b.id+"_mover",c=a._$(d),k;c[0]?(c.html(b.html),k=c[0].jd):(a.$after("body",""+b.html+"
"),k=new r.JSDialog,c=a._$(d),b.container=c,k.applet=b.manager.vwr.html5Applet,k.setContainer(c),k.dialog=b,k.setPosition(),k.dragBind(!0),c[0].jd=k);a.$bind("#"+b.id+" .JButton","mousedown touchstart",function(){k.ignoreMouse=!0});a.$bind("#"+b.id+" .JComboBox",
+"mousedown touchstart",function(){k.ignoreMouse=!0});a.$bind("#"+b.id+" .JCheckBox","mousedown touchstart",function(){k.ignoreMouse=!0});a.$bind("#"+b.id+" .JTextField","mousedown touchstart",function(){k.ignoreMouse=!0});a.$bind("#"+b.id+" .JTable","mousedown touchstart",function(){k.ignoreMouse=!0});a.$bind("#"+b.id+" .JScrollPane","mousedown touchstart",function(){k.ignoreMouse=!0});a.$bind("#"+b.id+" .JEditorPane","mousedown touchstart",function(){k.ignoreMouse=!0})};r.setSelected=function(b){a.$prop(b.id,
+"checked",!!b.selected)};r.setSelectedIndex=function(b){a.$prop(b.id,"selectedIndex",b.selectedIndex)};r.setText=function(b){a.$prop(b.id,"value",b.text)};r.setVisible=function(b){a.$setVisible(b.id,b.visible)};r.setEnabled=function(b){a.$setEnabled(b.id,b.enabled)};r.click=function(b,d){var c=r.htDialogs[b.id];if(c){var k=c.toString();if(0<=k.indexOf("JCheck"))c.selected=b.checked;else if(0<=k.indexOf("JCombo"))c.selectedIndex=b.selectedIndex;else if(null!=c.text&&(c.text=b.value,d&&13!=(d.charCode||
+d.keyCode)))return}k=r.htDialogs[a.$getAncestorDiv(b.id,"JDialog").id];k.manager.actionPerformed(c?c.name:k.registryKey+"/"+b.id)};r.setFront=function(b){var d=b.manager.vwr.html5Applet;b.zIndex!=a._getZ(d,"dialog")&&(b.zIndex=a._incrZ(d,"dialog"));b.container&&((b.container[0]||b.container).style.zIndex=b.zIndex)};r.hideMenus=function(a){if(a=a._menus)for(var d in a)a[d].visible&&r.hideMenu(a[d])};r.windowClosing=function(b){b=r.htDialogs[a.$getAncestorDiv(b.id,"JDialog").id];b.registryKey?b.manager.processWindowClosing(b.registryKey):
+b.dispose()};a._track=function(b){if(a._tracker){try{var d='';a.$after("body",d)}catch(c){}delete a._tracker}return b};a.getProfile=function(){window["j2s.doProfile"]=!0;if(self.Clazz&&self.JSON)return Clazz._profile||(Clazz._profile={}),Clazz.getProfile()};a._getInChIKey=
+function(a,d){0<=d.indexOf("MOL=")&&d.split("MOL=")[1].split('"')};a._getAttr=function(a,d){var c=a.indexOf(d+"=");return 0<=c&&0<=(c=a.indexOf('"',c))?a.substring(c+1,a.indexOf('"',c+1)):null};a.User={viewUpdatedCallback:null};a.View={count:0,applets:{},sets:{}};(function(b){b.updateView=function(d,c){if(null!=d._viewSet){c.chemID||(d._searchQuery=null);c.data||(c.data="N/A");c.type=d._viewType;if(null==(d._currentView=b.__findView(d._viewSet,c)))d._currentView=b.__createViewSet(d._viewSet,c.chemID,
+c.viewID||c.chemID);d._currentView[c.type].data=c.data;d._currentView[c.type].smiles=d._getSmiles();a.User.viewUpdatedCallback&&a.User.viewUpdatedCallback(d,"updateView");b.__setView(d._currentView,d,!1)}};b.updateFromSync=function(d,c){d._updateMsg=c;var k=a._getAttr(c,"sourceID")||a._getAttr(c,"file");if(k){var h=b.__findView(d._viewSet,{viewID:k});if(null==h)return a.updateView(d,c);h!=d._currentView&&b.__setView(h,d,!0);var n=(k=a._getAttr(c,"atoms"))&&0<=c.indexOf("selectionhalos ON")?eval("["+
+k+"]"):[];setTimeout(function(){d._currentView==h&&b.updateAtomPick(d,n)},10);a.User.viewUpdatedCallback&&a.User.viewUpdatedCallback(d,"updateFromSync")}};b.updateAtomPick=function(b,c){var d=b._currentView;if(null!=d){for(var k in d)"info"!=k&&d[k].applet!=b&&d[k].applet._updateAtomPick(c);a.User.viewUpdatedCallback&&a.User.viewUpdatedCallback(b,"updateAtomPick")}};b.dumpViews=function(a){var c=b.sets[a];if(c){var d="View set "+a+":\n";a=b.applets[a];for(var k in a)d+="\napplet "+a[k]._id+" currentView="+
+(a[k]._currentView?a[k]._currentView.info.viewID:null);for(k=c.length;0<=--k;){a=c[k];var d=d+("\n\nview="+k+" viewID="+a.info.viewID+" chemID="+a.info.chemID+" \n"),h,n;for(n in a)"info"!=n&&(d+="\nview="+k+" type="+n+" applet="+((h=a[n]).applet?h.applet._id:null)+" SMILES="+h.smiles+"\n atomMap="+JSON.stringify(h.atomMap)+"\n data=\n"+h.data+"\n")}return d}};b.__init=function(a){var c=a._viewSet,d=b.applets;d[c]||(d[c]={});d[c][a._viewType]=a};b.__findView=function(a,c){var d=b.sets[a];null==
+d&&(d=b.sets[a]=[]);for(var k=d.length;0<=--k;){var h=d[k];if(c.viewID){if(h.info.viewID==c.viewID)return h}else{if(null!=c.chemID&&c.chemID==h.info.chemID)return h;for(var n in h)if("info"!=n&&(null!=c.data&&null!=h[n].data?c.data==h[n].data:c.type==n))return h}}return null};b.__createViewSet=function(d,c,k){b.count++;c={info:{chemID:c,viewID:k||"model_"+b.count}};for(var h in a._applets)k=a._applets[h],k._viewSet==d&&(c[k._viewType]={applet:k,data:null});b.sets[d].push(c);return c};b.__setView=
+function(a,b,d){for(var k in a)if("info"!=k){var h=a[k],n=h.applet,s=d||null!=n&&""==n._molData;if(!(null==n||n==b&&!s)){var l=null==h.data,r=null!=n._currentView;n._currentView=a;if(!r||!(a[k].data==h.data&&!l&!s))if(n._loadModelFromView(a),l)break}}}})(a.View);a.Cache={fileCache:{}};a.Cache.get=function(b){return a.Cache.fileCache[b]};a.Cache.put=function(b,d){a.Cache.fileCache[b]=d};a.Cache.setDragDrop=function(b){a.$appEvent(b,"appletdiv","dragover",function(a){a=a.originalEvent;a.stopPropagation();
+a.preventDefault();a.dataTransfer.dropEffect="copy"});a.$appEvent(b,"appletdiv","drop",function(d){var c=d.originalEvent;c.stopPropagation();c.preventDefault();var k=c.dataTransfer.files[0];if(null==k)try{k=""+c.dataTransfer.getData("text"),(0==k.indexOf("file:/")||0==k.indexOf("http:/"))&&b._scriptLoad(k)}catch(h){}else c=new FileReader,c.onloadend=function(c){if(c.target.readyState==FileReader.DONE){var h="cache://DROP_"+k.name;c=a._toBytes(c.target.result);h.endsWith(".spt")||b._appletPanel.cacheFileByName("cache://DROP_*",
+!1);"JSV"==b._viewType||h.endsWith(".jdx")?a.Cache.put(h,c):b._appletPanel.cachePut(h,c);(c=a._jsGetXY(b._canvas,d))&&(!b._appletPanel.setStatusDragDropped||b._appletPanel.setStatusDragDropped(0,c[0],c[1],h))&&b._appletPanel.openFileAsyncSpecial(h,1)}},c.readAsArrayBuffer(k)})}})(Jmol,jQuery);Jmol._debugCode=!1;
+(function(a){a._isAsync=!1;a._asyncCallbacks={};a._coreFiles=[];var l=!1,k=[],h=[],d=0,n=[],s=[],r=function(b){arguments.length||(b=!0);delete d;for(var e;0s.join("").indexOf(e[b])&&s.push(d+"/core/core"+e[b]+".z.js");for(b=0;b'+b+"._cover(false)\x3c/script>"));d+=a._getWrapper(this,!1);c.addSelectionOptions&&(d+=
+a._getGrabberOptions(this));a._debugAlert&&!a._document&&alert(d);this._code=a._documentWrite(d)};c._newCanvas=function(a){this._is2D?this._createCanvas2d(a):this._GLmol.create()};c._getHtml5Canvas=function(){return this._canvas};c._getWidth=function(){return this._canvas.width};c._getHeight=function(){return this._canvas.height};c._getContentLayer=function(){return a.$(this,"contentLayer")[0]};c._repaintNow=function(){a._repaint(this,!1)};c._createCanvas2d=function(){var b=a.$(this,"appletdiv");
+try{b[0].removeChild(this._canvas),this._canvas.frontLayer&&b[0].removeChild(this._canvas.frontLayer),this._canvas.rearLayer&&b[0].removeChild(this._canvas.rearLayer),this._canvas.contentLayer&&b[0].removeChild(this._canvas.contentLayer),a._jsUnsetMouse(this._mouseInterface)}catch(c){}var d=Math.round(b.width()),e=Math.round(b.height()),k=document.createElement("canvas");k.applet=this;this._canvas=k;k.style.width="100%";k.style.height="100%";k.width=d;k.height=e;k.id=this._id+"_canvas2d";b.append(k);
+a._$(k.id).css({"z-index":a._getZ(this,"main")});if(this._isLayered){var h=document.createElement("div");k.contentLayer=h;h.id=this._id+"_contentLayer";b.append(h);a._$(h.id).css({zIndex:a._getZ(this,"image"),position:"absolute",left:"0px",top:"0px",width:(this._isSwing?d:0)+"px",height:(this._isSwing?e:0)+"px",overflow:"hidden"});this._isSwing?(b=document.createElement("div"),b.id=this._id+"_swingdiv",a._$(this._id+"_appletinfotablediv").append(b),a._$(b.id).css({zIndex:a._getZ(this,"rear"),position:"absolute",
+left:"0px",top:"0px",width:d+"px",height:e+"px",overflow:"hidden"}),this._mouseInterface=k.contentLayer,k.contentLayer.applet=this):this._mouseInterface=this._getLayer("front",b,d,e,!1)}else this._mouseInterface=k;a._jsSetMouse(this._mouseInterface)};c._getLayer=function(b,c,d,e,k){var h=document.createElement("canvas");this._canvas[b+"Layer"]=h;h.style.width="100%";h.style.height="100%";h.id=this._id+"_"+b+"Layer";h.width=d;h.height=e;c.append(h);h.applet=this;a._$(h.id).css({background:k?"rgb(0,0,0,1)":
+"rgb(0,0,0,0.001)","z-index":a._getZ(this,b),position:"absolute",left:"0px",top:"0px",overflow:"hidden"});return h};c._setupJS=function(){window["j2s.lib"]={base:this._j2sPath+"/",alias:".",console:this._console,monitorZIndex:a._getZ(this,"monitorZIndex")};0==h.length&&a._addExec([this,b,null,"loadClazz"]);this._addCoreFiles();a._addExec([this,this.__startAppletJS,null,"start applet"]);this._isSigned=!0;this._ready=!1;this._applet=null;this._canScript=function(){return!0};this._savedOrientations=
+[];d&&clearTimeout(d);d=setTimeout(r,100)};c.__startAppletJS=function(b){0==a._version.indexOf("$Date: ")&&(a._version=(a._version.substring(7)+" -").split(" -")[0]+" (JSmol/j2s)");var c=Clazz._4Name("java.util.Hashtable").newInstance();a._setAppletParams(b._availableParams,c,b.__Info,!0);c.put("appletReadyCallback","Jmol._readyCallback");c.put("applet",!0);c.put("name",b._id);c.put("syncId",a._syncId);a._isAsync&&c.put("async",!0);b._color&&c.put("bgcolor",b._color);b._startupScript&&c.put("script",
+b._startupScript);a._syncedApplets.length&&c.put("synccallback","Jmol._mySyncCallback");c.put("signedApplet","true");c.put("platform",b._platform);b._is2D&&c.put("display",b._id+"_canvas2d");c.put("documentBase",document.location.href);var d=b._j2sPath+"/";if(0>d.indexOf("://")){var e=document.location.href.split("#")[0].split("?")[0].split("/");0==d.indexOf("/")?e=[e[0],d.substring(1)]:e[e.length-1]=d;d=e.join("/")}c.put("codePath",d);a._registerApplet(b._id,b);try{b._newApplet(c)}catch(k){System.out.println((a._isAsync?
+"normal async abort from ":"")+k);return}b._jsSetScreenDimensions();r()};c._restoreState||(c._restoreState=function(){});c._jsSetScreenDimensions=function(){if(this._appletPanel){var b=a._getElement(this,this._is2D?"canvas2d":"canvas");this._appletPanel.setScreenDimension(b.width,b.height)}};c._show=function(b){a.$setVisible(a.$(this,"appletdiv"),b);b&&a._repaint(this,!0)};c._canScript=function(){return!0};c.equals=function(a){return this==a};c.clone=function(){return this};c.hashCode=function(){return parseInt(this._uniqueId)};
+c._processGesture=function(a){return this._appletPanel.processTwoPointGesture(a)};c._processEvent=function(a,b){this._appletPanel.processMouseEvent(a,b[0],b[1],b[2],System.currentTimeMillis())};c._resize=function(){var b="__resizeTimeout_"+this._id;a[b]&&clearTimeout(a[b]);var c=this;a[b]=setTimeout(function(){a._repaint(c,!0);a[b]=null},100)};return c};a._repaint=function(b,d){if(b&&b._appletPanel){var e=a.$(b,"appletdiv"),k=Math.round(e.width()),e=Math.round(e.height());if(b._is2D&&(b._canvas.width!=
+k||b._canvas.height!=e))b._newCanvas(!0),b._appletPanel.setDisplay(b._canvas);b._appletPanel.setScreenDimension(k,e);k=function(){b._appletPanel.paint?b._appletPanel.paint(null):b._appletPanel.update(null)};d?setTimeout(k):k()}};a._getHiddenCanvas=function(a,b,d,e){b=a._id+"_"+b;a=document.createElement("canvas");a.width=a.style.width=d;a.height=a.style.height=e;a.id=b;return a};a._loadImage=function(b,d,e,k,h){var n=d[1];if(null==h&&(h=new Image,null==e?h.onload=function(){a._loadImage(b,d,null,
+k,h)}:(e=JU.Base64.getBase64(e).toString(),n=n.substring(n.lastIndexOf("/")+1),n="data:"+(0<=n.indexOf(".png")?"image/png":0<=n.indexOf(".jpg")?"image/jpg":"")+";base64,"+e),h.src=n,null==e))return;e=h.width;var s=h.height,l="echo_"+d[0],r=a._getHiddenCanvas(b.vwr.html5Applet,l,e,s,!0);r.imageWidth=e;r.imageHeight=s;r.id=l;r.image=h;a._setCanvasImage(r,e,s);k(r,n)};a._setCanvasImage=function(a,b,d){a.buf32=null;a.width=b;a.height=d;a.getContext("2d").drawImage(a.image,0,0,b,d)}})(Jmol);
+(function(a,l){a._Applet=function(d,k,h){window[d]=this;this._jmolType="Jmol._Applet"+(k.isSigned?" (signed)":"");this._viewType="Jmol";this._isJava=!0;this._syncKeyword="Select:";this._availableParams=";progressbar;progresscolor;boxbgcolor;boxfgcolor;allowjavascript;boxmessage;\t\t\t\t\t\t\t\t\t;messagecallback;pickcallback;animframecallback;appletreadycallback;atommovedcallback;\t\t\t\t\t\t\t\t\t;echocallback;evalcallback;hovercallback;language;loadstructcallback;measurecallback;\t\t\t\t\t\t\t\t\t;minimizationcallback;resizecallback;scriptcallback;statusform;statustext;statustextarea;\t\t\t\t\t\t\t\t\t;synccallback;usecommandthread;syncid;appletid;startupscript;menufile;";
+if(h)return this;this._isSigned=k.isSigned;this._readyFunction=k.readyFunction;this._ready=!1;this._isJava=!0;this._isInfoVisible=!1;this._applet=null;this._memoryLimit=k.memoryLimit||512;this._canScript=function(){return!0};this._savedOrientations=[];this._initialize=function(d,b){var e=!1;a._jarFile&&(b=a._jarFile);if(this._jarFile){var c=this._jarFile;0<=c.indexOf("/")?(alert("This web page URL is requesting that the applet used be "+c+". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network."),
+"yes"==prompt("Do you want to use applet "+c+"? ","yes or no")?(d=c.substring(0,c.lastIndexOf("/")),b=c.substring(c.lastIndexOf("/")+1)):e=!0):b=c;this_isSigned=k.isSigned=0<=b.indexOf("Signed")}this._jarPath=k.jarPath=d||".";this._jarFile=k.jarFile="string"==typeof b?b:(b?"JmolAppletSigned":"JmolApplet")+"0.jar";e&&alert("The web page URL was ignored. Continuing using "+this._jarFile+' in directory "'+this._jarPath+'"');void 0==a.controls||a.controls._onloadResetForms()};this._create(d,k);return this};
+var k=a._Applet,h=a._Applet.prototype;k._get=function(d,h,l){l||(l=!1);h||(h={});a._addDefaultInfo(h,{color:"#FFFFFF",width:300,height:300,addSelectionOptions:!1,serverURL:"http://your.server.here/jsmol.php",defaultModel:"",script:null,src:null,readyFunction:null,use:"HTML5",jarPath:"java",jarFile:"JmolApplet0.jar",isSigned:!1,j2sPath:"j2s",coverImage:null,coverTitle:"",coverCommand:"",deferApplet:!1,deferUncover:!1,disableJ2SLoadMonitor:!1,disableInitialConsole:!1,debug:!1});a._debugAlert=h.debug;
+h.serverURL&&(a._serverUrl=h.serverURL);for(var r=!1,b=null,e=h.use.toUpperCase().split("#")[0].split(" "),c=0;c browser or your browser is blocking this applet. \t\t\tCheck the warning message from your browser and/or enable Java applets in \t\t\tyour web browser preferences, or install the Java Runtime Environment from www.java.com ";
+k._setCommonMethods=function(a){a._showInfo=h._showInfo;a._search=h._search;a._getName=h._getName;a._readyCallback=h._readyCallback};k._createApplet=function(d,h,s){d._initialize(h.jarPath,h.jarFile);var r=d._jarFile;a._isFile&&(r=r.replace(/0\.jar/,".jar"));var b=0<=d._containerWidth.indexOf("px")?d._containerWidth:"100%",e=0<=d._containerHeight.indexOf("px")?d._containerHeight:"100%",b=' style="width:'+b+";height:"+e+'" ',e="name='"+d._id+"_object' id='"+d._id+"_object' \n"+b+"\n";s.codebase=d._jarPath;
+s.codePath=s.codebase+"/";if(0>s.codePath.indexOf("://")){var c=l.location.href.split("#")[0].split("?")[0].split("/");c[c.length-1]=s.codePath;s.codePath=c.join("/")}s.archive=r;s.mayscript="true";s.java_arguments="-Xmx"+Math.round(h.memoryLimit||d._memoryLimit)+"m";s.permissions=d._isSigned?"all-permissions":"sandbox";s.documentLocation=l.location.href;s.documentBase=l.location.href.split("#")[0].split("?")[0];s.jarPath=h.jarPath;a._syncedApplets.length&&(s.synccallback="Jmol._mySyncCallback");
+d._startupScript&&(s.script=d._startupScript);var c="\n",q;for(q in s)s[q]&&(c+=" \n");c=a.featureDetection.useIEObject||a.featureDetection.useHtml4Object?"":" type='application/x-java-applet'>")+c+"\n"+
+k._noJavaMsg+"
\n":"\n"+c+" \n";d._deferApplet&&(d._javaCode=c,c="");c=a._getWrapper(d,!0)+c+a._getWrapper(d,!1)+(h.addSelectionOptions?a._getGrabberOptions(d):"");a._debugAlert&&alert(c);d._code=a._documentWrite(c)};h._newApplet=function(a){this._is2D||a.put("script",(a.get("script")||
+"")+";set multipleBondSpacing 0.35;");this._viewerOptions=a;return new J.appletjs.Jmol(a)};h._addCoreFiles=function(){a._addCoreFile("jmol",this._j2sPath,this.__Info.preloadCore);this._is2D||a._addExec([this,null,"J.export.JSExporter","load JSExporter"]);a._debugCode&&a._addExec([this,null,"J.appletjs.Jmol","load Jmol"])};h._create=function(d,h){a._setObject(this,d,h);var l={syncId:a._syncId,progressbar:"true",progresscolor:"blue",boxbgcolor:this._color||"black",boxfgcolor:"white",boxmessage:"Downloading JmolApplet ...",
+script:this._color?'background "'+this._color+'"':"",code:"JmolApplet.class"};a._setAppletParams(this._availableParams,l,h);var r;h.inlineModel?(r=h.inlineModel,r=r.replace(/\r|\n|\r\n/g,0<=r.indexOf("|")?"\\/n":"|").replace(/'/g,"'"),a._debugAlert&&alert("inline model:\n"+r)):r="";l.loadInline=r;l.appletReadyCallback="Jmol._readyCallback";a._syncedApplets.length&&(l.synccallback="Jmol._mySyncCallback");l.java_arguments="-Xmx"+Math.round(h.memoryLimit||this._memoryLimit)+"m";this._initialize(h.jarPath,
+h.jarFile);k._createApplet(this,h,l)};h._restoreState=function(d,k){System.out.println("\n\nasynchronous restore state for "+d+" "+k);var h=this,l=h._applet&&h._applet.viewer;switch(k){case "setOptions":return function(){h.__startAppletJS(h)};case "render":return function(){setTimeout(function(){l.refresh(2)},10)};default:switch(d){case "J.shape.Balls":case "J.shape.Sticks":case "J.shape.Frank":return null}if(l&&l.isScriptExecuting&&l.isScriptExecuting()){if(a._asyncCallbacks[d])return System.out.println("...ignored"),
+1;var b=l.getEvalContextAndHoldQueue(l.eval),e=b.pc-1;b.asyncID=d;a._asyncCallbacks[d]=function(a){b.pc=a;System.out.println("sc.asyncID="+b.asyncID+" sc.pc = "+b.pc);l.eval.resumeEval(b)};l.eval.pc=l.eval.pcEnd;System.out.println("setting resume for pc="+b.pc+" "+d+" to "+a._asyncCallbacks[d]+"//");return function(){System.out.println("resuming "+d+" "+a._asyncCallbacks[d]);a._asyncCallbacks[d](e)}}System.out.println(d+"?????????????????????"+k);return function(){setTimeout(function(){l.refresh(2)},
+10)}}};h._readyCallback=function(d,k,h){h&&(a._setDestroy(this),this._ready=!0,d=this._readyScript,this._defaultModel?a._search(this,this._defaultModel,d?";"+d:""):d?this._script(d):this._src&&this._script('load "'+this._src+'"'),this._showInfo(!0),this._showInfo(!1),a.Cache.setDragDrop(this),this._readyFunction&&this._readyFunction(this),a._setReady(this),(d=this._2dapplet)&&(d._isEmbedded&&d._ready&&d.__Info.visible)&&this._show2d(!0))};h._showInfo=function(d){d&&this._2dapplet&&this._2dapplet._show(!1);
+a.$html(a.$(this,"infoheaderspan"),this._infoHeader);this._info&&a.$html(a.$(this,"infodiv"),this._info);if(!this._isInfoVisible!=!d){this._isInfoVisible=d;if(this._isJava){var k=d?2:"100%";a.$setSize(a.$(this,"appletdiv"),k,k)}a.$setVisible(a.$(this,"infotablediv"),d);a.$setVisible(a.$(this,"infoheaderdiv"),d);this._show(!d)}};h._show2d=function(a){this._2dapplet._show2d(a);this._2dapplet._isEmbedded&&(this._showInfo(!1),this._show(!a),this._2dapplet.__showContainer(!0,!0))};h._getAtomCorrelation=
+function(a){this._loadMolData(a,"atommap = compare({1.1} {2.1} 'MAP' 'H'); zap 2.1",!0);a=jmol._evaluate("atommap");for(var k=jmol._evaluate("{*}.count"),h=[],l=[],b=0;barguments.length&&(k=1);var h=this._savedOrientations[a];return!h||""==h?h.replace(/1\.0/,
+k):this._scriptWait(h)};h._resizeApplet=function(d){function k(d,b){var e=""+d;return 0==e.length?b?"":a._allowedJmolSize[2]:e.indexOf("%")==e.length-1?e:1>=(d=parseFloat(d))&&0a._allowedJmolSize[1]?a._allowedJmolSize[1]:d)+(b?b:"")}var h;"object"==typeof d&&null!=d?(h=d[0]||d.width,d=d[1]||d.height):h=d;h=[k(h,"px"),k(d,"px")];d=a._getElement(this,"appletinfotablediv");d.style.width=h[0];d.style.height=
+h[1];this._containerWidth=h[0];this._containerHeight=h[1];this._is2D&&a._repaint(this,!0)};h._search=function(d,k){a._search(this,d,k)};h._searchDatabase=function(d,k,h){if(this._2dapplet&&this._2dapplet._isEmbedded&&!a.$(this,"appletdiv:visible")[0])return this._2dapplet._searchDatabase(d,k,h);this._showInfo(!1);0<=d.indexOf("?")?a._getInfoFromDatabase(this,k,d.split("?")[0]):(h||(h=a._getScriptForDatabase(k)),d=k+d,this._currentView=null,this._searchQuery=d,this._loadFile(d,h,d))};h._loadFile=function(d,
+k,h){this._showInfo(!1);k||(k="");this._thisJmolModel=""+Math.random();this._fileName=d;if(!this._scriptLoad(d,k)){var l=this;a._loadFileData(this,d,function(a){l.__loadModel(a,k,h)},function(){l.__loadModel(null)})}};h._scriptLoad=function(a,k){k||(k="");var h=this._isJava||!this._noscript;h&&this._script("zap;set echo middle center;echo Retrieving data...");if(!this._isSigned||null!=this._viewSet)return!1;h?this._script('load async "'+a+'";'+k):this._applet.openFile(a);this._checkDeferred("");return!0};
+h.__loadModel=function(d,k,h){null!=d&&(null!=this._viewSet&&(k||(k=""),k+=";if ({*}.molecule.max > 1 || {*}.modelindex.max > 0){ delete molecule > 1 or modelindex > 0;x = getProperty('extractModel',{*});load inline @x};"),!k&&this._noscript?this._applet.loadInlineString(d,"",!1):this._loadMolData(d,k,!1),null!=this._viewSet&&a.View.updateView(this,{chemID:h,data:d}))};h._loadMolData=function(a,k,h){k||(k="");h=h?"append":"model";this._applet.scriptWait('load DATA "'+h+'"'+a+'\nEND "'+h+'" ;'+k)};
+h._loadModelFromView=function(d){this._currentView=d;var k=d.Jmol;null!=k.data?this.__loadModel(k.data,null,d.info.chemID):null!=d.info.chemID?a._searchMol(this,d.info.chemID,null,!1):(k=d.JME)&&k.applet._show2d(!1,this)};h._updateView=function(){null!=this._viewSet&&this._applet&&(chemID=""+this._getPropertyAsJavaObject("variableInfo","script('show chemical inchiKey')"),chemID=36>chemID.length()?null:chemID.substring(36).split("\n")[0],a.View.updateView(this,{chemID:chemID,data:""+this._getPropertyAsJavaObject("evaluate",
+"extractModel","{visible}")}))};h._atomPickedCallback=function(d,k){if(!(0>k)){var h=[k+1];a.View.updateAtomPick(this,h);this._updateAtomPick(h)}};h._updateAtomPick=function(a){this._script(0==a.length?"select none":"select on visible and (@"+a.join(",@")+")")};h._isDeferred=function(){return!this._canvas&&this._cover&&this._isCovered&&this._deferApplet};h._checkDeferred=function(a){return this._isDeferred()?(this._coverScript=a,this._cover(!1),!0):!1};h._cover=function(d){d||!this._deferApplet?this._displayCoverImage(d):
+(d=this._coverScript?this._coverScript:"",this._coverScript="",this._deferUncover&&(d+=";refresh;javascript "+this._id+"._displayCoverImage(false)"),this._script(d,!0),this._deferUncover&&"activate 3D model"==this._coverTitle&&(a._getElement(this,"coverimage").title="3D model is loading..."),this._isJava||this._newCanvas(!1),this._defaultModel&&a._search(this,this._defaultModel),this._showInfo(!1),this._deferUncover||this._displayCoverImage(!1),this._isJava&&a.$html(a.$(this,"appletdiv"),this._javaCode),
+this._init&&this._init())};h._displayCoverImage=function(d){this._coverImage&&this._isCovered!=d&&(this._isCovered=d,a._getElement(this,"coverdiv").style.display=d?"block":"none")};h._getSmiles=function(){return this._evaluate("{visible}.find('SMILES')")};h._getMol=function(){return this._evaluate("getProperty('ExtractModel',{visible})")};h._getMol2D=function(){return jmol._evaluate("script('select visible;show chemical sdf')")};a.jmolSmiles=function(a){return a._getSmiles()}})(Jmol,document);
+(function(a){var l=a.controls={_hasResetForms:!1,_scripts:[""],_checkboxMasters:{},_checkboxItems:{},_actions:{},_buttonCount:0,_checkboxCount:0,_radioGroupCount:0,_radioCount:0,_linkCount:0,_cmdCount:0,_menuCount:0,_previousOnloadHandler:null,_control:null,_element:null,_appletCssClass:null,_appletCssText:"",_buttonCssClass:null,_buttonCssText:"",_checkboxCssClass:null,_checkboxCssText:"",_radioCssClass:null,_radioCssText:"",_linkCssClass:null,_linkCssText:"",_menuCssClass:null,_menuCssText:""};
+l._addScript=function(a,h){var d=l._scripts.length;l._scripts[d]=[a,h];return d};l._getIdForControl=function(a,h){return"string"==typeof a?a:!h||!a._canScript||a._canScript(h)?a._id:null};l._radio=function(a,h,d,n,s,r,b,e){var c=l._getIdForControl(a,h);if(null==c)return null;++l._radioCount;void 0!=r&&null!=r||(r="jmolRadioGroup"+(l._radioGroupCount-1));if(!h)return"";void 0!=b&&null!=b||(b="jmolRadio"+(l._radioCount-1));void 0!=d&&null!=d||(d=h.substring(0,32));s||(s="");a="";l._actions[b]=
+l._addScript(c,h);h=' ";0<=d.toLowerCase().indexOf("")&&(h+=a,a="");return h+(''+d+" "+a+s)};l._scriptExecute=function(k,h){var d=a._applets[h[0]],l=h[1];if("object"==typeof l)l[0](k,l,
+d);else"function"==typeof l?l(d):a.script(d,l)};l.__checkScript=function(a,h){var d=0<=h.value.indexOf("JSCONSOLE ")||""===a._scriptCheck(h.value);h.style.color=d?"black":"red";return d};l.__getCmd=function(a,h){if(h._cmds&&h._cmds.length){var d=h._cmds[h._cmdpt=(h._cmdpt+h._cmds.length+a)%h._cmds.length];setTimeout(function(){h.value=d},10);h._cmdadd=1;h._cmddir=a}};l._commandKeyPress=function(k,h,d){k=13==k?13:window.event?window.event.keyCode:k?k.keyCode||k.which:0;var n=document.getElementById(h),
+s=a._applets[d];switch(k){case 13:return h=n.value,l._scriptExecute(n,[d,h]),n._cmds||(n._cmds=[],n._cmddir=0,n._cmdpt=-1,n._cmdadd=0),h&&0==n._cmdadd?(++n._cmdpt,n._cmds.splice(n._cmdpt,0,h),n._cmdadd=0,n._cmddir=0):n._cmdadd=0,n.value="",!1;case 27:return setTimeout(function(){n.value=""},20),!1;case 38:l.__getCmd(-1,n);break;case 40:l.__getCmd(1,n);break;default:n._cmdadd=0}setTimeout(function(){l.__checkScript(s,n)},20);return!0};l._click=function(a,h){l._element=a;1==arguments.length&&(h=l._actions[a.id]);
+l._scriptExecute(a,l._scripts[h])};l._menuSelected=function(a){var h=a.value;if(void 0!=h)l._scriptExecute(a,l._scripts[h]);else{h=a.length;if("number"==typeof h)for(var d=0;d ";a._debugAlert&&
+alert(h);return a._documentWrite(h)};l._getCheckbox=function(k,h,d,n,s,r,b){var e=l._getIdForControl(k,h);null!=e&&(e=l._getIdForControl(k,d));if(null==e)return"";void 0!=r&&null!=r||(r="jmolCheckbox"+l._checkboxCount);++l._checkboxCount;if(void 0==h||null==h||void 0==d||null==d)alert("jmolCheckbox requires two scripts");else if(void 0==n||null==n)alert("jmolCheckbox requires a label");else return l._actions[r]=[l._addScript(e,h),l._addScript(e,d)],k="",s=' ",0<=n.toLowerCase().indexOf("")&&(s+=k,k=""),s+=''+n+" "+k,a._debugAlert&&alert(s),a._documentWrite(s)};l._getCommandInput=function(k,h,d,n,s,r){k=l._getIdForControl(k,"x");if(null==k)return"";void 0!=n&&null!=n||(n="jmolCmd"+l._cmdCount);
+void 0!=h&&null!=h||(h="Execute");void 0!=d&&!isNaN(d)||(d=60);void 0!=r||(r="help");++l._cmdCount;h=' ";a._debugAlert&&alert(h);return a._documentWrite(h)};l._getLink=function(k,
+h,d,n,s){k=l._getIdForControl(k,h);if(null==k)return"";void 0!=n&&null!=n||(n="jmolLink"+l._linkCount);void 0!=d&&null!=d||(d=h.substring(0,32));++l._linkCount;h=l._addScript(k,h);d='"+d+" ";a._debugAlert&&alert(d);return a._documentWrite(d)};
+l._getMenu=function(k,h,d,n,s){var r=l._getIdForControl(k,null);void 0!=n&&null!=n||(n="jmolMenu"+l._menuCount);++l._menuCount;r=typeof h;if(null!=r&&"object"==r&&h.length){var b=h.length;"number"!=typeof d||1==d?d=null:0>d&&(d=b);d='";for(n=0;n":"#optgroupEnd"==c?d+="":(r=l._addScript(r,c),d+="":"'>")+s+" ")}d+=" ";a._debugAlert&&alert(d);return a._documentWrite(d)}};l._getRadio=function(k,h,d,n,s,r,b,e){0==l._radioGroupCount&&++l._radioGroupCount;r||(r="jmolRadioGroup"+(l._radioGroupCount-1));k=l._radio(k,h,d,n,s,r,b?b:r+"_"+l._radioCount,e?e:0);if(null==
+k)return"";a._debugAlert&&alert(k);return a._documentWrite(k)};l._getRadioGroup=function(k,h,d,n,s,r){var b=typeof h;if("object"!=b||null==b||!h.length)alert("invalid arrayOfRadioButtons");else{void 0!=d&&null!=d||(d=" ");var e=h.length;++l._radioGroupCount;n||(n="jmolRadioGroup"+(l._radioGroupCount-1));for(var c="",q=0;q";a._debugAlert&&alert(c);return a._documentWrite(c)}}})(Jmol);
+(function(a){var l=function(a){a="&"+a+"=";return decodeURI(("&"+document.location.search.substring(1)+a).split(a)[1].split("&")[0])};a._j2sPath=l("_J2S");a._jarFile=l("_JAR");a._use=l("_USE");a.getVersion=function(){return a._jmolInfo.version};a.getApplet=function(k,h,d){return a._Applet._get(k,h,d)};a.getJMEApplet=function(k,h,d,l){return a._JMEApplet._get(k,h,d,l)};a.getJSVApplet=function(k,h,d){return a._JSVApplet._get(k,h,d)};a.loadFile=function(a,h,d){a._loadFile(h,d)};a.script=function(a,h){a._checkDeferred(h)||
+a._script(h)};a.scriptCheck=function(a,h){return a&&a._scriptCheck&&a._ready&&a._scriptCheck(h)};a.scriptWait=function(a,h){return a._scriptWait(h)};a.scriptEcho=function(a,h){return a._scriptEcho(h)};a.scriptMessage=function(a,h){return a._scriptMessage(h)};a.scriptWaitOutput=function(a,h){return a._scriptWait(h)};a.scriptWaitAsArray=function(a,h){return a._scriptWaitAsArray(h)};a.search=function(a,h,d){a._search(h,d)};a.evaluateVar=function(a,h){return a._evaluate(h)};a.evaluate=function(a,h){return a._evaluateDEPRECATED(h)};
+a.getAppletHtml=function(k,h){if(h){var d=a._document;a._document=null;k=a.getApplet(k,h);a._document=d}return k._code};a.getPropertyAsArray=function(a,h,d){return a._getPropertyAsArray(h,d)};a.getPropertyAsJavaObject=function(a,h,d){return a._getPropertyAsJavaObject(h,d)};a.getPropertyAsJSON=function(a,h,d){return a._getPropertyAsJSON(h,d)};a.getPropertyAsString=function(a,h,d){return a._getPropertyAsString(h,d)};a.getStatus=function(a,h){return a._getStatus(h)};a.resizeApplet=function(a,h){return a._resizeApplet(h)};
+a.restoreOrientation=function(a,h){return a._restoreOrientation(h)};a.restoreOrientationDelayed=function(a,h,d){return a._restoreOrientationDelayed(h,d)};a.saveOrientation=function(a,h){return a._saveOrientation(h)};a.say=function(a){alert(a)};a.clearConsole=function(a){a._clearConsole()};a.getInfo=function(a){return a._info};a.setInfo=function(a,h,d){a._info=h;2 ")};
+a.jmolButton=function(k,h,d,l,s){return a.controls._getButton(k,h,d,l,s)};a.jmolCheckbox=function(k,h,d,l,s,r,b){return a.controls._getCheckbox(k,h,d,l,s,r,b)};a.jmolCommandInput=function(k,h,d,l,s,r){return a.controls._getCommandInput(k,h,d,l,s,r)};a.jmolHtml=function(k){return a._documentWrite(k)};a.jmolLink=function(k,h,d,l,s){return a.controls._getLink(k,h,d,l,s)};a.jmolMenu=function(k,h,d,l,s){return a.controls._getMenu(k,h,d,l,s)};a.jmolRadio=function(k,h,d,l,s,r,b,e){return a.controls._getRadio(k,
+h,d,l,s,r,b,e)};a.jmolRadioGroup=function(k,h,d,l,s,r){return a.controls._getRadioGroup(k,h,d,l,s,r)};a.setCheckboxGroup=function(k,h){a.controls._cbSetCheckboxGroup(k,h,arguments)};a.setDocument=function(k){a._document=k};a.setXHTML=function(k){a._isXHTML=!0;a._XhtmlElement=null;a._XhtmlAppendChild=!1;k&&(a._XhtmlElement=document.getElementById(k),a._XhtmlAppendChild=!0)};a.setAppletCss=function(k,h){null!=k&&(a._appletCssClass=k);a._appletCssText=h?h+" ":k?'class="'+k+'" ':""};a.setButtonCss=function(k,
+h){null!=k&&(a.controls._buttonCssClass=k);a.controls._buttonCssText=h?h+" ":k?'class="'+k+'" ':""};a.setCheckboxCss=function(k,h){null!=k&&(a.controls._checkboxCssClass=k);a.controls._checkboxCssText=h?h+" ":k?'class="'+k+'" ':""};a.setRadioCss=function(k,h){null!=k&&(a.controls._radioCssClass=k);a.controls._radioCssText=h?h+" ":k?'class="'+k+'" ':""};a.setLinkCss=function(k,h){null!=k&&(a.controls._linkCssClass=k);a.controls._linkCssText=h?h+" ":k?'class="'+k+'" ':""};a.setMenuCss=function(k,h){null!=
+k&&(a.controls._menuCssClass=k);a.controls._menuCssText=h?h+" ":k?'class="'+k+'" ':""};a.setAppletSync=function(k,h,d){a._syncedApplets=k;a._syncedCommands=h;a._syncedReady={};a._isJmolJSVSync=d};a.setGrabberOptions=function(k){a._grabberOptions=k};a.setAppletHtml=function(k,h){k._code&&(a.$html(h,k._code),k._init&&!k._deferApplet&&k._init())};a.coverApplet=function(a,h){a._cover&&a._cover(h)};a.setFileCaching=function(k,h){k?k._cacheFiles=h:a.fileCache=h?{}:null};a.updateView=function(a,h,d){a._updateView(h,
+d)};a.getChemicalInfo=function(k,h,d){h||(h="name");"string"!=typeof applet_or_Identifier&&(k=k._getSmiles());return a._getNCIInfo(k,h,d)};a.saveImage=function(a){switch(a._viewType){case "Jmol":a._script('write PNGJ "'+a._id+'.png"');break;case "JSV":a._script("write PDF");break;case "JME":a._script("print")}}})(Jmol);
+LoadClazz=function(){c$=null;window["j2s.clazzloaded"]||(window["j2s.clazzloaded"]=!1);window["j2s.clazzloaded"]||(window["j2s.clazzloaded"]=!0,window["j2s.object.native"]=!0,Clazz={_isQuiet:!1},function(a,l){var k=["j2s.clazzloaded","j2s.object.native"];a.setGlobal=function(a,b){k.push(a);window[a]=b};a.getGlobals=function(){return k.sort().join("\n")};a.setConsoleDiv=function(a){window["j2s.lib"]&&(window["j2s.lib"].console=a)};var h=window["j2s.doProfile"]&&self.JSON?{}:null;NullObject=function(){};
+a._supportsNativeObject=window["j2s.object.native"];a._supportsNativeObject?(a._O=function(){},a._O.__CLASS_NAME__="Object",a._O.getClass=function(){return a._O}):a._O=Object;a.Console={};a.dateToString=Date.prototype.toString;a._hashCode=0;var d=a._O.prototype;d.equals=function(a){return this==a};d.hashCode=function(){return this._$hashcode||(this._$hashcode=++a._hashCode)};d.getClass=function(){return a.getClass(this)};d.clone=function(){return a.clone(this)};a.clone=function(a){var b=new a.constructor,
+c;for(c in a)b[c]=a[c];return b};d.finalize=function(){};d.notify=function(){};d.notifyAll=function(){};d.wait=function(){};d.to$tring=Object.prototype.toString;d.toString=function(){return this.__CLASS_NAME__?"["+this.__CLASS_NAME__+" object]":this.to$tring.apply(this,arguments)};a._extendedObjectMethods="equals hashCode getClass clone finalize notify notifyAll wait to$tring toString".split(" ");a.extendJO=function(b,c){c&&(b.__CLASS_NAME__=b.prototype.__CLASS_NAME__=c);if(a._supportsNativeObject)for(var d=
+0;de)return"["==d.charAt(0)?a.extractClassName(d):d.replace(/[^a-zA-Z0-9]/g,"");var e=e+8,h=d.indexOf("(",e);if(0>h)break;d=d.substring(e,h);if(0<=d.indexOf("Array"))return"Array";d=d.replace(/^\s+/,"").replace(/\s+$/,"");return"anonymous"==d||""==d?"Function":d;case "object":if(b.__CLASS_NAME__)return b.__CLASS_NAME__;if(!b.constructor)break;if(!b.constructor.__CLASS_NAME__){if(b instanceof Number)return"Number";if(b instanceof Boolean)return"Boolean";
+if(b instanceof Array)return"Array";d=b.toString();if("["==d.charAt(0))return a.extractClassName(d)}return a.getClassName(b.constructor,!0)}return"Object"};a.getClass=function(b){if(!b)return a._O;if("function"==typeof b)return b;if(b instanceof a.CastedNull)b=b.clazzName;else switch(typeof b){case "string":return String;case "object":if(!b.__CLASS_NAME__)return b.constructor||a._O;b=b.__CLASS_NAME__;break;default:return b.constructor}return a.evalType(b,!0)};var n=function(b,c){for(var d=0;d
+d;){if(e.implementz)for(var h=e.implementz,k=0;ka;d&&(a=-a);for(var e=0;e",b=b+(e+" "+(c.exName?(c.claxxOwner?
+c.claxxOwner.__CLASS_NAME__+".":"")+c.exName+h.replace(/function /,""):h)+"\n");if(c==c.caller){b+="\n";break}if(d)for(var h=c.arguments,k=0;kda.indexOf(m)&&(da+=m+"\n");h[m]||(h[m]=0);h[m]++}if(fx.lastParams==g.typeString&&fx.lastClaxxRef===j){if(g.hasCastedNull){j=[];for(d=0;dB[C]){D=!1;break}D&&
+(B[y.length]=F,r.push(B))}if(0==r.length)r=null;else{sa=r[0];for(F=1;Frb(r,c)&&r.push(c);s&&(s.claxxOwner===c?(q[s.funParams]=s,s.claxxOwner=null,s.funParams=null):s.claxxOwner||(q["\\unknown"]=s));k.exClazz=c;q[l]=k;return q};duplicatedMethods={};var M=function(b,c,d){var e=b.prototype[c];if(e&&(e.claxxOwner||e.claxxReference)===b)key=b.__CLASS_NAME__+"."+c+d,(b=duplicatedMethods[key])?(c="Warning! Duplicate method found for "+key,System.out.println(c),a.alert(c),duplicatedMethods[key]=b+1):duplicatedMethods[key]=
+1};a.showDuplicates=function(a){var b="",c=duplicatedMethods,d=0,e;for(e in c)1
+d.length)break;if(d.indexOf(l)==d.length-l.length){d=d.substring(0,d.length-l.length+1);break}}else d=a._Loader.getClasspathFor(e,!0);else(h=a.binaryFolders)&&h.length&&(d=h[0]);d||(d="j2s/");d=d.replace(/\\/g,"/");h=d.length;h=d.charAt(h-1);"/"!=h&&(d+="/");this.base?c.url=d+b:(h=e.lastIndexOf("."),c.url=-1==h||this.base?d+b:d+e.substring(0,h).replace(/\./g,"/")+"/"+b)}return c},defineMethod:function(b,c,d){a.defineMethod(this,b,c,d)},defineStaticMethod:function(b,c,d){a.defineMethod(this,b,c,d);
+this[b]=this.prototype[b]},makeConstructor:function(b,c){a.makeConstructor(this,b,c)}};var za=[];a.pu$h=function(a){a||(a=self.c$);a&&za.push(a)};a.p0p=function(){return za.pop()};a.decorateAsClass=function(b,c,d,e,h,k){var l=null;c&&(l=c.__PKG_NAME__,l||(l=c.__CLASS_NAME__));var n=(l?l+".":"")+d;a._Loader._classPending[n]&&(delete a._Loader._classPending[n],a._Loader._classCountOK++,a._Loader._classCountPending--);a._Loader&&a._Loader._checkLoad&&System.out.println("decorating class "+l+"."+d);(l=
+a.unloadedClasses[n])&&(b=l);La(b,c,d);k?a.inheritClass(b,e,k):e&&a.inheritClass(b,e);h&&a.implementOf(b,h);return b};var La=function(b,c,d){var e;c?c.__PKG_NAME__?(e=c.__PKG_NAME__+"."+d,c[d]=b,c===java.lang&&a.setGlobal(d,b)):(e=c.__CLASS_NAME__+"."+d,c[d]=b):(e=d,a.setGlobal(d,b));a.extendJO(b,e);c=a.innerFunctionNames;for(d=0;da?Math.ceil(a):Math.floor(a)};a.floatToByte=a.floatToShort=a.floatToLong=a.floatToInt;a.doubleToByte=a.doubleToShort=a.doubleToLong=a.doubleToInt=a.floatToInt;a.floatToChar=function(a){return String.fromCharCode(0>a?Math.ceil(a):Math.floor(a))};a.doubleToChar=a.floatToChar;d=function(a){return function(){for(var b=
+this.length,c=32==a?new Int32Array(b):new Float64Array(b);0<=--b;)c[b]=this[b];return c}};self.Int32Array&&self.Int32Array!=Array?(a.haveInt32=!0,Int32Array.prototype.sort||(Int32Array.prototype.sort=Array.prototype.sort),Int32Array.prototype.clone||(Int32Array.prototype.clone=d(32))):(Int32Array=function(a){a||(a=0);var b=Array(a);b.toString=function(){return"[object Int32Array]"};for(var c=0;cd?h:Array(d),k=d;0<=--k;)b[k]=h;return b;
+default:for(var l=Array(e),k=0;kd)d=h.length;var k=0>h?Array(d):c?new Int32Array(d):new Float64Array(d);if(e)for(e=d;0<=--e;)k[e]=h[e];return k}for(h=Array(e);0<=--e;)h[e]=b[e+1];k=Array(d);for(e=
+0;e=A.STATUS_LOAD_COMPLETE))k?window.setTimeout(g,25):g()}else{var m=b.getClasspathFor(c);l=e[m];if(!l)for(k=
+C.length;0<=--k;)if(C[k].path==m||C[k].name==c){l=!0;break}if(l){if(g&&(l=Q(c)))if(l.onLoaded){if(g!=l.onLoaded){var n=l.onLoaded,q=g;l.onLoaded=function(){n();q()}}}else l.onLoaded=g}else{l=a.unloadedClasses[c]&&Q(c)||new A;l.name=c;l.path=m;l.isPackage=m.lastIndexOf("package.js")==m.length-10;Z(m,c,l);l.onLoaded=g;l.status=A.STATUS_KNOWN;c=!1;for(k=C.length;0<=--k;)if(C[k].status!=A.STATUS_LOAD_COMPLETE){c=!0;break}if(l.isPackage){for(k=C.length;0<=--k&&!C[k].isPackage;)C[k+1]=C[k];C[++k]=l}else c&&
+C.push(l);if(!c){var r=!1;g&&(r=U,U=!0);h&&(g=null);Ea(d,l,!0);V(l,l.path,l.requiredBy,!1,g?function(){U=r;g()}:null)}}}};var H=function(a){return null!=window[a+".registered"]&&!P["@"+a]};b.loadPackage=function(a,c){c||(c=null);window[a+".registered"]=!1;b.loadPackageClasspath(a,b.J2SLibBase||(b.J2SLibBase=b.getJ2SLibBase()||"j2s/"),!0,c)};b.jarClasspath=function(a,b){b instanceof Array||(b=[classes]);D(b);for(var c=b.length;0<=--c;)P["#"+b[c]]=a;P["$"+a]=b};b.registerPackages=function(c,d){for(var e=
+b.getClasspathFor(c+".*",!0),g=0;g>");e[d]=!0;Ka(C,d);L=!0;ta=!1;b._checkLoad&&System.out.println("\t"+d+(g?"\n -- required by "+g:"")+" ajax="+L+" async="+ta);b.onScriptLoading(d);if(L&&!ta){g=l._getFileData(d);try{T(d,g)}catch(n){alert(n+" loading file "+d+" "+c.name+" "+a.getStackTrace())}m&&m()}else System.out.println("for file "+d+" fSuccess = "+(m?m.toString():"")),c={dataType:"script",async:!0,type:"GET",url:d,success:da(d,!1,m),error:da(d,!0,m)},h++,l.$ajax(c)},da=function(c,d,e){a.getStackTrace();return function(){s&&
+this.timeoutHandle&&(window.clearTimeout(this.timeoutHandle),this.timeoutHandle=null);0q;q++)for(;m=l[q](A.STATUS_CONTENT_LOADED);)1==q&&n===m&&(m.status=A.STATUS_LOAD_COMPLETE),updateNode(m),n=m;for(;!(pa=[],!qa(d,c)););for(q=0;2>q;q++)for(n=null;(m=l[q](A.STATUS_DECLARED))&&n!==m;)updateNode(n=m);n=[];for(q=0;2>q;q++)for(;m=l[q](A.STATUS_DECLARED);)n.push(m),m.status=A.STATUS_LOAD_COMPLETE;if(n.length){for(q=0;q=A.STATUS_DECLARED););if(0<=g){if(b._checkLoad){var j;System.out.println("cycle found loading "+c+" for "+a)}for(;gj;j++){k=h[j];for(g=k.length;0<=--g;)if(k[g].status==A.STATUS_DECLARED&&qa(k[g],c))return!0}d.length=e;return!1};b._classCountPending=0;b._classCountOK=0;b._classPending={};b.showPending=function(){var a=[],c;for(c in b._classPending){var d=Q(c);d?(a.push(d),System.out.println(ra("",
+"",d,"",0))):alert("No node for "+c)}return a};var ra=function(a,b,c,d,e){b+="--"+c.name;a+=b+"\n";if(5=A.STATUS_LOAD_COMPLETE)xa(a);else{var c=!0;if(a.musts.length&&a.declaration)for(var d=a.musts.length,
+e=d;0<=--e;){var g=a.musts[e];g.requiredBy=a;if(g.statusA.STATUS_KNOWN&&!a.declaration||ua(a.musts,A.STATUS_LOAD_COMPLETE)&&ua(a.optionals,A.STATUS_LOAD_COMPLETE)){c=A.STATUS_LOAD_COMPLETE;if(!Pa(a,c))return!1;if(a.declaration&&a.declaration.clazzList){h=0;k=a.declaration.clazzList;for(m=k.length;hc.indexOf("Opera")&&document.all?0==h?d:k:0>c.indexOf("Gecko")?h==e.offsetHeight&&h==e.scrollHeight?d:k:d;ua!=c&&(ua=c,C.style.bottom=ua+4+"px");b&&ra()}};var qa=function(a){if(a)for(var b=a.childNodes.length;0<=--b;){var c=a.childNodes[b];if(c){c.childNodes&&c.childNodes.length&&qa(c);try{a.removeChild(c)}catch(d){}}}},
+ib=function(a){aa&&a==V.DEFAULT_OPACITY&&(window.clearTimeout(aa),aa=null);fa=a;navigator.userAgent.toLowerCase();C.style.filter="Alpha(Opacity="+a+")";C.style.opacity=a/100},tb=function(){V.hideMonitor()},kb=!1,ra=function(){"none"!=C.style.display&&(fa==V.DEFAULT_OPACITY?(aa=window.setTimeout(function(){ra()},750),fa-=5):0<=fa-10?(ib(fa-10),aa=window.setTimeout(function(){ra()},40)):C.style.display="none")},D=a.Console,W=System;D.maxTotalLines=1E4;D.setMaxTotalLines=function(a){D.maxTotalLines=
+0D.maxTotalLines){for(var d=0;dc.childNodes.length)l=document.createElement("DIV"),c.appendChild(l),l.style.whiteSpace="nowrap",D.linesCount++;else try{l=c.childNodes[c.childNodes.length-1]}catch(n){l=document.createElement("DIV"),c.appendChild(l),l.style.whiteSpace="nowrap",D.linesCount++}var q=document.createElement("SPAN");l.appendChild(q);q.style.whiteSpace="nowrap";b&&(q.style.color=b);l=h[d];0==l.length&&(l=X);q.appendChild(document.createTextNode(l));D.pinning||(c.scrollTop+=100);D.metLineBreak=d!=k||
+e}d=c.parentNode.className;!D.pinning&&(d&&-1!=d.indexOf("composite"))&&(c.parentNode.scrollTop=c.parentNode.scrollHeight);D.lastOutputTime=(new Date).getTime()};D.clear=function(){try{D.metLineBreak=!0;var a=window["j2s.lib"],b=a&&a.console;if(b&&(b=document.getElementById(b))){for(var c=b.childNodes,d=c.length;0<=--d;)b.removeChild(c[d]);D.linesCount=0}}catch(e){}};a.alert=function(a){D.consoleOutput(a+"\r\n")};W.out.print=function(a){D.consoleOutput(a)};W.out.println=function(a){D.consoleOutput("undefined"==
+typeof a?"\r\n":null==a?"null\r\n":a+"\r\n")};W.out.write=function(a,b,c){W.out.print(String.instantialize(a).substring(b,b+c))};W.err.__CLASS_NAME__="java.io.PrintStream";W.err.print=function(a){D.consoleOutput(a,"red")};W.err.println=function(a){D.consoleOutput("undefined"==typeof a?"\r\n":null==a?"null\r\n":a+"\r\n","red")};W.err.write=function(a,b,c){W.err.print(String.instantialize(a).substring(b,b+c))}}(Clazz,Jmol))};Jmol.___JmolDate="$Date: 2015-06-10 23:34:03 -0500 (Wed, 10 Jun 2015) $";
+Jmol.___fullJmolProperties="src/org/jmol/viewer/Jmol.properties";Jmol.___JmolVersion="14.2.14_2015.06.11";
+
+Jmol.Info = {
+ // uncomment one or more of these next lines only if you want to override jmolInitialize()
+ //jarPath: "java",
+ //jarFile: "JmolAppletSigned0.jar",
+ //j2sPath: "j2s",
+ use: "JAVA", // could be JAVA or HTML5
+ // the serverURL path is only used to load binary files in Safari, Chrome, and MSIE
+ serverURL: "http://www.jalview.org/jsmol.php", // required for binary file loading (Spartan, .gz, .map, etc.)
+ disableJ2SLoadMonitor: false,
+ disableInitialConsole: true
+
+}
+
+////////// private functions /////////////
+
+var _jmol = {
+ appletCount: 0,
+ applets: {},
+ allowedJmolSize: [25, 2048, 300], // min, max, default (pixels)
+ codebase: ".",
+ targetSuffix: 0,
+ target: "jmolApplet0",
+ buttonCount: 0,
+ checkboxCount: 0,
+ linkCount: 0,
+ cmdCount: 0,
+ menuCount: 0,
+ radioCount: 0,
+ radioGroupCount: 0,
+ initialized: false,
+ initChecked: false,
+ archivePath: "JmolAppletSigned0.jar"
+}
+
+function _jmolApplet(size, inlineModel, script, nameSuffix) {
+ nameSuffix == null && (nameSuffix = _jmol.appletCount);
+ var id = "jmolApplet" + nameSuffix;
+ jmolSetTarget(nameSuffix);
+ ++_jmol.appletCount;
+ script || (script = "select *");
+ inlineModel && (script = 'load DATA "inline"\n' + inlineModel + '\nEND "inline";' + script);
+ var Info = {}
+ for (var i in Jmol.Info)
+ Info[i] = Jmol.Info[i]
+ Info.jarFile || (Info.jarFile = _jmol.archivePath);
+ Info.jarPath || (Info.jarPath = _jmol.codebase);
+ Info.j2sPath || (Info.j2sPath = Info.jarPath + "/j2s");
+ var sz = _jmolGetAppletSize(size);
+ Info.width || (Info.width = sz[0]);
+ Info.height || (Info.height = sz[1]);
+ Info.script || (Info.script = script);
+ Info.isSigned == null && (Info.isSigned = (Info.jarFile.indexOf("Signed") >= 0));
+ for (var i in _jmol.params)
+ if(_jmol.params[i]!="")
+ Info[i] || (Info[i] = _jmol.params[i]);
+// alert(JSON.stringify(Info).replace(/\,/g,"\n\n\n\n"))
+ return _jmol.applets[id] = Jmol.getApplet(id, Info)
+}
+
+function _jmolGetJarFilename(fileNameOrFlag) {
+ _jmol.archivePath =
+ (typeof(fileNameOrFlag) == "string" ? fileNameOrFlag : (fileNameOrFlag ? "JmolAppletSigned" : "JmolApplet") + "0.jar");
+}
+
+////////////////////////////////////////////////////////////////
+// Legacy Scripting API
+////////////////////////////////////////////////////////////////
+
+function jmolSetParameter(key,value) {
+ Jmol.Info[key] = value;
+}
+
+function jmolSetXHTML(id) {
+ Jmol.setXHTML(id);
+}
+
+function jmolSetTranslation(TF) {
+ // n/a
+}
+
+function jmolInitialize(codebaseDirectory, fileNameOrUseSignedApplet) {
+ if (_jmol.initialized)
+ return;
+ _jmol.initialized = true;
+ if(_jmol.jmoljar) {
+ var f = _jmol.jmoljar;
+ if (f.indexOf("/") >= 0) {
+ alert ("This web page URL is requesting that the applet used be " + f + ". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network.")
+ var ok = prompt("Do you want to use applet " + f + "? ","yes or no")
+ if (ok == "yes") {
+ codebaseDirectory = f.substring(0, f.lastIndexOf("/"));
+ fileNameOrUseSignedApplet = f.substring(f.lastIndexOf("/") + 1);
+ } else {
+ _jmolGetJarFilename(fileNameOrUseSignedApplet);
+ alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"');
+ }
+ } else {
+ fileNameOrUseSignedApplet = f;
+ }
+ }
+ _jmol.codebase = codebaseDirectory;
+ _jmolGetJarFilename(fileNameOrUseSignedApplet);
+}
+
+function jmolSetDocument(doc) {
+ _jmol.currentDocument = doc;
+}
+
+function jmolSetAppletColor(boxbgcolor, boxfgcolor, progresscolor) {
+ Jmol.Info.color = boxbgcolor ? boxbgcolor : "black";
+}
+
+function jmolSetAppletWindow(w) {
+ _jmol.appletWindow = w;
+}
+
+function jmolApplet(size, script, nameSuffix) {
+ return _jmolApplet(size, null, script, nameSuffix);
+}
+
+function jmolAppletInline(size, inlineModel, script, nameSuffix) {
+ return _jmolApplet(size, inlineModel, script, nameSuffix);
+}
+
+
+
+////////////////////////////////////////////////////////////////
+// Basic controls
+////////////////////////////////////////////////////////////////
+
+function jmolButton(script, label, id, title) {
+ return Jmol.jmolButton(_jmol.target, script, label, id, title);
+}
+
+function jmolCheckbox(scriptWhenChecked, scriptWhenUnchecked, labelHtml, isChecked, id, title) {
+ return Jmol.jmolCheckbox(_jmol.target, scriptWhenChecked, scriptWhenUnchecked, labelHtml, isChecked, id, title)
+}
+
+function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) {
+ return Jmol.jmolRadioGroup(_jmol.target, arrayOfRadioButtons, separatorHtml, groupName, id, title)
+}
+
+
+function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {
+ return Jmol.jmolRadio(_jmol.target, script, labelHtml, isChecked, separatorHtml, groupName, id, title)
+}
+
+function jmolLink(script, label, id, title) {
+ return Jmol.jmolLink(_jmol.target, script, label, id, title)
+}
+
+function jmolCommandInput(label, size, id, title) {
+ return Jmol.jmolCommandInput(_jmol.target, label, size, id, title);
+}
+
+function jmolMenu(arrayOfMenuItems, size, id, title) {
+ return Jmol.jmolMenu(_jmol.target, arrayOfMenuItems, size, id, title);
+}
+
+function jmolHtml(html) {
+ return Jmol._documentWrite(html);
+}
+
+function jmolBr() {
+ return Jmol._documentWrite(" ");
+}
+
+////////////////////////////////////////////////////////////////
+// advanced scripting functions
+////////////////////////////////////////////////////////////////
+
+function jmolDebugAlert(enableAlerts) {
+ // n/a
+}
+
+
+function jmolLoadInline(model, targetSuffix) {
+ return jmolLoadInlineScript(model, null, targetSuffix, false)
+}
+
+function jmolLoadInlineArray(ModelArray, script, targetSuffix) {
+ return jmolLoadInlineScript(ModelArray.join("\n"), script, targetSuffix, false)
+}
+
+function jmolAppendInlineArray(ModelArray, script, targetSuffix) {
+ return jmolLoadInlineScript(ModelArray.join("\n"), script, targetSuffix, true)
+}
+
+function jmolAppendInlineScript(model, script, targetSuffix) {
+ return jmolLoadInlineScript(model, script, targetSuffix, true)
+}
+
+function jmolLoadInlineScript(model, script, targetSuffix, isAppend) {
+ Jmol.script(jmolFindTarget(targetSuffix),
+ "load "
+ + (isAppend ? "APPEND " : "")
+ + "DATA 'mydata'\n" + model.replace(/\"/g,'\\"') + "\nEND 'mydata'\n")
+}
+
+function jmolSetTarget(targetSuffix) {
+ targetSuffix == null || (_jmol.targetSuffix = targetSuffix);
+ return _jmol.target = "jmolApplet" + _jmol.targetSuffix;
+}
+
+function jmolFindTarget(targetSuffix) {
+ return _jmol.applets[jmolSetTarget(targetSuffix)];
+}
+
+function jmolScript(script, targetSuffix) {
+ Jmol.script(jmolFindTarget(targetSuffix), script)
+}
+
+function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {
+ // unnecessary
+}
+
+////////////////////////////////////////////////////////////////
+// Cascading Style Sheet Class support
+////////////////////////////////////////////////////////////////
+
+function jmolSetAppletCssClass(appletCssClass) {
+ Jmol.setAppletCss(appletCssClass)
+}
+
+function jmolSetButtonCssClass(s) {
+ Jmol.setButtonCss(s)
+}
+
+function jmolSetCheckboxCssClass(s) {
+ Jmol.setCheckboxCss(s)
+}
+
+function jmolSetRadioCssClass(s) {
+ Jmol.setRadioCss(s)
+}
+
+function jmolSetLinkCssClass(s) {
+ Jmol.setLinkCss(s)
+}
+
+function jmolSetMenuCssClass(s) {
+ Jmol.setMenuCss(s)
+}
+
+function jmolSetMemoryMb(nMb) {
+ // n/a
+}
+
+
+function jmolSetCallback(callbackName,funcName) {
+//if(!self[funcName])alert(funcName + " is not defined yet in jmolSetCallback")
+ Jmol.Info[callbackName] = funcName
+ //document.title=("jmolSetCallback " + callbackName + "/" + funcName + " must be included in Info definition")
+}
+
+function jmolSetSyncId(n) {
+ alert("jmolSetSyncId " + n + " must be included in Info definition")
+}
+
+function jmolSetLogLevel(n) {
+ Jmol.script(_jmol.target, "set loglevel " + n)
+}
+
+function _jmolGetAppletSize(size, units) {
+ var width, height;
+ if ( (typeof size) == "object" && size != null ) {
+ width = size[0]; height = size[1];
+ } else {
+ width = height = size;
+ }
+ return [_jmolFixDim(width, units), _jmolFixDim(height, units)];
+}
+
+function _jmolFixDim(x, units) {
+ var sx = "" + x;
+ return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2])
+ : sx.indexOf("%") == sx.length-1 ? sx
+ : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%"
+ : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2]
+ : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0]
+ : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1]
+ : x) + (units ? units : ""));
+}
+
+//////////user property/status functions/////////
+
+function jmolGetStatus(strStatus,targetSuffix){
+ return Jmol.getStatus(jmolFindTarget(targetSuffix), strStatus)
+}
+
+function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {
+ return Jmol.getPropertyAsArray(jmolFindTarget(targetSuffix), sKey, sValue)
+}
+
+function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {
+ return Jmol.getPropertyAsString(jmolFindTarget(targetSuffix), sKey, sValue)
+}
+
+function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {
+ return Jmol.getPropertyAsJSON(jmolFindTarget(targetSuffix), sKey, sValue)
+}
+
+function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {
+ return Jmol.getPropertyAsJavaObject(jmolFindTarget(targetSuffix), sKey, sValue)
+}
+
+///////// synchronous scripting ////////
+
+function jmolScriptWait(script, targetSuffix) {
+ return Jmol.scriptWait(jmolFindTarget(targetSuffix), script)
+}
+
+function jmolScriptWaitOutput(script, targetSuffix) {
+ return Jmol.scriptWaitOutput(jmolFindTarget(targetSuffix), script)
+}
+
+function jmolEvaluate(molecularMath, targetSuffix) {
+ return Jmol.evaluate(jmolFindTarget(targetSuffix), molecularMath)
+}
+
+function jmolScriptEcho(script, targetSuffix) {
+ return Jmol.scriptEcho(jmolFindTarget(targetSuffix), script)
+}
+
+
+function jmolScriptMessage(script, targetSuffix) {
+ return Jmol.scriptMessage(jmolFindTarget(targetSuffix), script)
+}
+
+
+function jmolScriptWaitAsArray(script, targetSuffix) {
+ return Jmol.scriptWait(jmolFindTarget(targetSuffix), script)
+}
+
+
+
+//////////// save/restore orientation /////////////
+
+function jmolSaveOrientation(id, targetSuffix) {
+ return Jmol.saveOrientation(jmolFindTarget(targetSuffix), id)
+}
+
+function jmolRestoreOrientation(id, targetSuffix) {
+ return Jmol.restoreOrientation(jmolFindTarget(targetSuffix), id)
+}
+
+function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {
+ return Jmol.restoreOrientationDelayed(jmolFindTarget(targetSuffix), id, delay)
+}
+
+function jmolResizeApplet(size, targetSuffix) {
+ return Jmol.resizeApplet(jmolFindTarget(targetSuffix), size);
+}
+
+
+//////////// add parameter /////////////
+
+function jmolAppletAddParam(appletCode,name,value){
+ alert ("use Info to add a parameter: " + name + "/" + value)
+}
+