<<RemoteContent "/ac/asGenProjList.asp" "" "" "raw">>
<html>\n<body>\n<form>\n <table class="noBorder" style="border:0;margin-left:0">\n <tr>\n <td>Variable Name:</td>\n <td colspan="2"><input type="text" name="Namen" id="aav_nam" size="12" value=""></td>\n <td>Chart Title:</td>\n <td colspan="2"><input type="text" name="Title" id="aav_title" size="12" value=""></td>\n <td>FOV (arcmin):</td>\n <td colspan="2"><input type="text" name="Field" id="aav_fov" size="12" value=""></td>\n <td>Mag limit:</td>\n <td colspan="2"><input type="text" name="Maglim" id="aav_limit" size="12" value=""></td>\n </tr>\n </table>\n</form>\n</body>\n</html><<slider "" "AAVSOHelpSlider" Info>>\n\n<<PersistentForm>><<PostForm "" "/ac/aaavso.asp" "Create Chart" "Fill in the blanks above and push the button to generate the chart.">><<RefreshTiddler "Erase Chart" "Do this before generating another chart">>
\nFill in the four blank fields above. For the name field, only the conventional variable star designations are accepted. Examples are "ZZ Cam" or "V0435 Cyg". "V435 Cyg" is equivalent to "V0435 Cyg". Other designations for names, like "lambda Orionis" or "Algol", will generate an error. Do not use quotation marks. Push the button below to generate the chart. The chart can be copied to paper using a screen grab. \n\nIf you change any input and push the {{{Create Chart}}} button again, the next chart will appear below the first. Or you can push the {{{Erase Chart}}} button first before generating another chart in a clean window.\n\nThe executable .asp file included here builds a specifically formatted URL that is sent to the AAVSO Variable Star Plotter website. It may take 5-10 seconds or so to generate and return the chart image.\n\nThanks to [[ACP wizard Dick Berg|http://www.brightskies.us/]] who developed and provided this tool.\nReference: http://www.aavso.org/accessing-variable-star-plotter-get-method ~~^^(Opens in a new tab.)^^~~
<<slider "" "Single Object Help" Help "Helpful information">>\n<html>\n<form>\n <table class="noBorder" style="border:0;margin-left:0">\n <tr>\n <td>Target Name:</td>\n <td colspan="2"><input type="text" name="Target" id="simg_tgt" size="14" value="" validate="required">\n <input type="hidden" name="visOnly" id="simg_visOnly" value="true"></td>\n <td>\n <a id="simg_getCoords" href="javascript:;" onClick="DC3.CatSearch.lookup(DC3.Lib.getPlace(this), null);" title="Look up coordinates or calculate planetary ephemeris"> Get Coordinates or Ephemeris</a>\n <a id="simg_getTheSky" style="display:none;" href="javascript:;" onClick="DC3.TheSky.fillFormInfo(DC3.Lib.getPlace(this));" title="Fill in the coordinates from the current target in TheSky"> Get Coordinates From TheSky</a>\n </td>\n </tr>\n <tr>\n <td>Right Asc. (hrs):</td>\n <td colspan="2"><input type="text" name="RA" id="simg_ra" size="12" value="" validate="sexanum[0:24],required"></td>\n <td><a id="simg_catSearch" href="javascript:;" onClick="story.displayTiddler(this,'Deep Sky Catalog Search',null,config.options.chkAnimate,false)" title="Open the Deep Sky Catalog Search Item"> Deep Sky Catalog Search</a></td>\n </tr>\n <tr>\n <td>Declination (deg):</td>\n <td colspan="2"><input type="text" name="Dec" id="simg_dec" size="12" value="" validate="sexanum[-90:90],required"></td>\n <td> <i>(coordinates in J2000)</i></td>\n </tr>\n <!--<% if(rotAvail) { %>-->\n <tr>\n <td>Pos. Angle (deg):</td>\n <td colspan="2"><input type="text" name="PA" id="simg_pa" size="5" value="" validate="number,between[0:360],required"></td>\n <td> <i>(true/sky PA, required)</i></td>\n </tr>\n <!--<% } %>-->\n <!-- Mimics one row of the Color Series' expando form -->\n <tr>\n <td>Duration (sec):</td>\n <td><input type="text" name="ColorExposure1" id="ColorExposure1" size="5" value="" validate="number, required"></td>\n <!--<% if(filtNames) { %>-->\n <td> Filter: \n <select name="ColorFilter1" id="ColorFilter1">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td> Binning: \n <select name="ColorBinning1" id="ColorBinning1">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <input type="hidden" name="ColorCount1" id="ColorCount1" value="1">\n <input type="hidden" name="ColorUse1" id="ColorUse1" value="yes">\n <input type="hidden" name="Dither" id="Dither" value="0.0">\n </table>\n <div style="margin-top:0px;margin-bottom:8px"> \n <!--<% if(Prefs.Autofocus.Enabled) { %>-->\n <input type="checkbox" name="AF" value="yes" title="Focus the system before acquiring the image">\n Auto focus before imaging\n </input>\n <!--<% } %>-->\n \n <!--<% if(Prefs.CameraPrefs.AutoCalibrate) { %>-->\n <input type="checkbox" checked disabled name="Cal" value="yes" title="Observatory calibrates all images">Auto calibrate</input>\n <!--<% } else { %>-->\n <input type="checkbox" name="Cal" value="yes" title="Apply calibration frames after imaging">Auto calibrate</input>\n <!--<% } %>-->\n </div>\n</form>\n</html><<PersistentForm>><<PostForm "" "/ac/aacqform.asp" "Acquire Image" "Starts the image acquisition process">><<ValidateForm "" "postit">><script>\n// DC3.TheSky.setTargetInfo() and DC3.TheSky.switchLink() depend on the link IDs!\nif(DC3.TheSky.theSkyInfoAvailable()) DC3.TheSky.switchLink("simg");\n</script>\n
If you have lots of images this could take a long time to appear. We suggest [[using FTP|Using FTP]].\n\n<<RemoteContent '/images/<%= User.Username %>/aindex.asp' Refresh 'Refresh the file list'>>
<<option chkOpenInNewWindow>> OpenLinksInNewWindow\n<<option chkToggleLinks>> Clicking on links to items that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmBeforeDeleting\nMaximum number of lines in an item edit box: <<option txtMaxEditRows>>\n<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field\n<<option chkSinglePageMode>> Display one item at a time\n<<option chkTopOfPageMode>> Always open items at the top of the page
\nversion.extensions.allTagsEx={major:1,minor:0,revision:1,date:new Date(2006,9,23),type:'macro',source:"#allTagsExPlugin"};config.macros.allTagsEx={handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var tags=store.getTags();var theDateList=createTiddlyElement(place,"ul",null,null,null);if(tags.length===0)\ncreateTiddlyElement(theDateList,"li",null,"listTitle",config.macros.allTags.noTags);for(var t=0;t<tags.length;t++)\n{var tagTiddler=store.fetchTiddler(tags[t][0]);if(!tagTiddler||!tagTiddler.isTagged("excludeLists"))\n{var theListItem=createTiddlyElement(theDateList,"li",null,null,null);var theTag=createTiddlyButton(theListItem,tags[t][0]+" ("+tags[t][1]+")",config.macros.allTags.tooltip.format([tags[t][0]]),onClickTag);theTag.setAttribute("tag",tags[t][0]);}}}};
Asks for a filter name then focuses the optical system for the selected filter. You need to supply the filter name. If you don't know the names of the filters, see [[Instruments & Equipment]].
\nCopyright (c) 2005-2006, ~DC-3 Dreams, SP, Mesa, AZ\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n*Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. \n*Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. \n*Neither the name of ~DC-3 Dreams nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. \nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n
<div class='header' macro='gradient vert #18f #04b'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
/***\nStyles used in Share Your Sky! adaptation of ~TiddlyWiki. These must be completely overridden in other themes, as this style sheet is used only with the Default TW styles (StyleSheetLayout and StyleSheetColors).\n!!Revision History\n<<<\n''2006.10.08 [rbd]'' Begin version control\n''2006.10.23 [rbd]'' Remove height from <input> and <select>, was scrunching buttons.\n''2006.10.24 [rbd]'' Complete telemetry colors\n''2006.11.07 [rbd]'' Faint border for sysmon thumbnail, add light tiddler borders (with Checketts fix), use new TW 2.1.x ColorPalette color specs.\n''2006.11.21 [rbd]'' Add .collapsedTitle for folded tiddlers\n''2009 01 09 [rbd]'' Firefox 3 compatibility. ~HeaderForeground needed width 100%\n''2010.11.17 [rbd]'' ~ACP-490 Add border style for #sm_guideBox\n<<<\n!Overrides for Standard TW styles\n***/\n/*{{{*/\nbody {\n position: static; /*Clint's IE fix part 1 (part 2 in TW now) */\n}\n/** LOSER ON IE6 without Clint's IE fix (see body section at top!) **/\n.tiddler {\n border: 1px solid [[ColorPalette::TertiaryLight]];\n padding-bottom: 8px;\n margin-left: 8px; /* Vastly different on IE vs FireFox! */\n margin-bottom: 12px;\n}\n.headerForeground {\n width: 100%; /* Firefox 3 suddenly needed this but not on HeaderShadow */\n padding: 2.5em 0em 1em 1em;\n}\n.headerShadow {\n padding: 2.5em 0em 1em 1em;\n}\n.viewer input {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1.0em;\n}\n.viewer select {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1.0em;\n}\n.viewer .sortheader {\n font-weight: normal;\n}\n.viewer .filelist table {\n margin_bottom: 0px;\n}\n.viewer .fileList tr {\n border: none;\n}\n.viewer .fileList td, .viewer .fileList th {\n border: 0;\n padding: 2px 8px 2px 8px;\n}\n.viewer .noBorder table, .viewer .noBorder th, .viewer .noBorder tr, .viewer .noBorder td {\n border: 0;\n}\n.viewer .noBorder #sm_thumb { /* For sysmon thumbnail */\n border: 1px solid #eee;\n padding: 0px;\n}\n.viewer .noBorder #sm_guideBox { /* For sysmon guider trackbox image */\n border: 1px solid #eee;\n padding: 0px;\n}\n.viewer iframe {\n border: 1px dashed blue;\n}\ntextarea {\n font-family:courier !important;\n}\n/*}}}*/\n/***\n!Special style for folded tiddlers\n***/\n/*{{{*/\n.collapsedTitle {\n color: #888;\n font-size: 1.3em;\n font-weight: bold;\n}\n/*}}}*/\n/***\n!System Status Display Styles\n***/\n/*{{{*/\ndiv.progBarBg {\n position:relative;\n height:0.75em;\n background-color: [[ColorPalette::SecondaryPale]];\n}\ndiv.progBarFg {\n position:absolute;\n overflow: hidden;\n height: 0.75em;\n width:0px;\n background-color: [[ColorPalette::SecondaryDark]];\n}\ntd.telemetry {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1em;\n background-color: [[ColorPalette::SecondaryPale]];\n white-space: pre;\n color: [[ColorPalette::TertiaryLight]]; /* "off" state overridden by inner <span> tags */\n}\nspan.telemActive {\ncolor: [[ColorPalette::Foreground]];\n}\nspan.telemWarn {\n color: red;\n}\nspan.telemOff {\ncolor: [[ColorPalette::TertiaryLight]];\n} /* Match color in td.telemetry */\ntd.telemlabel {\n white-space: nowrap;\n}\ntextarea.scriptlog {\n border: 1px solid #18f;\n margin: 0;\n padding: 0.5em;\n background: [[ColorPalette::SecondaryPale]];\n color: black;\n font-family: "Lucida Console", "Courier New", Courier, monospace !important;\n font-size: 8pt !important;\n white-space: pre;\n line-height: 110%;\n}\n\n/*}}}*/\n
The web content is optimized for [[W3C|http://www.w3.org/]] standards compatibility. As of 2011, the situation with [[browser quirks|http://www.quirksmode.org/]] has improved considerably. As far as we know, this web site is compatible with recent versions of Google Chrome, Firefox, Safari, Internet Explorer, and Opera. @@If you have display problems with this web site, update your browser!@@\n!!!Touch Browsers\nThe last few years has also seen the advent of //touch// browsers in the iPhone, Android, and iPad. The early bugs in these ~WebKit based browsers have been overcome, allowing them to be used for Share Your Sky! Older Android phones will likely have problems, but any Android 2.2 (2010) or later phone will work fine.\n!!!Authoring with ~FireFox\nThe embedded server engine that powers ACP's web services has a bug that prevents FireFox from saving authored web content (authoring mode). We recommend you use [[Google Chrome|http://www.google.com/chrome]] for authoring. [[Switch to Authoring Mode|author.html]] to learn more.\n
\nIf you want cal frames at a specific temperature, enable Require cooler temp and fill in the required temperature. Look at the [[System Status]] display to see the current cooler temperature. If you do this, the cal run will start with a {{{#chill}}} command, which will turn on the cooler if needed, then set the temperature and wait for up to 15 minutes. To succeed, the temperature must stay within plus/minus 2 degrees of the setpoint continuously for 60 seconds.
Calibrates the auto-guider. You should //not// have to do this unless you change your optical train. If you are not the observatory operator, you probably don't have to do this either!
<<slider "" "Cal Frame Help" Help "Helpful information">>\n\nUse this to acquire dark and bias calibration frames. To request a __bias frame__, simply set the exposure duration to zero. The system will automatically recognize that as a request for a bias frame. \n<html><form>\n <table class="noBorder" style="border:0;margin-left:0">\n <tr>\n <th>Use</th>\n <th>Count</th>\n <th>Duration</th>\n <th>Binning</th>\n </tr>\n <tr id="CalRow1">\n <td><input type="checkbox" name="CalUse1" id="CalUse1" value="yes"></td>\n <td><input type="text" name="CalCount1" id="CalCount1" size="4" value=""></td>\n <td><input type="text" name="CalExposure1" id="CalExposure1" size="5" value=""></td>\n <td><select name="CalBinning1" id="CalBinning1"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow2" style="display:none;">\n <td><input type="checkbox" name="CalUse2" id="CalUse2" value="yes"></td>\n <td><input type="text" name="CalCount2" id="CalCount2" size="4" value=""></td>\n <td><input type="text" name="CalExposure2" id="CalExposure2" size="5" value=""></td>\n <td><select name="CalBinning2" id="CalBinning2"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow3" style="display:none;">\n <td><input type="checkbox" name="CalUse3" id="CalUse3" value="yes"></td>\n <td><input type="text" name="CalCount3" id="CalCount3" size="4" value=""></td>\n <td><input type="text" name="CalExposure3" id="CalExposure3" size="5" value=""></td>\n <td><select name="CalBinning3" id="CalBinning3"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow4" style="display:none;">\n <td><input type="checkbox" name="CalUse4" id="CalUse4" value="yes"></td>\n <td><input type="text" name="CalCount4" id="CalCount4" size="4" value=""></td>\n <td><input type="text" name="CalExposure4" id="CalExposure4" size="5" value=""></td>\n <td><select name="CalBinning4" id="CalBinning4"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow5" style="display:none;">\n <td><input type="checkbox" name="CalUse5" id="CalUse5" value="yes"></td>\n <td><input type="text" name="CalCount5" id="CalCount5" size="4" value=""></td>\n <td><input type="text" name="CalExposure5" id="CalExposure5" size="5" value=""></td>\n <td><select name="CalBinning5" id="CalBinning5"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow6" style="display:none;">\n <td><input type="checkbox" name="CalUse6" id="CalUse6" value="yes"></td>\n <td><input type="text" name="CalCount6" id="CalCount6" size="4" value=""></td>\n <td><input type="text" name="CalExposure6" id="CalExposure6" size="5" value=""></td>\n <td><select name="CalBinning6" id="CalBinning6"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow7" style="display:none;">\n <td><input type="checkbox" name="CalUse7" id="CalUse7" value="yes"></td>\n <td><input type="text" name="CalCount7" id="CalCount7" size="4" value=""></td>\n <td><input type="text" name="CalExposure7" id="CalExposure7" size="5" value=""></td>\n <td><select name="CalBinning7" id="CalBinning7"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow8" style="display:none;">\n <td><input type="checkbox" name="CalUse8" id="CalUse8" value="yes"></td>\n <td><input type="text" name="CalCount8" id="CalCount8" size="4" value=""></td>\n <td><input type="text" name="CalExposure8" id="CalExposure8" size="5" value=""></td>\n <td><select name="CalBinning8" id="CalBinning8"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow9" style="display:none;">\n <td><input type="checkbox" name="CalUse9" id="CalUse9" value="yes"></td>\n <td><input type="text" name="CalCount9" id="CalCount9" size="4" value=""></td>\n <td><input type="text" name="CalExposure9" id="CalExposure9" size="5" value=""></td>\n <td><select name="CalBinning9" id="CalBinning9"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow10" style="display:none;">\n <td><input type="checkbox" name="CalUse10" id="CalUse10" value="yes"></td>\n <td><input type="text" name="CalCount10" id="CalCount10" size="4" value=""></td>\n <td><input type="text" name="CalExposure10" id="CalExposure10" size="5" value=""></td>\n <td><select name="CalBinning10" id="CalBinning10"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow11" style="display:none;">\n <td><input type="checkbox" name="CalUse11" id="CalUse11" value="yes"></td>\n <td><input type="text" name="CalCount11" id="CalCount11" size="4" value=""></td>\n <td><input type="text" name="CalExposure11" id="CalExposure11" size="5" value=""></td>\n <td><select name="CalBinning11" id="CalBinning11"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow12" style="display:none;">\n <td><input type="checkbox" name="CalUse12" id="CalUse12" value="yes"></td>\n <td><input type="text" name="CalCount12" id="CalCount12" size="4" value=""></td>\n <td><input type="text" name="CalExposure12" id="CalExposure12" size="5" value=""></td>\n <td><select name="CalBinning12" id="CalBinning12"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow13" style="display:none;">\n <td><input type="checkbox" name="CalUse13" id="CalUse13" value="yes"></td>\n <td><input type="text" name="CalCount13" id="CalCount13" size="4" value=""></td>\n <td><input type="text" name="CalExposure13" id="CalExposure13" size="5" value=""></td>\n <td><select name="CalBinning13" id="CalBinning13"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow14" style="display:none;">\n <td><input type="checkbox" name="CalUse14" id="CalUse14" value="yes"></td>\n <td><input type="text" name="CalCount14" id="CalCount14" size="4" value=""></td>\n <td><input type="text" name="CalExposure14" id="CalExposure14" size="5" value=""></td>\n <td><select name="CalBinning14" id="CalBinning14"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow15" style="display:none;">\n <td><input type="checkbox" name="CalUse15" id="CalUse15" value="yes"></td>\n <td><input type="text" name="CalCount15" id="CalCount15" size="4" value=""></td>\n <td><input type="text" name="CalExposure15" id="CalExposure15" size="5" value=""></td>\n <td><select name="CalBinning15" id="CalBinning15"><%= binningOptions() %></select></td>\n </tr>\n <tr id="CalRow16" style="display:none;">\n <td><input type="checkbox" name="CalUse16" id="CalUse16" value="yes"></td>\n <td><input type="text" name="CalCount16" id="CalCount16" size="4" value=""></td>\n <td><input type="text" name="CalExposure16" id="CalExposure16" size="5" value=""></td>\n <td><select name="CalBinning16" id="CalBinning16"><%= binningOptions() %></select></td>\n </tr>\n <tr>\n <td colspan="4"><a href="javascript:;" class="button" title="Click to add another row" onclick="DC3.Lib.expandoAddRow('Cal');">More</a></td>\n </tr>\n </table>\n <input type="checkbox" name="CalReqTemp" value="yes" />Require cooler temp\n<input type="text" name="CalTemp" size="4" value="-20" /> deg C<br><br>\n</form></html><<PersistentForm>><<PostForm "" "/ac/aacqcal.asp" "Acquire Cal Frames" "Starts the cal frame acquisition process">><<ValidateForm "" "postit">>\n<script>DC3.Lib.expandoInitializeForm("Cal");</script>\n
Turn this on to cause searching to be case-sensitive.
Use this to perfect the pointing of your scope. It does a standard ACP pointing update. It takes an image, plate solves, then <% if(Util.PointingCorrectionEnabled) { %>adds a new mapping point to the pointing corrector, improving the accuracy in the area where the scope is currently pointed<% } else { %>syncs or centers the scope with the hyper-accurate coordinates thus obtained<% }%>.<% if(Prefs.EnableAllSkySolving) { %> All-sky plate solving is available on this observatory, so if the basic plate solution fails after being tried at two closely spaced locations, it will try to do an all-sky plate solution using [[Astrometry.net|http://astrometry.net]]. This often succeeds, and if the telescope supports syncing, will result in the telescope being re-synced to recover its pointing.<% } %>
<<slider "" "Check Observing Plan Help" Help "Helpful information">>\n\n<html><table width="96%" style="border:none;margin:1px;background:transparent"><iframe id="acheckplan" src="/ac/acheckplan.asp" width="100%" height="0" frameborder="0" scrolling="no" allowtransparency style="border:none;"></iframe></table></html><script>\n// This is for lost refresh on IE6\nif(document.all) { // IE\nvar iFrame = place.getElementsByTagName("iframe")[0];\niFrame .src = iFrame .src;\n}\n</script>
\nThis item provides you with a way to check an [[Observing Plan|Making Observing Plans]] before uploading it to your [[Plans Area|Observing Plans]] for running. Virtually any plan error will be detected, but there are a few things that can't be checked because it's designed to be used with the imager and telescope offline. The following things are not checked:\n*Filter requested but imager has no filters\n*Filter not specified but imager has filters\n*Filter name matches one of the imager's filters\n*Rotator PA given but imager has no rotator\n*Rotator PA not given, but imager has a rotator\n*#Orbital tracking (#trackon) specified but the mount doesn't support it\n*#Dome control directives (#domeopen/#domeclose) given but there is no dome controller\n*Errors in the syntax of orbital elements for solar system objects or NEOCP ephemerides\n*Explicit flat plan file specifications are not checked for existence.\nAnd of course, target visibility can't be checked because the plan will be run at a different time. All of the above will be checked at the start of an actual run, so be sure to look at the system console after starting a plan to make sure that one of these errors isn't detected. The plan checker is designed to eliminate almost all sources of errors before uploading the plan.
\nversion.extensions.CheckboxPlugin={major:2,minor:1,revision:3,date:new Date(2006,5,4)};if(!window.story)window.story=window;if(!store.getTiddler)store.getTiddler=function(title){return store.tiddlers[title]}\nif(!store.addTiddler)store.addTiddler=function(tiddler){store.tiddlers[tiddler.title]=tiddler}\nif(!store.deleteTiddler)store.deleteTiddler=function(title){delete store.tiddlers[title]}\nconfig.checkbox={refresh:{tagged:true,tagging:true,container:true}};config.formatters.push({name:"checkbox",match:"\s\s[[xX_ ][\s\s]\s\s=\s\s(\s\s{]",lookahead:"\s\s[([xX_ ])(\s\s])?(=[^\s\ss\s\s(\s\s]{]+)?(\s\s([^\s\s)]*\s\s))?({[^}]*})?({[^}]*})?(\s\s])?",handler:function(w)\n{var lookaheadRegExp=new RegExp(this.lookahead,"mg");lookaheadRegExp.lastIndex=w.matchStart;var lookaheadMatch=lookaheadRegExp.exec(w.source)\nif(lookaheadMatch&&lookaheadMatch.index==w.matchStart)\n{var checked=lookaheadMatch[1];var id=lookaheadMatch[3];var tag=lookaheadMatch[4];var fn_init=lookaheadMatch[5];var fn_click=lookaheadMatch[6];var c=document.createElement("input");c.setAttribute("type","checkbox");c.onclick=onClickCheckbox;c.srcpos=w.matchStart+1;c.container=story.findContainingTiddler(w.output);if(c.container)c.container=c.container.id.substr(7);c.refresh={};c.refresh.container=config.checkbox.refresh.container;c.refresh.tagged=config.checkbox.refresh.tagged;c.refresh.tagging=config.checkbox.refresh.tagging;w.output.appendChild(c);c.checked=(checked.toUpperCase()=="X");if(id){c.id=id.substr(1);if(config.options[c.id]!=undefined)\nc.checked=config.options[c.id];else\nconfig.options[c.id]=c.checked;}\nif(tag){c.tiddler=c.container;c.tag=tag.substr(1,tag.length-2).trim();var pos=c.tag.indexOf("|");if(pos==-1)var pos=c.tag.indexOf(":");if(pos==0){c.tag=tag.substr(1);}\nif(pos>0){c.tiddler=c.tag.substr(0,pos).replace(/\s[\s[/g,"").replace(/\s]\s]/g,"");c.tag=c.tag.substr(pos+1);}\nc.tag.replace(/\s[\s[/g,"").replace(/\s]\s]/g,"");if(!c.tag.length)c.tag="checked";var t=store.getTiddler(c.tiddler);c.checked=(t&&t.tags)?(t.tags.find(c.tag)!=null):false;}\nif(fn_init)c.fn_init=fn_init.trim().substr(1,fn_init.length-2);if(fn_click)c.fn_click=fn_click.trim().substr(1,fn_click.length-2);c.init=true;c.onclick();c.init=false;w.nextMatch=lookaheadMatch.index+lookaheadMatch[0].length;}}})\nfunction onClickCheckbox()\n{if(this.fn_init)\n{try{eval(this.fn_init);this.fn_init=null;}catch(e){displayMessage("Checkbox init error: "+e.toString());}}\nelse if(this.fn_click)\n{try{eval(this.fn_click)}catch(e){displayMessage("Checkbox click error: "+e.toString());}}\nif(this.id)\n{config.options[this.id]=this.checked;if(this.id.substr(0,3)=="chk")saveOptionCookie(this.id);}\nif((!this.id||this.id.substr(0,3)!="chk")&&!this.tag){var t=story.findContainingTiddler(this);if(t){var t=store.getTiddler(t.id.substr(7));if(this.checked!=(t.text.substr(this.srcpos,1).toUpperCase()=="X")){t.set(null,t.text.substr(0,this.srcpos)+(this.checked?"X":"_")+t.text.substr(this.srcpos+1),null,null,t.tags);store.setDirty(true);}}}\nif(this.tag){var t=store.getTiddler(this.tiddler);if(!t){t=(new Tiddler());t.set(this.tiddler,"",config.options.txtUserName,(new Date()),null);store.addTiddler(t);}\nvar tagged=(t.tags&&t.tags.find(this.tag)!=null);if(this.checked&&!tagged){t.tags.push(this.tag);store.setDirty(true);}\nif(!this.checked&&tagged){t.tags.splice(t.tags.find(this.tag),1);store.setDirty(true);}\nif(this.checked!=tagged){if(this.refresh.tagged)story.refreshTiddler(this.tiddler,null,true);if(this.refresh.tagging)story.refreshTiddler(this.tag,null,true);}}\nif(!this.init&&this.refresh.container&&this.container!=this.tiddler)\nstory.refreshTiddler(this.container,null,true);return true;}
<div class='header'>\n<div class='titleLine'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div macro='gradient vert #ffffff #cc9900'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n</div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
/***\n!TiddlyWiki Classic Color Scheme\nDesigned by Jeremy Ruston\nModified by Bob Denny for Share Your Sky! (add pale b/g to items, added .viewer {...} style def.)\n\n!!Revision History\n<<<\n''2006.09.19 [rbd]'' Initial adaptation, add pale b/g to items, added .viewer {...} style def.\n''2006.10.08 [rbd]'' Much more work over last 21 days, add styles for System Monitor, clean up XP bar styles.\n''2006.10.23 [rbd]'' Remove height from <input> and <select>, was scrunching buttons.\n''2006.10.26 [rbd]'' Reduce height of header, indent title 0.5em more to 1em, complete telemetry colors.\n''2006.11.07 [rbd]'' Faint border for thumbnail, make progbars match rest of display,\n''2006.11.21 [rbd]'' Add .collapsedTitle for folded tiddlers\n''2010.11.17 [rbd]'' ~ACP-490 Add border style for #sm_guideBox\n''2015.05.19 [rbd]'' ~ACP-1303 Text alignment in main menu top bars\n<<<\n!Colors Used\n*@@bgcolor(#630):color(#fff): #630@@\n*@@bgcolor(#930): #930@@\n*@@bgcolor(#996633): #963@@\n*@@bgcolor(#c90): #c90@@\n*@@bgcolor(#cf6): #cf6@@\n*@@bgcolor(#cc9): #cc9@@\n*@@bgcolor(#ba9): #ba9@@\n*@@bgcolor(#996): #996@@\n*@@bgcolor(#300):color(#fff): #300@@\n*@@bgcolor(#000000):color(#fff): #000@@\n*@@bgcolor(#666): #666@@\n*@@bgcolor(#888): #888@@\n*@@bgcolor(#aaa): #aaa@@\n*@@bgcolor(#ddd): #ddd@@\n*@@bgcolor(#eee): #eee@@\n*@@bgcolor(#ffffff): #fff@@\n*@@bgcolor(#f00): #f00@@\n*@@bgcolor(#ff3): #ff3@@\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n background: #fff;\n color: #000;\n position: static; /*Clint's IE fix part 1 (part 2 in TW now) */\n}\ntextarea {\n font-family:courier !important;\n}\na {\n color: #963;\n}\na:hover {\n background: #963;\n color: #fff;\n}\na img {\n border: 0;\n}\n.collapsedTitle {\n color: #888;\n font-size: 1.3em;\n font-weight: bold;\n}\nh1, h2, h3, h4, h5 {\n background: #cc9;\n}\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n.header {\n background: #300;\n}\n.titleLine {\n color: #fff;\n padding: 2.5em 0em 1em 1em;\n}\n.titleLine a {\n color: #cf6;\n}\n.titleLine a:hover {\n background: transparent;\n}\n/*}}}*/\n/***\n!Main Menu /%=================================================%/\n***/\n/*{{{*/\n#mainMenu .button {\n color: #930;\n}\n#mainMenu .button:hover {\n color: #cf6;\n background: #930;\n}\n#mainMenu li {\n list-style: none;\n}\n/*}}}*/\n/***\n!Sidebar options /%=================================================%/\n~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\n***/\n/*{{{*/\n#sidebar {\n background: #c90;\n right: 0;\n}\n#sidebarOptions a {\n color: #930;\n border: 0;\n margin: 0;\n padding: .25em .5em;\n}\n#sidebarOptions a:hover {\n color: #cf6;\n background: #930;\n}\n#sidebarOptions a:active {\n color: #930;\n background: #cf6;\n}\n#sidebarOptions .sliderPanel {\n background: #eea;\n margin: 0;\n}\n#sidebarOptions .sliderPanel a {\n color: #930;\n}\n#sidebarOptions .sliderPanel a:hover {\n color: #cf6;\n background: #930;\n}\n#sidebarOptions .sliderPanel a:active {\n color: #930;\n background: #cf6;\n}\n/*}}}*/\n/***\n!Sidebar tabs /%=================================================%/\n***/\n/*{{{*/\n.tabSelected, .tabContents {\n background: #eea;\n border: 0;\n}\n.tabUnselected {\n background: #c90;\n}\n#sidebarTabs {\n background: #c90;\n}\n#sidebarTabs .tabSelected {\n color: #cf6;\n background: #963;\n}\n#sidebarTabs .tabUnselected {\n color: #cf6;\n background: #930;\n}\n#sidebarTabs .tabContents {\n background: #963;\n}\n#sidebarTabs .txtMoreTab .tabSelected, #sidebarTabs .txtMoreTab .tabSelected:hover {\n background: #930;\n color: #cf6;\n}\n#sidebarTabs .txtMoreTab .tabUnselected, #sidebarTabs .txtMoreTab .tabUnselected:hover {\n background: #300;\n color: #cf6;\n}\n#sidebarTabs .txtMoreTab .tabContents {\n background: #930;\n}\n#sidebarTabs .tabContents a {\n color: #cf6;\n border: 0;\n}\n#sidebarTabs .button.highlight, #sidebarTabs .tabContents a:hover {\n background: #cf6;\n color: #300;\n}\n/*}}}*/\n/***\n!Message Area /%=================================================%/\n***/\n/*{{{*/\n#messageArea {\n background: #930;\n color: #fff;\n}\n#messageArea a:link, #messageArea a:visited {\n color: #c90;\n}\n#messageArea a:hover {\n color: #963;\n background: transparent;\n}\n#messageArea a:active {\n color: #fff;\n}\n/*}}}*/\n/***\n!Popup /%=================================================%/\n***/\n/*{{{*/\n.popup {\n background: #eea;\n border: 1px solid #930;\n}\n.popup hr {\n color: #963;\n background: #963;\n border-bottom: 1px;\n}\n.popup li.disabled {\n color: #ba9;\n}\n.popup li a, .popup li a:visited {\n color: #300;\n}\n.popup li a:hover {\n background: #930;\n color: #eea;\n}\n/*}}}*/\n/***\n!Tiddler Display /%=================================================%/\n***/\n/*{{{*/\n/** LOSER ON IE6 without Clint's IE fix (see body section at top!) **/\n.tiddler {\n border: 1px solid #eee;\n padding-bottom: 8px;\n margin-left: 8px; /* Vastly different on IE vs FireFox! */\n margin-bottom: 12px;\n}\n.tiddler .button {\n color: #930;\n}\n.tiddler .button:hover {\n color: #cf6;\n background: #930;\n}\n.tiddler .button:active {\n color: #fff;\n background: #c90;\n}\n.shadow .title {\n color: #888;\n}\n.title {\n color: #422;\n}\n.subtitle {\n color: #866;\n}\n.toolbar {\n color: #aaa;\n}\n.toolbar a, .toolbar a:hover {\n border: 0;\n}\n.tagging, .tagged {\n border: 1px solid #fff;\n background-color: #ffc;\n}\n.selected .tagging, .selected .tagged {\n border: 1px solid #aa6;\n background-color: #ffc;\n}\n.tagging .listTitle, .tagged .listTitle {\n color: #999999;\n}\n.footer {\n color: #ddd;\n}\n.selected .footer {\n color: #888;\n}\n.sparkline {\n background: #eea;\n border: 0;\n}\n.sparktick {\n background: #930;\n}\n.errorButton {\n color: #ff0;\n background: #f00;\n}\n.zoomer {\n color: #963;\n border: 1px solid #963;\n}\n/*}}}*/\n/***\n''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.viewer .button {\n background: #c90;\n color: #300;\n border-right: 1px solid #300;\n border-bottom: 1px solid #300;\n}\n.viewer .button:hover {\n background: #eea;\n color: #c90;\n}\n.viewer .imageLink {\n background: transparent;\n}\n.viewer blockquote {\n border-left: 3px solid #666;\n}\n.viewer input {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1.0em;\n}\n.viewer select {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1.0em;\n}\n.viewer table {\n border: 2px solid #303030;\n}\n.viewer th, thead td {\n background: #996;\n border: 1px solid #606060;\n color: #fff;\n}\n.viewer td, .viewer tr {\n border: 1px solid #606060;\n}\n.viewer .sortheader {\n font-weight: normal;\n}\n.viewer .fileList table {\n border-color: #ff7f00;\n margin-bottom: 0px;\n}\n.viewer .fileList tr {\n border: none;\n}\n.viewer .fileList td, .viewer .fileList th {\n border: 0;\n padding: 2px 8px 2px 8px;\n}\n.viewer .noBorder table, .viewer .noBorder th, .viewer .noBorder tr, .viewer .noBorder td {\n border: 0;\n}\n.viewer .noBorder #sm_thumb { /* For sysmon thumbnail */\n border: 1px solid #eee;\n padding: 0px;\n}\n.viewer .noBorder #sm_guideBox { /* For sysmon guider trackbox image */\n border: 1px solid #eee;\n padding: 0px;\n}\n.viewer pre {\n border: 1px solid #963;\n background: #eea;\n}\n.viewer code {\n color: #630;\n}\n.viewer hr {\n border: 0;\n border-top: dashed 1px #606060;\n color: #666;\n}\n.viewer iframe {\n border: 1px solid #963;\n}\n.highlight, .marked {\n background: #ff3;\n}\n/*}}}*/\n/***\n''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.editor input {\n border: 1px solid #000;\n}\n.editor textarea {\n border: 1px solid #000;\n width: 100%;\n}\n.editorFooter {\n color: #aaa;\n}\n.editorFooter a {\n color: #930;\n}\n.editorFooter a:hover {\n color: #cf6;\n background: #930;\n}\n.editorFooter a:active {\n color: #fff;\n background: #c90;\n}\n/*}}}*/\n/***\n!XP ~NavBar Style Overrides\n***/\n/*{{{*/\n\n.topItem {\n display: table-cell;\n vertical-align: middle;\n background: url("im/bar-classic-up.png") no-repeat 0 0;\n color:#cf6;\n}\n.topItemOver {\n display: table-cell;\n vertical-align: middle;\n background: url("im/bar-classic-up-on.png") no-repeat 0 0;\n color: #fff;\n}\n.topItemClose {\n display: table-cell;\n vertical-align: middle;\n background: url("im/bar-classic-down.png") no-repeat 0 0;\n color:#cf6;\n}\n.topItemCloseOver {\n display: table-cell;\n vertical-align: middle;\n background: url("im/bar-classic-down-on.png") no-repeat 0 0;\n color: #fff;\n}\n.dropMenu {\n background-color: #963;\n color: #fff;\n}\n.subItem, .subSubItem {\n color: #fff;\n}\n.subItemOver, .subSubItemOver {\n color: #fff;\n}\n.subItem a, .subSubItem a {\n color: #cf6;\n}\n.subItemOver a, .subSubItemOver a {\n color: #000;\n background-color: #cf6;\n}\n/*}}}*/\n/***\n!System Status Display Styles\n***/\n/*{{{*/\ndiv.progBarBg {\n position:relative;\n height:0.75em;\n background-color: #cf6;\n}\ndiv.progBarFg {\n position:absolute;\n overflow: hidden;\n height: 0.75em;\n width:0px;\n background-color: #963;\n}\ntd.telemetry {\n font-family: Lucida Console, Courier New, Courier, monospace;\n font-size: 1em;\n background-color: #cf6;\n white-space: pre;\n color: #c0c0c0;\n// "off" state overridden by inner <span> tags\n}\nspan.telemActive {\n color: black;\n}\nspan.telemWarn {\n color: #ff0000;\n}\nspan.telemOff {\n color: #c0c0c0;\n} /* Match color in td.telemetry */\ntd.telemlabel {\n white-space: nowrap;\n}\ntextarea.scriptlog {\n border: 1px solid #963;\n margin: 0;\n padding: 0.5em;\n background: #cf6;\n color: black;\n font-family: Lucida Console, Courier New, Courier, monospace !important;\n font-size: 8pt !important;\n white-space: pre;\n line-height: 110%;\n}\ntd.trackGraph {\n background-color: #cf6;\n}\n\n/*}}}*/\n
<<RemoteContent '/ac/aclarity2.asp' Refresh 'Refresh the Clarity info'>>
\nversion.extensions.collapseTiddler={major:1,minor:0,revision:1,date:new Date(2006,11,21),type:'commands',source:"#CollapseTiddlerPlugin"};config.commands.collapseTiddler={text:"fold",tooltip:"Collapse this tiddler",findTemplate:function()\n{var t=(readOnly&&store.tiddlerExists("WebCollapsedTemplate"))?"WebCollapsedTemplate":"CollapsedTemplate";if(!store.tiddlerExists(t)){alert("Can't find 'CollapsedTemplate'");return null;}\nreturn t;},handler:function(event,src,title)\n{var tid=story.findContainingTiddler(src);if(tid.getAttribute("template")!=config.tiddlerTemplates[DEFAULT_EDIT_TEMPLATE]){var t=this.findTemplate();if(t===null)return;if(tid.getAttribute("template")!=t){tid.setAttribute("oldTemplate",tid.getAttribute("template"));story.displayTiddler(null,title,t);}}}};config.commands.expandTiddler={text:"unfold",tooltip:"Restore this tiddler",handler:function(event,src,title)\n{var tid=story.findContainingTiddler(src);story.displayTiddler(null,title,tid.getAttribute("oldTemplate"));}};config.commands.collapseOthers={text:"focus",tooltip:"Restore this tiddler and collapse all others",handler:function(event,src,title)\n{var tid=story.findContainingTiddler(src);story.forEachTiddler(function(title,tiddler){if(tiddler.getAttribute("template")!=config.tiddlerTemplates[DEFAULT_EDIT_TEMPLATE]){var t=config.commands.collapseTiddler.findTemplate();if(t===null)return;if(tid==tiddler)\nt=tid.getAttribute("oldTemplate");story.displayTiddler(null,title,t);}});}};
<div class='toolbar'>\n<span macro='toolbar expandTiddler collapseOthers -closeTiddler'></span>\n</div>\n<div class='collapsedTitle' macro='view title'></div>
!File Access and Usage\n#__Where are my Plan, Image and Log Files__? <% if(User.Username == "localweb") { %>You are running the web browser locally in the observatory, via the Use Web Browser button (localhost). Therefore, your documents are where they are usually stored when using the ACP console, in your Windows ''My Documents'' area, under ''ACP Observing''.<% } else { %>Open the My Documents menu bar on the left to see the Acquired Images, Observing Plans, and Run Logs selections. At the observatory, these documents are stored in the web browser's file storage area, set by the system administrator.<% } %>\n#__How do I upload an ACP observing plan__? <% if(User.Username == "localweb") { %>You are running the web browser locally in the observatory, via the Use Web Browser button (localhost). Therefore you just store the plan in your local ''My Documents\sACP Observing\sPlans folder''.<% } else { %>Open the My Documents menu bar on the left to see the Observing Plans selection. In that item is an uploading form.<% } %>\n!Browser Issues\n#__I clicked the back arrow and everything disappeared! What happened__? This site uses advanced web techniques designed to avoid page changes. Things are displayed in bits within one page, and data is updated dynamically behind the scenes. This means you don't change web pages, ever. Leave the back and forward buttons alone. For more info, see [[Using This Web Site]].\n#__The display looks terrible, very old fashioned, and lots of things just don't work. What's going on__? You are using an old browser. This site was developed for the ~W3C standards in effect 10 years ago, and uses extensive Javascript and cookie services. Upgrade your browser to the latest version. Your browsing experience will be improved in all areas.\n#__Why does the display act crazy and look bad on my mobile phone or pad__? Only the most recent (as of 2011) iPhone, iPad, and Android browsers are good enough to handle the ACP web content. If your older phone or pad doesn't work well with our web site, there's not much we can do, sorry.\n
/% INSTRUCTIONS: Using Basic Formatting, Item Level Formatting, or other advanced features, customize this for your users. Once you have this working feel free to erase everything before the "Information about..." below %/<% if(User.IsAdministrator) { %>\n@@''You can customize this in the [[Authoring Environment|/author.html]]''@@<% } %>\nHere you can put the phone numbers, email addresses, etc. for the person responsible for the observatory, or maybe the organization that runs it. Whatever you want.
\nconfig.commands.references.text="refs"+(document.all?"\su25BC":"\su25BE");config.commands.permalink.text="link";config.commands.closeOthers.text="close-others";config.commands.jump.text="jump"+(document.all?" ":" ");config.options.chkHttpReadOnly=false\nconfig.options.txtUploadStoreUrl="twstore.asp"\nconfig.options.txtUploadBackupDir="author-backup"
\nif(!window.DC3)window.DC3={};DC3.Ajax={sendRequest:function(method,url,postData,onComplete,clientParams)\n{var xmlhttp;try{xmlhttp=new XMLHttpRequest();}catch(e){try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){alert(e.description?e.description:e.toString());}}}\nif(!xmlhttp){alert("Can't support AJAX: Update your browser!");return;}\nif(window.netscape){try{if(document.location.protocol.indexOf("http")==-1){netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");}}catch(e){alert(e.description?e.description:e.toString());}}\nxmlhttp.onreadystatechange=function()\n{if(xmlhttp.readyState==4){if(xmlhttp.status==200||xmlhttp.status===0){onComplete(xmlhttp.responseText,clientParams);}else{alert(xmlhttp.status+" "+xmlhttp.statusText+":\sn"+xmlhttp.responseText);}}};try{xmlhttp.open(method,url,true);if(method.toLowerCase()=='post'){xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xmlhttp.setRequestHeader("Cache-Control","no-cache");xmlhttp.send(postData);}else if(config.browser.isIE){xmlhttp.send();}else{xmlhttp.send(null);}}catch(e){alert(url+"failed: "+e.toString());}},postForm:function(form,url,onComplete,clientParams)\n{var encode=function(name,val,last){return encodeURIComponent(name)+"="+encodeURIComponent(val)+(last?"":"&");};var nElem=form.elements.length;var fData="";for(var i=0;i<nElem;i++){var elem=form.elements[i];var last=(i==nElem-1);switch(elem.type.toLowerCase()){case"text":case"password":case"textarea":case"select-one":case"hidden":fData+=encode(elem.name,elem.value,last);break;case"checkbox":case"radio":if(elem.checked)\nfData+=encode(elem.name,elem.value,last);break;case"select-multiple":for(var j=0;j<elem.options.length;j++){if(elem.options[j].selected)\nfData+=encode(elem.name,elem.options[j].value);}\nbreak;default:displayMessage("Ajax.postForm: "+elem.type+" form elements not supported.");return;}}\nthis.sendRequest("POST",url,fData,onComplete,clientParams);}};
\nif(!window.DC3)window.DC3={};DC3.CatSearch={_findForm:function(place)\n{var forms=place.getElementsByTagName("form");if(forms.length===0)throw("No form in tiddler");return forms[0];},_findFormField:function(place,name)\n{var form=this._findForm(place);var fields=form.getElementsByTagName("input");for(var i=0;i<fields.length;i++){if(fields[i].name.toLowerCase()==name.toLowerCase()){switch(fields[i].type){case"text":case"checkbox":case"hidden":return fields[i];break;case"radio":if(fields[i].checked)return fields[i];break;default:break;}}}\nfields=form.getElementsByTagName("select");if(fields.length===0)throw("No fields in form");for(i=0;i<fields.length;i++){if(fields[i].name.toLowerCase()==name.toLowerCase())\nreturn fields[i];}\nthrow("field "+name+" not found");},onLookupComplete:function(text,params)\n{text=text.replace(/(^\ss*)|(\ss*$)/g,"");if(text.substr(0,2)=="ok"){var e={target:null};var bits=text.split("|");if(bits.length>2){params.raField.value=bits[2];params.decField.value=bits[3];}else{params.raField.value="0";params.decField.value="0";}\nif(params.raField.onkeyup){e.target=params.raField;config.macros.PersistentForm.onChange(e);}\nif(params.decField.onkeyup){e.target=params.decField;config.macros.PersistentForm.onChange(e);}\nif(params.form.bValidator){params.form.bValidator.validate(false,$(params.raField));params.form.bValidator.validate(false,$(params.decField));}\nwikify("\sn----\snOK! ",params.place);if(bits.length>2){wikify(bits[1]+" coordinates set... "+bits[4],params.place);}else{wikify(bits[1]+" found, coordinates will be calculated at image time",params.place);}}else{wikify("\sn----\sn"+text,params.place);}},lookup:function(place)\n{var form=this._findForm(place);var tgtField=this._findFormField(place,"Target");var raField=this._findFormField(place,"RA");var decField=this._findFormField(place,"Dec");var visOnly=this._findFormField(place,"visOnly");raField.value="";decField.value="";var e={target:null};if(raField.onkeyup){e.target=raField;config.macros.PersistentForm.onChange(e);}\nif(decField.onkeyup){e.target=decField;config.macros.PersistentForm.onChange(e);}\nvar complParams={form:form,place:place,raField:raField,decField:decField,visOnly:visOnly};DC3.Ajax.sendRequest("post","/ac/acatlookup.asp","target="+escape(tgtField.value)+"&visOnly="+escape(visOnly.value),DC3.CatSearch.onLookupComplete,complParams);},onSearchComplete:function(text,params)\n{text=text.replace(/(^\ss*)|(\ss*$)/g,"");if(text=="nm"){wikify("\sn----\snNo matches. Click the Help button for hints.",params.place);}else if(text.substr(0,2)=="er"){wikify("\sn----\snCatalog error: "+text.substr(3),params.place);}else{var results=text.split(",");for(var i=1;i<results.length;i++)\nparams.resListField.options[i-1]=new Option(results[i],results[i]);if(results[0]=="mx")\nwikify("\sn----\snToo many matches, only the first 100 were returned.",params.place);else\nwikify("\sn----\sn"+results[0]+" matches found.",params.place);}},search:function(place)\n{var patField=this._findFormField(place,"pattern");var matTypField=this._findFormField(place,"matType");var visField=this._findFormField(place,"visOnly");var resListField=this._findFormField(place,"resList");resListField.options.length=0;var complParams={place:place,resListField:resListField};var postData="pattern="+escape(patField.value)+"&"+"type="+matTypField.value+"&"+"visible="+(visField.checked?"true":"false");DC3.Ajax.sendRequest("post","/ac/adscatsearch.asp",postData,DC3.CatSearch.onSearchComplete,complParams);}};
\nif(!window.DC3)window.DC3={};DC3.Lib={sysMonRefreshTimerID:null,sysMonFlashTimerID:null,expandoFieldPats:['Count','Exposure','Filter','Binning','PA'],getPlace:function(node)\n{if(!node)throw("DC3.Lib.getPlace(): place not found.");if((node.attributes["class"]&&node.attributes["class"].nodeValue=="viewer")||node.attributes["tiddler"]){return node;}else{return this.getPlace(node.parentNode);}},openTiddler:function(node,title)\n{story.displayTiddler(this.getPlace(node),title,null,config.options.chkAnimate,false);},_logOffOnComplete:function(text,params){displayMessage(text);},logOff:function(){DC3.Ajax.sendRequest("GET","/ac/aunlockobs.asp","",DC3.Lib._logOffOnComplete,null);},_onFillInnerHTMLComplete:function(text,node)\n{node.innerHTML=text;},fillInnerHTML:function(url,nodeID)\n{DC3.Ajax.sendRequest('GET',url,"",this._onFillInnerHTMLComplete,document.getElementById(nodeID));},_postMkdirOnComplete:function(text,params)\n{if(text.trim()!="ok")\nalert(text);else\nstory.refreshTiddler(params.title,null,true);},postMkdir:function(url,node)\n{var ans=prompt("Name the new folder:");if(!ans)return;var complParams={title:story.findContainingTiddler(node).id.replace(story.idPrefix,"")};DC3.Ajax.sendRequest('POST',url,"dir="+escape(ans),DC3.Lib._postMkdirOnComplete,complParams);},_postChdirOnComplete:function(text,params)\n{if(text.trim()!="ok")\nalert(text);else\nstory.refreshTiddler(params.title,null,true);},postChdir:function(url,node)\n{var complParams={title:story.findContainingTiddler(node).id.replace(story.idPrefix,"")};DC3.Ajax.sendRequest('POST',url,"chdir="+escape(node.value),DC3.Lib._postChdirOnComplete,complParams);},expandoAddRow:function(pfx)\n{for(var i=2;i<=16;i++)\n{var r=document.getElementById(pfx+"Row"+i);if(r&&r.style.display=="none"){var u=document.getElementById(pfx+"Use"+i);if(u)u.checked=true;var e={target:u};config.macros.PersistentForm.onChange(e);r.style.display="";var ev={target:u};this.expandoControlRowValidation(ev);break;}}},expandoCheckUse:function(ev)\n{var pats=DC3.Lib.expandoFieldPats;var n=ev.target.name;var pfx,row,pat;for(var i=0;i<pats.length;i++)\n{pat=pats[i];var j=n.search(pat)\nif(pfx=n.substr(0,j))\n{row=n.substr(j+pat.length);break;}}\nif(!pfx)return;if(ev.target.value!=="")\n{var u=document.getElementById(pfx+"Use"+row);if(!u.checked)\n{u.checked=true;var ev2={target:u};DC3.Lib.expandoControlRowValidation(ev2);}}\nif(ev.target.type=="select-one"||ev.target.type=="select-multiple")\nconfig.macros.PersistentForm.onChange(ev);},expandoInitializeForm:function(pfx)\n{for(var i=1;i<=16;i++)\n{var u=document.getElementById(pfx+"Use"+i);u.onchange=this.expandoControlRowValidation;if(u&&u.checked)\n{var r=document.getElementById(pfx+"Row"+i);if(r&&r.style.display=="none"){r.style.display="";}\nvar ev={target:u};this.expandoControlRowValidation(ev);}\nvar e=document.getElementById(pfx+"Count"+i);if(e)e.onchange=this.expandoCheckUse;var e=document.getElementById(pfx+"Exposure"+i);if(e)e.onchange=this.expandoCheckUse;var e=document.getElementById(pfx+"Filter"+i);if(e)e.onchange=this.expandoCheckUse;var e=document.getElementById(pfx+"Binning"+i);if(e)e.onchange=this.expandoCheckUse;var e=document.getElementById(pfx+"PA"+i);if(e)e.onchange=this.expandoCheckUse;}},expandoControlRowValidation:function(ev)\n{config.macros.PersistentForm.onChange(ev);var _this=ev.target;var form=DC3.Lib.getPlace(_this).getElementsByTagName('form')[0];var validator=form.bValidator;if(validator)\n{var n=ev.target.name;var lu=n.search(/Use/);var row=n.substr(lu+3);var pfx=n.substr(0,lu);var count=document.getElementById(pfx+'Count'+row);var exposure=document.getElementById(pfx+'Exposure'+row);var pa=document.getElementById(pfx+'PA'+row);if(_this.checked){count.setAttribute('validate','number, required');if(exposure)exposure.setAttribute('validate','number, required');if(pa)pa.setAttribute('validate','number, required');validator.reset();}else{var ex;count.value="";ex={target:count};config.macros.PersistentForm.onChange(ex);if(exposure){exposure.value="";ex={target:exposure};config.macros.PersistentForm.onChange(ex);}\nif(pa){pa.value="";ex={target:pa};config.macros.PersistentForm.onChange(ex);}\nvalidator.reset();count.removeAttribute('validate');if(exposure)exposure.removeAttribute('validate');if(pa)pa.removeAttribute('validate');}}},};
\nrefreshStyles("LightBoxCSS");if(!window.DC3)window.DC3={};window.DC3.LightBox={_curBox:null,_onClose:null,_alertImgDiv:null,_alertImgHTML:null,showing:function(){return(this._curBox!==null);},showContent:function(content,onClose){if(this._curBox)return;document.getElementById("lightBoxContent").innerHTML=content;this.showBox("lightBox",onClose);},showAlert:function(icon,message,onClose){if(this._curBox)return;var icoElem=document.getElementById("lightBoxAlertIcon");icoElem.src="im/"+icon+".png";icoElem.title=icon;icoElem.alt=icon;document.getElementById("lightBoxAlertMessage").innerHTML=message;DC3.LightBox.showBox("lightBoxAlert",onClose);},showBox:function(id,onClose)\n{if(this._curBox)return;this._onClose=onClose;var ovly=document.getElementById('lightBoxOverlay');if(config.browser.isIE){var h1=document.documentElement.scrollHeight;var h2=document.documentElement.offsetHeight;ovly.style.height=Math.max(h1,h2);ovly.style.width=document.documentElement.scrollWidth;var alertDivs=document.getElementById(id).getElementsByTagName("div");this._alertImgDiv=null;for(var i in alertDivs){if(alertDivs[i].className&&alertDivs[i].className=="lightBoxAlertIcon"){this._alertImgDiv=alertDivs[i];break;}}\nif(this._alertImgDiv){var imgFile=this._alertImgDiv.firstChild.src;this._alertImgHTML=this._alertImgDiv.innerHTML;this._alertImgDiv.innerHTML="";this._alertImgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\s""+imgFile+"\s", sizingMethod=\s"scale\s")";}}\novly.style.display='block';this._center(id);this._curBox=id;return false;},hideBox:function()\n{if(!this._curBox)return;if(this._onClose&&this._onClose()===false)\nreturn false;document.getElementById(this._curBox).style.display='none';document.getElementById('lightBoxOverlay').style.display='none';this._curBox=null;if(this._alertImgDiv){this._alertImgDiv.innerHTML=this._alertImgHTML;this._alertImgDiv.style.filter="";}\nreturn false;},_getDimensions:function(elem)\n{if(elem.style.display!='none')\nreturn{width:elem.offsetWidth,height:elem.offsetHeight};var els=elem.style;var origVis=els.visibility;var origPos=els.position;els.visibility='hidden';els.position='absolute';els.display='';var origW=elem.clientWidth;var origH=elem.clientHeight;els.display='none';els.position=origPos;els.visibility=origVis;return{width:origW,height:origH};},_center:function(id)\n{var elem;try{elem=document.getElementById(id);}catch(e){return;}\nvar my_width=0;var my_height=0;if(typeof(window.innerWidth)=='number'){my_width=window.innerWidth;my_height=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){my_width=document.documentElement.clientWidth;my_height=document.documentElement.clientHeight;}\nelse if(document.body&&(document.body.clientWidth||document.body.clientHeight)){my_width=document.body.clientWidth;my_height=document.body.clientHeight;}\nelem.style.position='absolute';elem.style.zIndex=99;var scrollY=0;if(document.documentElement&&document.documentElement.scrollTop){scrollY=document.documentElement.scrollTop;}else if(document.body&&document.body.scrollTop){scrollY=document.body.scrollTop;}else if(window.pageYOffset){scrollY=window.pageYOffset;}else if(window.scrollY){scrollY=window.scrollY;}\nvar elementDimensions=this._getDimensions(elem);if(elem.className=="lightBoxAlert"){elem.style.width="";elem.style.height="";var hPad,vPad;try{var je=$(elem);hPad=je.innerWidth()-je.width();vPad=je.innerHeight()-je.height();}catch(ex){hPad=vPad=10;}\nvar w=Math.max(240,elementDimensions.width-hPad);w=Math.min(480,w);elem.style.width=w+'px';elementDimensions=this._getDimensions(elem);elem.style.height=Math.max(42,elementDimensions.height-vPad)+'px';elementDimensions=this._getDimensions(elem);}\nvar setX=(my_width-elementDimensions.width)/2;var setY=(my_height-elementDimensions.height)/2+scrollY;setX=(setX<0)?0:setX;setY=(setY<0)?0:setY;elem.style.left=setX+"px";elem.style.top=setY+"px";elem.style.display='block';}};
\nif(!window.DC3)window.DC3={};DC3.TheSky={_findForm:function(place)\n{var forms=place.getElementsByTagName("form");if(forms.length===0)throw("No form in tiddler");return forms[0];},_findFormField:function(place,name)\n{var form=this._findForm(place);var fields=form.getElementsByTagName("input");for(var i=0;i<fields.length;i++){if(fields[i].name.toLowerCase()==name.toLowerCase()){switch(fields[i].type){case"text":case"checkbox":case"hidden":return fields[i];break;case"radio":if(fields[i].checked)return fields[i];break;default:break;}}}\nfields=form.getElementsByTagName("select");if(fields.length===0)throw("No fields in form");for(i=0;i<fields.length;i++){if(fields[i].name.toLowerCase()==name.toLowerCase())\nreturn fields[i];}\nthrow("field "+name+" not found");},_toSexa:function(num,prec){var neg=(num<0);num=Math.abs(num);var hours=Math.floor(num);var minutes=Math.floor((num-hours)*60);var seconds=((num-hours-(minutes/60))*3600).toFixed(prec);if(hours<10){hours="0"+hours;}\nif(neg){hours="-"+hours;}\nif(minutes<10){minutes="0"+minutes;}\nif(seconds<10){seconds="0"+seconds;}\nreturn hours+':'+minutes+':'+seconds;},switchLink:function(pfx){var elc=document.getElementById(pfx+"_getCoords");var els=document.getElementById(pfx+"_getTheSky");var eld=document.getElementById(pfx+"_catSearch");if(elc&&els){elc.style.display="none";els.style.display="";eld.style.display="none";}},theSkyTarget:"",theSkyRightAscension:"",theSkyDeclination:"",theSkyPositionAngle:"",setTargetInfo:function(name,ra,dec,pa)\n{this.theSkyTarget=name;this.theSkyRightAscension=this._toSexa(Number(ra),2);this.theSkyDeclination=this._toSexa(Number(dec),1);this.theSkyPositionAngle=(Number(pa).toFixed(1)).toString();this.switchLink("simg");this.switchLink("clr");this.switchLink("sast");this.switchLink("sphot");DC3.LightBox.showAlert("info","Selected coordinates for <span class=\s"marked\s">"+\nname+"</span> are available from TheSky.");},theSkyInfoAvailable:function()\n{return this.theSkyTarget!=="";},fillFormInfo:function(place)\n{if(this.theSkyTarget==="")return;var e={target:null};var tgtField=this._findFormField(place,"Target");tgtField.value=this.theSkyTarget;if(tgtField.onkeyup){e.target=tgtField;config.macros.PersistentForm.onChange(e);}\nvar raField=this._findFormField(place,"RA");raField.value=this.theSkyRightAscension;if(raField.onkeyup){e.target=raField;config.macros.PersistentForm.onChange(e);}\nvar decField=this._findFormField(place,"Dec");decField.value=this.theSkyDeclination;if(decField.onkeyup){e.target=decField;config.macros.PersistentForm.onChange(e);}\nvar paField=this._findFormField(place,"PA");paField.value=this.theSkyPositionAngle;if(paField.onkeyup){e.target=paField;config.macros.PersistentForm.onChange(e);}}};
It's <<today>>\n\n<<RemoteContent '/ac/dawndusk.asp'>>
<<slider "" "Deep Sky Catalog Search Help" Help "Helpful information">>\n<html><form>\n<table class="noBorder" style="border:0;margin-left:0;">\n<tr valign="top">\n <td height="100%">Search pattern:</td>\n <td><input type="text" name="pattern" id="pattern" size="10" /></td>\n <td rowspan="3"><select name="resList" id="resList" size="10" style="width:12em" /></td>\n</tr>\n<tr valign="top">\n <td height="100%"> </td>\n <td><input type="radio" name="matType" id="matType" value="startsWith" checked>Starts with</input><br><input type="radio" name="matType" id="matType" value="contains">Contains</input><br><input type="radio" name="matType" id="matType" value="regExp">Regular Exp.</input></td>\n</tr>\n<tr valign="bottom">\n <td align="center"><a class="button" href="javascript:;" onClick="DC3.CatSearch.search(DC3.Lib.getPlace(this))" title="Search the catalogs">Search</a></td>\n <td><input name="visOnly" type="checkbox" id="visOnly" value="true" style="margin:0;" checked> Visible only</td>\n</tr>\n</table>\n</form></html><script>\nvar tgtName;\nvar origPlace = place;\nfunction setTargetInfo(title, place) {\n switch(title) {\n case "Acquire a Single Image":\n case "Single Object Color Series":\n case "Schedule Astro-Imaging":\n case "Schedule Image Series":\n var tgtField = DC3.CatSearch._findFormField(place, "Target");\n place = DC3.Lib.getPlace(tgtField); // assure in .viewer for wikify()!!!\n tgtField.value = tgtName;\n var e = { target: tgtField };\n config.macros.PersistentForm.onChange(e);\n DC3.CatSearch.lookup(place);\n break;\n default:\n break;\n }\n}\nfunction listSel(e) {\n if(!e) e = window.event;\n var tgt = resolveTarget(e);\n tgtName = tgt.value;\n if(tgtName !== "") {\n wikify("\sn----\snOK! Target name and coordinates remembered and sent to open forms.", origPlace);\n story.forEachTiddler(setTargetInfo);\n }\n}\ndocument.getElementById("resList").onclick = listSel;</script>\n
To search, enter part of the object name into the field below. A list of catalog entries whose names contain your text will be returned. @@Clicking on a name in the list will send the name and coordinates to any open image acquisition forms.@@\n\nOur facility has a file of J2000 coordinates for over 70,000 designations of deep sky objects. The catalog is a combination of the [[Saguaro Astronomy Club (SAC) V7.9 catalog|http://www.saguaroastro.org/content/downloads.htm]] and the [[Third Reference Catalog of Bright Galaxies (RC3)|http://cdsweb.u-strasbg.fr/cgi-bin/Cat?VII/155]]. If the same object exists in both, coordinates from RC3 are used.\n\nAlmost all objects are listed by the catalog abbreviation, @@followed by a space@@, followed by the number in that catalog. Examples:\n{{{\n M 51 MCG -03-01-01 Bochum 15\n NGC 2100 vdB 150 Ced 122\n PGC 63008 PK 26-11.1 LBN 623\n UGC 11670 Abell 347 ESO 350-23\n}}}\n
[[Authoring System]]
We suggest [[using FTP|Using FTP]]. <<RemoteContent '/files/aindex.asp' Refresh 'Refresh the file list'>>
Turn this off to disable the animations when opening items and slider panels. The task bars on the left will always animate.
/%<%
ftp_port = ":" + Request.ServerVariables("FTP_PORT");
if(ftp_port == ":21") ftp_port = "";
host_name = Request.ServerVariables("FTP_HOST") + ftp_port;
site_name = Prefs.SiteName;
user_name = User.Username;
%>%/\n<html>\n<img src="/im/ftp4.png" hspace="8" align="right">\n</html>In Mac OS X your files on <%= site_name %> can easily be added as a Shared item in the Finder.\n!!~One-Time Setup\nYou need to have Shared items visible in the Finder's sidebar.\n#In the Finder, choose Finder > Preferences.\n#In the Finder Preferences window, click Sidebar.\n#Under Shared, turn on Connected servers.\n!!Connecting to ACP at <%= site_name %>\n#In the Finder, choose Go > "Connect to Server".\n#In the Server Address box type {{{ftp://<%= host_name %>/}}}. Be careful here!\n#Click the [+] button to add this to your favorite servers.\n#Click Connect. The "name and password" window should appear.\n#In the "name and password" window, enter your ACP username @@<%= user_name %>@@ and your password.\n#Check the "Remember this password..." box.\n#Click Connect. A new Finder window should open with the observatory folders shown.\nThe image on the right shows what it looks like in the Mac OS X Finder's sidebar, showing under the Shared section. The "eject" button disconnects the FTP connection. @@You should disconnect the FTP connection when you're not using it.@@ That's why we recommended you add it as a Favorite above. If you have problems, see [[Troubleshooting FTP]].\n
/%<%
ftp_port = ":" + Request.ServerVariables("FTP_PORT");
if(ftp_port == ":21") ftp_port = "";
host_name = Request.ServerVariables("FTP_HOST") + ftp_port;
site_name = Prefs.SiteName;
user_name = User.Username;
%>%/\nOn Windows 7 (and Vista), you can use the Explorer to do FTP transfers and other file operations. Once you get it working (see [[Troubleshooting FTP]]), it's really easy, since you see virtually the same pictures and use the same keys and mouse operations as for local files. \n!!One-time Setup\nBefore you can use Explorer for FTP, there are a couple of settings to make:\n#In the Control Panel, open Internet Options. \n#Select the Advanced tab.\n#In the Browsing section of the list make sure "Enable FTP folder view" is turned on. \n#Scroll further down and make sure that "Use passive FTP" is turned on (note, in rare circumstances you may have to turn this off, see [[Troubleshooting FTP]]).\n!!Connecting to <%= site_name %>\nAfter completing the one-time setup actions above:\n#On your desktop, open Computer\n#Right-click and select "Add a network location". The Add Network Location Wizard will appear. Click Next.\n#In the "Where..." pane, select "Choose a custom network location". Click Next.\n#In the "Specify..." pane, enter {{{ftp://<%= host_name %>/}}} Be careful here! Click Next.\n#On the "User Name and Password" panel, uncheck "Log on anonymously" and enter your ACP user name @@<%= user_name %>@@. Click Next.\n#In the "What..." panel, you can give this network location any name you want. We recommend you name it @@<%= site_name %>@@. Click Next.\n#On the "Completing..." panel, leave the "Open this network place..." box checked. Click Finish.\n#After some time the "Log on as" window should appear. Enter your ACP password and check the "Save password" box. Click Log On.\nIf all went well, you should see an Explorer window open to <%= site_name %>. Use just as you do the Windows Explorer for local files. You can switch the sidebar to Folders view and easily navigate your files. If you close your view of the remote files, then after some time of inactivity, Windows will disconnect the FTP connection. Even though you close this window, the site will still appear in My Network Places. Simply double click to re-establish your FTP link to @@<%= host_name %>@@ here at @@<%= site_name %>@@. If you have problems, see [[Troubleshooting FTP]].\n
/%<%
ftp_port = ":" + Request.ServerVariables("FTP_PORT");
if(ftp_port == ":21") ftp_port = "";
host_name = Request.ServerVariables("FTP_HOST") + ftp_port;
site_name = Prefs.SiteName;
user_name = User.Username;
%>%/\nOn Windows XP, you can use the Explorer to do FTP transfers and other file operations. Once you get it working (see [[Troubleshooting FTP]]), it's really easy, since you see virtually the same pictures and use the same keys and mouse operations as for local files. \n!!One-time Setup\nBefore you can use Explorer and Network Places for FTP, there are a couple of settings to make:\n#In the Control Panel, open Internet Options. \n#Select the Advanced tab.\n#In the Browsing section of the list make sure "Enable FTP folder view" is turned on. \n#Scroll further down and make sure that "Use passive FTP" is turned on (note, in rare circumstances you may have to turn this off, see [[Troubleshooting FTP]]).\n!!Connecting to <%= site_name %>\nAfter completing the one-time setup actions above:\n#On your desktop, open My My Computer.\n#If needed, turn off folder view so the Explorer sidebar shows\n#Click My Network Places.\n#In the sidebar, click Add a Network Place. The Add Network Place Wizard will start. Click Next.\n#On the "Where..." panel, select "Choose another network Location". Click Next.\n#On the "What..." panel, enter {{{ftp://<%= host_name %>/}}} Be careful here! Click Next.\n#On the "User Name and Password" panel, uncheck "Log on anonymously" and enter your ACP user name @@<%= user_name %>@@. Click Next.\n#In the "What..." panel, you can give this network place any name you want. We recommend you name it @@<%= site_name %>@@. Click Next.\n#On the "Completing..." panel, leave the "Open this network place..." box checked. Click Finish.\n#After some time the "Log on as" window should appear. Enter your ACP password and check the "Save password" box. Click Log On.\nIf all went well, you should see an Explorer window open to <%= site_name %>. Use just as you do the Windows Explorer for local files. You can switch the sidebar to Folders view and easily navigate your files. If you close your view of the remote files, then after some time of inactivity, Windows will disconnect the FTP connection. Even though you close this window, the site will still appear in My Network Places. Simply double click to re-establish your FTP link to @@<%= host_name %>@@ here at @@<%= site_name %>@@. If you have problems, see [[Troubleshooting FTP]].\n
Runs the observatory's bright star locator. When it completes, a suitable "bright" star within a 5 degree distance of the starting telescope position will be in the center of the telescope's field of view. This is an engineering test procedure, unless you are the observatory owner working through teething pains you should expect that this will work.
Most useful when you change you optical train. This task will measure the exact focal length of your optics. <% if(User.IsAdministrator) { %>If this is significantly different than the focal length in ACP's telescope preferences, be sure to update the ACP value.<% } else { %>This value is always put into your images' FITS headers, so you can see it there without making this measurement.<% } %>
Measures the limiting magnitude of the observatory and current skies. @@This is not an exact measurement@@, it is intended to be a rough guide to the capabilities of the observatory //and the current skies.// If you need a science-grade limiting magnitude measurement, take your own images and use a science-grade tool to reduce the data.
<div class='header' macro='gradient vert #390108 #900'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
/***\nAuthor: //unknown// - originally retrieved from Clint Checketts (http://www.checkettsweb.com) \n!!Revision History\n<<<\n''2006.09.17 [rbd]'' Get rid of ghost blue borders on <input> and <textarea> elements within both the editor and the viewer content. Mute the background of <input> and <textarea> to reduce the glare of them against the dark background. Change highlighting color to match the style. Fix table cell borders so they show. Fix buttons so they don't display dotted underline hyperlink when clicked or hovered, brighten the normal text within buttons, perceptually it was too dark! Reformat rules to multi-line with tabs.\n''2006.09.18 [rbd]'' Add overrides for ~XP-style navbar used on Share Your Sky! main page.\n''2006.09.19 [rbd]'' More work on styles, improved bar graphics, tweaks for boxing, non-hyperlinked fonts. Looking good now.\n''2006.09.20 [rbd]'' Add background and border to tiddlers, adjust padding and bottom margin for same. Remove rbd marks and dead styles. Reduce header and sidebar borders to 1px. Added Clint Checketts' IE CSS hack to permit the .tiddler CSS to work correctly. How'd he EVER figure that out?\n''2006.09.30 [rbd]'' Fix "dotted-line removal" change above so buttons in viewer don't change size when highlighted. This made flickering buttons! Improve table colors in general, fix appearance of sortable table headers, add custom fileList class for the file list tables used in ~SyS.\n''2006.10.08 [rbd]'' Much more work over last 10 days, add styles for System Monitor.\n''2006.10.23 [rbd]'' Remove height from <input> and <select>, was scrunching buttons. Style <input> and <select> colors to match the rest. OOPS, looks like hell on IE.\n''2006.10.27 [rbd]'' Fix colors of SelectThemePlugin button and popup highlight. See inline comments for location.\n''2006.10.31 [rbd]'' Reorganize.\n''2006.11.07 [rbd]'' Faint border for sysmon thumbnail\n''2006.11.21 [rbd]'' Add .collapsedTitle for folded tiddlers\n''2009 01 09 [rbd]'' Firefox 3 compatibility. ~HeaderForeground needed width 100%\n''2010.11.17 [rbd]'' ~ACP-490 Add border style for #sm_guideBox\n''2010.11.21 [rbd]'' ~ACP-502 Explicitly color file <input> black on white so you can see the "No file chosen" or the selected file on ~WebKit browsers.\n''2011.09.29 [rbd]'' Dim tiddler and table text to #ddd, the bright white was annoying\n''2015.05.19 [rbd]'' ~ACP-1303 Alignment of text in MainMenu top bar\n<<<\n!Colors Used\n*@@bgcolor(#ff7f00):color(#000): #ff7f00@@\n*@@bgcolor(#ffbf00):color(#000): #ffbf00@@\n*@@bgcolor(#fff):color(#000): #fff@@\n*@@bgcolor(#4c4c4c):color(#fff): #4c4c4c@@\n*@@bgcolor(#5f5f5f):color(#fff): #5f5f5f@@\n*@@bgcolor(#333):color(#fff): #333@@\n*@@bgcolor(#666):color(#fff): #666@@\n*@@bgcolor(#000030):color(#fff): #000030@@\n*@@bgcolor(#000080):color(#fff): #000080@@\n*@@bgcolor(#000):color(#fff): #000@@\n*@@bgcolor(#000040):color(#fff): #000040@@\n*@@bgcolor(#888):color(#fff): #888@@\n*@@bgcolor(#ddd):color(#000): #ddd@@\n*@@bgcolor(#ffe72f):color(#000): #ffe72f@@\n*@@bgcolor(#300000):color(#fff): #300000@@\n*@@bgcolor(#600000):color(#fff): #600000@@\n*@@bgcolor(#ffffcc):color(#000): #ffffcc@@\n*@@bgcolor(#fffacd):color(#000): #fffacd@@\n\n!Generic Layout Rules \n***/\n/*{{{*/\nbody {\n background: #000;\n position: static; /*Clint's IE fix part 1 (part 2 in TW now) */\n}\ntextarea {\n font-family: courier !important; /* Fixed point font for editing */\n}\n.title {\n color: #fffacd;\n border-bottom: 1px dashed #333;\n}\n.subtitle {\n color: #666;\n}\n.collapsedTitle {\n color: #888;\n font-size: 1.3em;\n font-weight: bold;\n}\nh1, h2, h3, h4, h5 {\n color: #fffacd;\n background-color: #000040;\n border-top: 1px solid #333;\n border-bottom: 1px solid #333;\n}\n/*}}}*/\n/***\n!Link styles\n***/\n/*{{{*/\na, a.button, #mainMenu a.button, #sidebarOptions .sliderPanel a {\n color: #ffbf00;\n border: 0;\n}\na:hover, a.button:hover, #mainMenu a.button:hover, #sidebarOptions .sliderPanel a:hover #sidebarOptions .sliderPanel a:active {\n color: #ff7f00;\n border: 0;\n border-bottom: #ff7f00 1px dashed;\n background: transparent;\n text-decoration: none;\n}\n#sidebarOptions a {\n margin: 0;\n color: #ffbf00;\n border: 0;\n}\n#sidebarOptions a:active {\n color: #ffbf00;\n background-color: transparent;\n}\n#sidebarOptions a:hover {\n color: #4c4c4c;\n background-color: #ffbf00;\n}\n#sidebarTabs .tabContents a, #popup a {\n color: #ffbf00;\n}\n#messageArea a:link, #messageArea a:visited {\n color: #ffbf00;\n text-decoration: none;\n}\n#messageArea a:hover, #messageArea a:active {\n color: #ff7f00;\n}\n#messageArea .messageToolbar a {\n border: 1px solid #ffbf00;\n background: #4c4c4c;\n}\n.headerForeground a {\n color: #fff;\n}\n.toolbar a.button {\n border: 0;\n}\n.editorFooter a {\n border: 0;\n}\n/*}}}*/\n/***\n!Header styles\n***/\n/*{{{*/\n.header {\n border-bottom: 1px solid #ffbf00;\n color: #fff;\n}\n.header a:hover {\n border-bottom: 1px dashed #fff;\n}\n.headerForeground {\n width: 100%; /* Firefox 3 suddenly needed this but not on HeaderShadow */\n padding: 2.5em 0em 1em 1em;\n}\n.headerShadow {\n padding: 2.5em 0em 1em 1em;\n}\n/*}}}*/\n/***\n!Main menu styles\n***/\n/*{{{*/\n#mainMenu {\n color: #fff;\n}\n#mainMenu h1 {\n font-size: 1.1em;\n}\n#mainMenu li, #mainMenu ul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/*}}}*/\n/***\n!Sidebar styles \n***/\n/*{{{*/\n#sidebar {\n right: 0;\n color: #fff;\n border: 1px solid #ffbf00;\n border-width: 0 0 1px 1px;\n}\n#sidebarOptions {\n background-color: #4c4c4c;\n padding: 0;\n}\n#sidebarOptions .sliderPanel {\n background-color: #333;\n margin: 0;\n}\n#sidebarOptions input {\n border: 1px solid #ffbf00;\n background-color: #ffffcc;\n}\n#sidebarTabs .tabUnselected:hover, #sidebarTabs .tabContents {\n background-color: #666;\n}\n#sidebarOptions .highlight {\n color: #4c4c4c;\n background-color: #ffbf00;\n}\n.listTitle {\n color: #fff;\n}\n/* Special for SelectThemePlugin when \n leaving popup open and mousing away*/\n#sidebarTabs {\n background-color: #4c4c4c;\n}\n#sidebarTabs .tabSelected {\n padding: 3px 3px;\n cursor: default;\n color: #ffbf00;\n background-color: #666;\n}\n#sidebarTabs .tabUnselected {\n color: #ffbf00;\n background-color: #5f5f5f;\n padding: 0 4px;\n}\n#sidebarTabs .tabContents a:hover {\n color: #ff7f00;\n background: transparent;\n}\n#sidebarTabs .txtMoreTab .tabUnselected {\n color: #ffbf00;\n background: #5f5f5f;\n}\n#sidebarTabs .txtMoreTab .tabSelected, #sidebarTabs .txtMoreTab .tab:hover, #sidebarTabs .txtMoreTab .tabContents {\n color: #ffbf00;\n background: #4c4c4c;\n}\n/*}}}*/\n/***\n!General tab styles\n***/\n/*{{{*/\n\n.tab.tabUnselected {\n background-color: #666;\n}\n.tab.tabSelected, .tab.tabSelected:hover {\n color: #ffbf00;\n border: 0;\n background-color: #4c4c4c;\n cursor: default;\n}\n.tab.tabUnselected:hover {\n color: #ffbf00;\n border: 0;\n background-color: #4c4c4c;\n}\n.tabContents {\n background-color: #4c4c4c;\n border: 0;\n}\n.tabContents .tabUnselected {\n background: #5f5f5f;\n}\n.tabContents .tab:hover, .tabContents .tabContents, .tabContents .tabSelected {\n background: #666;\n}\n/*}}}*/\n/***\n!Message area styles\n***/\n/*{{{*/\n#messageArea {\n background-color: #666;\n color: #fff;\n border: 2px solid #ffbf00;\n}\n/*}}}*/\n/***\n!Popup styles \n***/\n/*{{{*/\n#popup {\n color: #fff;\n background-color: #4c4c4c;\n border: 1px solid #ffbf00;\n}\n#popup a:hover {\n background: transparent;\n color: #ff7f00;\n border: 0;\n}\n#popup hr {\n color: #ffbf00;\n background: #ffbf00;\n}\n/* Special for SelectTheme popmenu */\n#popup .currentlySelected {\n color: #4c4c4c;\n background: #ffbf00;\n}\n/*}}}*/\n/***\n!Tiddler Display styles\n***/\n/*{{{*/\n/** LOSER ON IE6 without Clint's IE fix (see body section at top!) **/\n.tiddler {\n background: #000030;\n border: 1px solid #000080;\n padding-bottom: 8px;\n margin-left: 8px; /* Vastly different on IE vs FireFox! */\n margin-bottom: 12px;\n}\n#displayArea .button.highlight {\n color: #ffbf00;\n background: #4c4c4c;\n}\n.tiddler .button {\n color: #888;\n}\n.tiddler .button:hover, .tiddler .button:active {\n color: #ffbf00;\n background-color: #4c4c4c;\n border-bottom: 1px solid #4c4c4c; /* No dotted line in buttons */\n}\n.viewer {\n color: #ddd;\n}\n.viewer table {\n background: transparent;\n color: #ddd;\n border: 1px solid;\n}\n.viewer th {\n background-color: #4c4c4c;\n color: #fff;\n}\n.viewer hr {\n color: #666;\n}\n.viewer input, .viewer select {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1.0em;\n}\n.viewer input.upload {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1.0em;\n /* For WebKit's label style feedback */\n color:#000;\n background:#fff;\n}\n.viewer .sortheader {\n font-weight: normal;\n}\n.viewer pre, .viewer code {\n color: #ddd;\n background-color: #4c4c4c;\n border: 1px solid #ffbf00;\n}\n.viewer .button:hover, .viewer .button:active {\n border: 1px solid #4c4c4c; /* Needed to avoid button size changing */\n}\n.viewer .fileList table {\n border-color: #ff7f00;\n margin-bottom: 0px;\n}\n/* For Share your Sky only */\n.viewer .fileList tr {\n border: none;\n}\n.viewer .fileList td, .viewer .fileList th {\n border: 0;\n padding: 2px 8px 2px 8px;\n}\n.viewer .noBorder table, .viewer .noBorder th, .viewer .noBorder tr, .viewer .noBorder td, .viewer iframe {\n border: 0;\n}\n.viewer .noBorder #sm_thumb { /* For sysmon thumbnail */\n border: 1px solid #000080;\n padding: 0px;\n}\n.viewer .noBorder #sm_guideBox { /* For sysmon guider trackbox image */\n border: 1px solid #000080;\n padding: 0px;\n}\n/* End Share Your Sky */\n\n.toolbar {\n color: #4c4c4c;\n}\n.footer {\n color: #ddd;\n}\n.selectedTiddler .footer {\n color: #888;\n}\n.editor textarea, .editor input {\n border: 1px solid #ffbf00;\n background-color: #ffffcc;\n}\n.editorFooter {\n color: #aaa;\n}\n.tab {\n -moz-border-radius-topleft: 3px;\n -moz-border-radius-topright: 3px;\n}\n.tagging, .tagged {\n background: #4c4c4c;\n border: 1px solid #4c4c4c;\n}\n.selected .tagging, .selected .tagged {\n background: #000;\n border: 1px solid #ffbf00;\n}\n.tagging .button, .tagged .button {\n color: #ffbf00;\n border: 0;\n padding: 0;\n}\n.tagging .button:hover, .tagged .button:hover {\n background: transparent;\n}\n.tagging .listTitle, .tagged .listTitle, {\n color: #fff;\n}\n.tagClear {\n margin-top: 1em; /* clear: both; Clint's IE fix part 2 now in TW 2.1.2 */\n}\n.highlight, .marked {\n background-color: #000080;\n color: #ffffff;\n}\n.cascade {\n background: #4c4c4c;\n color: #ddd;\n border: 1px solid #ffbf00;\n}\n/*}}}*/\n/***\n!XP ~NavBar Style Overrides\n***/\n/*{{{*/\n.topItem {\n display: table-cell;\n vertical-align: middle;\n background: url("im/fire-classic-up.png") no-repeat 0 0;\n color: #ffbf00;\n}\n.topItemOver {\n display: table-cell;\n vertical-align: middle;\n background: url("im/fire-classic-up-on.png") no-repeat 0 0;\n color: #ffffff;\n}\n.topItemClose {\n display: table-cell;\n vertical-align: middle;\n background: url("im/fire-classic-down.png") no-repeat 0 0;\n color: #ffbf00;\n}\n.topItemCloseOver {\n display: table-cell;\n vertical-align: middle;\n background: url("im/fire-classic-down-on.png") no-repeat 0 0;\n color: #ffffff;\n}\n.subItem, .subSubItem, .subItemOver, .subSubItemOver {\n color: #ffffff;\n}\n.dropMenu {\n background-color: #4c4c4c;\n color: #000;\n border: 1px solid;\n border-color: #4c4c4c #ff7f00 #ff7f00 #ff7f00;\n}\n/*}}}*/\n/***\n!System Status Display Styles\n***/\n/*{{{*/\ndiv.progBarBg {\n position: relative;\n height: 0.75em;\n background-color: #300000;\n}\ndiv.progBarFg {\n position: absolute;\n overflow: hidden;\n height: 0.75em;\n width: 0px;\n background-color: #ff7f00;\n}\ntd.telemetry {\n font-family: "Lucida Console", "Courier New", Courier, monospace;\n font-size: 1em;\n background-color: #300000;\n white-space: pre;\n color: #600000;\n}\nspan.telemActive {\n color: #ccccff;\n}\nspan.telemWarn {\n color: #ff0000;\n}\nspan.telemOff {\n color: #600000; /* Match color in td.telemetry */\n}\ntd.telemlabel {\n white-space: nowrap;\n}\ntextarea.scriptlog {\n border: 1px solid #ffbf00;\n margin: 0;\n padding: 0.5em;\n background: #300000;\n color: #ffffff;\n font-family: "Lucida Console", "Courier New", Courier, monospace !important;\n font-size: 1em !important;\n white-space: pre;\n line-height: 110%;\n}\ntd.trackGraph {\n background-color: #300000;\n}\n\n/*}}}*/\n
Measures the focus offsets from a //reference filter// that you specify. This will tell you how close to par-focal the observatory filters are. If you need to, look at the [[Instruments & Equipment]] item to see the names of the filters. \n\nYou may optionally have the new focus offset info made available to the observatory for observations. Please consider carefully whether the sky conditions warrant updating the permanent focus offsets for the observatory. Your decision affects the results others will get henceforth!
\nconfig.fontSize={};config.fontSize.settings={defaultSize:100,maxSize:200,minSize:40,stepSize:10};var fontSettings=config.fontSize.settings;if(!config.options.txtFontSize)\n{config.options.txtFontSize=fontSettings.defaultSize;saveOptionCookie("txtFontSize");}\nsetStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\sn","fontResizerStyles");setStylesheet("#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\sn .fontResizer {margin:0 0.5em;}","fontResizerButtonStyles");config.macros.fontSize={};config.macros.fontSize.handler=function(place,macroName,params,wikifier,paramString,tiddler)\n{var sp=createTiddlyElement(place,"span",null,"fontResizer");sp.ondblclick=this.onDblClick;if(params[0])\ncreateTiddlyText(sp,params[0]);createTiddlyButton(sp,"+","increase font-size",this.incFont);createTiddlyButton(sp,"=","reset font-size",this.resetFont);createTiddlyButton(sp,"–","decrease font-size",this.decFont);}\nconfig.macros.fontSize.onDblClick=function(e)\n{if(!e)var e=window.event;e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();return false;}\nconfig.macros.fontSize.setFont=function()\n{saveOptionCookie("txtFontSize");setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\sn","fontResizerStyles");}\nconfig.macros.fontSize.incFont=function()\n{if(config.options.txtFontSize<fontSettings.maxSize)\nconfig.options.txtFontSize=(config.options.txtFontSize*1)+fontSettings.stepSize;config.macros.fontSize.setFont();}\nconfig.macros.fontSize.decFont=function()\n{if(config.options.txtFontSize>fontSettings.minSize)\nconfig.options.txtFontSize=(config.options.txtFontSize*1)-fontSettings.stepSize;config.macros.fontSize.setFont();}\nconfig.macros.fontSize.resetFont=function()\n{config.options.txtFontSize=fontSettings.defaultSize;config.macros.fontSize.setFont();}\nconfig.paramifiers.font={onstart:function(v)\n{config.options.txtFontSize=v;config.macros.fontSize.setFont();}};
\nIt's a good idea to first become a bit familiar with the browser layout and how the controls work. See [[Using This Web Site]]. You can't hurt anything, so explore! Hints:\n*Use the slideout {{{Help}}} buttons! \n*To close an item, hover the mouse over it and use the close control that appears along top right.\n*The {{{Help Resources}}} menu bar on the left is your friend! Open it now.\n*__You can log off while your run is going__ and rejoin it later, or just let it complete on its own.\n\n<html><iframe width="640" height="360" src="//www.youtube.com/embed/uTcyKvQrLio?rel=0" frameborder="0" allowfullscreen></iframe></html>\n\n[[View the rest of the videos in a separate tab now|http://www.youtube.com/user/DC3Dreams]]
[>img[/im/tgtform.png]]Forms for submitting live observing and scheduled requests share a common set of controls for specifying targets. There are a few things to be aware of:\n#Coordinates are __always J2000__ and can be entered in either sexagesimal or decimal. The sexagesimal translator is very adaptable, most anything for delimiters will work.<% if(rotAvail) { %>\n#This observatory has an imager rotator so you must also supply the sky position angle (PA).<% } %>\n#You can supply coordinates, use the deep sky catalog to fill in the coordinates, or supply a minor planet spec and have the __ephemeris calculated at observation time__.\n!!Deep Sky Objects\nThe catalog has over 70,000 objects. They are indexed with the abbreviated name of the catalog, __a space__, then the object name/number in the catalog. For example, Messier object 104 is M 104. Note the space! \n\nIf you know the name, but don't know the coordinates, enter the name and click "Get Coordinates or Ephemeris". If the object is found, the coordinates will appear in the fields.\n\nTo browse the catalog, you can use the [[Deep Sky Catalog|Deep Sky Catalog Search]] to search our databases. Of course, the object you want must be visible (above the low-horizon limit), the higher the better. The best way to pick a target is with a planetarium program like Starry Night or ~TheSky. Also, by default, only visible targets will be returned from a search of the [[Deep Sky Catalog|Deep Sky Catalog Search]].\n!!Minor Planets and Comets\nACP has automatic ephemeris calculation based on the Minor Planet Center's orbital elements database. To specify a minor planet, enter {{{MP}}} followed by a space, then the name or number (for numbered minor planets) or the MPC designation (packed or full, for unnumbered minor planets). For example, the following are equivalent:\n*Numbered minor planet: {{{MP 23257}}} or {{{MP Denny}}}\n*Unnumbered minor planet: {{{MP 2004 LB6}}} or {{{MP K04L06B}}}\nTo specify a comet, enter {{{CT}}} followed by a space, then the number, designation, or name of the comet. For example, the following are equivalent:\n*Numbered comet: {{{CT 00244P}}} or {{{CT 244P/Scotti}}}\n*Unnumbered comet: {{{CT CK12J010}}} or {{{C/2012 J1}}}\nNOTE: For the unnumbered comet by name, do not include the discoverer name in parentheses. In the above, the {{{(Catalina)}}} is omitted from {{{C/2012 J1}}}. \n\nTo check your target, click "Get Coordinates or Ephemeris". The message that appears at the bottom of the item will tell you if it was found or not. The RA/Dec will be zeroes; the real coordinates are calculated at the time the image is taken.\n
\nversion.extensions.inlineJavascript={major:1,minor:5,revision:2,date:new Date(2011,7,5)};config.formatters.push({name:"inlineJavascript",match:"\s\s<script",lookahead:"\s\s<script(?: src=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?(?: label=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?( show)?\s\s>((?:.|\s\sn)*?)\s\s</script\s\s>",handler:function(w){var lookaheadRegExp=new RegExp(this.lookahead,"mg");lookaheadRegExp.lastIndex=w.matchStart;var lookaheadMatch=lookaheadRegExp.exec(w.source)\nif(lookaheadMatch&&lookaheadMatch.index==w.matchStart){if(lookaheadMatch[1]){var script=document.getElementById(lookaheadMatch[1]);if(script)script=document.body.removeChild(script);script=document.createElement("script");script.src=lookaheadMatch[1];script.id=lookaheadMatch[1];document.body.appendChild(script);}\nif(lookaheadMatch[4]){if(lookaheadMatch[3])\nwikify("{{{\sn"+lookaheadMatch[0]+"\sn}}}\sn",w.output);if(lookaheadMatch[2]){var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description?e.description:e.toString())}}\nlink.code="function _out(place){"+lookaheadMatch[4]+"};_out(this);"\nlink.setAttribute("href","javascript:;");link.setAttribute("title","");link.style.cursor="pointer";}\nelse{var code="function _out(place){"+lookaheadMatch[4]+"};_out(w.output);"\ncode=code.replace(/document.write\s(/gi,'place.innerHTML+=(');try{var out=eval(code);}catch(e){out=e.description?e.description:e.toString();}\nif(out&&out.length)wikify(out,w.output,w.highlightRegExp,w.tiddler);}}\nw.nextMatch=lookaheadMatch.index+lookaheadMatch[0].length;}}})
<<RemoteContent '/ac/aequip.asp'>>
/*{{{*/\n \n#lightBoxOverlay {\n position:absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 90;\n background-color: #000;\n -moz-opacity: 0.6;\n opacity: .60;\n filter: alpha(opacity=60);\n}\n#lightBoxOverlay[id] { /* IE6 and below Can't See This */\n position: fixed;\n}\ndiv.lightBox {\n background: #2d2d2d;\n color: #fff;\n border: 2px solid #eee;\n}\nimg.lightBoxClose {\n position: absolute;\n top: -5px;\n right: -5px;\n margin: 0px;\n cursor: pointer;\n}\ndiv.lightBoxAlert {\n /* Dynamically Sized */\n background: #2d2d2d;\n color: #fff;\n padding: 10px;\n border: 2px solid #eee;\n}\ndiv.lightBoxAlertIcon {\n position: absolute;\n top: 8px;\n left: 8px;\n width: 48px;\n height: 48px;\n}\ndiv.lightBoxAlertMessage {\n margin: 14px 10px 10px 56px;\n}\n\n/*}}}*/\n
<html>\n<div class="lightBox" id="myLB" style="display:none">\n <img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div style="padding: 10px">This is myLB</div>\n</div>\n\n\n<div class="lightBox" id="anotherLB" style="display:none">\n <img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div style="padding:10px; width:300px; height: 80px;">This is anotherLB<br>\nIt has multiple lines<br>\nSee?</div>\n</div>\n\n<div class="lightBoxAlert" id="myBigAlert" style="display:none">\n <img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n\n <div class="lightBoxAlertIcon"><img src="im/info.png" alt="info"></div>\n <div class="lightBoxAlertMessage">This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert. This is a test message for the LightBox alert.</div>\n</div>\n\n<div class="lightBoxAlert" id="mySmallAlert" style="display:none">\n <img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n\n <div class="lightBoxAlertIcon"><img src="im/info.png" alt="info"></div>\n <div class="lightBoxAlertMessage">This is a test message.</div>\n</div>\n\n\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myLB')">Show myLB</a><br>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('anotherLB')">Show anotherLB</a><br>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myBigAlert')">Show myBigAlert</a><br>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('mySmallAlert')">Show mySmallAlert</a><br>\n<a href="javascript:;" onclick="DC3.LightBox.showContent('<div style=\s'padding:10px;\s'>This uses the showContent() method!</div>')">Show using showContent()</a><br>\n<a href="javascript:;" onclick="DC3.LightBox.showAlert('ok', 'This uses the showAlert() method!')">Show using showAlert()</a></html>
Open [[System Status]] and use the "Owner" label/link to log off if you currently own the observatory.
Use this to recover from a "lost" telescope which is pointing at the wrong place in the sky. This utility takes an image of the sky currently seen by the telescope, then forces an //all-sky// plate solution and pointing update. The all-sky plate solution is done by the [[Astrometry.net|http://astrometry.net]] web service. After it completes, your telescope's coordinates should be correct for its current location. Of course, if it is having pointing or other problems, it can be inaccurate after a slew. If you have continuing problems, contact the observatory staff.
<html>\n<div class="navbar">\n <!--<% if(false) { %>-->\n <div class="mainDiv">\n <div class="topItem" >Authoring</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <div class="subItem"><a href="javascript:;" title="Authoring welcome and contents" onClick="story.displayTiddler(this,'Authoring System',null,config.options.chkAnimate,false)">Welcome</a></div>\n <div class="subItem"><a href="javascript:;" title="Critical settings before authoring" onClick="story.displayTiddler(this,'Authoring Setup',null,config.options.chkAnimate,false)">Setup</a> (required)</div>\n <div class="subItem"><a href="javascript:;" title="Overview of the authoring process" onClick="story.displayTiddler(this,'Authoring Roadmap',null,config.options.chkAnimate,false)">Roadmap</a></div>\n <div class="subItem"><a href="javascript:;" title="Markup for text styles" onClick="story.displayTiddler(this,'Basic Formatting',null,config.options.chkAnimate,false)">Basic Formatting</a></div>\n <div class="subItem"><a href="javascript:;" title="Practice formatting here" onClick="story.displayTiddler(this,'Sandbox',null,config.options.chkAnimate,false)">Sandbox</a> (practice area)</div>\n <div class="subItem"><a href="javascript:;" title="Headings, images, lists, links, etc." onClick="story.displayTiddler(this,'Item Level Structure',null,config.options.chkAnimate,false)">Item Level Structure</a></div>\n <div class="subItem"><a href="javascript:;" title="The many ways tables can be made" onClick="story.displayTiddler(this,'Formatting Tables',null,config.options.chkAnimate,false)">Formatting Tables</a></div>\n <div class="subItem"><a href="javascript:;" title="Tags classify items by type" onClick="story.displayTiddler(this,'Tag Usage',null,config.options.chkAnimate,false)">Tag Usage</a></div>\n <div class="subItem"><a href="javascript:;" title="Macros greatly expand the possibilities" onClick="story.displayTiddler(this,'Macros',null,config.options.chkAnimate,false)">Macros</a></div>\n <div class="subItem"><a href="javascript:;" title="Using jQuery" onClick="story.displayTiddler(this,'Using jQuery',null,config.options.chkAnimate,false)">Using jQuery</a></div>\n <div class="subItem"><a href="javascript:;" title="Save and restore custom items" onClick="story.displayTiddler(this,'Importing and Exporting Items',null,config.options.chkAnimate,false)">Importing & Exporting</a></div>\n </div>\n </div>\n </div>\n <div style="text-align:left;margin:0">Users see these:</div>\n <!--<% } %>-->\n <div id="mm_liveObsBlock" class="mainDiv">\n <div class="topItem">Live Observing</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <div id="mm_liveTitle" class="subItem">Single Object Imaging</div>\n <div id="mm_liveSingle" class="subSubItem"><a href="javascript:;" title="Acquire a single image" onClick="story.displayTiddler(this,'Acquire a Single Image',null,config.options.chkAnimate,false)">Single Image</a></div>\n <div id="mm_liveSeries" class="subSubItem"><a href="javascript:;" title="Acquire multiple images in multiple colors" onClick="story.displayTiddler(this,'Single Object Color Series',null,config.options.chkAnimate,false)">Color Series</a></div>\n <div id="mm_liveMultiple" class="subItem"><a href="javascript:;" title="Image multiple targets using an observing plan" onClick="story.displayTiddler(this,'Multiple Objects (Plan)',null,config.options.chkAnimate,false)">Multiple Objects (Plan)</a></div>\n <div id="mm_liveDarkBias" class="subItem"><a href="javascript:;" title="Acquire dark and bias frames" onClick="story.displayTiddler(this,'Calibration Frames',null,config.options.chkAnimate,false)">Cal Frames (Dark/Bias)</a></div>\n <!--<% if(screenFlats) { %>-->\n <div id="mm_liveStdFlats" class="subItem"><a href="javascript:;" title="Acquire standard automatic screen flats now" onClick="story.displayTiddler(this,'Standard Flat Fields',null,config.options.chkAnimate,false)">Standard Screen Flats</a></div>\n <div id="mm_liveOneFlats" class="subItem"><a href="javascript:;" title="Setup and do a one-time screen flat run now" onClick="story.displayTiddler(this,'One-Time Flat Field Run',null,config.options.chkAnimate,false)">One-Time Screen Flats</a></div>\n <!--<% } else { %>-->\n <div id="mm_liveStdFlats" class="subItem"><a href="javascript:;" title="Acquire automatic sky flats" onClick="story.displayTiddler(this,'Standard Flat Fields',null,config.options.chkAnimate,false)">Standard Sky Flats</a></div>\n <div id="mm_liveOneFlats" class="subItem"><a href="javascript:;" title="Setup and do a one-time sky flat run" onClick="story.displayTiddler(this,'One-Time Flat Field Run',null,config.options.chkAnimate,false)">One-Time Sky Flats</a></div>\n <!--<% } %>-->\n <div class="subItem">Special Tasks</div>\n <div class="subSubItem"><a href="javascript:;" title="Status and control center for the observatory" onClick="story.displayTiddler(this,'System Status',null,config.options.chkAnimate,false)">System Status Disp.</a></div>\n <!--<% if(screenFlats) { %>-->\n <div class="subSubItem"><a href="javascript:;" title="Set up standard automatic screen flats" onClick="story.displayTiddler(this,'Setup Standard Flat Fields',null,config.options.chkAnimate,false)">Setup Screen Flats</a></div>\n <!--<% } else { %>-->\n <div class="subSubItem"><a href="javascript:;" title="Set up standard automatic sky flats" onClick="story.displayTiddler(this,'Setup Standard Flat Fields',null,config.options.chkAnimate,false)">Setup Sky Flats</a></div>\n <!--<% } %>-->\n <div id="mm_liveRelease" class="subSubItem"><a href="javascript:;" title="Release the observatory" onClick="DC3.Lib.logOff();">Release the Obs.</a></div>\n <div class="subSubItem"><a href="javascript:;" title="Find objects in our 70,000+ object deep sky catalog" onClick="story.displayTiddler(this,'Deep Sky Catalog Search',null,config.options.chkAnimate,false)">Deep Sky Catalog</a></div>\n <div class="subSubItem"><a href="javascript:;" title="Pre-compile and check an observing plan" onClick="story.displayTiddler(this,'Check Observing Plan',null,config.options.chkAnimate,false)">Obs. Plan Checker</a></div>\n </div>\n </div>\n </div>\n <!--<% if(schInst) { %>-->\n <div class="mainDiv">\n <div class="topItem" >Scheduled</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <div class="subItem"><a href="/sc/index.asp" target="_blank" title="Show the Scheduler\s's Database of requests">Schedule Browser</a></div>\n <div class="subItem"><a href="javascript:;" title="Request color data for astro-imaging" onClick="story.displayTiddler(this,'Schedule Astro-Imaging',null,config.options.chkAnimate,false)">Astro-Imaging</a></div>\n <div class="subItem"><a href="javascript:;" title="Request a single series of images" onClick="story.displayTiddler(this,'Schedule Image Series',null,config.options.chkAnimate,false)">Single Series</a></div>\n <div class="subItem"><a href="javascript:;" title="Enter requests from RTML" onClick="story.displayTiddler(this,'Submit RTML Request',null,config.options.chkAnimate,false)">Upload RTML</a></div>\n </div>\n </div>\n </div>\n <!--<% } %>-->\n <!--<% if(User.Username != "localweb") { %>-->\n <div class="mainDiv">\n <div class="topItem" >My Documents</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <div class="subItem"><a href="javascript:;" title="Your acquired images" onClick="story.displayTiddler(this,'Acquired Images',null,config.options.chkAnimate,false)">Acquired Images</a></div>\n <div class="subItem"><a href="javascript:;" title="Your observing plans" onClick="story.displayTiddler(this,'Observing Plans',null,config.options.chkAnimate,false)">Observing Plans</a></div>\n <div class="subItem"><a href="javascript:;" title="Your run logs" onClick="story.displayTiddler(this,'Run Logs',null,config.options.chkAnimate,false)">Run Logs</a></div>\n </div>\n </div>\n </div>\n <!--<% } %>-->\n <div class="mainDiv">\n <div class="topItem" >Shared Files</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <!--<% if(User.CanUpload) { %>-->\n <div class="subItem"><a href="javascript:;" title="Upload and share files with other observers" onClick="story.displayTiddler(this,'Shared File Area',null,config.options.chkAnimate,false)">Shared File Area</a></div>\n <!--<% } else { %>-->\n <div class="subItem"><a href="javascript:;" title="Files shared by other observers" onClick="story.displayTiddler(this,'Shared File Area',null,config.options.chkAnimate,false)">Shared File Area</a></div>\n <!--<% } %>-->\n <div class="subItem"><a href="javascript:;" title="Downloads provided by the staff" onClick="story.displayTiddler(this,'Downloads',null,config.options.chkAnimate,false)">Downloads</a></div>\n </div>\n </div>\n </div>\n <div class="mainDiv">\n <div class="topItem" >Observatory Info</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <div class="subItem"><a href="javascript:;" title="Status and control center" onClick="story.displayTiddler(this,'System Status',null,config.options.chkAnimate,false)">System Status Display</a></div>\n <div class="subItem"><a href="javascript:;" title="Shows a movable astro-photo at current scope coordinates" onClick="story.displayTiddler(this,'Pictorial Camera Field', null, config.options.chkAnimate,false)">Pictorial Camera Field</a></div>\n <div class="subItem"><a href="javascript:;" title="Detailed specs on our instruments and equipment" onClick="story.displayTiddler(this,'Instruments & Equipment',null,config.options.chkAnimate,false)">Instruments & Equipment</a></div>\n <div class="subItem"><a href="javascript:;" title="Geographic location and elevation" onClick="story.displayTiddler(this,'Observatory Location',null,config.options.chkAnimate,false)">Observatory Location</a></div>\n <div class="subItem"><a href="javascript:;" title="Shows our Clear Sky Clock" onClick="story.displayTiddler(this,'Our Clear Sky Clock', null, config.options.chkAnimate,false)">Clear Sky Clock</a></div>\n <div class="subItem"><a href="javascript:;" title="Detailed weather information" onClick="story.displayTiddler(this,'Weather',null,config.options.chkAnimate,false)">Local Weather</a></div>\n <div class="subItem"><a href="javascript:;" title="Weather Radar in Our Area" onClick="story.displayTiddler(this,'Radar Animation',null,config.options.chkAnimate,false)">Radar Animation</a></div>\n <div class="subItem"><a href="javascript:;" title="Upcoming dawn and dusk times of various types" onClick="story.displayTiddler(this,'Dawn-Dusk Times',null,config.options.chkAnimate,false)">Dawn-Dusk Times</a></div>\n <div class="subItem"><a href="javascript:;" title="How to contact the observatory staff" onClick="story.displayTiddler(this,'Contact Info',null,config.options.chkAnimate,false)">Contact Info</a></div>\n <div class="subItem"><a href="javascript:;" title="Feed your newsreader with observatory events" onClick="story.displayTiddler(this,'RSS Feed',null,config.options.chkAnimate,false)"><img src="/im/feed-icon-14x14.png" border="0" width="14" height="14" align="absmiddle"> RSS Events Feed</a></div>\n </div>\n </div>\n </div>\n <div class="mainDiv">\n <div class="topItem" >Help Resources</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <div class="subItem"><a href="javascript:;" onClick="story.displayTiddler(this,'Welcome',null,config.options.chkAnimate,false)">Welcome</a></div>\n <div class="subItem"><a href="javascript:;" onClick="story.displayTiddler(this,'Using This Web Site',null,config.options.chkAnimate,false)">Using This Web Site</a></div>\n <div class="subItem"><a href="javascript:;" onClick="story.displayTiddler(this,'Getting Started',null,config.options.chkAnimate,false)">Getting Started</a></div>\n <div class="subItem"><a href="javascript:;" onClick="story.displayTiddler(this,'Common Questions',null,config.options.chkAnimate,false)">Common Questions</a></div>\n <div class="subItem"><a href="javascript:;" onClick="story.displayTiddler(this,'Making Observing Plans',null,config.options.chkAnimate,false)">Making Obs. Plans</a></div>\n <div class="subItem"><a href="javascript:;" onClick="story.displayTiddler(this,'Using FTP',null,config.options.chkAnimate,false)">Using FTP</a></div>\n </div>\n </div>\n </div>\n <div class="mainDiv">\n <div class="topItem" >Toolbox</div>\n <div class="dropMenu" >\n <div class="subMenu" style="display:none;">\n <div class="subItem"><a href="javascript:;" title="Pre-compile and check an observing plan" onClick="story.displayTiddler(this,'Check Observing Plan',null,config.options.chkAnimate,false)">Obs. Plan Checker</a></div>\n <!--<% if(!screenFlats) { %>-->\n <div class="subItem"><a href="javascript:;" title="Analyze sky flats" onClick="story.displayTiddler(this,'Sky Flat Analyzer',null,config.options.chkAnimate,false)">Sky Flat Analyzer</a></div>\n <!--<% } %>-->\n <div class="subItem"><a href="javascript:;" title="Generate an AAVSO chart" onClick="story.displayTiddler(this,'AAVSO Chart',null,config.options.chkAnimate,false)">AAVSO Chart</a></div>\n <div class="subItem"><a href="javascript:;" title="Various observatory tasks and tests" onClick="story.displayTiddler(this,'Utility Tasks',null,config.options.chkAnimate,false)">Utility Tasks</a></div>\n <!--<% if(User.IsAdministrator) { %>-->\n <div class="subItem"><a href="author.html" title="Make changes to web content">Authoring System</a></div>\n <!--<% } %>-->\n </div>\n </div>\n </div>\n</div>\n</html>\n<<XPMenu>>\n
After you've used the [[Single Image|Acquire a Single Image]] and [[Color Series|Single Object Color Series]] live-observing modes a few times, you may be interested in acquiring images of multiple targets. This is //essential// for science work, but __it is also the best way to do astro-imaging__. Rather than sitting on one object all night and getting lots of data at low elevations through a lot of air, consider doing three targets over three nights, all at high elevations, crossing the meridian. <% if(Telescope.Connected && Telescope.AlignmentMode == 2) { %>You never have to worry about the meridian and flipping, even though our mount is a German equatorial! Just plan across the meridian and let our system take care of flipping.<% } %>\n\nIn order to do this, you need to upload an __Observing Plan__ then run it. Planning a night's multi-target run is difficult without visualization tools. Fortunately, we provide a //free// Windows tool for making plans, ACP Planner. It works best with Imaginova's ~StarryNight Pro and Pro Plus, and Software Bisque's ~TheSky, but it can also be used by itself. Take a few moments to [[view the ACP Planner videos|https://www.youtube.com/playlist?list=PLBBA0B21E71E4B22B]] now!\n!Installing ACP Planner\n#[[Download ACP Planner|http://acp.dc3.com/get-planner.html]]\n#Run the installer\n!Using ACP Planner\nOnce again, you should [[view the ACP Planner videos|https://www.youtube.com/playlist?list=PLBBA0B21E71E4B22B]] now!\n#Start ACP Planner and read the help info, or just dive in and run ~TheSky or ~StarryNight. For ~TheSky, you also need to start ~TheSky Plan Capture applet. Planner support is built into ~StarryNight.\n#Make a plan, <% if(User.Username != "localweb") { %>upload it to your [[Observing Plans]] area at the observatory.<% } else { %>put it into your plans folder (My Documents\sACP Astronomy\sPlans).<% } %>\n!Advanced Planning\nYou can also make plans by hand, using Notepad or any other text editor. They are very easy to understand, yet extremely flexible. For advanced usage, this is the way to go. Any heavy-duty observing run needs careful planning, after all, and once you know the //what// and //when// for your observing run, you can type up a plan for the observatory. The details of this would make this web content too big, so we've provided you with the ACP socumentation set in the [[Downloads]] area. Download ~ACPHelp.zip and unzip all of the files to some folder. Then double click @@ACP Help.chm@@. Look in the Making Observing Plans section. If you get stuck, ask us for help on the [[DC-3 Dreams Communication Center|http://forums.dc3.com/]].
\nMath.sec=function(a){return 1/Math.cos(a)};Math.csc=function(a){return 1/Math.sin(a)};Math.cot=function(a){return 1/Math.tan(a)};Math.asec=function(a){return Math.acos(1/a)};Math.acsc=function(a){return Math.asin(1/a)};Math.acot=function(a){return Math.atan(1/a)};Math.sinh=function(a){return(Math.exp(a)-Math.exp(-a))/2};Math.cosh=function(a){return(Math.exp(a)+Math.exp(-a))/2};Math.tanh=function(a){return(Math.exp(a)-Math.exp(-a))/(Math.exp(a)+Math.exp(-a))};Math.sech=function(a){return 1/Math.cosh(a)};Math.csch=function(a){return 1/Math.sinh(a)};Math.coth=function(a){return 1/Math.tanh(a)};Math.asinh=function(a){return Math.log(a+Math.sqrt(a*a+1))};Math.acosh=function(a){return Math.log(a+Math.sqrt(a*a-1))};Math.atanh=function(a){return Math.log((1+a)/(1-a))/2};Math.sech=function(a){return 1/Math.cosh(a)};Math.csch=function(a){return 1/Math.sinh(a)};Math.coth=function(a){return 1/Math.tanh(a)};Math.asech=function(a){return Math.acosh(1/a)};Math.acsch=function(a){return Math.asinh(1/a)};Math.acoth=function(a){return Math.atanh(1/a)};Math.sign=function(a){return(a===0?0:(a<0?-1:1))};Math.step=function(a,c,b){return(a<0?(b?b:0):(c?c:1))};Math.root=function(a,b){return Math.pow(a,1/b)};Math.factorial=function(b){if(b===0){return 1}if(b<0){if((b%1)===0){return}if(b>-1){return Math.factorial(b+1)/(b+1)}return-Math.PI/(Math.factorial(-1-b)*Math.sin(Math.PI*b))}var a=b;if((b%1)===0){while(b>1){b=b-1;a=a*b}}else{a=Math.exp((b+0.5)*Math.log(b+1)-b-b*(0.1121105+b*0.08106103)/(1.452342+b*(2.410858+b)))}return a};Math.Gamma=function(a){return Math.factorial(a-1)};Math.Beta=function(a,b){return Math.Gamma(a)*Math.Gamma(b)/Math.Gamma(a+b)};Math.C=function(a,b){var c=1/((a+1)*Math.Beta(b+1,a-b+1));return c};Math.truncate=function(a,c){var b=c||0;return Math.floor(a*Math.pow(10,b))/Math.pow(10,b)};Math.randomString=function(a,g){var f=(g||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz").split("");var e=[],c=Math.random;var d=f.length;for(var b=0;b<a;b++){e[b]=f[0|c()*d]}return e.join("")};Math.runif=function(d,c,f){var e=f||0;return Math.truncate((c+Math.pow(10,-e)-d)*Math.random()+d,e)};Math.rnormal=function(a,b){a=a||0;b=b||1;var d=0,c=0;while(d*c===0){d=Math.random();c=Math.random()}return b*(Math.sqrt(-2*Math.log(d))*Math.cos(2*Math.PI*c))+a};(function(){var a=jQuery.fn.attr,b="http://www.w3.org/2000/svg";jQuery.fn.attr=function(m,l){var g=this.length;if(!g){return this}for(var f=0;f<g;f++){var c=this[f];if(c.namespaceURI===b){if(l!==undefined){c.setAttribute(m,l)}else{if($.isArray(m)){var d=m.length,e={};while(d--){var k=m[d];var h=c.getAttribute(k);if(h||h==="0"){h=isNaN(h)?h:h-0}e[k]=h}return e}else{if(typeof m==="object"){for(v in m){c.setAttribute(v,m[v])}}else{var h=c.getAttribute(m);if(h||h==="0"){h=isNaN(h)?h:h-0}return h}}}}else{return a.apply(this,arguments)}}return this}}());var MSVG=function($){var cal=["\suD835\suDC9C","\su212C","\suD835\suDC9E","\suD835\suDC9F","\su2130","\su2131","\suD835\suDCA2","\su210B","\su2110","\suD835\suDCA5","\suD835\suDCA6","\su2112","\su2133","\suD835\suDCA9","\suD835\suDCAA","\suD835\suDCAB","\suD835\suDCAC","\su211B","\suD835\suDCAE","\suD835\suDCAF","\suD835\suDCB0","\suD835\suDCB1","\suD835\suDCB2","\suD835\suDCB3","\suD835\suDCB4","\suD835\suDCB5","\suD835\suDCB6","\suD835\suDCB7","\suD835\suDCB8","\suD835\suDCB9","\su212F","\suD835\suDCBB","\su210A","\suD835\suDCBD","\suD835\suDCBE","\suD835\suDCBF","\suD835\suDCC0","\suD835\suDCC1","\suD835\suDCC2","\suD835\suDCC3","\su2134","\suD835\suDCC5","\suD835\suDCC6","\suD835\suDCC7","\suD835\suDCC8","\suD835\suDCC9","\suD835\suDCCA","\suD835\suDCCB","\suD835\suDCCC","\suD835\suDCCD","\suD835\suDCCE","\suD835\suDCCF"];var frk=["\suD835\suDD04","\suD835\suDD05","\su212D","\suD835\suDD07","\suD835\suDD08","\suD835\suDD09","\suD835\suDD0A","\su210C","\su2111","\suD835\suDD0D","\suD835\suDD0E","\suD835\suDD0F","\suD835\suDD10","\suD835\suDD11","\suD835\suDD12","\suD835\suDD13","\suD835\suDD14","\su211C","\suD835\suDD16","\suD835\suDD17","\suD835\suDD18","\suD835\suDD19","\suD835\suDD1A","\suD835\suDD1B","\suD835\suDD1C","\su2128","\suD835\suDD1E","\suD835\suDD1F","\suD835\suDD20","\suD835\suDD21","\suD835\suDD22","\suD835\suDD23","\suD835\suDD24","\suD835\suDD25","\suD835\suDD26","\suD835\suDD27","\suD835\suDD28","\suD835\suDD29","\suD835\suDD2A","\suD835\suDD2B","\suD835\suDD2C","\suD835\suDD2D","\suD835\suDD2E","\suD835\suDD2F","\suD835\suDD30","\suD835\suDD31","\suD835\suDD32","\suD835\suDD33","\suD835\suDD34","\suD835\suDD35","\suD835\suDD36","\suD835\suDD37"];var bbb=["\suD835\suDD38","\suD835\suDD39","\su2102","\suD835\suDD3B","\suD835\suDD3C","\suD835\suDD3D","\suD835\suDD3E","\su210D","\suD835\suDD40","\suD835\suDD41","\suD835\suDD42","\suD835\suDD43","\suD835\suDD44","\su2115","\suD835\suDD46","\su2119","\su211A","\su211D","\suD835\suDD4A","\suD835\suDD4B","\suD835\suDD4C","\suD835\suDD4D","\suD835\suDD4E","\suD835\suDD4F","\suD835\suDD50","\su2124","\suD835\suDD52","\suD835\suDD53","\suD835\suDD54","\suD835\suDD55","\suD835\suDD56","\suD835\suDD57","\suD835\suDD58","\suD835\suDD59","\suD835\suDD5A","\suD835\suDD5B","\suD835\suDD5C","\suD835\suDD5D","\suD835\suDD5E","\suD835\suDD5F","\suD835\suDD60","\suD835\suDD61","\suD835\suDD62","\suD835\suDD63","\suD835\suDD64","\suD835\suDD65","\suD835\suDD66","\suD835\suDD67","\suD835\suDD68","\suD835\suDD69","\suD835\suDD6A","\suD835\suDD6B"];var CONST=0,UNARY=1,BINARY=2,INFIX=3,LEFTBRACKET=4,RIGHTBRACKET=5,SPACE=6,UNDEROVER=7,DEFINITION=8,LEFTRIGHT=9,TEXT=10,BIG=11,STRETCHY=13,MATRIX=14;var symbols=[{input:"\s\svarepsilon",tag:"mi",output:"\su025B",ttype:CONST},{input:"\s\svarsigma",tag:"mi",output:"\su03C2",ttype:CONST},{input:"\s\svartheta",tag:"mi",output:"\su03D1",ttype:CONST},{input:"\s\svarphi",tag:"mi",output:"\su03D5",ttype:CONST},{input:"\s\svarpi",tag:"mi",output:"\su03D6",ttype:CONST},{input:"\s\svarrho",tag:"mi",output:"\su03F1",ttype:CONST},{input:"\s\salpha",tag:"mi",output:"\su03B1",ttype:CONST},{input:"\s\sbeta",tag:"mi",output:"\su03B2",ttype:CONST},{input:"\s\sgamma",tag:"mi",output:"\su03B3",ttype:CONST},{input:"\s\sdelta",tag:"mi",output:"\su03B4",ttype:CONST},{input:"\s\sepsilon",tag:"mi",output:"\su03B5",ttype:CONST},{input:"\s\szeta",tag:"mi",output:"\su03B6",ttype:CONST},{input:"\s\seta",tag:"mi",output:"\su03B7",ttype:CONST},{input:"\s\stheta",tag:"mi",output:"\su03B8",ttype:CONST},{input:"\s\siota",tag:"mi",output:"\su03B9",ttype:CONST},{input:"\s\skappa",tag:"mi",output:"\su03BA",ttype:CONST},{input:"\s\slambda",tag:"mi",output:"\su03BB",ttype:CONST},{input:"\s\smu",tag:"mi",output:"\su03BC",ttype:CONST},{input:"\s\snu",tag:"mi",output:"\su03BD",ttype:CONST},{input:"\s\sxi",tag:"mi",output:"\su03BE",ttype:CONST},{input:"\s\somicron",tag:"mi",output:"\su03BF",ttype:CONST},{input:"\s\spi",tag:"mi",output:"\su03C0",ttype:CONST},{input:"\s\srho",tag:"mi",output:"\su03C1",ttype:CONST},{input:"\s\ssigma",tag:"mi",output:"\su03C3",ttype:CONST},{input:"\s\stau",tag:"mi",output:"\su03C4",ttype:CONST},{input:"\s\supsilon",tag:"mi",output:"\su03C5",ttype:CONST},{input:"\s\sphi",tag:"mi",output:"\su03C6",ttype:CONST},{input:"\s\schi",tag:"mi",output:"\su03C7",ttype:CONST},{input:"\s\spsi",tag:"mi",output:"\su03C8",ttype:CONST},{input:"\s\somega",tag:"mi",output:"\su03C9",ttype:CONST},{input:"\s\sAlpha",tag:"mo",output:"\su0391",ttype:CONST},{input:"\s\sBeta",tag:"mo",output:"\su0392",ttype:CONST},{input:"\s\sGamma",tag:"mo",output:"\su0393",ttype:CONST},{input:"\s\sDelta",tag:"mo",output:"\su0394",ttype:CONST},{input:"\s\sEpsilon",tag:"mo",output:"\su0395",ttype:CONST},{input:"\s\sZeta",tag:"mo",output:"\su0396",ttype:CONST},{input:"\s\sEta",tag:"mo",output:"\su0397",ttype:CONST},{input:"\s\sTheta",tag:"mo",output:"\su0398",ttype:CONST},{input:"\s\sIota",tag:"mo",output:"\su0399",ttype:CONST},{input:"\s\sKappa",tag:"mo",output:"\su039A",ttype:CONST},{input:"\s\sLambda",tag:"mo",output:"\su039B",ttype:CONST},{input:"\s\sMu",tag:"mo",output:"\su039C",ttype:CONST},{input:"\s\sNu",tag:"mo",output:"\su039D",ttype:CONST},{input:"\s\sXi",tag:"mo",output:"\su039E",ttype:CONST},{input:"\s\sOmicron",tag:"mo",output:"\su039F",ttype:CONST},{input:"\s\sPi",tag:"mo",output:"\su03A0",ttype:CONST},{input:"\s\sRho",tag:"mo",output:"\su03A1",ttype:CONST},{input:"\s\sSigma",tag:"mo",output:"\su03A3",ttype:CONST},{input:"\s\sTau",tag:"mo",output:"\su03A4",ttype:CONST},{input:"\s\sUpsilon",tag:"mo",output:"\su03A5",ttype:CONST},{input:"\s\sPhi",tag:"mo",output:"\su03A6",ttype:CONST},{input:"\s\sChi",tag:"mo",output:"\su03A7",ttype:CONST},{input:"\s\sPsi",tag:"mo",output:"\su03A8",ttype:CONST},{input:"\s\sOmega",tag:"mo",output:"\su03A9",ttype:CONST},{input:"\s\sfrac12",tag:"mo",output:"\su00BD",ttype:CONST},{input:"\s\sfrac14",tag:"mo",output:"\su00BC",ttype:CONST},{input:"\s\sfrac34",tag:"mo",output:"\su00BE",ttype:CONST},{input:"\s\sfrac13",tag:"mo",output:"\su2153",ttype:CONST},{input:"\s\sfrac23",tag:"mo",output:"\su2154",ttype:CONST},{input:"\s\sfrac15",tag:"mo",output:"\su2155",ttype:CONST},{input:"\s\sfrac25",tag:"mo",output:"\su2156",ttype:CONST},{input:"\s\sfrac35",tag:"mo",output:"\su2157",ttype:CONST},{input:"\s\sfrac45",tag:"mo",output:"\su2158",ttype:CONST},{input:"\s\sfrac16",tag:"mo",output:"\su2159",ttype:CONST},{input:"\s\sfrac56",tag:"mo",output:"\su215A",ttype:CONST},{input:"\s\sfrac18",tag:"mo",output:"\su215B",ttype:CONST},{input:"\s\sfrac38",tag:"mo",output:"\su215C",ttype:CONST},{input:"\s\sfrac58",tag:"mo",output:"\su215D",ttype:CONST},{input:"\s\sfrac78",tag:"mo",output:"\su215E",ttype:CONST},{input:"\s\spm",tag:"mo",output:"\su00B1",ttype:CONST},{input:"\s\smp",tag:"mo",output:"\su2213",ttype:CONST},{input:"\s\striangleleft",tag:"mo",output:"\su22B2",ttype:CONST},{input:"\s\striangleright",tag:"mo",output:"\su22B3",ttype:CONST},{input:"\s\scdot",tag:"mo",output:"\su22C5",ttype:CONST},{input:"\s\sstar",tag:"mo",output:"\su22C6",ttype:CONST},{input:"\s\sast",tag:"mo",output:"\su002A",ttype:CONST},{input:"\s\stimes",tag:"mo",output:"\su00D7",ttype:CONST},{input:"\s\sdiv",tag:"mo",output:"\su00F7",ttype:CONST},{input:"\s\scirc",tag:"mo",output:"\su2218",ttype:CONST},{input:"\s\sbullet",tag:"mo",output:"\su2022",ttype:CONST},{input:"\s\soplus",tag:"mo",output:"\su2295",ttype:CONST},{input:"\s\sominus",tag:"mo",output:"\su2296",ttype:CONST},{input:"\s\sotimes",tag:"mo",output:"\su2297",ttype:CONST},{input:"\s\sbigcirc",tag:"mo",output:"\su25CB",ttype:CONST},{input:"\s\soslash",tag:"mo",output:"\su2298",ttype:CONST},{input:"\s\sodot",tag:"mo",output:"\su2299",ttype:CONST},{input:"\s\sland",tag:"mo",output:"\su2227",ttype:CONST},{input:"\s\swedge",tag:"mo",output:"\su2227",ttype:CONST},{input:"\s\slor",tag:"mo",output:"\su2228",ttype:CONST},{input:"\s\svee",tag:"mo",output:"\su2228",ttype:CONST},{input:"\s\scap",tag:"mo",output:"\su2229",ttype:CONST},{input:"\s\scup",tag:"mo",output:"\su222A",ttype:CONST},{input:"\s\ssqcap",tag:"mo",output:"\su2293",ttype:CONST},{input:"\s\ssqcup",tag:"mo",output:"\su2294",ttype:CONST},{input:"\s\suplus",tag:"mo",output:"\su228E",ttype:CONST},{input:"\s\samalg",tag:"mo",output:"\su2210",ttype:CONST},{input:"\s\sbigtriangleup",tag:"mo",output:"\su25B3",ttype:CONST},{input:"\s\sbigtriangledown",tag:"mo",output:"\su25BD",ttype:CONST},{input:"\s\sdag",tag:"mo",output:"\su2020",ttype:CONST},{input:"\s\sdagger",tag:"mo",output:"\su2020",ttype:CONST},{input:"\s\sddag",tag:"mo",output:"\su2021",ttype:CONST},{input:"\s\sddagger",tag:"mo",output:"\su2021",ttype:CONST},{input:"\s\slhd",tag:"mo",output:"\su22B2",ttype:CONST},{input:"\s\srhd",tag:"mo",output:"\su22B3",ttype:CONST},{input:"\s\sunlhd",tag:"mo",output:"\su22B4",ttype:CONST},{input:"\s\sunrhd",tag:"mo",output:"\su22B5",ttype:CONST},{input:"\s\ssum",tag:"mo",output:"\su2211",ttype:UNDEROVER},{input:"\s\sprod",tag:"mo",output:"\su220F",ttype:UNDEROVER},{input:"\s\sbigcap",tag:"mo",output:"\su22C2",ttype:UNDEROVER},{input:"\s\sbigcup",tag:"mo",output:"\su22C3",ttype:UNDEROVER},{input:"\s\sbigwedge",tag:"mo",output:"\su22C0",ttype:UNDEROVER},{input:"\s\sbigvee",tag:"mo",output:"\su22C1",ttype:UNDEROVER},{input:"\s\sbigsqcap",tag:"mo",output:"\su2A05",ttype:UNDEROVER},{input:"\s\sbigsqcup",tag:"mo",output:"\su2A06",ttype:UNDEROVER},{input:"\s\scoprod",tag:"mo",output:"\su2210",ttype:UNDEROVER},{input:"\s\sbigoplus",tag:"mo",output:"\su2A01",ttype:UNDEROVER},{input:"\s\sbigotimes",tag:"mo",output:"\su2A02",ttype:UNDEROVER},{input:"\s\sbigodot",tag:"mo",output:"\su2A00",ttype:UNDEROVER},{input:"\s\sbiguplus",tag:"mo",output:"\su2A04",ttype:UNDEROVER},{input:"\s\sint",tag:"mo",output:"\su222B",ttype:CONST},{input:"\s\soint",tag:"mo",output:"\su222E",ttype:CONST},{input:":=",tag:"mo",output:":=",ttype:CONST},{input:"\s\slt",tag:"mo",output:"<",ttype:CONST},{input:"\s\sgt",tag:"mo",output:">",ttype:CONST},{input:"\s\sne",tag:"mo",output:"\su2260",ttype:CONST},{input:"\s\sneq",tag:"mo",output:"\su2260",ttype:CONST},{input:"\s\sle",tag:"mo",output:"\su2264",ttype:CONST},{input:"\s\sleq",tag:"mo",output:"\su2264",ttype:CONST},{input:"\s\sleqslant",tag:"mo",output:"\su2264",ttype:CONST},{input:"\s\sge",tag:"mo",output:"\su2265",ttype:CONST},{input:"\s\sgeq",tag:"mo",output:"\su2265",ttype:CONST},{input:"\s\sgeqslant",tag:"mo",output:"\su2265",ttype:CONST},{input:"\s\sequiv",tag:"mo",output:"\su2261",ttype:CONST},{input:"\s\sll",tag:"mo",output:"\su226A",ttype:CONST},{input:"\s\sgg",tag:"mo",output:"\su226B",ttype:CONST},{input:"\s\sdoteq",tag:"mo",output:"\su2250",ttype:CONST},{input:"\s\sprec",tag:"mo",output:"\su227A",ttype:CONST},{input:"\s\ssucc",tag:"mo",output:"\su227B",ttype:CONST},{input:"\s\spreceq",tag:"mo",output:"\su227C",ttype:CONST},{input:"\s\ssucceq",tag:"mo",output:"\su227D",ttype:CONST},{input:"\s\ssubset",tag:"mo",output:"\su2282",ttype:CONST},{input:"\s\ssupset",tag:"mo",output:"\su2283",ttype:CONST},{input:"\s\ssubseteq",tag:"mo",output:"\su2286",ttype:CONST},{input:"\s\ssupseteq",tag:"mo",output:"\su2287",ttype:CONST},{input:"\s\ssqsubset",tag:"mo",output:"\su228F",ttype:CONST},{input:"\s\ssqsupset",tag:"mo",output:"\su2290",ttype:CONST},{input:"\s\ssqsubseteq",tag:"mo",output:"\su2291",ttype:CONST},{input:"\s\ssqsupseteq",tag:"mo",output:"\su2292",ttype:CONST},{input:"\s\ssim",tag:"mo",output:"\su223C",ttype:CONST},{input:"\s\ssimeq",tag:"mo",output:"\su2243",ttype:CONST},{input:"\s\sapprox",tag:"mo",output:"\su2248",ttype:CONST},{input:"\s\scong",tag:"mo",output:"\su2245",ttype:CONST},{input:"\s\sJoin",tag:"mo",output:"\su22C8",ttype:CONST},{input:"\s\sbowtie",tag:"mo",output:"\su22C8",ttype:CONST},{input:"\s\sin",tag:"mo",output:"\su2208",ttype:CONST},{input:"\s\sni",tag:"mo",output:"\su220B",ttype:CONST},{input:"\s\sowns",tag:"mo",output:"\su220B",ttype:CONST},{input:"\s\spropto",tag:"mo",output:"\su221D",ttype:CONST},{input:"\s\svdash",tag:"mo",output:"\su22A2",ttype:CONST},{input:"\s\sdashv",tag:"mo",output:"\su22A3",ttype:CONST},{input:"\s\smodels",tag:"mo",output:"\su22A8",ttype:CONST},{input:"\s\sperp",tag:"mo",output:"\su22A5",ttype:CONST},{input:"\s\ssmile",tag:"mo",output:"\su2323",ttype:CONST},{input:"\s\sfrown",tag:"mo",output:"\su2322",ttype:CONST},{input:"\s\sasymp",tag:"mo",output:"\su224D",ttype:CONST},{input:"\s\snotin",tag:"mo",output:"\su2209",ttype:CONST},{input:"\s\sbegin{eqnarray}",output:"X",ttype:MATRIX,invisible:true},{input:"\s\sbegin{array}",output:"X",ttype:MATRIX,invisible:true},{input:"\s\s\s\s",output:"}&{",ttype:DEFINITION},{input:"\s\send{eqnarray}",output:"}}",ttype:DEFINITION},{input:"\s\send{array}",output:"}}",ttype:DEFINITION},{input:"\s\sbig",tag:"mo",output:"X",atval:"1.2",ttype:BIG},{input:"\s\sBig",tag:"mo",output:"X",atval:"1.8",ttype:BIG},{input:"\s\sbigg",tag:"mo",output:"X",atval:"2.3",ttype:BIG},{input:"\s\sBigg",tag:"mo",output:"X",atval:"2.9",ttype:BIG},{input:"\s\sleft",tag:"mo",output:"X",ttype:LEFTBRACKET},{input:"\s\sright",tag:"mo",output:"X",ttype:RIGHTBRACKET},{input:"{",output:"{",ttype:LEFTBRACKET,invisible:true},{input:"}",output:"}",ttype:RIGHTBRACKET,invisible:true},{input:"(",tag:"mo",output:"(",atval:"1",ttype:STRETCHY},{input:"[",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\s\slbrack",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\s\s{",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\s\slbrace",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\s\slangle",tag:"mo",output:"\su2329",atval:"1",ttype:STRETCHY},{input:"\s\slfloor",tag:"mo",output:"\su230A",atval:"1",ttype:STRETCHY},{input:"\s\slceil",tag:"mo",output:"\su2308",atval:"1",ttype:STRETCHY},{input:")",tag:"mo",output:")",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"]",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\s\srbrack",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\s\s}",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\s\srbrace",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\s\srangle",tag:"mo",output:"\su232A",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\s\srfloor",tag:"mo",output:"\su230B",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\s\srceil",tag:"mo",output:"\su2309",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"|",tag:"mo",output:"\su2223",atval:"1",ttype:STRETCHY},{input:"\s\s|",tag:"mo",output:"\su2225",atval:"1",ttype:STRETCHY},{input:"\s\svert",tag:"mo",output:"\su2223",atval:"1",ttype:STRETCHY},{input:"\s\sVert",tag:"mo",output:"\su2225",atval:"1",ttype:STRETCHY},{input:"\s\smid",tag:"mo",output:"\su2223",atval:"1",ttype:STRETCHY},{input:"\s\sparallel",tag:"mo",output:"\su2225",atval:"1",ttype:STRETCHY},{input:"/",tag:"mo",output:"/",atval:"1.01",ttype:STRETCHY},{input:"\s\sbackslash",tag:"mo",output:"\su2216",atval:"1",ttype:STRETCHY},{input:"\s\ssetminus",tag:"mo",output:"\s\s",ttype:CONST},{input:"\s\s!",tag:"mspace",atname:"width",atval:"-0.167em",ttype:SPACE},{input:"\s\s,",tag:"mspace",atname:"width",atval:"0.167em",ttype:SPACE},{input:"\s\s>",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\s\s:",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\s\s;",tag:"mspace",atname:"width",atval:"0.278em",ttype:SPACE},{input:"~",tag:"mspace",atname:"width",atval:"0.333em",ttype:SPACE},{input:"\s\squad",tag:"mspace",atname:"width",atval:"1em",ttype:SPACE},{input:"\s\sqquad",tag:"mspace",atname:"width",atval:"2em",ttype:SPACE},{input:"\s\sprime",tag:"mo",output:"\su2032",ttype:CONST},{input:"'",tag:"mo",output:"\su02B9",ttype:CONST},{input:"''",tag:"mo",output:"\su02BA",ttype:CONST},{input:"'''",tag:"mo",output:"\su2034",ttype:CONST},{input:"''''",tag:"mo",output:"\su2057",ttype:CONST},{input:"\s\sldots",tag:"mo",output:"\su2026",ttype:CONST},{input:"\s\scdots",tag:"mo",output:"\su22EF",ttype:CONST},{input:"\s\svdots",tag:"mo",output:"\su22EE",ttype:CONST},{input:"\s\sddots",tag:"mo",output:"\su22F1",ttype:CONST},{input:"\s\sforall",tag:"mo",output:"\su2200",ttype:CONST},{input:"\s\sexists",tag:"mo",output:"\su2203",ttype:CONST},{input:"\s\sRe",tag:"mo",output:"\su211C",ttype:CONST},{input:"\s\sIm",tag:"mo",output:"\su2111",ttype:CONST},{input:"\s\saleph",tag:"mo",output:"\su2135",ttype:CONST},{input:"\s\shbar",tag:"mo",output:"\su210F",ttype:CONST},{input:"\s\sell",tag:"mo",output:"\su2113",ttype:CONST},{input:"\s\swp",tag:"mo",output:"\su2118",ttype:CONST},{input:"\s\semptyset",tag:"mo",output:"\su2205",ttype:CONST},{input:"\s\sinfty",tag:"mo",output:"\su221E",ttype:CONST},{input:"\s\ssurd",tag:"mo",output:"\s\ssqrt{}",ttype:DEFINITION},{input:"\s\spartial",tag:"mo",output:"\su2202",ttype:CONST},{input:"\s\snabla",tag:"mo",output:"\su2207",ttype:CONST},{input:"\s\striangle",tag:"mo",output:"\su25B3",ttype:CONST},{input:"\s\stherefore",tag:"mo",output:"\su2234",ttype:CONST},{input:"\s\sangle",tag:"mo",output:"\su2220",ttype:CONST},{input:"\s\sdiamond",tag:"mo",output:"\su22C4",ttype:CONST},{input:"\s\sDiamond",tag:"mo",output:"\su25C7",ttype:CONST},{input:"\s\sneg",tag:"mo",output:"\su00AC",ttype:CONST},{input:"\s\slnot",tag:"mo",output:"\su00AC",ttype:CONST},{input:"\s\sbot",tag:"mo",output:"\su22A5",ttype:CONST},{input:"\s\stop",tag:"mo",output:"\su22A4",ttype:CONST},{input:"\s\ssquare",tag:"mo",output:"\su25AB",ttype:CONST},{input:"\s\sBox",tag:"mo",output:"\su25A1",ttype:CONST},{input:"\s\swr",tag:"mo",output:"\su2240",ttype:CONST},{input:"\s\sarccos",tag:"mi",output:"arccos",ttype:UNARY,func:true},{input:"\s\sarcsin",tag:"mi",output:"arcsin",ttype:UNARY,func:true},{input:"\s\sarctan",tag:"mi",output:"arctan",ttype:UNARY,func:true},{input:"\s\sarg",tag:"mi",output:"arg",ttype:UNARY,func:true},{input:"\s\scos",tag:"mi",output:"cos",ttype:UNARY,func:true},{input:"\s\scosh",tag:"mi",output:"cosh",ttype:UNARY,func:true},{input:"\s\scot",tag:"mi",output:"cot",ttype:UNARY,func:true},{input:"\s\scoth",tag:"mi",output:"coth",ttype:UNARY,func:true},{input:"\s\scsc",tag:"mi",output:"csc",ttype:UNARY,func:true},{input:"\s\sdeg",tag:"mi",output:"deg",ttype:UNARY,func:true},{input:"\s\sdet",tag:"mi",output:"det",ttype:UNARY,func:true},{input:"\s\sdim",tag:"mi",output:"dim",ttype:UNARY,func:true},{input:"\s\sexp",tag:"mi",output:"exp",ttype:UNARY,func:true},{input:"\s\sgcd",tag:"mi",output:"gcd",ttype:UNARY,func:true},{input:"\s\shom",tag:"mi",output:"hom",ttype:UNARY,func:true},{input:"\s\sinf",tag:"mo",output:"inf",ttype:UNDEROVER},{input:"\s\sker",tag:"mi",output:"ker",ttype:UNARY,func:true},{input:"\s\slg",tag:"mi",output:"lg",ttype:UNARY,func:true},{input:"\s\slim",tag:"mo",output:"lim",ttype:UNDEROVER},{input:"\s\sliminf",tag:"mo",output:"liminf",ttype:UNDEROVER},{input:"\s\slimsup",tag:"mo",output:"limsup",ttype:UNDEROVER},{input:"\s\sln",tag:"mi",output:"ln",ttype:UNARY,func:true},{input:"\s\slog",tag:"mi",output:"log",ttype:UNARY,func:true},{input:"\s\smax",tag:"mo",output:"max",ttype:UNDEROVER},{input:"\s\smin",tag:"mo",output:"min",ttype:UNDEROVER},{input:"\s\sPr",tag:"mi",output:"Pr",ttype:UNARY,func:true},{input:"\s\ssec",tag:"mi",output:"sec",ttype:UNARY,func:true},{input:"\s\ssin",tag:"mi",output:"sin",ttype:UNARY,func:true},{input:"\s\ssinh",tag:"mi",output:"sinh",ttype:UNARY,func:true},{input:"\s\ssup",tag:"mo",output:"sup",ttype:UNDEROVER},{input:"\s\stan",tag:"mi",output:"tan",ttype:UNARY,func:true},{input:"\s\stanh",tag:"mi",output:"tanh",ttype:UNARY,func:true},{input:"\s\sgets",tag:"mo",output:"\su2190",ttype:CONST},{input:"\s\sleftarrow",tag:"mo",output:"\su2190",ttype:CONST},{input:"\s\sto",tag:"mo",output:"\su2192",ttype:CONST},{input:"\s\srightarrow",tag:"mo",output:"\su2192",ttype:CONST},{input:"\s\sleftrightarrow",tag:"mo",output:"\su2194",ttype:CONST},{input:"\s\suparrow",tag:"mo",output:"\su2191",ttype:CONST},{input:"\s\sdownarrow",tag:"mo",output:"\su2193",ttype:CONST},{input:"\s\supdownarrow",tag:"mo",output:"\su2195",ttype:CONST},{input:"\s\sLeftarrow",tag:"mo",output:"\su21D0",ttype:CONST},{input:"\s\sRightarrow",tag:"mo",output:"\su21D2",ttype:CONST},{input:"\s\sLeftrightarrow",tag:"mo",output:"\su21D4",ttype:CONST},{input:"\s\siff",tag:"mo",output:"~\s\sLongleftrightarrow~",ttype:DEFINITION},{input:"\s\sUparrow",tag:"mo",output:"\su21D1",ttype:CONST},{input:"\s\sDownarrow",tag:"mo",output:"\su21D3",ttype:CONST},{input:"\s\sUpdownarrow",tag:"mo",output:"\su21D5",ttype:CONST},{input:"\s\smapsto",tag:"mo",output:"\su21A6",ttype:CONST},{input:"\s\slongleftarrow",tag:"mo",output:"\su27F5",ttype:CONST},{input:"\s\slongrightarrow",tag:"mo",output:"\su27F6",ttype:CONST},{input:"\s\slongleftrightarrow",tag:"mo",output:"\su27F7",ttype:CONST},{input:"\s\sLongleftarrow",tag:"mo",output:"\su27F8",ttype:CONST},{input:"\s\sLongrightarrow",tag:"mo",output:"\su27F9",ttype:CONST},{input:"\s\sLongleftrightarrow",tag:"mo",output:"\su27FA",ttype:CONST},{input:"\s\slongmapsto",tag:"mo",output:"\su27FC",ttype:CONST},{input:"\s\ssqrt",tag:"msqrt",output:"sqrt",ttype:UNARY},{input:"\s\sroot",tag:"mroot",output:"root",ttype:BINARY},{input:"\s\sfrac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\s\sbfrac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\s\sstackrel",tag:"mover",output:"stackrel",ttype:BINARY},{input:"\s\satop",tag:"mfrac",output:"",ttype:INFIX},{input:"\s\schoose",tag:"mfrac",output:"",ttype:INFIX},{input:"\s\sover",tag:"mfrac",output:"/",ttype:INFIX},{input:"_",tag:"msub",output:"_",ttype:INFIX},{input:"^",tag:"msup",output:"^",ttype:INFIX},{input:"\s\smbox",tag:"mtext",output:"mbox",ttype:TEXT},{input:"\s\sacute",tag:"mover",output:"\su00B4",ttype:UNARY,acc:true},{input:"\s\sgrave",tag:"mover",output:"\su0060",ttype:UNARY,acc:true},{input:"\s\sbreve",tag:"mover",output:"\su02D8",ttype:UNARY,acc:true},{input:"\s\scheck",tag:"mover",output:"\su02C7",ttype:UNARY,acc:true},{input:"\s\sdot",tag:"mover",output:".",ttype:UNARY,acc:true},{input:"\s\sddot",tag:"mover",output:"..",ttype:UNARY,acc:true},{input:"\s\smathring",tag:"mover",output:"\su00B0",ttype:UNARY,acc:true},{input:"\s\svec",tag:"mover",output:"\su2192",ttype:UNARY,acc:true},{input:"\s\soverrightarrow",tag:"mover",output:"\su2192",ttype:UNARY,acc:true},{input:"\s\soverleftarrow",tag:"mover",output:"\su2190",ttype:UNARY,acc:true},{input:"\s\shat",tag:"mover",output:"\su005E",ttype:UNARY,acc:true},{input:"\s\swidehat",tag:"mover",output:"\su0302",ttype:UNARY,acc:true},{input:"\s\stilde",tag:"mover",output:"~",ttype:UNARY,acc:true},{input:"\s\swidetilde",tag:"mover",output:"\su02DC",ttype:UNARY,acc:true},{input:"\s\sbar",tag:"mover",output:"\su203E",ttype:UNARY,acc:true},{input:"\s\soverbrace",tag:"mover",output:"\su23B4",ttype:UNARY,acc:true},{input:"\s\soverline",tag:"mover",output:"\su00AF",ttype:UNARY,acc:true},{input:"\s\sunderbrace",tag:"munder",output:"\su23B5",ttype:UNARY,acc:true},{input:"\s\sunderline",tag:"munder",output:"\su00AF",ttype:UNARY,acc:true},{input:"\s\sdisplaystyle",tag:"mstyle",atname:"displaystyle",atval:"true",ttype:UNARY},{input:"\s\stextstyle",tag:"mstyle",atname:"displaystyle",atval:"false",ttype:UNARY},{input:"\s\sscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1",ttype:UNARY},{input:"\s\sscriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2",ttype:UNARY},{input:"\s\smathrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\s\stextrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\s\smathbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\s\stextbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\s\smathit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\s\stextit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\s\smathtt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\s\stexttt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\s\smathsf",tag:"mstyle",atname:"mathvariant",atval:"sans-serif",ttype:UNARY},{input:"\s\smathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",ttype:UNARY,codes:bbb},{input:"\s\smathcal",tag:"mstyle",atname:"mathvariant",atval:"script",ttype:UNARY,codes:cal},{input:"\s\smathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",ttype:UNARY,codes:frk}];var names=[];var mathVariant="italic";if(!document.createElementNS){document.createElementNS=function(link,type){return this.createElement(type)}}function compareNames(x,y){if(x.input>y.input){return 1}else{return-1}}function refreshSymbols(){var len=symbols.length;symbols.sort(compareNames);for(var i=0;i<len;i++){names[i]=symbols[i].input}}function strim(str,n){return $.trim(str.slice(n))}function createElementXHTML(elType){return document.createElementNS("http://www.w3.org/1999/xhtml",elType)}function position(str,n){var pos=$.inArray(str,names.slice(n));if(pos<0){var narr=names.concat([str]);narr.sort();pos=$.inArray(str,narr.slice(n))}return n+pos}function getSymbol(str){var k=0;var j=0;var mk;var st;var tagst;var match="";var more=true;var sLen=str.length;for(var i=1;i<=sLen&&more;i++){st=str.slice(0,i);j=k;k=position(st,j);if(k<names.length&&str.slice(0,names[k].length)==names[k]){match=names[k];mk=k;i=match.length}more=k<names.length&&str.slice(0,names[k].length)>=names[k]}if(match!==""){return symbols[mk]}k=1;st=str.slice(0,1);if("0"<=st&&st<="9"){tagst="mn"}else{tagst=(("A">st||st>"Z")&&("a">st||st>"z")?"mo":"mi")}return{input:st,tag:tagst,output:st,ttype:CONST}}function parseSexpr(str){var symbol,node,result,result2,i,st,newFrag=document.createDocumentFragment();var ch,newst,text="";symbol=getSymbol(str);if(symbol===null||symbol.ttype==RIGHTBRACKET){return[null,str,null]}if(symbol.ttype==DEFINITION){str=symbol.output+strim(str,symbol.input.length);symbol=getSymbol(str);if(symbol===null||symbol.ttype==RIGHTBRACKET){return[null,str,null]}}if(symbol.ttype==CONST&&symbol.tag=="mi"&&str!=""){while(symbol.ttype==CONST&&symbol.tag=="mi"&&str!=""){text+=symbol.output;str=strim(str,symbol.input.length);symbol=getSymbol(str)}node=createMmlNode("mi",document.createTextNode(text));node.setAttribute("mathvariant",mathVariant);return[node,str,"mi"]}else{str=strim(str,symbol.input.length)}switch(symbol.ttype){case SPACE:node=createMmlNode(symbol.tag);node.setAttribute(symbol.atname,symbol.atval);return[node,str,symbol.tag];case UNDEROVER:return[createMmlNode(symbol.tag,document.createTextNode(symbol.output)),str,symbol.tag];case CONST:node=createMmlNode(symbol.tag,document.createTextNode(symbol.output));return[node,str,symbol.tag];case STRETCHY:node=createMmlNode(symbol.tag,document.createTextNode(symbol.output));if(symbol.input=="|"||symbol.input=="\s\svert"||symbol.input=="\s\s|"||symbol.input=="\s\sVert"){node.setAttribute("lspace","0em");node.setAttribute("rspace","0em")}node.setAttribute("maxsize",symbol.atval);if(symbol.rtag!==null){return[node,str,symbol.rtag]}else{return[node,str,symbol.tag]}break;case BIG:var atval=symbol.atval;symbol=getSymbol(str);if(symbol===null){return[null,str,null]}str=strim(str,symbol.input.length);node=createMmlNode(symbol.tag,document.createTextNode(symbol.output));node.setAttribute("minsize",atval);node.setAttribute("maxsize",atval);return[node,str,symbol.tag];case LEFTBRACKET:if(symbol.input=="\s\sleft"){symbol=getSymbol(str);if(symbol!==null){if(symbol.input=="."){symbol.invisible=true}str=strim(str,symbol.input.length)}}result=parseExpr(str,true,false);if(symbol===null||(typeof symbol.invisible=="boolean"&&symbol.invisible)){node=createMmlNode("mrow",result[0])}else{node=createMmlNode("mo",document.createTextNode(symbol.output));node=createMmlNode("mrow",node);node.appendChild(result[0])}return[node,result[1],result[2]];case MATRIX:if(symbol.input=="\s\sbegin{array}"){var mask="";symbol=getSymbol(str);str=$.trim(str);if(symbol===null){mask="l"}else{str=strim(str,symbol.input.length);if(symbol.input!="{"){mask="l"}else{do{symbol=getSymbol(str);if(symbol!==null){str=strim(str,symbol.input.length);if(symbol.input!="}"){mask=mask+symbol.input}}}while(symbol!==null&&symbol.input!==""&&symbol.input!="}")}}result=parseExpr("{"+str,true,true);node=createMmlNode("mtable",result[0]);mask=mask.replace(/l/g,"left ");mask=mask.replace(/r/g,"right ");mask=mask.replace(/c/g,"center ");node.setAttribute("columnalign",mask);node.setAttribute("displaystyle","false");return[node,result[1],null]}else{result=parseExpr("{"+str,true,true);node=createMmlNode("mtable",result[0]);node.setAttribute("columnalign","right center left");node.setAttribute("displaystyle","true");node=createMmlNode("mrow",node);return[node,result[1],null]}break;case TEXT:if(str.charAt(0)=="{"){i=str.indexOf("}")}else{i=0}if(i==-1){i=str.length}st=str.slice(1,i);node=createMmlNode(symbol.tag,document.createTextNode(st));newFrag.appendChild(node);str=strim(str,i+1);return[createMmlNode("mrow",newFrag),str,null];case UNARY:if(symbol.atname=="mathvariant"){mathVariant=symbol.atval}result=parseSexpr(str);if(result[0]===null){return[createMmlNode(symbol.tag,document.createTextNode(symbol.output)),str]}if(typeof symbol.func=="boolean"&&symbol.func){st=str.charAt(0);if(st=="^"||st=="_"||st==","){return[createMmlNode(symbol.tag,document.createTextNode(symbol.output)),str,symbol.tag]}else{node=createMmlNode("mrow",createMmlNode(symbol.tag,document.createTextNode(symbol.output)));node.appendChild(result[0]);return[node,result[1],symbol.tag]}}if(symbol.input=="\s\ssqrt"){return[createMmlNode(symbol.tag,result[0]),result[1],symbol.tag]}else{if(typeof symbol.acc=="boolean"&&symbol.acc){node=createMmlNode(symbol.tag,result[0]);var output=symbol.output;var node1=createMmlNode("mo",document.createTextNode(output));if(symbol.input=="\s\svec"||symbol.input=="\s\scheck"){node1.setAttribute("maxsize","1.2")}if(symbol.input=="\s\sunderbrace"||symbol.input=="\s\sunderline"){node1.setAttribute("accentunder","true")}else{node1.setAttribute("accent","true")}node.appendChild(node1);if(symbol.input=="\s\soverbrace"||symbol.input=="\s\sunderbrace"){node.ttype=UNDEROVER}return[node,result[1],symbol.tag]}else{if(typeof symbol.codes!="undefined"){for(i=0;i<result[0].childNodes.length;i++){if(result[0].childNodes[i].nodeName=="mi"||result[0].nodeName=="mi"){st=(result[0].nodeName=="mi"?result[0].firstChild.nodeValue:result[0].childNodes[i].firstChild.nodeValue);newst="";for(var j=0;j<st.length;j++){ch=st.charCodeAt(j);if(ch>64&&ch<91){newst=newst+symbol.codes[ch-65]}else{if(ch>96&&ch<123){newst=newst+symbol.codes[ch-71]}}}if(result[0].nodeName=="mi"){result[0]=createMmlNode("mo").appendChild(document.createTextNode(newst))}else{result[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(newst)),result[0].childNodes[i])}}}}node=createMmlNode(symbol.tag,result[0]);node.setAttribute(symbol.atname,symbol.atval);if(symbol.input=="\s\sscriptstyle"||symbol.input=="\s\sscriptscriptstyle"){node.setAttribute("displaystyle","false")}return[node,result[1],symbol.tag]}}break;case BINARY:result=parseSexpr(str);if(result[0]===null){return[createMmlNode("mo",document.createTextNode(symbol.input)),str,null]}result2=parseSexpr(result[1]);if(result2[0]===null){return[createMmlNode("mo",document.createTextNode(symbol.input)),str,null]}if(symbol.input=="\s\sroot"||symbol.input=="\s\sstackrel"){newFrag.appendChild(result2[0])}newFrag.appendChild(result[0]);if(symbol.input=="\s\sfrac"||symbol.input=="\s\sbfrac"){newFrag.appendChild(result2[0])}node=createMmlNode(symbol.tag,newFrag);if(symbol.input=="\s\sbfrac"){node.setAttribute("bevelled","true")}return[node,result2[1],symbol.tag];case INFIX:str=strim(str,symbol.input.length);return[createMmlNode("mo",document.createTextNode(symbol.output)),str,symbol.tag];default:return[createMmlNode(symbol.tag,document.createTextNode(symbol.output)),str,symbol.tag]}}function parseIexpr(str){var symbol,sym1,sym2,node,result,tag,underover;sym1=getSymbol(str);result=parseSexpr(str);node=result[0];str=result[1];tag=result[2];symbol=getSymbol(str);if(symbol.ttype==INFIX){str=strim(str,symbol.input.length);result=parseSexpr(str);if(result[0]===null){result[0]=createMmlNode("mo",document.createTextNode("\su25A1"))}str=result[1];tag=result[2];if(symbol.input=="_"||symbol.input=="^"){sym2=getSymbol(str);tag=null;underover=((sym1.ttype==UNDEROVER)||(node.ttype==UNDEROVER));if((symbol.input=="_"&&sym2.input=="^")||(symbol.input=="^"&&sym2.input=="_")){str=strim(str,sym2.input.length);var res2=parseSexpr(str);str=res2[1];tag=res2[2];node=createMmlNode((underover?"munderover":"msubsup"),node);if(symbol.input=="_"){node.appendChild(result[0]);node.appendChild(res2[0])}else{node.appendChild(res2[0]);node.appendChild(result[0])}}else{if(symbol.input=="_"){node=createMmlNode((underover?"munder":"msub"),node);node.appendChild(result[0])}else{node=createMmlNode((underover?"mover":"msup"),node);node.appendChild(result[0])}}node=createMmlNode("mrow",node)}else{node=createMmlNode(symbol.tag,node);if(symbol.input=="\s\satop"||symbol.input=="\s\schoose"){node.setAttribute("linethickness","0ex")}node.appendChild(result[0]);if(symbol.input=="\s\schoose"){node=createMmlNode("mfenced",node)}}}return[node,str,tag]}function parseExpr(str,rightbracket,matrix){var symbol,node,result,i,tag,newFrag=document.createDocumentFragment();do{str=$.trim(str);result=parseIexpr(str);node=result[0];str=result[1];tag=result[2];symbol=getSymbol(str);if(node){if((tag=="mn"||tag=="mi")&&symbol!==null&&typeof symbol.func=="boolean"&&symbol.func){var space=createMmlNode("mspace");space.setAttribute("width","0.167em");node=createMmlNode("mrow",node);node.appendChild(space)}if(tag=="mstyle"){mathVariant="italic"}newFrag.appendChild(node)}}while((symbol.ttype!=RIGHTBRACKET)&&symbol!==null&&symbol.output!=="");tag=null;if(symbol.ttype==RIGHTBRACKET){if(symbol.input=="\s\sright"){str=strim(str,symbol.input.length);symbol=getSymbol(str);if(symbol!==null&&symbol.input=="."){symbol.invisible=true}if(symbol!==null){tag=symbol.rtag}}if(symbol!==null){str=strim(str,symbol.input.length)}var len=newFrag.childNodes.length;if(matrix&&len>0&&newFrag.childNodes[len-1].nodeName=="mrow"){var pos=[];var m=newFrag.childNodes.length;for(i=0;matrix&&i<m;i=i+2){pos[i]=[];node=newFrag.childNodes[i];for(var j=0;j<node.childNodes.length;j++){if(node.childNodes[j].firstChild&&node.childNodes[j].firstChild.nodeValue=="&"){pos[i][pos[i].length]=j}}}var row,frag,n,k,table=document.createDocumentFragment();for(i=0;i<m;i=i+2){row=document.createDocumentFragment();frag=document.createDocumentFragment();node=newFrag.firstChild;n=node.childNodes.length;k=0;for(j=0;j<n;j++){if(typeof pos[i][k]!="undefined"&&j==pos[i][k]){node.removeChild(node.firstChild);row.appendChild(createMmlNode("mtd",frag));k++}else{frag.appendChild(node.firstChild)}}row.appendChild(createMmlNode("mtd",frag));if(newFrag.childNodes.length>2){newFrag.removeChild(newFrag.firstChild);newFrag.removeChild(newFrag.firstChild)}table.appendChild(createMmlNode("mtr",row))}return[table,str]}if(typeof symbol.invisible!="boolean"||!symbol.invisible){node=createMmlNode("mo",document.createTextNode(symbol.output));newFrag.appendChild(node)}}return[newFrag,str,tag]}function createMmlNode(t,frag){var node=document.createElementNS("http://www.w3.org/1998/Math/MathML",t);if(frag){$(node).append(frag)}return node}var SVG,canvas;var collection=[];function createSVGElement(elType){return document.createElementNS("http://www.w3.org/2000/svg",elType)}function getSVGElement(id,el){var res={node:null,newEl:false};if(id){id=SVG.id+"_"+id;res.node=$("#"+id)[0]}if(!res.node){res.node=createSVGElement(el);if(id){res.node.id=id}res.newEl=true}return res}function openGroup(id,clear){var newEl=getSVGElement(id,"g");appendSVG(newEl);canvas=$("#"+SVG.id+"_"+id)[0];if(clear){$(canvas).empty()}}function closeGroup(){canvas=$("#"+SVG.id+"_Canvas")[0]}function appendSVG(elmt){if(elmt.newEl){$(canvas).append(elmt.node)}}function addButton(parent,text,title,func,id){var node=createElementXHTML("span");node.className="svgButton";node.title=title;node.onclick=func;if(id){node.id=id}$(node).append(text);$(node).css({paddingRight:"0.5em",paddingLeft:"0.5em",fontSize:"1em",fontFamily:"monospace",background:"blue",color:"yellow",cursor:"pointer"});$(node).mouseover(function(){$(this).css({background:"yellow",color:"blue"})});$(node).mouseout(function(){$(this).css({background:"blue",color:"yellow"})});$(parent).append(node);return parent}function pictureAttributes(){this.id=null;this.stroke="blue";this.strokewidth=1;this.strokeopacity=1;this.strokedasharray="none";this.fill="none";this.fillopacity=1;this.fixed=false;this.fontstyle="normal";this.fontfamily="serif";this.fontweight="normal";this.fontsize=12;this.fontstroke="none";this.fontstrokewidth=1;this.fontstrokeopacity=1;this.fontstrokedasharray="none";this.fontfill="black";this.fontfillopacity=1;this.sector=false;this.largearc=0;this.marker="o";this.orient="auto";this.size=8;this.units="userSpaceOnUse";this.markerstroke="blue";this.markerstrokewidth=1;this.markerstrokeopacity=1;this.markerstrokedasharray="none";this.markerfill="none";this.markerfillopacity=1;this.sweep=0;this.rx=0;this.ry=0;this.closed=false;this.curve="";this.direction=[1,0];this.ticklabels="";this.pos="";this.points=200;this.backgroundcolor="none";this.backgroundopacity=1}function pictureObject(){this.id=null;this.src="";this.width=320;this.height=null;this.factor=1;this.xmin=-5;this.xmax=5;this.ymin=null;this.ymax=null;this.xunitlength=null;this.yunitlength=null;this.origin=[0,0];this.mouse=[null,null];this.coords="cartesian";this.drag=null;this.pan=true;this.locked=false;this.attr=new pictureAttributes()}function drawPicture(){$(canvas).empty();$("#"+SVG.id+" .svgMarker").remove();SVG.attr=new pictureAttributes();try{this.code=function(){with(Math){eval(SVG.src)}}();this.code=null}catch(err){var errstr;if(typeof err=="object"){errstr=err.name+" "+err.message+" "+err.number+" "+err.description}else{errstr=err}alert(errstr+"\sn"+SVG.src)}collection[SVG.id]=SVG}function setOptions(atr){for(var i in atr){SVG.attr[i]=atr[i]}}function getOptions(attr,options,prefix){var pref=prefix||"";if(typeof attr=="string"){return(options[pref+attr]==undefined?SVG.attr[pref+attr]:options[pref+attr])}else{var i,newAttr={},len=attr.length,item;for(i=0;i<len;i++){item=attr[i];newAttr[item]=options[pref+item]==undefined?SVG.attr[pref+item]:options[pref+item]}return newAttr}}function setAction(evt,fn,id){if(!$.isFunction(fn)){return}var node=id?$("#"+SVG.id+"_"+id):$("#"+SVG.id);$(node).bind(evt,fn)}function getAngle(p){p=p||[0,0];var res=Math.atan2(SVG.mouse[1]-p[1],SVG.mouse[0]-p[0]);res=(res<0)?res+2*Math.PI:res;return res}function getDistance(p){p=p||[0,0];return Math.sqrt(Math.pow(SVG.mouse[0]-p[0],2)+Math.pow(SVG.mouse[1]-p[1],2))}function updateButton(){var obj=$("#SVGtoolbar #SVGupdateButton");if(obj.text()=="Edit"){obj.text("Update");obj.attr("title","Update picture");$("#SVGsrc").val(SVG.src).css("display","block")}else{SVG.src=$("#SVGsrc").val();drawPicture()}}function closeEditor(){$("#SVGtoolbar").slideUp();$("#SVGsrc").val("");SVG.locked=false}function switchTo(evt){var name=evt.currentTarget.id;if(SVG.id==name||SVG.locked){return false}SVG=collection[name];canvas=$("#"+SVG.id+"_Canvas")[0];return false}function onWheel(evt){if(SVG.locked){return false}evt=evt||window.event;var factor=1;evt.preventDefault();evt.stopPropagation();if(evt.wheelDelta){factor=(evt.wheelDelta>0)?0.8:1.25}else{if(evt.detail){factor=(evt.detail<0)?0.8:1.25}}if(evt.altKey){resize(factor)}else{zoom(factor)}return false}function onClick(evt){if(SVG.locked){return false}if(evt.button===0){if(evt.shiftKey){$("#SVGtoolbar #SVGupdateButton").text("Update");$("#SVGsrc").val(SVG.src);$("#SVGtoolbar").css({top:evt.pageY,left:evt.pageX}).slideDown();SVG.locked=true;evt.stopImmediatePropagation()}else{if(SVG.pan){SVG.drag=[evt.clientX,evt.clientY];document.body.style.cursor="move"}}}return false}function onDrop(evt){if(SVG.drag==null){return false}document.body.style.cursor="default";var xlen=(SVG.drag[0]-evt.clientX)/SVG.xunitlength;var ylen=(-SVG.drag[1]+evt.clientY)/SVG.yunitlength;SVG.drag=null;if(xlen!=0||ylen!=0){setScales([SVG.xmin+xlen,SVG.xmax+xlen,SVG.ymin+ylen,SVG.ymax+ylen])}return false}function setScales(scales){if(scales){SVG.xmin=scales[0];SVG.xmax=scales[1];SVG.ymin=scales[2];SVG.ymax=scales[3]}SVG.xunitlength=SVG.width/(SVG.xmax-SVG.xmin);SVG.yunitlength=SVG.height/(SVG.ymax-SVG.ymin);SVG.origin=[-SVG.xmin*SVG.xunitlength,-SVG.ymin*SVG.yunitlength];drawPicture()}function getScales(scales){scales=scales||[];var res=[null,null,null,null,0];if(scales.length==0){res[0]=SVG.xmin;res[1]=SVG.xmax}if(scales.length>1){if(typeof scales[0]=="number"&&typeof scales[1]=="number"&&scales[1]>scales[0]){res[0]=scales[0];res[1]=scales[1];res[4]=4}else{res[0]=SVG.xmin;res[1]=SVG.xmax}}if(scales.length==4){if(typeof scales[2]=="number"&&typeof scales[3]=="number"&&scales[3]>scales[2]){res[2]=scales[2];res[3]=scales[3];res[4]+=8}}return res}function resize(factor){SVG.factor=(SVG.factor*factor).toFixed(3);SVG.width/=factor;SVG.height/=factor;var picture=$("#"+SVG.id);picture.attr("width",SVG.width);picture.attr("height",SVG.height);var parent=picture[0].parentNode;if(parent.nodeName=="DIV"){parent.style.width=SVG.width+"px";parent.style.height=SVG.height+"px"}var node=$("#"+SVG.id+"ClipPath")[0].firstChild;$(node).attr("d","M0,0 "+SVG.width+",0 "+SVG.width+","+SVG.height+" 0,"+SVG.height);setScales()}function zoom(factor,center){var px,py;if(center){px=(SVG.xmax+SVG.xmin)*0.5;py=(SVG.ymax+SVG.ymin)*0.5}else{px=SVG.mouse[0];py=SVG.mouse[1]}SVG.factor=(SVG.factor*factor).toFixed(3);var dx=(SVG.xmax-SVG.xmin)*factor;var dy=(SVG.ymax-SVG.ymin)*factor;var xmin=(1-factor)*px+factor*SVG.xmin;var ymin=(1-factor)*py+factor*SVG.ymin;setScales([xmin,xmin+dx,ymin,ymin+dy])}function updateCartesianCoord(){if(!SVG.locked){$("#"+SVG.id+"_Coords").text("("+SVG.mouse[0].toFixed(2)+", "+SVG.mouse[1].toFixed(2)+")")}return false}function updatePolarCoord(){if(!SVG.locked){$("#"+SVG.id+"_Coords").text("("+getDistance().toFixed(2)+", "+getAngle().toFixed(2)+")")}return false}function getPosition(evt){var a=[null,null];var off=$(evt.currentTarget.parentNode).offset();a[0]=(evt.pageX-off.left-SVG.origin[0])/SVG.xunitlength;a[1]=(SVG.height-SVG.origin[1]-evt.pageY+off.top)/SVG.yunitlength;return a}function updatePosition(evt){SVG.mouse=getPosition(evt);return false}function removeCoord(){$("#"+SVG.id+"_Coords").text("");return false}function tracker(pos,options){options=options||{};var coords=options.coords||SVG.coords;var func=(coords=="polar")?updatePolarCoord:updateCartesianCoord;options.id="Coords";options.fixed=true;text(pos,"",options);setAction("mousemove",func);setAction("mouseout",removeCoord)}function exportSVG(){var svg="<?xml version='1.0' encoding='UTF-8' standalone='no'?>\sn";svg+=$("#"+SVG.id).parent().html();svg=svg.replace(/ /g,"");svg=svg.replace(/><(?!\s/)/g,">\sn<");$("#SVGtoolbar #SVGupdateButton").text("Edit").attr("title","Edit script");$("#SVGsrc").val(svg).css("display","block")}function toSVG(p){var x=p[0]*SVG.xunitlength+SVG.origin[0];var y=SVG.height-p[1]*SVG.yunitlength-SVG.origin[1];return[x,y]}function toSVGPair(p){var q=toSVG(p);return q[0]+" "+q[1]}function setStrokeAndFill(node,options,prefix){var attributes=["stroke","strokewidth","strokedasharray","strokeopacity","fill","fillopacity"];var attr=getOptions(attributes,options,prefix);var elem=$(node);elem.attr("stroke",attr.stroke);elem.attr("stroke-width",attr.strokewidth/SVG.factor);elem.attr("stroke-dasharray",attr.strokedasharray);elem.attr("stroke-opacity",attr.strokeopacity);elem.attr("fill",attr.fill);elem.attr("fill-opacity",attr.fillopacity)}function button(p,q,txt,action,options){options=options||{};options.id=(options.id||Math.randomString(8));rect(p,q,options);setAction("click",action,options.id);options.fill=null;options.fillopacity=1;options.id+="_t";text([(p[0]+q[0])*0.5,(p[1]+q[1])*0.5],txt,options);setAction("click",action,options.id)}function setMarkers(obj,options){var markerChars="o*sSx+<>|";var attributes=["marker","size","units","orient","markerstroke","markerstrokewidth","markerstrokeopacity"];var attr=getOptions(attributes,options);var node,node2,i,id,pos=["marker-start","marker-mid","marker-end"];var lim=attr.marker.length;for(i=0;i<lim;i++){var type=attr.marker.charAt(i);if(type=="-"||markerChars.indexOf(type)<0){continue}id=(options.id||Math.randomString(8))+"Marker_"+markerChars.indexOf(type);node=$("#"+SVG.id+"_"+id);if(node.length===0){node=$(getSVGElement(id,"marker").node);node.attr("class","svgMarker");node.attr("viewBox","0 0 10 10");node.attr("refX",5);node.attr("refY",5);node.attr("orient",attr.orient);node.attr("markerUnits",attr.units);switch(type){case"*":case"o":node2=$(createSVGElement("circle"));node2.attr("cx",5);node2.attr("cy",5);node2.attr("r",4);break;case">":node2=$(createSVGElement("path"));node2.attr("d","M0 0 L10 5 L0 10 z");node.attr("refX",10);break;case"<":node2=$(createSVGElement("path"));node2.attr("d","M10 0 L10 10 L0 5 z");node.attr("refX",0);break;case"x":node2=$(createSVGElement("path"));node2.attr("d","M0 0 L10 10 M0 10 L10 0");break;case"+":node2=$(createSVGElement("path"));node2.attr("d","M5 0 L5 10 M0 5 L10 5");break;case"|":node2=$(createSVGElement("path"));node2.attr("d","M5 0 L5 10");break;case"S":case"s":node2=$(createSVGElement("rect"));node2.attr("x",0);node2.attr("y",0);node2.attr("width",10);node2.attr("height",10)}setStrokeAndFill(node2,options,"marker");node2.attr("stroke-width",attr.markerstrokewidth);if("*<>S".indexOf(type)>-1){node2.attr("fill",attr.markerstroke);node2.attr("fill-opacity",attr.markerstrokeopacity)}node.append(node2);$("#"+SVG.id+"_Defs").append(node)}node.attr("markerWidth",attr.size/SVG.factor);node.attr("markerHeight",attr.size/SVG.factor);$(obj).attr(pos[i],"url(#"+SVG.id+"_"+id+")")}}function setLabels(p,options){var i,point=[0,0],pos;var label=(typeof options.label=="string")?[options.label]:options.label;var labelpos=getOptions("pos",options);labelpos=(typeof labelpos=="string")?[labelpos]:labelpos;var poslen=labelpos.length;var size=options.size||SVG.attr.size;var dx=(0.5*size/SVG.xunitlength)/SVG.factor;var dy=(0.5*size/SVG.yunitlength)/SVG.factor;for(i=0;i<label.length;i++){options.isLabel="_label"+i;point[0]=p[i][0];point[1]=p[i][1];pos=(poslen>i)?labelpos[i].toUpperCase():pos;if(/E/.test(pos)){point[0]+=dx}if(/W/.test(pos)){point[0]-=dx}if(/N/.test(pos)){point[1]+=dy}if(/S/.test(pos)){point[1]-=dy}options.pos=pos;text(point,label[i],options)}}function line(p,q,options){options=options||{};options.closed=false;options.curve="";path([p,q],options)}function dot(p,options){options=options||{};var direction=getOptions("direction",options);var q=[p[0]+direction[0]/SVG.xunitlength,p[1]+direction[1]/SVG.yunitlength];var st="M"+toSVGPair(p)+" "+toSVGPair(q);var elmt=getSVGElement(options.id,"path");var elem=$(elmt.node);elem.attr("d",st);elem.attr("stroke","none");setMarkers(elem,options);appendSVG(elmt);if(options.label){setLabels([p],options)}}function path(list,options,append){options=options||{};var i,elmt=getSVGElement(options.id,"path");var attr=getOptions(["curve","closed"],options);var len=list.length;if(len>0){var node=$(elmt.node);var st=(append&&!elmt.newEl)?elmt.node.getAttribute("d"):"";st+="M"+toSVGPair(list[0])+" "+attr.curve;for(i=1;i<len;i++){st+=toSVGPair(list[i])+" "}if(attr.closed){st+="Z"}node.attr("d",st);setStrokeAndFill(node,options);if(options.marker){setMarkers(node,options)}appendSVG(elmt);if(options.label){setLabels(list,options)}}}function rotate(id,angle,options){if(!id||!angle){return}var node=$("#"+SVG.id+"_"+id)[0];if(node){options=options||{};var center=options.center?toSVG(options.center):SVG.origin;angle=-angle*180/Math.PI;var transform=node.getAttribute("transform")||"";transform="rotate("+angle+" "+center+") "+(options.replace?"":transform);$(node).attr("transform",transform)}}function translate(id,delta,options){if(!id||!delta){return}var node=$("#"+SVG.id+"_"+id)[0];if(node){options=options||{};delta=toSVG(delta);var transform=node.getAttribute("transform")||"";transform="translate("+(delta[0]-SVG.origin[0])+" "+(SVG.origin[1]+delta[1]-SVG.height)+") "+(options.replace?"":transform);$(node).attr("transform",transform)}}function curve(list,options){options=options||{};options.curve=options.curve||"T";path(list,options)}function circle(center,radius,options){ellipse(center,radius,radius,options)}function loop(p,options){options=options||{};var d=options.direction||[1,0];options.curve="C";options.closed=false;path([p,[p[0]+d[0],p[1]+d[1]],[p[0]-d[1],p[1]+d[0]],p],options)}function arc(options){options=options||{};var start=options.start;var end=options.end;var center=options.center;var startangle=options.startangle;var endangle=options.endangle;var st="M",elmt=getSVGElement(options.id,"path");var attr=getOptions(["largearc","sweep","closed","sector"],options);var radius=options.radius;if(center!=null&&startangle!=null&&endangle!=null&&radius!=null){start=[radius*Math.cos(startangle)+center[0],radius*Math.sin(startangle)+center[1]];end=[radius*Math.cos(endangle)+center[0],radius*Math.sin(endangle)+center[1]]}if(start==null||end==null){return}if(!radius){var v=[end[0]-start[0],end[1]-start[1]];radius=Math.sqrt(v[0]*v[0]+v[1]*v[1])}if(attr.sector){st+=toSVGPair(center)+" "}st+=toSVGPair(start)+" A"+radius*SVG.xunitlength+","+radius*SVG.yunitlength+" 0 "+attr.largearc+","+attr.sweep+" "+toSVGPair(end);if(attr.sector||attr.closed){st+=" z"}var node=$(elmt.node);node.attr("d",st);setStrokeAndFill(node,options);if(options.marker){setMarkers(node,options)}appendSVG(elmt);if(options.label){setLabels([start,end],options)}}function sector(options){if(!options.center||!options.startangle||!options.endangle||!options.radius){return}options.sector=true;arc(options)}function ellipse(center,rx,ry,options){options=options||{};var elmt=getSVGElement(options.id,"ellipse");center=toSVG(center);var node=$(elmt.node);node.attr("cx",center[0]);node.attr("cy",center[1]);node.attr("rx",rx*SVG.xunitlength);node.attr("ry",ry*SVG.yunitlength);setStrokeAndFill(node,options);appendSVG(elmt)}function polygon(list,options){options=options||{};options.closed=true;path(list,options)}function rect(p,q,options){options=options||{};var elmt=getSVGElement(options.id,"rect");var attr=getOptions(["rx","ry"],options);var node=$(elmt.node);node.attr("x",toSVG(p)[0]);node.attr("y",toSVG(q)[1]);node.attr("width",(q[0]-p[0])*SVG.xunitlength);node.attr("height",(q[1]-p[1])*SVG.yunitlength);node.attr("rx",attr.rx*SVG.xunitlength);node.attr("ry",attr.ry*SVG.yunitlength);setStrokeAndFill(node,options);appendSVG(elmt)}function text(p,st,options){options=options||{};var id=options.id;var attr=getOptions(["fontstyle","fontfamily","fontweight","fontfill","fontsize","fixed","pos"],options);if(id&&options.isLabel){id+=options.isLabel}var pos=attr.pos.toUpperCase();if(!attr.fixed){attr.fontsize/=SVG.factor}var elem,node,dx,dy,latex=false,str=$.trim(st.toString()),q=toSVG(p);if(str.charAt(0)=="$"){str=str.substr(1,str.length-2);latex=true}if(latex){if(p[0]>SVG.xmax||p[0]<SVG.xmin||p[1]>SVG.ymax||p[1]<SVG.ymin){return}node=createElementXHTML("div");node.style.position="absolute";node.style.left="-1000px";node.style.top="-1000px";$("body").append(node);var math=MSVG.parseMath(str,true,attr.fontsize+"px",attr.fontfill);var mathNode=$(node);mathNode.append($(math).clone());dx=-node.offsetWidth/2;dy=-node.offsetHeight/2;if(/N/.test(pos)){dy=-node.offsetHeight}if(/S/.test(pos)){dy=0}if(/E/.test(pos)){dx=0}if(/W/.test(pos)){dx=-node.offsetWidth}var width=mathNode.width(),height=mathNode.height();mathNode.remove();q[0]+=dx;q[1]+=dy;var elmt=getSVGElement(id,"foreignObject");elem=$(elmt.node);elem.empty().append(math);elem.attr("width",width);elem.attr("height",height)}else{var baseline="middle",textanchor="middle";if(/E/.test(pos)){textanchor="start"}if(/W/.test(pos)){textanchor="end"}if(/N/.test(pos)){baseline="text-after-edge"}if(/S/.test(pos)){baseline="text-before-edge"}var elmt=getSVGElement(id,"text");elem=$(elmt.node);elem.empty().text(str);elem.attr("font-style",attr.fontstyle);elem.attr("font-family",attr.fontfamily);elem.attr("font-weight",attr.fontweight);elem.attr("font-size",attr.fontsize);elem.attr("text-anchor",textanchor);elem.attr("dominant-baseline",baseline);setStrokeAndFill(elem,options,"font")}elem.attr("x",q[0]);elem.attr("y",q[1]);appendSVG(elmt)}function image(url,options){options=options||{};var elmt=getSVGElement(options.id,"image");var elem=$(elmt.node);var height=options.height?options.height/SVG.factor:SVG.height;var width=options.width?options.width/SVG.factor:SVG.width;var origin=toSVG(options.origin||[SVG.xmin,SVG.ymin]);var pos=(options.pos||"").toUpperCase();var x=origin[0]-width*0.5;var y=origin[1]-height*0.5;if(/N/.test(pos)){y-=height*0.5}if(/S/.test(pos)){y+=height*0.5}if(/E/.test(pos)){x+=width*0.5}if(/W/.test(pos)){x-=width*0.5}elem.attr("x",x);elem.attr("y",y);elem.attr("width",width);elem.attr("height",height);elem.attr("preserveAspectRatio","none");elmt.node.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",url);appendSVG(elmt)}function grid(options){options=options||{};var dx,dy,x,y,k;var orig=options.origin||[0,0];var id=options.id||"Grid";options.stroke=options.stroke||"grey";options.strokewidth=(options.strokewidth||SVG.attr.strokewidth*0.5);var coords=options.coords||SVG.coords;var lim=getScales(options.scales);openGroup(id,true);lim[2]=(typeof lim[2]=="number")?lim[2]:SVG.ymin;lim[3]=(typeof lim[3]=="number")?lim[3]:SVG.ymax;if(coords=="polar"){dx=options.dx||1;dy=options.dy||3;var limit=Math.max(Math.abs(lim[0]),Math.abs(lim[1]),Math.abs(lim[2]),Math.abs(lim[3]));for(x=dx;x<limit;x+=dx){circle(orig,x,options)}if(dy>1){for(y=1;y<dy;y++){k=Math.tan(y*Math.PI/(2*dy));line([lim[0],(lim[0]-orig[0])*k+orig[1]],[SVG.xmax,(lim[1]-orig[0])*k+orig[1]],options);line([lim[0],-(lim[0]-orig[0])*k+orig[1]],[SVG.xmax,-(lim[1]-orig[0])*k+orig[1]],options)}}}else{dx=options.dx||1;dy=options.dy||dx;for(x=orig[0];x<SVG.xmax;x+=dx){if(x>lim[0]&&x<lim[1]){line([x,lim[2]],[x,lim[3]],options)}}for(x=orig[0]-dx;x>SVG.xmin;x-=dx){if(x>lim[0]&&x<lim[1]){line([x,lim[2]],[x,lim[3]],options)}}for(y=orig[1];y<SVG.ymax;y+=dy){if(y>lim[2]&&y<lim[3]){line([lim[0],y],[lim[1],y],options)}}for(y=orig[1]-dy;y>SVG.ymin;y-=dy){if(y>lim[2]&&y<lim[3]){line([lim[0],y],[lim[1],y],options)}}}closeGroup()}function axes(options){options=options||{};options.marker="-|"+(options.marker?options.marker.charAt(0):"-");var i,x,y,start,stop,label;var dx=options.dx||1;var dy=options.dy||dx;var id=options.id||"Axes";var fontsize=getOptions("fontsize",options);var coords=options.coords||SVG.coords;var orig=(coords=="polar")?[0,0]:(options.origin||[0,0]);var ddx=options.decx||Math.max(0,-Math.floor(Math.log(dx)/Math.log(10)));var ddy=options.decy||Math.max(0,-Math.floor(Math.log(dy)/Math.log(10)));options.stroke=options.stroke||"black";options.strokewidth=(options.strokewidth||SVG.attr.strokewidth*0.5);options.markerstroke=options.stroke;options.markerstrokewidth=options.strokewidth;openGroup(id,true);var lim=getScales(options.scales);lim[2]=lim[2]||SVG.ymin;lim[3]=lim[3]||SVG.ymax;if($.isArray(options.xticks)){var xticks=options.xticks.sort();var list2=[[lim[0],orig[1]]];label=[""];for(i=0;i<xticks.length;i++){list2.push([xticks[i],orig[1]]);label.push(String(xticks[i].toFixed(ddx)))}list2.push([lim[1],orig[1]]);label.push("")}else{var list1=[],label1=[];var list2=[],label2=[];start=SVG.xmin+0.25*dx;stop=SVG.xmax-0.25*dx;i=1;var cand,leftExit=0,rightExit=0;while(leftExit*rightExit==0){cand=orig[0]+i*dx;if(cand>start){if(cand<stop){list1.push([cand,orig[1]]);label1.push(String(cand.toFixed(ddx)))}else{rightExit=1}}cand=orig[0]-i*dx;if(cand<stop){if(cand>start){list2.push([cand,orig[1]]);label=(coords=="polar")?"":cand.toFixed(ddx);label2.push(String(label))}else{leftExit=1}}i++}list1.push([lim[1],orig[1]]);label1.push("");list2.push([lim[0],orig[1]]);label2.push("");list2.reverse();list2=list2.concat(list1);label2.reverse();label=label2.concat(label1)}if(options.ticklabels!=false){options.label=label;options.pos="S"}path(list2,options);if($.isArray(options.yticks)){var yticks=options.yticks.sort();var list2=[[orig[0],lim[2]]];label=[""];for(i=0;i<yticks.length;i++){list2.push([orig[0],yticks[i]]);label.push(String(yticks[i].toFixed(ddy)))}list2.push([orig[0],lim[3]]);label.push("")}else{list1=[],label1=[];list2=[];label2=[];start=SVG.ymin+0.25*dy;stop=SVG.ymax-0.25*dy;i=1;leftExit=0;rightExit=0;while(leftExit*rightExit==0){cand=orig[1]+i*dy;if(cand>start){if(cand<stop){list1.push([orig[0],cand]);label1.push(String(cand.toFixed(ddy)))}else{rightExit=1}}cand=orig[1]-i*dy;if(cand<stop){if(cand>start){list2.push([orig[0],cand]);label=(coords=="polar")?"":cand.toFixed(ddy);label2.push(String(label))}else{leftExit=1}}i++}list1.push([orig[0],lim[3]]);label1.push("");list2.push([orig[0],lim[2]]);label2.push("");list2.reverse();list2=list2.concat(list1);label2.reverse();label=label2.concat(label1)}if(options.ticklabels!=false){options.label=label;options.pos="W"}options.stroke=options.markerstroke;path(list2,options);closeGroup()}function list(fun,tmin,tmax,options){var inc=(tmax-tmin)/getOptions("points",options);if(inc<=0||fun.length==0){return}var t,pth,g=[],xt,yt;for(t=1;t>=0;t--){if($.isFunction(fun[t])){g[t]=fun[t]}else{if(typeof fun[t]=="string"){with(Math){eval("g["+t+"] = function(x){return "+fun[t]+"}")}}else{return}}}if(g.length<2){return}pth=[];for(t=tmin;t<=tmax;t+=inc){xt=g[0](t);yt=g[1](t);if(isFinite(xt)&&isFinite(yt)){pth[pth.length]=[xt,yt]}}return pth}function plot(fun,options){options=options||{};var append,pth,steps=options.steps||[];var n_steps=steps.length;options.closed=false;options.curve="";var xmin=(options.min==null)?SVG.xmin:Math.max(SVG.xmin,options.min);var xmax=(options.max==null)?SVG.xmax:Math.min(SVG.xmax,options.max);if(n_steps===0){pth=list(["x",fun],xmin,xmax,options);if(pth){path(pth,options)}}else{options.id=options.id||Math.randomString(6);steps.sort();var steps_a=[];steps_a.push(xmin);for(i=0;i<n_steps;i++){if(steps[i]>xmin&&steps[i]<xmax){steps_a.push(steps[i])}}steps_a.push(xmax);n_steps=steps_a.length-1;for(i=0;i<n_steps;i++){xmax=steps_a[i+1];xmin=steps_a[i];pth=list(["x",fun],xmin,xmax,options);append=(i>0);if(pth){path(pth,options,append)}}}}function area(fun1,fun2,options){options=options||{};options.curve="";options.closed=true;var xmin=(options.min==null)?SVG.xmin:options.min;var xmax=(options.max==null)?SVG.xmax:options.max;var pth1=list(["x",fun1],xmin,xmax,options);var pth2=list(["x",fun2],xmin,xmax,options);if(pth1&&pth2){pth1=pth1.concat(pth2.reverse());path(pth1,options)}}function polarPlot(fun,options){var g1,g2;if(typeof fun=="string"){with(Math){eval("g1 = function(x){return ("+fun+")*cos(x)}");eval("g2 = function(x){return ("+fun+")*sin(x)}")}}else{if($.isFunction(fun)){with(Math){eval("g1 = function(x){return fun(x)*cos(x)}");eval("g2 = function(x){return fun(x)*sin(x)}")}}}parametricPlot(g1,g2,options)}function parametricPlot(fun1,fun2,options){options=options||{};options.closed=false;options.curve="";var xmin=(options.min==null)?0:options.min;var xmax=(options.max==null)?2*Math.PI:options.max;var pth=list([fun1,fun2],xmin,xmax,options);if(pth){path(pth,options)}}function slopeField(fun,options){options=options||{};var g=fun;if(typeof fun=="string"){with(Math){eval("g = function(x,y){return "+fun+"}")}}var gxy,x,y,u,v,dz;var dx=(options.dx==null)?1:options.dx;var dy=(options.dy==null)?1:options.dy;dz=Math.sqrt(dx*dx+dy*dy)/6;var xmin=Math.ceil(SVG.xmin/dx);var ymin=Math.ceil(SVG.ymin/dy);for(x=xmin;x<=SVG.xmax;x+=dx){for(y=ymin;y<=SVG.ymax;y+=dy){gxy=g(x,y);if(!isNaN(gxy)){if(Math.abs(gxy)=="Infinity"){u=0;v=dz}else{u=dz/Math.sqrt(1+gxy*gxy);v=gxy*u}line([x-u,y-v],[x+u,y+v],options)}}}}return{showFormulaOnMouseOver:false,latexImages:false,latexConverter:"http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=",mathColor:"",mathFontSize:"",mathFontFamily:"",define:function(oldstr,newstr){if(MSVG.latexImages){return}if((typeof oldstr)=="string"){oldstr=[oldstr];newstr=[newstr]}var i,len=oldstr.length;if(len!=newstr.length){return}for(i=0;i<len;i++){symbols=symbols.concat([{input:"\s\s"+oldstr[i],tag:"mo",output:newstr[i],ttype:DEFINITION}])}refreshSymbols()},parseMath:function(str,displaystyle,size,color){if(str===null){return null}str=str.replace(/_([^\s{])/gm,"_{$1}");str=str.replace(/\s^([^\s{])/gm,"^{$1}");var frag=parseExpr(str.replace(/^\ss+/g,""),false,false)[0];var node=createMmlNode("mstyle",frag);$(node).attr({displaystyle:displaystyle,mathcolor:color||MSVG.mathColor,mathsize:size||MSVG.mathFontSize,fontfamily:MSVG.mathFontFamily});node=createMmlNode("math",node);if(MSVG.showFormulaOnMouseOver){$(node).attr({title:str.replace(/\ss+/g," ")})}return node},parseMathExternal:function(str,displaystyle,size,color){if(str===null){return null}var node=createElementXHTML("img");var snip=MSVG.latexConverter+str;$(node).attr({src:snip});if(MSVG.showFormulaOnMouseOver){$(node).attr({title:str.replace(/\ss+/g," ")})}return node},generic:function(){if(true){MSVG.latexImages=true}if(MSVG.latexImages){MSVG.parseMath=MSVG.parseMathExternal}else{refreshSymbols()}\nif(!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")){MSVG.initPictures=MSVG.removePictures}},removePictures:function(obj){var pictures=obj?$(obj):$(".SVGgraph");$(pictures).each(function(){var that=$(this);this.id=null;that.empty();that.css({color:"red",background:"yellow"});that.text("Missing picture: your browser does not support inline SVG");window.setTimeout(function(){that.remove()},10000)})},initPictures:function(obj){var options,scales,qnode,node,node2,status,elem;var pictures=obj?$(obj):$(".SVGgraph");$(pictures).each(function(){var that=$(this);status=0;SVG=new pictureObject();options=$(this).attr("options");that.removeAttr("id");if(options){with(Math){eval("options={"+options+"}")}setOptions(options)}else{options={}}if(options.pan==false){SVG.pan=false}SVG.coords=options.coords||SVG.coords;SVG.src=$.trim($(this).text());that.empty();if(typeof options.width=="number"&&options.width>0){SVG.width=options.width;status+=1}if(typeof options.height=="number"&&options.height>0){SVG.height=options.height;status+=2}var scales=getScales(options.scales);SVG.xmin=scales[0];SVG.xmax=scales[1];SVG.ymin=scales[2];SVG.ymax=scales[3];status+=scales[4];SVG.height=options.height;if(status%4!=0){SVG.width=options.width}if(!SVG.width){SVG.width=1.6*SVG.height}else{if(!SVG.height){SVG.height=0.625*SVG.width}}if(status<8){SVG.ymax=0.5*SVG.height*(SVG.xmax-SVG.xmin)/SVG.width;SVG.ymin=-SVG.ymax}else{if(status<12){SVG.xmax=0.5*SVG.width*(SVG.ymax-SVG.ymin)/SVG.height;SVG.xmin=-SVG.xmax}}if(status==12||status==13){SVG.height=SVG.width*(SVG.ymax-SVG.ymin)/(SVG.xmax-SVG.xmin)}else{if(status==14){SVG.width=SVG.height*(SVG.xmax-SVG.xmin)/(SVG.ymax-SVG.ymin)}}SVG.id=options.id||Math.randomString(16);qnode=createSVGElement("svg");elem=$(qnode);qnode.id=SVG.id;elem.attr("xmlns","http://www.w3.org/2000/svg");elem.attr("xmlns:ev","http://www.w3.org/2001/xml-events");elem.attr("xmlns:xlink","http://www.w3.org/1999/xlink");elem.attr("version","1.1");elem.attr("baseProfile","full");if(options.border){elem.attr("style","border:"+options.border)}node=createSVGElement("clipPath");node.id=SVG.id+"ClipPath";node2=createSVGElement("path");$(node).append(node2);node2=createSVGElement("defs");node2.id=SVG.id+"_Defs";$(node2).append(node);$(qnode).append(node2);node2=createSVGElement("g");node2.id=SVG.id+"_Canvas";$(qnode).append(node2);that.append(qnode);this.style.position="relative";if(!(this.nodeName=="SPAN")){setAction("mousemove",updatePosition);if(SVG.pan){setAction("mouseup",onDrop)}if(window.addEventListener){var evt=false?"DOMMouseScroll":"mousewheel";qnode.addEventListener(evt,onWheel,false)}}setAction("mousedown",onClick);setAction("mouseover",switchTo);canvas=$("#"+SVG.id+"_Canvas")[0];resize(1)});if(pictures.length>0&&$("#SVGtoolbar").length===0){node=createElementXHTML("span");node.id="SVGtoolbar";node.style.position="absolute";node.style.textAlign="left";node.style.zIndex=10;node=addButton(node,"X","Close editor",closeEditor);node=addButton(node,"Update","Update picture",updateButton,"SVGupdateButton");node=addButton(node,"SVG","View SVG code",exportSVG);node=addButton(node,"-","Zoom out",function(){zoom(1.25,true)});node=addButton(node,"+","Zoom in",function(){zoom(0.8,true)});node=addButton(node,"\su2191","Enlarge picture",function(){resize(0.8)});node=addButton(node,"\su2193","Reduce picture",function(){resize(1.25)});$(node).append("<br />");node2=createElementXHTML("textarea");$(node2).attr({id:"SVGsrc",rows:8,cols:60});$(node).append(node2);$(node).hide();$("body").append(node)}}}}(jQuery);if(!version.extensions.MathSVGPlugin){version.extensions.MathSVGPlugin={installed:true};MSVG.generic();config.formatterHelpers.MathSVGHelper=function(z){if(z.tiddler&&MSVG.noMathTag&&jQuery.inArray(MSVG.noMathTag,z.tiddler.tags)>-1)return;this.lookaheadRegExp.lastIndex=z.matchStart;var lookaheadMatch=this.lookaheadRegExp.exec(z.source);if(lookaheadMatch){var eq=MSVG.parseMath(lookaheadMatch[1],this.displaystyle);if(this.displaystyle){var node=createTiddlyElement(z.output,"div");node.style.textAlign='center';node.appendChild(eq);z.output.appendChild(node);}else{z.output.appendChild(eq);}\nz.nextMatch=lookaheadMatch.index+lookaheadMatch[0].length;}}\nconfig.formatters.push({name:"clatex",match:"\s\s$\s\s$",lookaheadRegExp:/\s$\s$((?:.|\sn)*?)\s$\s$/mg,displaystyle:true,handler:config.formatterHelpers.MathSVGHelper})\nconfig.formatters.push({name:"clatex2",match:"\s\s\s\s\s\s\s[",lookaheadRegExp:/\s\s\s[((?:.|\sn)*?)\s\s\s]/mg,displaystyle:true,handler:config.formatterHelpers.MathSVGHelper})\nconfig.formatters.push({name:"latex",match:"\s\s$",lookaheadRegExp:/\s$((?:.|\sn)*?)\s$/mg,displaystyle:false,handler:config.formatterHelpers.MathSVGHelper})\nconfig.formatters.push({name:"latex2",match:"\s\s\s\s\s\s\s(",lookaheadRegExp:/\s\s\s(((?:.|\sn)*?)\s\s\s)/mg,displaystyle:false,handler:config.formatterHelpers.MathSVGHelper})\nconfig.formatters.push({name:"graph",match:"<div",lookaheadRegExp:/<div.+SVGgraph.+?>((?:.|\sn)*?)<\s/div>/mg,handler:function(z){if(z.tiddler&&MSVG.noSvgTag&&jQuery.inArray(MSVG.noSvgTag,z.tiddler.tags)>-1)return;this.lookaheadRegExp.lastIndex=z.matchStart;var lookaheadMatch=this.lookaheadRegExp.exec(z.source);if(lookaheadMatch){var text=lookaheadMatch[0].replace('<div','<div id="currentGraph"');jQuery(z.output).append(text);MSVG.initPictures("#currentGraph");z.nextMatch=lookaheadMatch.index+lookaheadMatch[0].length;}}})\nconfig.formatters.push({name:"inlineGraph",match:"<span",lookaheadRegExp:/<span.+SVGgraph.+?>((?:.|\sn)*?)<\s/span>/mg,handler:function(z){if(z.tiddler&&MSVG.noSvgTag&&jQuery.inArray(MSVG.noSvgTag,z.tiddler.tags)>-1)return;this.lookaheadRegExp.lastIndex=z.matchStart;var lookaheadMatch=this.lookaheadRegExp.exec(z.source);if(lookaheadMatch){var text=lookaheadMatch[0].replace('<span','<span id="currentGraph"');jQuery(z.output).append(text);MSVG.initPictures("#currentGraph");z.nextMatch=lookaheadMatch.index+lookaheadMatch[0].length;}}})}
\nfunction _modeSwitchHideTiddler(tiddler)\n{if(!tiddler.isTagged("excludeLists"))\ntiddler.assign(undefined,undefined,undefined,undefined,tiddler.getTags()+" excludeLists");if(!tiddler.isTagged("excludeSearch"))\ntiddler.assign(undefined,undefined,undefined,undefined,tiddler.getTags()+" excludeSearch");}\nvar aspMode=(document.location.pathname.lastIndexOf(".asp")!=-1);if(aspMode)\n{var _temp=store.createTiddler("SideBarTabs");_temp.assign(undefined,"<<tabs txtMainTab Items 'All Items' TabAll Categories 'Items by category' TabTags>>","System",undefined,"excludeLists excludeSearch");_temp=store.createTiddler("TabTags");_temp.assign(undefined,"<<allTagsEx>>","System",undefined,"excludeLists excludeSearch");_temp=store.createTiddler("SideBarOptions");_temp.assign(undefined,"<html><a href=\s"<%= feedUri %>\s"><img src=\s"/im/feed-icon-14x14.png\s" "+"border=\s"0\s" title=\s"Subscribe to RSS feed\s" width=\s"14\s" height=\s"14\s" "+"align=\s"right\s"></a></html>"+"<<search>><<closeAll>><<themeSelect style 'select theme'>>"+"<<fontSize 'font: '>><<slider chkSliderOptionsPanel OptionsPanel "+"'options »' 'Change options'>>","System",undefined,"excludeLists excludeSearch");_temp=store.createTiddler("OptionsPanel");_temp.assign(undefined,"These options are saved in your browser. Click on a label for help.\sn\sn"+"<<option chkSinglePageMode>> SingleItemDisplay\sn"+"<<option chkTopOfPageMode>> OpenNewItemAtTop\sn"+"<<option chkRegExpSearch>> RegExpSearch\sn"+"<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\sn"+"<<option chkAnimate>> EnableAnimations","System",undefined,"excludeLists excludeSearch");_temp=store.createTiddler("ViewTemplate");_temp.assign(undefined,"<div class='toolbar'>\sn"+" <span macro='toolbar collapseTiddler -closeTiddler closeOthers references jump'></span>\sn"+" <span macro='toggleSideBar side-bar \s"hide/show side-bar\s" hide'></span>\sn"+"</div>"+"<div class='title' macro='view title'></div>\sn"+"<div class='viewer' macro='view text wikified'></div>\sn"+"<div class='tagClear'></div>","System",undefined,"excludeLists excludeSearch");store.saveTiddler("StartupItems","DefaultTiddlers",undefined,undefined,undefined,"excludeLists excludeSearch");var i;_temp=store.getTaggedTiddlers("hideUser");if(_temp.length>0){for(i=0;i<_temp.length;i++)_modeSwitchHideTiddler(_temp[i]);}\nif('<%= User.Username %>'=='localweb'){_temp=store.getTaggedTiddlers("hideLocalUser");if(_temp.length>0){for(i=0;i<_temp.length;i++)_modeSwitchHideTiddler(_temp[i]);}}\n_temp=store.getTaggedTiddlers("systemContent");if(_temp.length>0){for(i=0;i<_temp.length;i++)_modeSwitchHideTiddler(_temp[i]);}\n_temp=store.getTaggedTiddlers("systemConfig");if(_temp.length>0){for(i=0;i<_temp.length;i++)_modeSwitchHideTiddler(_temp[i]);}\nstore.setDirty(false);config.messages.undefinedTiddlerToolTip="The item '%0' doesn't exist";config.commands.closeTiddler.tooltip="Close this item";config.commands.closeOthers.tooltip="Close all other items";config.commands.collapseTiddler.tooltip="Collapse this item";config.commands.expandTiddler.tooltip="Restore this item";config.commands.collapseOthers.tooltip="Restore this item and collapse all others";config.commands.references.tooltip="Show items that link to this one";config.commands.jump.tooltip="Jump to another open item";config.macros.list.all.prompt="All items in alphabetical order";config.macros.closeAll.prompt="Close all displayed items";config.macros.allTags.tooltip="Show items tagged with '%0'";config.macros.search.prompt="Search all items";config.macros.search.successMsg="%0 items found matching %1";config.macros.search.failureMsg="No items found matching %0";config.views.wikified.tag.openAllTooltip="Open all of these items";config.views.wikified.tag.tooltip="Show items tagged with '%0'";config.views.wikified.tag.popupNone="No other items tagged with '%0'";config.views.wikified.defaultText="The item '%0' doesn't exist. You can create it in the Share Your Sky! authoring environment.";}
Moon Avoid implements the ~Moon-Avoidance Lorentzian, which varies the avoidance distance from the Moon based on its phase. At full moon the Observation will need to be at its farthest from the Moon. __As the brightness decreases with phase, the Observation can be done closer__.\n\nMoon Avoid takes two parameters: ''distance'' (degrees) and ''width'' (days). Observations will not be scheduled if the target is within distance/(1+(age/width)^2) of the moon. This means at full moon the avoidance will be ''distance'', and ''width'' days before (or after) the avoidance will be one half ''distance''. @@If you are unsure what to use@@, start out with distance=120 and width=14, meaning that at full moon the target must be at least 120 degrees away and at 1st or 3rd quarter (half-illuminated) the target would need to be at least 90 degrees away.\n\nThanks to ACP Expert user Dick Berg for the idea of a live spreadsheet to help visualize this. His spreadsheet has been translated to HTML/Javascript and is given below. Enter values for ''distance'' and ''width'' below and you can see the resulting minimum angular distance from the Moon in the table day by day from new to full Moon.\n<html>\n<table border="1" style="margin-bottom: 4px;" cellpadding="2">\n <tr><th>Distance</th><td><input type="text" name="mah_inDist" id="mah_inDist" onKeyUp="mah_calc();" size="4" value="120"></td></tr>\n <tr><th>Width</th><td><input type="text" name="mah_inWidth" id="mah_inWidth" onKeyUp="mah_calc();" size="4" value="14"></td></tr>\n</table>\n\n<table border="1">\n <tr>\n <th scope="col">Age (days)</th>\n <th scope="col">Distance (deg.)</th>\n </tr>\n <tr>\n <td>0 (new)</td>\n <td id="mah_dist0"> </td>\n </tr>\n <tr>\n <td>1</td>\n <td id="mah_dist1"> </td>\n </tr>\n <tr>\n <td>2</td>\n <td id="mah_dist2"> </td>\n </tr>\n <tr>\n <td>3</td>\n <td id="mah_dist3"> </td>\n </tr>\n <tr>\n <td>4</td>\n <td id="mah_dist4"> </td>\n </tr>\n <tr>\n <td>5</td>\n <td id="mah_dist5"> </td>\n </tr>\n <tr>\n <td>6</td>\n <td id="mah_dist6"> </td>\n </tr>\n <tr>\n <td>7</td>\n <td id="mah_dist7"> </td>\n </tr>\n <tr>\n <td>8</td>\n <td id="mah_dist8"> </td>\n </tr>\n <tr>\n <td>9</td>\n <td id="mah_dist9"> </td>\n </tr>\n <tr>\n <td>10</td>\n <td id="mah_dist10"> </td>\n </tr>\n <tr>\n <td>11</td>\n <td id="mah_dist11"> </td>\n </tr>\n <tr>\n <td>12</td>\n <td id="mah_dist12"> </td>\n </tr>\n <tr>\n <td>13</td>\n <td id="mah_dist13"> </td>\n </tr>\n <tr>\n <td>14</td>\n <td id="mah_dist14"> </td>\n </tr>\n <tr>\n <td>15 (full)</td>\n <td id="mah_dist15"> </td>\n </tr>\n</table>\n</html>\nNote: When Moon Avoid rejects an Observation, its Plan will not be re-checked for observability until the next night. The ~Moon-Avoidance Lorentzian was formulated by the [[Berkeley Automated Imaging Telescope (BAIT)|http://astro.berkeley.edu/bait/public_html/]] team.\n<script>\nmah_calc();\n</script>\n
<<slider "" "Run Plan Help" Help "Helpful information">>\n\n<<RemoteContent "/ac/aacqplan.asp">>
\nTo download a file, right-click on its link and select //Save link as// or //Save target as//. Binary files like FITS images and zip files can be downloaded by just clicking on the link, but other files like images and text files will just appear in a new browser window. The table may be sorted by clicking on a column header. Clicking again will sort it in reverse. If uploading is allowed here, and you have upload privileges, the upload controls will be visible above the directory listing.\n\n@@For multiple operations on files, we recommend you use our File Transfer Protocol server.@@ See [[Using FTP]].
/% INSTRUCTIONS: Using Basic Formatting, Item Level Formatting, or other advanced features, customize this for your users. Once you have this working feel free to erase everything before the "Information about..." below %/<% if(User.IsAdministrator) { %>\n@@''You can customize this in the [[Authoring Environment|/author.html]]''@@<% } %>\nInformation about the geographic location of the observatory, etc., goes here. Suggest you include the geodetic coordinates and ground elevation, perhaps nearby cultural features or well known landmarks.
''Tag'': Items which directly relate to observing. Always tagged as UserContent as well.
We suggest [[using FTP|Using FTP]]. <<RemoteContent '/plans/<%= User.username %>/aindex.asp' Refresh 'Refresh the file list'>>
<% if(!screenFlats) { %><<slider "" "Sky Flats Help" "Help for Sky Flats" "Helpful information">>\n<% } %>\nThis item allows you to do a one-time flat field run per your specifications. Use this for special situations where you can't use the standard flat sets.<% if(!screenFlats) { %> @@You can use the [[Sky Flat Analyzer]] tool to help you order your flat filters and binnings to make the most of the twilight time.@@<% } %>\n\nThis will start immediately<% if(!screenFlats) { %>, then sit waiting until the next dusk or dawn, whichever comes first<% } else { %> and use the light panel/screen to acquire the flats. If needed, the dome/roof will be closed while this runs, and if it was open it will be re-opened afterward<% } %>.\n<html><form id="OFlatPlanForm">\n <table class="noBorder" style="border:0;margin-left:0">\n <tr>\n <th align="left">Use</th>\n <th align="left">Count</th>\n<!--<% if(filtNames) { %>-->\n <th align="left">Filter</th>\n<!--<% } %>-->\n <th align="left">Binning</th>\n<!--<% if(rotAvail) { %>-->\n <th align="left">Sky PA</th>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow1">\n <td><input type="checkbox" name="OFlatUse1" id="OFlatUse1" value="yes"></td>\n <td><input type="text" name="OFlatCount1" id="OFlatCount1" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter1" id="OFlatFilter1"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning1" id="OFlatBinning1"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA1" id="OFlatPA1" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow2" style="display:none">\n <td><input type="checkbox" name="OFlatUse2" id="OFlatUse2" value="yes"></td>\n <td><input type="text" name="OFlatCount2" id="OFlatCount2" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter2" id="OFlatFilter2"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning2" id="OFlatBinning2"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA2" id="OFlatPA2" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow3" style="display:none">\n <td><input type="checkbox" name="OFlatUse3" id="OFlatUse3" value="yes"></td>\n <td><input type="text" name="OFlatCount3" id="OFlatCount3" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter3" id="OFlatFilter3"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning3" id="OFlatBinning3"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA3" id="OFlatPA3" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow4" style="display:none">\n <td><input type="checkbox" name="OFlatUse4" id="OFlatUse4" value="yes"></td>\n <td><input type="text" name="OFlatCount4" id="OFlatCount4" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter4" id="OFlatFilter4"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning4" id="OFlatBinning4"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA4" id="OFlatPA4" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow5" style="display:none">\n <td><input type="checkbox" name="OFlatUse5" id="OFlatUse5" value="yes"></td>\n <td><input type="text" name="OFlatCount5" id="OFlatCount5" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter5" id="OFlatFilter5"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning5" id="OFlatBinning5"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA5" id="OFlatPA5" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow6" style="display:none">\n <td><input type="checkbox" name="OFlatUse6" id="OFlatUse6" value="yes"></td>\n <td><input type="text" name="OFlatCount6" id="OFlatCount6" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter6" id="OFlatFilter6"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning6" id="OFlatBinning6"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA6" id="OFlatPA6" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow7" style="display:none">\n <td><input type="checkbox" name="OFlatUse7" id="OFlatUse7" value="yes"></td>\n <td><input type="text" name="OFlatCount7" id="OFlatCount7" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter7" id="OFlatFilter7"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning7" id="OFlatBinning7"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA7" id="OFlatPA7" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow8" style="display:none">\n <td><input type="checkbox" name="OFlatUse8" id="OFlatUse8" value="yes"></td>\n <td><input type="text" name="OFlatCount8" id="OFlatCount8" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter8" id="OFlatFilter8"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning8" id="OFlatBinning8"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA8" id="OFlatPA8" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow9" style="display:none">\n <td><input type="checkbox" name="OFlatUse9" id="OFlatUse9" value="yes"></td>\n <td><input type="text" name="OFlatCount9" id="OFlatCount9" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter9" id="OFlatFilter9"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning9" id="OFlatBinning9"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA9" id="OFlatPA9" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow10" style="display:none">\n <td><input type="checkbox" name="OFlatUse10" id="OFlatUse10" value="yes"></td>\n <td><input type="text" name="OFlatCount10" id="OFlatCount10" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter10" id="OFlatFilter10"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning10" id="OFlatBinning10"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA10" id="OFlatPA10" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow11" style="display:none">\n <td><input type="checkbox" name="OFlatUse11" id="OFlatUse11" value="yes"></td>\n <td><input type="text" name="OFlatCount11" id="OFlatCount11" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter11" id="OFlatFilter11"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning11" id="OFlatBinning11"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA11" id="OFlatPA11" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow12" style="display:none">\n <td><input type="checkbox" name="OFlatUse12" id="OFlatUse12" value="yes"></td>\n <td><input type="text" name="OFlatCount12" id="OFlatCount12" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter12" id="OFlatFilter12"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning12" id="OFlatBinning12"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA12" id="OFlatPA12" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow13" style="display:none">\n <td><input type="checkbox" name="OFlatUse13" id="OFlatUse13" value="yes"></td>\n <td><input type="text" name="OFlatCount13" id="OFlatCount13" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter13" id="OFlatFilter13"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning13" id="OFlatBinning13"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA13" id="OFlatPA13" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow14" style="display:none">\n <td><input type="checkbox" name="OFlatUse14" id="OFlatUse14" value="yes"></td>\n <td><input type="text" name="OFlatCount14" id="OFlatCount14" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter14" id="OFlatFilter14"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning14" id="OFlatBinning14"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA14" id="OFlatPA14" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow15" style="display:none">\n <td><input type="checkbox" name="OFlatUse15" id="OFlatUse15" value="yes"></td>\n <td><input type="text" name="OFlatCount15" id="OFlatCount15" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter15" id="OFlatFilter15"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning15" id="OFlatBinning15"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA15" id="OFlatPA15" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="OFlatRow16" style="display:none">\n <td><input type="checkbox" name="OFlatUse16" id="OFlatUse16" value="yes"></td>\n <td><input type="text" name="OFlatCount16" id="OFlatCount16" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="OFlatFilter16" id="OFlatFilter16"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="OFlatBinning16" id="OFlatBinning16"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="OFlatPA16" id="OFlatPA16" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr>\n <td colspan="5"><a href="javascript:;" class="button" title="Click to add another row" onclick="DC3.Lib.expandoAddRow('OFlat');">More</a></td>\n </tr>\n </table>\n</form></html><<PersistentForm>><<PostForm "FlatPlanForm" "/ac/aacqflat.asp" "Acquire Flat Fields" "Starts the flat field acquisition process">><<ValidateForm "" "postit">>\n<script>DC3.Lib.expandoInitializeForm('OFlat');</script>\n
<script>\nif("<%= User.IsAdministrator %>" == "True") alert('admin');\n</script>\nOpen [[System Status]] and use the "Shutter" and "Dome" labels (which are links) to control the dome. You can open and close the shutter, as well as control slaving and home or park the dome. Hover the mouse over the labels to see what clicking will do, given the current state of the dome.\n
Turn this on to have all newly opened items appear at the top. Otherwise they are opened 'nearby' the item from which the new item was opened.
Click the labels for help\n[[Author Name]]: <<br>><<option txtUserName>>\n[[Username|Login Information]]: <<br>><<option txtUploadUserName>>\n[[Password|Login Information]]: <<br>><<option pasUploadPassword>>\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\n----\nAdvancedOptions\nPluginManager
/% INSTRUCTIONS: Find your CSC in a browser. Then replace the first URL by right clicking on the Clock image and selecting Copy Link Address, replace the second URL by right clicking on the Clock image and selecting Copy Image Address. Once you have this working feel free to erase everything before the "Here are..." below %/<% if(User.IsAdministrator) { %>\n@@''You can customize this in the [[Authoring Environment|/author.html]]''@@<% } %>\nHere are the current weather and sky conditions at the <%= Prefs.SiteName %>:\n\n<script>return '<html><div><a href="http://www.cleardarksky.com/c/GrtBsnNPkNVkey.html" target="_new"><img src="http://www.cleardarksky.com/c/GrtBsnNPkNVcsk.gif?"+new Date().getTime()+" ></a></div></html>';</script>\nClick or touch the clock image to open a new browser to our full Clear Dark Sky page.\n\n
\nversion.extensions.PersistentForm={major:1,minor:1,revision:0,date:new Date(2006,10,3),type:'macro',source:"http://solo.dc3.com/tw/index.html#PersistentFormPlugin"};config.macros.PersistentForm={expiry:7,persistDict:{},loadPersistDict:function()\n{var cookies=document.cookie.split(";");for(var i=0;i<cookies.length;i++)\n{var p=cookies[i].indexOf("=");if(p!=-1)\n{var name=cookies[i].substr(0,p).trim();if(name.substr(0,3)=="pfc")\n{var value=cookies[i].substr(p+1).trim();var fc=value.split("&");for(i=0;i<fc.length;i++)\n{p=fc[i].indexOf(":");name=fc[i].substr(0,p).trim();if(name!==""){value=fc[i].substr(p+1).trim();this.persistDict[name]=value;}}\nreturn;}}}},storePersistDict:function()\n{var c="pfc=";var empty=true;for(var name in this.persistDict)\nc+=name+":"+this.persistDict[name]+"&";if(c.length>4){c=c.substr(0,c.length-1);empty=false;}\nc+="; expires="+\nnew Date(new Date().getTime()+(86400000*this.expiry)).toGMTString()+"; path=/";document.cookie=c;if(empty)\ndocument.cookie="pfc=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";},getTargetForm:function(formId,place)\n{var forms=place.getElementsByTagName("form");if(forms.length===0){displayMessage("PersistentForm: No form in tiddler!");return null;}\nvar form=null;if(formId===""){form=forms[0];}else{for(var i=0;i<forms.length;i++){if(forms[i].id==formId){form=forms[i];break;}}}\nif(form===null){displayMessage("PersistentForm: No form '"+formId+"' in tiddler.");return null;}\nreturn form;},handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var formId=params[0]?params[0]:"";this.expiry=params[1]?params[1]:7;var label=params[2]?params[2]:"";var prompt=params[3]?params[3]:"";var form=this.getTargetForm(formId,place);if(form===null)return;this.loadPersistDict();var nElem=form.elements.length;for(var i=0;i<nElem;i++){var elem=form.elements[i];var elemPersistVal=this.persistDict?this.persistDict[elem.name]:"";switch(elem.type){case"text":case"password":case"textarea":if(elemPersistVal)elem.value=unescape(elemPersistVal);elem.onkeyup=this.onChange;break;case"select-one":if(elemPersistVal)elem.value=unescape(elemPersistVal);elem.onchange=this.onChange;break;case"radio":elem.checked=(elemPersistVal==elem.value);elem.onclick=this.onChange;break;case"checkbox":if(elemPersistVal)elem.checked=(elemPersistVal=="true");elem.onclick=this.onChange;break;case"select-multiple":if(elemPersistVal){var sels=elemPersistVal.split(",");for(var j=0;j<elem.options.length;j++)\nelem.options[j].selected=sels.contains(j.toString());}\nelem.onchange=this.onChange;break;default:break;}}\nif(label!=="")\ncreateTiddlyButton(place,label,prompt,function(){config.macros.PersistentForm.reset(place,form);return false;});},onChange:function(e)\n{if(!e)e=window.event;var elem=e.target;if(!elem)elem=e.srcElement;var val;switch(elem.type)\n{case"text":case"password":case"select-one":case"radio":case"textarea":val=escape(elem.value);break;case"checkbox":val=elem.checked?"true":"false";break;case"select-multiple":var sels="";for(var j=0;j<elem.options.length;j++){if(elem.options[j].selected)\nsels+=j+",";}\nif(sels)sels=sels.substr(0,sels.length-1);val=sels;break;}\nconfig.macros.PersistentForm.persistDict[elem.name]=val;config.macros.PersistentForm.storePersistDict();},reset:function(place,form)\n{if(form===null)return;var nElem=form.elements.length;for(var i=0;i<nElem;i++)\ndelete this.persistDict[form.elements[i].name];this.storePersistDict();form.reset();}};
<<slider "" "Pictorial Camera Field Info" Details "Citation and usage info">>\n<html><table width="96%" style="border:none;margin:1px;background:transparent"><iframe id="aaladinlite" src="/ac/aaladinlite.asp" width="100%" height="0" frameborder="0" scrolling="no" allowtransparency style="border:none;"></iframe></table></html>\n<<RefreshIFrame "Recenter on Scope Field" "Move display back to scope coordinates">>
\nThis photographic view of your camera's current field of view is generated using the [[Aladin Lite service|http://aladin.u-strasbg.fr/AladinLite/?target=85.25%20-2.45&fov=1&survey=null]] which uses the "Aladin sky atlas" developed at CDS, Strasbourg Observatory, France → [[2000A&AS..143...33B|http://cdsads.u-strasbg.fr/cgi-bin/nph-bib_query?2000A%26AS..143...33B&db_key=AST&nosetcookie=1]] and [[2014ASPC..485..277B|http://cdsads.u-strasbg.fr/cgi-bin/nph-bib_query?2014ASPC..485..277B&db_key=AST&nosetcookie=1]]\n\nIf the telescope is connected and running, then the display will be centered on the scope's current coordinates. If the scope is not connected, the center will be on the Horsehead Nebula. If both the scope and the camera are connected and running, the field of view shown will match your camera's field of view (given the camera pixel geometry and focal length set in ACP). Otherwise the FOV will be 30 arc minutes.\n\nYou can drag/move and zoom this with the mouse wheel or +/- buttons. Click/touch the Recenter button to restore the current conditions as previously described. Use the "full screen" icon in the upper left to fill the item with the display. __Recenter if the scope moves__.
\nif(version.major==2&&version.minor==1)\n{Story.prototype.displayTiddler=function(srcElement,title,template,animate,slowly)\n{var place=document.getElementById(this.container);var tiddlerElem=document.getElementById(this.idPrefix+title);if(tiddlerElem)\nthis.refreshTiddler(title,template);else\n{var before;if(title=="System Status"){before=place.firstChild;}else{before=this.positionTiddler(srcElement);if(before&&before.id==this.idPrefix+"System Status")\nbefore=before.nextSibling;}\ntiddlerElem=this.createTiddler(place,before,title,template);}\nif(srcElement&&typeof srcElement!=="string")\n{if(anim&&config.options.chkAnimate&&(animate==undefined||animate===true))\nanim.startAnimating(new Cascade(title,srcElement,tiddlerElem,slowly),new Scroller(tiddlerElem,slowly));else\nwindow.scrollTo(0,ensureVisible(tiddlerElem));}};}\nelse\nalert("PinSystemStaturPlugin works only with TiddlyWiki 2.1.x");
\nversion.extensions.PostForm={major:1,minor:3,revision:1,date:new Date(2011,8,29),type:'macro',source:"http://solo.dc3.com/tw/index.html#PostFormPlugin"};config.macros.PostForm={onComplete:function(text,params)\n{text=text.replace(/(^\ss*)|(\ss*$)/g,"");if(text){if(text.search(/\s[lba /)!=-1){var icon=text.replace(/([\ss\sS]*\s[lba )([a-z]+)(\s][\ss\sS]*)/,"$2");var msg=text.replace(/([\sS\ss]*\s[lba [a-z]+\s])(.*)([\ss\sS]*)/,"$2");DC3.LightBox.showAlert(icon,msg);}else{wikify(text,params.place);}}\nif(params.refresh)\nstory.refreshTiddler(params.tiddler.title,null,true);},handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var label=params[2]?params[2]:"Submit";var prompt=params[3]?params[3]:"Submit form to server";var ask=params[4]?params[4]:"";var refresh=params[5]?true:false;var complParams={place:place,tiddler:tiddler,refresh:refresh};var forms=place.getElementsByTagName("form");if(forms.length===0){displayMessage("PostForm: No form in tiddler!");return;}\nvar form=null;if(forms.length==1||params[0]===""){form=forms[0];}else{for(var i=0;i<forms.length;i++){if(forms[i].name==params[0]){form=forms[i];break;}}\nif(form===null){displayMessage("PostForm: No form \s""+params[0]+"\s"in tiddler!");return;}}\ncreateTiddlyButton(place,label,prompt,function(){if(ask){if(!confirm(ask))return false;}\nif(form.bValidator&&!form.bValidator.validate())\nreturn false;DC3.Ajax.postForm(form,params[1],config.macros.PostForm.onComplete,complParams);return false;});}};
<html><a href="<%= feedUri %>"><img src="/im/feed-icon-28x28.png" border="0" title="Click to subscribe" width="28" height="28" align="right"></a></html>You can subscribe to an [[RSS feed|<%= feedUri %>]] of observing events from <%= Prefs.SiteName %>. The feed's "articles" are just one-liners describing the event, such as "Joe Astronomer started a run ...". \n\nNote that the __time of the event is the time of the article__, no explicit time is included in the articles themselves. This avoids having UTC times to deal with. The reader takes care of converting the article times into //your// local time.
/% INSTRUCTIONS: For the USA, go to http://radar.weather.gov/ridge/index_lite.htm and click the NWS radar facility nearest to your location. In the title bar note the three letter ID of the station as Image from: XXX. Substitute this ID for the "IWA" in the URL below. Then delete everything here up to the <script> tag below. For other countries, hopefully you can figure out what to do from this info!%/<% if(User.IsAdministrator) { %>\n@@''You can customize this in the [[Authoring Environment|/author.html]]''@@<% } %>\n<script>return '<html><div><a href="http://radar.weather.gov/ridge/radar_lite.php?rid=iwa&product=NCR&loop=yes" target="_new"><img src="http://radar.weather.gov/ridge/lite/NCR/IWA_loop.gif?"+new Date().getTime()+" ></a></div></html>';</script>\nClick or touch the clock image to open a new browser to the National Weather Service radar page, with links to other info.
\nversion.extensions.RefreshIFrame={major:1,minor:0,revision:4,date:new Date(2006,10,6),type:'macro',source:"#RefreshIFramePlugin"};config.macros.RefreshIFrame={states:{},handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var tidTitle=tiddler.title;if(!this.states[tidTitle])this.states[tidTitle]={iframe:null,butLabel:"",butTooltip:"",refInterval:0,doRefresh:false,initPerRef:false,timerId:0,chkBox:null};var state=this.states[tidTitle];var iframes=place.getElementsByTagName("iframe");if(iframes.length===0){displayMessage("PostForm: No iframe in tiddler!");return;}\nstate.iframe=iframes[0];state.butLabel=params[0]?params[0]:"Refresh";state.butTooltip=params[1]?params[1]:"Refresh the remote frame";state.refInterval=params[2]?params[2]:0;var hidden=params[3]&¶ms[3].toLowerCase()=="true"&&state.refInterval>0;if(!hidden){var btn=createTiddlyButton(place,state.butLabel,state.butTooltip,this.onButClick);btn.name=tidTitle;if(state.refInterval>0)\n{wikify(" [ =chkPerRefIfr"+tiddler.created.convertToYYYYMMDDHHMM()+"{config.macros.RefreshIFrame.states[\s""+tidTitle+"\s"].chkBox = this; "+"this.refresh.container=false;}"+"{config.macros.RefreshIFrame.onChkClick(\s""+tidTitle+"\s");}] "+\nstate.butLabel+" every "+state.refInterval+" seconds",place);state.timerId=0;if(!state.initPerRef)this.onChkClick(tidTitle);}}else if(state.refInterval>0&&!state.initPerRef){if(state.timerId)clearTimeout(state.timerId);this.startRefresh(tidTitle);state.initPerRef=true;}\nstate.iframe.src=state.iframe.src;},onButClick:function(e)\n{if(!e)e=window.event;var tidTitle=resolveTarget(e).name;var iframe=config.macros.RefreshIFrame.states[tidTitle].iframe;iframe.src=iframe.src;return false;},onChkClick:function(tidTitle)\n{var state=this.states[tidTitle];if(state.chkBox.checked){if(state.timerId)clearTimeout(state.timerId);this.startRefresh(tidTitle);}else{state.doRefresh=false;}\nstate.initPerRef=true;},startRefresh:function(tidTitle)\n{var state=this.states[tidTitle];state.doRefresh=true;state.timerId=setTimeout("config.macros.RefreshIFrame.reRefresh(\s""+\ntidTitle+"\s")",state.refInterval*1000);},reRefresh:function(tidTitle)\n{var state=this.states[tidTitle];state.timerId=0;if(!state.doRefresh)return;var tidElem=document.getElementById(story.idPrefix+tidTitle);if(!tidElem||tidElem.attributes['template'].value=="EditTemplate")\n{state.initPerRef=false;return;}\nstate.iframe.src=state.iframe.src;state.timerId=setTimeout("config.macros.RefreshIFrame.reRefresh(\s""+\ntidTitle+"\s")",state.refInterval*1000);}};
\nversion.extensions.RefreshTiddler={major:1,minor:1,revision:1,date:new Date(2011,7,5),type:'macro',source:"#RefreshTiddlerPlugin"};config.macros.RefreshTiddler={states:{},handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var tidTitle=tiddler.title;if(!this.states[tidTitle])this.states[tidTitle]={butLabel:"",butTooltip:"",refInterval:0,doRefresh:false,initPerRef:false,timerId:0,chkBox:null};var state=this.states[tidTitle];state.butLabel=params[0]?params[0]:"Refresh";state.butTooltip=params[1]?params[1]:"Refresh this item";state.refInterval=params[2]?params[2]:0;var hidden=params[3]&¶ms[3].toLowerCase()=="true"&&state.refInterval>0;if(!hidden){var btn=createTiddlyButton(place,state.butLabel,state.butTooltip,this.onButClick);btn.name=tidTitle;if(state.refInterval>0)\n{wikify(" [ =chkPerRefTid"+tiddler.created.convertToYYYYMMDDHHMM()+"{config.macros.RefreshTiddler.states[\s""+tidTitle+"\s"].chkBox = this;}"+"{config.macros.RefreshTiddler.onChkClick(\s""+tidTitle+"\s");}] "+\nstate.butLabel+" every "+state.refInterval+" seconds",place);state.timerId=0;if(!state.initPerRef)this.onChkClick(tidTitle);}}else if(state.refInterval>0&&!state.initPerRef){if(state.timerId)clearTimeout(state.timerId);this.startRefresh(tidTitle);state.initPerRef=true;}},onButClick:function(e)\n{if(!e)e=window.event;var tidTitle=resolveTarget(e).name;story.refreshTiddler(tidTitle,null,true);return false;},onChkClick:function(tidTitle)\n{var state=this.states[tidTitle];if(state.chkBox.checked){if(state.timerId)clearTimeout(state.timerId);this.startRefresh(tidTitle);}else{state.doRefresh=false;}\nstate.initPerRef=true;},startRefresh:function(tidTitle)\n{var state=this.states[tidTitle];state.doRefresh=true;state.timerId=setTimeout("config.macros.RefreshTiddler.reRefresh(\s""+\ntidTitle+"\s")",state.refInterval*1000);},reRefresh:function(tidTitle)\n{var state=this.states[tidTitle];state.timerId=0;if(!state.doRefresh)return;var tidElem=document.getElementById(story.idPrefix+tidTitle);if(!tidElem||tidElem.attributes['template'].value=="EditTemplate")\n{state.initPerRef=false;return;}\nstory.refreshTiddler(tidTitle,null,true);state.timerId=setTimeout("config.macros.RefreshTiddler.reRefresh(\s""+\ntidTitle+"\s")",state.refInterval*1000);}};
Turn this on to use regular expression patterns for searching. If you don't kow what a regular expression is, leave it off.
\nversion.extensions.RemoteContent={major:2,minor:0,revision:1,date:new Date(2014,1,21),type:'macro',source:"#RemoteContentPlugin"};config.macros.RemoteContent={onComplete:function(text,params)\n{if(params.raw){createTiddlyText(params.place,"raw:"+text);}else{text=text.replace(/\sr/mg,"");wikify(text,params.place,"",params.tiddler);if(params.label){wikify("<<RemoteContentUpdate "+params.url+" [["+params.tiddler.title+"]] \s""+params.label+"\s" \s""+params.prompt+"\s">>",params.place);}}},handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var complParams={url:params[0],place:place,tiddler:tiddler,label:params[1]?params[1]:"",prompt:params[2]?params[2]:"",raw:params[3]=="raw"};DC3.Ajax.sendRequest('GET',params[0],"",this.onComplete,complParams);}};config.macros.RemoteContentUpdate={handler:function(place,macroName,params){var url=params[0];var title=params[1];var label=params[2];var prompt=params[3]?params[3]:"Refresh remote data";createTiddlyButton(place,label,prompt,function(){story.refreshTiddler(title,null,true);return false;});}};
If you have lots of logs, this could take a long time to appear. We suggest [[using FTP|Using FTP]].\n\n<<RemoteContent '/logs/<%= User.Username %>/aindex.asp' Refresh 'Refresh the file list'>>
\nThis item lets you start an [[Observing Plan|Making Observing Plans]] that you have prepared in advance. Observing plans are typically used for //multiple target// runs or runs that use ACP's more advanced features. For more information on observing plans, see [[Making Observing Plans]].
\nThis item allows you to run one of the [[Utility Scripts]] that the staff has provided, or that someone has uploaded. If the script requests user input, you will see one or more input forms appear here some time after the script has started.\n\nSelect a [[Utility Script|Utility Scripts]] from the list box below then click the button to start it. As usual, any outoput from it will appear in the [[System Status]] run log panel.
<<slider "" "Schedule Astro-Imaging Help" Help "Helpful information">>\n<html>\n<form name="scast_form" id="scast_form">\n <h2 id="SAstSect1" title="Click to toggle section visibility">1. Object and Coordinates</h2>\n <div id="SAstSlide1">\n <table class="noBorder" style="border:0;margin-left:0">\n <tr>\n <td>Target Name:</td>\n <td><input type="text" name="Target" id="SAstTarget" size="14" value="" validate="required">\n <input type="hidden" name="visOnly" id="sAstVisOnly" value="false"></td>\n <td>\n <a id="sast_getCoords" href="javascript:;" onClick="DC3.CatSearch.lookup(DC3.Lib.getPlace(this), null);" title="Look up coordinates or calculate planetary ephemeris"> Get Coordinates or Ephemeris</a>\n <a id="sast_getTheSky" style="display:none;" href="javascript:;" onClick="DC3.TheSky.fillFormInfo(DC3.Lib.getPlace(this));" title="Fill in the coordinates from the current target in TheSky"> Get Coordinates From TheSky</a>\n </td>\n </tr>\n <tr>\n <td>Right Asc. (hrs):</td>\n <td><input type="text" name="RA" id="SAstRA" size="12" value="" validate="sexanum[0:24],required"></td>\n <td><a id="sast_catSearch" href="javascript:;" onClick="story.displayTiddler(this,'Deep Sky Catalog Search',null,config.options.chkAnimate,false)" \n title="Open the Deep Sky Catalog Search Item"> Deep Sky Catalog Search</a></td>\n </tr>\n <tr>\n <td>Declination (deg):</td>\n <td><input type="text" name="Dec" id="SAstDec" size="12" value="" validate="sexanum[-90:90],required"></td>\n <td> <i>(coordinates in J2000)</i></td>\n </tr>\n <!--<% if(rotAvail) { %>-->\n <tr>\n <td>Pos. Angle (deg):</td>\n <td><input type="text" name="PA" id="SAstPA" size="5" value="" validate="number,between[0:360],required"></td>\n <td> <i>(true/sky PA, required)</i></td>\n </tr>\n <!--<% } %>-->\n </table>\n </div>\n <h2 id="SAstSect2" title="Click to toggle section visibility">2. Images (request each color separately)</h2>\n <div id="SAstSlide2">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Total time:</td>\n <td><input type="text" name="TotalTime" id="SAstTotTime" size="5" value="" validate="number,required"></td>\n <td> <i>(hours, may extend over multiple nights)</i></td>\n </tr>\n <tr>\n <td>Exposure time:</td>\n <td><input type="text" name="ExposureTime" id="SAstExpTime" size="5" value="" validate="number,required"></td>\n <td> <i>(seconds, for each individual exposure)</i></td>\n </tr>\n <tr>\n <!--<% if(filtNames) { %>-->\n <td>Filter:</td>\n <td><select name="Filter" id="SAstFilter"><%= filterNameOptionsSch() %></select></td>\n <td> </td>\n <!--<%} else { %>-->\n <td colspan="3"> <span class="marked">(this observatory has no filters)</span></td>\n <!--<% } %>-->\n </tr>\n <tr>\n <td>Binning:</td>\n <td><select name="Binning" id="SAstBinning"><%= binningOptions() %></select></td>\n <td> </td>\n </tr>\n <tr>\n <td>Dithering:</td>\n <td><input type="text" name="Dither" id="SAstDither" size="5" value="0.0" validate="number,required"></td>\n <!--<% if(ditherMainPixels) { %>-->\n <td><i>(main imager pixels rms, -1.0 for auto)</i></td>\n <!--<% } else { %>-->\n <td><i>(pixels rms <img src="/im/tinyInfo.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="If guided: guider pixels. If unguided: main imager pixels."> -1.0 for auto)</i></td>\n <!--<% } %>-->\n </tr>\n <!--<% if(!schPerAF) { %>-->\n <tr>\n <td>Auto Focus:</td>\n <td><input type="checkbox" name="AutoFocus" id="SAstAF" size="0" value="yes"></td>\n <td><img src="/im/tinyInfo.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Automatic focus management has been disabled."> Autofocus before each block of images</td>\n </tr>\n <!--<% } %>-->\n <!--<% if(!acpAutoCal) { %>-->\n <tr>\n <td>Auto Calibrate:</td>\n <td><input type="checkbox" name="AutoCal" id="SAstCal" size="0" value="yes"></td>\n <td> Perform full calibration after acquiring</td>\n </tr>\n <!--<% } %>-->\n <tr>\n <td>Hot Pixels:</td>\n <td><input type="checkbox" name="HotPix" id="SAstHot" size="0" value="yes"></td>\n <td> Remove hot pixels after calibration</td>\n </tr>\n </table>\n </div>\n <h2 id="SAstSect3" title="Click to toggle section visibility">3. Priority and Constraints</h2>\n <div id="SAstSlide3">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Priority:</td>\n <td><input type="text" name="Priority" id="SAstPriority" size="5" value="0" validate="number,required"></td>\n <!--<% if(schUserPrio) { %>-->\n <td><i>(each observer has own priority scale)</i></td>\n <!--<%} else { %>-->\n <td><i>(all observers share priority scale)</i></td>\n <!--<% } %>-->\n </tr>\n <tr>\n <td>Horizon:</td>\n <td><input type="text" name="Horizon" id="SAstHorizon" size="5" value="35" validate="number,between[0:85]"></td>\n <td><i>(degrees, must be above this altitude)</i></td>\n </tr>\n <tr>\n <td>Hour Angle:</td>\n <td><input type="text" name="HAEast" id="SAstHAEast" size="5" value="" validate="sexanum[-12:12]"> \n <input type="text" name="HAWest" id="SAstHAWest" size="5" value="" validate="sexanum[-12:12]"></td>\n <td><i>(Hours E, W, -east, must be within HA range)</i></td>\n </tr>\n <tr name="SAstMoonAvoidRow" id="SAstMoonAvoidRow">\n <td>Moon Avoid:</td>\n <td><input type="text" name="MADist" id="SAstMADist" size="5" value="" validate="between[1:120]"> \n <input type="text" name="MAWidth" id="SAstWidth" size="5" value="" validate="between[1:14]"></td>\n <td><i>(distance degrees, width days <img src="/im/tinyInfo.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Moon Avoidance Lorentzian"> <a href="javascript:;" title="Moon Avoidance Lorentzian Help"\n onClick="story.displayTiddler(this,'Moon Avoidance Lorentzian Help',null,config.options.chkAnimate,false)">Moon Avoid Help</a>)</i></td>\n </tr>\n <tr>\n <td>Moon Down:</td>\n <td><input type="checkbox" name="MDown" id="SAstMDown" size="0" value="yes"></td>\n <td><i>(Moon must be below horizon, ignore Moon Avoid)</i></td>\n </tr>\n <tr>\n <td>Sky Condition:</td>\n <td><select name="SkyCond" id="SAstSkyCond">\n <option value="4">Excellent</option>\n <option value="3" selected>Good</option>\n <option value="2">Fair</option>\n </select></td>\n <td>(Sky must be at least this good)</td>\n </tr>\n </table>\n </div>\n <h2 id="SAstSect4" title="Click to toggle section visibility">4. Timing Controls</h2>\n <div id="SAstSlide4">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Block Time:</td>\n <td><input type="text" name="SAstBlockTime" id="SAstBlockTime" size="5" value="1" validate="number,between[0.5:4.0]"></td>\n <td><i>(hours, <img src="/im/tinyWarn.png" width="16" height="16" border="none" align="absmiddle" hspace="6" title="Use with care. Each block of images is separately scheduled. The longer the block time is, the more chances it will fail for weather. Too many hours in a block and you don't need a scheduler, right?" /> divide images into blocks of time up to this long, default 1 hour, 0.5 - 4 hrs)</i></td>\n </tr>\n <tr>\n <td>Monitor Interval:</td>\n <td><input type="text" name="SAstMonitorInt" id="SAstMonitorInt" size="5" value="0" validate="number"></td>\n <td><i>(days, requeue every 'n' days forever or until "Must Run Before")</i></td>\n </tr>\n <tr>\n <td>Must Run After:</td>\n <td colspan="2"><input type="text" name="SAstMustAfter" id="SAstMustAfter" size="20" value="" validate="idatetime">\n  <i>(UTC, ex: 2011/03/30 03:12:44)</i></td>\n </tr>\n <tr>\n <td>Must Run Before:</td>\n <td colspan="2"><input type="text" name="SAstMustBefore" id="SAstMustBefore" size="20" value="" validate="idatetime">\n  <i>(UTC, ex: 2011/03/30 03:12:44)</i></td>\n </tr>\n <tr>\n <td>Fixed Time:</td>\n <td><input type="checkbox" name="SAstFixedTime" id="SAstFixedTime" size="0" value="yes"></td>\n <td><i>(override dispatcher, <img src="/im/tinyWarn.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Forces run at Must Run After time. The Must Run Before time and Monitor Mode are ignored." /> <u>use with caution!</u>)</i></td>\n </tr>\n </table>\n </div>\n <input type="checkbox" name="autoSubmit" id="SAstAutoSubmit" value="yes">Enable requests immediately</input> \n</form>\n</html>\n<<PersistentForm>><<PostForm "" "/ac/asastroimage.asp" "Submit Request" "Sends this request to the scheduler">><<ValidateForm "" "postit">><script>\n//<% if(!acpAutoCal) { %>\n$('#SAstCal').change(function () {\n if(this.checked) {\n $('#SAstHot').fadeTo('slow', 1.0);\n $('#SAstHot').prop('disabled', false);\n } else {\n $('#SAstHot').prop('disabled', true);\n $('#SAstHot').fadeTo('slow', 0.2);\n }\n });\n//<% } %>\n// DC3.TheSky.setTargetInfo() and DC3.TheSky.switchLink() depend on the link IDs!\nif(DC3.TheSky.theSkyInfoAvailable()) DC3.TheSky.switchLink("sast");\n$('#SAstSect1').click(function () {\n $('#SAstSlide1').fadeToggle('slow');\n });\n$('#SAstSect2').click(function () {\n $('#SAstSlide2').fadeToggle('slow');\n });\n$('#SAstSect3').click(function () {\n $('#SAstSlide3').fadeToggle('slow');\n $('#SAstMDown').trigger(jQuery.Event('change'));\n });\n$('#SAstMDown').change(function() {\n if($('#SAstMDown').is(':checked')) {\n $('#SAstMoonAvoidRow').fadeOut('slow');\n $('#SAstMADist').val('');\n $('#SAstWidth').val('');\n } else {\n $('#SAstMoonAvoidRow').fadeIn('slow');\n }\n });\n$('#SAstSect4').click(function () {\n $('#SAstSlide4').fadeToggle('slow');\n if($('#SAstFixedTime').is(':checked')) {\n $('#SAstMonitorInt').fadeTo('slow', 0.2);\n $('#SAstMustBefore').fadeTo('slow', 0.2);\n }\n });\n$('#SAstFixedTime').change(function() {\n if($('#SAstFixedTime').is(':checked')) {\n $('#SAstMonitorInt').fadeTo('slow', 0.2);\n $('#SAstMustBefore').fadeTo('slow', 0.2);\n } else {\n $('#SAstMonitorInt').fadeTo('slow', 1.0);\n $('#SAstMustBefore').fadeTo('slow', 1.0);\n }\n });\n//<% if(!acpAutoCal) { %>\n// Init the HotPix checkbox per AutoCal\n$('#SAstCal').trigger(jQuery.Event('change'));\n//<% } %>\n//Pre-collapse here, do NOT use display:none, validation will fail\n$('#SAstSlide3').fadeOut(0);\n$('#SAstSlide4').fadeOut(0);\n$('#SAstMoonAvoidRow').fadeOut(0);\n</script>\n
\nSubmit a request to the scheduler for astro-imaging data. The strategy is unusual. Each submission requests some number of hours in a single color/band with a specified sub-exposure time. The work is split up into one or more Plans, each of which is separately scheduled. The Plans are created to take ''Block Time'' hours (Section 4). The shorter the ''Block Time'' the more flexibility the scheduler has. This allows the scheduler to work its magic. You will never be able to guess when your observing will be done! But it will be done, and under the conditions you specify. Who has a crystal ball? \n\nYou can specify both deep sky and solar system targets, and the latter will have their ephemerides calculated automatically. See [[How to Specify Targets]]. Normally, the request will be entered in a disabled state, requiring you to enable it with the [[Schedule Browser|/sc/index.asp]] before it can run. If you're brave (certain that you've entered a correct request), check the ''Enable requests immediately'' box and your request will be runnable without further action. This does //not// mean it will run immediately, of course.\n\nThe form should be self-evident, but here are a few things to note:\n* Here details on the useful [[Moon Avoid constraint|Moon Avoidance Lorentzian Help]]\n* If you typically do 10 minute or shorter sub-exposures, consider setting the ''Block Time'' (section 4) to 0.5 hours. Any longer subs, use 1 hour block times. \n* Be very careful using the Timing features (section 4). You can easily create impossible situations. Relax and let the scheduler do its job!\n* You can force the request to start right now (section 4), but it will kill any run in progress. Also, if constraints aren't met it will fail right now. Again, use with care.
<<slider "" "Schedule Image Series Help" Help "Helpful information">><html><span style="font-size: large;background-color:#ff8"> <- You should look at this! There is a lot here.</span></html>\n<html>\n<!-- This was the "photometry" form, hence the SPhotxxx names, which remain -->\n<form name="SPhotForm" id="SPhotForm">\n <h2 id="SPhotSect1" title="Click to toggle section visibility">1. Scheduler Project</h2>\n <div id="SPhotSlide1">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Select Project:</td>\n <td><select name="Project" id="SPhotProject"></select> (select existing project, or...) <a href="javascript:;" onClick='DC3.Lib.fillInnerHTML("/ac/asgenprojlist.asp", "SPhotProject");'>Refresh Project List</a></td>\n </tr>\n <tr>\n <td>New Project:</td>\n <td><input class="txt" name="NewProject" type="text" id="SPhotNewProject" \n size="25" /> (...create new project with this name)</td>\n </tr>\n </table>\n </div>\n <h2 id="SPhotSect2" title="Click to toggle section visibility">2. Object and Coordinates</h2>\n <div id="SPhotSlide2">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Target Name:</td>\n <td><input type="text" name="Target" id="SPhotTarget" size="14" value="" validate="required">\n <input type="hidden" name="visOnly" id="sPhotVisOnly" value="false"></td>\n <td>\n <a id="sphot_getCoords" href="javascript:;" onClick="DC3.CatSearch.lookup(DC3.Lib.getPlace(this), null);" title="Look up coordinates or calculate planetary ephemeris"> Get Coordinates or Ephemeris</a>\n <a id="sphot_getTheSky" style="display:none;" href="javascript:;" onClick="DC3.TheSky.fillFormInfo(DC3.Lib.getPlace(this));" title="Fill in the coordinates from the current target in TheSky"> Get Coordinates From TheSky</a>\n </td>\n </tr>\n <tr>\n <td>Right Asc. (hrs):</td>\n <td><input type="text" name="RA" id="SPhotRA" size="12" value="" validate="sexanum[0:24],required"></td>\n <td><a id="sphot_catSearch" href="javascript:;" onClick="story.displayTiddler(this,'Deep Sky Catalog Search',null,config.options.chkAnimate,false)" \n title="Open the Deep Sky Catalog Search Item"> Deep Sky Catalog Search</a></td>\n </tr>\n <tr>\n <td>Declination (deg):</td>\n <td><input type="text" name="Dec" id="SPhotDec" size="12" value="" validate="sexanum[-90:90],required"></td>\n <td> <i>(coordinates in J2000)</i></td>\n </tr>\n <!--<% if(rotAvail) { %>-->\n <tr>\n <td>Pos. Angle (deg):</td>\n <td><input type="text" name="PA" id="SPhotPA" size="5" value="" validate="number,between[0:360],required"></td>\n <td> <i>(true/sky PA, required)</i></td>\n </tr>\n <!--<% } %>-->\n </table>\n </div>\n <h2 id="SPhotSect3" title="Click to toggle section visibility">3. Images and Processing</h2>\n <div id="SPhotSlide3">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <th>Use</th>\n <th>Count</th>\n <!--<% if(filtNames) { %>-->\n <th>Filter</th>\n <!--<% } %>-->\n <th>Duration</th>\n <th>Binning</th>\n </tr>\n <tr id="SPhotRow1">\n <td><input type="checkbox" name="SPhotUse1" id="SPhotUse1" value="yes"></td>\n <td><input type="text" name="SPhotCount1" id="SPhotCount1" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter1" id="SPhotFilter1">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure1" id="SPhotExposure1" size="5" value=""></td>\n <td><select name="SPhotBinning1" id="SPhotBinning1">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow2">\n <td><input type="checkbox" name="SPhotUse2" id="SPhotUse2" value="yes"></td>\n <td><input type="text" name="SPhotCount2" id="SPhotCount2" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter2" id="SPhotFilter2">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure2" id="SPhotExposure2" size="5" value=""></td>\n <td><select name="SPhotBinning2" id="SPhotBinning2">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow3">\n <td><input type="checkbox" name="SPhotUse3" id="SPhotUse3" value="yes"></td>\n <td><input type="text" name="SPhotCount3" id="SPhotCount3" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter3" id="SPhotFilter3">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure3" id="SPhotExposure3" size="5" value=""></td>\n <td><select name="SPhotBinning3" id="SPhotBinning3">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow4" style="display:none">\n <td><input type="checkbox" name="SPhotUse4" id="SPhotUse4" value="yes"></td>\n <td><input type="text" name="SPhotCount4" id="SPhotCount4" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter4" id="SPhotFilter4">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure4" id="SPhotExposure4" size="5" value=""></td>\n <td><select name="SPhotBinning4" id="SPhotBinning4">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow5" style="display:none">\n <td><input type="checkbox" name="SPhotUse5" id="SPhotUse5" value="yes"></td>\n <td><input type="text" name="SPhotCount5" id="SPhotCount5" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter5" id="SPhotFilter5">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure5" id="SPhotExposure5" size="5" value=""></td>\n <td><select name="SPhotBinning5" id="SPhotBinning5">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow6" style="display:none">\n <td><input type="checkbox" name="SPhotUse6" id="SPhotUse6" value="yes"></td>\n <td><input type="text" name="SPhotCount6" id="SPhotCount6" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter6" id="SPhotFilter6">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure6" id="SPhotExposure6" size="5" value=""></td>\n <td><select name="SPhotBinning6" id="SPhotBinning6">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow7" style="display:none">\n <td><input type="checkbox" name="SPhotUse7" id="SPhotUse7" value="yes"></td>\n <td><input type="text" name="SPhotCount7" id="SPhotCount7" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter7" id="SPhotFilter7">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure7" id="SPhotExposure7" size="5" value=""></td>\n <td><select name="SPhotBinning7" id="SPhotBinning7">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow8" style="display:none">\n <td><input type="checkbox" name="SPhotUse8" id="SPhotUse8" value="yes"></td>\n <td><input type="text" name="SPhotCount8" id="SPhotCount8" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter8" id="SPhotFilter8">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure8" id="SPhotExposure8" size="5" value=""></td>\n <td><select name="SPhotBinning8" id="SPhotBinning8">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow9" style="display:none">\n <td><input type="checkbox" name="SPhotUse9" id="SPhotUse9" value="yes"></td>\n <td><input type="text" name="SPhotCount9" id="SPhotCount9" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter9" id="SPhotFilter9">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure9" id="SPhotExposure9" size="5" value=""></td>\n <td><select name="SPhotBinning9" id="SPhotBinning9">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow10" style="display:none">\n <td><input type="checkbox" name="SPhotUse10" id="SPhotUse10" value="yes"></td>\n <td><input type="text" name="SPhotCount10" id="SPhotCount10" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter10" id="SPhotFilter10">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure10" id="SPhotExposure10" size="5" value=""></td>\n <td><select name="SPhotBinning10" id="SPhotBinning10">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow11" style="display:none">\n <td><input type="checkbox" name="SPhotUse11" id="SPhotUse11" value="yes"></td>\n <td><input type="text" name="SPhotCount11" id="SPhotCount11" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter11" id="SPhotFilter11">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure11" id="SPhotExposure11" size="5" value=""></td>\n <td><select name="SPhotBinning11" id="SPhotBinning11">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow12" style="display:none">\n <td><input type="checkbox" name="SPhotUse12" id="SPhotUse12" value="yes"></td>\n <td><input type="text" name="SPhotCount12" id="SPhotCount12" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter12" id="SPhotFilter12">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure12" id="SPhotExposure12" size="5" value=""></td>\n <td><select name="SPhotBinning12" id="SPhotBinning12">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow13" style="display:none">\n <td><input type="checkbox" name="SPhotUse13" id="SPhotUse13" value="yes"></td>\n <td><input type="text" name="SPhotCount13" id="SPhotCount13" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter13" id="SPhotFilter13">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure13" id="SPhotExposure13" size="5" value=""></td>\n <td><select name="SPhotBinning13" id="SPhotBinning13">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow14" style="display:none">\n <td><input type="checkbox" name="SPhotUse14" id="SPhotUse14" value="yes"></td>\n <td><input type="text" name="SPhotCount14" id="SPhotCount14" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter14" id="SPhotFilter14">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure14" id="SPhotExposure14" size="5" value=""></td>\n <td><select name="SPhotBinning14" id="SPhotBinning14">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow15" style="display:none">\n <td><input type="checkbox" name="SPhotUse15" id="SPhotUse15" value="yes"></td>\n <td><input type="text" name="SPhotCount15" id="SPhotCount15" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter15" id="SPhotFilter15">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure15" id="SPhotExposure15" size="5" value=""></td>\n <td><select name="SPhotBinning15" id="SPhotBinning15">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="SPhotRow16" style="display:none">\n <td><input type="checkbox" name="SPhotUse16" id="SPhotUse16" value="yes"></td>\n <td><input type="text" name="SPhotCount16" id="SPhotCount16" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="SPhotFilter16" id="SPhotFilter16">\n <%= filterNameOptionsSch() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="SPhotExposure16" id="SPhotExposure16" size="5" value=""></td>\n <td><select name="SPhotBinning16" id="SPhotBinning16">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr>\n <td colspan="5"><a href="javascript:;" class="button" title="Click to add another row" onclick="DC3.Lib.expandoAddRow('SPhot');">More</a></td>\n </tr>\n <tr>\n <td>Dithering:</td>\n <td><input type="text" name="SPhotDither" id="SPhotDither" size="5" value="0.0" validate="number,required"></td>\n <!--<% if(ditherMainPixels) { %>-->\n <td colspan="3"><i>(main imager pixels, -1.0 for auto)</td>\n <!--<% } else { %>-->\n <td colspan="3"><i>(pixels rms <img src="/im/tinyInfo.png" width="16" height="16" border="none" \n align="absmiddle" hspace="6" title="If guided: guider pixels. If unguided: main imager pixels." />\n -1.0 for auto)</i></td>\n <!--<% } %>-->\n </tr>\n <!--<% if(!schPerAF) { %>-->\n <tr>\n <td>Auto Focus:</td>\n <td><input type="checkbox" name="AutoFocus" id="SPhotAF" size="0" value="yes"></td>\n <td colspan="3"><i><img src="/im/tinyInfo.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Automatic focus management has been disabled."> Autofocus before each block of images</i></td>\n </tr>\n <!--<% } %>-->\n <!--<% if(!acpAutoCal) { %>-->\n <tr>\n <td>Auto Calibrate:</td>\n <td><input type="checkbox" name="AutoCal" id="SPhotCal" size="0" value="yes"></td>\n <td> Perform full calibration after acquiring</td>\n </tr>\n <!--<% } %>-->\n <tr>\n <td>Hot Pixels:</td>\n <td><input type="checkbox" name="HotPix" id="SPhotHot" size="0" value="yes"></td>\n <td> Remove hot pixels after calibration</td>\n </tr>\n </table>\n </div>\n <h2 id="SPhotSect4" title="Click to toggle section visibility">4. Constraints</h2>\n <div id="SPhotSlide4">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Horizon:</td>\n <td><input type="text" name="Horizon" id="SPhotHorizon" size="5" value="35" validate="between[0:85]"></td>\n <td><i>(degrees, must be above this altitude)</i></td>\n </tr>\n <tr>\n <td>Hour Angle:</td>\n <td><input type="text" name="HAEast" id="SPhotHAEast" size="5" value="" validate="sexanum[-12:12]"> \n <input type="text" name="HAWest" id="SPhotHAWest" size="5" value="" validate="sexanum[-12:12]"></td>\n <td><i>(Hours E, W, -east, must be within HA range)</i></td>\n </tr>\n <tr>\n <td>Air Mass Range:</td>\n <td><input type="text" name="AmLow" id="SPhotAmLow" size="5" value="" validate="between[1:10]"> \n <input type="text" name="AmHigh" id="SPhotAmHigh" size="5" value="" validate="between[1:10]"></td>\n <td><i>(max, min - relative air mass <img src="/im/tinyInfo.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Use a minimum of 1.0 for 'air mass below' constraint" /> must be within this range)</i></td>\n </tr>\n <tr name="SPhotMoonAvoidRow" id="SPhotMoonAvoidRow">\n <td>Moon Avoid:</td>\n <td><input type="text" name="MADist" id="SPhotMADist" size="5" value="" validate="between[1:120]"> \n <input type="text" name="MAWidth" id="SPhotMAWidth" size="5" value="" validate="between[1:14]"></td>\n <td><i>(distance degrees, width days <img src="/im/tinyInfo.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Moon Avoidance Lorentzian" /> <a href="javascript:;" title="Moon Avoidance Lorentzian Help"\n onClick="story.displayTiddler(this,'Moon Avoidance Lorentzian Help',null,config.options.chkAnimate,false)">Moon Avoid Help</a>)</i></td>\n </tr>\n <tr>\n <td>Moon Down:</td>\n <td><input type="checkbox" name="MDown" id="SPhotMDown" size="0" value="yes"></td>\n <td><i>(Moon must be below horizon, ignore Moon Avoid)</i></td>\n </tr>\n <tr>\n <td>Sky Condition:</td>\n <td><select name="SkyCond" id="SPhotSkyCond">\n <option value="4">Excellent</option>\n <option value="3" selected>Good</option>\n <option value="2">Fair</option>\n </select></td>\n <td><i>(Sky must be at least this good)</i></td>\n </tr>\n </table>\n </div>\n <h2 id="SPhotSect5" title="Click to toggle section visibility">5. Priority and Series</h2>\n <div id="SPhotSlide5">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Priority:</td>\n <td><input type="text" name="Priority" id="SPhotPriority" size="5" value="0" validate="number,required"></td>\n <!--<% if(schUserPrio) { %>-->\n <td colspan="4"><i>(each observer has own priority scale)</i></td>\n <!--<%} else { %>-->\n <td colspan="4"><i>(all observers share priority scale)</i></td>\n <!--<% } %>-->\n </tr>\n <tr>\n <td>Repeat Series:</td>\n <td><input type="text" name="SPhotRepeat" id="SPhotRepeat" size="5" value="1" validate="number,required"></td>\n <td colspan="4"><i>(repeat entire image set this many times)</i></td>\n </tr>\n <tr name="SPhotTimeSpaceRow" id="SPhotTimeSpaceRow">\n <td>Time Spacing:</td>\n <td><input type="text" name="SPhotTimeSpace" id="SPhotTimeSpace" size="5" value="0" validate="number,required"></td>\n <td><i>(sec, start to start)</i> </td>\n <td>Spacing Tol:</td>\n <td><input type="text" name="SPhotTimeTol" id="SPhotTimeTol" size="5" value="0" validate="number,required"></td>\n <td><i>(sec, early/late)</i></td>\n </tr>\n <tr>\n <td>Best Efforts:</td>\n <td><input type="checkbox" name="SPhotBestEfforts" id="SPhotBestEfforts" size="0" value="yes"></td>\n <td colspan="4"><i>(OK if series terminates early)</i></td>\n </tr>\n </table>\n </div>\n <h2 id="SPhotSect6" title="Click to toggle section visibility">6. Timing and Monitor Mode</h2>\n <div id="SPhotSlide6">\n <table class="noBorder" style="border:0;margin-left:0;">\n <tr>\n <td>Monitor Interval:</td>\n <td><input type="text" name="SPhotMonitorInt" id="SPhotMonitorInt" size="5" value="0" validate="number"></td>\n <td><i>(days, requeue every 'n' days forever or until "Must Run Before")</i></td>\n </tr>\n <tr>\n <td>Must Run After:</td>\n <td colspan="2"><input type="text" name="SPhotMustAfter" id="SPhotMustAfter" size="20" value="" validate="idatetime">\n  <i>(UTC, ex: 2014/03/30 03:12:44)</i></td>\n </tr>\n <tr>\n <td>Must Run Before:</td>\n <td colspan="2"><input type="text" name="SPhotMustBefore" id="SPhotMustBefore" size="20" value="" validate="idatetime">\n  <i>(UTC, ex: 2014/03/30 03:12:44)</i></td>\n </tr>\n <tr>\n <td>Fixed Time:</td>\n <td><input type="checkbox" name="SPhotFixedTime" id="SPhotFixedTime" size="0" value="yes"></td>\n <td><i>(override dispatcher <img src="/im/tinyWarn.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Forces run at Must Run After time. The Must Run Before time and Monitor Mode are ignored." /> <u>use with caution!</u>)</i></td>\n </tr>\n <tr>\n <td>Run Now:</td>\n <td><input type="checkbox" name="SPhotRunNow" id="SPhotRunNow" size="0" value="yes"></td>\n <td><i>(start immediately <img src="/im/tinyWarn.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="Interrupts current Observation if running and starts this immediately" /> if constraints met)</i></td>\n </tr>\n </table>\n </div>\n <input type="checkbox" name="autoSubmit" id="SPhotAutoSubmit" value="yes">Enable requests immediately</input>\n</form>\n</html>\n<<PersistentForm>><<PostForm "" "/ac/asphotosingle.asp" "Submit Request" "Sends this request to the scheduler">><<ValidateForm "" "postit">><script>\n//<% if(!acpAutoCal) { %>\n$('#SPhotCal').change(function () {\n if(this.checked) {\n $('#SPhotHot').fadeTo('slow', 1.0);\n $('#SPhotHot').prop('disabled', false);\n } else {\n $('#SPhotHot').prop('disabled', true);\n $('#SPhotHot').fadeTo('slow', 0.2);\n }\n });\n//<% } %>\n// DC3.TheSky.setTargetInfo() and DC3.TheSky.switchLink() depend on the link IDs!\nif(DC3.TheSky.theSkyInfoAvailable()) DC3.TheSky.switchLink("sphot");\nDC3.Lib.expandoInitializeForm("SPhot");\n$('#SPhotSect1').click(function () {\n $('#SPhotSlide1').fadeToggle('slow');\n });\n$('#SPhotSect2').click(function () {\n $('#SPhotSlide2').fadeToggle('slow');\n });\n$('#SPhotSect3').click(function () {\n $('#SPhotSlide3').fadeToggle('slow');\n });\n$('#SPhotSect4').click(function () {\n $('#SPhotSlide4').fadeToggle('slow');\n $('#SPhotMDown').trigger(jQuery.Event('change'));\n });\n$('#SPhotMDown').change(function() {\n if($('#SPhotMDown').is(':checked')) {\n $('#SPhotMoonAvoidRow').fadeOut('slow');\n $('#SPhotMADist').val('');\n $('#SPhotMAWidth').val('');\n } else {\n $('#SPhotMoonAvoidRow').fadeIn('slow');\n }\n });\n$('#SPhotSect5').click(function () {\n $('#SPhotSlide5').fadeToggle('slow');\n $('#SPhotRepeat').trigger(jQuery.Event('input'));\n });\n$('#SPhotRepeat').on('input', function() {\n if(parseInt($('#SPhotRepeat').val()) > 1) {\n $('#SPhotTimeSpaceRow').fadeIn('slow');\n } else {\n $('#SPhotTimeSpaceRow').fadeOut('slow');\n $('#SPhotTimeSpace').val('0');\n $('#SPhotTimeTol').val('0');\n }\n });\n$('#SPhotSect6').click(function () {\n $('#SPhotSlide6').fadeToggle('slow');\n if($('#SPhotRunNow').is(':checked') || $('#SPhotFixedTime').is(':checked')) {\n $('#SPhotMonitorInt').fadeTo('slow', 0.2);\n $('#SPhotMustBefore').fadeTo('slow', 0.2);\n }\n if($('#SPhotRunNow').is(':checked')) {\n $('#SPhotMustAfter').fadeTo('slow', 0.2);\n $('#SPhotFixedTime').fadeTo('slow', 0.2);\n }\n });\n$('#SPhotRunNow').change(function() {\n if($('#SPhotRunNow').is(':checked')) {\n $('#SPhotMonitorInt').fadeTo('slow', 0.2);\n $('#SPhotMustAfter').fadeTo('slow', 0.2);\n $('#SPhotMustBefore').fadeTo('slow', 0.2);\n $('#SPhotFixedTime').fadeTo('slow', 0.2);\n } else {\n $('#SPhotMustAfter').fadeTo('slow', 1.0);\n $('#SPhotFixedTime').fadeTo('slow', 1.0);\n if($('#SPhotFixedTime').is(':checked')) {\n $('#SPhotMonitorInt').fadeTo('slow', 0.2);\n $('#SPhotMustBefore').fadeTo('slow', 0.2);\n } else {\n $('#SPhotMonitorInt').fadeTo('slow', 1.0);\n $('#SPhotMustBefore').fadeTo('slow', 1.0);\n }\n }\n });\n$('#SPhotFixedTime').change(function() {\n if($('#SPhotFixedTime').is(':checked')) {\n $('#SPhotMonitorInt').fadeTo('slow', 0.2);\n $('#SPhotMustBefore').fadeTo('slow', 0.2);\n } else {\n $('#SPhotMonitorInt').fadeTo('slow', 1.0);\n $('#SPhotMustBefore').fadeTo('slow', 1.0);\n }\n });\n//<% if(!acpAutoCal) { %>\n// Init the HotPix checkbox per AutoCal\n$('#SPhotCal').trigger(jQuery.Event('change'));\n//<% } %>\n//Pre-collapse here, do NOT use display:none, validation will fail\n$('#SPhotSlide4').fadeOut(0);\n$('#SPhotMoonAvoidRow').fadeOut(0);\n$('#SPhotSlide5').fadeOut(0);\n$('#SPhotTimeSpaceRow').fadeOut(0);\n$('#SPhotSlide6').fadeOut(0);\n//\n// This refreshes the Project list...\n//\nDC3.Lib.fillInnerHTML("/ac/asgenprojlist.asp", "SPhotProject");\n</script>\n
\n!!Summary\nSubmit a request to the scheduler for a series of images in multiple colors/bands to be done\n*Within a single block of time\n*Multiple sets of images separated in time (//time series//).\nThe form allows considerable flexibility in how the request is structured, so take the time to look at the options and be creative. For example, you can acquire images in B,V,R,I,B,V,R,I... by specifying the B,V,R,I images, then specifying ''Repeat'' greater than one. Leave the ''Time Spacing'' and ''Spacing Tol'' fields set to 0 in order to have the entire repeating sets of images scheduled as a __single Observation__ (a single ACP acquisition run).\n\n@@''NOTE'' With this form, you can easily create a request which will fill the entire night, or worse, be so long it cannot fit into the (rest of) the night and meet constraints.@@\n!!Time Series\nWhen you enter a value greater than 1 into ''Repeat'', you have the option of entering non-zero values into the ''Time Spacing'' and ''Spacing Tol'' fields. Each field takes time values in seconds. In this case, the set of images is repeated periodically as separate Observations (ACP runs) with ''Time Spacing'' seconds between each. @@Scheduler will try to fill the spaces with other work.@@ \n!!Other Info\nYou can specify both deep sky and solar system targets, and the latter will have their ephemerides calculated automatically. See [[How to Specify Targets]]. Normally, the request will be entered in a disabled state, requiring you to enable it with the [[Schedule Browser|/sc/index.asp]] before it can run. However, if you check the ''Enable requests immediately'' box your request will be runnable without further action. This does //not// mean it will run immediately, of course.\n\nThe form should be self-evident, but here are a few things to note:\n* Newly created projects won't appear in the Select Project list until click/touch ''Refresh Project List''. It's OK to keep using the same "new" project name repeatedly.\n* Here details on the useful [[Moon Avoid constraint|Moon Avoidance Lorentzian Help]] (section 4). It is ignored if you specify ''Moon Down''.\n* Be very careful using the Timing features (section 6). You can easily create impossible situations. Relax and let the scheduler do its job!\n* The ''Best Efforts'' feature will let you create long requests which will be started when it's known that constraints can be met throughout. The Plan will stop when it encounters the first Observation that cannot meet constraints. Maybe you should design the request to run in a known time, and also use the Time Series feature to allow other work to be inserted between Observations. \n* You can force the request to start right now (section 6), but it will kill any run in progress. Also, if constraints aren't met it will fail right now. Again, use with care.
\nversion.extensions.SelectThemePlugin={major:1,minor:2,revision:5,date:new Date(2006,10,27),type:'macro',source:"http://lewcid.googlepages.com/lewcid.html#SelectTheme"};config.SelectTheme={things:{style:{tag:["StyleSheets","StyleSheet","styleSheet","styleSheets","stylesheet","stylesheets"],theDefault:"FireStyleSheet",suffix:"StyleSheet",notify:refreshStyles,cookie:"txtStyleSheet",otherThing:"pagetemplate",label:"Choose StyleSheet: ",tooltip:"Choose a StyleSheet"},pagetemplate:{tag:["PageTemplates","PageTemplate","pageTemplates","pageTemplate","pagetemplate","pagetemplates"],theDefault:"FirePageTemplate",suffix:"PageTemplate",notify:refreshPageTemplate,cookie:"txtPageTemplate",otherThing:"style",label:"Choose PageTemplate: ",tooltip:"Choose a PageTemplate"}}};TiddlyWiki.prototype.removeNotification=function(title,fn)\n{for(var i=0;i<this.namedNotifications.length;i++){if((this.namedNotifications[i].name==title)&&(this.namedNotifications[i].notify==fn))\nthis.namedNotifications.splice(i,1);}};var things=config.SelectTheme.things;for(var zz in things)\n{if(!config.options[things[zz].cookie])\nconfig.options[things[zz].cookie]=things[zz].theDefault;store.removeNotification(things[zz].theDefault,things[zz].notify);store.addNotification(config.options[things[zz].cookie],things[zz].notify);}\nTiddlyWiki.prototype.isTiddler=function(title)\n{return store.tiddlerExists(title)||store.isShadowTiddler(title);};window.refreshPageTemplate_themeSelect=window.refreshPageTemplate;window.refreshPageTemplate=function(title)\n{if(!store.isTiddler(title))\n{title=things.pagetemplate.theDefault;}\nrefreshPageTemplate_themeSelect(title);};TiddlyWiki.prototype.makeActiveTheme=function(what,title,alsoCheckOtherThing)\n{var thing=things[what];if(!store.isTiddler(title))\ntitle=thing.theDefault;var oldTitle=config.options[thing.cookie];if(what=="style")\n{var oldStyleElement=document.getElementById(oldTitle);oldStyleElement.parentNode.removeChild(oldStyleElement);}\nstore.removeNotification(oldTitle,thing.notify);store.addNotification(title,thing.notify);store.notify(title);config.options[thing.cookie]=title;saveOptionCookie(thing.cookie);if(alsoCheckOtherThing)\nthis.makeActiveTheme(thing.otherThing,title.replace(new RegExp(thing.suffix+"$"),"")+things[thing.otherThing].suffix,false);};function switchTheme(e)\n{if(!e)e=window.event;var theTarget=resolveTarget(e);var theLink=theTarget;var switchTo=theLink.getAttribute("switchTo");var mode=theLink.getAttribute("mode");if((config.options[things[mode].cookie])!=switchTo)\n{store.makeActiveTheme(mode,switchTo,true);}\nreturn(false);}\nconfig.macros.themeSelect={};config.macros.themeSelect.dropdownchar=(document.all?"\su25BC":"\su25BE");config.macros.themeSelect.handler=function(place,macroName,params,wikifier,paramString,tiddler)\n{var arrow=config.macros.themeSelect.dropdownchar;var mode=params[0];var label=(params[1]?params[1]:things[mode].label)+arrow;var tooltip=params[2]?params[2]:things[mode].tooltip;var cookie=(config.options[things[mode].cookie]);var onclick=function(e)\n{if(!e)e=window.event;var popup=Popup.create(this);var tagged=[];store.forEachTiddler(function(title,tiddler)\n{if((tiddler.tags).containsAny(things[mode].tag))\n{tagged.push(tiddler.title);}});var createThemeButton=function(switchTo)\n{var theButton=createTiddlyButton(createTiddlyElement(popup,"li"),text,null,switchTheme,useClass);theButton.setAttribute("switchTo",switchTo);theButton.setAttribute("mode",mode);};for(var t=0;t<tagged.length;t++)\n{var useClass="tiddlyLinkExisting";var text=(tagged[t]).replace((things[mode].suffix),"");if(tagged[t]==(cookie))\n{text+=" [x]";useClass="currentlySelected";}\ncreateThemeButton(tagged[t]);}\nPopup.show(popup,false);e.cancelBubble=true;if(e.stopPropagation)\ne.stopPropagation();return(false);};var createdropperButton=function(place)\n{var sp=createTiddlyElement(place,"span",null,"ThemeChooserButton");var theDropDownBtn=createTiddlyButton(sp,label,tooltip,onclick);};createdropperButton(place);};setStylesheet(".popup li a.currentlySelected {background:#ccc;color:black;font-weight:bold;}","currentlySelectedStyle");config.macros.layoutChooser=config.macros.themeSelect;config.macros.applyTheme={handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var theme=params[0];var label=params[1]?params[1]:'Apply theme "'+theme+'"';var tooltip='Apply the "'+theme+'" theme to this display';createTiddlyButton(place,label,tooltip,function(){store.makeActiveTheme("style",theme+things.style.suffix,true);});}};
<% if(!screenFlats) { %><<slider "" "Sky Flats Help" "Help for Sky Flats" "Helpful information">>\n<% } %>\nSet up the standard flats to be taken when the Dusk Flats and/or Dawn Flats checkboxes are used in the [[Single Object Color Series]] form. The standard flats are also used by the [[Standard Flat Fields]] item.<% if(!screenFlats) { %> @@You can use the [[Sky Flat Analyzer]] tool to help you order your flat filters and binnings to make the most of the twilight time.@@<% } %>\n<html><form id="SFlatPlanForm">\n <table class="noBorder" style="border:0;margin-left:0">\n <tr>\n <th align="left">Use</th>\n <th align="left">Count</th>\n<!--<% if(filtNames) { %>-->\n <th align="left">Filter</th>\n<!--<% } %>-->\n <th align="left">Binning</th>\n<!--<% if(rotAvail) { %>-->\n <th align="left">Sky PA</th>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow1">\n <td><input type="checkbox" name="SFlatUse1" id="SFlatUse1" value="yes"></td>\n <td><input type="text" name="SFlatCount1" id="SFlatCount1" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter1" id="SFlatFilter1"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning1" id="SFlatBinning1"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA1" id="SFlatPA1" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow2" style="display:none">\n <td><input type="checkbox" name="SFlatUse2" id="SFlatUse2" value="yes"></td>\n <td><input type="text" name="SFlatCount2" id="SFlatCount2" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter2" id="SFlatFilter2"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning2" id="SFlatBinning2"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA2" id="SFlatPA2" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow3" style="display:none">\n <td><input type="checkbox" name="SFlatUse3" id="SFlatUse3" value="yes"></td>\n <td><input type="text" name="SFlatCount3" id="SFlatCount3" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter3" id="SFlatFilter3"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning3" id="SFlatBinning3"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA3" id="SFlatPA3" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow4" style="display:none">\n <td><input type="checkbox" name="SFlatUse4" id="SFlatUse4" value="yes"></td>\n <td><input type="text" name="SFlatCount4" id="SFlatCount4" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter4" id="SFlatFilter4"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning4" id="SFlatBinning4"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA4" id="SFlatPA4" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow5" style="display:none">\n <td><input type="checkbox" name="SFlatUse5" id="SFlatUse5" value="yes"></td>\n <td><input type="text" name="SFlatCount5" id="SFlatCount5" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter5" id="SFlatFilter5"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning5" id="SFlatBinning5"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA5" id="SFlatPA5" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow6" style="display:none">\n <td><input type="checkbox" name="SFlatUse6" id="SFlatUse6" value="yes"></td>\n <td><input type="text" name="SFlatCount6" id="SFlatCount6" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter6" id="SFlatFilter6"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning6" id="SFlatBinning6"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA6" id="SFlatPA6" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow7" style="display:none">\n <td><input type="checkbox" name="SFlatUse7" id="SFlatUse7" value="yes"></td>\n <td><input type="text" name="SFlatCount7" id="SFlatCount7" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter7" id="SFlatFilter7"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning7" id="SFlatBinning7"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA7" id="SFlatPA7" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow8" style="display:none">\n <td><input type="checkbox" name="SFlatUse8" id="SFlatUse8" value="yes"></td>\n <td><input type="text" name="SFlatCount8" id="SFlatCount8" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter8" id="SFlatFilter8"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning8" id="SFlatBinning8"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA8" id="SFlatPA8" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow9" style="display:none">\n <td><input type="checkbox" name="SFlatUse9" id="SFlatUse9" value="yes"></td>\n <td><input type="text" name="SFlatCount9" id="SFlatCount9" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter9" id="SFlatFilter9"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning9" id="SFlatBinning9"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA9" id="SFlatPA9" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow10" style="display:none">\n <td><input type="checkbox" name="SFlatUse10" id="SFlatUse10" value="yes"></td>\n <td><input type="text" name="SFlatCount10" id="SFlatCount10" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter10" id="SFlatFilter10"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning10" id="SFlatBinning10"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA10" id="SFlatPA10" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow11" style="display:none">\n <td><input type="checkbox" name="SFlatUse11" id="SFlatUse11" value="yes"></td>\n <td><input type="text" name="SFlatCount11" id="SFlatCount11" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter11" id="SFlatFilter11"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning11" id="SFlatBinning11"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA11" id="SFlatPA11" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow12" style="display:none">\n <td><input type="checkbox" name="SFlatUse12" id="SFlatUse12" value="yes"></td>\n <td><input type="text" name="SFlatCount12" id="SFlatCount12" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter12" id="SFlatFilter12"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning12" id="SFlatBinning12"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA12" id="SFlatPA12" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow13" style="display:none">\n <td><input type="checkbox" name="SFlatUse13" id="SFlatUse13" value="yes"></td>\n <td><input type="text" name="SFlatCount13" id="SFlatCount13" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter13" id="SFlatFilter13"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning13" id="SFlatBinning13"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA13" id="SFlatPA13" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow14" style="display:none">\n <td><input type="checkbox" name="SFlatUse14" id="SFlatUse14" value="yes"></td>\n <td><input type="text" name="SFlatCount14" id="SFlatCount14" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter14" id="SFlatFilter14"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning14" id="SFlatBinning14"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA14" id="SFlatPA14" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow15" style="display:none">\n <td><input type="checkbox" name="SFlatUse15" id="SFlatUse15" value="yes"></td>\n <td><input type="text" name="SFlatCount15" id="SFlatCount15" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter15" id="SFlatFilter15"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning15" id="SFlatBinning15"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA15" id="SFlatPA15" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr id="SFlatRow16" style="display:none">\n <td><input type="checkbox" name="SFlatUse16" id="SFlatUse16" value="yes"></td>\n <td><input type="text" name="SFlatCount16" id="SFlatCount16" size="4" value=""></td>\n<!--<% if(filtNames) { %>-->\n <td><select name="SFlatFilter16" id="SFlatFilter16"><%= filterNameOptions() %></select></td>\n<!--<% } %>-->\n <td><select name="SFlatBinning16" id="SFlatBinning16"><%= binningOptions() %></select></td>\n<!--<% if(rotAvail) { %>-->\n <td><input type="text" name="SFlatPA16" id="SFlatPA16" size="4" value="0.0"></td>\n<!--<% } %>-->\n </tr>\n <tr>\n <td colspan="5"><a href="javascript:;" class="button" title="Click to add another row" onclick="DC3.Lib.expandoAddRow('SFlat');">More</a></td>\n </tr>\n<!--<% if(screenFlats) { %>-->\n <input type="hidden" name="SFlatPlanType" value="both" />\n<!--<% } else { %>-->\n <tr>\n <td colspan="5">Saved standard flat plan type:</td>\n </tr>\n <tr>\n <td colspan="5">\n <label><input type="radio" name="SFlatPlanType" value="both" checked />Same at dusk and dawn</label>\n <label><input type="radio" name="SFlatPlanType" value="dusk" />Dusk</label>\n <label><input type="radio" name="SFlatPlanType" value="dawn" />Dawn</label>\n </td>\n </tr>\n<!--<% } %>-->\n </table>\n</form></html><<PersistentForm>><<PostForm "" "/ac/adefflat.asp" "Save Flat Plan" "Upload this flat plan to your plans folder">><<ValidateForm "" "postit">>\n<script>DC3.Lib.expandoInitializeForm('SFlat');</script>
We suggest [[using FTP|Using FTP]]. <<RemoteContent '/uploads/aindex.asp' Refresh 'Refresh the file list'>>
<html><a href="<%= feedUri %>"><img src="/im/feed-icon-14x14.png" border="0" title="Subscribe to RSS feed" width="14" height="14" align="right"></a></html><<search>><<closeAll>><<themeSelect style 'select theme' 'Select a color theme for display'>><<fontSize "font: ">><<newTiddler>><<saveChanges>><<upload>>[[Test Live|index.asp]]<<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change advanced options'>>
This just tests the console by printing a message every second. To stop it, use the Stop Run button in the System Status log panel (at the bottom).
<<slider "" "Single Object Help" Help "Helpful information">>\n<html>\n<form>\n <table class="noBorder" style="border:0;margin-left:0">\n <tr>\n <td>Target Name:</td>\n <td><input type="text" name="Target" id="clr_tgt" size="14" value="" validate="required">\n <input type="hidden" name="visOnly" id="clr_visOnly" value="true"></td>\n <td>\n <a id="clr_getCoords" href="javascript:;" onClick="DC3.CatSearch.lookup(DC3.Lib.getPlace(this), null);" title="Look up coordinates or calculate planetary ephemeris"> Get Coordinates or Ephemeris</a>\n <a id="clr_getTheSky" style="display:none;" href="javascript:;" onClick="DC3.TheSky.fillFormInfo(DC3.Lib.getPlace(this));" title="Fill in the coordinates from the current target in TheSky"> Get Coordinates From TheSky</a>\n </td>\n </tr>\n <tr>\n <td>Right Asc. (hrs):</td>\n <td><input type="text" name="RA" id="clr_ra" size="12" value="" validate="sexanum[0:24],required"></td>\n <td><a id="clr_catSearch" href="javascript:;" onClick="story.displayTiddler(this,'Deep Sky Catalog Search',null,config.options.chkAnimate,false)" title="Open the Deep Sky Catalog Search Item"> Deep Sky Catalog Search</a></td>\n </tr>\n <tr>\n <td>Declination (deg):</td>\n <td><input type="text" name="Dec" id="clr_dec" size="12" value="" validate="sexanum[-90:90],required"></td>\n <td> <i>(coordinates in J2000)</i></td>\n </tr>\n <!--<% if(rotAvail) { %>-->\n <tr>\n <td>Pos. Angle (deg):</td>\n <td><input type="text" name="PA" size="5" value="" validate="between[0:360],required"></td>\n <td> <i>(true/sky PA, required)</i></td>\n </tr>\n <!--<% } %>--> \n <!--<% if(!filtNames) { %>-->\n <tr>\n <td colspan="3"><span class="marked">Note: There are no filters on this system</span></td>\n </tr>\n <!--<% } %>-->\n </table>\n <table class="noBorder" style="border:0;margin-left:0;margin-top:0">\n <tr>\n <th>Use</th>\n <th>Count</th>\n <!--<% if(filtNames) { %>-->\n <th>Filter</th>\n <!--<% } %>-->\n <th>Duration</th>\n <th>Binning</th>\n <td> </td>\n </tr>\n <tr id="ColorRow1">\n <td><input type="checkbox" name="ColorUse1" id="ColorUse1" value="yes"></td>\n <td><input type="text" name="ColorCount1" id="ColorCount1" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter1" id="ColorFilter1">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure1" id="ColorExposure1" size="5" value=""></td>\n <td><select name="ColorBinning1" id="ColorBinning1">\n <%= binningOptions() %>\n </select></td>\n <td><!--<% if(Prefs.Autofocus.Enabled) { %>-->\n \n <input type="checkbox" name="AF" value="yes" title="Focus the system before acquiring the first image">\n Auto focus at start\n </input>\n \n <!--<% } %>-->\n \n <!--<% if(Prefs.CameraPrefs.AutoCalibrate) { %>-->\n <input type="checkbox" checked disabled name="Cal" value="yes" title="Observatory calibrates all images">Auto calibrate</input>\n <!--<% } else { %>-->\n <input type="checkbox" name="Cal" value="yes" title="Apply calibration frames after imaging">Auto calibrate</input>\n <!--<% } %>-->\n </td>\n </tr>\n <tr id="ColorRow2">\n <td><input type="checkbox" name="ColorUse2" id="ColorUse2" value="yes"></td>\n <td><input type="text" name="ColorCount2" id="ColorCount2" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter2" id="ColorFilter2">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure2" id="ColorExposure2" size="5" value=""></td>\n <td><select name="ColorBinning2" id="ColorBinning2">\n <%= binningOptions() %>\n </select></td>\n <td><!--<% if(Prefs.Autofocus.Enabled) { %>-->\n \n <input type="checkbox" name="PerAF" value="yes" title="Does not do an initial AF at plan start">\n Periodic auto focus\n </input>\n every\n <input type="text" name="PerAFInt" size="4" value="30" validate="between[10:720]">\n minutes\n </input>\n \n <!--<% } %>--></td>\n </tr>\n <tr id="ColorRow3">\n <td><input type="checkbox" name="ColorUse3" id="ColorUse3" value="yes"></td>\n <td><input type="text" name="ColorCount3" id="ColorCount3" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter3" id="ColorFilter3">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure3" id="ColorExposure3" size="5" value=""></td>\n <td><select name="ColorBinning3" id="ColorBinning3">\n <%= binningOptions() %>\n </select></td>\n <!--<% if(ditherMainPixels) { %>-->\n <td>Dithering: <input type="text" name="Dither" size="5" value="0.0" validate="number,required"> (main imager pixels rms, -1.0 for auto)</td>\n <!--<% } else { %>-->\n <td>Dithering: <input type="text" name="Dither" size="5" value="0.0" validate="number,required"> (pixels rms <img src="/im/tinyInfo.png" width="16" height="16" border="none" align="absmiddle" \n hspace="6" title="If guided: guider pixels. If unguided: main imager pixels."> -1.0 for auto)</td>\n <!--<% } %>-->\n </tr>\n <tr id="ColorRow4">\n <td><input type="checkbox" name="ColorUse4" id="ColorUse4" value="yes"></td>\n <td><input type="text" name="ColorCount4" id="ColorCount4" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter4" id="ColorFilter4">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure4" id="ColorExposure4" size="5" value=""></td>\n <td><select name="ColorBinning4" id="ColorBinning4">\n <%= binningOptions() %>\n </select></td>\n <td>\n <!--<% if(!screenFlats) { %>-->\n <input type="checkbox" name="DuskFlats" value="yes" title="Requires defaultduskflat or defaultflat">\n Dusk Flats\n </input>\n \n <input type="checkbox" name="DawnFlats" value="yes" title="Requires defaultdawnflat or defaultflat">\n Dawn Flats\n </input>\n <!--<% } else { %>-->\n <input type="checkbox" name="ScreenFlats" value="yes" title="Requires defaultflat">\n Standard screen flats (at end)\n </input>\n <!--<% } %>-->\n <!--<% if(User.IsAdministrator) { %>--> \n \n <input type="checkbox" name="Shutdown" value="yes" title="Ignored if Dawn Flats enabled">\n Shutdown at run end\n </input></td>\n <!--<% } %>--> \n </tr>\n <tr id="ColorRow5" style="display:none">\n <td><input type="checkbox" name="ColorUse5" id="ColorUse5" value="yes"></td>\n <td><input type="text" name="ColorCount5" id="ColorCount5" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter5" id="ColorFilter5">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure5" id="ColorExposure5" size="5" value=""></td>\n <td><select name="ColorBinning5" id="ColorBinning5">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow6" style="display:none">\n <td><input type="checkbox" name="ColorUse6" id="ColorUse6" value="yes"></td>\n <td><input type="text" name="ColorCount6" id="ColorCount6" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter6" id="ColorFilter6">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure6" id="ColorExposure6" size="5" value=""></td>\n <td><select name="ColorBinning6" id="ColorBinning6">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow7" style="display:none">\n <td><input type="checkbox" name="ColorUse7" id="ColorUse7" value="yes"></td>\n <td><input type="text" name="ColorCount7" id="ColorCount7" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter7" id="ColorFilter7">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure7" id="ColorExposure7" size="5" value=""></td>\n <td><select name="ColorBinning7" id="ColorBinning7">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow8" style="display:none">\n <td><input type="checkbox" name="ColorUse8" id="ColorUse8" value="yes"></td>\n <td><input type="text" name="ColorCount8" id="ColorCount8" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter8" id="ColorFilter8">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure8" id="ColorExposure8" size="5" value=""></td>\n <td><select name="ColorBinning8" id="ColorBinning8">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow9" style="display:none">\n <td><input type="checkbox" name="ColorUse9" id="ColorUse9" value="yes"></td>\n <td><input type="text" name="ColorCount9" id="ColorCount9" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter9" id="ColorFilter9">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure9" id="ColorExposure9" size="5" value=""></td>\n <td><select name="ColorBinning9" id="ColorBinning9">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow10" style="display:none">\n <td><input type="checkbox" name="ColorUse10" id="ColorUse10" value="yes"></td>\n <td><input type="text" name="ColorCount10" id="ColorCount10" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter10" id="ColorFilter10">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure10" id="ColorExposure10" size="5" value=""></td>\n <td><select name="ColorBinning10" id="ColorBinning10">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow11" style="display:none">\n <td><input type="checkbox" name="ColorUse11" id="ColorUse11" value="yes"></td>\n <td><input type="text" name="ColorCount11" id="ColorCount11" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter11" id="ColorFilter11">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure11" id="ColorExposure11" size="5" value=""></td>\n <td><select name="ColorBinning11" id="ColorBinning11">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow12" style="display:none">\n <td><input type="checkbox" name="ColorUse12" id="ColorUse12" value="yes"></td>\n <td><input type="text" name="ColorCount12" id="ColorCount12" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter12" id="ColorFilter12">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure12" id="ColorExposure12" size="5" value=""></td>\n <td><select name="ColorBinning12" id="ColorBinning12">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow13" style="display:none">\n <td><input type="checkbox" name="ColorUse13" id="ColorUse13" value="yes"></td>\n <td><input type="text" name="ColorCount13" id="ColorCount13" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter13" id="ColorFilter13">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure13" id="ColorExposure13" size="5" value=""></td>\n <td><select name="ColorBinning13" id="ColorBinning13">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow14" style="display:none">\n <td><input type="checkbox" name="ColorUse14" id="ColorUse14" value="yes"></td>\n <td><input type="text" name="ColorCount14" id="ColorCount14" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter14" id="ColorFilter14">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure14" id="ColorExposure14" size="5" value=""></td>\n <td><select name="ColorBinning14" id="ColorBinning14">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow15" style="display:none">\n <td><input type="checkbox" name="ColorUse15" id="ColorUse15" value="yes"></td>\n <td><input type="text" name="ColorCount15" id="ColorCount15" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter15" id="ColorFilter15">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure15" id="ColorExposure15" size="5" value=""></td>\n <td><select name="ColorBinning15" id="ColorBinning15">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr id="ColorRow16" style="display:none">\n <td><input type="checkbox" name="ColorUse16" id="ColorUse16" value="yes"></td>\n <td><input type="text" name="ColorCount16" id="ColorCount16" size="4" value=""></td>\n <!--<% if(filtNames) { %>-->\n <td><select name="ColorFilter16" id="ColorFilter16">\n <%= filterNameOptions() %>\n </select></td>\n <!--<% } %>-->\n <td><input type="text" name="ColorExposure16" id="ColorExposure16" size="5" value=""></td>\n <td><select name="ColorBinning16" id="ColorBinning16">\n <%= binningOptions() %>\n </select></td>\n </tr>\n <tr>\n <td colspan="5"><a href="javascript:;" class="button" title="Click to add another row" onclick="DC3.Lib.expandoAddRow('Color');">More</a></td>\n </tr>\n </table>\n</form>\n</html><<PersistentForm>><<PostForm "" "/ac/aacqform.asp" "Acquire Images" "Starts the image acquisition process">><<ValidateForm "" "postit">><script>\nDC3.Lib.expandoInitializeForm("Color");\n// DC3.TheSky.setTargetInfo() and DC3.TheSky.switchLink() depend on the link IDs!\nif(DC3.TheSky.theSkyInfoAvailable()) DC3.TheSky.switchLink("clr");\n</script>\n
\nThis is one of the forms that allow you to acquire one or more images of a //single target//. The observatory needs two things:\n#The name and possibly the J2000 coordinates <% if(rotAvail) { %>and sky position angle (PA) <% } %>of the target (see below), and\n#the specs of the image(s) you want taken.\nThis form provides you with a way to specify both. Note that coordinates are always J2000 and can be entered in either sexagesimal or decimal. The sexagesimal translator is very adaptable, most anything for delimiters will work.\n\n//Color Series Only//: <% if(screenFlats) { %>The use of Standard Screen Flats requires require a //standard flat plan//. See [[Setup Standard Flat Fields]]. Flats will be acquired (using the light panel or screen) at the end of the run.<% } else { %>The use of Dawn Flats and Dusk Flats require a //standard flat plan//. See [[Setup Standard Flat Fields]]. Also, selecting Dusk Flats will cause the run to wait until the //next// dusk, so you __must start a run with Dusk Flats before dusk!__ After dusk flats, it wall wait until astronomical night to start your live images. Finally, if your image series finishes too late, you'll miss the dawn flats.<% } %>\n!!Deep Sky Objects\nThe catalog has over 70,000 objects. They are indexed with the abbreviated name of the catalog, a space, then the object name/number in the catalog. For example, Messier object 104 is {{{M 104}}}. Note the space! \n\nIf you know the name, but don't know the coordinates, enter the name and click "Get Coordinates or Ephemeris". If the object is found, the coordinates will appear in the fields.\n\nTo browse the catalog, you can use the [[Deep Sky Catalog|Deep Sky Catalog Search]] to search our databases. Of course, the object you want must be visible (above the low-horizon limit), the higher the better. The best way to pick a target is with a planetarium program like Starry Night or ~TheSky. Also, by default, only visible targets will be returned from a search of the [[Deep Sky Catalog|Deep Sky Catalog Search]].\n!!Minor Planets and Comets\nACP has automatic ephemeris calculation based on the Minor Planet Center's orbital elements database. To specify a minor planet, enter {{{MP}}} followed by a space, then the name or number (for numbered minor planets) or the MPC designation (packed or full, for unnumbered minor planets). For example, the following are equivalent:\n*Numbered minor planet: {{{MP 23257}}} or {{{MP Denny}}}\n*Unnumbered minor planet: {{{MP 2004 LB6}}} or {{{MP K04L06B}}}\nTo specify a comet, enter {{{CT}}} followed by a space, then the number, designation, or name of the comet. For example, the following are equivalent:\n*Numbered comet: {{{CT 00244P}}} or {{{CT 244P/Scotti}}}\n*Unnumbered comet: {{{CT CK12J010}}} or {{{C/2012 J1}}}\nNOTE: For the unnumbered comet by name, do not include the discoverer name in parentheses. In the above, the {{{(Catalina)}}} is omitted from {{{C/2012 J1}}}. \n\nTo check your target, click "Get Coordinates or Ephemeris". The message that appears at the bottom of the item will tell you if it was found or not. The RA/Dec will be zeroes; the real coordinates are calculated at the time the image is taken.\n!!Major Planets\nSimply enter the name of the planet. Moon is not supported.
Turn this on to force newly opened items to //replace// the currently visible one. This can be useful on systems with small displays.
\nversion.extensions.SingleOptionsCookie={major:1,minor:0,revision:0,date:new Date(2006,30,3),type:'core hijack',source:"http://solo.dc3.com/tw/index.html#SingleOptionsCookiePlugin"};window.saveOptionCookie_orig_DC3=window.saveOptionCookie;window.saveOptionCookie=function(optName)\n{if(safeMode)\nreturn;if(window.saveOptionCookie_orig_PasswordTweak)\ndisplayMessage("Options support in UploadPlugin must be disabled!");var cookies=document.cookie.split(";");var opts={};for(var c=0;c<cookies.length;c++)\n{var p=cookies[c].indexOf("=");if(p!=-1)\n{var name=cookies[c].substr(0,p).trim();if(name.substr(0,6)=="tw_opt")\n{var value=cookies[c].substr(p+1).trim();var fc=value.split("&");for(var i=0;i<fc.length;i++)\n{p=fc[i].indexOf(":");name=fc[i].substr(0,p).trim();value=fc[i].substr(p+1).trim();switch(name.substr(0,3))\n{case"txt":case"pas":opts[name]=unescape(value);break;case"chk":opts[name]=(value=="true");break;}}}}}\nopts[optName]=config.options[optName];c="tw_opt=";var z;for(name in opts)\n{switch(name.substr(0,3))\n{case"txt":c+=name+":"+escape(opts[name].toString())+"&";break;case"chk":c+=name+":"+(opts[name]?"true":"false")+"&";break;case"pas":c+=name+":"+escape(opts[name].toString())+"&";break;}}\nc=c.substr(0,c.length-1);c+="; expires=Fri, 1 Jan 2038 12:00:00 UTC; path=/";document.cookie=c;};
\nversion.extensions.SinglePageMode={major:2,minor:2,revision:1,date:new Date(2006,7,3)};if(config.options.chkSinglePageMode==undefined)config.options.chkSinglePageMode=false;config.shadowTiddlers.AdvancedOptions+="\sn<<option chkSinglePageMode>> Display one tiddler at a time";if(config.options.chkTopOfPageMode==undefined)config.options.chkTopOfPageMode=false;config.shadowTiddlers.AdvancedOptions+="\sn<<option chkTopOfPageMode>> Always open tiddlers at the top of the page";config.SPMTimer=0;config.lastURL=window.location.hash;function checkLastURL()\n{if(!config.options.chkSinglePageMode)\n{window.clearInterval(config.SPMTimer);config.SPMTimer=0;return;}\nif(config.lastURL==window.location.hash)\nreturn;var tiddlerName=convertUTF8ToUnicode(decodeURI(window.location.hash.substr(1)));tiddlerName=tiddlerName.replace(/\s[\s[/,"").replace(/\s]\s]/,"");if(tiddlerName.length)story.displayTiddler(null,tiddlerName,1,null,null);}\nif(Story.prototype.SPM_coreDisplayTiddler==undefined)Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;Story.prototype.displayTiddler=function(srcElement,title,template,animate,slowly)\n{if(config.options.chkSinglePageMode){window.location.hash=encodeURIComponent(String.encodeTiddlyLink(title));config.lastURL=window.location.hash;document.title=wikifyPlain("SiteTitle")+" - "+title;story.closeAllTiddlers();if(!config.SPMTimer)config.SPMTimer=window.setInterval(function(){checkLastURL();},1000);}\nif(config.options.chkTopOfPageMode){story.closeTiddler(title);window.scrollTo(0,0);srcElement=null;}\nthis.SPM_coreDisplayTiddler(srcElement,title,template,animate,slowly)}\nif(Story.prototype.SPM_coreDisplayTiddlers==undefined)Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;Story.prototype.displayTiddlers=function(srcElement,titles,template,unused1,unused2,animate,slowly)\n{var saveSPM=config.options.chkSinglePageMode;config.options.chkSinglePageMode=false;var saveTPM=config.options.chkTopOfPageMode;config.options.chkTopOfPageMode=false;this.SPM_coreDisplayTiddlers(srcElement,titles,template,unused1,unused2,animate,slowly);config.options.chkSinglePageMode=saveSPM;config.options.chkTopOfPageMode=saveTPM;}
\n[[Welcome]] <%= User.Name %>
<%= Prefs.SiteName %>
<<slider "" "Sky Flat Analyzer Help" Help "Helpful information">>\n\n<<RemoteContent "/ac/aflatanalyzer.asp">>
This tool is provided (thanks to [[ACP wizard Dick Berg|http://www.brightskies.us/]]) to help you order your flat plans so that you can capture as many flats as possible as the light fades (dusk) or builds (dawn). The tool scans a sky flat ACP run log file, extracts the exposure information and timing, then produces a graphic showing elapsed time on the horizontal axis and exposure length for each flat on the vertical axis. Analyzing this data can provide insight into ways of shortening the total length of time it takes to collect sky flats. Sky flat logs are typically difficult to analyze because many lines of text are written into the log file.\n\n''Instructions''\nThis tool reads a selected log file generated from a previous sky flat collection session. Use the drop-downs to select the folder and flat log file, and click on {{{Draw Graph}}}.\n\n''Supplied Test Data''\nWe have supplied a set of sample ACP sky flat run logs which you can use to try this tool. In the folder selector below, select {{{Sky Flat Analyzer Test Data}}}. Then select a specific log and click on {{{Draw Graph}}}.\n\n''Interpreting the Graph''\nOrange pips are the TEST exposures, and green pips are the FLAT exposures. The data clusters represent one filter at one binning. Comparing with the log file will identify the cluster.
Fill in the specs for the flat fields you want to acquire. The order of flat sets must be as they would be taken at __dusk__ - with the filter/binning resulting in the __lowest sensitivity used first__ (when the sky is brightest). __Filter sensitivity for sky-flats is not the same as for night imaging__. Often red will be the least sensitive. For sky-flats, you are imaging a blue sky! Also, higher binning is much more sensitive so list your lowest binning levels first, regardless of the filter. \n\n@@''Note:'' You can use the [[Sky Flat Analyzer]] tool to help you order your flat filters and binnings to make the most of the twilight time.@@\n\nFor common LRGB imaging (L at binning 1 and RGB at binning 2) try the order\n# L at binning 1\n# R at binning 2\n# G at binning 2\n# B at binning 2\nNarrow-band filters (~H-Alpha, etc.) should come first since they transmit far less light than color filters.
\nversion.extensions.PersistentForm={major:1,minor:1,revision:2,date:new Date(2006,11,4),type:'extension',source:"http://solo.dc3.com/tw/plugins.html#SortableGridPlugin"};config.macros.sortableGridPlugin={SORT_COLUMN_INDEX:0};config.macros.sortableGridPlugin.ts_makeSortable=function(table)\n{var firstRow;if(table.rows&&table.rows.length>0){firstRow=table.rows[0];}\nif(!firstRow)return;for(var i=0;i<firstRow.cells.length;i++){var cell=firstRow.cells[i];var txt=config.macros.sortableGridPlugin.ts_getInnerText(cell);cell.innerHTML='<a href="#" class="sortheader" onclick="config.macros.sortableGridPlugin.ts_resortTable(this);return false;">'+\ntxt+'<span class="sortarrow"> </span></a>';}};config.macros.sortableGridPlugin.ts_getInnerText=function(el)\n{if(typeof el=="string")return el;if(typeof el=="undefined"){return el;}\nif(el.innerText)return el.innerText;var str="";var cs=el.childNodes;var l=cs.length;for(var i=0;i<l;i++){switch(cs[i].nodeType)\n{case 1:str+=config.macros.sortableGridPlugin.ts_getInnerText(cs[i]);break;case 3:str+=cs[i].nodeValue;break;}}\nreturn str;};config.macros.sortableGridPlugin.getParent=function(el,pTagName)\n{if(el===null)\nreturn null;else if(el.nodeType==1&&el.tagName.toLowerCase()==pTagName.toLowerCase())\nreturn el;else\nreturn config.macros.sortableGridPlugin.getParent(el.parentNode,pTagName);};config.macros.sortableGridPlugin.ts_resortTable=function(lnk)\n{var M=config.macros.sortableGridPlugin;var span;for(var ci=0;ci<lnk.childNodes.length;ci++){if(lnk.childNodes[ci].tagName&&lnk.childNodes[ci].tagName.toLowerCase()=='span')\nspan=lnk.childNodes[ci];}\nvar td=lnk.parentNode;var column=td.cellIndex;var table=M.getParent(td,'TABLE');if(table.rows.length<=1)return;var itm=M.ts_getInnerText(table.rows[1].cells[column]);var sortfn=M.ts_sort_caseinsensitive;if(!isNaN(Date.parse(itm)))\nsortfn=M.ts_sort_date;else if(itm.match(/^[$|£|€]{1}\sd*\s.{0,1}\sd+$/))\nsortfn=M.ts_sort_currency;else if(itm.match(/^[\s+|\s-]{0,1}\sd*\s.{0,1}\sd+$/))\nsortfn=M.ts_sort_numeric;else if(itm.match(/^\sd*\s.{0,1}\sd+[K|M|G]{0,1}b$/))\nsortfn=M.ts_sort_fileSize;M.SORT_COLUMN_INDEX=column;var firstRow=new Array();var newRows=new Array();for(var i=0;i<table.rows[0].length;i++){firstRow[i]=table.rows[0][i];}\nfor(var j=1;j<table.rows.length;j++){newRows[j-1]=table.rows[j];}\nnewRows.sort(sortfn);var ARROW;if(span.getAttribute("sortdir")=='down'){ARROW=' ↑';newRows.reverse();span.setAttribute('sortdir','up');}else{ARROW=' ↓';span.setAttribute('sortdir','down');}\nfor(i=0;i<newRows.length;i++){if(!newRows[i].className||(newRows[i].className&&(newRows[i].className.indexOf('sortbottom')==-1)))\ntable.tBodies[0].appendChild(newRows[i]);}\nfor(i=0;i<newRows.length;i++){if(newRows[i].className&&(newRows[i].className.indexOf('sortbottom')!=-1))\ntable.tBodies[0].appendChild(newRows[i]);}\nvar allspans=document.getElementsByTagName("span");for(ci=0;ci<allspans.length;ci++){if(allspans[ci].className=='sortarrow'){if(M.getParent(allspans[ci],"table")==M.getParent(lnk,"table")){allspans[ci].innerHTML=' ';}}}\nspan.innerHTML=ARROW;};config.macros.sortableGridPlugin.ts_sort_fileSize=function(a,b)\n{var M=config.macros.sortableGridPlugin;var convert=function(str)\n{var val;var i;if((i=str.indexOf("Kb"))!=-1)\nval=1024.0*str.substr(0,i);else if((i=str.indexOf("Mb"))!=-1)\nval=1048576.0*str.substr(0,i);else if((i=str.indexOf("Gb"))!=-1)\nval=1073741824.0*str.substr(0,i);else\nval=1.0*str.substr(0,str.length-1);return val;};var aa=M.ts_getInnerText(a.cells[M.SORT_COLUMN_INDEX]);var bb=M.ts_getInnerText(b.cells[M.SORT_COLUMN_INDEX]);var v1=convert(aa);var v2=convert(bb);if(v1==v2)return 0;if(v1<v2)return-1;return 1;};config.macros.sortableGridPlugin.ts_sort_date=function(a,b)\n{var M=config.macros.sortableGridPlugin;var aa=M.ts_getInnerText(a.cells[M.SORT_COLUMN_INDEX]);var bb=M.ts_getInnerText(b.cells[M.SORT_COLUMN_INDEX]);var dt1=Date.parse(aa);var dt2=Date.parse(bb);if(dt1==dt2)return 0;if(dt1<dt2)return-1;return 1;};config.macros.sortableGridPlugin.ts_sort_currency=function(a,b)\n{var M=config.macros.sortableGridPlugin;var aa=M.ts_getInnerText(a.cells[M.SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');var bb=M.ts_getInnerText(b.cells[M.SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');return parseFloat(aa)-parseFloat(bb);};config.macros.sortableGridPlugin.ts_sort_numeric=function(a,b)\n{var M=config.macros.sortableGridPlugin;var aa=parseFloat(M.ts_getInnerText(a.cells[M.SORT_COLUMN_INDEX]));if(isNaN(aa))aa=0;var bb=parseFloat(M.ts_getInnerText(b.cells[M.SORT_COLUMN_INDEX]));if(isNaN(bb))bb=0;return aa-bb;};config.macros.sortableGridPlugin.ts_sort_caseinsensitive=function(a,b)\n{var M=config.macros.sortableGridPlugin;var aa=M.ts_getInnerText(a.cells[M.SORT_COLUMN_INDEX]).toLowerCase();var bb=M.ts_getInnerText(b.cells[M.SORT_COLUMN_INDEX]).toLowerCase();if(aa==bb)return 0;if(aa<bb)return-1;return 1;};if(version.major==2&&version.minor===0&&version.revision==11)\n{config.formatters[0].handler=function(w)\n{var table=createTiddlyElement(w.output,"table");w.nextMatch=w.matchStart;var lookaheadRegExp=new RegExp(this.lookahead,"mg");var currRowType=null,nextRowType;var rowContainer,rowElement;var prevColumns=[];var rowCount=0;var want_sortable=0;do{lookaheadRegExp.lastIndex=w.nextMatch;var lookaheadMatch=lookaheadRegExp.exec(w.source);var matched=lookaheadMatch&&lookaheadMatch.index==w.nextMatch;if(matched)\n{nextRowType=lookaheadMatch[2];if(nextRowType!=currRowType)\nrowContainer=createTiddlyElement(table,this.rowTypes[nextRowType]);currRowType=nextRowType;if(currRowType=="c")\n{if(rowCount===0)\nrowContainer.setAttribute("align","top");else\nrowContainer.setAttribute("align","bottom");w.nextMatch=w.nextMatch+1;w.subWikify(rowContainer,this.rowTerminator);table.insertBefore(rowContainer,table.firstChild);}\nelse\n{var rowClass=(rowCount&1)?"oddRow":"evenRow";rowElement=createTiddlyElement(rowContainer,"tr",null,rowClass);this.rowHandler(w,rowElement,prevColumns);}\nif(currRowType=="h"){want_sortable=1;}\nrowCount++;}}while(matched);if(want_sortable){table.setAttribute("class","sortable");config.macros.sortableGridPlugin.ts_makeSortable(table);}};}\nelse if(version.major==2&&version.minor==1)\n{config.formatters[0].handler=function(w)\n{var table=createTiddlyElement(w.output,"table");var prevColumns=[];var currRowType=null;var rowContainer;var rowCount=0;var want_sortable=0;w.nextMatch=w.matchStart;this.lookaheadRegExp.lastIndex=w.nextMatch;var lookaheadMatch=this.lookaheadRegExp.exec(w.source);while(lookaheadMatch&&lookaheadMatch.index==w.nextMatch)\n{var nextRowType=lookaheadMatch[2];if(nextRowType=="k")\n{table.className=lookaheadMatch[1];w.nextMatch+=lookaheadMatch[0].length+1;}\nelse\n{if(nextRowType!=currRowType)\n{rowContainer=createTiddlyElement(table,this.rowTypes[nextRowType]);currRowType=nextRowType;}\nif(currRowType=="c")\n{w.nextMatch++;if(rowContainer!=table.firstChild)\ntable.insertBefore(rowContainer,table.firstChild);rowContainer.setAttribute("align",rowCount===0?"top":"bottom");w.subWikifyTerm(rowContainer,this.rowTermRegExp);}\nelse\n{this.rowHandler(w,createTiddlyElement(rowContainer,"tr",null,(rowCount&1)?"oddRow":"evenRow"),prevColumns);if(currRowType=="h")want_sortable=1;rowCount++;}}\nthis.lookaheadRegExp.lastIndex=w.nextMatch;lookaheadMatch=this.lookaheadRegExp.exec(w.source);}\nif(want_sortable){table.setAttribute("class","sortable");config.macros.sortableGridPlugin.ts_makeSortable(table);}};}\nelse\nalert("SortableGridPlugin works only with TiddlyWiki 2.0.11 and 2.1.x");
\nvar old_lewcid_splash_restart=restart;restart=function()\n{if(document.getElementById("SplashScreen"))\ndocument.getElementById("SplashScreen").style.display="none";if(document.getElementById("contentWrapper"))\ndocument.getElementById("contentWrapper").style.display="block";old_lewcid_splash_restart();}
Acquire automatic flat fields using a previously saved standard flat plan. You can set up standard flats using the [[Setup Standard Flat Fields]] item. <% if(!screenFlats) { %> @@You can use the [[Sky Flat Analyzer]] tool to help you order your flat filters and binnings to make the most of the twilight time.@@<% } %>\n\nThis will start immediately<% if(!screenFlats) { %>, then sit waiting until the next dusk or dawn, whichever comes first, and will use the appropriate standard flat plan (see above)<% } else { %> and use the light panel/screen to acquire the flats. If needed, the dome/roof will be closed while this runs, and if it was open it will be re-opened afterward<% } %>.\n<html><form></form></html>\n<<PostForm "" "/ac/aacqdefflat.asp" "Acquire Standard Flat Fields" "Starts the flat field acquisition process">>
[[System Status]]\n[[Welcome]]
/***\nThese are styles common to all themes. Usually widgets etc.\n!bValidator jQuery Form Validator Styles\nAuthor: Bojan Mauser [[bValidator jQuery form validation plugin|http://code.google.com/p/bvalidator/]]\n!!Revision History\n<<<\n''2011.09.17 [rbd]'' [[SCHEDULER-691|http://gemini.dc3.com:8472/Gemini/Default.aspx?p=22&i=691]] bValidator (jQuery form validator) styles. Validator used in Scheduler input forms. Incorporate into TW and my [[ValidateFormPlugin]]\n<<<\n!!CSS Rules for bValidator\nThere are 4 styles of popup validation messages\n!!!Gray (the default)\n***/\n/*{{{*/\n/* invalid input */\n.bvalidator_invalid{\n background-color: #FFFFAE;\n}\n\n/* error message */\n.bvalidator_errmsg {\n background-color:#333;\n font-size:10px;\n border:1px solid #999;\n color:#FFF;\n display:none;\n -moz-border-radius:4px;\n -webkit-border-radius:4px;\n -moz-border-radius-bottomleft:0;\n -moz-border-radius-topleft:0;\n -webkit-border-bottom-left-radius:0;\n -webkit-border-top-left-radius:0;\n -moz-box-shadow:0 0 6px #ddd;\n -webkit-box-shadow:0 0 6px #ddd;\n white-space:nowrap;\n padding-top: 2px;\n padding-right: 10px;\n padding-bottom: 2px;\n padding-left: 5px;\n font-family: Arial, Helvetica, sans-serif;\n -moz-opacity:.90;\n filter:alpha(opacity=90);\n opacity:.90; \n}\n\n/* close icon */\n.bvalidator_errmsg .bvalidator_close_icon {\n margin-left: 5px;\n margin-top: -2px;\n font-family: Arial, Helvetica, sans-serif;\n font-weight: bold;\n color:#F96;\n cursor:pointer;\n}\n\n/* arrow */\n.bvalidator_errmsg em {\n display:block;\n border-color: #333 transparent transparent;\n border-style: solid;\n border-width: 10px 10px 0;\n height: 0;\n width: 0;\n position:absolute;\n bottom:-10px;\n left:5px;\n}\n/*}}}*/\n/***\n!!!~PostIt\n<<<\n var optionsPostIt = {\n classNamePrefix: 'bvalidator_postit_',\n offset: {x:-29, y:-10},\n template: '<div class="{errMsgClass}">{message}<div class="bvalidator_postit_pointer"><div class="bvalidator_postit_inner_pointer"></div></div></div>'\n };\n<<<\n***/\n/*{{{*/\n/* invalid input */\n.bvalidator_postit_invalid{\n background-color: #FFFFAE;\n}\n\n/* error message */\n.bvalidator_postit_errmsg {\n background-color:#fffe66;\n font-size:15px;\n color:#000;\n display:none;\n white-space:nowrap;\n padding-top: 2px;\n padding-right: 10px;\n padding-bottom: 2px;\n padding-left: 5px;\n border:2px solid #100b07;\n border-radius: 10px;\n -moz-border-radius: 10px;\n font-family:'Comic Sans MS', 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif;\n -moz-box-shadow:0 0 6px #ddd;\n -webkit-box-shadow:0 0 6px #ddd;\n}\n\n/* arrow */\n.bvalidator_postit_errmsg .bvalidator_postit_pointer, .bvalidator_postit_errmsg .bvalidator_postit_inner_pointer {\n position: absolute;\n width:0;\n height:0;\n border-bottom-width: 0;\n background: none;\n}\n.bvalidator_postit_errmsg .bvalidator_postit_pointer {\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-top: 14px solid #333;\n bottom: -14px;\n right: auto;\n left: 20px;\n margin-left: -7px;\n bottom: -15px;\n}\n.bvalidator_postit_errmsg .bvalidator_postit_inner_pointer {\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid #fffe66;\n bottom: auto;\n top: -16px;\n left: -5px;\n}\n\n\n/* close icon */\n.bvalidator_postit_errmsg .bvalidator_postit_close_icon {\n margin-left: 10px;\n margin-top: -2px;\n font-weight: bold;\n color:#C30;\n cursor:pointer;\n}\n/*}}}*/\n/***\n!!!Gray 2\n<<<\n var optionsGray2 = {\n classNamePrefix: 'bvalidator_gray2_',\n position: {x:'right', y:'center'},\n offset: {x:15, y:0},\n template: '<div class="{errMsgClass}"><div class="bvalidator_gray2_arrow"></div><div class="bvalidator_gray2_cont1">{message}</div></div>' \n };\n<<<\n***/\n/*{{{*/\n/* invalid input */\n.bvalidator_gray2_invalid{\n background-color: #FFFFAE;\n}\n\n/* error message */\n.bvalidator_gray2_errmsg {\n background-color:#333;\n font-size:10px;\n border:1px solid #999;\n color:#FFF;\n display:none;\n -moz-border-radius:4px;\n -webkit-border-radius:4px;\n -moz-border-radius-bottomleft:0;\n -moz-border-radius-topleft:0;\n -webkit-border-bottom-left-radius:0;\n -webkit-border-top-left-radius:0;\n -moz-box-shadow:0 0 6px #ddd;\n -webkit-box-shadow:0 0 6px #ddd;\n white-space:nowrap;\n padding-top: 2px;\n padding-right: 10px;\n padding-bottom: 2px;\n padding-left: 5px;\n font-family: Arial, Helvetica, sans-serif;\n -moz-opacity:.90;\n filter:alpha(opacity=90);\n opacity:.90; \n}\n\n/* close icon */\n.bvalidator_gray2_errmsg .bvalidator_gray2_close_icon {\n margin-left: 5px;\n margin-top: -2px;\n font-family: Arial, Helvetica, sans-serif;\n font-weight: bold;\n color:#F96;\n cursor:pointer;\n}\n\n/* arrow */\n.bvalidator_gray2_errmsg .bvalidator_gray2_arrow {\n display:inline-block;\n border-color: transparent #333 transparent transparent;\n border-style: solid;\n border-width: 10px 10px 10px 0px;\n height: 0;\n width: 0;\n position:relative;\n left:-15px;\n vertical-align:middle;\n}\n\n/* message container */\n.bvalidator_gray2_errmsg .bvalidator_gray2_cont1 {\n display:inline-block;\n vertical-align:middle;\n}\n/*}}}*/\n/***\n!!!Orange\n<<<\n var optionsOrange = {\n classNamePrefix: 'bvalidator_orange_'\n };\n<<<\n***/\n/*{{{*/\n/* invalid input */\n.bvalidator_orange_invalid{\n background-color: #FFC;\n}\n\n/* error message */\n.bvalidator_orange_errmsg {\n background-color:#F90;\n font-size:10px;\n border:1px solid #999;\n color:#333;\n display:none;\n -moz-border-radius:4px;\n -webkit-border-radius:4px;\n -moz-border-radius-bottomleft:0;\n -moz-border-radius-topleft:0;\n -webkit-border-bottom-left-radius:0;\n -webkit-border-top-left-radius:0;\n -moz-box-shadow:0 0 6px #ddd;\n -webkit-box-shadow:0 0 6px #ddd;\n white-space:nowrap;\n padding-top: 2px;\n padding-right: 10px;\n padding-bottom: 2px;\n padding-left: 5px;\n font-family: Arial, Helvetica, sans-serif;\n -moz-opacity:.90;\n filter:alpha(opacity=90);\n opacity:.90;\n font-weight: bold;\n}\n\n/* close icon */\n.bvalidator_orange_errmsg .bvalidator_orange_close_icon {\n margin-left: 5px;\n margin-top: -2px;\n font-family: Verdana, Geneva, sans-serif;\n font-weight: bolder;\n color:#FFF;\n cursor:pointer;\n font-size: 14px;\n}\n\n/* arrow */\n.bvalidator_orange_errmsg em {\n display:block;\n border-color: #F90 transparent transparent;\n border-style: solid;\n border-width: 10px 10px 0;\n height: 0;\n width: 0;\n position:absolute;\n bottom:-10px;\n left:5px;\n}\n/*}}}*/\n/***\n!!!Red\n<<<\n var optionsRed = {\n classNamePrefix: 'bvalidator_red_'\n };\n<<<\n***/\n/*{{{*/\n/* invalid input */\n.bvalidator_red_invalid{\n background-color: #FCC;\n}\n\n/* error message */\n.bvalidator_red_errmsg {\n background-color:#F33;\n font-size:10px;\n border:1px solid #900;\n color:#FFF;\n display:none;\n white-space:nowrap;\n padding-top: 2px;\n padding-right: 10px;\n padding-bottom: 2px;\n padding-left: 5px;\n font-family: Arial, Helvetica, sans-serif;\n -moz-opacity:.90;\n filter:alpha(opacity=90);\n opacity:.90;\n font-weight: bold;\n}\n\n/* close icon */\n.bvalidator_red_errmsg .bvalidator_red_close_icon {\n margin-left: 5px;\n margin-top: -2px;\n font-family: Verdana, Geneva, sans-serif;\n font-weight: bolder;\n color:#000;\n cursor:pointer;\n font-size: 12px;\n}\n\n/* arrow */\n.bvalidator_red_errmsg em {\n display:block;\n border-color: #F33 transparent transparent;\n border-style: solid;\n border-width: 10px 10px 0;\n height: 0;\n width: 0;\n position:absolute;\n bottom:-10px;\n left:5px;\n}\n/*}}}*/\n
/***\nThis was originally a shadow tiddler, but was modified for fonts and thus became a real one. \n!!Revision History\n<<<\n''2011.09.29 [rbd]'' Add tahoma as first/preferred font\n<<<\n***/\n/*{{{*/\n* html .tiddler {\n height: 1%;\n}\n\nbody {\n font-size: .75em;\n font-family: tahoma,arial,helvetica;\n margin: 0;\n padding: 0;\n}\n\nh1,h2,h3,h4,h5 {\n font-weight: bold;\n text-decoration: none;\n padding-left: 0.4em;\n}\n\nh1 {font-size: 1.35em;}\nh2 {font-size: 1.25em;}\nh3 {font-size: 1.1em;}\nh4 {font-size: 1em;}\nh5 {font-size: .9em;}\n\nhr {\n height: 1px;\n}\n\na{\n text-decoration: none;\n}\n\ndt {font-weight: bold;}\n\nol { list-style-type: decimal }\nol ol { list-style-type: lower-alpha }\nol ol ol { list-style-type: lower-roman }\nol ol ol ol { list-style-type: decimal }\nol ol ol ol ol { list-style-type: lower-alpha }\nol ol ol ol ol ol { list-style-type: lower-roman }\nol ol ol ol ol ol ol { list-style-type: decimal }\n\n.txtOptionInput {\n width: 11em;\n}\n\n#contentWrapper .chkOptionInput {\n border: 0;\n}\n\n.externalLink {\n text-decoration: underline;\n}\n\n.indent {margin-left:3em;}\n.outdent {margin-left:3em; text-indent:-3em;}\ncode.escaped {white-space:nowrap;}\n\n.tiddlyLinkExisting {\n font-weight: bold;\n}\n\n.tiddlyLinkNonExisting {\n font-style: italic;\n}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler a bold */\na.tiddlyLinkNonExisting.shadow {\n font-weight: bold;\n}\n\n#mainMenu .tiddlyLinkExisting, \n#mainMenu .tiddlyLinkNonExisting,\n#sidebarTabs .tiddlyLinkNonExisting{\n font-weight: normal;\n font-style: normal;\n}\n\n#sidebarTabs .tiddlyLinkExisting {\n font-weight: bold;\n font-style: normal;\n}\n\n.header {\n position: relative;\n}\n\n.header a:hover {\n background: transparent;\n}\n\n.headerShadow {\n position: relative;\n padding: 4.5em 0em 1em 1em;\n left: -1px;\n top: -1px;\n}\n\n.headerForeground {\n position: absolute;\n padding: 4.5em 0em 1em 1em;\n left: 0px;\n top: 0px;\n}\n\n.siteTitle {\n font-size: 3em;\n}\n\n.siteSubtitle {\n font-size: 1.2em;\n}\n\n#mainMenu {\n position: absolute;\n left: 0;\n width: 10em;\n text-align: right;\n line-height: 1.6em;\n padding: 1.5em 0.5em 0.5em 0.5em;\n font-size: 1.1em;\n}\n\n#sidebar {\n position: absolute;\n right: 3px;\n width: 16em;\n font-size: .9em;\n}\n\n#sidebarOptions {\n padding-top: 0.3em;\n}\n\n#sidebarOptions a {\n margin: 0em 0.2em;\n padding: 0.2em 0.3em;\n display: block;\n}\n\n#sidebarOptions input {\n margin: 0.4em 0.5em;\n}\n\n#sidebarOptions .sliderPanel {\n margin-left: 1em;\n padding: 0.5em;\n font-size: .85em;\n}\n\n#sidebarOptions .sliderPanel a {\n font-weight: bold;\n display: inline;\n padding: 0;\n}\n\n#sidebarOptions .sliderPanel input {\n margin: 0 0 .3em 0;\n}\n\n#sidebarTabs .tabContents {\n width: 15em;\n overflow: hidden;\n}\n\n.wizard {\n padding: 0.1em 0em 0em 2em;\n}\n\n.wizard h1 {\n font-size: 2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.4em 0em 0.2em 0em;\n}\n\n.wizard h2 {\n font-size: 1.2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.2em 0em 0.2em 0em;\n}\n\n.wizardStep {\n padding: 1em 1em 1em 1em;\n}\n\n.wizard .button {\n margin: 0.5em 0em 0em 0em;\n font-size: 1.2em;\n}\n\n#messageArea {\nposition:absolute; top:0; right:0; margin: 0.5em; padding: 0.5em;\n}\n\n*[id='messageArea'] {\nposition:fixed !important; z-index:99;}\n\n.messageToolbar {\ndisplay: block;\ntext-align: right;\n}\n\n#messageArea a{\n text-decoration: underline;\n}\n\n.popup {\n font-size: .9em;\n padding: 0.2em;\n list-style: none;\n margin: 0;\n}\n\n.popup hr {\n display: block;\n height: 1px;\n width: auto;\n padding: 0;\n margin: 0.2em 0em;\n}\n\n.listBreak {\n font-size: 1px;\n line-height: 1px;\n}\n\n.listBreak div {\n margin: 2px 0;\n}\n\n.popup li.disabled {\n padding: 0.2em;\n}\n\n.popup li a{\n display: block;\n padding: 0.2em;\n}\n\n.tabset {\n padding: 1em 0em 0em 0.5em;\n}\n\n.tab {\n margin: 0em 0em 0em 0.25em;\n padding: 2px;\n}\n\n.tabContents {\n padding: 0.5em;\n}\n\n.tabContents ul, .tabContents ol {\n margin: 0;\n padding: 0;\n}\n\n.txtMainTab .tabContents li {\n list-style: none;\n}\n\n.tabContents li.listLink {\n margin-left: .75em;\n}\n\n#displayArea {\n margin: 1em 17em 0em 14em;\n}\n\n\n.toolbar {\n text-align: right;\n font-size: .9em;\n visibility: hidden;\n}\n\n.selected .toolbar {\n visibility: visible;\n}\n\n.tiddler {\n padding: 1em 1em 0em 1em;\n}\n\n.missing .viewer,.missing .title {\n font-style: italic;\n}\n\n.title {\n font-size: 1.6em;\n font-weight: bold;\n}\n\n.missing .subtitle {\n display: none;\n}\n\n.subtitle {\n font-size: 1.1em;\n}\n\n.tiddler .button {\n padding: 0.2em 0.4em;\n}\n\n.tagging {\nmargin: 0.5em 0.5em 0.5em 0;\nfloat: left;\ndisplay: none;\n}\n\n.isTag .tagging {\ndisplay: block;\n}\n\n.tagged {\nmargin: 0.5em;\nfloat: right;\n}\n\n.tagging, .tagged {\nfont-size: 0.9em;\npadding: 0.25em;\n}\n\n.tagging ul, .tagged ul {\nlist-style: none;margin: 0.25em;\npadding: 0;\n}\n\n.tagClear {\nclear: both;\n}\n\n.footer {\n font-size: .9em;\n}\n\n.footer li {\ndisplay: inline;\n}\n\n* html .viewer pre {\n width: 99%;\n padding: 0 0 1em 0;\n}\n\n.viewer {\n line-height: 1.4em;\n padding-top: 0.5em;\n}\n\n.viewer .button {\n margin: 0em 0.25em;\n padding: 0em 0.25em;\n}\n\n.viewer blockquote {\n line-height: 1.5em;\n padding-left: 0.8em;\n margin-left: 2.5em;\n}\n\n.viewer ul, .viewer ol{\n margin-left: 0.5em;\n padding-left: 1.5em;\n}\n\n.viewer table {\n border-collapse: collapse;\n margin: 0.8em 1.0em;\n}\n\n.viewer th, .viewer td, .viewer tr,.viewer caption{\n padding: 3px;\n}\n\n.viewer table.listView {\n font-size: 0.85em;\n margin: 0.8em 1.0em;\n}\n\n.viewer table.listView th, .viewer table.listView td, .viewer table.listView tr {\n padding: 0px 3px 0px 3px;\n}\n\n.viewer pre {\n padding: 0.5em;\n margin-left: 0.5em;\n font-size: 1.2em;\n line-height: 1.4em;\n overflow: auto;\n}\n\n.viewer code {\n font-size: 1.2em;\n line-height: 1.4em;\n}\n\n.editor {\nfont-size: 1.1em;\n}\n\n.editor input, .editor textarea {\n display: block;\n width: 100%;\n font: inherit;\n}\n\n.editorFooter {\n padding: 0.25em 0em;\n font-size: .9em;\n}\n\n.editorFooter .button {\npadding-top: 0px; padding-bottom: 0px;}\n\n.fieldsetFix {border: 0;\npadding: 0;\nmargin: 1px 0px 1px 0px;\n}\n\n.sparkline {\n line-height: 1em;\n}\n\n.sparktick {\n outline: 0;\n}\n\n.zoomer {\n font-size: 1.1em;\n position: absolute;\n padding: 1em;\n}\n\n.cascade {\n font-size: 1.1em;\n position: absolute;\n overflow: hidden;\n}\n/*}}}*/
<<slider "" "Submit RTML Request Help" Help "Helpful information">>\n<html><table width="96%" style="border:none;margin:1px;background:transparent"><iframe id="asuploadrtml" src="/ac/asuploadrtml.asp" width="100%" height="0" frameborder="0" scrolling="no" allowtransparency style="border:none;"></iframe></table></html><script>\n// This is for lost refresh on IE6\nif(document.all) { // IE\nvar iFrame = place.getElementsByTagName("iframe")[0];\niFrame .src = iFrame .src;\n}</script>
\nChoose a local file which contains an observing request in the Remote Telescope Markup Language 2.3. Click the ''Submit RTML'' button to upload the RTML file into the schedule database. If you check the ''Enable immediately'' box, the uploaded request will become eligible for scheduling immediately. Otherwise, the new request will be disabled, requiring you to enable it with the [[Schedule Browser|/sc/index.asp]]. \n\nRemote Telescope Markup Language 2.3 is an XML dialect used by ACP Scheduler for loading observing requests into the schedule database. Version 2.3 is a Scheduler-specific superset of the classic RTML. For more info, see the documentation for ACP Scheduler. \n\nThe [[ACP Planner|http://acp.dc3.com/planner.html]] application can generate RTML.
\n<html>\n<form style="margin:4;">\n <input type="hidden" name="Command" value="StopScript">\n </input>\n</form>\n</html><<PostForm "" "ac/astopscript.asp" "Stop Run" "Interrupts the run as soon as possible">>\n<html>\n<textarea readonly style="margin-top:4px;" id="sm_console" class="scriptlog" rows="20" cols="72" wrap="off"></textarea>\n</html>
<<slider "" "System Status Help" Help>><html> <span id="sm_HoverLabel">Hover the mouse over the links to see what they do</span>\n<!-- Main Display -->\n<table id="sm_sysMon" class="noBorder" style="border:0">\n <tr height="100%">\n <td valign="top">\n <table style="margin:0">\n <tr>\n <th colspan="2" scope="col">Observatory</th>\n </tr>\n <tr>\n <td colspan="2" class="telemetry" id="sm_obsStat"><span>n/a</span></td>\n </tr>\n <tr>\n <td class="telemlabel">Local:</td>\n <td id="sm_local" class="telemetry"><span>--:--:--</span></td>\n </tr>\n <tr>\n <td class="telemlabel">UTC:</td>\n <td id="sm_utc" class="telemetry"><span>--:--:--</span></td>\n </tr>\n <tr>\n <td class="telemlabel">LST:</td>\n <td id="sm_lst" class="telemetry"><span>--:--:--</span></td>\n </tr>\n <tr>\n <td class="telemlabel" id="sm_obsOwnerLabel"><span>Owner</span></td>\n <td class="telemetry" id="sm_obsOwner"><span>n/a</span></td>\n </tr>\n <tr>\n <td class="telemlabel" id="sm_obsWeatherLabel"><span>Weather</span></td>\n <td class="telemetry" id="sm_obsWeather"><span>n/a</span></td>\n </tr>\n <tr id="sm_obsShutterRow">\n <td class="telemlabel" id="sm_obsShutterLabel"><span>Shutter</span></td>\n <td class="telemetry" id="sm_obsShutter"><span>n/a</span></td>\n </tr>\n <tr id="sm_obsDomeRow">\n <td class="telemlabel" id="sm_obsDomeLabel"><span>Dome</span></td>\n <td class="telemetry" id="sm_obsDome"><span>n/a</span></td>\n </tr>\n <tr id="sm_obsSchHdrRow" title="Dispatcher Status">\n <th width="110" colspan="2" id="sm_obsSchHdr"><span>Scheduler</span></th>\n </tr>\n <tr id="sm_obsSchStatRow">\n <td class="telemlabel" id="sm_obsSchStatLabel"><span>Status</span></td>\n <td class="telemetry" id="sm_obsSchStat"><span>n/a</span></td>\n </tr>\n </table>\n </td>\n <td valign="top">\n <table style="margin:0">\n <tr>\n <th width="110" colspan="2" id="sm_scopeHdr"><span>Telescope</span></th>\n </tr>\n <tr>\n <td id="sm_scopeStat" class="telemetry" colspan="2"><span>n/a</span></td>\n </tr>\n <tr>\n <td colspan="2"><div class="progBarBg"><div id="sm_slewProg" class="progBarFg"></div></div></td>\n </tr>\n <tr id="sm_haRow" title="-12 to +12">\n <td class="telemlabel">HA:</td>\n <td id="sm_ha" class="telemetry"><span>---:--.-</span></td>\n </tr>\n <tr title="<% if(Prefs.DoLocalTopo) { %>Local Topocentric<% } else { %>J2000<% } %>">\n <td class="telemlabel">RA:</td>\n <td id="sm_ra" class="telemetry"><span>--:--:--.--</span></td>\n </tr>\n <tr title="<% if(Prefs.DoLocalTopo) { %>Local Topocentric<% } else { %>J2000<% } %>">\n <td class="telemlabel">Dec:</td>\n <td id="sm_dec" class="telemetry"><span>---°--'--.-"</span></td>\n </tr>\n <tr id="sm_paRow" title="True sky PA">\n <td class="telemlabel">PA:</td>\n <td id="sm_pa" class="telemetry"><span>---°</span></td>\n </tr>\n <tr>\n <td class="telemlabel">Az:</td>\n <td id="sm_az" class="telemetry"><span>---.-°</span></td>\n </tr>\n <tr>\n <td class="telemlabel">Alt:</td>\n <td id="sm_alt" class="telemetry"><span>--.-°</span></td>\n </tr>\n <tr id="sm_gemRow" title="Direction looking, opposite of pier side">\n <td class="telemlabel">GEM:</td>\n <td id="sm_gem" class="telemetry"><span>n/a</span></td>\n </tr>\n <tr title="Relative air mass">\n <td class="telemlabel">Air:</td>\n <td id="sm_air" class="telemetry"><span>--.-</span></td>\n </tr>\n </table>\n </td>\n <td valign="top">\n <table style="margin:0">\n <tr>\n <th width="124" colspan="3" id="sm_camHdr"><span>Imager</span></th>\n </tr>\n <tr>\n <td colspan="3" id="sm_camStat" class="telemetry"><span>n/a</span></td>\n </tr>\n <tr>\n <td colspan="3"><div class="progBarBg"><div id="sm_expProg" class="progBarFg"></div></div></td>\n </tr>\n <tr id="sm_imgFiltRow">\n <td width="46" class="telemlabel">Filter</td>\n <td colspan="2" id="sm_imgFilt" class="telemetry"><span>n/a</span></td>\n </tr>\n <tr>\n <td width="46" class="telemlabel">Binning </td>\n <td colspan="2" id="sm_imgBin" class="telemetry"><span>-:1</span></td>\n </tr>\n <tr id="sm_imgTempRow">\n <td width="46" class="telemlabel" id="sm_imgTempLabel"><span>Cooler</span></td>\n <td colspan="2" id="sm_imgTemp" class="telemetry"><span>---</span></td>\n </tr>\n <tr id="sm_imgGuiderRow1">\n <th colspan="3">Guider</th>\n </tr>\n <tr id="sm_imgGuiderRow2">\n <td colspan="3" id="sm_guideStat" class="telemetry"><span>n/a</span></td>\n </tr>\n <tr id="sm_imgGuiderRow3">\n <td colspan="2" class="telemlabel">Interval (sec)</td>\n <td class="telemetry" id="sm_guideInt" style="text-align:right; width: 3em;"><span>--.--</span></td>\n </tr>\n <tr id="sm_imgGuiderRow4" >\n <td class="telemlabel">Error</td>\n <td class="telemlabel">Ex:</td>\n <td class="telemetry" id="sm_guideX" style="text-align:right; width: 3em;"><span>--.--</span></td>\n </tr>\n <tr id="sm_imgGuiderRow5">\n <td class="telemlabel"> (pix)</td>\n <td class="telemlabel">Ey:</td>\n <td class="telemetry" id="sm_guideY" style="text-align:right; width: 3em;"><span>--.--</span></td>\n </tr>\n </table>\n </td>\n <td valign="top">\n <table style="margin:0">\n <tr>\n <th width="128"colspan="2">Activity</th>\n </tr>\n <tr>\n <td colspan="2" class="telemetry" id="sm_actStat"><span>n/a</span></td>\n </tr>\n <tr title="FWHM of last image">\n <td width="44" class="telemlabel">FWHM</td>\n <td class="telemetry" id="sm_lastFWHM"><span>-.-</span></td>\n </tr>\n <tr>\n <td colspan="2" height="128" id="sm_thumb" align="center" valign="middle" title="Last image preview\nClick to see a larger preview"></td>\n </tr>\n <tr>\n <td colspan="2" height="60" id="sm_guideImg" align="center" valign="middle"></td>\n </tr>\n </table>\n </td>\n <td valign="top">\n <table style="margin:0">\n <tr>\n <th width="158" colspan="2" id="sm_plnTitle">Plan</th>\n </tr>\n <tr>\n <td width="44" class="telemlabel" id="sm_plnSetLabel">Set</td>\n <td width="100" class="telemetry" id="sm_plnSet"><span>-/-</span></td>\n </tr>\n <tr>\n <td width="44" class="telemlabel" id="sm_plnTgtLabel">Target</td>\n <td width="108" class="telemetry" id="sm_plnTgt"><span>n/a (-/-)</span></td>\n </tr>\n <tr>\n <td width="44" class="telemlabel">Repeat</td>\n <td width="108" class="telemetry" id="sm_plnRpt"><span>-/-</span></td>\n </tr>\n <tr id="sm_plnFiltRow">\n <td width="44" class="telemlabel" id="sm_plnFiltLabel">Filter</td>\n <td width="108" class="telemetry" id="sm_plnFilt"><span>n/a (-/-)</span></td>\n </tr>\n <tr>\n <td width="44" class="telemlabel">Count</td>\n <td width="108" class="telemetry" id="sm_plnCnt"><span>-/-</span></td>\n </tr>\n </table>\n <table id="sm_imgGraphArea" style="margin:0" title="+/- 2 pix, 8 min.">\n <tr>\n <th width="158">Tracking Errors</th>\n </tr>\n <tr>\n <td width="158" height="34" valign="center" class="trackGraph" id="sm_trkGraphX"></td> <!-- 34px in sparkline call below -->\n </tr>\n <tr>\n <td width="158" height="34" valign="center" class="trackGraph" id="sm_trkGraphY"></td>\n </tr>\n <tr>\n <td width="158" height="48" valign="center" class="trackGraph"><div align="center" id="sm_trkGraphXY"></div></td>\n </tr>\n </table>\n </td>\n </tr>\n</table>\n<!-- Console Input Form LightBoxes -->\n<div class="lightBoxAlert" id="sm_yesNoLightBox" style="display:none">\n <div class="lightBoxAlertIcon"><img id="lightBoxAlertIcon" src="/im/question.png" alt="?" title="Input Requested"></div>\n <div style="margin-left:56px;margin-top:4px;">\n <form style="margin:0px;" id="sm_yesNoForm" method="post" action="/ac/aconsread.asp">\n <span id="sm_yesNoPrompt"></span> (click one)<br>\n <input type="radio" name="YesNo" value="y" checked>Yes \n <input type="radio" name="YesNo" value="n">No<br>\n <input type="hidden" name="answer_yn">\n </form>\n <input type="button" id="sm_yesNoAnsButton" value="Answer">\n </div>\n</div>\n<div class="lightBoxAlert" id="sm_readLineLightBox" style="display:none">\n <div class="lightBoxAlertIcon"><img id="lightBoxAlertIcon" src="/im/question.png" alt="?" title="Input Requested"></div>\n <div style="margin-left:56px;margin-top:4px;">\n <form style="margin:0px;" id="sm_readLineForm" method="post" action="/ac/aconsread.asp">\n <span id="sm_readLinePrompt"></span><br>\n <input type="text" id="sm_readLineText" name="response" size="30"><br>\n <input type="hidden" id="sm_readLineButtonData" name="??">\n </form>\n <input type="button" id="sm_readLineOKButton" value="OK">\n <span id="sm_readLineCancelSpan" style="display:none"> \n <input type="button" id="sm_readLineCancelButton" value="Cancel">\n </span>\n </div>\n</div>\n<!-- End of HTML -->\n</html><<slider "SysMonConsole" "SysMonConsoleSlider" "Show/Hide Run Log and Abort Control" "Shows a live running log of activity">><script>\n // JSON workers (see asystemstatus.asp)\n function _s(id, escVal) { // Fill in element\n // Note that jQuery notation not used here (e.g. $('#' + id);) as\n // it really slows the startup (and refresh) of the displays.\n var elem = document.getElementById(id);\n var val = unescape(escVal);\n var span = elem.firstChild; // Inner <span> has appearance\n if(span && val.substr(0, 1) == '@') { // Possible appearance code\n switch(val.substr(1, 2)) {\n case 'an':\n span.className = "telemActive";\n span.setAttribute("flash", "off");\n val = val.substr(3);\n break;\n case 'af':\n span.className = "telemActive";\n span.setAttribute("flash", "on");\n val = val.substr(3);\n break;\n case 'wn':\n span.className = "telemWarn";\n span.setAttribute("flash", "off");\n val = val.substr(3);\n break;\n case 'wf':\n span.className = "telemWarn";\n span.setAttribute("flash", "on");\n val = val.substr(3);\n break;\n case 'in':\n case 'if':\n span.className = "telemOff";\n span.setAttribute("flash", "off");\n val = val.substr(3);\n break;\n default: // Pass anytning else on\n break;\n }\n span.innerHTML = val; // Content goes in span\n }\n else\n elem.innerHTML = val; // Element gets content\n }\n // This is in a slider sub-tiddler, but still accessible!\n function _c(escVal) { // Same here, for textarea\n try { // May not exist (slider hidden)\n var ta = document.getElementById('sm_console');\n var lData = unescape(escVal);\n ta.value = lData.substr(2); // Display all after auto-scroll indicator\n if(lData.substr(0, 2) == "@s") // If obs is busy\n ta.scrollTop = ta.scrollHeight - ta.clientHeight; // Auto-scroll to bottom\n } catch(ex) { }\n }\n function _p(id, val) { // Prog-bar fractional length\n var barElem = document.getElementById(id);\n var tw = barElem.parentNode.offsetWidth;\n barElem.style.width = parseInt(val * tw) + "px";\n }\n function _vr(id, val) { // Set table row visibility\n var elem = document.getElementById(id);\n elem.style.display = (val ? "table-row" : "none");\n }\n function _vb(id, val) { // Set block visibility\n var elem = document.getElementById(id);\n elem.style.display = (val ? "block" : "none");\n }\n function _vi(id, val) { // Set inline visibility\n var elem = document.getElementById(id);\n elem.style.display = (val ? "inline" : "none");\n }\n function _l(escVal) { // Show simple LightBox\n DC3.LightBox.showContent(unescape(escVal));\n }\n function _a(icon, escVal) { // Show LightBox Alert\n DC3.LightBox.showAlert(icon, unescape(escVal)); \n }\n function _aw(icon, escVal) { // Show LightBox Web Console Alert\n DC3.LightBox.showAlert(icon, unescape(escVal), _consPostAlertOk); // Close sends POST back to aconsread.asp\n }\n function _lh() { // Make any current LightBox disappear\n DC3.LightBox.hideBox();\n }\n function _y(escPrompt) { // Show Console Yes/No LightBox\n document.getElementById("sm_yesNoPrompt").innerHTML = unescape(escPrompt);\n document.getElementById("sm_yesNoAnsButton").onclick = _consPostYesNoForm;\n DC3.LightBox.showBox("sm_yesNoLightBox");\n }\n function _r(escPrompt, cancel) { // Show Console Read Line LightBox\n document.getElementById("sm_readLineOKButton").onclick = _consPostReadLineFormOk;\n if(cancel) {\n document.getElementById("sm_readLineCancelSpan").style.display = '';\n document.getElementById("sm_readLineCancelButton").onclick = _consPostReadLineFormCancel;\n } else {\n document.getElementById("sm_readLineCancelSpan").style.display = 'none';\n document.getElementById("sm_readLineCancelButton").onclick = null;\n }\n document.getElementById("sm_readLinePrompt").innerHTML = unescape(escPrompt);\n if(!DC3.LightBox.showing()) document.getElementById("sm_readLineText").value = "";\n DC3.LightBox.showBox("sm_readLineLightBox");\n }\n // Flasher function\n function _smFlasher() {\n DC3.Lib.sysMonFlashTimerID = null; // Timer has expired\n var outer = document.getElementById("sm_sysMon");\n if(!outer) // Tiddler closed or editing\n return; // Exit now with no timer set\n var spans = outer.getElementsByTagName("span");\n for(var i = 0; i < spans.length; i++) {\n var span = spans[i];\n if(span.attributes['flash'] && span.attributes['flash'].value == 'on') {\n if(span.attributes['onClass'] && span.attributes['onClass'].value !== "") {\n span.className = span.attributes['onClass'].value;\n span.attributes['onClass'].value = "";\n } else {\n span.setAttribute('onClass', span.className);\n span.className = "telemOff";\n }\n }\n }\n if(DC3.Lib.sysMonFlashTimerID === null) // Unless already active timer (????)\n DC3.Lib.sysMonFlashTimerID = setTimeout(_smFlasher, 200);\n }\n // Dome/shutter control AJAX interface (variable labels and cmd links)\n function _shutterCtlOnComplete(text, params) {\n displayMessage(text);\n _sendRequest(false); // Force immediate update (typ.)\n }\n function _shutterCtl(e) {\n if(!e) e = window.event;\n var tgt = resolveTarget(e);\n var tiptxt = tgt.getAttribute("title");\n if(!config.browser.isTouchInterface || confirm(tiptxt))\n { \n var op = resolveTarget(e).getAttribute("op"); // Link has op="xx"? (typ.)\n var qs = op ? "?" + op : ""; // Include as query string (typ.)\n DC3.Ajax.sendRequest("GET", "/ac/ashutterctl.asp" + qs, "", _shutterCtlOnComplete, null);\n }\n }\n function _domeCtlOnComplete(text, params) {\n displayMessage(text);\n _sendRequest(false);\n }\n function _domeCtl(e) {\n if(!e) e = window.event;\n var op = resolveTarget(e).getAttribute("op");\n var tgt = resolveTarget(e);\n var tiptxt = tgt.getAttribute("title");\n if(!config.browser.isTouchInterface || confirm(tiptxt))\n { \n var qs = op ? "?" + op : "";\n DC3.Ajax.sendRequest("GET", "/ac/adomectl.asp" + qs, "", _domeCtlOnComplete, null);\n }\n }\n function _schedCtlOnComplete(text, params) {\n displayMessage(text);\n _sendRequest(false);\n }\n function _schedCtl(e) {\n if(!e) e = window.event;\n var op = resolveTarget(e).getAttribute("op");\n var tgt = resolveTarget(e);\n var tiptxt = tgt.getAttribute("title");\n if(!config.browser.isTouchInterface || confirm(tiptxt))\n { \n var qs = op ? "?" + op : "";\n DC3.Ajax.sendRequest("GET", "/ac/aschctrl.asp" + qs, "", _schedCtlOnComplete, null);\n }\n }\n // Scope conn.disc AJAX interface\n function _scopeCtlOnComplete(text, params) {\n DC3.LightBox.hideBox(); // Harmless if park-box wasn't shown\n displayMessage(text);\n _sendRequest(false);\n }\n function _scopeCtlDiscPark(e) {\n var qs, ms;\n if(document.getElementById("sm_yesNoForm").elements[0].checked) {\n ms = "Parking and disconnecting";\n qs = "discpark";\n } else {\n ms = "Disconnecting";\n qs = "disc";\n }\n displayMessage( ms + " the scope...");\n DC3.Ajax.sendRequest("GET", "/ac/ascopeconn.asp?" + qs, "", _scopeCtlOnComplete, null);\n }\n function _scopeCtl(e) {\n if(!e) e = window.event;\n var tgt = resolveTarget(e);\n var tiptxt = tgt.getAttribute("title");\n if(!config.browser.isTouchInterface || confirm(tiptxt))\n { \n var op = resolveTarget(e).getAttribute("op");\n var qs = op ? "?" + op : "";\n if(op == "conn") {\n displayMessage("Connecting scope, please wait...");\n DC3.Ajax.sendRequest("GET", "/ac/ascopeconn.asp" + qs, "", _scopeCtlOnComplete, null);\n } else {\n // Can't use embedded ASP to check CanPark here\n document.getElementById("sm_yesNoPrompt").innerHTML = "Park the telescope?";\n document.getElementById("sm_yesNoAnsButton").onclick = _scopeCtlDiscPark;\n DC3.LightBox.showBox("sm_yesNoLightBox", null); // Do nothing if box is closed\n }\n }\n }\n // Camera conn.disc AJAX interface\n function _camCtlOnComplete(text, params) {\n displayMessage(text);\n _sendRequest(false);\n }\n function _camCtl(e) {\n if(!e) e = window.event;\n var tgt = resolveTarget(e);\n var tiptxt = tgt.getAttribute("title");\n if(!config.browser.isTouchInterface || confirm(tiptxt))\n { \n var op = resolveTarget(e).getAttribute("op");\n var qs = op ? "?" + op : "";\n // Checking row visibility for cameras with no temp control\n if(op == "disc" && (document.getElementById("sm_imgTempRow").style.display != "none") &&\n (document.getElementById("sm_imgTemp").firstChild.innerHTML.search(/Off/) == -1)) {\n DC3.LightBox.showAlert("warning", "Warm and turn off the cooler first.");\n } else {\n DC3.Ajax.sendRequest("GET", "/ac/acamconn.asp" + qs, "", _camCtlOnComplete, null);\n }\n }\n }\n // Cooler control AJAX interface\n function _tempCtlOnComplete(text, params) {\n displayMessage(text);\n _sendRequest(false);\n }\n function _tempCtl(e) {\n if(!e) e = window.event;\n var tgt = resolveTarget(e);\n var tiptxt = tgt.getAttribute("title");\n if(!config.browser.isTouchInterface || confirm(tiptxt))\n { \n var op = resolveTarget(e).getAttribute("op");\n var qs;\n if(op == "temp") {\n qs = prompt("New cooler temperature or \s"off\s":", "");\n if(qs === "") return; // Cancelled\n qs = "?" + escape(qs);\n } else {\n qs = "?" + op; // For now only "on"\n }\n DC3.Ajax.sendRequest("GET", "/ac/atempctrl.asp" + qs, "", _tempCtlOnComplete, null);\n }\n }\n // Weather conn.disc AJAX interface\n function _wxCtlOnComplete(text, params) {\n displayMessage(text);\n _sendRequest(false);\n }\n function _wxCtl(e) {\n if(!e) e = window.event;\n var tgt = resolveTarget(e);\n var tiptxt = tgt.getAttribute("title");\n if(!config.browser.isTouchInterface || confirm(tiptxt))\n { \n var op = resolveTarget(e).getAttribute("op");\n var qs = op ? "?" + op : "";\n DC3.Ajax.sendRequest("GET", "/ac/awxconn.asp" + qs, "", _wxCtlOnComplete, null);\n }\n }\n // Console I/O AJAX interface\n function _consPostFormOnComplete(text, params) {\n var t = text.trim();\n if(t === "")\n displayMessage(t);\n else\n displayMessage("Message sent.");\n DC3.LightBox.hideBox();\n }\n function _consPostYesNoForm(e) {\n var form = document.getElementById("sm_yesNoForm");\n DC3.Ajax.postForm(form, form.action, _consPostFormOnComplete, null);\n }\n function _consPostReadLineFormOk(e) {\n var form = document.getElementById("sm_readLineForm");\n document.getElementById("sm_readLineButtonData").name = "answer_rd_ok";\n DC3.Ajax.postForm(form, form.action, _consPostFormOnComplete, null);\n }\n function _consPostReadLineFormCancel(e) {\n var form = document.getElementById("sm_readLineForm");\n document.getElementById("sm_readLineButtonData").name = "answer_rd_can";\n DC3.Ajax.postForm(form, form.action, _consPostFormOnComplete, null);\n }\n function _consPostAlertOk() { // Not event, set as lightbox callback\n DC3.Ajax.sendRequest("POST", "/ac/aconsread.asp", "", _consPostFormOnComplete, null);\n return true; // Go ahead and close lightbox\n }\n // AJAX interface (Depends on global DC3.Lib.sysMonTimerID)\n function _smOnComplete(json, params) {\n try { // Dies if closed or editing\n eval(json); // (also toss any other JSON errors)\n var clr = $('span.telemActive').css('color'); // Graph lines same color as active telemetry text\n //\n // Insert jQuery sparkline objects into place http://omnipotent.net/jquery.sparkline/\n // NOTES: Width is 158 pixels, defaultPixelsPerValue = 2 (scale of X axis) so there\n // should be 79 values in the lists. This is set in asystemstatus as the \n // constant MAXTRKPTS = 79. At 6 sec per point, this is 7.9 minutes, eh?\n //\n $('#sm_trkGraphX').sparkline('html', \n { \n type:'line',\n lineWidth:'2',\n spotRadius:'2',\n minSpotColor:false,\n maxSpotColor:false,\n lineColor:clr,\n fillColor:false,\n height:'34px',\n chartRangeMin:'-2',\n chartRangeMax:'2',\n chartRangeClip:true,\n defaultPixelsPerValue:2\n });\n $('#sm_trkGraphY').sparkline('html', \n { \n type:'line', \n lineWidth:'2',\n spotRadius:'2',\n minSpotColor:false,\n maxSpotColor:false,\n lineColor:clr,\n fillColor:false, \n height:'34px',\n chartRangeMin:'-2',\n chartRangeMax:'2',\n chartRangeClip:true,\n defaultPixelsPerValue:2 \n });\n $('#sm_trkGraphXY').sparkline('html', \n { \n type:'line', \n lineWidth:'1',\n spotRadius:'2',\n minSpotColor:false,\n maxSpotColor:false,\n lineColor:clr,\n fillColor:false, \n height:'48px',\n width:'48px',\n chartRangeMin:'-2',\n chartRangeMax:'2',\n chartRangeMinX:'0',\n chartRangeMaxX:'4'\n });\n } catch(ex) { }\n \n // Update dynamic links' event hookups (should use jQuery!!)\n var elem = document.getElementById("sm_logOff"); // May not exist (typ.)\n if(elem) elem.onclick = DC3.Lib.logOff; // Logoff in library now\n elem = document.getElementById("sm_shutterCtlLink");\n if(elem) elem.onclick = _shutterCtl;\n elem = document.getElementById("sm_domeCtlLink");\n if(elem) elem.onclick = _domeCtl;\n elem = document.getElementById("sm_schCtlLink");\n if(elem) elem.onclick = _schedCtl;\n elem = document.getElementById("sm_scopeConnLink");\n if(elem) elem.onclick = _scopeCtl;\n elem = document.getElementById("sm_camConnLink");\n if(elem) elem.onclick = _camCtl;\n elem = document.getElementById("sm_camTempLink");\n if(elem) elem.onclick = _tempCtl;\n elem = document.getElementById("sm_wxCtlLink");\n if(elem) elem.onclick = _wxCtl;\n\n if(DC3.Lib.sysMonRefreshTimerID === null) // Unless already active timer (????)\n DC3.Lib.sysMonRefreshTimerID = setTimeout(_sendRequest, 5000);\n }\n function _sendRequest(init) { // True if this is initial call opening tiddler\n if(DC3.Lib.sysMonRefreshTimerID) // Allow pre-emptive refresh call\n clearTimeout(DC3.Lib.sysMonRefreshTimerID); // ...for immediate refresh\n DC3.Lib.sysMonRefreshTimerID = null; // Timer's done now\n if(document.getElementById("sm_scopeStat")) { // Gone if editing or closed\n // init will be an event or null if called back from timer\n // look for explicit bool true to detect call for init\n // POST prevents caching (the ajax lib adds Cache-Control too.\n var complParams = { };\n DC3.Ajax.sendRequest("POST", "/ac/asystemstatus.asp" + \n ((typeof init == "boolean" && init) ? "?init" : ""), \n "", _smOnComplete, complParams);\n }\n }\n // Initial call on opening the tiddler\n // Dynamic links - repeated in _sm_onComplete()\n var elem = document.getElementById("sm_logOff"); // May not exist (typ.)\n if(elem) elem.onclick = DC3.Lib.logOff; // Logoff in library now\n elem = document.getElementById("sm_shutterCtlLink");\n if(elem) elem.onclick = _shutterCtl;\n elem = document.getElementById("sm_domeCtlLink");\n if(elem) elem.onclick = _domeCtl;\n elem = document.getElementById("sm_schCtlLink");\n if(elem) elem.onclick = _schedCtl;\n elem = document.getElementById("sm_scopeConnLink");\n if(elem) elem.onclick = _scopeCtl;\n elem = document.getElementById("sm_camConnLink");\n if(elem) elem.onclick = _camCtl;\n elem = document.getElementById("sm_camTempLink");\n if(elem) elem.onclick = _tempCtl;\n elem = document.getElementById("sm_wxCtlLink");\n if(elem) elem.onclick = _wxCtl;\n \n elem = document.getElementById("sm_HoverLabel");\n if(config.browser.isTouchInterface)\n elem.innerHTML = "Touch the links to see what they do and be asked if you want to do it</i>";\n else\n elem.innerHTML = "Hover the mouse over the links to see what they do";\n \n if(DC3.Lib.sysMonRefreshTimerID === null) _sendRequest(true); // Don't start multiple timer cycles!\n if(DC3.Lib.sysMonFlashTimerID === null) _smFlasher();\n</script>\n
\nMostly self-explanatory, but there are a few things to be aware of:\n* The Owner label is a link. Click it to release the observatory.\n* The button at the bottom shows the detailed Run Log during observing. \n* If the Run Log is visible, you'll also see a button with which you can abort the run.\nThanks to ~DC-3 Dreams customer and software developer [[Russell Archer|http://www.rarcher.net]] for the idea of including the [[jQuery|http://jquery.com/]] library and for the guider tracking error feature. We have since used ~JQuery in other places and it is really great.\n<% if(User.IsAdministrator) { %>\n!!Administrators only\nThe following controls/links are available only to Administrators, and when the scheduler is //not// in control:\n* The labels Telescope and Imager are links for connecting and //shutting down// these devices. Shutting down the telescope includes parking and stopping sidereal tracking as well as disconnecting from the control system. Shutting down the imager includes changing the cooler temperature to +10 deg C before disconnecting it from the control system.\n* The Shutter/Roof and Dome labels are links that provide you with dome/roof control. The Dome display (rotation) will not be visible for a roof or clamshell.\n* The Weather label is a link with which you can connect and disconnect the weather server.\n* The Cooler label is a link with which you can turn the cooler on and off or change the temperature.\n<% } %>
\nconfig.tagger={defaults:{label:'Tags: ',tooltip:'Manage tiddler tags',taglist:'true',excludeTags:'',notags:'tiddler has no tags',aretags:'current tiddler tags:',toggletext:'add tags:'}};config.macros.tagger={};config.macros.tagger.arrow=(document.all?"\su25BC":"\su25BE");config.macros.tagger.handler=function(place,macroName,params,wikifier,paramString,tiddler){var defaults=config.tagger.defaults;var nAV=paramString.parseParams('tagman',null,true);var label=((nAV[0].label)&&(nAV[0].label[0])!='.')?nAV[0].label[0]+this.arrow:defaults.label+this.arrow;var tooltip=((nAV[0].tooltip)&&(nAV[0].tooltip[0])!='.')?nAV[0].tooltip[0]:defaults.tooltip;var taglist=((nAV[0].taglist)&&(nAV[0].taglist[0])!='.')?nAV[0].taglist[0]:defaults.taglist;var exclude=((nAV[0].exclude)&&(nAV[0].exclude[0])!='.')?(nAV[0].exclude[0]).readBracketedList():defaults.excludeTags.readBracketedList();if((nAV[0].source)&&(nAV[0].source[0])!='.')var source=nAV[0].source[0];if(source&&!store.getTiddler(source))return false;var onclick=function(e){if(!e)var e=window.event;var popup=Popup.create(this);var tagsarray=store.getTags();var tags=new Array();for(var i=0;i<tagsarray.length;i++){tags.push(tagsarray[i][0]);}\nif(source)\n{var sourcetiddler=store.getTiddler(source);tags=sourcetiddler.tags.sort();}\nvar currentTags=tiddler.tags.sort();var createButtons=function(text,theTag,tooltipPrefix){var sp=createTiddlyElement(createTiddlyElement(popup,"li"),"span",null,"tagger");var theToggle=createTiddlyButton(sp,text,tooltipPrefix+" '"+theTag+"'",taggerOnToggle,"button","toggleButton");theToggle.setAttribute("tiddler",tiddler.title);theToggle.setAttribute("tag",theTag);insertSpacer(sp);if(window.createTagButton_orig_mptw)\ncreateTagButton_orig_mptw(sp,theTag);else\ncreateTagButton(sp,theTag);}\ncreateTiddlyElement(popup,"li",null,"listTitle",(tiddler.tags.length==0?defaults.notags:defaults.aretags));for(var t=0;t<currentTags.length;t++){createButtons("[x]",currentTags[t],"remove tag ");}\ncreateTiddlyElement(createTiddlyElement(popup,"li"),"hr");if(taglist!='false')\n{createTiddlyElement(popup,"li",null,"listTitle",defaults.toggletext);for(var i=0;i<tags.length;i++){if(!tiddler.tags.contains(tags[i])&&!exclude.contains(tags[i]))\n{createButtons("[ ]",tags[i],"add tag ");}}\ncreateTiddlyElement(createTiddlyElement(popup,"li"),"hr");}\nvar newTagButton=createTiddlyButton(createTiddlyElement(popup,"li"),("Create new tag"),null,taggerOnToggle);newTagButton.setAttribute("tiddler",tiddler.title);if(source)newTagButton.setAttribute("source",source);Popup.show(popup,false);e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();return(false);};createTiddlyButton(place,label,tooltip,onclick,"button","taggerDrpBtn");};window.taggerOnToggle=function(e){var tag=this.getAttribute("tag");var title=this.getAttribute("tiddler");var tiddler=store.getTiddler(title);if(!tag)\n{var newtag=prompt("Enter new tag:","");if(newtag!=''&&newtag!=null)\n{var tag=newtag;if(this.getAttribute("source"))\n{var sourcetiddler=store.getTiddler(this.getAttribute("source"));sourcetiddler.tags.pushUnique(newtag);}}\nelse\n{return false;};}\nif(!tiddler||!tiddler.tags)\n{store.saveTiddler(title,title,'',config.options.txtUserName,new Date(),tag);}\nelse\n{if(tiddler.tags.find(tag)==null)\n{tiddler.tags.push(tag)}\nelse if(!newtag)\n{tiddler.tags.splice(tiddler.tags.find(tag),1)};store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags);};story.refreshTiddler(title,null,true);if(config.options.chkAutoSave)\nsaveChanges();return false;};setStylesheet(".tagger a.button {font-weight: bold;display:inline; padding:0px;}\sn"+".tagger #toggleButton {padding-left:2px; padding-right:2px; margin-right:1px; font-size:110%;}\sn"+"#nestedtagger {background:#2E5ADF; border: 1px solid #0331BF;}\sn"+".popup .listTitle {color:#000;}\sn"+"","TaggerStyles");window.lewcidTiddlerSwapTag=function(tiddler,oldTag,newTag){for(var i=0;i<tiddler.tags.length;i++)\nif(tiddler.tags[i]==oldTag){tiddler.tags[i]=newTag;return true;}\nreturn false;}\nwindow.lewcidRenameTag=function(e){var tag=this.getAttribute("tag");var newtag=prompt("Rename tag '"+tag+"' to:",tag);if((newtag==tag)||(newtag==null)){return false;}\nif(store.tiddlerExists(newtag))\n{if(confirm(config.messages.overwriteWarning.format([newtag.toString()])))\nstory.closeTiddler(newtag,false,false);else\nreturn null;}\ntagged=store.getTaggedTiddlers(tag);if(tagged.length!=0){for(var j=0;j<tagged.length;j++)\nlewcidTiddlerSwapTag(tagged[j],tag,newtag);}\nif(store.tiddlerExists(tag))\n{store.saveTiddler(tag,newtag);}\nif(document.getElementById("tiddler"+tag))\n{var oldTagTiddler=document.getElementById(story.idPrefix+tag);var before=story.positionTiddler(oldTagTiddler);var place=document.getElementById(story.container);story.closeTiddler(tag,false,false);story.createTiddler(place,before,newtag,null);story.saveTiddler(newtag);}\nif(config.options.chkAutoSave)\nsaveChanges();return false;}\nwindow.onClickTag=function(e)\n{if(!e)var e=window.event;var theTarget=resolveTarget(e);var nested=(!isNested(theTarget));if((Popup.stack.length>1)&&(nested==true)){Popup.removeFrom(1);}\nelse if(Popup.stack.length>0&&nested==false){Popup.removeFrom(0);};var theId=(nested==false)?"popup":"nestedtagger";var popup=createTiddlyElement(document.body,"ol",theId,"popup",null);Popup.stack.push({root:this,popup:popup});var tag=this.getAttribute("tag");var title=this.getAttribute("tiddler");if(popup&&tag)\n{var tagged=store.getTaggedTiddlers(tag);var titles=[];var li,r;for(r=0;r<tagged.length;r++)\nif(tagged[r].title!=title)\ntitles.push(tagged[r].title);var lingo=config.views.wikified.tag;if(titles.length>0)\n{var openAll=createTiddlyButton(createTiddlyElement(popup,"li"),lingo.openAllText.format([tag]),lingo.openAllTooltip,onClickTagOpenAll);openAll.setAttribute("tag",tag);createTiddlyElement(createTiddlyElement(popup,"li"),"hr");for(r=0;r<titles.length;r++)\n{createTiddlyLink(createTiddlyElement(popup,"li"),titles[r],true);}}\nelse\ncreateTiddlyText(createTiddlyElement(popup,"li",null,"disabled"),lingo.popupNone.format([tag]));if(document.location.pathname.lastIndexOf(".asp")==-1)\n{createTiddlyElement(createTiddlyElement(popup,"li"),"hr");var h=createTiddlyLink(createTiddlyElement(popup,"li"),tag,false);createTiddlyText(h,lingo.openTag.format([tag]));createTiddlyElement(createTiddlyElement(popup,"li"),"hr");var renameTagButton=createTiddlyButton(createTiddlyElement(popup,"li"),("Rename tag '"+tag+"'"),null,lewcidRenameTag);renameTagButton.setAttribute("tag",tag);}}\nPopup.show(popup,false);e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();return(false);}\nif(!window.isNested)\nwindow.isNested=function(e){while(e!=null){var contentWrapper=document.getElementById("contentWrapper");if(contentWrapper==e)return true;e=e.parentNode;}\nreturn false;};if(document.location.pathname.lastIndexOf(".asp")==-1)\n{config.shadowTiddlers.TaggerPluginDocumentation="The documentation is available [[here.|http://lewcid.googlepages.com/lewcid.html#TaggerPluginDocumentation]]";config.shadowTiddlers.TaggerPluginSource="The uncompressed source code is available [[here.|http://lewcid.googlepages.com/lewcid.html#TaggerPluginSource]]";}
Runs through tests of the "light box" browser displays which appear in response to scripts which ask for input from the user or display messages and wait for the user to indicate that the message has been seen. You'll be asked a couple of questions then shown a message. Nothing you do will make any permanent changes to the observatory, so feel free to run this at will!
This ACP web application is based on [[TiddlyWiki|http://www.tiddlywiki.com/]]. It has been heavily extended via [[plugin]]s and dynamically generated content from ACP's Active Server Pages.
\nconfig.macros.toggleSideBar={};config.macros.toggleSideBar.settings={styleHide:"#sidebar { display: none;}\sn"+"#contentWrapper #displayArea { margin-right: 1em;}\sn"+"",styleShow:" ",arrow1:"«",arrow2:"»"};config.macros.toggleSideBar.handler=function(place,macroName,params,wikifier,paramString,tiddler)\n{var tooltip=params[1]||'toggle sidebar';var mode=(params[2]&¶ms[2]=="hide")?"hide":"show";var arrow=(mode=="hide")?this.settings.arrow1:this.settings.arrow2;var label=(params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;var theBtn=createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");if(mode=="hide")\n{(document.getElementById("sidebar")).setAttribute("toggle","hide");setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");}};config.macros.toggleSideBar.onToggleSideBar=function(){var sidebar=document.getElementById("sidebar");var settings=config.macros.toggleSideBar.settings;if(sidebar.getAttribute("toggle")=='hide')\n{setStylesheet(settings.styleShow,"ToggleSideBarStyles");sidebar.setAttribute("toggle","show");this.firstChild.data=(this.firstChild.data).replace(settings.arrow1,settings.arrow2);}\nelse\n{setStylesheet(settings.styleHide,"ToggleSideBarStyles");sidebar.setAttribute("toggle","hide");this.firstChild.data=(this.firstChild.data).replace(settings.arrow2,settings.arrow1);}\nreturn false;}\nsetStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\sn","ToggleSideBarButtonStyles");
You don't normally have to do this, as ACP learns about your telescope as it observes, and centers targets every time. But if you want to train the corrector, you can run this. You'll be asked if you want to //replace// the pointing model with the new data, or augment the model with the mapping points gathered by this process. You'll also be asked for the number of points to gather. 50 is plenty for this corrector.
/%<%
ftp_port = ":" + Request.ServerVariables("FTP_PORT");
if(ftp_port == ":21") ftp_port = "";
host_name = Request.ServerVariables("FTP_HOST") + ftp_port;
site_name = Prefs.SiteName;
user_name = User.Username;
%>%/\nUsing Explorer FTP can be frustrating. If you make a mistake in the location field or if your net connection is acting up, you may end up with long timeouts or goofy error messages that won't go away. Delete the network location and try again. The Mac is more forgiving of mistakes, and the error messages are more meaningful. Again, if needed start over and try again.\n\nIf you doubt that the server at the other end is really working, there is a test you can do on Windows in a shell/cmd window (Mac OS X has a similar command line FTP client):\n{{{\nC:\sxxx> ftp <%= host_name %>\n}}}\nYou should see our server respond, asking for your username. Respond with your username, then when it asks, with your password. You should now see an FTP prompt. Type bye to terminate the session. The exchange should look like this:\n{{{\nC:\sxxx> ftp dakota.dc3.com\nConnected to dakota.dc3.com.\n220 Welcome to ACP/FTP server at Red Mountain Simulated Observatory\nUser (dakota.dc3.com:(none)): rdenny\n331 Password required for rdenny.\nPassword:\n230 User rdenny logged in.\nftp> bye\n221 Logging off ACP/FTP server at Red Mountain Simulated Observatory\nC:\sxxx>\n}}}\nIf this simple test works, then the FTP server is both working and reachable.\n\nSome people have reported problems with "passive" FTP mode, which Windows will use unless told not to. If you're having problems you can try turning off passive mode. In the Control Panel, select Internet Options. Select the Advanced tab, and in the Browsing section of the list, turn off "Use passive FTP...". That might get you going. Be aware that ACP's FTP server supports passive mode, however some firewalls have problems with it.\n
\nversion.extensions.UploadPlugin={major:3,minor:4,revision:5,date:new Date(2006,10,30),source:'http://tiddlywiki.bidix.info/#UploadPlugin',documentation:'http://tiddlywiki.bidix.info/#UploadDoc',author:'BidiX (BidiX (at) bidix (dot) info',license:'[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',coreVersion:'2.0.0',browser:'Firefox 1.5; InternetExplorer 6.0; Safari',modified:'R. B. Denny - for RFC compliance aznd special changes'};if(!config.lib)config.lib={};if(!config.lib.file)config.lib.file={author:'BidiX',version:{major:0,minor:1,revision:0},date:new Date(2006,3,9)};config.lib.file.dirname=function(filePath){var lastpos;if((lastpos=filePath.lastIndexOf("/"))!=-1){return filePath.substring(0,lastpos);}else{return filePath.substring(0,filePath.lastIndexOf("\s\s"));}};config.lib.file.basename=function(filePath){var lastpos;if((lastpos=filePath.lastIndexOf("#"))!=-1)\nfilePath=filePath.substring(0,lastpos);if((lastpos=filePath.lastIndexOf("/"))!=-1){return filePath.substring(lastpos+1);}else\nreturn filePath.substring(filePath.lastIndexOf("\s\s")+1);};window.basename=function(){return"@@deprecated@@";};if(!config.lib)config.lib={};if(!config.lib.log)config.lib.log={author:'BidiX',version:{major:0,minor:1,revision:1},date:new Date(2006,8,19)};config.lib.Log=function(tiddlerTitle,logHeader){if(version.major<2)\nthis.tiddler=store.tiddlers[tiddlerTitle];else\nthis.tiddler=store.getTiddler(tiddlerTitle);if(!this.tiddler){this.tiddler=new Tiddler();this.tiddler.title=tiddlerTitle;this.tiddler.text="| !date | !user | !location |"+logHeader;this.tiddler.created=new Date();this.tiddler.modifier=config.options.txtUserName;this.tiddler.modified=new Date();if(version.major<2)\nstore.tiddlers[tiddlerTitle]=this.tiddler;else\nstore.addTiddler(this.tiddler);}\nreturn this;};config.lib.Log.prototype.newLine=function(line){var now=new Date();var newText="| ";newText+=now.getDate()+"/"+(now.getMonth()+1)+"/"+now.getFullYear()+" ";newText+=now.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+" | ";newText+=config.options.txtUserName+" | ";var location=document.location.toString();var filename=config.lib.file.basename(location);if(!filename)filename='/';newText+="[["+filename+"|"+location+"]] |";this.tiddler.text=this.tiddler.text+"\sn"+newText;this.addToLine(line);};config.lib.Log.prototype.addToLine=function(text){this.tiddler.text=this.tiddler.text+text;this.tiddler.modifier=config.options.txtUserName;this.tiddler.modified=new Date();if(version.major<2)\nstore.tiddlers[this.tiddler.tittle]=this.tiddler;else{store.addTiddler(this.tiddler);story.refreshTiddler(this.tiddler.title);store.notify(this.tiddler.title,true);}\nif(version.major<2)\nstore.notifyAll();};if(!config.lib)config.lib={};if(!config.lib.options)config.lib.options={author:'BidiX',version:{major:0,minor:1,revision:0},date:new Date(2006,3,9)};config.lib.options.init=function(name,defaultValue){if(!config.options[name]){config.options[name]=defaultValue;saveOptionCookie(name);}};version.extensions.PasswordTweak={major:1,minor:0,revision:3,date:new Date(2006,8,30),type:'tweak',source:'http://tiddlywiki.bidix.info/#PasswordTweak'};config.macros.option.passwordCheckboxLabel="Save this password on this computer";config.macros.option.passwordType="password";config.macros.option.onChangeOption=function(e)\n{var opt=this.getAttribute("option");var elementType,valueField;if(opt){switch(opt.substr(0,3)){case"txt":elementType="input";valueField="value";break;case"pas":elementType="input";valueField="value";break;case"chk":elementType="input";valueField="checked";break;}\nconfig.options[opt]=this[valueField];saveOptionCookie(opt);var nodes=document.getElementsByTagName(elementType);for(var t=0;t<nodes.length;t++)\n{var optNode=nodes[t].getAttribute("option");if(opt==optNode)\nnodes[t][valueField]=this[valueField];}}\nreturn(true);};config.macros.option.handler=function(place,macroName,params)\n{var opt=params[0];if(config.options[opt]===undefined){return;}\nvar c;switch(opt.substr(0,3)){case"txt":c=document.createElement("input");c.onkeyup=this.onChangeOption;c.setAttribute("option",opt);c.className="txtOptionInput "+opt;place.appendChild(c);c.value=config.options[opt];break;case"pas":c=document.createElement("input");c.setAttribute("type",config.macros.option.passwordType);c.onkeyup=this.onChangeOption;c.setAttribute("option",opt);c.className="pasOptionInput "+opt;place.appendChild(c);c.value=config.options[opt];break;case"chk":c=document.createElement("input");c.setAttribute("type","checkbox");c.onclick=this.onChangeOption;c.setAttribute("option",opt);c.className="chkOptionInput "+opt;place.appendChild(c);c.checked=config.options[opt];break;}};if(!config.options.pasPassword){config.options.pasPassword='defaultPassword';window.saveOptionCookie('pasPassword');}\nwindow.loadOptionsCookie();config.macros.upload={accessKey:"U",formName:"UploadPlugin",contentType:"text/html;charset=UTF-8",defaultStoreScript:"store.php"};config.macros.upload.messages={aboutToUpload:"About to upload TiddlyWiki to %0",backupFileStored:"Previous file backuped in %0",crossDomain:"Certainly a cross-domain isue: access to an other site isn't allowed",errorDownloading:"Error downloading",errorUploadingContent:"Error uploading content",fileLocked:"Files is locked: You are not allowed to Upload",fileNotFound:"file to upload not found",fileNotUploaded:"File %0 NOT uploaded",mainFileUploaded:"Main TiddlyWiki file uploaded to %0",passwordEmpty:"Unable to upload, your password is empty",urlParamMissing:"url param missing",rssFileNotUploaded:"RssFile %0 NOT uploaded",rssFileUploaded:"Rss File uploaded to %0"};config.macros.upload.label={promptOption:"Save and Upload this TiddlyWiki with UploadOptions",promptParamMacro:"Save and Upload this TiddlyWiki in %0",saveLabel:"save to web",saveToDisk:"save to disk",uploadLabel:"upload"};config.macros.upload.handler=function(place,macroName,params){var storeUrl=params[0];var toFilename=params[1];var backupDir=params[2];var uploadDir=params[3];var username=params[4];var password;var label;if(document.location.toString().substr(0,4)=="http")\nlabel=this.label.saveLabel;else\nlabel=this.label.uploadLabel;var prompt;if(storeUrl){prompt=this.label.promptParamMacro.toString().format([this.toDirUrl(storeUrl,uploadDir,username)]);}\nelse{prompt=this.label.promptOption;}\ncreateTiddlyButton(place,label,prompt,function(){config.macros.upload.upload(storeUrl,toFilename,uploadDir,backupDir,username,password);return false;},null,null,this.accessKey);};config.macros.upload.UploadLog=function(){return new config.lib.Log('UploadLog'," !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |");};config.macros.upload.UploadLog.prototype=config.lib.Log.prototype;config.macros.upload.UploadLog.prototype.startUpload=function(storeUrl,toFilename,uploadDir,backupDir){var line=" [["+config.lib.file.basename(storeUrl)+"|"+storeUrl+"]] | ";line+=uploadDir+" | "+toFilename+" | "+backupDir+" |";this.newLine(line);};config.macros.upload.UploadLog.prototype.endUpload=function(){this.addToLine(" Ok |");};config.macros.upload.basename=config.lib.file.basename;config.macros.upload.dirname=config.lib.file.dirname;config.macros.upload.toRootUrl=function(storeUrl,username)\n{return root=(this.dirname(storeUrl)?this.dirname(storeUrl):this.dirname(document.location.toString()));}\nconfig.macros.upload.toDirUrl=function(storeUrl,uploadDir,username)\n{var root=this.toRootUrl(storeUrl,username);if(uploadDir&&uploadDir!='.')\nroot=root+'/'+uploadDir;return root;}\nconfig.macros.upload.toFileUrl=function(storeUrl,toFilename,uploadDir,username)\n{return this.toDirUrl(storeUrl,uploadDir,username)+'/'+toFilename;}\nconfig.macros.upload.upload=function(storeUrl,toFilename,uploadDir,backupDir,username,password)\n{storeUrl=(storeUrl?storeUrl:config.options.txtUploadStoreUrl);toFilename=(toFilename?toFilename:config.options.txtUploadFilename);backupDir=(backupDir?backupDir:config.options.txtUploadBackupDir);uploadDir=(uploadDir?uploadDir:config.options.txtUploadDir);username=(username?username:config.options.txtUploadUserName);password=config.options.pasUploadPassword;if(!password||password===''){alert(config.macros.upload.messages.passwordEmpty);return;}\nif(storeUrl===''){storeUrl=config.macros.upload.defaultStoreScript;}\nif(config.lib.file.dirname(storeUrl)===''){storeUrl=config.lib.file.dirname(document.location.toString())+'/'+storeUrl;}\nif(toFilename===''){toFilename=config.lib.file.basename(document.location.toString());}\nclearMessage();if(version.major<2)\nstore.notifyAll();if(!storeUrl){alert(config.macros.upload.messages.urlParamMissing);return;}\nif(window.BidiX&&BidiX.GroupAuthoring&&BidiX.GroupAuthoring.lock){if(BidiX.GroupAuthoring.lock.isLocked()&&!BidiX.GroupAuthoring.lock.isMyLock()){alert(config.macros.upload.messages.fileLocked);return;}}\nvar log=new this.UploadLog();log.startUpload(storeUrl,toFilename,uploadDir,backupDir);if(document.location.toString().substr(0,5)=="file:"){saveChanges();}\nvar toDir=config.macros.upload.toDirUrl(storeUrl,toFilename,uploadDir,username);displayMessage(config.macros.upload.messages.aboutToUpload.format([toDir]),toDir);this.uploadChanges(storeUrl,toFilename,uploadDir,backupDir,username,password);if(config.options.chkGenerateAnRssFeed){var rssContent=generateRss();var rssPath=toFilename.substr(0,toFilename.lastIndexOf("."))+".xml";this.uploadContent(rssContent,storeUrl,rssPath,uploadDir,'',username,password,function(responseText){if(responseText.substring(0,1)!='0'){displayMessage(config.macros.upload.messages.rssFileNotUploaded.format([rssPath]));}\nelse{var toFileUrl=config.macros.upload.toFileUrl(storeUrl,rssPath,uploadDir,username);displayMessage(config.macros.upload.messages.rssFileUploaded.format([toFileUrl]),toFileUrl);}});}\nreturn;};config.macros.upload.uploadChanges=function(storeUrl,toFilename,uploadDir,backupDir,username,password){var original;if(document.location.toString().substr(0,4)=="http"){original=this.download(storeUrl,toFilename,uploadDir,backupDir,username,password);return;}\nelse{original=loadFile(getLocalPath(document.location.toString()));if(window.Components){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var converter=Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);converter.charset="UTF-8";original=converter.ConvertToUnicode(original);}\ncatch(e){}}}\nthis.uploadChangesFrom(original,storeUrl,toFilename,uploadDir,backupDir,username,password);};config.macros.upload.uploadChangesFrom=function(original,storeUrl,toFilename,uploadDir,backupDir,username,password){var startSaveArea='<div id="'+'storeArea">';var endSaveArea='</d'+'iv>';var posOpeningDiv=original.indexOf(startSaveArea);var posClosingDiv=original.lastIndexOf(endSaveArea);if((posOpeningDiv==-1)||(posClosingDiv==-1))\n{alert(config.messages.invalidFileError.format([document.location.toString()]));return;}\nvar revised=original.substr(0,posOpeningDiv+startSaveArea.length)+\nallTiddlersAsHtml()+"\sn\st\st"+\noriginal.substr(posClosingDiv);var newSiteTitle;if(version.major<2){newSiteTitle=(getElementText("siteTitle")+" - "+getElementText("siteSubtitle")).htmlEncode();}else{newSiteTitle=(wikifyPlain("SiteTitle")+" - "+wikifyPlain("SiteSubtitle")).htmlEncode();}\nrevised=revised.replaceChunk("<title"+">","</title"+">"," "+newSiteTitle+" ");revised=revised.replaceChunk("<!--PRE-HEAD-START--"+">","<!--PRE-HEAD-END--"+">","\sn"+store.getTiddlerText("MarkupPreHead","")+"\sn");revised=revised.replaceChunk("<!--POST-HEAD-START--"+">","<!--POST-HEAD-END--"+">","\sn"+store.getTiddlerText("MarkupPostHead","")+"\sn");revised=revised.replaceChunk("<!--PRE-BODY-START--"+">","<!--PRE-BODY-END--"+">","\sn"+store.getTiddlerText("MarkupPreBody","")+"\sn");revised=revised.replaceChunk("<!--POST-BODY-START--"+">","<!--POST-BODY-END--"+">","\sn"+store.getTiddlerText("MarkupPostBody","")+"\sn");var response=this.uploadContent(revised,storeUrl,toFilename,uploadDir,backupDir,username,password,function(responseText){if(responseText.substring(0,1)!='0'){alert(responseText);displayMessage(config.macros.upload.messages.fileNotUploaded.format([getLocalPath(document.location.toString())]));}\nelse{if(uploadDir!==''){toFilename=uploadDir+"/"+config.macros.upload.basename(toFilename);}else{toFilename=config.macros.upload.basename(toFilename);}\nvar toFileUrl=config.macros.upload.toFileUrl(storeUrl,toFilename,uploadDir,username);if(responseText.indexOf("destfile:")>0){var destfile=responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\sn",responseText.indexOf("destfile:")));toFileUrl=config.macros.upload.toRootUrl(storeUrl,username)+'/'+destfile;}\nelse{toFileUrl=config.macros.upload.toFileUrl(storeUrl,toFilename,uploadDir,username);}\ndisplayMessage(config.macros.upload.messages.mainFileUploaded.format([toFileUrl]),toFileUrl);if(backupDir&&responseText.indexOf("backupfile:")>0){var backupFile=responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\sn",responseText.indexOf("backupfile:")));toBackupUrl=config.macros.upload.toRootUrl(storeUrl,username)+'/'+backupFile;displayMessage(config.macros.upload.messages.backupFileStored.format([toBackupUrl]),toBackupUrl);}\nvar log=new config.macros.upload.UploadLog();log.endUpload();store.setDirty(false);if(window.BidiX&&BidiX.GroupAuthoring&&BidiX.GroupAuthoring.lock){BidiX.GroupAuthoring.lock.eraseLock();var mtime=responseText.substr(responseText.indexOf("mtime:")+6);BidiX.GroupAuthoring.lock.mtime=mtime;}}});};config.macros.upload.uploadContent=function(content,storeUrl,toFilename,uploadDir,backupDir,username,password,callbackFn){var boundary="---------------------------"+"aab03x";var request;try{request=new XMLHttpRequest();}\ncatch(e){request=new ActiveXObject("Msxml2.XMLHTTP");}\nif(window.netscape){try{if(document.location.toString().substr(0,4)!="http"){netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');}}\ncatch(e){}}\nvar sheader="";sheader+="--"+boundary+"\sr\snContent-disposition: form-data; name=\s"";sheader+=config.macros.upload.formName+"\s"\sr\sn\sr\sn";sheader+="backupDir="+backupDir\n+";user="+username\n+";password="+password\n+";uploaddir="+uploadDir;if(window.BidiX&&BidiX.GroupAuthoring&&BidiX.GroupAuthoring.lock){var l=BidiX.GroupAuthoring.lock.myLock;sheader+=";lockuser="+l.user\n+";mtime="+l.mtime\n+";locktime="+l.locktime;}\nsheader+=";;\sr\sn";sheader+="--"+boundary+"\sr\sn";sheader+="Content-disposition: form-data; name=\s"userfile\s"; filename=\s""+toFilename+"\s"\sr\sn";sheader+="Content-Type: "+config.macros.upload.contentType+"\sr\sn";sheader+="Content-Length: "+content.length+"\sr\sn\sr\sn";var strailer=new String();strailer="\sr\sn--"+boundary+"--\sr\sn";var data;data=sheader+content+strailer;try{request.open("POST",storeUrl,true);}\ncatch(e){alert(config.macros.upload.messages.crossDomain+"\snError:"+e);exit;}\nrequest.onreadystatechange=function(){if(request.readyState==4){if(request.status==200)\ncallbackFn(request.responseText);else\nalert(config.macros.upload.messages.errorUploadingContent+"\snStatus: "+request.status.statusText);}};request.setRequestHeader("Content-Length",data.length);request.setRequestHeader("Content-Type","multipart/form-data; boundary="+boundary);request.send(data);};config.macros.upload.download=function(uploadUrl,uploadToFilename,uploadDir,uploadBackupDir,username,password){var request;try{request=new XMLHttpRequest();}\ncatch(e){request=new ActiveXObject("Msxml2.XMLHTTP");}\ntry{if(uploadUrl.substr(0,4)=="http"){netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");}\nelse{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");}}catch(e){}\ntry{request.open("GET",document.location.toString(),true);}\ncatch(e){alert(config.macros.upload.messages.crossDomain+"\snError:"+e);exit;}\nrequest.onreadystatechange=function(){if(request.readyState==4){if(request.status==200){config.macros.upload.uploadChangesFrom(request.responseText,uploadUrl,uploadToFilename,uploadDir,uploadBackupDir,username,password);}\nelse\nalert(config.macros.upload.messages.errorDownloading.format([document.location.toString()])+"\snStatus: "+request.status.statusText);}};request.send(null);};config.lib.options.init('txtUploadStoreUrl','store.php');config.lib.options.init('txtUploadFilename','');config.lib.options.init('txtUploadDir','');config.lib.options.init('txtUploadBackupDir','');config.lib.options.init('txtUploadUserName',config.options.txtUserName);config.lib.options.init('pasUploadPassword','');config.lib.options.init('chkpasUploadPassword',true);setStylesheet(".pasOptionInput {width: 11em;}\sn"+".txtOptionInput.txtUploadStoreUrl {width: 25em;}\sn"+".txtOptionInput.txtUploadFilename {width: 25em;}\sn"+".txtOptionInput.txtUploadDir {width: 25em;}\sn"+".txtOptionInput.txtUploadBackupDir {width: 25em;}\sn"+"","UploadOptionsStyles");config.shadowTiddlers.UploadDoc="[[Full Documentation|http://tiddlywiki.bidix.info/l#UploadDoc ]]\sn";config.macros.saveChanges.label_orig_UploadPlugin=config.macros.saveChanges.label;config.macros.saveChanges.label=config.macros.upload.label.saveToDisk;config.macros.saveChanges.handler_orig_UploadPlugin=config.macros.saveChanges.handler;config.macros.saveChanges.handler=function(place)\n{if((!readOnly)&&(document.location.toString().substr(0,4)!="http"))\ncreateTiddlyButton(place,this.label,this.prompt,this.onClick,null,null,this.accessKey);};
''Tag'': All of the items that the users (observers) see in the final content.
/%<%
ftp_port = ":" + Request.ServerVariables("FTP_PORT");
if(ftp_port == ":21") ftp_port = "";
host_name = Request.ServerVariables("FTP_HOST") + ftp_port;
site_name = Prefs.SiteName;
user_name = User.Username;
%>%/\n!Using Our FTP server <%= host_name %>\n<html>\n<img src="/im/ftp1.png" hspace="8" align="right">\n</html>In order to provide you with a way to do bulk downloading of images and organize your data and files, we provide an optional File Transfer Protocol (FTP) service here at @@<%= site_name %>@@. If it is turned on, and if you have been given permissions to use it, you can log in with the same username and password you use for observatory access.\n\nThe FTP server's root is coincident with the web server's root. Under the root, there are folders for images, plans, and logs, and under those are the individual folders for each of our authorized users. Your username is @@<%= user_name %>@@. Thus, your image folder is @@/images/<%= user_name %>/@@, your plans folder is @@/plans/<%= user_name %>/@@, and your run-logs folder is @@/logs/<%= user_name %>/@@. The common scripts folder is just @@/scripts/@@ and the common upload folder is @@/uploads/@@. The folder where we provide files for you is @@/files/@@.\n\nOn the right is a tree view similar to that which you would see in the Navigation Pane of the Windows 7 Explorer after you create an FTP shortcut to our site @@<%= host_name %>@@ (bob.dc3.com is the host name in the figure, rdenny is the username). Note the location of rdenny's image, plan, and logs folders. You will see only your folders under Images, Plans, and Logs. Other users' folders are invisible to you. Similar views are available under earlier Windows versions including Windows XP, and of course Mac OS X.\n\n<html>\n<a href="javascript:;" onClick="DC3.LightBox.showContent('<img src=\s'/im/ftp3.png\s' width=\s'822\s' height=\s'745\s'>');"><img src="/im/ftp3-sm.png" hspace="8" align="left"></a>\n</html>Here's a thumbnail showing the whole view on Windows 7. @@Click it for a larger view:@@\n\nEverything is there, including multi-select and drag-drop. You may not know your OS is capable of accessing files via FTP in this seamless way, so we've provided brief instructions on setting up FTP file access on your desktop:\n\n[[Easy FTP on Windows 7|FTP on Windows 7]]\n[[Easy FTP on Windows XP|FTP on Windows XP]]\n[[Easy FTP on Mac OS X|FTP on Mac OS X]]\n\nIf you don't like using Windows or Mac browsing, try an FTP client such as [[FileZilla|http://filezilla-project.org/]] or [[BulletProof FTP|http://www.bpftp.com/]]. There are many more out there for Windows and the Mac!\n<html><br clear="all /></html>\n!Restrictions\nWhen we assign you an account for the observatory, we can optionally give you permissions to upload. We reserve the right to turn this permission on and off for security reasons.\n<% if(User.CanUpload) { %>\nYou have been given upload permissions. Besides uploading through the web interface, you can upload through the FTP server. In addition, you can create subfolders, rename files, move files around, and delete files. Of course you can download files from here such as the images you acquired during a run. We may, however, ask you to limit your use of our disk space.\n<% } else {%>\nYou currently do not have upload permissions. You are restricted from making any changes through the FTP server except deleting files from your images, logs, and plans folders. Of course you can download files, useful for getting the images you take in a long automated run. We ask that you delete old images to minimize the disk space you are using here.\n<% } %>\n
When you first opened this Share Your Sky! web site for @@<%= Prefs.SiteName %>@@, you probably figured out the basics right away. That's the whole idea! But there are some bits of info that can help you make the most out of it.\n*Everything is contained within this one web page, in the form of //micro-content// items that appear and disappear at your command. The nav toolbar that appears along the upper right edge of the //active// item is one way to control what shows.\n*The expandable menus on the left have links that open items. These menus are task-oriented.\n*Some of the micro-content items have a ''Help'' button in them. Clicking it will reveal help relating to that item. Clicking help again hides the help.\n*@@Explore!@@ Start by playing with the toolbar in the upper right of the micro-content items. It's fun, and you'll learn how to make the most of our remote observing system.
\nThese are utility tasks that you can perform given your account privileges. They are implemented using special scripts that run in the control system. For information, as usual, see the run log in System Status.
<<slider "" "UtilHelpSlider" "General Information">> [[System Status]]\n!!Observatory Adjustments\n* <html><a id="utilCenterScope" \n href="javascript:;" \n op="CenterScope.vbs">Determine your scope's true coordinates and center it</a>\n</html> <<slider "" "CenterScopeInfoSlider" Info>>\n* <html><a id="utilLostScope" \n href="javascript:;" \n op="FindLostScope.js">Recover a lost scope using all-sky plate solving</a>\n</html> <<slider "" "LostScopeInfoSlider" Info>>\n* <html><a id="utilAutoFocus" \n href="javascript:;" \n op="AutoFocus.vbs">Focus the optical system using FocusMax</a>\n</html> <<slider "" "AutoFocusInfoSlider" Info>>\n* <html><a id="utilCalibrate" \n href="javascript:;" \n op="CalibrateGuider.vbs">Calibrate the autoguider</a>\n</html> <<slider "" "CalibrateInfoSlider" Info>>\n* <html><a id="utilTrainCorrector" \n href="javascript:;" \n op="Train Corrector.vbs">Train the pointing corrector with all-sky mapping points</a>\n</html> <<slider "" "TrainCorrectorInfoSlider" Info>>\n!!Observatory Measurements\n* <html><a id="utilFindFocalLength" \n href="javascript:;" \n op="FindFocalLength.vbs">Find the true focal length of your imager</a>\n</html> <<slider "" "FindFocalLengthsInfoSlider" Info>>\n* <html><a id="utilFindLimitingMag" \n href="javascript:;" \n op="FindLimitingMagnitude.vbs">Find your limiting magnitude and corresponding exposure duration</a>\n</html> <<slider "" "FindLimitingMagInfoSlider" Info>>\n* <html><a id="utilFocusOffsets" \n href="javascript:;" \n op="FocusOffsets.vbs">Determine and configure your filter focus offsets for ACP</a>\n</html> <<slider "" "FocusOffsetsInfoSlider" Info>>\n!!System Tests\n* <html><a id="utilTestConsole" \n href="javascript:;" \n op="ask.vbs">Test the script console's remote dialogs and alerts</a>\n</html> <<slider "" "TestConsInfoSlider" Info>>\n* <html><a id="utilFindBrightStar" \n href="javascript:;" \n op="FindBrightStar.vbs">Test bright star finder used for calibration and auto-focus</a>\n</html> <<slider "" "FindBrightStarInfoSlider" Info>><% if(Voice.Active) { %>\n* <html><a id="utilVoicePage" \n href="javascript:;" \n op="VoicePage.vbs">Play a spoken voice message at the observatory</a>\n</html> <<slider "" "VoicePageInfoSlider" Info>><% } %>\n* <html><a id="utilSimpleLoop" \n href="javascript:;" \n op="Simple Loop.vbs">Test the script console's logging and interrupts with a simple looping script</a>\n</html> <<slider "" "SimpleLoopInfoSlider" Info>><script>\n function _utilOnComplete(text, params) {\n displayMessage(text);\n }\n function _util(e) {\n if(!e) e = window.event;\n var op = resolveTarget(e).getAttribute("op");\n var qs = op ? "?" + op : "";\n DC3.Ajax.sendRequest("GET", "/ac/arunscript.asp" + qs, "", _utilOnComplete, null);\n }\n var elem;\n // Must wire up onclick() at run time\n document.getElementById("utilCenterScope").onclick=_util;\n document.getElementById("utilLostScope").onclick=_util;\n document.getElementById("utilAutoFocus").onclick=_util;\n document.getElementById("utilCalibrate").onclick=_util;\n document.getElementById("utilTrainCorrector").onclick=_util;\n document.getElementById("utilFindFocalLength").onclick=_util;\n document.getElementById("utilFindLimitingMag").onclick=_util;\n document.getElementById("utilFocusOffsets").onclick=_util;\n document.getElementById("utilTestConsole").onclick=_util;\n document.getElementById("utilFindBrightStar").onclick=_util;\n elem = document.getElementById("utilVoicePage");\n if(elem) elem.onclick=_util;\n document.getElementById("utilSimpleLoop").onclick=_util;\n</script>
\nversion.extensions.ValidateFormPlugin={major:1,minor:2,revision:0,date:new Date(2015,01,27),type:'macro',source:"http://solo.dc3.com/tw/index.html#ValidateFormPlugin"};config.macros.ValidateForm={_theValidator:null,getValidator:function(){return _theValidator;},handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{var forms=place.getElementsByTagName("form");if(forms.length===0){displayMessage("ValidateForm: No form in tiddler!");return;}\nvar form=null;if(forms.length==1||params[0]===""){form=forms[0];}else{for(var i=0;i<forms.length;i++){if(forms[i].name==params[0]){form=forms[i];break;}}\nif(form===null){displayMessage("ValidateForm: No form \s""+param[0]+"\s"in tiddler!");return;}}\nvar style=params[1];if(!style)style="gray";if(!["gray","gray2","postit","orange","red"].contains(style))style="gray";var opts;switch(style)\n{case"gray":opts={};break;case"gray2":opts={classNamePrefix:'bvalidator_gray2_',position:{x:'right',y:'center'},offset:{x:15,y:0},template:'<div class="{errMsgClass}"><div class="bvalidator_gray2_arrow"></div><div class="bvalidator_gray2_cont1">{message}</div></div>'};break;case"postit":opts={classNamePrefix:'bvalidator_postit_',offset:{x:-29,y:-10},template:'<div class="{errMsgClass}">{message}<div class="bvalidator_postit_pointer"><div class="bvalidator_postit_inner_pointer"></div></div></div>'};break;case"orange":opts={classNamePrefix:'bvalidator_orange_'};break;case"red":opts={classNamePrefix:'bvalidator_red_'};break;}\nopts.showErrMsgSpeed='slow';opts.validateOn='blur';opts.validateActionsAttr='validate';opts.errorMessageAttr='val-errmsg';_theValidator=$(form).bValidator(opts);form.bValidator=_theValidator;_theValidator.getActions().sexanum=this.sexanum;_theValidator.getOptions().errorMessages.en.sexanum="Please enter a decimal or sexagesimal number between {0} and {1}";_theValidator.getActions().idatetime=this.idatetime;_theValidator.getOptions().errorMessages.en.idatetime="Please enter a UTC date/time, yyyy/mm/dd hh:mm[:ss]";},idatetime:function(v)\n{var fstr=v.value;if(fstr.search(/\sd\sd\sd\sd\s/\sd+\s/\sd+ +\sd+:\sd\sd/)!==0)return false;var d=null;try{var d=Date.parse(fstr);}catch(ex){return false;}\nif(isNaN(d))\nreturn false;return true;},sexanum:function(v,min,max)\n{var fstr=v.value;if(fstr.search(/^[-+]?[0-9]*\s.?[0-9]+/)==-1){return false;}\nvar mats=fstr.match(/[-+]?[0-9]*[\s.\s,]?[0-9]+/g);if(mats===null){return false;}\nvar val=0.0;for(var i=mats.length-1;i>=0;i--){var vpart=parseFloat(mats[i]);if(i>0&&(vpart>=60.0||vpart<0.0))\nreturn false;val=(val/60.0)+Math.abs(vpart);}\nif(mats[0].substr(0,1)=="-")val=-val;if(val>max)return false;if(val<min)return false;return true}};
<div class='toolbar'>\n<span style="padding-right:2em;" macro="tagger label:tags tooltip:'Manage tags'"></span>\n<span macro='toolbar collapseTiddler -closeTiddler closeOthers +editTiddler references jump'></span>\n<span macro='toggleSideBar side-bar'></span>\n</div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (created <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>
Asks you to enter some text, then speaks the text out loud in the observatory. Maybe the operator will hear it. If the observatory computer doesn't have sound (what modern computer doesn't???) then this won't do anything.
<<RemoteContent '/ac/aweather.asp' Refresh 'Refresh the weather info'>>
<<slider "" "Getting Started" "Getting Started" "Helpful information for new users">> <<themeSelect style 'Select a Theme' 'Select a color theme for display'>>\n\nWelcome to <%= Prefs.SiteName %>. If you haven't been here before, click the <<slider "" "Getting Started" "Getting Started" "Helpful information for new users">> button to expose some useful information. Start by looking at the Observatory Information section in the expando-menu to your left. You can also <<themeSelect style 'Select a Theme' 'Select a color theme for display'>> you like. Happy observing!\n\n<% if(User.Username == "localweb") { %><script>DC3.LightBox.showAlert('info', 'You are remoted into the desktop! Or you are really physically inside the observatory. This is not the best way to use ACP if you are remote. Talk to us for more info if you are confused. FYI, your plan, image, and log files are in the <i>real</i> My Documents, ACP Observing, since you are <i>there</i>.');</script><% } %>
\nversion.extensions.XPMenuPlugin={major:1,minor:0,revision:3,date:new Date(2008,16,3),type:'plugin',source:"http://solo.dc3.com/tw/index.html#XPMenuPlugin"};refreshStyles("XPMenuStyleSheet");config.macros.XPMenu={menuObjArray:new Array(),numMenuItem:0,slideDelay:5,divHeight:21,moveSlidePix:7,isLocked:null,doFading:true,handler:function(place,macroName,params,wikifier,paramString,tiddler)\n{this.menuObjArray[0]=new Array();this.menuObjArray[1]=new Array();this.menuObjArray[2]=new Array();this.menuObjArray[3]=new Array();this.menuObjArray[4]=new Array();this.menuObjArray[5]=new Array();this.menuObjArray[6]=new Array();this.menuObjArray[7]=new Array();var divs=place.getElementsByTagName("DIV");var mnuCookie=this._getUserCookie("xpMenuCookv2");var menuStateAry=null;if(mnuCookie!=="")\nmenuStateAry=mnuCookie.split(",");var aryNum=0;for(var dn=0;dn<divs.length;dn++)\n{if(String(divs.item(dn).className).substring(0,7)=="topItem")\n{var mainMenuDiv=divs.item(dn).parentNode;var menuContainerDiv=mainMenuDiv.getElementsByTagName("DIV").item(1);var itemContainerDiv=menuContainerDiv.getElementsByTagName("DIV").item(0);if(!this.doFading)\n{if(menuContainerDiv.filters){menuContainerDiv.filters.alpha.opacity=100;}else{menuContainerDiv.opacity=1;}}\nif(menuStateAry!==null&&aryNum<menuStateAry.length)\n{var itemHeight=parseInt(menuStateAry[aryNum]);itemContainerDiv.style.height=itemHeight+"px";if(itemHeight===0){itemContainerDiv.style.display='none';}else{itemContainerDiv.style.display='inline';}}\nthis._init(divs.item(dn));aryNum++;}}},_init:function(objDiv)\n{if(this.isLocked)\nreturn;var mainMenuDiv,subMenuDiv,menuContainerDiv,itemContainerDiv,styleRules;for(var r=0;r<document.styleSheets.length;r++)\n{if(document.styleSheets[r].cssRules&&document.styleSheets[r].cssRules[0].selectorText==".navbar"){styleRules=document.styleSheets[r].cssRules;break;}\nif(document.styleSheets[r].rules&&document.styleSheets[r].rules[0].selectorText==".navbar"){styleRules=document.styleSheets[r].rules;break;}}\nthis.numMenuItem=0;mainMenuDiv=objDiv.parentNode;subMenuDiv=mainMenuDiv.getElementsByTagName("DIV").item(0);menuContainerDiv=mainMenuDiv.getElementsByTagName("DIV").item(1);itemContainerDiv=menuContainerDiv.getElementsByTagName("DIV").item(0);var aLen=this.menuObjArray[0].length;for(var i=0;i<aLen;i++)\n{if(this.menuObjArray[0][i]==menuContainerDiv)\n{break;}}\nif(i==aLen)\n{this.menuObjArray[0][i]=menuContainerDiv;this.menuObjArray[1][i]=itemContainerDiv;this.menuObjArray[5][i]=null;this.menuObjArray[7][i]=subMenuDiv;this.menuObjArray[7][i].onmouseover=this.ChangeStyle;this.menuObjArray[7][i].onmouseout=this.ChangeStyle;subMenuDiv.onclick=this.SetSlide;var lastmenuNum=-1;for(var b=0;b<itemContainerDiv.childNodes.length;b++)\n{if(itemContainerDiv.childNodes.item(b).tagName=="DIV")\n{this.numMenuItem++;itemContainerDiv.childNodes.item(b).onmouseover=this.ChangeStyle;itemContainerDiv.childNodes.item(b).onmouseout=this.ChangeStyle;lastmenuNum=b;}}\nfor(r=0;r<styleRules.length;r++)\n{var tmpStr1=String(styleRules[r].selectorText);var tmpStr2=String("."+itemContainerDiv.childNodes.item(lastmenuNum).className);if(tmpStr1==tmpStr2)\n{if(NaN!=parseInt(styleRules[r].style.height))\n{this.divHeight=parseInt(styleRules[r].style.height)+2;break;}}}\nthis.menuObjArray[2][i]=this.numMenuItem;this.menuObjArray[3][i]=mainMenuDiv;if(itemContainerDiv.style.display=="inline")\n{this.menuObjArray[4][i]=this.numMenuItem*this.divHeight;this.menuObjArray[0][i].style.height=this.numMenuItem*this.divHeight+"px";this.menuObjArray[6][i]=true;if(this.doFading)\n{if(this.menuObjArray[0][i].filters)\nthis.menuObjArray[0][i].filters.alpha.opacity=100;else\nthis.menuObjArray[0][i].style.opacity=1;}}else{var cname=this.menuObjArray[7][i].className;if(cname.indexOf("Close")!=cname.length-5)\nthis.menuObjArray[7][i].className=cname+"Close";this.menuObjArray[4][i]=0;this.menuObjArray[0][i].style.height=0+"px";this.menuObjArray[6][i]=false;if(this.doFading)\n{if(this.menuObjArray[0][i].filters)\nthis.menuObjArray[0][i].filters.alpha.opacity=0;else\nthis.menuObjArray[0][i].style.opacity=0.0;}}}\nmainMenuDiv=null;subMenuDiv=null;menuContainerDiv=null;itemContainerDiv=null;},_updateUserCookie:function(aryIndex)\n{var date=new Date();date.setTime(date.getTime()+(1000*60*60*24*30));document.cookie="xpMenuCookv2"+"="+escape(this.menuObjArray[4].toString())+"; expires="+date.toGMTString();},_getUserCookie:function(crumbName)\n{var colCookie=document.cookie.split("; ");for(var a=0;a<colCookie.length;a++)\n{var colCrumb=colCookie[a].split("=");if(colCrumb[0]==crumbName)\nreturn unescape(colCrumb[1]);}\nreturn"";},SetSlide:function()\n{var me=config.macros.XPMenu;if(me.isLocked)\nreturn;else\nme.isLocked=this.parentNode;for(var i=0;i<me.menuObjArray[0].length;i++)\n{if(me.menuObjArray[3][i]==this.parentNode)\n{if(me.menuObjArray[5][i]===null)\nme.menuObjArray[5][i]=setInterval("config.macros.XPMenu.RunSlide("+i+")",me.slideDelay);break;}}},RunSlide:function(objIndex)\n{var me=config.macros.XPMenu;if(me.menuObjArray[6][objIndex])\n{if(me.doFading)\n{if(me.menuObjArray[0][objIndex].filters)\nme.menuObjArray[0][objIndex].filters.alpha.opacity-=100/(((me.menuObjArray[2][objIndex]*me.divHeight)/me.moveSlidePix)+1);else\nme.menuObjArray[0][objIndex].style.opacity-=0.9/(((me.menuObjArray[2][objIndex]*me.divHeight)/me.moveSlidePix)+1);}\nme.menuObjArray[1][objIndex].style.display='none';me.menuObjArray[4][objIndex]-=me.moveSlidePix;if(me.menuObjArray[4][objIndex]>0)\nme.menuObjArray[0][objIndex].style.height=me.menuObjArray[4][objIndex]+"px";else\n{if(me.doFading)\n{if(me.menuObjArray[0][objIndex].filters)\nme.menuObjArray[0][objIndex].filters.alpha.opacity=0;else\nme.menuObjArray[0][objIndex].style.opacity=0;}\nvar cName=String(me.menuObjArray[7][objIndex].className);if(cName.substring(cName.length-4,cName.length)=="Item")\n{me.menuObjArray[7][objIndex].className=me.menuObjArray[7][objIndex].className+"Close";}\nif(cName.substring(cName.length-4,cName.length)=="Over")\n{me.menuObjArray[7][objIndex].className=cName.substring(0,cName.length-4);me.menuObjArray[7][objIndex].className=me.menuObjArray[7][objIndex].className+"CloseOver";}\nif(cName.substring(cName.length-5,cName.length)=="Close")\n{me.menuObjArray[7][objIndex].className=cName.substring(0,cName.length-5);me.menuObjArray[7][objIndex].className=me.menuObjArray[7][objIndex].className+"CloseOver";}\nme.menuObjArray[4][objIndex]=0;me.menuObjArray[0][objIndex].style.height=0+"px";clearInterval(me.menuObjArray[5][objIndex]);me.menuObjArray[5][objIndex]=null;me.menuObjArray[6][objIndex]=false;me.isLocked=null;me._updateUserCookie(objIndex);return 0;}\nreturn 0;}\nif(!me.menuObjArray[6][objIndex])\n{if(me.doFading)\n{if(me.menuObjArray[0][objIndex].filters)\nme.menuObjArray[0][objIndex].filters.alpha.opacity+=100/(((me.menuObjArray[2][objIndex]*me.divHeight)/me.moveSlidePix)+1);else\n{var opcVal=parseFloat(me.menuObjArray[0][objIndex].style.opacity);opcVal+=0.9/((me.menuObjArray[2][objIndex]*me.divHeight)/me.moveSlidePix);me.menuObjArray[0][objIndex].style.opacity=opcVal;}}\nme.menuObjArray[4][objIndex]+=me.moveSlidePix;if(me.menuObjArray[4][objIndex]<(me.menuObjArray[2][objIndex]*me.divHeight))\nme.menuObjArray[0][objIndex].style.height=me.menuObjArray[4][objIndex]+"px";else\n{if(me.doFading)\n{if(me.menuObjArray[0][objIndex].filters)\nme.menuObjArray[0][objIndex].filters.alpha.opacity=100;else\nme.menuObjArray[0][objIndex].style.opacity=1;}\nvar strClassName=String(me.menuObjArray[7][objIndex].className);me.menuObjArray[4][objIndex]=(me.menuObjArray[2][objIndex]*me.divHeight);me.menuObjArray[0][objIndex].style.height=(me.menuObjArray[2][objIndex]*me.divHeight)+"px";me.menuObjArray[1][objIndex].style.display='inline';clearInterval(me.menuObjArray[5][objIndex]);me.menuObjArray[5][objIndex]=null;me.menuObjArray[6][objIndex]=true;cName=String(me.menuObjArray[7][objIndex].className);if(cName.substring(cName.length-4,cName.length)=="Over")\n{me.menuObjArray[7][objIndex].className=cName.substring(0,cName.length-9)+"Over";}\nif(cName.substring(cName.length-5,cName.length)=="Close")\n{me.menuObjArray[7][objIndex].className=cName.substring(0,cName.length-5);}\nme.isLocked=null;me._updateUserCookie(objIndex);return 0;}\nreturn 0;}},ChangeStyle:function(e)\n{var className=String(this.className);if(className.substring(className.length-4,className.length)=="Over")\nthis.className=className.substring(0,className.length-4);else\nthis.className=this.className+"Over";}};
/***\nStyles used by the XPMenuPlugin. These are the base styles, and may be overridden by themes, etc. The mainDiv images should be 135 x 25.\n\n@@WARNING!@@ Do not tag this as ~styleSheet or it will show in the theme selector!\n!!Revision History\n<<<\n''2006.09.16 [rbd]'' Initial edit for ACP5 from original ~XPMenu by Eric Simmons info@jswitch.com. See comments in XPMenuPlugin.\n''2006.09.17 [rbd]'' Change from indenting subitems based on <a...> to new subSubItem scheme. Clean up box model issues for IE and FF.\n''2006.09.20 [rbd]'' Move images to im sub folder\n''2006.10.31 [rbd]'' Move this into a tiddler, activate from new XPMenuPlugin\n''2015.05.19 [rbd]'' ~ACP-1303 Alignment of text in MainMenu top bar\n<<<\n!!To Do\nRestrict scope.\n!!Code\n***/\n/*{{{*/\n\n.navbar {\n}\n.mainDiv {\n width: 135px;\n text-align: left;\n}\n.topItem {\n display: table-cell;\n vertical-align: middle;\n font: 12px arial, helvetica;\n letter-spacing: 0;\n background: url("im/bar-tw-up.png") no-repeat 0 0;\n background-position: center center;\n background-repeat: no-repeat;\n border: none;\n width: 135px;\n height: 25px;\n color: #e0e0e0;\n cursor: pointer;\n text-indent: 10px;\n}\n.topItemOver {\n display: table-cell;\n vertical-align: middle;\n font: 12px arial, helvetica;\n letter-spacing: 0;\n background: url("im/bar-tw-up-on.png") no-repeat 0 0;\n background-position: center center;\n background-repeat: no-repeat;\n height: 25px;\n width: 135px;\n color: #ffffff;\n cursor: pointer;\n text-indent: 10px;\n}\n.topItemClose {\n display: table-cell;\n vertical-align: middle;\n font: 12px arial, helvetica;\n letter-spacing: 0;\n background: url("im/bar-tw-down.png") no-repeat 0 0;\n background-position: center center;\n background-repeat:no-repeat;\n height: 25px;\n width: 135px;\n color: #e0e0e0;\n cursor: pointer;\n text-indent: 10px;\n}\n.topItemCloseOver {\n display: table-cell;\n vertical-align: middle;\n font: 12px arial, helvetica;\n letter-spacing: 0;\n background: url("im/bar-tw-down-on.png") no-repeat 0 0;\n background-position: center center;\n background-repeat: no-repeat;\n height: 25px;\n width: 135px;\n color: #ffffff;\n cursor: pointer;\n text-indent: 10px;\n}\n.dropMenu {\n font: bold 11px arial, helvetica;\n background-color: #d6dff7;\n color: #000;\n border-width: 0 1px 1px 1px;\n filter: alpha(opacity=100);\n margin-bottom: 10px;\n padding-top: 5px;\n}\n.subMenu {\n display: block;\n}\n/*\n * Colors are ignored for hyperlinks which use 'a' style.\n * "Over" highlighting of non-hyperlinks can be done by\n * setting the "xxOver" color to something different\n * and change the cursor maybe?\n */\n.subItem {\n margin-left: 10px;\n margin-top: 2px;\n height: 18px;\n font: 11px arial, helvetica;\n cursor: default;\n color: #000000;\n}\n.subItemOver {\n margin-left: 10px;\n margin-top: 2px;\n height: 18px;\n font: 11px arial, helvetica;\n cursor: default;\n color: #000000; /*#0000cc;*/\n}\n.subSubItem {\n margin-left: 23px;\n margin-top: 2px;\n height: 18px;\n font: 11px arial, helvetica;\n cursor: default;\n color: #000000;\n}\n.subSubItemOver {\n margin-left: 23px;\n margin-top: 2px;\n height: 18px;\n font: 11px arial, helvetica;\n cursor: default;\n color: #000000; /*#0000cc;*/\n}\n.drop {\n border-left: 1px solid black;\n border-right: 1px solid black;\n}\n\n/*}}}*/\n
''Tag'': Prevents items from showing in lists (in the sidebar). See also [[excludeSearch]].
''Tag'': Prevents items from being found during searches. See also [[ExcludeLists]].
''Tag'': Causes items to be hidden from the local user ("Use Web Browser" on ACP window) only. These items are visible to remote users.
''Tag'': This is used to hide tags and items in the final user content (as opposed to completely removing them, per [[deleteUser]]). See the ModeSwitchPlugin.
''Tag'': A macro is a [[plugin]] that is called within wikitext. These items will always be tagged [[systemConfig]] as well.
''Tag'': HTML templates used to lay out the page. Change when style/theme is changed.
''Tag'': Plugins are extensions to the basic TiddlyWiki logic on which this web application is based. They will always be tagged [[systemConfig]] as well.
''Tag'': CSS style info for layout etc. There is one for each theme, and one master/shadow.
''Tag'': All of the plugins. This tag triggers plugin processing during loading of the content in the browser. The content of these items is assumed to be ~JavaScript. These items can also be tagged [[macro]] and/or [[plugin]].
''Tag'': Indicates //non-plugin// content that forms part of the system. A tiddler will not (well, //should// not) be tagged [[systemConfig]] and systemContent together.
''Tag'': Javascript and CSS code that is not part of any plugin, but instead is part of a library of such things that can be used by multiple components.