'.replace(/ID/g,b._id+"_localReader")),
b._localReader=a.$(b,"localReader"));a.$appEvent(b,"localReader_loadfile","click");a.$appEvent(b,"localReader_loadfile","click",function(){var c=a.$(b,"localReader_files")[0].files[0],g=new FileReader;g.onloadend=function(g){g.target.readyState==FileReader.DONE&&(a.$css(a.$(b,"localReader"),{display:"none"}),d.setData(c.name,a._toBytes(g.target.result)))};g.readAsArrayBuffer(c)});a.$appEvent(b,"localReader_cancel","click");a.$appEvent(b,"localReader_cancel","click",function(){a.$css(a.$(b,"localReader"),
{display:"none"});d.setData(null,"#CANCELED#")});a.$css(a.$(b,"localReader"),{display:"block"})};a._toBytes=function(a){a=new Uint8Array(a);for(var b=Clazz.newByteArray(a.length,0),c=a.length;0<=--c;)b[c]=a[c];return b};a._doAjax=function(d,b,c){d=d.toString();if(null!=c)return a._saveFile(d,c);b&&(d+="?POST?"+b);b=a._getFileData(d);return a._processData(b,a._isBinaryUrl(d))};a._saveFile=function(d,b){var c=a._serverUrl;if(a._localFileSaveFunction&&a._localFileSaveFunction(d,b))return"OK";if(!c)return"Jmol._serverUrl is not defined";
var g="string"==typeof b,f=g?"":"base64";g||(b=(JU?JU:J.util).Base64.getBase64(b).toString());d=d.substring(d.lastIndexOf("/")+1);g=0<=d.indexOf(".png")?"image/png":0<=d.indexOf(".jpg")?"image/jpg":"";a._formdiv||(a.$after("body",'
\t \t\t\t\t\t \t\t\t\t
'),
a._formdiv="__jsmolform__");a.$attr(a._formdiv,"action",c+"?"+(new Date).getMilliseconds());a.$val("__jsmoldata__",b);a.$val("__jsmolfilename__",d);a.$val("__jsmolmimetype__",g);a.$val("__jsmolencoding__",f);a.$submit("__jsmolform__");a.$val("__jsmoldata__","");a.$val("__jsmolfilename__","");return"OK"};a._processData=function(d,b){"undefined"==typeof d&&(d="",b=!1);b&&(b=a._canSyncBinary());if(!b)return self.JU&&JU.SB?JU.SB.newS(d):J.util.SB.newS(d);var c;if(Clazz.instanceOf(d,self.ArrayBuffer))return a._toBytes(d);
c=Clazz.newByteArray(d.length,0);for(var g=d.length;0<=--g;)c[g]=d.charCodeAt(g)&255;return c};a._setConsoleDiv=function(a){self.Clazz&&Clazz.setConsoleDiv(a)};a._setJmolParams=function(d,b,c){for(var g in b)if(0<=";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;".indexOf(";"+
g.toLowerCase()+";")&&("language"!=g||a.featureDetection.supportsLocalization()))c?d.put(g,!0===b[g]?Boolean.TRUE:!1===b[g]?Boolean.FALSE:b[g]):d[g]=b[g]};a._registerApplet=function(d,b){return window[d]=a._applets[d]=a._applets[b]=b};a._readyCallback=function(d,b,c,g){var f=d.split("_object")[0];a._applets[f]._readyCallback(d,b,c,g)};a._getWrapper=function(d,b){var c;if(b){var g="";d._coverImage&&(c=' onclick="Jmol.coverApplet(ID, false)" title="'+d._coverTitle+'"',g='
"+('")+"
");c='...
IMG......
';var f=d._height,h=d._width;if("string"!==typeof f||0>f.indexOf("%"))f+="px";if("string"!==typeof h||0>h.indexOf("%"))h+="px";c=c.replace(/IMG/,g).replace(/Hpx/g,f).replace(/Wpx/g,h)}else c='......
......
......
...
';
return c.replace(/\.\.\./g,"").replace(/[\n\r]/g,"").replace(/ID/g,d._id)};a._documentWrite=function(d){if(a._document){if(a._isXHTML&&!a._XhtmlElement){var b=document.getElementsByTagName("script");a._XhtmlElement=b.item(b.length-1);a._XhtmlAppendChild=!1}a._XhtmlElement?a._domWrite(d):a._document.write(d);return null}return d};a._domWrite=function(d){for(var b=[0];b[0]
b[0]?-1:0}if(!a||"object"!=typeof a)return[];for(var c=[],g=a.length-1;0<=g;g--)for(var f=0,h=a[g].length;fb.type.indexOf("touch"))return!1;b.preventDefault();var c=a.$offset(d.id),g,f=b.originalEvent;a._mousePageX=b.pageX;a._mousePageY=b.pageY;f.targetTouches&&f.targetTouches[0]?(g=f.targetTouches[0].pageX-c.left,c=f.targetTouches[0].pageY-c.top):f.changedTouches?
(g=f.changedTouches[0].pageX-c.left,c=f.changedTouches[0].pageY-c.top):(g=b.pageX-c.left,c=b.pageY-c.top);return void 0==g?null:[Math.round(g),Math.round(c),a._jsGetMouseModifiers(b)]};a._gestureUpdate=function(d,b){b.stopPropagation();b.preventDefault();var c=b.originalEvent;switch(b.type){case "touchstart":a._touching=!0;break;case "touchend":a._touching=!1}if(!c.touches||2!=c.touches.length)return!1;switch(b.type){case "touchstart":d._touches=[[],[]];break;case "touchmove":var g=a.$offset(d.id),
f=d._touches[0],h=d._touches[1];f.push([c.touches[0].pageX-g.left,c.touches[0].pageY-g.top]);h.push([c.touches[1].pageX-g.left,c.touches[1].pageY-g.top]);c=f.length;3c?-1:1,0,b]);return!1});a.$bind(d,"contextmenu",function(){return!1});a.$bind(d,"mouseout",function(){d.applet._applet&&d.applet._applet.viewer.startHoverWatcher(!1);d.isDragging=
!1});a.$bind(d,"mouseenter",function(b){d.applet._applet&&d.applet._applet.viewer.startHoverWatcher(!0);if(0===b.buttons||0===b.which){d.isDragging=!1;b=a._jsGetXY(d,b);if(!b)return!1;d.applet._processEvent(502,b)}});d.applet._is2D&&a.$resize(function(){d.applet&&d.applet._resize()});a.$bind("body","mouseup touchend",function(){d.applet&&(d.isDragging=!1);a._setMouseOwner(null)})};a._jsUnsetMouse=function(d){d.applet=null;a.$bind(d,"mousedown touchstart mousemove touchmove mouseup touchend DOMMouseScroll mousewheel contextmenu mouseout mouseenter",
null);a._setMouseOwner(null)};a._setDraggable=function(d){d=d.prototype;d.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)})};
d.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)};d.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"})};d.mouseMove=function(b){this.isDragging&&
a._mouseOwner==this&&this.container.css({top:this.pageY0+(b.pageY-this.pageY)+"px",left:this.pageX0+(b.pageX-this.pageX)+"px"})};d.dragBind=function(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)})}}};a.Dialog={count:0,htDialogs:{}};SwingController=a.Dialog;a.Dialog.JSDialog=function(){};a._setDraggable(a.Dialog.JSDialog);a.Dialog.getScreenDimensions=function(a){a.width=e(window).width();a.height=e(window).height()};a.Dialog.dispose=function(d){a.$remove(d.id+"_mover");delete a.Dialog.htDialogs[d.id];d.container.obj.dragBind(!1);System.out.println("JmolCore.js: dispose "+d.id)};a.Dialog.register=function(d,b){d.id=b+ ++a.Dialog.count;a.Dialog.htDialogs[d.id]=d;
System.out.println("JmolCore.js: register "+d.id)};a.Dialog.setDialog=function(d){a._setMouseOwner(null);a.$remove(d.id);System.out.println("removed "+d.id);var b=d.id+"_mover",c=a.$("#"+b),g;System.out.println("JmolCore.js: setDialog "+d.id);c[0]?(c.html(d.html),g=c[0].jd):(a.$after("body",""+d.html+"
"),g=new a.Dialog.JSDialog,c=a.$("#"+b),d.container=c,g.applet=d.manager.viewer.applet,g.setContainer(c),g.dialog=d,g.setPosition(),
g.dragBind(!0),c[0].jd=g);a.$bind("#"+d.id+" .JButton","mousedown touchstart",function(){g.ignoreMouse=!0});a.$bind("#"+d.id+" .JComboBox","mousedown touchstart",function(){g.ignoreMouse=!0});a.$bind("#"+d.id+" .JCheckBox","mousedown touchstart",function(){g.ignoreMouse=!0});a.$bind("#"+d.id+" .JTextField","mousedown touchstart",function(){g.ignoreMouse=!0});a.$bind("#"+d.id+" .JTable","mousedown touchstart",function(){g.ignoreMouse=!0});a.$bind("#"+d.id+" .JScrollPane","mousedown touchstart",function(){g.ignoreMouse=
!0});a.$bind("#"+d.id+" .JEditorPane","mousedown touchstart",function(){g.ignoreMouse=!0})};a.Dialog.setSelected=function(d){a.$prop(d.id,"checked",!!d.selected)};a.Dialog.setSelectedIndex=function(d){a.$prop(d.id,"selectedIndex",d.selectedIndex)};a.Dialog.setText=function(d){a.$prop(d.id,"value",d.text)};a.Dialog.setVisible=function(d){a.$setVisible(d.id,d.visible)};a.Dialog.click=function(d,b){var c=a.Dialog.htDialogs[d.id];if(c){System.out.println("click "+d+" "+c);var g=c.toString();if(0<=g.indexOf("JCheck"))c.selected=
d.checked;else if(0<=g.indexOf("JCombo"))c.selectedIndex=d.selectedIndex;else if(null!=c.text&&(c.text=d.value,b&&13!=(b.charCode||b.keyCode)))return}g=a.Dialog.htDialogs[a.$getAncestorDiv(d.id,"JDialog").id];c=c?c.name:g.registryKey+"/"+d.id;System.out.println("JmolCore.js: click "+c);g.manager.actionPerformed(c)};a.Dialog.windowClosing=function(d){d=a.Dialog.htDialogs[a.$getAncestorDiv(d.id,"JDialog").id];System.out.println("JmolCore.js: windowClosing "+d.registryKey);d.manager.processWindowClosing(d.registryKey)}})(Jmol,
jQuery);
(function(a){a._Canvas2D=function(e,j,f,h){this._syncId=(""+Math.random()).substring(3);this._id=e;this._is2D=!0;this._isJava=!1;this._jmolType="Jmol._Canvas2D ("+f+")";switch(f){case "Jmol":this._platform="J.awtjs2d.Platform";break;case "JSV":this._isLayered=this._isJSV=!0,this._platform="JSV.awtjs2d.Platform"}if(h)return this;window[e]=this;this._createCanvas(e,j);if(!a._document||this._deferApplet)return this;this._init();return this};a._jsSetPrototype=function(e){e._init=function(){this._setupJS();this._showInfo(!0);
this._disableInitialConsole&&this._showInfo(!1)};e._createCanvas=function(e,f,h){a._setObject(this,e,f);h&&(this._GLmol=h,this._GLmol.applet=this,this._GLmol.id=this._id);h=a._getWrapper(this,!0);this._deferApplet||(a._document?(a._documentWrite(h),this._getCanvas(!1),h=""):(this._deferApplet=!0,h+='