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

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