anchor.diff:  					tfoot
   						tr
   							td
  +							td
  +								select#rk(size="1", title="Allgemeine Ritualkenntnisse")
  +									optgroup(label="Allgemeine RK")
  +										each __long, __short in _data.Ritualkenntnis
  +											if typeof __long === "string"
  +												option(data-long=__long, data-short=__short)=__long
  +							td
  +							td.mitte(colspan="2")
  +								button#addrk(type="button") neue Ritualkenntnis
  +						tr
  +							td
  +							td Zaubertänzer
   							td.mitte
  -								select(size="1")
  -									each __long, __short in _data.Ritualkenntnis
  -										if typeof __long === "string"
  -											option(data-long=__long, data-short=__short)=__long
  +								select#rkz(size="1", title="Zaubertänzer")
   									optgroup(label="Zaubertänzer")
   										each __long, __short in _data.Ritualkenntnis.Zaubertänzer
   											option(data-long="Zaubertänzer", data-short="Ztz", data-rep-short=__short, data-rep-long=__long)=__long
  +							td.mitte(colspan="2")
  +								button#addrkz(type="button") neue Ritualkenntnis
  +						tr
  +							td
  +							td Schamane
  +							td.mitte
  +								select#rks(size="1", title="Schamanen")
   									optgroup(label="Schamanen")
   										each __long, __short in _data.Ritualkenntnis.Schamane
   											option(data-long="Schamane", data-short="Scm", data-rep-short=__short, data-rep-long=__long)=__long
  -							td
   							td.mitte(colspan="2")
  -								button#addrk(type="button") neue Ritualkenntnis
  -					tbody#tmpl-allg
  -						tr
  -							td.mitte(style="padding: 0;")
  -								input.isactive(type="checkbox", id="rk_{index}", name="Magie.Ritualkenntnis[{index}][short]", value="Mag")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]", value="Gildenmagier")
  -							td
  -								label(for="rk_{index}") Gildenmagier
  -							td
  -							td.mitte
  -								select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  -									each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  -										option= kat
  -							td.mitte
  -								input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  -					tbody#tmpl-tanz
  -						tr
  -							td.mitte(style="padding: 0;")
  -								input.isactive(type="checkbox", id="zt_{index}", name="Magie.Ritualkenntnis[{index}][short]", value="Ztz")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]", value="Zaubertänzer")
  -							td
  -								label(for="zt_{index}") Zaubertänzer
  -							td 
  -								label(for="zt_{index}") Tulamidische Sharisad
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Tul")
  -							td.mitte
  -								select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  -									each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  -										option= kat
  -							td.mitte
  -								input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  -					tbody#tmpl-schm
  -						tr
  -							td.mitte(style="padding: 0;", rowspan="4")
  -								input.isactive(type="checkbox", id="sr_{index}")
  -							td
  -								label Geister binden
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  -							td 
  -								label(for="sr_{index}") Ork-Schamane
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  -							td.mitte
  -								select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  -									each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  -										option= kat
  -							td.mitte
  -								input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  -						tr
  -							td
  -								label Geister rufen
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  -							td 
  -								label(for="sr_{index}") Ork-Schamane
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  -							td.mitte
  -								select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  -									each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  -										option= kat
  -							td.mitte
  -								input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  -						tr
  -							td
  -								label Geister bannen
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  -							td 
  -								label(for="sr_{index}") Ork-Schamane
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  -							td.mitte
  -								select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  -									each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  -										option= kat
  -							td.mitte
  -								input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  -						tr
  -							td
  -								label Geister aufnehmen
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  -							td 
  -								label(for="sr_{index}") Ork-Schamane
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  -								input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  -							td.mitte
  -								select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  -									each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  -										option= kat
  -							td.mitte
  -								input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  +								button#addrks(type="button") neue Ritualkenntnis
  +		table#tmpl-tbl
  +			tbody#tmpl-allg
  +				tr
  +					td.mitte(style="padding: 0;")
  +						input.isactive(type="checkbox", id="rk_{index}", checked)
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="{short}").short
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="{long}").long
  +					td
  +						label(for="rk_{index}") {long}
  +					td
  +					td.mitte
  +						select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  +							each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  +								option= kat
  +					td.mitte
  +						input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  +			tbody#tmpl-tanz
  +				tr
  +					td.mitte(style="padding: 0;")
  +						input.isactive(type="checkbox", id="zt_{index}", name="Magie.Ritualkenntnis[{index}][short]", value="Ztz")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Zaubertänzer")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]", value="Zaubertänzer")
  +					td
  +						label(for="zt_{index}") Zaubertänzer
  +					td 
  +						label(for="zt_{index}") Tulamidische Sharisad
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Tul")
  +					td.mitte
  +						select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  +							each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  +								option= kat
  +					td.mitte
  +						input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  +			tbody#tmpl-schm
  +				tr
  +					td.mitte(style="padding: 0;", rowspan="4")
  +						input.isactive(type="checkbox", id="sr_{index}")
  +					td
  +						label Geister binden
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  +					td 
  +						label(for="sr_{index}") Ork-Schamane
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  +					td.mitte
  +						select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  +							each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  +								option= kat
  +					td.mitte
  +						input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  +				tr
  +					td
  +						label Geister rufen
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  +					td 
  +						label(for="sr_{index}") Ork-Schamane
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  +					td.mitte
  +						select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  +							each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  +								option= kat
  +					td.mitte
  +						input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  +				tr
  +					td
  +						label Geister bannen
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  +					td 
  +						label(for="sr_{index}") Ork-Schamane
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  +					td.mitte
  +						select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  +							each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  +								option= kat
  +					td.mitte
  +						input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
  +				tr
  +					td
  +						label Geister aufnehmen
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][_talent]", value="...")
  +					td 
  +						label(for="sr_{index}") Ork-Schamane
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][short]", value="Scm")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][long]",  value="Schamane")
  +						input.unlock(type="hidden", name="Magie.Ritualkenntnis[{index}][tradition]" value="Ork")
  +					td.mitte
  +						select.unlock(size="1", name="Magie.Ritualkenntnis[{index}][Lernstufe]")
  +							each kat in ["A+", "A", "B", "C", "D", "E", "F", "G", "H"]
  +								option= kat
  +					td.mitte
  +						input.unlock.mitte(type="number", name="Magie.Ritualkenntnis[{index}][RkW]", min="3", max="35", step="1", value="3")
   		script.
  -			$('tbody select').each(function() {
  -				this.value = "E";
  +			// activate/deactivate entries
  +			$('#tbl-rk').on("click", "input.isactive", function(evt) {
  +				var $row = $(this).closest('tr');
  +				$row.find("*[name]").prop("disabled", !this.checked);
  +				if (this.checked) {
  +					$row.removeClass("disabled");
  +				}
  +				else {
  +					$row.addClass("disabled");
  +				}
   			});
  +			$('#addrk').on("click", function() {
  +				var $src = $('#rk option').filter(':selected');
  +				var $row = $('#tmpl-allg tr').clone();
  +				var idx  = $('#tbl-rk tbody tr').length;
  +				// replace {index}
  +				$row.find('.unlock').each(function(){
  +					this.name = this.name.replace('{index}', idx);
  +				});
  +				var lbl  = $row.find('label')[0];
  +				lbl.htmlFor = lbl.htmlFor.replace('{index}', idx);
  +				lbl.textContent = $src.data("long");
  +				var rkid = $row.find('input[type="checkbox"]')[0];
  +				rkid.id  = rkid.id.replace('{index}', idx);
  +				// default dropdown to "E"
  +				$row.find('select').val('E');
  +				// set values
  +				$row.find('.short').val($src.data("short"));
  +				$row.find('.long').val($src.data("long"));
  +				// append
  +				$('#tbl-rk').append($row);
  +			});
  
positive.code: 			
  			a#ritualkenntnis
  			section
  				table.data-section.eigenschaften
  					caption Ritualkenntnis
  					colgroup
  						col(style="width: 2em;")
  
negative.code: 		style.
  			label[for] {
  				cursor: pointer;
  			}
  			tfoot select {
  				width: 50%;
  			}
  	body
  		a#top
  