extensions/net.sf.basedb.meludi/trunk/resources/libprep/inspect_start_plate.jsp

Code
Comments
Other
Rev Date Author Line
3652 08 Dec 15 olle 1 <%@ page
3652 08 Dec 15 olle 2   pageEncoding="UTF-8"
3652 08 Dec 15 olle 3   session="false"
3652 08 Dec 15 olle 4   import="net.sf.basedb.core.Application"
3652 08 Dec 15 olle 5   import="net.sf.basedb.core.User"
3652 08 Dec 15 olle 6   import="net.sf.basedb.core.DbControl"
3652 08 Dec 15 olle 7   import="net.sf.basedb.core.SessionControl"
3652 08 Dec 15 olle 8   import="net.sf.basedb.clients.web.Base"
3652 08 Dec 15 olle 9   import="net.sf.basedb.clients.web.util.HTML"
3652 08 Dec 15 olle 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
3652 08 Dec 15 olle 11   import="net.sf.basedb.util.Values"
3652 08 Dec 15 olle 12   import="net.sf.basedb.util.formatter.WellCoordinateFormatter"
3652 08 Dec 15 olle 13 %>
3652 08 Dec 15 olle 14 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
3652 08 Dec 15 olle 15 <%@ taglib prefix="m" uri="/WEB-INF/menu.tld" %>
3652 08 Dec 15 olle 16 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
3652 08 Dec 15 olle 17 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
3652 08 Dec 15 olle 18 <%
3652 08 Dec 15 olle 19 final SessionControl sc = Base.getExistingSessionControl(request, true);
3652 08 Dec 15 olle 20 final String ID = sc.getId();
3652 08 Dec 15 olle 21 final float scale = Base.getScale(sc);
3652 08 Dec 15 olle 22 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.meludi");
3652 08 Dec 15 olle 23 final boolean isNeoPrep = Values.getBoolean(request.getParameter("neoprep"));
3652 08 Dec 15 olle 24 DbControl dc = null;
3652 08 Dec 15 olle 25 try
3652 08 Dec 15 olle 26 {
3652 08 Dec 15 olle 27   dc = sc.newDbControl();
3652 08 Dec 15 olle 28   final User user = User.getById(dc, sc.getLoggedInUserId());
3652 08 Dec 15 olle 29 %>
3652 08 Dec 15 olle 30 <base:page type="default">
3652 08 Dec 15 olle 31 <base:head 
3652 08 Dec 15 olle 32   scripts="~../meludi-2.js,~inspect_start_plate.js,~plate.js,~pools.js,js-draw.js" 
3652 08 Dec 15 olle 33   styles="path.css,toolbar.css,~../css/meludi-2.css,~../css/startplate.css"
3652 08 Dec 15 olle 34   >
3652 08 Dec 15 olle 35 <style>
3652 08 Dec 15 olle 36
3652 08 Dec 15 olle 37 /* Empty wells should have grayed, italic text */
3652 08 Dec 15 olle 38 .well.empty
3652 08 Dec 15 olle 39 {
3652 08 Dec 15 olle 40   text-align: center;
3652 08 Dec 15 olle 41   vertical-align: middle;
3652 08 Dec 15 olle 42   font-style: italic;
3652 08 Dec 15 olle 43   color: #999999;
3652 08 Dec 15 olle 44 }
3652 08 Dec 15 olle 45
3652 08 Dec 15 olle 46 /* A well assigned for QC include a background icon as indicator */
3652 08 Dec 15 olle 47 .well.qc
3652 08 Dec 15 olle 48 {
3652 08 Dec 15 olle 49   background-image: url('../images/mrnaqc.png');
3652 08 Dec 15 olle 50   background-position: 98% 25%;
3652 08 Dec 15 olle 51   background-repeat: no-repeat;
3652 08 Dec 15 olle 52 }
3652 08 Dec 15 olle 53
3652 08 Dec 15 olle 54 /* A well which contain replicate DNA is also marked with an icon */
3652 08 Dec 15 olle 55 .well.replicate
3652 08 Dec 15 olle 56 {
3652 08 Dec 15 olle 57   background-image: url('../images/copy.png');
3652 08 Dec 15 olle 58   background-position: 98% 25%;
3652 08 Dec 15 olle 59   background-repeat: no-repeat;
3652 08 Dec 15 olle 60 }
3652 08 Dec 15 olle 61
3652 08 Dec 15 olle 62 /* A well that is both a replicate and QC need to re-arrange the icons a bit */
3652 08 Dec 15 olle 63 .well.qc.replicate
3652 08 Dec 15 olle 64 {
3652 08 Dec 15 olle 65   background-image: url('../images/mrnaqc.png'), url('../images/copy.png');
3652 08 Dec 15 olle 66   background-position: 98% 25%, 98% 75%;
3652 08 Dec 15 olle 67   background-repeat: no-repeat;
3652 08 Dec 15 olle 68 }
3652 08 Dec 15 olle 69
3652 08 Dec 15 olle 70 .well .missing
3652 08 Dec 15 olle 71 {
3652 08 Dec 15 olle 72   font-style: italic;
3652 08 Dec 15 olle 73 }
3652 08 Dec 15 olle 74
3652 08 Dec 15 olle 75 .kitwell
3652 08 Dec 15 olle 76 {
3652 08 Dec 15 olle 77   height: 30px;
3652 08 Dec 15 olle 78   max-height: 30px;
3652 08 Dec 15 olle 79   min-height: 30px;
3652 08 Dec 15 olle 80   width: 35px;
3652 08 Dec 15 olle 81   max-width: 35px;
3652 08 Dec 15 olle 82   min-width: 35px;
3652 08 Dec 15 olle 83   font-weight: bold;
3652 08 Dec 15 olle 84   font-size: 75%;
3652 08 Dec 15 olle 85   vertical-align: middle;
3652 08 Dec 15 olle 86   text-align: center;
3652 08 Dec 15 olle 87   color: #C0C0C0;  
3652 08 Dec 15 olle 88 }
3652 08 Dec 15 olle 89
3652 08 Dec 15 olle 90 .kitwell.empty
3652 08 Dec 15 olle 91 {
3652 08 Dec 15 olle 92   background-color: #E0E0E0;
3652 08 Dec 15 olle 93   pointer-events: none;
3652 08 Dec 15 olle 94 }
3652 08 Dec 15 olle 95
3652 08 Dec 15 olle 96 .kitwell.unused
3652 08 Dec 15 olle 97 {
3652 08 Dec 15 olle 98   background-color: #A0C0A0;
3652 08 Dec 15 olle 99   pointer-events: none;
3652 08 Dec 15 olle 100 }
3652 08 Dec 15 olle 101
3652 08 Dec 15 olle 102 .kitwell.effunused
3652 08 Dec 15 olle 103 {
3652 08 Dec 15 olle 104   background-color: #A0E0A0;
3652 08 Dec 15 olle 105   pointer-events: none;
3652 08 Dec 15 olle 106 }
3652 08 Dec 15 olle 107
3652 08 Dec 15 olle 108 .kitwell.reserved
3652 08 Dec 15 olle 109 {
3652 08 Dec 15 olle 110   background-color: #E0E0A0;
3652 08 Dec 15 olle 111   pointer-events: none;
3652 08 Dec 15 olle 112 }
3652 08 Dec 15 olle 113
3652 08 Dec 15 olle 114 .plate.hide-location .location
3652 08 Dec 15 olle 115 {
3652 08 Dec 15 olle 116   display: none;
3652 08 Dec 15 olle 117 }
3652 08 Dec 15 olle 118 .plate.hide-quantity .quantity
3652 08 Dec 15 olle 119 {
3652 08 Dec 15 olle 120   display: none;
3652 08 Dec 15 olle 121 }
3652 08 Dec 15 olle 122 .plate.hide-volumes .volumes
3652 08 Dec 15 olle 123 {
3652 08 Dec 15 olle 124   display: none;
3652 08 Dec 15 olle 125 }
3667 15 Dec 15 olle 126 .plate.hide-origqubitconc .origqubitconc
3652 08 Dec 15 olle 127 {
3652 08 Dec 15 olle 128   display: none;
3652 08 Dec 15 olle 129 }
3667 15 Dec 15 olle 130 .plate.hide-calcqubitconc .calcqubitconc
3667 15 Dec 15 olle 131 {
3667 15 Dec 15 olle 132   display: none;
3667 15 Dec 15 olle 133 }
3652 08 Dec 15 olle 134 .plate.hide-quality-score .quality-score
3652 08 Dec 15 olle 135 {
3652 08 Dec 15 olle 136   display: none;
3652 08 Dec 15 olle 137 }
3652 08 Dec 15 olle 138 .plate.hide-qiacube-date .qiacube-date
3652 08 Dec 15 olle 139 {
3652 08 Dec 15 olle 140   display: none;
3652 08 Dec 15 olle 141 }
3652 08 Dec 15 olle 142 .plate.hide-qiacube-date .dilution-date
3652 08 Dec 15 olle 143 {
3652 08 Dec 15 olle 144   display: none;
3652 08 Dec 15 olle 145 }
3652 08 Dec 15 olle 146 .volume
3652 08 Dec 15 olle 147 {
3652 08 Dec 15 olle 148   color: #C80000;
3652 08 Dec 15 olle 149 }
3652 08 Dec 15 olle 150 .water
3652 08 Dec 15 olle 151 {
3652 08 Dec 15 olle 152   color: #0000C8;
3652 08 Dec 15 olle 153 }
3652 08 Dec 15 olle 154 .comment
3652 08 Dec 15 olle 155 {
3652 08 Dec 15 olle 156   font-style: italic;
3652 08 Dec 15 olle 157 }
3652 08 Dec 15 olle 158 .indexprimer
3652 08 Dec 15 olle 159 {
3652 08 Dec 15 olle 160   text-align: center;
3652 08 Dec 15 olle 161   color: #C80000;
3652 08 Dec 15 olle 162 }
3652 08 Dec 15 olle 163 #iconSpecialSelect
3652 08 Dec 15 olle 164 {
3652 08 Dec 15 olle 165   cursor: pointer;
3652 08 Dec 15 olle 166 }
3652 08 Dec 15 olle 167 #flaggedRna:before
3652 08 Dec 15 olle 168 {
3652 08 Dec 15 olle 169   content: url('../images/flag.png');
3652 08 Dec 15 olle 170   padding-right: 4px;
3652 08 Dec 15 olle 171 }
3652 08 Dec 15 olle 172 #select-barcode-all
3652 08 Dec 15 olle 173 {
3652 08 Dec 15 olle 174   max-height: 20em;
3652 08 Dec 15 olle 175   overflow: auto;
3652 08 Dec 15 olle 176 }
3652 08 Dec 15 olle 177
3652 08 Dec 15 olle 178 #select-barcode .menuitem
3652 08 Dec 15 olle 179 {
3652 08 Dec 15 olle 180   padding-left: 16px;
3652 08 Dec 15 olle 181 }
3652 08 Dec 15 olle 182
3652 08 Dec 15 olle 183 #select-barcode div.current
3652 08 Dec 15 olle 184 {
3652 08 Dec 15 olle 185   font-weight: bold;
3652 08 Dec 15 olle 186   background-image: url('../images/selected.gif');
3652 08 Dec 15 olle 187   background-position: 2px 50%;
3652 08 Dec 15 olle 188   background-repeat: no-repeat;
3652 08 Dec 15 olle 189 }
3652 08 Dec 15 olle 190
3652 08 Dec 15 olle 191 #select-barcode .menuitem:hover
3652 08 Dec 15 olle 192 {
3652 08 Dec 15 olle 193   padding-left: 14px;
3652 08 Dec 15 olle 194   background-position: 0px 50%;
3652 08 Dec 15 olle 195 }
3652 08 Dec 15 olle 196
3652 08 Dec 15 olle 197 </style>
3652 08 Dec 15 olle 198 </base:head>
3652 08 Dec 15 olle 199 <base:body>
3652 08 Dec 15 olle 200   <p:path><p:pathelement 
3652 08 Dec 15 olle 201     title="MeLuDI" href="<%="../index.jsp?ID="+ID%>" 
3652 08 Dec 15 olle 202     /><p:pathelement title="<%=isNeoPrep ? "Inspect NeoPrep plate" : "Inspect start DNA plate" %>" 
3652 08 Dec 15 olle 203     /></p:path>
3652 08 Dec 15 olle 204
3652 08 Dec 15 olle 205   <div id="page-data" class="datacontainer"
3652 08 Dec 15 olle 206     data-is-neoprep="<%=isNeoPrep ? 1 : 0%>"
3652 08 Dec 15 olle 207   ></div>
3652 08 Dec 15 olle 208
3652 08 Dec 15 olle 209   <div id="canvas" class="absolutefull" style="z-index: -1;">
3652 08 Dec 15 olle 210   
3652 08 Dec 15 olle 211   <div class="content">
3652 08 Dec 15 olle 212
3652 08 Dec 15 olle 213   <form name="meludi" action="libprep_dilution_protocol2.jsp" method="post" target="_blank" id="wizard" class="wizard">
3652 08 Dec 15 olle 214     <input type="hidden" name="ID" value="<%=ID%>">
3652 08 Dec 15 olle 215     <input type="hidden" name="hiddenSubmitInfo" value="">
3652 08 Dec 15 olle 216     <input type="hidden" name="hiddenNumItems" value="">
3652 08 Dec 15 olle 217     <input type="hidden" name="hiddenLibPrepKitId" value="">
3685 12 Jan 16 olle 218   
3652 08 Dec 15 olle 219
3652 08 Dec 15 olle 220   <m:menu
3652 08 Dec 15 olle 221     id="menuSpecialSelect"
3652 08 Dec 15 olle 222     style="display: none; font-weight: normal; text-align: left;">
3652 08 Dec 15 olle 223     <m:menuitem 
3652 08 Dec 15 olle 224       title="All" 
3652 08 Dec 15 olle 225       subclass="auto-init"
3652 08 Dec 15 olle 226       data-auto-init="special-select"
3652 08 Dec 15 olle 227       data-special="all"
3652 08 Dec 15 olle 228       tooltip="Select/deselect all wells on the plate"
3652 08 Dec 15 olle 229     />
3652 08 Dec 15 olle 230     <m:menuitem 
3652 08 Dec 15 olle 231       title="None" 
3652 08 Dec 15 olle 232       subclass="auto-init"
3652 08 Dec 15 olle 233       data-auto-init="special-select"
3652 08 Dec 15 olle 234       data-special="none"
3652 08 Dec 15 olle 235       tooltip="Deselect all wells on the plate (no toggle!)"
3652 08 Dec 15 olle 236     />
3652 08 Dec 15 olle 237     <m:menuitem 
3652 08 Dec 15 olle 238       title="Primary" 
3652 08 Dec 15 olle 239       subclass="auto-init"
3652 08 Dec 15 olle 240       data-auto-init="special-select"
3652 08 Dec 15 olle 241       data-special="pools"
3652 08 Dec 15 olle 242       tooltip="Select/deselect all primary wells on the plate"
3652 08 Dec 15 olle 243     />
3652 08 Dec 15 olle 244     <m:menuitem 
3652 08 Dec 15 olle 245       title="All empty" 
3652 08 Dec 15 olle 246       subclass="auto-init"
3652 08 Dec 15 olle 247       data-auto-init="special-select"
3652 08 Dec 15 olle 248       data-special="empty"
3652 08 Dec 15 olle 249       tooltip="Select/deselect all empty wells on the plate"
3652 08 Dec 15 olle 250     />
3652 08 Dec 15 olle 251     <m:menuitem 
3652 08 Dec 15 olle 252       title="Empty in primary" 
3652 08 Dec 15 olle 253       subclass="auto-init"
3652 08 Dec 15 olle 254       data-auto-init="special-select"
3652 08 Dec 15 olle 255       data-special="empty-pools"
3652 08 Dec 15 olle 256       tooltip="Select/deselect all empty primary wells on the plate"
3652 08 Dec 15 olle 257     />
3652 08 Dec 15 olle 258     <m:menuseparator />
3652 08 Dec 15 olle 259     <m:menuitem 
3652 08 Dec 15 olle 260       icon="<%=home+"/images/stratagene.png"%>"
3652 08 Dec 15 olle 261       title="Stratagene" 
3652 08 Dec 15 olle 262       subclass="auto-init"
3652 08 Dec 15 olle 263       data-auto-init="special-select"
3652 08 Dec 15 olle 264       data-special="stratagene"
3652 08 Dec 15 olle 265       tooltip="Select/deselect all wells with Stratagene"
3652 08 Dec 15 olle 266     />
3652 08 Dec 15 olle 267     <m:menuitem 
3652 08 Dec 15 olle 268       icon="<%=home+"/images/external.png"%>"
3652 08 Dec 15 olle 269       title="External" 
3652 08 Dec 15 olle 270       subclass="auto-init"
3652 08 Dec 15 olle 271       data-auto-init="special-select"
3652 08 Dec 15 olle 272       data-special="external"
3652 08 Dec 15 olle 273       tooltip="Select/deselect all wells with external DNA"
3652 08 Dec 15 olle 274     />
3652 08 Dec 15 olle 275     <m:menuitem 
3652 08 Dec 15 olle 276       icon="<%=home+"/images/copy.png"%>"
3652 08 Dec 15 olle 277       title="Replicates" 
3652 08 Dec 15 olle 278       subclass="auto-init"
3652 08 Dec 15 olle 279       data-auto-init="special-select"
3652 08 Dec 15 olle 280       data-special="replicates"
3652 08 Dec 15 olle 281       tooltip="Select/deselect all wells with replicated DNA"
3652 08 Dec 15 olle 282     />
3652 08 Dec 15 olle 283     <m:menuitem 
3652 08 Dec 15 olle 284       icon="<%=home+"/images/error.png"%>"
3652 08 Dec 15 olle 285       title="Error" 
3652 08 Dec 15 olle 286       subclass="auto-init"
3652 08 Dec 15 olle 287       data-auto-init="special-select"
3652 08 Dec 15 olle 288       data-special="error"
3652 08 Dec 15 olle 289       tooltip="Select/deselect all wells with an error"
3652 08 Dec 15 olle 290     />
3652 08 Dec 15 olle 291     <m:menuitem 
3652 08 Dec 15 olle 292       icon="<%=home+"/images/warning.png"%>"
3652 08 Dec 15 olle 293       title="Warning" 
3652 08 Dec 15 olle 294       subclass="auto-init"
3652 08 Dec 15 olle 295       data-auto-init="special-select"
3652 08 Dec 15 olle 296       data-special="warning"
3652 08 Dec 15 olle 297       tooltip="Select/deselect all wells with an error"
3652 08 Dec 15 olle 298     />
3652 08 Dec 15 olle 299   </m:menu>
3652 08 Dec 15 olle 300   
3652 08 Dec 15 olle 301   <m:menu
3652 08 Dec 15 olle 302     id="menuContext"
3652 08 Dec 15 olle 303     style="display: none; font-weight: normal; text-align: left;">
3652 08 Dec 15 olle 304     <m:menuitem 
3652 08 Dec 15 olle 305       id="mnuComment"
3652 08 Dec 15 olle 306       title="Comments&hellip;" 
3652 08 Dec 15 olle 307       icon="<%=home+"/images/comment.png"%>" 
3652 08 Dec 15 olle 308       tooltip="Add a comment to the selected wells"
3652 08 Dec 15 olle 309     />
3652 08 Dec 15 olle 310 <!--
3652 08 Dec 15 olle 311     <m:menuitem 
3652 08 Dec 15 olle 312       id="mnuToggleQc"
3652 08 Dec 15 olle 313       title="Toggle QC" 
3652 08 Dec 15 olle 314       icon="<%=home+"/images/mrnaqc.png"%>" 
3652 08 Dec 15 olle 315       tooltip="Select/deselect DNA for QC" 
3652 08 Dec 15 olle 316     />
3652 08 Dec 15 olle 317     <m:menuseparator />
3652 08 Dec 15 olle 318     <m:menuitem 
3652 08 Dec 15 olle 319       id="mnuCutSelected"
3652 08 Dec 15 olle 320       title="Cut&hellip;" 
3652 08 Dec 15 olle 321       icon="<%=home+"/images/cut.png"%>" 
3652 08 Dec 15 olle 322       tooltip="Clear the selected wells" 
3652 08 Dec 15 olle 323     />
3652 08 Dec 15 olle 324     <m:menuitem  
3652 08 Dec 15 olle 325       id="mnuCopySelected"
3652 08 Dec 15 olle 326       title="Copy" 
3652 08 Dec 15 olle 327       icon="<%=home+"/images/copy.png"%>" 
3652 08 Dec 15 olle 328       tooltip="Make a copy of the selected DNA" 
3652 08 Dec 15 olle 329     />
3652 08 Dec 15 olle 330     <m:menuitem  
3652 08 Dec 15 olle 331       id="mnuPasteToSelected"
3652 08 Dec 15 olle 332       title="Paste" 
3652 08 Dec 15 olle 333       icon="<%=home+"/images/paste.png"%>" 
3652 08 Dec 15 olle 334       tooltip="Paste DNA into selected wells" 
3652 08 Dec 15 olle 335     />
3652 08 Dec 15 olle 336     <m:menuitem  
3652 08 Dec 15 olle 337       id="mnuSwitch"
3652 08 Dec 15 olle 338       title="Switch" 
3652 08 Dec 15 olle 339       icon="<%=home+"/images/switch.png"%>" 
3652 08 Dec 15 olle 340       tooltip="Switch the selected wells (if exactly two)" 
3652 08 Dec 15 olle 341     />
3652 08 Dec 15 olle 342     <m:menuseparator />
3652 08 Dec 15 olle 343     <m:submenu
3652 08 Dec 15 olle 344       subid="flagMenu"
3652 08 Dec 15 olle 345       title="Flag"
3652 08 Dec 15 olle 346       icon="<%=home+"/images/flag.png"%>"
3652 08 Dec 15 olle 347     />
3652 08 Dec 15 olle 348 -->
3652 08 Dec 15 olle 349     <m:menuseparator id="sepCaseSummary" />
3652 08 Dec 15 olle 350     <m:menuitem
3652 08 Dec 15 olle 351       id="mnuCaseSummary"
3652 08 Dec 15 olle 352       icon="<%=home+"/images/case_summary.png"%>"
3652 08 Dec 15 olle 353       tooltip="Show case summary"
3652 08 Dec 15 olle 354       title="Case summary&hellip;"
3652 08 Dec 15 olle 355     />
3652 08 Dec 15 olle 356   </m:menu>
3652 08 Dec 15 olle 357
3652 08 Dec 15 olle 358   <m:menu
3652 08 Dec 15 olle 359     id="flagMenu"
3652 08 Dec 15 olle 360     style="display: none;"
3652 08 Dec 15 olle 361     >
3652 08 Dec 15 olle 362 <!--
3652 08 Dec 15 olle 363     <m:menuitem 
3652 08 Dec 15 olle 364       id="mnuFlagLowQualityScore"
3652 08 Dec 15 olle 365       data-flag="LowQualityScore"
3652 08 Dec 15 olle 366       title="LowQualityScore" 
3652 08 Dec 15 olle 367       tooltip="Flag the selected DNA as having a too low RQS/RIN value"
3652 08 Dec 15 olle 368     />
3652 08 Dec 15 olle 369 -->
3652 08 Dec 15 olle 370     <m:menuitem 
3652 08 Dec 15 olle 371       id="mnuFlagLowQualityScore"
3652 08 Dec 15 olle 372       data-flag="LowQualityScore"
3652 08 Dec 15 olle 373       title="LowQualityScore" 
3652 08 Dec 15 olle 374       tooltip="Flag the selected DNA as having a too low Î”Ct value"
3652 08 Dec 15 olle 375     />
3652 08 Dec 15 olle 376     <m:menuitem 
3652 08 Dec 15 olle 377       id="mnuFlagNotEnoughRemainingQuantity"
3652 08 Dec 15 olle 378       data-flag="NotEnoughRemainingQuantity"
3652 08 Dec 15 olle 379       title="NotEnoughRemainingQuantity" 
3652 08 Dec 15 olle 380       tooltip="Flag the selected DNA as having too little remaining quantity"
3652 08 Dec 15 olle 381     />
3652 08 Dec 15 olle 382     <m:menuseparator />
3652 08 Dec 15 olle 383     <m:menuitem 
3652 08 Dec 15 olle 384       id="mnuFlagOther"
3652 08 Dec 15 olle 385       data-flag="ManualFlag"
3652 08 Dec 15 olle 386       title="Other..." 
3652 08 Dec 15 olle 387       tooltip="Flag the selected DNA for some other reason"
3652 08 Dec 15 olle 388     />
3652 08 Dec 15 olle 389   </m:menu>
3652 08 Dec 15 olle 390   
3652 08 Dec 15 olle 391   <div id="select-barcode" class="menu vertical bg-filled-100" style="width: 15em; z-index: 2; display: none;">
3652 08 Dec 15 olle 392     <div class="menuitem interactable enabled" id="select-barcode-default">Default</div>
3652 08 Dec 15 olle 393     <div class="menuseparator" id="select-barcode-default-separator"></div>
3652 08 Dec 15 olle 394     <div id="select-barcode-all"></div>
3652 08 Dec 15 olle 395   </div>
3652 08 Dec 15 olle 396
3652 08 Dec 15 olle 397   <form name="meludi" id="wizard" class="wizard">
3652 08 Dec 15 olle 398   
3652 08 Dec 15 olle 399   <div class="step auto-hide" id="step-1">
3652 08 Dec 15 olle 400     <div class="step-no">1</div>
3652 08 Dec 15 olle 401     <div class="step-title">Select start plate</div>
3652 08 Dec 15 olle 402     <div class="step-content">
3652 08 Dec 15 olle 403   
3652 08 Dec 15 olle 404       <table class="step-form">
3652 08 Dec 15 olle 405       <tr class="align-top">
3652 08 Dec 15 olle 406         <td class="prompt">Start plates</td>
3652 08 Dec 15 olle 407         <td class="input">
3652 08 Dec 15 olle 408           <select name="startPlate" id="startPlate" size="30"></select>
3652 08 Dec 15 olle 409         </td>
3652 08 Dec 15 olle 410         <td class="status" id="startPlate.status"></td>
3652 08 Dec 15 olle 411         <td class="help">
3652 08 Dec 15 olle 412           <span id="startPlate.message" class="message" ></span>
3652 08 Dec 15 olle 413           Select start plate to inspect.
3652 08 Dec 15 olle 414         </td>
3652 08 Dec 15 olle 415       </tr>
3652 08 Dec 15 olle 416       </table>
3652 08 Dec 15 olle 417       <select name="extractSourceItems" id="extractSourceItems" multiple size="30"></select>
3652 08 Dec 15 olle 418     </div>
3652 08 Dec 15 olle 419   </div>
3652 08 Dec 15 olle 420   
3652 08 Dec 15 olle 421   <div class="step auto-hide" id="step-2">
3652 08 Dec 15 olle 422     <div class="step-no">2</div>
3652 08 Dec 15 olle 423     <div class="step-title"><%=isNeoPrep ? "NeoPrep plate" : "Fragmented DNA plate"%></div>
3652 08 Dec 15 olle 424     <div class="step-content">
3652 08 Dec 15 olle 425
3652 08 Dec 15 olle 426       <table class="step-form">
3652 08 Dec 15 olle 427       <tr>
3652 08 Dec 15 olle 428         <td class="prompt">Name</td>
3652 08 Dec 15 olle 429         <td class="input">
3652 08 Dec 15 olle 430           <input type="text" class="text" name="plateName" id="plateName" 
3652 08 Dec 15 olle 431             value="" style="width: 7em;">
3652 08 Dec 15 olle 432         </td>
3652 08 Dec 15 olle 433         <td class="status" id="plateName.status"></td>
3652 08 Dec 15 olle 434         <td class="help">
3652 08 Dec 15 olle 435           <span id="plateName.message" class="message" style="display: none;"></span>
3652 08 Dec 15 olle 436           DNA start plate
3652 08 Dec 15 olle 437         </td>
3652 08 Dec 15 olle 438       </tr>
3652 08 Dec 15 olle 439       <tr>
3652 08 Dec 15 olle 440         <td class="prompt">Protocol</td>
3652 08 Dec 15 olle 441         <td class="input">
3652 08 Dec 15 olle 442           <input type="text" class="text" name="libraryPreparationProtocol" id="libraryPreparationProtocol" 
3652 08 Dec 15 olle 443             value="">
3652 08 Dec 15 olle 444         </td>
3652 08 Dec 15 olle 445         <td class="status" id="libraryPreparationProtocol.status"></td>
3652 08 Dec 15 olle 446         <td class="help">
3652 08 Dec 15 olle 447           <span id="libraryPreparationProtocol.message" class="message"></span>
3652 08 Dec 15 olle 448           Protocol used in the library preparation step.
3652 08 Dec 15 olle 449         </td>
3652 08 Dec 15 olle 450       </tr>
3652 08 Dec 15 olle 451       <tr>
3652 08 Dec 15 olle 452         <td class="prompt">TruSight Library Preparation Kit</td>
3652 08 Dec 15 olle 453         <td class="input">
3652 08 Dec 15 olle 454           <input type="text" class="text" name="tsLibPrepKit" id="tsLibPrepKit" 
3652 08 Dec 15 olle 455             value="" style="width: 7em;">
3652 08 Dec 15 olle 456         </td>
3652 08 Dec 15 olle 457         <td class="status" id="tsLibPrepKit.status"></td>
3652 08 Dec 15 olle 458         <td class="help">
3652 08 Dec 15 olle 459           <span id="tsLibPrepKit.message" class="message" style="display: none;"></span>
3652 08 Dec 15 olle 460           TruSight Library Preparation Kit used.
3652 08 Dec 15 olle 461         </td>
3652 08 Dec 15 olle 462       </tr>
3652 08 Dec 15 olle 463       <%
3652 08 Dec 15 olle 464       if (isNeoPrep)
3652 08 Dec 15 olle 465       {
3652 08 Dec 15 olle 466         %>
3652 08 Dec 15 olle 467         <tr>
3652 08 Dec 15 olle 468           <td class="prompt">Pool layout</td>
3652 08 Dec 15 olle 469           <td class="input">
3652 08 Dec 15 olle 470           <input type="text" class="text" name="pool_schema" id="pool_schema" 
3652 08 Dec 15 olle 471             value="">
3652 08 Dec 15 olle 472 <!--
3652 08 Dec 15 olle 473             <select name="pool_schema" id="pool_schema" class="required"></select>
3652 08 Dec 15 olle 474 -->
3652 08 Dec 15 olle 475           </td>
3652 08 Dec 15 olle 476           <td class="status"></td>
3652 08 Dec 15 olle 477           <td class="help">Pool layout (can't be changed later).</td>
3652 08 Dec 15 olle 478         </tr>
3652 08 Dec 15 olle 479         <tr>
3652 08 Dec 15 olle 480           <td class="prompt">Barcode variant</td>
3652 08 Dec 15 olle 481           <td class="input">
3652 08 Dec 15 olle 482             <select name="barcode_variant" id="barcode_variant" class="required"></select>
3652 08 Dec 15 olle 483           </td>
3652 08 Dec 15 olle 484           <td class="status"></td>
3652 08 Dec 15 olle 485           <td class="help">Barcode variant.</td>
3652 08 Dec 15 olle 486         </tr>
3652 08 Dec 15 olle 487         <%
3652 08 Dec 15 olle 488       }
3652 08 Dec 15 olle 489       else
3652 08 Dec 15 olle 490       {
3652 08 Dec 15 olle 491         %>
3652 08 Dec 15 olle 492         <tr>
3652 08 Dec 15 olle 493           <td class="prompt">Pool layout</td>
3652 08 Dec 15 olle 494           <td class="input">
3652 08 Dec 15 olle 495             <select name="pool_schema" id="pool_schema" class="required"></select>
3652 08 Dec 15 olle 496           </td>
3652 08 Dec 15 olle 497           <td class="status"></td>
3652 08 Dec 15 olle 498           <td class="help">Pool layout.</td>
3652 08 Dec 15 olle 499         </tr>
3652 08 Dec 15 olle 500         <%
3652 08 Dec 15 olle 501       }
3652 08 Dec 15 olle 502       %>
3652 08 Dec 15 olle 503 <!--
3652 08 Dec 15 olle 504       <tr>
3652 08 Dec 15 olle 505         <td class="prompt">Control to use</td>
3652 08 Dec 15 olle 506         <td class="input">
3652 08 Dec 15 olle 507           <select name="control" class="required"></select>
3652 08 Dec 15 olle 508         </td>
3652 08 Dec 15 olle 509         <td class="status"></td>
3652 08 Dec 15 olle 510         <td class="help">
3652 08 Dec 15 olle 511           Select the Control tube to use. If not known, the
3652 08 Dec 15 olle 512           generic <b>Control.d</b> should be used.
3652 08 Dec 15 olle 513         </td>
3652 08 Dec 15 olle 514       </tr>
3652 08 Dec 15 olle 515 -->
3652 08 Dec 15 olle 516 <!--
3652 08 Dec 15 olle 517       <tr>
3652 08 Dec 15 olle 518         <td class="prompt">Amount of DNA</td>
3652 08 Dec 15 olle 519         <td class="input">
3652 08 Dec 15 olle 520 -->
3652 08 Dec 15 olle 521 <!--
3652 08 Dec 15 olle 522           Normal 
3652 08 Dec 15 olle 523           <input type="text" class="text required" name="quantity_regular" id="quantity_regular"
3652 08 Dec 15 olle 524             value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg,
3652 08 Dec 15 olle 525           QC 
3652 08 Dec 15 olle 526           <input type="text" class="text required" name="quantity_qc" id="quantity_qc"
3652 08 Dec 15 olle 527             value="1.22" style="width: 4em;" <%=isNeoPrep ? "disabled" : "" %>>µg
3652 08 Dec 15 olle 528 -->
3652 08 Dec 15 olle 529 <!--
3652 08 Dec 15 olle 530           Normal 
3652 08 Dec 15 olle 531           <input type="text" class="text required" name="quantity_regular" id="quantity_regular"
3652 08 Dec 15 olle 532             value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg
3652 08 Dec 15 olle 533         </td>
3652 08 Dec 15 olle 534         <td class="status" id="quantities.status"></td>
3652 08 Dec 15 olle 535 -->
3652 08 Dec 15 olle 536 <!--
3652 08 Dec 15 olle 537         <td class="help">
3652 08 Dec 15 olle 538           <span id="quantities.message" class="message" style="display: none;"></span>
3652 08 Dec 15 olle 539           Specify the amount of DNA to use. Aliquots for QC usually need 0.12µg extra.
3652 08 Dec 15 olle 540         </td>
3652 08 Dec 15 olle 541 -->
3652 08 Dec 15 olle 542 <!--
3652 08 Dec 15 olle 543         <td class="help">
3652 08 Dec 15 olle 544           <span id="quantities.message" class="message" style="display: none;"></span>
3652 08 Dec 15 olle 545           Specify the amount of DNA to use.
3652 08 Dec 15 olle 546         </td>
3652 08 Dec 15 olle 547       </tr>
3652 08 Dec 15 olle 548 -->
3652 08 Dec 15 olle 549       <tr>
3652 08 Dec 15 olle 550         <td class="prompt">Minimum volume of DNA</td>
3652 08 Dec 15 olle 551         <td class="input">
3652 08 Dec 15 olle 552           Normal 
3652 08 Dec 15 olle 553           <input type="text" class="text required" name="min_vol_dna" id="min_vol_dna"
3652 08 Dec 15 olle 554             value="<%=isNeoPrep ? "1.0" : "1.0"%>" style="width: 4em;">µl
3652 08 Dec 15 olle 555         </td>
3652 08 Dec 15 olle 556         <td class="status" id="min_vol_dna.status"></td>
3652 08 Dec 15 olle 557         <td class="help">
3652 08 Dec 15 olle 558           <span id="min_vol_dna.message" class="message" style="display: none;"></span>
3682 04 Jan 16 olle 559           Specify the minimum volume of DNA to use per aliquot.
3652 08 Dec 15 olle 560         </td>
3652 08 Dec 15 olle 561       </tr>
3652 08 Dec 15 olle 562       <tr class="align-top">
3652 08 Dec 15 olle 563         <td class="prompt">Comments</td>
3652 08 Dec 15 olle 564         <td class="input">
3652 08 Dec 15 olle 565           <textarea rows="2" name="comments" id="comments"></textarea>
3652 08 Dec 15 olle 566         </td>
3652 08 Dec 15 olle 567         <td class="status"></td>
3652 08 Dec 15 olle 568         <td class="help">Comments about the new plate.</td>
3652 08 Dec 15 olle 569       </tr>
3652 08 Dec 15 olle 570       <tr class="align-top">
3652 08 Dec 15 olle 571         <td class="prompt">Show</td>
3652 08 Dec 15 olle 572         <td class="input" colspan="2">
3652 08 Dec 15 olle 573           <table>
3652 08 Dec 15 olle 574           <tr>
3652 08 Dec 15 olle 575             <td>
3667 15 Dec 15 olle 576               <input type="checkbox" name="location" id="location"><label for="location">Bioplate location (orig. DNA)</label><br>
3652 08 Dec 15 olle 577               <input type="checkbox" name="volumes" id="volumes" checked><label for="volumes">Used volume+water</label><br>
3652 08 Dec 15 olle 578             </td>
3652 08 Dec 15 olle 579             <td>
3652 08 Dec 15 olle 580               <input type="checkbox" name="quality-score" id="quality-score"><label for="quality-score">ΔCt</label><br>
3652 08 Dec 15 olle 581               <input type="checkbox" name="qubitconc" id="qubitconc"><label for="qubitconc">QubitConc</label><br>
3652 08 Dec 15 olle 582             </td>
3652 08 Dec 15 olle 583 <!--
3652 08 Dec 15 olle 584             <td>
3652 08 Dec 15 olle 585               <input type="checkbox" name="quantity" id="quantity" checked><label for="quantity">Remaining quantity</label><br>
3652 08 Dec 15 olle 586               <input type="checkbox" name="qiacube-date" id="qiacube-date" checked><label for="qiacube-date">Qiacube/Dilution date</label><br>
3652 08 Dec 15 olle 587             </td>
3652 08 Dec 15 olle 588 -->
3652 08 Dec 15 olle 589           </tr>
3652 08 Dec 15 olle 590           </table>
3652 08 Dec 15 olle 591         </td>
3652 08 Dec 15 olle 592         <td class="help">Toggles visiblity of the selected information inside each well on the plate.</td>
3652 08 Dec 15 olle 593       </tr>
3652 08 Dec 15 olle 594       <tr>
3652 08 Dec 15 olle 595         <td class="prompt">Warning levels</td>
3652 08 Dec 15 olle 596 <!--
3652 08 Dec 15 olle 597         <td class="input">
3652 08 Dec 15 olle 598           Remaining quantity&lt;<input type="text" class="text" name="warning_quantity" id="warning_quantity"
3652 08 Dec 15 olle 599             value="<%=isNeoPrep ? "0.5" : "2.2"%>" style="width: 4em;">µg,
3652 08 Dec 15 olle 600           Î”Ct&gt;<input type="text" class="text" name="warning_quality_score" id="warning_quality_score" 
3652 08 Dec 15 olle 601             value="8" style="width: 4em;">
3652 08 Dec 15 olle 602         </td>
3652 08 Dec 15 olle 603 -->
3652 08 Dec 15 olle 604         <td class="input">
3652 08 Dec 15 olle 605           Î”Ct&gt;<input type="text" class="text" name="warning_quality_score" id="warning_quality_score" 
3652 08 Dec 15 olle 606             value="8" style="width: 4em;">
3652 08 Dec 15 olle 607         </td>
3652 08 Dec 15 olle 608         <td class="status" id="warnings.status"></td>
3652 08 Dec 15 olle 609 <!--
3652 08 Dec 15 olle 610         <td class="help">
3652 08 Dec 15 olle 611           <span id="warnings.message" class="message" style="display: none;"></span>
3652 08 Dec 15 olle 612           Warning levels for remaining quantity and Î”Ct values.
3652 08 Dec 15 olle 613         </td>
3652 08 Dec 15 olle 614 -->
3652 08 Dec 15 olle 615         <td class="help">
3652 08 Dec 15 olle 616           <span id="warnings.message" class="message" style="display: none;"></span>
3652 08 Dec 15 olle 617           Warning levels for Î”Ct values.
3652 08 Dec 15 olle 618         </td>
3652 08 Dec 15 olle 619       </tr>
3652 08 Dec 15 olle 620       </table>
3652 08 Dec 15 olle 621
3652 08 Dec 15 olle 622 <!--
3652 08 Dec 15 olle 623       <tbl:toolbar subclass="bottomborder topborder">
3652 08 Dec 15 olle 624         <tbl:button 
3652 08 Dec 15 olle 625           id="btnLoadFromFile"
3652 08 Dec 15 olle 626           title="Load from file&hellip;" 
3652 08 Dec 15 olle 627           image="<%=home+"/images/file.png"%>" 
3652 08 Dec 15 olle 628           tooltip="Load plate design from file"
3652 08 Dec 15 olle 629         />
3652 08 Dec 15 olle 630         
3652 08 Dec 15 olle 631         <tbl:button 
3652 08 Dec 15 olle 632           id="btnAutoSelect"
3652 08 Dec 15 olle 633           title="Auto-select&hellip;" 
3652 08 Dec 15 olle 634           image="<%=home+"/images/wizard.png"%>" 
3652 08 Dec 15 olle 635           tooltip="Let the wizard auto-select DNA"
3652 08 Dec 15 olle 636         />
3652 08 Dec 15 olle 637         <tbl:button 
3652 08 Dec 15 olle 638           id="btnManualSelect"
3652 08 Dec 15 olle 639           title="Manual select&hellip;" 
3652 08 Dec 15 olle 640           image="<%=home+"/images/manual_dna.png"%>" 
3652 08 Dec 15 olle 641           tooltip="Manually select DNA items" 
3652 08 Dec 15 olle 642         />
3652 08 Dec 15 olle 643         <tbl:button 
3652 08 Dec 15 olle 644           id="btnControl"
3652 08 Dec 15 olle 645           title="Control" 
3652 08 Dec 15 olle 646           image="<%=home+"/images/stratagene.png"%>" 
3652 08 Dec 15 olle 647           tooltip="Place control in the selected wells" 
3652 08 Dec 15 olle 648         />
3652 08 Dec 15 olle 649         <tbl:button 
3652 08 Dec 15 olle 650           id="btnExternal"
3652 08 Dec 15 olle 651           title="External" 
3652 08 Dec 15 olle 652           image="<%=home+"/images/external.png"%>" 
3652 08 Dec 15 olle 653           tooltip="Mark selected wells as used by external DNA" 
3652 08 Dec 15 olle 654         />
3652 08 Dec 15 olle 655         <tbl:button 
3652 08 Dec 15 olle 656           id="btnToggleQc"
3652 08 Dec 15 olle 657           title="Toggle QC" 
3652 08 Dec 15 olle 658           image="<%=home+"/images/dnaqc.png"%>" 
3652 08 Dec 15 olle 659           tooltip="Select/deselect DNA for QC" 
3652 08 Dec 15 olle 660         />
3652 08 Dec 15 olle 661         <tbl:button 
3652 08 Dec 15 olle 662           id="btnComment"
3652 08 Dec 15 olle 663           title="Comments&hellip;" 
3652 08 Dec 15 olle 664           image="<%=home+"/images/comment.png"%>" 
3652 08 Dec 15 olle 665           tooltip="Add a comment to the selected wells" 
3652 08 Dec 15 olle 666         />
3652 08 Dec 15 olle 667         <tbl:button 
3652 08 Dec 15 olle 668           id="btnCutSelected"
3652 08 Dec 15 olle 669           title="Cut&hellip;" 
3652 08 Dec 15 olle 670           image="<%=home+"/images/cut.png"%>" 
3652 08 Dec 15 olle 671           tooltip="Clear the selected wells" 
3652 08 Dec 15 olle 672         />
3652 08 Dec 15 olle 673         <tbl:button 
3652 08 Dec 15 olle 674           id="btnCopySelected"
3652 08 Dec 15 olle 675           title="Copy" 
3652 08 Dec 15 olle 676           image="<%=home+"/images/copy.png"%>" 
3652 08 Dec 15 olle 677           tooltip="Make a copy of the selected DNA" 
3652 08 Dec 15 olle 678         />
3652 08 Dec 15 olle 679         <tbl:button 
3652 08 Dec 15 olle 680           id="btnPasteToSelected"
3652 08 Dec 15 olle 681           title="Paste" 
3652 08 Dec 15 olle 682           image="<%=home+"/images/paste.png"%>" 
3652 08 Dec 15 olle 683           tooltip="Paste DNA into selected wells" 
3652 08 Dec 15 olle 684         />
3652 08 Dec 15 olle 685         <tbl:button 
3652 08 Dec 15 olle 686           id="btnSwitch"
3652 08 Dec 15 olle 687           title="Switch" 
3652 08 Dec 15 olle 688           image="<%=home+"/images/switch.png"%>" 
3652 08 Dec 15 olle 689           tooltip="Switch the selected wells (if exactly two)" 
3652 08 Dec 15 olle 690         />
3652 08 Dec 15 olle 691       </tbl:toolbar>
3652 08 Dec 15 olle 692 -->
3652 08 Dec 15 olle 693         <div id="flaggedDna" style="margin: 0.5em; display: none; text-align: center;" class="link">
3652 08 Dec 15 olle 694           Flagged DNA items.
3652 08 Dec 15 olle 695         </div>
3652 08 Dec 15 olle 696
3667 15 Dec 15 olle 697         <table id="plate" class="plate <%=isNeoPrep ? "neoprep": "" %> hide-volumes hide-origqubitconc hide-calcqubitconc hide-quality-score hide-qiacube-date" 
3652 08 Dec 15 olle 698           style="margin: 1em auto 0 auto;">
3652 08 Dec 15 olle 699         <%
3652 08 Dec 15 olle 700         int columns = isNeoPrep ? 2 : 12;
3652 08 Dec 15 olle 701         int rows = 8;
3652 08 Dec 15 olle 702         WellCoordinateFormatter rowF = new WellCoordinateFormatter(true);
3652 08 Dec 15 olle 703         WellCoordinateFormatter colF = new WellCoordinateFormatter(false);
3652 08 Dec 15 olle 704         %>
3652 08 Dec 15 olle 705         <tr class="header">
3652 08 Dec 15 olle 706           <%
3652 08 Dec 15 olle 707           if (isNeoPrep) 
3652 08 Dec 15 olle 708           {
3652 08 Dec 15 olle 709             %>
3652 08 Dec 15 olle 710             <td class="barcode-fill barcode-left"></td>
3652 08 Dec 15 olle 711             <%
3652 08 Dec 15 olle 712           }
3652 08 Dec 15 olle 713           %>
3652 08 Dec 15 olle 714           <th>
3652 08 Dec 15 olle 715             <base:icon image="<%=home+"/images/select_all.png"%>" 
3652 08 Dec 15 olle 716               id="iconSpecialSelect"
3652 08 Dec 15 olle 717               tooltip="Select/deselect wells on the plate with specific condition" 
3652 08 Dec 15 olle 718             ></base:icon>
3652 08 Dec 15 olle 719           </th>
3652 08 Dec 15 olle 720           <%
3652 08 Dec 15 olle 721           for (int c = 0; c < columns; ++c)
3652 08 Dec 15 olle 722           {
3652 08 Dec 15 olle 723             %>
3652 08 Dec 15 olle 724             <th class="link auto-init" id="col.<%=c%>"
3652 08 Dec 15 olle 725               data-auto-init="plate-col" data-col="<%=c%>"
3652 08 Dec 15 olle 726               title="Select/deselect all wells in this column"><%=colF.format(c)%></th>
3652 08 Dec 15 olle 727             <%
3652 08 Dec 15 olle 728           }
3652 08 Dec 15 olle 729           if (isNeoPrep) 
3652 08 Dec 15 olle 730           {
3652 08 Dec 15 olle 731             %>
3652 08 Dec 15 olle 732             <th style="border-bottom: 0;"></th>
3652 08 Dec 15 olle 733             <td class="barcode-fill barcode-right"></td>
3652 08 Dec 15 olle 734             <%
3652 08 Dec 15 olle 735           }
3652 08 Dec 15 olle 736           %>
3652 08 Dec 15 olle 737         </tr>
3652 08 Dec 15 olle 738         <tbody>
3652 08 Dec 15 olle 739         <%
3652 08 Dec 15 olle 740         for (int r = 0; r < rows; ++r)
3652 08 Dec 15 olle 741         {
3652 08 Dec 15 olle 742           String row = rowF.format(r);
3652 08 Dec 15 olle 743           %>
3652 08 Dec 15 olle 744           <tr class="row-<%=r%>">
3652 08 Dec 15 olle 745             <%
3652 08 Dec 15 olle 746             if (isNeoPrep)
3652 08 Dec 15 olle 747             {
3652 08 Dec 15 olle 748               row += "<br><span style=\"border-top: 1px solid #A0A0A0;\">"+(r+1)+"</span>";
3652 08 Dec 15 olle 749               %>
3652 08 Dec 15 olle 750               <td class="barcode-well barcode-left" id="barcode.<%=r%>.0" data-col="0" data-row="<%=r%>"></td>
3652 08 Dec 15 olle 751               <%
3652 08 Dec 15 olle 752             }
3652 08 Dec 15 olle 753             %>
3652 08 Dec 15 olle 754             <th class="link auto-init" id="row.<%=r%>"
3652 08 Dec 15 olle 755               data-auto-init="plate-row" data-row="<%=r%>"
3652 08 Dec 15 olle 756               title="Select/deselect all wells in this row"><%=row%></th>
3652 08 Dec 15 olle 757             <%
3652 08 Dec 15 olle 758             for (int c = 0; c < columns; ++c)
3652 08 Dec 15 olle 759             {
3652 08 Dec 15 olle 760               %>
3652 08 Dec 15 olle 761               <td id="well.<%=r%>.<%=c%>" class="well empty primary auto-init"
3652 08 Dec 15 olle 762                 data-auto-init="plate-well" data-col="<%=c%>" data-row="<%=r%>"
3652 08 Dec 15 olle 763                 title="Select/deselect this well">empty</td>
3652 08 Dec 15 olle 764               <%
3652 08 Dec 15 olle 765             }
3652 08 Dec 15 olle 766             if (isNeoPrep)
3652 08 Dec 15 olle 767             {
3652 08 Dec 15 olle 768               %>
3652 08 Dec 15 olle 769               <th><%=rowF.format(r+8)%><br><span style="border-top: 1px solid #A0A0A0;"><%=(r+9)%></span></th>
3652 08 Dec 15 olle 770               <td class="barcode-well barcode-right" id="barcode.<%=r%>.1" data-col="1" data-row="<%=r%>"></td>
3652 08 Dec 15 olle 771               <%
3652 08 Dec 15 olle 772             }
3652 08 Dec 15 olle 773             %>
3652 08 Dec 15 olle 774           </tr>
3652 08 Dec 15 olle 775           <%
3652 08 Dec 15 olle 776         }
3652 08 Dec 15 olle 777         %>
3652 08 Dec 15 olle 778         </tbody>
3652 08 Dec 15 olle 779         <tr id="pool-row">
3652 08 Dec 15 olle 780           <%
3652 08 Dec 15 olle 781           if (isNeoPrep) 
3652 08 Dec 15 olle 782           {
3652 08 Dec 15 olle 783             %>
3652 08 Dec 15 olle 784             <td class="barcode-fill barcode-left"></td>
3652 08 Dec 15 olle 785             <%
3652 08 Dec 15 olle 786           }
3652 08 Dec 15 olle 787           %>
3652 08 Dec 15 olle 788           <th colspan="<%=columns+1%>">&nbsp;</th>
3652 08 Dec 15 olle 789           <%
3652 08 Dec 15 olle 790           if (isNeoPrep) 
3652 08 Dec 15 olle 791           {
3652 08 Dec 15 olle 792             %>
3652 08 Dec 15 olle 793             <td class="barcode-fill barcode-right"></td>
3652 08 Dec 15 olle 794             <%
3652 08 Dec 15 olle 795           }
3652 08 Dec 15 olle 796           %>
3652 08 Dec 15 olle 797         </tr>
3652 08 Dec 15 olle 798         </table>
3652 08 Dec 15 olle 799         <div style="margin: 0.5em; text-align: center;">
3652 08 Dec 15 olle 800 <!--
3652 08 Dec 15 olle 801           <base:icon image="<%=home+"/images/mrnaqc.png"%>" />=Selected for QC
3652 08 Dec 15 olle 802 -->
3652 08 Dec 15 olle 803           <base:icon image="<%=home+"/images/copy.png"%>" style="padding-left: 1em;" />=Replicated DNA
3652 08 Dec 15 olle 804           <base:icon image="<%=home+"/images/error.png"%>" style="padding-left: 1em;" />=Error that prevent plate creation
3652 08 Dec 15 olle 805           <base:icon image="<%=home+"/images/warning.png"%>" style="padding-left: 1em;" />=Warning but plate can be created
3652 08 Dec 15 olle 806         </div>
3652 08 Dec 15 olle 807         <table class="step-form">
3685 12 Jan 16 olle 808         <tr class="align-top">
3685 12 Jan 16 olle 809           <td class="prompt">Lab protocols</td>
3685 12 Jan 16 olle 810           <td class="input">
3685 12 Jan 16 olle 811             <span id="listview" class="link" data-protocol-type="list"><img src="../images/listview.png">&nbsp;List layout</span><br>
3685 12 Jan 16 olle 812             <span id="plateview" class="link" data-protocol-type="plate"><img src="../images/plateview.png">&nbsp;Plate layout</span><br>
3685 12 Jan 16 olle 813           </td>
3685 12 Jan 16 olle 814           <td class="status" id="protocol.status"></td>
3685 12 Jan 16 olle 815           <td class="help">
3685 12 Jan 16 olle 816             <span id="protocol.message" class="message"></span>
3685 12 Jan 16 olle 817             The 'list layout' generates a table with one row for each well on the work plate.
3685 12 Jan 16 olle 818             The 'plate layout' generates a grid with wells arranged according to row and column coordinates.
3685 12 Jan 16 olle 819           </td>
3685 12 Jan 16 olle 820         </tr>
3652 08 Dec 15 olle 821         <tr>
3652 08 Dec 15 olle 822           <td class="prompt">Library preparation file</td>
3652 08 Dec 15 olle 823           <td class="input">
3652 08 Dec 15 olle 824             <base:button id="downloadLibPrepFile" title="Download..."
3652 08 Dec 15 olle 825               image="<%=home + "/images/download.png"%>" style="width:10em;" />
3652 08 Dec 15 olle 826           </td>
3652 08 Dec 15 olle 827           <td class="status" id="downloadLibPrepFile.status"></td>
3652 08 Dec 15 olle 828           <td class="help">
3652 08 Dec 15 olle 829             <span id="downloadLibPrepFile.message" class="message"></span>
3652 08 Dec 15 olle 830             Download and import this file to the Illumina MiSeq software before analysis.
3652 08 Dec 15 olle 831           </td>
3652 08 Dec 15 olle 832         </tr>
3652 08 Dec 15 olle 833         </table>
3652 08 Dec 15 olle 834     </div>
3652 08 Dec 15 olle 835   </div>
3652 08 Dec 15 olle 836
3652 08 Dec 15 olle 837
3652 08 Dec 15 olle 838   <div id="wizard-status"></div>
3652 08 Dec 15 olle 839   
3652 08 Dec 15 olle 840   <table class="navigation" id="navigation">
3652 08 Dec 15 olle 841   <tr>
3652 08 Dec 15 olle 842     <td><base:button id="gocancel" title="Cancel" /></td>
3652 08 Dec 15 olle 843     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
3652 08 Dec 15 olle 844     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
3652 08 Dec 15 olle 845     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
3652 08 Dec 15 olle 846     <td><base:button id="gocreate" title="Create library preparation dilution protocol" image="<%=home+"/images/import.png"%>" /></td>
3652 08 Dec 15 olle 847     <td id="gonext-message" class="message"></td>
3652 08 Dec 15 olle 848   </tr>
3652 08 Dec 15 olle 849   </table>
3652 08 Dec 15 olle 850
3652 08 Dec 15 olle 851   </form>
3685 12 Jan 16 olle 852   <form name="meludi2" action="libprep_plate_protocol2.jsp" method="post" target="_blank" id="wizard" class="wizard">
3685 12 Jan 16 olle 853     <input type="hidden" name="ID" value="<%=ID%>">
3685 12 Jan 16 olle 854     <input type="hidden" name="view" value="list">
3685 12 Jan 16 olle 855     <input type="hidden" name="hiddenSubmitInfo" value="">
3685 12 Jan 16 olle 856     <input type="hidden" name="hiddenNumItems" value="">
3685 12 Jan 16 olle 857     <input type="hidden" name="poolSchema" value="2by48">
3685 12 Jan 16 olle 858     <input type="hidden" name="bioplateName" id="bioplateName" value="">
3685 12 Jan 16 olle 859     <input type="hidden" name="bioplateDescription" id="bioplateDescription" value="">
3685 12 Jan 16 olle 860     <input type="hidden" name="bioplateKitName" id="bioplateKitName" value="">
3685 12 Jan 16 olle 861   </form>
3685 12 Jan 16 olle 862   
3652 08 Dec 15 olle 863   </div>
3652 08 Dec 15 olle 864   </div>
3652 08 Dec 15 olle 865 </base:body>
3652 08 Dec 15 olle 866 </base:page>
3652 08 Dec 15 olle 867 <%
3652 08 Dec 15 olle 868 }
3652 08 Dec 15 olle 869 finally
3652 08 Dec 15 olle 870 {
3652 08 Dec 15 olle 871   if (dc != null) dc.close();
3652 08 Dec 15 olle 872 }
3652 08 Dec 15 olle 873 %>