
try{if(typeof(_jmol)!="undefined")exit()
var defaultdir="."
var defaultjar="JmolApplet.jar"
var undefined;function jmolInitialize(codebaseDirectory,fileNameOrUseSignedApplet){if(_jmol.initialized){return;}
if(!codebaseDirectory){alert("codebaseDirectory is a required parameter to jmolInitialize");codebaseDirectory=".";}
if(codebaseDirectory.indexOf("http://")==0||codebaseDirectory.indexOf("https://")==0)
alert("In general, an absolute URL is not recommended for codebaseDirectory.\n"+"A directory- or docroot-relative reference is recommended.\n\n"+"If you need to use an absolute URL (because, for example, the JAR and data\n"+"files are on another server), then insert a space before\n"+"\"http\" in your URL to avoid this warning message.");_jmolSetCodebase(codebaseDirectory);_jmolGetJarFilename(fileNameOrUseSignedApplet);_jmolOnloadResetForms();_jmol.initialized=true;}
function jmolSetTranslation(TF){_jmol.params.doTranslate=''+TF;}
function _jmolGetJarFilename(fileNameOrFlag){_jmol.archivePath=(typeof(fileNameOrFlag)=="string"?fileNameOrFlag:(fileNameOrFlag?"JmolAppletSigned":"JmolApplet")+"0.jar");}
function jmolSetDocument(doc){_jmol.currentDocument=doc;}
function jmolSetAppletColor(boxbgcolor,boxfgcolor,progresscolor){_jmolInitCheck();_jmol.params.boxbgcolor=boxbgcolor;if(boxfgcolor)
_jmol.params.boxfgcolor=boxfgcolor
else if(boxbgcolor=="white"||boxbgcolor=="#FFFFFF")
_jmol.params.boxfgcolor="black";else
_jmol.params.boxfgcolor="white";if(progresscolor)
_jmol.params.progresscolor=progresscolor;if(_jmol.debugAlert)
alert(" boxbgcolor="+_jmol.params.boxbgcolor+" boxfgcolor="+_jmol.params.boxfgcolor+" progresscolor="+_jmol.params.progresscolor);}
function jmolApplet(size,script,nameSuffix){_jmolInitCheck();return _jmolApplet(size,null,script,nameSuffix);}
function jmolButton(script,label,id,title){_jmolInitCheck();if(id==undefined||id==null)
id="jmolButton"+_jmol.buttonCount;if(label==undefined||label==null)
label=script.substring(0,32);++_jmol.buttonCount;var scriptIndex=_jmolAddScript(script);var t="<span id=\"span_"+id+"\""+(title?" title =\""+title+"\"":"")+"><input type='button' name='"+id+"' id='"+id+"' value='"+label+"' onClick='_jmolClick("+scriptIndex+_jmol.targetText+")' onMouseover='_jmolMouseOver("+scriptIndex+");return true' onMouseout='_jmolMouseOut()' "+
_jmol.buttonCssText+"/></span>";if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}
function jmolCheckbox(scriptWhenChecked,scriptWhenUnchecked,labelHtml,isChecked,id,title){_jmolInitCheck();if(id==undefined||id==null)
id="jmolCheckbox"+_jmol.checkboxCount;++_jmol.checkboxCount;if(scriptWhenChecked==undefined||scriptWhenChecked==null||scriptWhenUnchecked==undefined||scriptWhenUnchecked==null){alert("jmolCheckbox requires two scripts");return;}
if(labelHtml==undefined||labelHtml==null){alert("jmolCheckbox requires a label");return;}
var indexChecked=_jmolAddScript(scriptWhenChecked);var indexUnchecked=_jmolAddScript(scriptWhenUnchecked);var eospan="</span>"
var t="<span id=\"span_"+id+"\""+(title?" title =\""+title+"\"":"")+"><input type='checkbox' name='"+id+"' id='"+id+"' onClick='_jmolCbClick(this,"+
indexChecked+","+indexUnchecked+_jmol.targetText+")' onMouseover='_jmolCbOver(this,"+indexChecked+","+
indexUnchecked+");return true' onMouseout='_jmolMouseOut()' "+
(isChecked?"checked ":"")+_jmol.checkboxCssText+"/>"
if(labelHtml.toLowerCase().indexOf("<td>")>=0){t+=eospan
eospan="";}
t+=labelHtml+eospan;if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}
function jmolStartNewRadioGroup(){++_jmol.radioGroupCount;}
function jmolRadioGroup(arrayOfRadioButtons,separatorHtml,groupName,id,title){_jmolInitCheck();var type=typeof arrayOfRadioButtons;if(type!="object"||type==null||!arrayOfRadioButtons.length){alert("invalid arrayOfRadioButtons");return;}
if(separatorHtml==undefined||separatorHtml==null)
separatorHtml="&nbsp; ";var len=arrayOfRadioButtons.length;jmolStartNewRadioGroup();if(!groupName)
groupName="jmolRadioGroup"+(_jmol.radioGroupCount-1);var t="<span id='"+(id?id:groupName)+"'>";for(var i=0;i<len;++i){if(i==len-1)
separatorHtml="";var radio=arrayOfRadioButtons[i];type=typeof radio;if(type=="object"){t+=_jmolRadio(radio[0],radio[1],radio[2],separatorHtml,groupName,(radio.length>3?radio[3]:(id?id:groupName)+"_"+i),(radio.length>4?radio[4]:0),title);}else{t+=_jmolRadio(radio,null,null,separatorHtml,groupName,(id?id:groupName)+"_"+i,title);}}
t+="</span>"
if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}
function jmolRadio(script,labelHtml,isChecked,separatorHtml,groupName,id,title){_jmolInitCheck();if(_jmol.radioGroupCount==0)
++_jmol.radioGroupCount;var t=_jmolRadio(script,labelHtml,isChecked,separatorHtml,groupName,(id?id:groupName+"_"+_jmol.radioCount),title?title:0);if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}
function jmolLink(script,label,id,title){_jmolInitCheck();if(id==undefined||id==null)
id="jmolLink"+_jmol.linkCount;if(label==undefined||label==null)
label=script.substring(0,32);++_jmol.linkCount;var scriptIndex=_jmolAddScript(script);var t="<span id=\"span_"+id+"\""+(title?" title =\""+title+"\"":"")+"><a name='"+id+"' id='"+id+"' href='javascript:_jmolClick("+scriptIndex+_jmol.targetText+");' onMouseover='_jmolMouseOver("+scriptIndex+");return true;' onMouseout='_jmolMouseOut()' "+
_jmol.linkCssText+">"+label+"</a></span>";if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}
function jmolCommandInput(label,size,id,title){_jmolInitCheck();if(id==undefined||id==null)
id="jmolCmd"+_jmol.cmdCount;if(label==undefined||label==null)
label="Execute";if(size==undefined||isNaN(size))
size=60;++_jmol.cmdCount;var t="<span id=\"span_"+id+"\""+(title?" title =\""+title+"\"":"")+"><input name='"+id+"' id='"+id+"' size='"+size+"'><input type=button value = '"+label+"' onClick='jmolScript(document.getElementById(\""+id+"\").value"+_jmol.targetText+")'/></span>";if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}
function jmolMenu(arrayOfMenuItems,size,id,title){_jmolInitCheck();if(id==undefined||id==null)
id="jmolMenu"+_jmol.menuCount;++_jmol.menuCount;var type=typeof arrayOfMenuItems;if(type!=null&&type=="object"&&arrayOfMenuItems.length){var len=arrayOfMenuItems.length;if(typeof size!="number"||size==1)
size=null;else if(size<0)
size=len;var sizeText=size?" size='"+size+"' ":"";var t="<span id=\"span_"+id+"\""+(title?" title =\""+title+"\"":"")+"><select name='"+id+"' id='"+id+"' onChange='_jmolMenuSelected(this"+_jmol.targetText+")'"+
sizeText+_jmol.menuCssText+">";for(var i=0;i<len;++i){var menuItem=arrayOfMenuItems[i];type=typeof menuItem;var script,text;var isSelected=undefined;if(type=="object"&&menuItem!=null){script=menuItem[0];text=menuItem[1];isSelected=menuItem[2];}else{script=text=menuItem;}
if(text==undefined||text==null)
text=script;if(script=="#optgroup"){t+="<optgroup label='"+text+"'>";}else if(script=="#optgroupEnd"){t+="</optgroup>";}else{var scriptIndex=_jmolAddScript(script);var selectedText=isSelected?"' selected>":"'>";t+="<option value='"+scriptIndex+selectedText+text+"</option>";}}
t+="</select></span>";if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}}
function jmolHtml(html){return _jmolDocumentWrite(html);}
function jmolBr(){return _jmolDocumentWrite("<br />");}
function jmolDebugAlert(enableAlerts){_jmol.debugAlert=(enableAlerts==undefined||enableAlerts)}
function jmolAppletInline(size,inlineModel,script,nameSuffix){_jmolInitCheck();return _jmolApplet(size,_jmolSterilizeInline(inlineModel),script,nameSuffix);}
function jmolSetTarget(targetSuffix){_jmol.targetSuffix=targetSuffix;_jmol.targetText=targetSuffix?",\""+targetSuffix+"\"":"";}
function jmolScript(script,targetSuffix){if(script){_jmolCheckBrowser();if(targetSuffix=="all"){with(_jmol){for(var i=0;i<appletSuffixes.length;++i){var applet=_jmolGetApplet(appletSuffixes[i]);if(applet)applet.script(script);}}}else{var applet=_jmolGetApplet(targetSuffix);if(applet)applet.script(script);}}}
function jmolLoadInline(model,targetSuffix){if(!model)return
var applet=_jmolGetApplet(targetSuffix);if(applet)applet.loadInline(model);}
function jmolLoadInlineScript(model,script,targetSuffix){if(!model)return
var applet=_jmolGetApplet(targetSuffix);if(applet)applet.loadInline(model,script);}
function jmolLoadInlineArray(ModelArray,script,targetSuffix){if(!model)return
if(!script)script=""
var applet=_jmolGetApplet(targetSuffix);if(applet)applet.loadInlineArray(ModelArray,script);}
function jmolCheckBrowser(action,urlOrMessage,nowOrLater){if(typeof action=="string"){action=action.toLowerCase();if(action!="alert"&&action!="redirect"&&action!="popup")
action=null;}
if(typeof action!="string")
alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n"+"action must be 'alert', 'redirect', or 'popup'");else{if(typeof urlOrMessage!="string")
alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n"+"urlOrMessage must be a string");else{_jmol.checkBrowserAction=action;_jmol.checkBrowserUrlOrMessage=urlOrMessage;}}
if(typeof nowOrLater=="string"&&nowOrLater.toLowerCase()=="now")
_jmolCheckBrowser();}
function jmolSetAppletCssClass(appletCssClass){if(_jmol.hasGetElementById){_jmol.appletCssClass=appletCssClass;_jmol.appletCssText=appletCssClass?"class='"+appletCssClass+"' ":"";}}
function jmolSetButtonCssClass(buttonCssClass){if(_jmol.hasGetElementById){_jmol.buttonCssClass=buttonCssClass;_jmol.buttonCssText=buttonCssClass?"class='"+buttonCssClass+"' ":"";}}
function jmolSetCheckboxCssClass(checkboxCssClass){if(_jmol.hasGetElementById){_jmol.checkboxCssClass=checkboxCssClass;_jmol.checkboxCssText=checkboxCssClass?"class='"+checkboxCssClass+"' ":"";}}
function jmolSetRadioCssClass(radioCssClass){if(_jmol.hasGetElementById){_jmol.radioCssClass=radioCssClass;_jmol.radioCssText=radioCssClass?"class='"+radioCssClass+"' ":"";}}
function jmolSetLinkCssClass(linkCssClass){if(_jmol.hasGetElementById){_jmol.linkCssClass=linkCssClass;_jmol.linkCssText=linkCssClass?"class='"+linkCssClass+"' ":"";}}
function jmolSetMenuCssClass(menuCssClass){if(_jmol.hasGetElementById){_jmol.menuCssClass=menuCssClass;_jmol.menuCssText=menuCssClass?"class='"+menuCssClass+"' ":"";}}
var _jmol={currentDocument:document,debugAlert:false,codebase:".",modelbase:".",appletCount:0,appletSuffixes:[],buttonCount:0,checkboxCount:0,linkCount:0,cmdCount:0,menuCount:0,radioCount:0,radioGroupCount:0,appletCssClass:null,appletCssText:"",buttonCssClass:null,buttonCssText:"",checkboxCssClass:null,checkboxCssText:"",radioCssClass:null,radioCssText:"",linkCssClass:null,linkCssText:"",menuCssClass:null,menuCssText:"",targetSuffix:0,targetText:"",scripts:[""],params:{syncId:(""+Math.random()).substring(3),progressbar:"true",progresscolor:"blue",boxbgcolor:"black",boxfgcolor:"white",boxmessage:"Downloading JmolApplet ..."},ua:navigator.userAgent.toLowerCase(),uaVersion:parseFloat(navigator.appVersion),os:"unknown",browser:"unknown",browserVersion:0,hasGetElementById:!!document.getElementById,isJavaEnabled:navigator.javaEnabled(),isNetscape47Win:false,isIEWin:false,useIEObject:false,useHtml4Object:false,windowsClassId:"clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",windowsCabUrl:"http://java.sun.com/update/1.5.0/jinstall-1_5_0_05-windows-i586.cab",isBrowserCompliant:false,isJavaCompliant:false,isFullyCompliant:false,initialized:false,initChecked:false,browserChecked:false,checkBrowserAction:"alert",checkBrowserUrlOrMessage:null,archivePath:null,previousOnloadHandler:null,ready:{}}
with(_jmol){function _jmolTestUA(candidate){var ua=_jmol.ua;var index=ua.indexOf(candidate);if(index<0)
return false;_jmol.browser=candidate;_jmol.browserVersion=parseFloat(ua.substring(index+candidate.length+1));return true;}
function _jmolTestOS(candidate){if(_jmol.ua.indexOf(candidate)<0)
return false;_jmol.os=candidate;return true;}
_jmolTestUA("konqueror")||_jmolTestUA("safari")||_jmolTestUA("omniweb")||_jmolTestUA("opera")||_jmolTestUA("webtv")||_jmolTestUA("icab")||_jmolTestUA("msie")||(_jmol.ua.indexOf("compatible")<0&&_jmolTestUA("mozilla"));_jmolTestOS("linux")||_jmolTestOS("unix")||_jmolTestOS("mac")||_jmolTestOS("win");isNetscape47Win=(os=="win"&&browser=="mozilla"&&browserVersion>=4.78&&browserVersion<=4.8);if(os=="win"){isBrowserCompliant=hasGetElementById;}else if(os=="mac"){if(browser=="mozilla"&&browserVersion>=5){eval("try {var v = java.lang.System.getProperty('java.version');"+" _jmol.isBrowserCompliant = v >= '1.4.2';"+" } catch (e) { }");}else if(browser=="opera"&&browserVersion<=7.54){isBrowserCompliant=false;}else{isBrowserCompliant=hasGetElementById&&!((browser=="msie")||(browser=="safari"&&browserVersion<125.12));}}else if(os=="linux"||os=="unix"){if(browser=="konqueror"&&browserVersion<=3.3)
isBrowserCompliant=false;else
isBrowserCompliant=hasGetElementById;}else{isBrowserCompliant=hasGetElementById;}
isJavaCompliant=isJavaEnabled;isFullyCompliant=isBrowserCompliant&&isJavaCompliant;isIEWin=(os=="win"&&browser=="msie"&&browserVersion>=5.5);useIEObject=isIEWin;useHtml4Object=(os!="mac"&&browser=="mozilla"&&browserVersion>=5)||(os=="win"&&browser=="opera"&&browserVersion>=8)||(os=="mac"&&browser=="safari"&&browserVersion>=412.2);doTranslate=true;haveSetTranslate=false;}
function jmolSetCallback(callbackName,funcName){_jmol.params[callbackName]=funcName}
function jmolSetSyncId(n){return _jmol.params["syncId"]=n}
function jmolGetSyncId(){return _jmol.params["syncId"]}
function jmolSetLogLevel(n){_jmol.params.logLevel=''+n;}
if(noJavaMsg==undefined)var noJavaMsg="You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n"+"Check the warning message from your browser and/or enable Java applets in<br />\n"+"your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";if(noJavaMsg2==undefined)var noJavaMsg2="You do not have the<br />\n"+"Java Runtime Environment<br />\n"+"installed for applet support.<br />\n"+"Visit <a href='http://www.java.com'>www.java.com</a>";function _jmolApplet(size,inlineModel,script,nameSuffix){with(_jmol){if(!nameSuffix)
nameSuffix=appletCount;appletSuffixes.push(nameSuffix);++appletCount;if(!script)
script="select *";var sz=_jmolGetAppletSize(size);var widthAndHeight=" width='"+sz[0]+"' height='"+sz[1]+"' ";var tHeader,tFooter;if(useIEObject||useHtml4Object){params.name='jmolApplet'+nameSuffix;params.archive=archivePath;params.mayscript='true';params.codebase=codebase;}
if(useIEObject){winCodebase=(windowsCabUrl?" codebase='"+windowsCabUrl+"'\n":"");tHeader="<object name='jmolApplet"+nameSuffix+"' id='jmolApplet"+nameSuffix+"' "+appletCssText+"\n"+" classid='"+windowsClassId+"'\n"+winCodebase+widthAndHeight+">\n";params.code='JmolApplet';tFooter="</object>";}else if(useHtml4Object){tHeader="<object name='jmolApplet"+nameSuffix+"' id='jmolApplet"+nameSuffix+"' "+appletCssText+"\n"+" classid='java:JmolApplet'\n"+" type='application/x-java-applet'\n"+
widthAndHeight+">\n";tFooter="</object>";}else{tHeader="<applet name='jmolApplet"+nameSuffix+"' id='jmolApplet"+nameSuffix+"' "+appletCssText+" code='JmolApplet'"+" archive='"+archivePath+"' codebase='"+codebase+"'\n"+
widthAndHeight+" mayscript='true'>\n";tFooter="</applet>";}
var visitJava;if(isIEWin||useHtml4Object){var szX="width:"+sz[0]
if(szX.indexOf("%")==-1)szX+="px"
var szY="height:"+sz[1]
if(szY.indexOf("%")==-1)szY+="px"
visitJava="<p style='background-color:yellow; color:black; "+
szX+";"+szY+";"+"text-align:center;vertical-align:middle;'>\n"+
noJavaMsg+"</p>";}else{visitJava="<table bgcolor='yellow'><tr>"+"<td align='center' valign='middle' "+widthAndHeight+"><font color='black'>\n"+
noJavaMsg2+"</font></td></tr></table>";}
params.loadInline=(inlineModel?inlineModel:"");params.script=(script?_jmolSterilizeScript(script):"");var t=tHeader+_jmolParams()+visitJava+tFooter;jmolSetTarget(nameSuffix);ready["jmolApplet"+nameSuffix]=false;if(_jmol.debugAlert)
alert(t);return _jmolDocumentWrite(t);}}
function _jmolParams(){var t="";for(i in _jmol.params)
if(_jmol.params[i]!="")
t+="  <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";return t}
function _jmolInitCheck(){if(_jmol.initChecked)
return;_jmol.initChecked=true;if(_jmol.initialized)
return;jmolInitialize(defaultdir,defaultjar)}
function _jmolCheckBrowser(){with(_jmol){if(browserChecked)
return;browserChecked=true;if(isFullyCompliant)
return true;if(checkBrowserAction=="redirect")
location.href=checkBrowserUrlOrMessage;else if(checkBrowserAction=="popup")
_jmolPopup(checkBrowserUrlOrMessage);else{var msg=checkBrowserUrlOrMessage;if(msg==null)
msg="Your web browser is not fully compatible with Jmol\n\n"+"browser: "+browser+"   version: "+browserVersion+"   os: "+os+"\n\n"+ua;alert(msg);}}
return false;}
function _jmolDocumentWrite(text){if(_jmol.currentDocument)
_jmol.currentDocument.write(text);return text;}
function _jmolPopup(url){var popup=window.open(url,"JmolPopup","left=150,top=150,height=400,width=600,"+"directories=yes,location=yes,menubar=yes,"+"toolbar=yes,"+"resizable=yes,scrollbars=yes,status=yes");if(popup.focus)
poup.focus();}
function _jmolReadyCallback(name){if(_jmol.debugAlert)
alert(name+" is ready");_jmol.ready[""+name]=true;}
function _jmolSterilizeScript(script){var inlineScript=script.replace(/'/g,"&#39;");if(_jmol.debugAlert)
alert("script:\n"+inlineScript);return inlineScript;}
function _jmolSterilizeInline(model){var inlineModel=model.replace(/\r|\n|\r\n/g,"|").replace(/'/g,"&#39;");if(_jmol.debugAlert)
alert("inline model:\n"+inlineModel);return inlineModel;}
if(allowedJmolSize==undefined)var allowedJmolSize=[25,2048,300]
function _jmolGetAppletSize(size){var width,height;if((typeof size)=="object"&&size!=null){width=size[0];height=size[1];}else{width=height=size;}
if(width.toString().charAt(width.toString().length-1)!="%"){width=parseFloat(width);if(width<=1&&width>0){width=(width*100)+"%"}
else if(width>=allowedJmolSize[0]&&width<=allowedJmolSize[1]){width=parseInt(width)}
else{width=allowedJmolSize[2]}}
if(height.toString().charAt(height.toString().length-1)!="%"){height=parseFloat(height);if(height<=1&&height>0){height=(height*100)+"%"}
else if(height>=allowedJmolSize[0]&&height<=allowedJmolSize[1]){height=parseInt(height)}
else{height=allowedJmolSize[2]}}
return[width,height];}
function _jmolRadio(script,labelHtml,isChecked,separatorHtml,groupName,id,title){++_jmol.radioCount;if(groupName==undefined||groupName==null)
groupName="jmolRadioGroup"+(_jmol.radioGroupCount-1);if(!script)
return"";if(labelHtml==undefined||labelHtml==null)
labelHtml=script.substring(0,32);if(!separatorHtml)
separatorHtml="";var scriptIndex=_jmolAddScript(script);var eospan="</span>"
var t="<span id=\"span_"+id+"\""+(title?" title =\""+title+"\"":"")+"><input name='"
+groupName+"' id='"+id+"' type='radio' onClick='_jmolClick("+
scriptIndex+_jmol.targetText+");return true;' onMouseover='_jmolMouseOver("+
scriptIndex+");return true;' onMouseout='_jmolMouseOut()' "+
(isChecked?"checked ":"")+_jmol.radioCssText+"/>"
if(labelHtml.toLowerCase().indexOf("<td>")>=0){t+=eospan
eospan="";}
t+=labelHtml+eospan+separatorHtml;return t;}
function _jmolFindApplet(target){var applet=_jmolFindAppletInWindow(window,target);if(applet==undefined)
applet=_jmolSearchFrames(window,target);if(applet==undefined)
applet=_jmolSearchFrames(top,target);return applet;}
function _jmolGetApplet(targetSuffix){var target="jmolApplet"+(targetSuffix?targetSuffix:"0");var applet=_jmolFindApplet(target);if(applet)return applet
if(!_jmol.alerted)alert("could not find applet "+target);_jmol.alerted=true;return null}
function _jmolSearchFrames(win,target){var applet;var frames=win.frames;if(frames&&frames.length){for(var i=0;i<frames.length;++i){applet=_jmolSearchFrames(frames[i],target);if(applet)
break;}}else{applet=_jmolFindAppletInWindow(win,target)}
return applet;}
function _jmolFindAppletInWindow(win,target){var doc=win.document;if(_jmol.useHtml4Object||_jmol.useIEObject)
return doc.getElementById(target);else if(doc.applets)
return doc.applets[target];else
return doc[target];}
function _jmolAddScript(script){if(!script)
return 0;var index=_jmol.scripts.length;_jmol.scripts[index]=script;return index;}
function _jmolClick(scriptIndex,targetSuffix){jmolScript(_jmol.scripts[scriptIndex],targetSuffix);}
function _jmolMenuSelected(menuObject,targetSuffix){var scriptIndex=menuObject.value;if(scriptIndex!=undefined){jmolScript(_jmol.scripts[scriptIndex],targetSuffix);return;}
var len=menuObject.length;if(typeof len=="number"){for(var i=0;i<len;++i){if(menuObject[i].selected){_jmolClick(menuObject[i].value,targetSuffix);return;}}}
alert("?Que? menu selected bug #8734");}
_jmol.checkboxMasters=new Array();_jmol.checkboxItems=new Array();function jmolSetCheckboxGroup(chkMaster,chkBox){var id=chkMaster;if(typeof(id)=="number")id="jmolCheckbox"+id;chkMaster=document.getElementById(id);if(!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: "+id);var m=_jmol.checkboxMasters[id]=new Array();m.chkMaster=chkMaster;m.chkGroup=new Array();for(var i=1;i<arguments.length;i++){var id=arguments[i];if(typeof(id)=="number")id="jmolCheckbox"+id;checkboxItem=document.getElementById(id);if(!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: "+id);m.chkGroup[id]=checkboxItem;_jmol.checkboxItems[id]=m;}}
function _jmolNotifyMaster(m){var allOn=true;var allOff=true;for(var chkBox in m.chkGroup){if(m.chkGroup[chkBox].checked)
allOff=false;else
allOn=false;}
if(allOn)m.chkMaster.checked=true;if(allOff)m.chkMaster.checked=false;if((allOn||allOff)&&_jmol.checkboxItems[m.chkMaster.id])
_jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])}
function _jmolNotifyGroup(m,isOn){for(var chkBox in m.chkGroup){var item=m.chkGroup[chkBox]
item.checked=isOn;if(_jmol.checkboxMasters[item.id])
_jmolNotifyGroup(_jmol.checkboxMasters[item.id],isOn)}}
function _jmolCbClick(ckbox,whenChecked,whenUnchecked,targetSuffix){_jmolClick(ckbox.checked?whenChecked:whenUnchecked,targetSuffix);if(_jmol.checkboxMasters[ckbox.id])
_jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id],ckbox.checked)
if(_jmol.checkboxItems[ckbox.id])
_jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])}
function _jmolCbOver(ckbox,whenChecked,whenUnchecked){window.status=_jmol.scripts[ckbox.checked?whenUnchecked:whenChecked];}
function _jmolMouseOver(scriptIndex){window.status=_jmol.scripts[scriptIndex];}
function _jmolMouseOut(){window.status=" ";return true;}
function _jmolSetCodebase(codebase){_jmol.codebase=codebase?codebase:".";if(_jmol.debugAlert)
alert("jmolCodebase="+_jmol.codebase);}
function _jmolOnloadResetForms(){_jmol.previousOnloadHandler=window.onload;window.onload=function(){with(_jmol){if(buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount>0){var forms=document.forms;for(var i=forms.length;--i>=0;)
forms[i].reset();}
if(previousOnloadHandler)
previousOnloadHandler();}}}
function _jmolEvalJSON(s,key){s=s+""
if(!s)return[]
if(s.charAt(0)!="{"){if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g,"\n")
return s}
var A=eval("("+s+")")
if(!A)return
if(key&&A[key])A=A[key]
return A}
function _jmolEnumerateObject(A,key){var sout=""
if(typeof(A)=="string"&&A!="null"){sout+="\n"+key+"=\""+A+"\""}else if(!isNaN(A)||A==null){sout+="\n"+key+"="+(A+""==""?"null":A)}else if(A.length){sout+=key+"=new Array()"
for(var i=0;i<A.length;i++){sout+="\n"
if(typeof(A[i])=="object"||typeof(A[i])=="array"){sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")}else{sout+=key+"["+i+"]="+(typeof(A[i])=="string"&&A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])}}}else{if(key!=""){sout+=key+"=new Array()"
key+="."}
for(var i in A){sout+="\n"
if(typeof(A[i])=="object"||typeof(A[i])=="array"){sout+=_jmolEnumerateObject(A[i],key+i)}else{sout+=key+i+"="+(typeof(A[i])=="string"&&A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])}}}
return sout}
function _jmolSortKey0(a,b){return(a[0]<b[0]?1:a[0]>b[0]?-1:0)}
function _jmolSortMessages(A){if(!A||typeof(A)!="object")return[]
var B=new Array()
for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]
if(B.length==0)return
B=B.sort(_jmolSortKey0)
return B}
function _jmolDomScriptLoad(URL){_jmol.servercall=URL
var node=document.getElementById("_jmolScriptNode")
if(node&&_jmol.browser!="msie"){document.getElementsByTagName("HEAD")[0].removeChild(node)
node=null}
if(node){node.setAttribute("src",URL)}else{node=document.createElement("script")
node.setAttribute("id","_jmolScriptNode")
node.setAttribute("type","text/javascript")
node.setAttribute("src",URL)
document.getElementsByTagName("HEAD")[0].appendChild(node)}}
function _jmolExtractPostData(url){S=url.split("&POST:")
var s=""
for(var i=1;i<S.length;i++){KV=S[i].split("=")
s+="&POSTKEY"+i+"="+KV[0]
s+="&POSTVALUE"+i+"="+KV[1]}
return"&url="+escape(S[0])+s}
function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){_jmol.remoteURL=remoteURL
if(isError)alert(errorMessage)
jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)}
function jmolGetStatus(strStatus,targetSuffix){return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))}
function jmolGetPropertyAsArray(sKey,sValue,targetSuffix){return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)}
function jmolGetPropertyAsString(sKey,sValue,targetSuffix){var applet=_jmolGetApplet(targetSuffix);if(!sValue)sValue=""
return(applet?applet.getPropertyAsString(sKey,sValue)+"":"")}
function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix){if(!sValue)sValue=""
var applet=_jmolGetApplet(targetSuffix);try{return(applet?applet.getPropertyAsJSON(sKey,sValue)+"":"")}catch(e){return""}}
function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix){if(!sValue)sValue=""
var applet=_jmolGetApplet(targetSuffix);return(applet?applet.getProperty(sKey,sValue):null)}
function jmolDecodeJSON(s){return _jmolEnumerateObject(_jmolEvalJSON(s),"")}
function jmolScriptWait(script,targetSuffix){if(!targetSuffix)targetSuffix="0"
var Ret=jmolScriptWaitAsArray(script,targetSuffix)
var s=""
for(i=Ret.length;--i>=0;)
for(j=0;j<Ret[i].length;j++)
s+=Ret[i][j]+"\n"
return s}
function jmolEvaluate(molecularMath,targetSuffix){if(!targetSuffix)targetSuffix="0"
var result=""+jmolGetPropertyAsJavaObject("evaluate",molecularMath,targetSuffix);var s=result.replace(/\-*\d+/,"")
if(s==""&&!isNaN(parseInt(result)))return parseInt(result);var s=result.replace(/\-*\d*\.\d*/,"")
if(s==""&&!isNaN(parseFloat(result)))return parseFloat(result);return result;}
function jmolScriptEcho(script,targetSuffix){if(!targetSuffix)targetSuffix="0"
var Ret=jmolScriptWaitAsArray(script,targetSuffix)
var s=""
for(i=Ret.length;--i>=0;)
for(j=Ret[i].length;--j>=0;)
if(Ret[i][j][1]=="scriptEcho")s+=Ret[i][j][3]+"\n"
return s.replace(/ \| /g,"\n")}
function jmolScriptMessage(script,targetSuffix){if(!targetSuffix)targetSuffix="0"
var Ret=jmolScriptWaitAsArray(script,targetSuffix)
var s=""
for(i=Ret.length;--i>=0;)
for(j=Ret[i].length;--j>=0;)
if(Ret[i][j][1]=="scriptStatus")s+=Ret[i][j][3]+"\n"
return s.replace(/ \| /g,"\n")}
function jmolScriptWaitAsArray(script,targetSuffix){var ret=""
try{jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)
if(script){_jmolCheckBrowser();var applet=_jmolGetApplet(targetSuffix);if(applet)ret+=applet.scriptWait(script);ret=_jmolEvalJSON(ret,"jmolStatus")
if(typeof ret=="object")
return ret}}catch(e){}
return[[ret]]}
function jmolSaveOrientation(id,targetSuffix){if(!targetSuffix)targetSuffix="0"
return _jmol["savedOrientation"+id]=jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo}
function jmolRestoreOrientation(id,targetSuffix){if(!targetSuffix)targetSuffix="0"
var s=_jmol["savedOrientation"+id]
if(!s||s=="")return
s=s.replace(/1\.0/,"0")
return jmolScriptWait(s,targetSuffix)}
function jmolRestoreOrientationDelayed(id,delay,targetSuffix){if(arguments.length<2)delay=1;if(!targetSuffix)targetSuffix="0"
var s=_jmol["savedOrientation"+id]
if(!s||s=="")return
s=s.replace(/1\.0/,delay)
return jmolScriptWait(s,targetSuffix)}
function jmolAppletAddParam(appletCode,name,value){if(value=="")return appletCode
return appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param")}
function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){if(!_jmol.thismodel)_jmol.thismodel="1crn"
if(!_jmol.serverURL)_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"
if(!_jmol.RCSBserver)_jmol.RCSBserver="http://www.rcsb.org"
if(!_jmol.defaultURL_RCSB)_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF"
if(!fileformat)fileformat="PDB"
if(!pdbid)pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel)
if(!pdbid||pdbid.length!=4)return""
if(!targetSuffix)targetSuffix="0"
if(!optionalscript)optionalscript=""
var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())
if(fileformat!="CIF")url=url.replace(/CIF/,fileformat)
_jmol.optionalscript=optionalscript
_jmol.thismodel=pdbid
_jmol.thistargetsuffix=targetSuffix
_jmol.thisurl=url
_jmol.modelArray=new Array()
url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
_jmolDomScriptLoad(url)
return url}
function jmolLoadAjax_STOLAF_ANY(url,userid,optionalscript,targetSuffix){_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"
if(!_jmol.thisurlANY)_jmol.thisurlANY="http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol"
if(!url)url=prompt("Enter any (uncompressed file) URL:",_jmol.thisurlANY)
if(!userid)userid="0"
if(!targetSuffix)targetSuffix="0"
if(!optionalscript)optionalscript=""
_jmol.optionalscript=optionalscript
_jmol.thistargetsuffix=targetSuffix
_jmol.modelArray=new Array()
_jmol.thisurl=url
url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
_jmolDomScriptLoad(url)}
function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){if(!_jmol.thiskeyMSA)_jmol.thiskeyMSA="mineral"
if(!_jmol.thismodelMSA)_jmol.thismodelMSA="quartz"
if(!_jmol.ajaxURL_MSA)_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs"
if(!key)key=prompt("Enter a field:",_jmol.thiskeyMSA)
if(!key)return""
if(!value)value=prompt("Enter a "+key+":",_jmol.thismodelMSA)
if(!value)return""
if(!targetSuffix)targetSuffix="0"
if(!optionalscript)optionalscript=""
if(optionalscript==1)optionalscript='load "" {1 1 1}'
var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)
_jmol.optionalscript=optionalscript
_jmol.thiskeyMSA=key
_jmol.thismodelMSA=value
_jmol.thistargetsuffix=targetSuffix
_jmol.thisurl=url
_jmol.modelArray=new Array()
loadModel=_jmolLoadModel
_jmolDomScriptLoad(url)
return url}
function jmolLoadAjaxJS(url,userid,optionalscript,targetSuffix){if(!userid)userid="0"
if(!targetSuffix)targetSuffix="0"
if(!optionalscript)optionalscript=""
_jmol.optionalscript=optionalscript
_jmol.thismodel=userid
_jmol.thistargetsuffix=targetSuffix
_jmol.modelArray=new Array()
_jmol.thisurl=url
url+="&returnFunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix
_jmolDomScriptLoad(url)}}catch(e){}
function jmolSetAtomCoord(i,x,y,z,targetSuffix){_jmolCheckBrowser();var applet=_jmolGetApplet(targetSuffix);if(applet)applet.getProperty('jmolViewer').setAtomCoord(i,x,y,z)}
function jmolSetAtomCoordRelative(i,x,y,z,targetSuffix){_jmolCheckBrowser();var applet=_jmolGetApplet(targetSuffix);if(applet)applet.getProperty('jmolViewer').setAtomCoordRelative(i,x,y,z)}
if(document.location.search.indexOf("NOAPPLET")>=0){jmolApplet=function(w){var s="<table style='background-color:black' width="+w+"><tr height="+w+">"
+"<td align=center valign=center style='background-color:white'>"
+"Applet would be here"
+"<p><textarea id=fakeApplet rows=5 cols=50></textarea>"
+"</td></tr></table>"
return _jmolDocumentWrite(s)}
_jmolFindApplet=function(){return jmolApplet0}
jmolApplet0={script:function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script},scriptWait:function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script},loadInline:function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script}}}
function jmolResize(w,h){_jmol.alerted=true;var percentW=(!w?100:w<=1&&w>0?w*100:0)
var percentH=(!h?percentW:h<=1&&h>0?h*100:0)
if(_jmol.browser=="msie"){var width=document.body.clientWidth;var height=document.body.clientHeight;}else{var netscapeScrollWidth=15;var width=window.innerWidth-netscapeScrollWidth;var height=window.innerHeight-netscapeScrollWidth;}
var applet=_jmolGetApplet(0);if(!applet)return;applet.style.width=(percentW?width*percentW/100:w)+"px"
applet.style.height=(percentH?height*percentH/100:h)+"px"
title=width+" "+height+" "+(new Date())}