1 /* ---------------------------------------------------------------------------
2 * Copyright (C) 2011 Equinox Software, Inc.
3 * Mike Rylander <miker@esilibrary.com>
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 * ---------------------------------------------------------------------------
17 if(!dojo._hasResource["MARC.FixedFields"]) {
19 dojo.require('MARC.Record');
21 dojo._hasResource["MARC.FixedFields"] = true;
22 dojo.provide("MARC.FixedFields");
24 MARC.Record._recType = {
25 BKS : { Type : /[at]{1}/, BLvl : /[acdm]{1}/ },
26 SER : { Type : /[a]{1}/, BLvl : /[bsi]{1}/ },
27 VIS : { Type : /[gkro]{1}/, BLvl : /[abcdmsi]{1}/ },
28 MIX : { Type : /[p]{1}/, BLvl : /[cdi]{1}/ },
29 MAP : { Type : /[ef]{1}/, BLvl : /[abcdmsi]{1}/ },
30 SCO : { Type : /[cd]{1}/, BLvl : /[abcdmsi]{1}/ },
31 REC : { Type : /[ij]{1}/, BLvl : /[abcdmsi]{1}/ },
32 COM : { Type : /[m]{1}/, BLvl : /[abcdmsi]{1}/ },
33 AUT : { Type : /[z]{1}/, BLvl : /.{1}/ },
34 MFHD : { Type : /[uvxy]{1}/, BLvl : /.{1}/ }
37 MARC.Record._ff_pos = {
40 SCO : {start: 24, len : 6, def : ' ' },
41 REC : {start: 24, len : 6, def : ' ' }
44 SCO : {start: 7, len : 6, def : ' ' },
45 REC : {start: 7, len : 6, def : ' ' }
50 SER : {start : 33, len : 1, def : ' ' }
53 SER : {start : 16, len : 1, def : ' ' }
58 BKS : {start : 22, len : 1, def : ' ' },
59 SER : {start : 22, len : 1, def : ' ' },
60 VIS : {start : 22, len : 1, def : ' ' },
61 SCO : {start : 22, len : 1, def : ' ' },
62 REC : {start : 22, len : 1, def : ' ' },
63 COM : {start : 22, len : 1, def : ' ' }
66 BKS : {start : 5, len : 1, def : ' ' },
67 SER : {start : 5, len : 1, def : ' ' },
68 VIS : {start : 5, len : 1, def : ' ' },
69 SCO : {start : 5, len : 1, def : ' ' },
70 REC : {start : 5, len : 1, def : ' ' },
71 COM : {start : 5, len : 1, def : ' ' }
76 BKS : {start : 34, len : 1, def : ' ' }
79 BKS : {start : 17, len : 1, def : ' ' }
84 BKS : {start : 7, len : 1, def : 'm' },
85 SER : {start : 7, len : 1, def : 's' },
86 VIS : {start : 7, len : 1, def : 'm' },
87 MIX : {start : 7, len : 1, def : 'c' },
88 MAP : {start : 7, len : 1, def : 'm' },
89 SCO : {start : 7, len : 1, def : 'm' },
90 REC : {start : 7, len : 1, def : 'm' },
91 COM : {start : 7, len : 1, def : 'm' }
96 SCO : {start : 18, len : 2, def : 'uu'},
97 REC : {start : 18, len : 2, def : 'uu'}
100 SCO : {start : 1, len : 2, def : 'uu'},
101 REC : {start : 1, len : 2, def : 'uu'}
106 BKS : {start : 29, len : 1, def : '0' },
107 SER : {start : 29, len : 1, def : '0' }
110 BKS : {start : 11, len : 1, def : '0' },
111 SER : {start : 11, len : 1, def : '0' }
116 BKS : {start : 24, len : 4, def : ' ' },
117 SER : {start : 25, len : 3, def : ' ' }
120 BKS : {start : 7, len : 4, def : ' ' },
121 SER : {start : 8, len : 3, def : ' ' }
126 MAP : {start: 25, len : 1, def : 'a' }
129 MAP : {start : 8, len : 1, def : 'a' }
134 BKS : {start : 8, len : 1, def : ' ' },
135 SER : {start : 8, len : 1, def : ' ' },
136 VIS : {start : 8, len : 1, def : ' ' },
137 MIX : {start : 8, len : 1, def : ' ' },
138 MAP : {start : 8, len : 1, def : ' ' },
139 SCO : {start : 8, len : 1, def : ' ' },
140 REC : {start : 8, len : 1, def : ' ' },
141 COM : {start : 8, len : 1, def : ' ' }
146 BKS : {start : 15, len : 3, def : ' ' },
147 SER : {start : 15, len : 3, def : ' ' },
148 VIS : {start : 15, len : 3, def : ' ' },
149 MIX : {start : 15, len : 3, def : ' ' },
150 MAP : {start : 15, len : 3, def : ' ' },
151 SCO : {start : 15, len : 3, def : ' ' },
152 REC : {start : 15, len : 3, def : ' ' },
153 COM : {start : 15, len : 3, def : ' ' }
158 BKS : {start : 7, len : 4, def : ' ' },
159 SER : {start : 7, len : 4, def : ' ' },
160 VIS : {start : 7, len : 4, def : ' ' },
161 MIX : {start : 7, len : 4, def : ' ' },
162 MAP : {start : 7, len : 4, def : ' ' },
163 SCO : {start : 7, len : 4, def : ' ' },
164 REC : {start : 7, len : 4, def : ' ' },
165 COM : {start : 7, len : 4, def : ' ' }
170 BKS : {start : 11, len : 4, def : ' ' },
171 SER : {start : 11, len : 4, def : '9' },
172 VIS : {start : 11, len : 4, def : ' ' },
173 MIX : {start : 11, len : 4, def : ' ' },
174 MAP : {start : 11, len : 4, def : ' ' },
175 SCO : {start : 11, len : 4, def : ' ' },
176 REC : {start : 11, len : 4, def : ' ' },
177 COM : {start : 11, len : 4, def : ' ' }
182 BKS : {start : 18, len : 1, def : ' ' },
183 SER : {start : 18, len : 1, def : ' ' },
184 VIS : {start : 18, len : 1, def : ' ' },
185 MIX : {start : 18, len : 1, def : ' ' },
186 MAP : {start : 18, len : 1, def : ' ' },
187 SCO : {start : 18, len : 1, def : ' ' },
188 REC : {start : 18, len : 1, def : ' ' },
189 COM : {start : 18, len : 1, def : ' ' }
194 BKS : {start : 6, len : 1, def : ' ' },
195 SER : {start : 6, len : 1, def : 'c' },
196 VIS : {start : 6, len : 1, def : ' ' },
197 MIX : {start : 6, len : 1, def : ' ' },
198 MAP : {start : 6, len : 1, def : ' ' },
199 SCO : {start : 6, len : 1, def : ' ' },
200 REC : {start : 6, len : 1, def : ' ' },
201 COM : {start : 6, len : 1, def : ' ' }
206 BKS : {start : 17, len : 1, def : ' ' },
207 SER : {start : 17, len : 1, def : ' ' },
208 VIS : {start : 17, len : 1, def : ' ' },
209 MIX : {start : 17, len : 1, def : ' ' },
210 MAP : {start : 17, len : 1, def : ' ' },
211 SCO : {start : 17, len : 1, def : ' ' },
212 REC : {start : 17, len : 1, def : ' ' },
213 COM : {start : 17, len : 1, def : ' ' },
214 AUT : {start : 17, len : 1, def : 'n' },
215 MFHD : {start : 17, len : 1, def : 'u' }
220 SER : {start : 24, len : 1, def : ' '}
223 SER : {start : 7, len : 1, def : ' '}
228 BKS : {start : 30, len : 1, def : '0' }
231 BKS : {start : 13, len : 1, def : '0' }
236 COM : {start: 26, len : 1, def : 'u' }
239 COM : {start: 9, len : 1, def : 'u' }
244 SCO : {start : 20, len : 1, def : 'u'},
245 REC : {start : 20, len : 1, def : 'n'}
248 SCO : {start : 3, len : 1, def : 'u'},
249 REC : {start : 3, len : 1, def : 'n'}
254 BKS : {start : 23, len : 1, def : ' ' },
255 SER : {start : 23, len : 1, def : ' ' },
256 VIS : {start : 29, len : 1, def : ' ' },
257 MIX : {start : 23, len : 1, def : ' ' },
258 MAP : {start : 29, len : 1, def : ' ' },
259 SCO : {start : 23, len : 1, def : ' ' },
260 REC : {start : 23, len : 1, def : ' ' }
263 BKS : {start : 6, len : 1, def : ' ' },
264 SER : {start : 6, len : 1, def : ' ' },
265 VIS : {start : 12, len : 1, def : ' ' },
266 MIX : {start : 6, len : 1, def : ' ' },
267 MAP : {start : 12, len : 1, def : ' ' },
268 SCO : {start : 6, len : 1, def : ' ' },
269 REC : {start : 6, len : 1, def : ' ' }
274 SER : {start : 18, len : 1, def : ' '}
277 SER : {start : 1, len : 1, def : ' '}
282 BKS : {start : 28, len : 1, def : ' ' },
283 SER : {start : 28, len : 1, def : ' ' },
284 VIS : {start : 28, len : 1, def : ' ' },
285 MAP : {start : 28, len : 1, def : ' ' },
286 COM : {start : 28, len : 1, def : ' ' }
289 BKS : {start : 11, len : 1, def : ' ' },
290 SER : {start : 11, len : 1, def : ' ' },
291 VIS : {start : 11, len : 1, def : ' ' },
292 MAP : {start : 11, len : 1, def : ' ' },
293 COM : {start : 11, len : 1, def : ' ' }
298 BKS : {start : 18, len : 4, def : ' ' }
301 BKS : {start : 1, len : 4, def : ' ' }
306 BKS : {start : 31, len : 1, def : '0' },
307 MAP : {start : 31, len : 1, def : '0' }
310 BKS : {start : 14, len : 1, def : '0' },
311 MAP : {start : 14, len : 1, def : '0' }
316 MFHD : {start : 18, len : 1, def : 'i' }
321 BKS : {start : 35, len : 3, def : ' ' },
322 SER : {start : 35, len : 3, def : ' ' },
323 VIS : {start : 35, len : 3, def : ' ' },
324 MIX : {start : 35, len : 3, def : ' ' },
325 MAP : {start : 35, len : 3, def : ' ' },
326 SCO : {start : 35, len : 3, def : ' ' },
327 REC : {start : 35, len : 3, def : ' ' },
328 COM : {start : 35, len : 3, def : ' ' }
333 BKS : {start : 33, len : 1, def : '0' }
336 BKS : {start : 16, len : 1, def : '0' }
341 SCO : {start : 30, len : 2, def : 'n'},
342 REC : {start : 30, len : 2, def : ' '}
345 SCO : {start : 13, len : 2, def : 'n'},
346 REC : {start : 13, len : 2, def : ' '}
351 BKS : {start : 38, len : 1, def : ' ' },
352 SER : {start : 38, len : 1, def : ' ' },
353 VIS : {start : 38, len : 1, def : ' ' },
354 MIX : {start : 38, len : 1, def : ' ' },
355 MAP : {start : 38, len : 1, def : ' ' },
356 SCO : {start : 38, len : 1, def : ' ' },
357 REC : {start : 38, len : 1, def : ' ' },
358 COM : {start : 38, len : 1, def : ' ' }
363 SER : {start : 22, len : 1, def : ' '}
366 SER : {start: 5, len : 1, def: ' '}
371 SCO : {start : 21, len : 1, def : ' '},
372 REC : {start : 21, len : 1, def : 'n'}
375 SCO : {start : 4, len : 1, def : ' '},
376 REC : {start : 4, len : 1, def : 'n'}
381 MAP : {start : 22, len : 2, def : ' ' }
384 MAP: {start : 5, len : 2, def : ' ' }
389 BKS : {start : 5, len : 1, def : 'n' },
390 SER : {start : 5, len : 1, def : 'n' },
391 VIS : {start : 5, len : 1, def : 'n' },
392 MIX : {start : 5, len : 1, def : 'n' },
393 MAP : {start : 5, len : 1, def : 'n' },
394 SCO : {start : 5, len : 1, def : 'n' },
395 REC : {start : 5, len : 1, def : 'n' },
396 COM : {start : 5, len : 1, def : 'n' },
397 MFHD: {start : 5, len : 1, def : 'n' },
398 AUT : {start : 5, len : 1, def : 'n' }
403 SER : {start : 19, len : 1, def : ' '}
406 SER : {start : 2, len : 1, def : ' '}
411 MAP : {start: 18, len : 4, def : ' '}
414 MAP : {start: 1, len : 4, def : ' '}
419 SER : {start : 34, len : 1, def : '0' }
422 SER : {start : 17, len : 1, def : '0' }
427 MAP : {start: 33, len : 2, def : ' ' }
430 MAP : {start: 16, len : 2, def : ' '}
435 BKS : {start : 39, len : 1, def : 'd' },
436 SER : {start : 39, len : 1, def : 'd' },
437 VIS : {start : 39, len : 1, def : 'd' },
438 SCO : {start : 39, len : 1, def : 'd' },
439 REC : {start : 39, len : 1, def : 'd' },
440 COM : {start : 39, len : 1, def : 'd' },
441 MFHD : {start : 39, len : 1, def : 'd' },
442 "AUT" : {"start" : 39, "len" : 1, "def" : 'd' }
447 SER : {start : 21, len : 1, def : ' '}
450 SER : {start : 4, len : 1, def : ' '}
455 VIS : {start : 34, len : 1, def : ' '}
458 VIS : {start : 17, len : 1, def : ' '}
463 VIS : {start : 18, len : 3, def : ' '}
466 VIS : {start : 1, len : 3, def : ' '}
471 VIS : {start : 33, len : 1, def : ' ' }
474 VIS : {start : 16, len : 1, def : ' ' }
479 SCO : {start : 33, len : 1, def : ' ' },
480 REC : {start : 33, len : 1, def : 'n' }
483 SCO : {start : 16, len : 1, def : ' ' },
484 REC : {start : 16, len : 1, def : 'n' }
489 BKS : {start : 6, len : 1, def : 'a' },
490 SER : {start : 6, len : 1, def : 'a' },
491 VIS : {start : 6, len : 1, def : 'g' },
492 MIX : {start : 6, len : 1, def : 'p' },
493 MAP : {start : 6, len : 1, def : 'e' },
494 SCO : {start : 6, len : 1, def : 'c' },
495 REC : {start : 6, len : 1, def : 'i' },
496 COM : {start : 6, len : 1, def : 'm' },
497 AUT : {start : 6, len : 1, def : 'z' },
498 MFHD : {start : 6, len : 1, def : 'y' }
503 "AUT" : {"start" : 6, "len" : 1, "def" : ' ' }
508 "AUT" : {"start" : 7, "len" : 1, "def" : ' ' }
513 "AUT" : {"start" : 8, "len" : 1, "def" : ' ' }
518 "AUT" : {"start" : 9, "len" : 1, "def" : ' ' }
523 "AUT" : {"start" : 10, "len" : 1, "def" : ' ' }
528 "AUT" : {"start" : 11, "len" : 1, "def" : ' ' }
533 "AUT" : {"start" : 12, "len" : 1, "def" : ' ' }
538 "AUT" : {"start" : 13, "len" : 1, "def" : ' ' }
543 "AUT" : {"start" : 14, "len" : 1, "def" : ' ' }
548 "AUT" : {"start" : 15, "len" : 1, "def" : ' ' }
553 "AUT" : {"start" : 16, "len" : 1, "def" : ' ' }
558 "AUT" : {"start" : 17, "len" : 1, "def" : ' ' }
563 "AUT" : {"start" : 28, "len" : 1, "def" : ' ' }
568 "AUT" : {"start" : 29, "len" : 1, "def" : ' ' }
573 "AUT" : {"start" : 31, "len" : 1, "def" : ' ' }
578 "AUT" : {"start" : 32, "len" : 1, "def" : ' ' }
583 "AUT" : {"start" : 33, "len" : 1, "def" : ' ' }
588 "AUT" : {"start" : 38, "len" : 1, "def" : ' ' }
593 "AUT" : {"start" : 39, "len" : 1, "def" : ' ' }
598 MARC.Record._physical_characteristics = {
600 label : "Electronic Resource",
605 values: { a : "Tape Cartridge",
606 b : "Chip cartridge",
607 c : "Computer optical disk cartridge",
611 m : "Magneto-optical disk",
621 values: { a : "One color",
622 b : "Black-and-white",
626 n : "Not applicable",
633 label : "Dimensions",
634 values: { a : "3 1/2 in.",
636 g : "4 3/4 in. or 12 cm.",
637 i : "1 1/8 x 2 3/8 in.",
638 j : "3 7/8 x 2 1/2 in.",
639 n : "Not applicable",
649 values: { ' ' : "No sound (Silent)",
656 label : "Image bit depth",
657 values: { mmm : "Multiple",
658 nnn : "Not applicable",
664 label : "File formats",
665 values: { a : "One file format",
666 m : "Multiple file formats",
672 label : "Quality assurance target(s)",
673 values: { a : "Absent",
674 n : "Not applicable",
681 label : "Antecedent/Source",
682 values: { a : "File reproduced from original",
683 b : "File reproduced from microform",
684 c : "File reproduced from electronic resource",
685 d : "File reproduced from an intermediate (not microform)",
687 n : "Not applicable",
693 label : "Level of compression",
694 values: { a : "Uncompressed",
703 label : "Reformatting quality",
704 values: { a : "Access",
705 n : "Not applicable",
719 values: { a : "Celestial globe",
720 b : "Planetary or lunar globe",
721 c : "Terrestrial globe",
722 e : "Earth moon globe",
730 values: { a : "One color",
736 label : "Physical medium",
737 values: { a : "Paper",
751 label : "Type of reproduction",
752 values: { f : "Facsimile",
753 n : "Not applicable",
766 values: { d : "Atlas",
771 r : "Remote-sensing image",
781 values: { a : "One color",
787 label : "Physical medium",
788 values: { a : "Paper",
796 q : "Flexible base photographic medium, positive",
797 r : "Flexible base photographic medium, negative",
798 s : "Non-flexible base photographic medium, positive",
799 t : "Non-flexible base photographic medium, negative",
801 y : "Other photographic medium",
807 label : "Type of reproduction",
808 values: { f : "Facsimile",
809 n : "Not applicable",
816 label : "Production/reproduction details",
817 values: { a : "Photocopy, blueline print",
819 c : "Pre-production",
827 label : "Positive/negative",
828 values: { a : "Positive",
842 values: { a : "Aperture card",
843 b : "Microfilm cartridge",
844 c : "Microfilm cassette",
845 d : "Microfilm reel",
847 f : "Microfiche cassette",
855 label : "Positive/negative",
856 values: { a : "Positive",
864 label : "Dimensions",
865 values: { a : "8 mm.",
870 l : "3 x 5 in. (8 x 13 cm.)",
871 m : "4 x 6 in. (11 x 15 cm.)",
872 o : "6 x 9 in. (16 x 23 cm.)",
873 p : "3 1/4 x 7 3/8 in. (9 x 19 cm.)",
880 label : "Reduction ratio range/Reduction ratio",
881 values: { a : "Low (1-16x)",
882 b : "Normal (16-30x)",
884 d : "Very high (61-90x)",
887 v : "Reduction ratio varies"
893 values: { b : "Black-and-white",
902 label : "Emulsion on film",
903 values: { a : "Silver halide",
907 n : "Not applicable",
914 label : "Quality assurance target(s)",
915 values: { a : "1st gen. master",
916 b : "Printing master",
918 m : "Mixed generation",
924 label : "Base of film",
925 values: { a : "Safety base, undetermined",
926 c : "Safety base, acetate undetermined",
927 d : "Safety base, diacetate",
930 n : "Not applicable",
931 p : "Safety base, polyester",
932 r : "Safety base, mixed",
933 t : "Safety base, triacetate",
941 label : "Motion Picture",
946 values: { a : "Film cartridge",
956 values: { b : "Black-and-white",
966 label : "Motion picture presentation format",
967 values: { a : "Standard sound aperture, reduced frame",
968 b : "Nonanamorphic (wide-screen)",
970 d : "Anamorphic (wide-screen)",
971 e : "Other-wide screen format",
972 f : "Standard. silent aperture, full frame",
979 label : "Sound on medium or separate",
980 values: { a : "Sound on medium",
981 b : "Sound separate from medium",
987 label : "Medium for sound",
988 values: { a : "Optical sound track on motion picture film",
989 b : "Magnetic sound track on motion picture film",
990 c : "Magnetic audio tape in cartridge",
992 e : "Magnetic audio tape on reel",
993 f : "Magnetic audio tape in cassette",
994 g : "Optical and magnetic sound track on film",
1003 label : "Dimensions",
1004 values: { a : "Standard 8 mm.",
1005 b : "Super 8 mm./single 8 mm.",
1017 label : "Configuration of playback channels",
1018 values: { k : "Mixed",
1020 n : "Not applicable",
1021 q : "Multichannel, surround or quadraphonic",
1029 label : "Production elements",
1030 values: { a : "Work print",
1034 e : "Mixing tracks",
1035 f : "Title bands/inter-title rolls",
1036 g : "Production rolls",
1037 n : "Not applicable",
1044 label : "Non-projected Graphic",
1049 values: { c : "Collage",
1052 f : "Photo-mechanical print",
1053 g : "Photonegative",
1057 l : "Technical drawing",
1059 o : "Flash/activity card",
1067 values: { a : "One color",
1068 b : "Black-and-white",
1078 label : "Primary support material",
1079 values: { a : "Canvas",
1080 b : "Bristol board",
1081 c : "Cardboard/illustration board",
1087 m : "Mixed collection",
1100 label : "Secondary support material",
1101 values: { a : "Canvas",
1102 b : "Bristol board",
1103 c : "Cardboard/illustration board",
1109 m : "Mixed collection",
1123 label : "Projected Graphic",
1128 values: { c : "Film cartridge",
1130 f : "Film filmstrip type",
1131 o : "Filmstrip roll",
1140 values: { b : "Black-and-white",
1144 n : "Not applicable",
1151 label : "Base of emulsion",
1152 values: { d : "Glass",
1155 k : "Film base, other than safety film",
1156 m : "Mixed collection",
1164 label : "Sound on medium or separate",
1165 values: { a : "Sound on medium",
1166 b : "Sound separate from medium",
1172 label : "Medium for sound",
1173 values: { a : "Optical sound track on motion picture film",
1174 b : "Magnetic sound track on motion picture film",
1175 c : "Magnetic audio tape in cartridge",
1177 e : "Magnetic audio tape on reel",
1178 f : "Magnetic audio tape in cassette",
1179 g : "Optical and magnetic sound track on film",
1188 label : "Dimensions",
1189 values: { a : "Standard 8 mm.",
1190 b : "Super 8 mm./single 8 mm.",
1196 j : "2 x 2 in. (5 x 5 cm.)",
1197 k : "2 1/4 x 2 1/4 in. (6 x 6 cm.)",
1198 s : "4 x 5 in. (10 x 13 cm.)",
1199 t : "5 x 7 in. (13 x 18 cm.)",
1200 v : "8 x 10 in. (21 x 26 cm.)",
1201 w : "9 x 9 in. (23 x 23 cm.)",
1202 x : "10 x 10 in. (26 x 26 cm.)",
1203 y : "7 x 7 in. (18 x 18 cm.)",
1210 label : "Secondary support material",
1211 values: { c : "Cardboard",
1215 j : "Metal and glass",
1216 k : "Synthetics and glass",
1217 m : "Mixed collection",
1225 label : "Remote-sensing Image",
1230 values: { u : "Unspecified" }
1234 label : "Altitude of sensor",
1235 values: { a : "Surface",
1238 n : "Not applicable",
1245 label : "Attitude of sensor",
1246 values: { a : "Low oblique",
1249 n : "Not applicable",
1255 label : "Cloud cover",
1256 values: { 0 : "0-09%",
1266 n : "Not applicable",
1272 label : "Platform construction type",
1273 values: { a : "Balloon",
1274 b : "Aircraft-low altitude",
1275 c : "Aircraft-medium altitude",
1276 d : "Aircraft-high altitude",
1277 e : "Manned spacecraft",
1278 f : "Unmanned spacecraft",
1279 g : "Land-based remote-sensing device",
1280 h : "Water surface-based remote-sensing device",
1281 i : "Submersible remote-sensing device",
1282 n : "Not applicable",
1289 label : "Platform use category",
1290 values: { a : "Meteorological",
1291 b : "Surface observing",
1292 c : "Space observing",
1294 n : "Not applicable",
1301 label : "Sensor type",
1302 values: { a : "Active",
1310 label : "Data type",
1311 values: { nn : "Not applicable",
1314 aa : "Visible light",
1315 da : "Near infrared",
1316 db : "Middle infrared",
1317 dc : "Far infrared",
1318 dd : "Thermal infrared",
1319 de : "Shortwave infrared (SWIR)",
1320 df : "Reflective infrared",
1321 dv : "Combinations",
1322 dz : "Other infrared data",
1323 ga : "Sidelooking airborne radar (SLAR)",
1324 gb : "Synthetic aperture radar (SAR-single frequency)",
1325 gc : "SAR-multi-frequency (multichannel)",
1326 gd : "SAR-like polarization",
1327 ge : "SAR-cross polarization",
1328 gf : "Infometric SAR",
1329 gg : "Polarmetric SAR",
1330 gu : "Passive microwave mapping",
1331 gz : "Other microwave data",
1332 ja : "Far ultraviolet",
1333 jb : "Middle ultraviolet",
1334 jc : "Near ultraviolet",
1335 jv : "Ultraviolet combinations",
1336 jz : "Other ultraviolet data",
1337 ma : "Multi-spectral, multidata",
1338 mb : "Multi-temporal",
1339 mm : "Combination of various data types",
1340 pa : "Sonar-water depth",
1341 pb : "Sonar-bottom topography images, sidescan",
1342 pc : "Sonar-bottom topography, near-surface",
1343 pd : "Sonar-bottom topography, near-bottom",
1344 pe : "Seismic surveys",
1345 pz : "Other acoustical data",
1346 ra : "Gravity anomales (general)",
1350 sa : "Magnetic field",
1351 ta : "Radiometric surveys"
1357 label : "Sound Recording",
1362 values: { d : "Sound disc",
1364 g : "Sound cartridge",
1365 i : "Sound-track film",
1367 s : "Sound cassette",
1368 t : "Sound-tape reel",
1370 w : "Wire recording",
1377 values: { a : "16 rpm",
1397 label : "Configuration of playback channels",
1398 values: { m : "Monaural",
1407 label : "Groove width or pitch",
1408 values: { m : "Microgroove/fine",
1409 n : "Not applicable",
1410 s : "Coarse/standard",
1417 label : "Dimensions",
1418 values: { a : "3 in.",
1424 g : "4 3/4 in. (12 cm.)",
1425 j : "3 7/8 x 2 1/2 in.",
1426 o : "5 1/4 x 3 7/8 in.",
1427 s : "2 3/4 x 4 in.",
1428 n : "Not applicable",
1435 label : "Tape width",
1436 values: { l : "1/8 in.",
1438 n : "Not applicable",
1447 label : "Tape configuration ",
1448 values: { a : "Full (1) track",
1449 b : "Half (2) track",
1450 c : "Quarter (4) track",
1454 n : "Not applicable",
1461 label : "Special playback",
1462 values: { a : "NAB standard",
1463 b : "CCIR standard",
1464 c : "Dolby-B encoded, standard Dolby",
1466 e : "Digital recording",
1467 f : "Dolby-A encoded",
1468 g : "Dolby-C encoded",
1470 n : "Not applicable",
1477 label : "Capture and storage",
1478 values: { a : "Acoustical capture, direct storage",
1479 b : "Direct storage, not acoustical",
1480 d : "Digital storage",
1481 e : "Analog electrical storage",
1489 label : "Tactile Material",
1494 values: { a : "Moon",
1497 d : "Tactile, with no writing system",
1504 label : "Class of braille writing",
1505 values: { a : "Literary braille",
1506 b : "Format code braille",
1507 c : "Mathematics and scientific braille",
1508 d : "Computer braille",
1509 e : "Music braille",
1510 m : "Multiple braille types",
1511 n : "Not applicable",
1518 label : "Level of contraction",
1519 values: { a : "Uncontracted",
1522 n : "Not applicable",
1529 label : "Braille music format",
1530 values: { a : "Bar over bar",
1532 c : "Line over line",
1535 f : "Section by section",
1538 i : "Spanner short form scoring",
1539 j : "Short form scoring",
1541 l : "Vertical score",
1542 n : "Not applicable",
1549 label : "Special physical characteristics",
1550 values: { a : "Print/braille",
1551 b : "Jumbo or enlarged braille",
1552 n : "Not applicable",
1560 label : "Videorecording",
1565 values: { c : "Videocartridge",
1567 f : "Videocassette",
1576 values: { b : "Black-and-white",
1579 n : "Not applicable",
1586 label : "Videorecording format",
1587 values: { a : "Beta",
1609 label : "Sound on medium or separate",
1610 values: { a : "Sound on medium",
1611 b : "Sound separate from medium",
1617 label : "Medium for sound",
1618 values: { a : "Optical sound track on motion picture film",
1619 b : "Magnetic sound track on motion picture film",
1620 c : "Magnetic audio tape in cartridge",
1622 e : "Magnetic audio tape on reel",
1623 f : "Magnetic audio tape in cassette",
1624 g : "Optical and magnetic sound track on motion picture film",
1633 label : "Dimensions",
1634 values: { a : "8 mm.",
1646 label : "Configuration of playback channel",
1647 values: { k : "Mixed",
1649 n : "Not applicable",
1650 q : "Multichannel, surround or quadraphonic",
1660 MARC.Record.prototype.recordType = function () {
1662 var _t = this.leader.substr(MARC.Record._ff_pos.Type.ldr.BKS.start, MARC.Record._ff_pos.Type.ldr.BKS.len);
1663 var _b = this.leader.substr(MARC.Record._ff_pos.BLvl.ldr.BKS.start, MARC.Record._ff_pos.BLvl.ldr.BKS.len);
1665 for (var t in MARC.Record._recType) {
1666 if (_t.match(MARC.Record._recType[t].Type) && _b.match(MARC.Record._recType[t].BLvl)) {
1670 return 'BKS'; // default
1673 MARC.Record.prototype.videorecordingFormatName = function () {
1674 var _7 = this.field('007').data;
1676 if (_7 && _7.match(/^v/)) {
1677 var _v_e = _7.substr(
1678 MARC.Record._physical_characteristics.v.subfields.e.start,
1679 MARC.Record._physical_characteristics.v.subfields.e.len
1682 return MARC.Record._physical_characteristics.v.subfields.e.values[ _v_e ];
1688 MARC.Record.prototype.videorecordingFormatCode = function () {
1689 var _7 = this.field('007').data;
1691 if (_7 && _7.match(/^v/)) {
1693 MARC.Record._physical_characteristics.v.subfields.e.start,
1694 MARC.Record._physical_characteristics.v.subfields.e.len
1701 MARC.Record.prototype.extractFixedField = function (field, dflt) {
1702 if (!MARC.Record._ff_pos[field]) return null;
1704 var _l = this.leader;
1705 var _8 = this.field('008').data;
1706 var _6 = this.field('006').data;
1708 var rtype = this.recordType();
1712 if (MARC.Record._ff_pos[field].ldr && _l) {
1713 if (MARC.Record._ff_pos[field].ldr[rtype]) {
1715 MARC.Record._ff_pos[field].ldr[rtype].start,
1716 MARC.Record._ff_pos[field].ldr[rtype].len
1719 } else if (MARC.Record._ff_pos[field]._8 && _8) {
1720 if (MARC.Record._ff_pos[field]._8[rtype]) {
1722 MARC.Record._ff_pos[field]._8[rtype].start,
1723 MARC.Record._ff_pos[field]._8[rtype].len
1728 if (!val && MARC.Record._ff_pos[field]._6 && _6) {
1729 if (MARC.Record._ff_pos[field]._6[rtype]) {
1731 MARC.Record._ff_pos[field]._6[rtype].start,
1732 MARC.Record._ff_pos[field]._6[rtype].len
1741 if (MARC.Record._ff_pos[field].ldr && MARC.Record._ff_pos[field].ldr[rtype]) {
1742 d = MARC.Record._ff_pos[field].ldr[rtype].def;
1746 if (MARC.Record._ff_pos[field]._8 && MARC.Record._ff_pos[field]._8[rtype]) {
1747 d = MARC.Record._ff_pos[field]._8[rtype].def;
1751 if (!val && MARC.Record._ff_pos[field]._6 && MARC.Record._ff_pos[field]._6[rtype]) {
1752 d = MARC.Record._ff_pos[field]._6[rtype].def;
1757 for (var j = 0; j < MARC.Record._ff_pos[field][p][rtype].len; j++) {
1768 MARC.Record.prototype.setFixedField = function (field, value) {
1769 if (!MARC.Record._ff_pos[field]) return null;
1771 var _l = this.leader;
1772 var _8 = this.field('008').data;
1773 var _6 = this.field('006').data;
1775 var rtype = this.recordType();
1779 if (MARC.Record._ff_pos[field].ldr && _l) {
1780 if (MARC.Record._ff_pos[field].ldr[rtype]) { // It's in the leader
1781 val = value.substr(0, MARC.Record._ff_pos[field].ldr[rtype].len);
1783 _l.substring(0, MARC.Record._ff_pos[field].ldr[rtype].start) +
1786 MARC.Record._ff_pos[field].ldr[rtype].start
1787 + MARC.Record._ff_pos[field].ldr[rtype].len
1790 } else if (MARC.Record._ff_pos[field]._8 && _8) {
1791 if (MARC.Record._ff_pos[field]._8[rtype]) { // Nope, it's in the 008
1792 val = value.substr(0, MARC.Record._ff_pos[field]._8[rtype].len);
1793 this.field('008').update(
1794 _8.substring(0, MARC.Record._ff_pos[field]._8[rtype].start) +
1797 MARC.Record._ff_pos[field]._8[rtype].start
1798 + MARC.Record._ff_pos[field]._8[rtype].len
1804 if (!val && MARC.Record._ff_pos[field]._6 && _6) {
1805 if (MARC.Record._ff_pos[field]._6[rtype]) { // ok, maybe the 006?
1806 val = value.substr(0, MARC.Record._ff_pos[field]._6[rtype].len);
1807 this.field('006').update(
1808 _6.substring(0, MARC.Record._ff_pos[field]._6[rtype].start) +
1811 MARC.Record._ff_pos[field]._6[rtype].start
1812 + MARC.Record._ff_pos[field]._6[rtype].len