2 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3 <?xml-stylesheet href="marcedit.css" type="text/css"?>
5 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xhtml="http://www.w3.org/1999/xhtml" onload="loadRecord(xml_record);">
7 <script src="marcedit.js" type="application/x-javascript; e4x=1"/>
8 <script src="/opac/common/js/CGI.js" type="application/x-javascript; e4x=1"/>
11 <caption label="Options"/>
13 <checkbox persist="checked" accesskey='s' label="Stack subfields" onclick="stackSubfields(this);" checked="false" id="stackSubfields"/>
14 <button id="save-button"/>
15 <button label="Help" oncommand="alert('Add Row: CTRL+Enter\nAdd Subfield: CTRL+D\nRemove Row: CTRL+Del\nRemove Subfield: SHIFT+Del');"/>
20 <caption label="MARC Record"/>
21 <vbox flex="1" style="overflow: auto;">
24 <label value="Fixed Fields -- Record type: " ondblclick="toggleFFE();"/>
25 <label id="recordTypeLabel" context="recordTypeMenu"/>
28 <grid flex="0" id="leaderGrid" type="BKS" hidden="true" persist="hidden">
45 <label name="Type" set="BKS SER VIS MIX MAP SCO REC COM" value="Type" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
46 <textbox class="plain" name="Type" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
47 <label name="ELvl" set="BKS SER VIS MIX MAP SCO REC COM" value="ELvl" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
48 <textbox class="plain" name="ELvl" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
49 <label name="Srce" set="BKS SER VIS MIX MAP SCO REC COM" value="Srce" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
50 <textbox class="plain" name="Srce" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
51 <label name="Audn" set="BKS VIS SCO REC COM" value="Audn" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
52 <textbox class="plain" name="Audn" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
53 <label name="Ctrl" set="BKS SER VIS MIX MAP SCO REC COM" value="Ctrl" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
54 <textbox class="plain" name="Ctrl" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
55 <label name="Lang" set="BKS SER VIS MIX MAP SCO REC COM" value="Lang" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
56 <textbox class="plain" name="Lang" maxlength="3" size="3" oninput="updateFixedFields(this);"/>
59 <label name="BLvl" set="BKS SER VIS MIX MAP SCO REC COM" value="BLvl" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
60 <textbox class="plain" name="BLvl" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
61 <label name="Form" set="BKS SER VIS MIX MAP SCO REC" value="Form" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
62 <textbox class="plain" name="Form" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
63 <label name="Conf" set="BKS SER" value="Conf" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
64 <textbox class="plain" name="Conf" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
65 <label name="Biog" set="BKS" value="Biog" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
66 <textbox class="plain" name="Biog" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
67 <label name="MRec" set="BKS SER VIS MIX MAP SCO REC COM" value="MRec" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
68 <textbox class="plain" name="MRec" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
69 <label name="Ctry" set="BKS SER VIS MIX MAP SCO REC COM" value="Ctry" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
70 <textbox class="plain" name="Ctry" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
73 <label name="S/L" set="SER" value="S/L" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
74 <textbox class="plain" name="S/L" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
75 <label name="Cont" set="BKS SER" value="Cont" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
76 <textbox class="plain" name="Cont" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
77 <label name="GPub" set="BKS SER VIS MAP COM" value="GPub" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
78 <textbox class="plain" name="GPub" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
79 <label name="LitF" set="BKS" value="LitF" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
80 <textbox class="plain" name="LitF" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
81 <label name="Indx" set="BKS MAP" value="Indx" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
82 <textbox class="plain" name="Indx" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
83 <label name="Alph" set="SER" value="Alph" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
84 <textbox class="plain" name="Alph" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
87 <label name="Desc" set="BKS SER VIS MIX MAP SCO REC COM" value="Desc" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
88 <textbox class="plain" name="Desc" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
89 <label name="Ills" set="BKS" value="Ills" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
90 <textbox class="plain" name="Ills" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
91 <label name="Fest" set="BKS" value="Fest" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
92 <textbox class="plain" name="Fest" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
93 <label name="DtSt" set="BKS SER VIS MIX MAP SCO REC COM" value="DtSt" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
94 <textbox class="plain" name="DtSt" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
95 <label name="Date1" set="BKS SER VIS MIX MAP SCO REC COM" value="Date1" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
96 <textbox class="plain" name="Date1" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
97 <label name="Date2" set="BKS SER VIS MIX MAP SCO REC COM" value="Date2" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
98 <textbox class="plain" name="Date2" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
118 <popup id="recordTypeMenu" position="after_start">
119 <menuitem label="BKS" oncommand="changeFFEditor('BKS');"/>
120 <menuitem label="SER" oncommand="changeFFEditor('SER');"/>
121 <menuitem label="VIS" oncommand="changeFFEditor('VIS');"/>
122 <menuitem label="MIX" oncommand="changeFFEditor('MIX');"/>
123 <menuitem label="MAP" oncommand="changeFFEditor('MAP');"/>
124 <menuitem label="SCO" oncommand="changeFFEditor('SCO');"/>
125 <menuitem label="REC" oncommand="changeFFEditor('REC');"/>
126 <menuitem label="COM" oncommand="changeFFEditor('COM');"/>
130 <script type="application/x-javascript; e4x=1"><![CDATA[
132 // Fake xulG for standalone...
140 xulG.save.label = 'Save Record';
141 xulG.save.func = function (r) { alert(r); }
144 var _rid = cgi.param('record');
146 xulG.record.url = '/opac/extras/supercat/retrieve/marcxml/record/' + _rid;
149 // End faking part...
153 document.getElementById('save-button').setAttribute('label', xulG.save.label);
154 document.getElementById('save-button').setAttribute('oncommand', 'xulG.save.func(xml_record.toXMLString())');
156 if (xulG.record.url) {
157 var req = new XMLHttpRequest();
158 req.open('GET',xulG.record.url,false);
160 xulG.record.marc = req.responseText
163 var xml_record = new XML( xulG.record.marc );
165 // Get the tooltip xml all async like
166 req = new XMLHttpRequest();
167 req.open('GET','marcedit-tooltips.xml',true);
168 req.onreadystatechange = function () {
169 if (req.readyState == 4) {
170 bib_data = new XML( req.responseText );