CINXE.COM
Search: fadedpage.com
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Search: fadedpage.com</title> <link rel="shortcut icon" href="./images/fpicn.ico" /> <link rel="stylesheet" href="css/reset.css" /> <link rel="stylesheet" href="css/text.css" /> <link rel="stylesheet" href="css/960.css" /> <link rel="stylesheet" href="css/fadedpage.css" /> <link rel="stylesheet" href="css/fpstyle.css" /> <style type="text/css"> .key { white-space: nowrap; } .count { font-size: x-small; margin-right: .4em; } .ui-autocomplete { height: 20em; overflow-y: scroll; overflow-x: hidden; } .refine-search { width:900px; margin-left:auto; margin-right:auto; margin-top:0em; line-height: 1.1; } .refine-para { text-indent:-1em; margin-left: 1em; overflow: visible; margin-bottom: 5px; } .refine-tag { font-style: italic; } </style> <script src="/js/jquery.min.js"></script> <script src="/js/jquery-ui.min.js"></script> <link rel="stylesheet" href="/js/jquery-ui.min.css"/> <script type="text/javascript"> var availableTags; // See if the tag given matches one of the tag values. function isTag(tag) { for (var i = 0; i < availableTags.length; i++) { var o = availableTags[i]; if (o.value === tag) return true; } return false; } // Split a tags string (as shown in the UI). Return the tags in array form function splitTags(val) { var a = val.split(/,\s*/); // Remove trailing blank tokens for (;;) { var l = a.length; if (l == 0 || a[l-1] != '') break; a.pop(); } return a; } $(document).ready(function () { // Code from jqueryui.com/autocomplete/#multiple, with modifications // to force valid tags. availableTags = [ { label: '16th century', value: '16th century' },{ label: '17th century', value: '17th century' },{ label: '17th century comedy', value: '17th century comedy' },{ label: '18th century', value: '18th century' },{ label: '1920s America', value: '1920s America' },{ label: 'Aaron Burr(president, united states)', value: 'Aaron Burr' },{ label: 'abnormalities: Human', value: 'abnormalities: Human' },{ label: 'aborigine', value: 'aborigine' },{ label: 'Acadia', value: 'Acadia' },{ label: 'Acadians', value: 'Acadians' },{ label: 'addiction', value: 'addiction' },{ label: 'Addison', value: 'Addison' },{ label: 'adventure(thriller, mystery, espionage, intrigue)', value: 'adventure' },{ label: 'Africa', value: 'Africa' },{ label: 'agriculture(farming)', value: 'agriculture' },{ label: 'airplanes', value: 'airplanes' },{ label: 'airship', value: 'airship' },{ label: 'Alabama', value: 'Alabama' },{ label: 'Alaska', value: 'Alaska' },{ label: 'Albert Campion (Fictional character)', value: 'Albert Campion (Fictional character)' },{ label: 'Alberta', value: 'Alberta' },{ label: 'allegory', value: 'allegory' },{ label: 'Alps', value: 'Alps' },{ label: 'altered states', value: 'altered states' },{ label: 'alternative medicine', value: 'alternative medicine' },{ label: 'amateur detective(mystery)', value: 'amateur detective' },{ label: 'America(U.S.A., US)', value: 'America' },{ label: 'American', value: 'American' },{ label: 'American Civil War', value: 'American Civil War' },{ label: 'American Revolution', value: 'American Revolution' },{ label: 'American west', value: 'American west' },{ label: 'Amos Lee Mappin (Fictional character)', value: 'Amos Lee Mappin (Fictional character)' },{ label: 'anarchism', value: 'anarchism' },{ label: 'Ancient Greece', value: 'Ancient Greece' },{ label: 'Ancient Rome', value: 'Ancient Rome' },{ label: 'Andr茅e', value: 'Andr茅e' },{ label: 'Andrew Lang', value: 'Andrew Lang' },{ label: 'anecdotes', value: 'anecdotes' },{ label: 'Anglican Church', value: 'Anglican Church' },{ label: 'animal husbandry', value: 'animal husbandry' },{ label: 'animals', value: 'animals' },{ label: 'Anne Boleyn', value: 'Anne Boleyn' },{ label: 'Anne Shirley (Fictional character)', value: 'Anne Shirley (Fictional character)' },{ label: 'Antarctica', value: 'Antarctica' },{ label: 'anthology', value: 'anthology' },{ label: 'anthropology', value: 'anthropology' },{ label: 'Arabia', value: 'Arabia' },{ label: 'archaeology', value: 'archaeology' },{ label: 'architecture', value: 'architecture' },{ label: 'Arctic', value: 'Arctic' },{ label: 'Aristophanes', value: 'Aristophanes' },{ label: 'Arizona', value: 'Arizona' },{ label: 'Armenia', value: 'Armenia' },{ label: 'Ars猫ne Lupin (Fictional character)', value: 'Ars猫ne Lupin (Fictional character)' },{ label: 'art', value: 'art' },{ label: 'Arthurian legend', value: 'Arthurian legend' },{ label: 'Aryan', value: 'Aryan' },{ label: 'Asia', value: 'Asia' },{ label: 'assassination(murder)', value: 'assassination' },{ label: 'astronomy', value: 'astronomy' },{ label: 'Australia', value: 'Australia' },{ label: 'Australian literature', value: 'Australian literature' },{ label: 'Austria', value: 'Austria' },{ label: 'autobiography', value: 'autobiography' },{ label: 'automobiles(car, motor car, van, truck, vehicle)', value: 'automobiles' },{ label: 'aviation(flying, planes)', value: 'aviation' },{ label: 'Bach', value: 'Bach' },{ label: 'ball-room dancing', value: 'ball-room dancing' },{ label: 'ballads', value: 'ballads' },{ label: 'Bangladesh', value: 'Bangladesh' },{ label: 'Barrett', value: 'Barrett' },{ label: 'Barsetshire (England: Imaginary place)', value: 'Barsetshire (England: Imaginary place)' },{ label: 'baseball', value: 'baseball' },{ label: 'basketball(sport)', value: 'basketball' },{ label: 'Basque', value: 'Basque' },{ label: 'Bates Method', value: 'Bates Method' },{ label: 'beaver(animal)', value: 'beaver' },{ label: 'Belgium', value: 'Belgium' },{ label: 'Berlin', value: 'Berlin' },{ label: 'Berry Pleydell (Fictional character)', value: 'Berry Pleydell (Fictional character)' },{ label: 'Bible(religion)', value: 'Bible' },{ label: 'biblical(religion)', value: 'biblical' },{ label: 'bibliography', value: 'bibliography' },{ label: 'Biggles (Fictional character)', value: 'Biggles (Fictional character)' },{ label: 'bildungsroman', value: 'bildungsroman' },{ label: 'bilingualism', value: 'bilingualism' },{ label: 'biographical novel', value: 'biographical novel' },{ label: 'biography', value: 'biography' },{ label: 'biology', value: 'biology' },{ label: 'birds', value: 'birds' },{ label: 'blackmail', value: 'blackmail' },{ label: 'boating', value: 'boating' },{ label: 'Bobbsey Twins (Fictional characters)', value: 'Bobbsey Twins (Fictional characters)' },{ label: 'body-building', value: 'body-building' },{ label: 'Boer War', value: 'Boer War' },{ label: 'Bonar Law', value: 'Bonar Law' },{ label: 'book reviews', value: 'book reviews' },{ label: 'books', value: 'books' },{ label: 'bookshop', value: 'bookshop' },{ label: 'Borneo', value: 'Borneo' },{ label: 'botany', value: 'botany' },{ label: 'boy', value: 'boy' },{ label: 'boys', value: 'boys' },{ label: 'Brant', value: 'Brant' },{ label: 'Brazil', value: 'Brazil' },{ label: 'brigands and robbers', value: 'brigands and robbers' },{ label: 'Britain', value: 'Britain' },{ label: 'British Columbia', value: 'British Columbia' },{ label: 'British Empire', value: 'British Empire' },{ label: 'Brock', value: 'Brock' },{ label: 'Browning', value: 'Browning' },{ label: 'buccaneers', value: 'buccaneers' },{ label: 'buddhism', value: 'buddhism' },{ label: 'Bulldog Drummond (Fictional character)', value: 'Bulldog Drummond (Fictional character)' },{ label: 'bullfighting', value: 'bullfighting' },{ label: 'Burma', value: 'Burma' },{ label: 'Burma (now Myanmar)', value: 'Burma (now Myanmar)' },{ label: 'business', value: 'business' },{ label: 'Butler\'s Rangers', value: 'Butler\'s Rangers' },{ label: 'Caldecott Medal Honor', value: 'Caldecott Medal Honor' },{ label: 'California', value: 'California' },{ label: 'camping', value: 'camping' },{ label: 'Canada', value: 'Canada' },{ label: 'Canadian poetry', value: 'Canadian poetry' },{ label: 'Canadian wit and humour', value: 'Canadian wit and humour' },{ label: 'Canadiana', value: 'Canadiana' },{ label: 'canoeing', value: 'canoeing' },{ label: 'Capri', value: 'Capri' },{ label: 'Cardinal Wolsey', value: 'Cardinal Wolsey' },{ label: 'cards', value: 'cards' },{ label: 'Caribbean Sea', value: 'Caribbean Sea' },{ label: 'Carleton', value: 'Carleton' },{ label: 'Carnegie Medal', value: 'Carnegie Medal' },{ label: 'carpets', value: 'carpets' },{ label: 'Cartier', value: 'Cartier' },{ label: 'castaway', value: 'castaway' },{ label: 'catalogue', value: 'catalogue' },{ label: 'cats(animal, pet)', value: 'cats' },{ label: 'cattle stealing', value: 'cattle stealing' },{ label: 'caves(cavern, grotto, spelunking)', value: 'caves' },{ label: 'Celts', value: 'Celts' },{ label: 'Champlain', value: 'Champlain' },{ label: 'Charles I', value: 'Charles I' },{ label: 'Charlie Chan (Fictional character)', value: 'Charlie Chan (Fictional character)' },{ label: 'Chaucer', value: 'Chaucer' },{ label: 'chemistry', value: 'chemistry' },{ label: 'children', value: 'children' },{ label: 'children\'s literature', value: 'children\'s literature' },{ label: 'China', value: 'China' },{ label: 'chivalry', value: 'chivalry' },{ label: 'Christianity', value: 'Christianity' },{ label: 'Christmas', value: 'Christmas' },{ label: 'Chrysler', value: 'Chrysler' },{ label: 'Churchill', value: 'Churchill' },{ label: 'cinema', value: 'cinema' },{ label: 'circus', value: 'circus' },{ label: 'civil rights movement', value: 'civil rights movement' },{ label: 'civil war', value: 'civil war' },{ label: 'clairvoyance', value: 'clairvoyance' },{ label: 'Clan Fraser', value: 'Clan Fraser' },{ label: 'classics', value: 'classics' },{ label: 'clothing', value: 'clothing' },{ label: 'Cold War', value: 'Cold War' },{ label: 'collection', value: 'collection' },{ label: 'colonies鈥攁dministration', value: 'colonies鈥攁dministration' },{ label: 'colonization', value: 'colonization' },{ label: 'comedy', value: 'comedy' },{ label: 'comic opera', value: 'comic opera' },{ label: 'Commonwealth', value: 'Commonwealth' },{ label: 'community welfare service', value: 'community welfare service' },{ label: 'compendium', value: 'compendium' },{ label: 'Conan (Fictional character)', value: 'Conan (Fictional character)' },{ label: 'Confederation', value: 'Confederation' },{ label: 'conference', value: 'conference' },{ label: 'Congo (Democratic Republic)', value: 'Congo (Democratic Republic)' },{ label: 'Connecticut', value: 'Connecticut' },{ label: 'conservation', value: 'conservation' },{ label: 'cooking', value: 'cooking' },{ label: 'cooking: English', value: 'cooking: English' },{ label: 'copyright', value: 'copyright' },{ label: 'Cornwall', value: 'Cornwall' },{ label: 'correspondence', value: 'correspondence' },{ label: 'cosmetics', value: 'cosmetics' },{ label: 'Countess of Albany', value: 'Countess of Albany' },{ label: 'country homes', value: 'country homes' },{ label: 'countryside', value: 'countryside' },{ label: 'court system', value: 'court system' },{ label: 'courtship', value: 'courtship' },{ label: 'Cranmer', value: 'Cranmer' },{ label: 'creation', value: 'creation' },{ label: 'creationism', value: 'creationism' },{ label: 'Cree Indians', value: 'Cree Indians' },{ label: 'cricket', value: 'cricket' },{ label: 'crime', value: 'crime' },{ label: 'criticism', value: 'criticism' },{ label: 'crochet', value: 'crochet' },{ label: 'Cuba', value: 'Cuba' },{ label: 'culture', value: 'culture' },{ label: 'Cyprus', value: 'Cyprus' },{ label: 'Dakota art', value: 'Dakota art' },{ label: 'Dakota Indians鈥擱eligion', value: 'Dakota Indians鈥擱eligion' },{ label: 'dancing', value: 'dancing' },{ label: 'Dante', value: 'Dante' },{ label: 'De Foe', value: 'De Foe' },{ label: 'de La Salle', value: 'de La Salle' },{ label: 'decoration and ornament', value: 'decoration and ornament' },{ label: 'democracy', value: 'democracy' },{ label: 'Denmark', value: 'Denmark' },{ label: 'depression', value: 'depression' },{ label: 'desert', value: 'desert' },{ label: 'design', value: 'design' },{ label: 'detective', value: 'detective' },{ label: 'Diamond Jubilee', value: 'Diamond Jubilee' },{ label: 'diary', value: 'diary' },{ label: 'dictionary', value: 'dictionary' },{ label: 'didactic poetry', value: 'didactic poetry' },{ label: 'dinners and dining', value: 'dinners and dining' },{ label: 'dinosaurs', value: 'dinosaurs' },{ label: 'diplomacy', value: 'diplomacy' },{ label: 'disappearance', value: 'disappearance' },{ label: 'Doc Savage (Fictional character)(thriller, pulp, science fiction)', value: 'Doc Savage (Fictional character)' },{ label: 'Doctor Dolittle (Fictional character)', value: 'Doctor Dolittle (Fictional character)' },{ label: 'dogs(animal, pet)', value: 'dogs' },{ label: 'Dr. John Colet', value: 'Dr. John Colet' },{ label: 'Dr. Thorndyke (Fictional character)', value: 'Dr. Thorndyke (Fictional character)' },{ label: 'dragons', value: 'dragons' },{ label: 'drama', value: 'drama' },{ label: 'drawings', value: 'drawings' },{ label: 'dreams', value: 'dreams' },{ label: 'Druids', value: 'Druids' },{ label: 'dystopia', value: 'dystopia' },{ label: 'early cartoons', value: 'early cartoons' },{ label: 'early feminism', value: 'early feminism' },{ label: 'Early Modern English', value: 'Early Modern English' },{ label: 'Easter', value: 'Easter' },{ label: 'Ebenezer Scrooge (Fictional character)', value: 'Ebenezer Scrooge (Fictional character)' },{ label: 'economics', value: 'economics' },{ label: 'Edmund Burke', value: 'Edmund Burke' },{ label: 'Edmund Spenser', value: 'Edmund Spenser' },{ label: 'education', value: 'education' },{ label: 'Edward I', value: 'Edward I' },{ label: 'Edward II', value: 'Edward II' },{ label: 'Edward III', value: 'Edward III' },{ label: 'Edward III.', value: 'Edward III.' },{ label: 'Edward IV', value: 'Edward IV' },{ label: 'Egypt', value: 'Egypt' },{ label: 'Elizabeth I', value: 'Elizabeth I' },{ label: 'Elizabethan', value: 'Elizabethan' },{ label: 'Enclosure Act', value: 'Enclosure Act' },{ label: 'encyclopedia', value: 'encyclopedia' },{ label: 'England(Great Britain)', value: 'England' },{ label: 'English', value: 'English' },{ label: 'English Civil War', value: 'English Civil War' },{ label: 'English colonialism', value: 'English colonialism' },{ label: 'English Literature', value: 'English Literature' },{ label: 'English nationalism', value: 'English nationalism' },{ label: 'English poetry', value: 'English poetry' },{ label: 'entertaining', value: 'entertaining' },{ label: 'environment', value: 'environment' },{ label: 'Ernest Hemingway', value: 'Ernest Hemingway' },{ label: 'Esperanto', value: 'Esperanto' },{ label: 'espionage(spying)', value: 'espionage' },{ label: 'espionage: Russian', value: 'espionage: Russian' },{ label: 'essay', value: 'essay' },{ label: 'Euclide Auclair', value: 'Euclide Auclair' },{ label: 'eugenics', value: 'eugenics' },{ label: 'Euripides', value: 'Euripides' },{ label: 'Europe', value: 'Europe' },{ label: 'European', value: 'European' },{ label: 'Evangelical moralists(religion)', value: 'Evangelical moralists' },{ label: 'evolution', value: 'evolution' },{ label: 'exploration', value: 'exploration' },{ label: 'explorers', value: 'explorers' },{ label: 'fables(folklore, fairy tale, myths, legends, folktale)', value: 'fables' },{ label: 'fairies', value: 'fairies' },{ label: 'fairy tale(folklore, fables, myths, legends, folktale)', value: 'fairy tale' },{ label: 'Falangists', value: 'Falangists' },{ label: 'family', value: 'family' },{ label: 'family life', value: 'family life' },{ label: 'Family Saga', value: 'Family Saga' },{ label: 'fantasy', value: 'fantasy' },{ label: 'farce', value: 'farce' },{ label: 'farm', value: 'farm' },{ label: 'farm-life', value: 'farm-life' },{ label: 'farming(agriculture)', value: 'farming' },{ label: 'fascism', value: 'fascism' },{ label: 'Father Brown (Fictional character)', value: 'Father Brown (Fictional character)' },{ label: 'female detectives', value: 'female detectives' },{ label: 'Femina鈥擵ie Heureuse Prize', value: 'Femina鈥擵ie Heureuse Prize' },{ label: 'fiction', value: 'fiction' },{ label: 'film/TV adaptation', value: 'film/TV adaptation' },{ label: 'finance', value: 'finance' },{ label: 'fishing', value: 'fishing' },{ label: 'Florida', value: 'Florida' },{ label: 'flowers', value: 'flowers' },{ label: 'fluorescence', value: 'fluorescence' },{ label: 'flying(airplanes)', value: 'flying' },{ label: 'folklore', value: 'folklore' },{ label: 'food', value: 'food' },{ label: 'football', value: 'football' },{ label: 'Foreign Legion', value: 'Foreign Legion' },{ label: 'foreign-relations', value: 'foreign-relations' },{ label: 'Forsyte Saga', value: 'Forsyte Saga' },{ label: 'fossils', value: 'fossils' },{ label: 'foxes', value: 'foxes' },{ label: 'frame narrative', value: 'frame narrative' },{ label: 'France', value: 'France' },{ label: 'Francis Pettigrew (Fictional character)', value: 'Francis Pettigrew (Fictional character)' },{ label: 'Franco regime', value: 'Franco regime' },{ label: 'Franklin', value: 'Franklin' },{ label: 'freedom of religion', value: 'freedom of religion' },{ label: 'French', value: 'French' },{ label: 'French comedy', value: 'French comedy' },{ label: 'French comedy in translation', value: 'French comedy in translation' },{ label: 'French dramatists', value: 'French dramatists' },{ label: 'French Guiana', value: 'French Guiana' },{ label: 'French Literature', value: 'French Literature' },{ label: 'French poetry', value: 'French poetry' },{ label: 'French Revolution', value: 'French Revolution' },{ label: 'Frog Lake massacre', value: 'Frog Lake massacre' },{ label: 'Fu Manchu (Fictional character)', value: 'Fu Manchu (Fictional character)' },{ label: 'Fur Route', value: 'Fur Route' },{ label: 'fur trade', value: 'fur trade' },{ label: 'furniture', value: 'furniture' },{ label: 'future history', value: 'future history' },{ label: 'future world', value: 'future world' },{ label: 'Gaelic', value: 'Gaelic' },{ label: 'Gallipoli', value: 'Gallipoli' },{ label: 'games', value: 'games' },{ label: 'Gandhi', value: 'Gandhi' },{ label: 'gardening', value: 'gardening' },{ label: 'geography', value: 'geography' },{ label: 'geology', value: 'geology' },{ label: 'George Buchanan', value: 'George Buchanan' },{ label: 'German', value: 'German' },{ label: 'German classicism', value: 'German classicism' },{ label: 'German Romanticism', value: 'German Romanticism' },{ label: 'Germany', value: 'Germany' },{ label: 'Geronimo', value: 'Geronimo' },{ label: 'ghosts(fantasy, spirits)', value: 'ghosts' },{ label: 'girls', value: 'girls' },{ label: 'Gladstone', value: 'Gladstone' },{ label: 'glass', value: 'glass' },{ label: 'Glorious Revolution', value: 'Glorious Revolution' },{ label: 'Goethe', value: 'Goethe' },{ label: 'Goethe and Lessing', value: 'Goethe and Lessing' },{ label: 'Goethe\'s early works', value: 'Goethe\'s early works' },{ label: 'gold', value: 'gold' },{ label: 'gothic', value: 'gothic' },{ label: 'G枚tz von Berlichingen', value: 'G枚tz von Berlichingen' },{ label: 'government publication', value: 'government publication' },{ label: 'Governor General', value: 'Governor General' },{ label: 'Governor General\'s Literary Award', value: 'Governor General\'s Literary Award' },{ label: 'Gower', value: 'Gower' },{ label: 'grammar', value: 'grammar' },{ label: 'Great Britain', value: 'Great Britain' },{ label: 'Great Lakes', value: 'Great Lakes' },{ label: 'Greece', value: 'Greece' },{ label: 'Greek', value: 'Greek' },{ label: 'Greek philosophy', value: 'Greek philosophy' },{ label: 'Greenland', value: 'Greenland' },{ label: 'Guardian\'s 100 Best Nonfiction Books of All Time', value: 'Guardian\'s 100 Best Nonfiction Books of All Time' },{ label: 'Guardian\'s 100 Greatest Novels of All Time (2003)', value: 'Guardian\'s 100 Greatest Novels of All Time (2003)' },{ label: 'Gunter', value: 'Gunter' },{ label: 'gymnastics', value: 'gymnastics' },{ label: 'Haida', value: 'Haida' },{ label: 'Halley', value: 'Halley' },{ label: 'hallucinogens', value: 'hallucinogens' },{ label: 'Hapsburg Empire', value: 'Hapsburg Empire' },{ label: 'Hapsburg monarchy', value: 'Hapsburg monarchy' },{ label: 'Hardy Boys (Fictional character)', value: 'Hardy Boys (Fictional character)' },{ label: 'Harper Novel Prize', value: 'Harper Novel Prize' },{ label: 'Hawaii', value: 'Hawaii' },{ label: 'Hawthornden Prize', value: 'Hawthornden Prize' },{ label: 'health', value: 'health' },{ label: 'Hebrew', value: 'Hebrew' },{ label: 'Henry Howard鈥擡arl of Surrey', value: 'Henry Howard鈥擡arl of Surrey' },{ label: 'Henry II', value: 'Henry II' },{ label: 'Henry IV', value: 'Henry IV' },{ label: 'Henry V', value: 'Henry V' },{ label: 'Henry VI', value: 'Henry VI' },{ label: 'Henry VII', value: 'Henry VII' },{ label: 'Henry VIII', value: 'Henry VIII' },{ label: 'Herschel', value: 'Herschel' },{ label: 'Hiawatha', value: 'Hiawatha' },{ label: 'high school(education)', value: 'high school' },{ label: 'Himalayas', value: 'Himalayas' },{ label: 'Historic and Scientific Treatise', value: 'Historic and Scientific Treatise' },{ label: 'historical', value: 'historical' },{ label: 'history', value: 'history' },{ label: 'Hitler', value: 'Hitler' },{ label: 'Hogarth', value: 'Hogarth' },{ label: 'Holy Grail', value: 'Holy Grail' },{ label: 'home management', value: 'home management' },{ label: 'Homeric legend', value: 'Homeric legend' },{ label: 'homes', value: 'homes' },{ label: 'Hong Kong', value: 'Hong Kong' },{ label: 'Hopalong Cassidy (Fictional character)', value: 'Hopalong Cassidy (Fictional character)' },{ label: 'horror(vampires, werewolf)', value: 'horror' },{ label: 'horses', value: 'horses' },{ label: 'horticulture(agriculture, farming)', value: 'horticulture' },{ label: 'Hudson Bay', value: 'Hudson Bay' },{ label: 'Hudson\'s Bay Company', value: 'Hudson\'s Bay Company' },{ label: 'human rights', value: 'human rights' },{ label: 'humour(laughter, funny, jokes)', value: 'humour' },{ label: 'Hungary', value: 'Hungary' },{ label: 'hunting', value: 'hunting' },{ label: 'icebergs', value: 'icebergs' },{ label: 'Iceland', value: 'Iceland' },{ label: 'immigration', value: 'immigration' },{ label: 'incest', value: 'incest' },{ label: 'India', value: 'India' },{ label: 'Indonesia', value: 'Indonesia' },{ label: 'industry', value: 'industry' },{ label: 'inheritance', value: 'inheritance' },{ label: 'Inspector Hanaud (Fictional character)', value: 'Inspector Hanaud (Fictional character)' },{ label: 'inspirational', value: 'inspirational' },{ label: 'instructional', value: 'instructional' },{ label: 'intellectual life', value: 'intellectual life' },{ label: 'intellectuals', value: 'intellectuals' },{ label: 'intelligence service', value: 'intelligence service' },{ label: 'inter-war years', value: 'inter-war years' },{ label: 'international relations', value: 'international relations' },{ label: 'intrigue', value: 'intrigue' },{ label: 'Inuit', value: 'Inuit' },{ label: 'Iowa', value: 'Iowa' },{ label: 'Ireland', value: 'Ireland' },{ label: 'Irish literature', value: 'Irish literature' },{ label: 'Iroquois Indians', value: 'Iroquois Indians' },{ label: 'Italy', value: 'Italy' },{ label: 'jaguar', value: 'jaguar' },{ label: 'Jalna (Canada: Imaginary place)', value: 'Jalna (Canada: Imaginary place)' },{ label: 'Jamaica', value: 'Jamaica' },{ label: 'James Bond (Fictional character)', value: 'James Bond (Fictional character)' },{ label: 'James I of Scotland', value: 'James I of Scotland' },{ label: 'James Tait Black Memorial Prize', value: 'James Tait Black Memorial Prize' },{ label: 'Japan', value: 'Japan' },{ label: 'Jasper Shrig (Fictional character)', value: 'Jasper Shrig (Fictional character)' },{ label: 'jazz', value: 'jazz' },{ label: 'Jesus', value: 'Jesus' },{ label: 'Jewish', value: 'Jewish' },{ label: 'Joan of Arc', value: 'Joan of Arc' },{ label: 'John Graves Simcoe', value: 'John Graves Simcoe' },{ label: 'John Knox', value: 'John Knox' },{ label: 'Johnny Liddell (Fictional character)', value: 'Johnny Liddell (Fictional character)' },{ label: 'journal', value: 'journal' },{ label: 'journalism(reporting, newspaper)', value: 'journalism' },{ label: 'Judge Dee (Fictional character)', value: 'Judge Dee (Fictional character)' },{ label: 'jungle', value: 'jungle' },{ label: 'juvenile(children)', value: 'juvenile' },{ label: 'Kansas', value: 'Kansas' },{ label: 'Kashmir', value: 'Kashmir' },{ label: 'Keats', value: 'Keats' },{ label: 'kidnapping', value: 'kidnapping' },{ label: 'Klondike', value: 'Klondike' },{ label: 'knitting', value: 'knitting' },{ label: 'Korea', value: 'Korea' },{ label: 'Korean', value: 'Korean' },{ label: 'La V茅rendrye', value: 'La V茅rendrye' },{ label: 'labour', value: 'labour' },{ label: 'Labour Party', value: 'Labour Party' },{ label: 'Labrador', value: 'Labrador' },{ label: 'Lady Jane Grey', value: 'Lady Jane Grey' },{ label: 'Laos', value: 'Laos' },{ label: 'Latimer', value: 'Latimer' },{ label: 'Latin literature', value: 'Latin literature' },{ label: 'Laurier', value: 'Laurier' },{ label: 'law(legal, court)', value: 'law' },{ label: 'League of Nations', value: 'League of Nations' },{ label: 'lecture(speech, address, oration)', value: 'lecture' },{ label: 'legal thriller', value: 'legal thriller' },{ label: 'legends', value: 'legends' },{ label: 'lesbianism', value: 'lesbianism' },{ label: 'letters', value: 'letters' },{ label: 'Levanevsky', value: 'Levanevsky' },{ label: 'lexicology', value: 'lexicology' },{ label: 'LGBTQ', value: 'LGBTQ' },{ label: 'Lieder', value: 'Lieder' },{ label: 'Lieutenant-Governors', value: 'Lieutenant-Governors' },{ label: 'life', value: 'life' },{ label: 'linguistics', value: 'linguistics' },{ label: 'Literary Guild Selection', value: 'Literary Guild Selection' },{ label: 'literature', value: 'literature' },{ label: 'Lloyd George', value: 'Lloyd George' },{ label: 'London', value: 'London' },{ label: 'Lord Burghley', value: 'Lord Burghley' },{ label: 'Lord Durham\'s Report', value: 'Lord Durham\'s Report' },{ label: 'Lord Kitchener', value: 'Lord Kitchener' },{ label: 'Lord Peter Wimsey (Fictional character)', value: 'Lord Peter Wimsey (Fictional character)' },{ label: 'lost world', value: 'lost world' },{ label: 'Lotte (Charlotte Kestner)', value: 'Lotte (Charlotte Kestner)' },{ label: 'lottery', value: 'lottery' },{ label: 'Louis XIV', value: 'Louis XIV' },{ label: 'Louisbourg', value: 'Louisbourg' },{ label: 'Lower Canada', value: 'Lower Canada' },{ label: 'lumberjacks', value: 'lumberjacks' },{ label: 'Macdonald', value: 'Macdonald' },{ label: 'Madame Storey (Fictional character)', value: 'Madame Storey (Fictional character)' },{ label: 'magazine(periodical)', value: 'magazine' },{ label: 'magic(fantasy)', value: 'magic' },{ label: 'Magna Carta', value: 'Magna Carta' },{ label: 'malapropism', value: 'malapropism' },{ label: 'male friendship', value: 'male friendship' },{ label: 'Malta', value: 'Malta' },{ label: 'man-women relationships', value: 'man-women relationships' },{ label: 'Manitoba', value: 'Manitoba' },{ label: 'manufacturing', value: 'manufacturing' },{ label: 'maps', value: 'maps' },{ label: 'Maritimes', value: 'Maritimes' },{ label: 'Marlborough', value: 'Marlborough' },{ label: 'Marlowe', value: 'Marlowe' },{ label: 'marriage', value: 'marriage' },{ label: 'married people鈥攆iction', value: 'married people鈥攆iction' },{ label: 'Mary Stuart', value: 'Mary Stuart' },{ label: 'mathematics', value: 'mathematics' },{ label: 'McGill', value: 'McGill' },{ label: 'medicine', value: 'medicine' },{ label: 'meditations', value: 'meditations' },{ label: 'memoir', value: 'memoir' },{ label: 'memory', value: 'memory' },{ label: 'mescalin', value: 'mescalin' },{ label: 'metafiction', value: 'metafiction' },{ label: 'meteorology', value: 'meteorology' },{ label: 'M茅tis', value: 'M茅tis' },{ label: 'Mexico', value: 'Mexico' },{ label: 'Micmacs', value: 'Micmacs' },{ label: 'microscopes', value: 'microscopes' },{ label: 'Middle East', value: 'Middle East' },{ label: 'military', value: 'military' },{ label: 'military science', value: 'military science' },{ label: 'Milton', value: 'Milton' },{ label: 'mining', value: 'mining' },{ label: 'Minnesota', value: 'Minnesota' },{ label: 'misers', value: 'misers' },{ label: 'Miss Silver (Fictional character)(detective, mystery)', value: 'Miss Silver (Fictional character)' },{ label: 'mission work', value: 'mission work' },{ label: 'Mississippi', value: 'Mississippi' },{ label: 'Missouri', value: 'Missouri' },{ label: 'mixed fiction/nonfiction', value: 'mixed fiction/nonfiction' },{ label: 'Modern Library\'s 100 Best Novels', value: 'Modern Library\'s 100 Best Novels' },{ label: 'monarchy', value: 'monarchy' },{ label: 'Mongols', value: 'Mongols' },{ label: 'monograph', value: 'monograph' },{ label: 'Montreal', value: 'Montreal' },{ label: 'moon', value: 'moon' },{ label: 'morality', value: 'morality' },{ label: 'Mormons', value: 'Mormons' },{ label: 'murder(mystery, detective)', value: 'murder' },{ label: 'music', value: 'music' },{ label: 'music halls', value: 'music halls' },{ label: 'musicology', value: 'musicology' },{ label: 'mystery(detective, whodunit)', value: 'mystery' },{ label: 'mysticism', value: 'mysticism' },{ label: 'Mythology(folklore, fairy tale, legends, folktale)', value: 'Mythology' },{ label: 'Nancy Drew (Fictional character)', value: 'Nancy Drew (Fictional character)' },{ label: 'Naples', value: 'Naples' },{ label: 'Napoleon', value: 'Napoleon' },{ label: 'Napoleonic Wars', value: 'Napoleonic Wars' },{ label: 'narrative verse', value: 'narrative verse' },{ label: 'Natural History', value: 'Natural History' },{ label: 'Natural Science', value: 'Natural Science' },{ label: 'naturalism', value: 'naturalism' },{ label: 'nature', value: 'nature' },{ label: 'nautical', value: 'nautical' },{ label: 'Navajo Indians', value: 'Navajo Indians' },{ label: 'navy', value: 'navy' },{ label: 'Netherlands', value: 'Netherlands' },{ label: 'neurofibromatosis', value: 'neurofibromatosis' },{ label: 'Nevada', value: 'Nevada' },{ label: 'New Brunswick', value: 'New Brunswick' },{ label: 'New Canadian Library', value: 'New Canadian Library' },{ label: 'New England', value: 'New England' },{ label: 'New France', value: 'New France' },{ label: 'New Objectivity', value: 'New Objectivity' },{ label: 'New Testament', value: 'New Testament' },{ label: 'New York City', value: 'New York City' },{ label: 'Newbery Medal', value: 'Newbery Medal' },{ label: 'Newfoundland', value: 'Newfoundland' },{ label: 'Newton', value: 'Newton' },{ label: 'Niagara', value: 'Niagara' },{ label: 'Nigeria', value: 'Nigeria' },{ label: 'non-fiction', value: 'non-fiction' },{ label: 'Norse', value: 'Norse' },{ label: 'North America', value: 'North America' },{ label: 'North American indigenous peoples', value: 'North American indigenous peoples' },{ label: 'North-West Rebellion', value: 'North-West Rebellion' },{ label: 'Northwest Passage', value: 'Northwest Passage' },{ label: 'Northwest Territories', value: 'Northwest Territories' },{ label: 'Nova Scotia', value: 'Nova Scotia' },{ label: 'novel', value: 'novel' },{ label: 'novelists', value: 'novelists' },{ label: 'novella', value: 'novella' },{ label: 'nuclear warfare', value: 'nuclear warfare' },{ label: 'Nuernberg', value: 'Nuernberg' },{ label: 'Nuremberg', value: 'Nuremberg' },{ label: 'nursery rhymes', value: 'nursery rhymes' },{ label: 'O. Henry Award', value: 'O. Henry Award' },{ label: 'occult', value: 'occult' },{ label: 'odyssey', value: 'odyssey' },{ label: 'Ojibway', value: 'Ojibway' },{ label: 'Okanagan', value: 'Okanagan' },{ label: 'Oklahoma', value: 'Oklahoma' },{ label: 'one book author', value: 'one book author' },{ label: 'one-act play', value: 'one-act play' },{ label: 'Ontario', value: 'Ontario' },{ label: 'ophthalmology', value: 'ophthalmology' },{ label: 'orchards', value: 'orchards' },{ label: 'Oregon', value: 'Oregon' },{ label: 'Oregon Trail', value: 'Oregon Trail' },{ label: 'origins of evil', value: 'origins of evil' },{ label: 'ornithology', value: 'ornithology' },{ label: 'orphans', value: 'orphans' },{ label: 'outlaws', value: 'outlaws' },{ label: 'Oxford college life', value: 'Oxford college life' },{ label: 'Oxford University', value: 'Oxford University' },{ label: 'Pacific', value: 'Pacific' },{ label: 'Pacific Northwest', value: 'Pacific Northwest' },{ label: 'pain', value: 'pain' },{ label: 'painting', value: 'painting' },{ label: 'Pakistan', value: 'Pakistan' },{ label: 'paleontology', value: 'paleontology' },{ label: 'pamphlet', value: 'pamphlet' },{ label: 'Panama', value: 'Panama' },{ label: 'paranormal', value: 'paranormal' },{ label: 'parapsychology', value: 'parapsychology' },{ label: 'Paris', value: 'Paris' },{ label: 'parks', value: 'parks' },{ label: 'parody(caricature, satire, irony)', value: 'parody' },{ label: 'Patriotism', value: 'Patriotism' },{ label: 'penal colony', value: 'penal colony' },{ label: 'Penn', value: 'Penn' },{ label: 'Percy Bysshe Shelley', value: 'Percy Bysshe Shelley' },{ label: 'performance arts', value: 'performance arts' },{ label: 'periodical', value: 'periodical' },{ label: 'Persian Gulf', value: 'Persian Gulf' },{ label: 'peyote', value: 'peyote' },{ label: 'philanthropy', value: 'philanthropy' },{ label: 'philately', value: 'philately' },{ label: 'Philip Marlowe (Fictional character)', value: 'Philip Marlowe (Fictional character)' },{ label: 'Philippines', value: 'Philippines' },{ label: 'Philo Vance (Fictional character)(detective, mystery)', value: 'Philo Vance (Fictional character)' },{ label: 'philology', value: 'philology' },{ label: 'philosophy', value: 'philosophy' },{ label: 'phonetics', value: 'phonetics' },{ label: 'photographs', value: 'photographs' },{ label: 'physicians', value: 'physicians' },{ label: 'physics', value: 'physics' },{ label: 'picaresque literature', value: 'picaresque literature' },{ label: 'picaresque novel', value: 'picaresque novel' },{ label: 'picture book', value: 'picture book' },{ label: 'pioneers', value: 'pioneers' },{ label: 'pirate', value: 'pirate' },{ label: 'poetry(poem, ballad, verse, song, rhyme)', value: 'poetry' },{ label: 'Poland', value: 'Poland' },{ label: 'polemic', value: 'polemic' },{ label: 'Polish', value: 'Polish' },{ label: 'political science', value: 'political science' },{ label: 'politics', value: 'politics' },{ label: 'politics and government', value: 'politics and government' },{ label: 'Pollyanna (Fictional character)', value: 'Pollyanna (Fictional character)' },{ label: 'Polynesia', value: 'Polynesia' },{ label: 'Pontiac', value: 'Pontiac' },{ label: 'Pope', value: 'Pope' },{ label: 'Pope Gregory I', value: 'Pope Gregory I' },{ label: 'portraits', value: 'portraits' },{ label: 'Portugal', value: 'Portugal' },{ label: 'Prairies', value: 'Prairies' },{ label: 'pre-WWI', value: 'pre-WWI' },{ label: 'precognition', value: 'precognition' },{ label: 'preface', value: 'preface' },{ label: 'Prime Minister', value: 'Prime Minister' },{ label: 'Prince Edward Island(PEI)', value: 'Prince Edward Island' },{ label: 'printing', value: 'printing' },{ label: 'private investigators', value: 'private investigators' },{ label: 'Prometheus Award Hall of Fame', value: 'Prometheus Award Hall of Fame' },{ label: 'prophecy', value: 'prophecy' },{ label: 'psychedelic drugs', value: 'psychedelic drugs' },{ label: 'psychology', value: 'psychology' },{ label: 'Pulitzer Prize', value: 'Pulitzer Prize' },{ label: 'Punch', value: 'Punch' },{ label: 'Quakers', value: 'Quakers' },{ label: 'Quebec', value: 'Quebec' },{ label: 'Quebec City', value: 'Quebec City' },{ label: 'qu茅b茅cois', value: 'qu茅b茅cois' },{ label: 'Queen Victoria', value: 'Queen Victoria' },{ label: 'racial segregation', value: 'racial segregation' },{ label: 'racism', value: 'racism' },{ label: 'radio', value: 'radio' },{ label: 'radio play', value: 'radio play' },{ label: 'railway', value: 'railway' },{ label: 'ramblings', value: 'ramblings' },{ label: 'ranch life', value: 'ranch life' },{ label: 'ranchers', value: 'ranchers' },{ label: 'rebellion', value: 'rebellion' },{ label: 'Rebellion of 1837', value: 'Rebellion of 1837' },{ label: 'Recession', value: 'Recession' },{ label: 'recreation', value: 'recreation' },{ label: 'reference', value: 'reference' },{ label: 'reflection (philosophy)', value: 'reflection (philosophy)' },{ label: 'relationships', value: 'relationships' },{ label: 'relativity(physics)', value: 'relativity' },{ label: 'religion(theology, spirituality)', value: 'religion' },{ label: 'Renaissance', value: 'Renaissance' },{ label: 'revolution', value: 'revolution' },{ label: 'Revolutions of 1948', value: 'Revolutions of 1948' },{ label: 'Rhodesia (now Zimbabwe and Zambia)', value: 'Rhodesia (now Zimbabwe and Zambia)' },{ label: 'Richard Hannay Series', value: 'Richard Hannay Series' },{ label: 'Richard II', value: 'Richard II' },{ label: 'Richard III', value: 'Richard III' },{ label: 'Richard William Chandos (Fictional character)', value: 'Richard William Chandos (Fictional character)' },{ label: 'Riel', value: 'Riel' },{ label: 'rise of Hitler', value: 'rise of Hitler' },{ label: 'rivers', value: 'rivers' },{ label: 'roads', value: 'roads' },{ label: 'Robber Baron', value: 'Robber Baron' },{ label: 'Robert Burns', value: 'Robert Burns' },{ label: 'Robert Louis Stevenson', value: 'Robert Louis Stevenson' },{ label: 'robots', value: 'robots' },{ label: 'Rockies', value: 'Rockies' },{ label: 'Roger Bacon', value: 'Roger Bacon' },{ label: 'Roman Catholicism', value: 'Roman Catholicism' },{ label: 'Roman History', value: 'Roman History' },{ label: 'Roman soldiers', value: 'Roman soldiers' },{ label: 'romance', value: 'romance' },{ label: 'Rome', value: 'Rome' },{ label: 'rowing', value: 'rowing' },{ label: 'Royal Canadian Mounted Police', value: 'Royal Canadian Mounted Police' },{ label: 'royalty', value: 'royalty' },{ label: 'rural', value: 'rural' },{ label: 'Russell Loines Award for Poetry', value: 'Russell Loines Award for Poetry' },{ label: 'Russia', value: 'Russia' },{ label: 'Russian Revolution', value: 'Russian Revolution' },{ label: 'Ruth Fielding (Fictional character)', value: 'Ruth Fielding (Fictional character)' },{ label: 'Ryerson', value: 'Ryerson' },{ label: 'Sable Island', value: 'Sable Island' },{ label: 'sailing', value: 'sailing' },{ label: 'Sam Spade (Fictional character)', value: 'Sam Spade (Fictional character)' },{ label: 'San Francisco', value: 'San Francisco' },{ label: 'sanatorium', value: 'sanatorium' },{ label: 'Saskatchewan', value: 'Saskatchewan' },{ label: 'Satan', value: 'Satan' },{ label: 'satire', value: 'satire' },{ label: 'saurians', value: 'saurians' },{ label: 'school stories', value: 'school stories' },{ label: 'science', value: 'science' },{ label: 'science fiction(sci-fi, sf)', value: 'science fiction' },{ label: 'Scotland', value: 'Scotland' },{ label: 'Scottish', value: 'Scottish' },{ label: 'Scouts', value: 'Scouts' },{ label: 'sculpture', value: 'sculpture' },{ label: 'sea poetry', value: 'sea poetry' },{ label: 'seafaring', value: 'seafaring' },{ label: 'self-help', value: 'self-help' },{ label: 'semi-autobiographical', value: 'semi-autobiographical' },{ label: 'serial', value: 'serial' },{ label: 'settlement', value: 'settlement' },{ label: 'sexuality', value: 'sexuality' },{ label: 'Shakespeare', value: 'Shakespeare' },{ label: 'Sherlock Holmes (Fictional character)', value: 'Sherlock Holmes (Fictional character)' },{ label: 'ships', value: 'ships' },{ label: 'shipwrecks', value: 'shipwrecks' },{ label: 'short stories', value: 'short stories' },{ label: 'short story', value: 'short story' },{ label: 'Siberia', value: 'Siberia' },{ label: 'Siksika Indians', value: 'Siksika Indians' },{ label: 'Siksika Indians鈥擲ocial life and customs', value: 'Siksika Indians鈥擲ocial life and customs' },{ label: 'Simcoe', value: 'Simcoe' },{ label: 'singing', value: 'singing' },{ label: 'Sir Francis Bacon', value: 'Sir Francis Bacon' },{ label: 'Sir Francis Drake', value: 'Sir Francis Drake' },{ label: 'Sir Henry Morgan', value: 'Sir Henry Morgan' },{ label: 'Sir John Franklin', value: 'Sir John Franklin' },{ label: 'Sir Philip Sidney', value: 'Sir Philip Sidney' },{ label: 'Sir Thomas Gresham', value: 'Sir Thomas Gresham' },{ label: 'Sir Thomas More', value: 'Sir Thomas More' },{ label: 'Sir Walter Scott', value: 'Sir Walter Scott' },{ label: 'Skat', value: 'Skat' },{ label: 'sketches', value: 'sketches' },{ label: 'slavery', value: 'slavery' },{ label: 'Slavic', value: 'Slavic' },{ label: 'smallpox', value: 'smallpox' },{ label: 'Smeaton', value: 'Smeaton' },{ label: 'social upheaval', value: 'social upheaval' },{ label: 'socialism', value: 'socialism' },{ label: 'sociology', value: 'sociology' },{ label: 'Socrates', value: 'Socrates' },{ label: 'solar', value: 'solar' },{ label: 'soldiers', value: 'soldiers' },{ label: 'sonnets(ballad, song, verse)', value: 'sonnets' },{ label: 'Sophocles', value: 'Sophocles' },{ label: 'South Africa', value: 'South Africa' },{ label: 'South America', value: 'South America' },{ label: 'South Pacific', value: 'South Pacific' },{ label: 'South Pole', value: 'South Pole' },{ label: 'South Seas', value: 'South Seas' },{ label: 'Southern U.S.A.', value: 'Southern U.S.A.' },{ label: 'Spain', value: 'Spain' },{ label: 'Spanish', value: 'Spanish' },{ label: 'Spanish Civil War', value: 'Spanish Civil War' },{ label: 'Spanish-American War', value: 'Spanish-American War' },{ label: 'species', value: 'species' },{ label: 'speech(lecture, address, oration)', value: 'speech' },{ label: 'spiritualism', value: 'spiritualism' },{ label: 'spirituality', value: 'spirituality' },{ label: 'sports', value: 'sports' },{ label: 'Spy', value: 'Spy' },{ label: 'spy stories', value: 'spy stories' },{ label: 'St. Lawrence River', value: 'St. Lawrence River' },{ label: 'stage adaptation', value: 'stage adaptation' },{ label: 'stamps', value: 'stamps' },{ label: 'stock market crash', value: 'stock market crash' },{ label: 'Suffragette Movement', value: 'Suffragette Movement' },{ label: 'Sumatra', value: 'Sumatra' },{ label: 'supernatural', value: 'supernatural' },{ label: 'surgery', value: 'surgery' },{ label: 'survey', value: 'survey' },{ label: 'suspense', value: 'suspense' },{ label: 'Swift', value: 'Swift' },{ label: 'Switzerland', value: 'Switzerland' },{ label: 'tarot cards', value: 'tarot cards' },{ label: 'Tarzan (Fictional character)', value: 'Tarzan (Fictional character)' },{ label: 'teaching', value: 'teaching' },{ label: 'technology(computers, electronics)', value: 'technology' },{ label: 'Tecumseh', value: 'Tecumseh' },{ label: 'Texas', value: 'Texas' },{ label: 'textbook', value: 'textbook' },{ label: 'Thailand', value: 'Thailand' },{ label: 'theatre', value: 'theatre' },{ label: 'theology(religion, spirituality)', value: 'theology' },{ label: 'Thomas Chandler Haliburton', value: 'Thomas Chandler Haliburton' },{ label: 'Thomas Cromwell', value: 'Thomas Cromwell' },{ label: 'Thomas Simpson', value: 'Thomas Simpson' },{ label: 'thriller', value: 'thriller' },{ label: 'Tibet', value: 'Tibet' },{ label: 'time', value: 'time' },{ label: 'time travel(science-fiction, physics)', value: 'time travel' },{ label: 'Tom Swift (Fictional character)', value: 'Tom Swift (Fictional character)' },{ label: 'Toronto', value: 'Toronto' },{ label: 'track and field', value: 'track and field' },{ label: 'trade', value: 'trade' },{ label: 'traditions', value: 'traditions' },{ label: 'tragedy', value: 'tragedy' },{ label: 'travel', value: 'travel' },{ label: 'travelogue', value: 'travelogue' },{ label: 'treasure', value: 'treasure' },{ label: 'trees', value: 'trees' },{ label: 'Trojan Wars', value: 'Trojan Wars' },{ label: 'Troy', value: 'Troy' },{ label: 'Tudors', value: 'Tudors' },{ label: 'Turkey', value: 'Turkey' },{ label: 'U.S.A.', value: 'U.S.A.' },{ label: 'U.S.A. president', value: 'U.S.A. president' },{ label: 'Union', value: 'Union' },{ label: 'university life', value: 'university life' },{ label: 'Upper Canada', value: 'Upper Canada' },{ label: 'Victorian', value: 'Victorian' },{ label: 'Vietnam', value: 'Vietnam' },{ label: 'Vikings', value: 'Vikings' },{ label: 'vision', value: 'vision' },{ label: 'Wales', value: 'Wales' },{ label: 'Walpole', value: 'Walpole' },{ label: 'war', value: 'war' },{ label: 'War of 1812', value: 'War of 1812' },{ label: 'water transportation', value: 'water transportation' },{ label: 'Waterloo', value: 'Waterloo' },{ label: 'weight-lifting', value: 'weight-lifting' },{ label: 'Weimar Republic', value: 'Weimar Republic' },{ label: 'werewolf', value: 'werewolf' },{ label: 'Werther', value: 'Werther' },{ label: 'western', value: 'western' },{ label: 'Western Writers of America Golden Spur Award', value: 'Western Writers of America Golden Spur Award' },{ label: 'whistling', value: 'whistling' },{ label: 'Whiteoak family (Fictional characters)', value: 'Whiteoak family (Fictional characters)' },{ label: 'Wicliffe', value: 'Wicliffe' },{ label: 'wilderness', value: 'wilderness' },{ label: 'wildlife', value: 'wildlife' },{ label: 'William Lyon Mackenzie', value: 'William Lyon Mackenzie' },{ label: 'William of Wykeham', value: 'William of Wykeham' },{ label: 'witchcraft', value: 'witchcraft' },{ label: 'wolf', value: 'wolf' },{ label: 'Wolfe', value: 'Wolfe' },{ label: 'women', value: 'women' },{ label: 'Wordsworth', value: 'Wordsworth' },{ label: 'World War I', value: 'World War I' },{ label: 'World War II', value: 'World War II' },{ label: 'Wren', value: 'Wren' },{ label: 'writing', value: 'writing' },{ label: 'Yale Series of Younger Poets Competition', value: 'Yale Series of Younger Poets Competition' },{ label: 'York', value: 'York' },{ label: 'young adult', value: 'young adult' },{ label: 'youth', value: 'youth' },{ label: 'Yukon', value: 'Yukon' }, ]; function extractLast(term) { return splitTags(term).pop(); } // When loosing focus, validate all the tags, and remove any // invalid ones. The change (i.e. blurr event) seems somewhat flakey // and this doesn't appear to be completely reliable. function fixTags(textbox) { var value = $(textbox).val(); var tags = splitTags(value); var result = []; // Reconstruct field removing any invalid tags for (var i = 0; i < tags.length; i++) { tag = tags[i]; if (isTag(tag) >= 0) result.push(tag); } $(textbox).val(result.join(", ")); // ???? event.preventDefault(); } $("#tags") // don't navigate away from the field on tab when selecting an item .bind("keydown", function(event) { if (event.keyCode === $.ui.keyCode.TAB && $(this).autocomplete("instance").menu.active) { event.preventDefault(); } else if (event.keyCode == $.ui.keyCode.COMMA) { var value = $("#tags").val(); // TODO: If they clicked in the middle of the text box, and // tried to type a comma there, operating on the last // item is just wrong. var token = extractLast(value); if (isTag(token) == -1) // Disallow the comma. event.preventDefault(); } }) /*.bind("focusout", function(event) { console.log("FocusOut: " + event); fixTags(this); })*/ .autocomplete({ minLength: 1, source: function(request, response) { // delegate back to autocomplete, but extract the last term console.log("Lookup: " + extractLast(request.term)); //for(var v in availableTags) // console.log("key: " + v + ", " + availableTags[v]); response($.ui.autocomplete.filter( availableTags, extractLast(request.term))); }, focus: function() { // prevent value inserted on focus return false; }, select: function(event, ui) { var terms = splitTags(this.value); // remove the current input terms.pop(); // add the selected item terms.push(ui.item.value); // add placeholder to get the comma-and-space at the end terms.push(""); this.value = terms.join(", "); return false; }, change: function( event, ui ) { fixTags(this); } }); // End of multiple code. }); </script> <style type="text/css"> .ui-autocomplete { height:20em; overflow-y: scroll; overflow-x: hidden; } .pseudo-list { list-style-type:none; color:grey; margin-bottom:0; } .ui-menu-item { padding-top: 0 !important; padding-bottom: 0 !important; } </style> <script type="text/javascript"> // id->author function loadAuthors(real, pseudo, uncat) { authorsreal = []; for (var id in real) authorsreal.push({ label: real[id], value: real[id], category: "Known Real Author Names:", }); authorspseudo = []; for (var id in pseudo) authorspseudo.push({ label: pseudo[id], value: pseudo[id], category: "Known Pseudonyms:", }); authorsuncat = []; for (var id in uncat) authorsuncat.push({ label: uncat[id], value: uncat[id], category: "Old, Uncategorized Authors:", }); realAuthors = authorsreal.concat(authorsuncat); pseudoAuthors = authorspseudo.concat(authorsuncat); } function getSorted(authors) { var a = []; for (var id in authors) a.push(authors[id]); a.sort(function(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); return a; } // Note that the arrays byIdReal and byIdUncat are sorted by value, // but if we do for(id in...) we will iterate in id order. function createRealAuthorListForAuto() { var authors = [] var a = getSorted(byIdReal); for (var i = 0; i < a.length; i++) { var textual = a[i]; var value = textual; // Extend value with the pseudonyms, for searching var psauthors = realToPseudo[textual]; if (psauthors != null && psauthors.length > 0) for (var j = 0; j < psauthors.length; j++) value += " " + psauthors[j]; authors.push({ label: value, // Search in label value: textual, // When selected, select value subs: psauthors, category: "Known Real Author Names:" }); } a = getSorted(byIdUncat); for (var i = 0; i < a.length; i++) { var textual = a[i]; authors.push({ label: textual, value: textual, category: "Old, Uncategorized Authors:" }); } return authors; } // author->[authors] function loadMaps(rToP, pToR) { realToPseudo = {}; for (var real in rToP) realToPseudo[real] = rToP[real]; pseudoToReal = {}; for (var pseudo in pToR) pseudoToReal[pseudo] = pToR[pseudo]; } // The authors are all driven off of five tables. // When we startup, and after we've done an update (potentially changing them); reload // the tables via an ajax call to get new ones. function loadGlobalAuthorTables(startup, shouldLoadAuthors, shouldLoadMaps, shouldLoadById) { $.when ( $.ajax({ url: '/author_rmi.php', type: 'POST', data: "operation=author", dataType: 'json', success: function (response) { if (shouldLoadAuthors) loadAuthors(response.real, response.pseudo, response.uncat); if (shouldLoadMaps) loadMaps(response.realToPseudo, response.pseudoToReal); if (shouldLoadById) { byIdReal = response.real; byIdUncat = response.uncat; } }, error: function() { alert("Can't talk to server"); } }) ) .done(function(data, textStatus, jqXHR) { console.log("Authors RMI has returned"); if (startup) readyPart2(); }); } withPseudoRenderer = function(ul, item) { var pseudoList = item.subs; if (pseudoList != null && pseudoList.length > 0) { var v = $("<li>"); var s = item.value + "<ol class='pseudo-list'>"; for (var i = 0; i < pseudoList.length; i++) s += "<li>" + "<span style='font-style:italic;font-size:75%'>pseudonym:</span> " + pseudoList[i] + "</li>"; s += "</ol>"; v.append(s); return v.appendTo(ul); } return $("<li>").text(item.label).appendTo(ul); }; </script> <style type="text/css"> .across { display: inline-block; vertical-align: middle; } .description { font-size:75%; font-style:italic; } .description p { margin-left: 1em; padding-left:1.5em; padding-right:2em; text-indent:-1em; margin-top: 0; margin-bottom: 0; padding-bottom: .25em; border-left: 1px solid grey; } .description p:last-child { border-bottom: 1px solid gray; margin-bottom: .25em; } .TagDescription { margin-left: 2em; margin-right: 2em; font-size: larger; } .TagDescription p { text-indent:2em; } .TagDescription p:first-child { text-indent: 0; } .TagDescription p:first-child:first-letter { margin-top:-.3em; font-family: Georgia; float: left; font-size: 400%; } .series-entry { padding-left: 2em; text-indent: -2em; } .series { margin-bottom: 2px; text-decoration: underline; } .oneseries { display: inline-block; width: 100%; break-before: column; } .seriesblock { -webkit-columns: 30em auto; -moz-columns: 20em auto; columns: 20em auto; } #advsearch { text-decoration: underline; cursor: pointer; } #searchform { display: none; } #result-table { width:800px; margin-left:auto; margin-right:auto; } .row.odd { background: rgba(240, 240, 240, 0.3); } .description.odd { background: rgba(240, 240, 240, 0.3); } .authorpic { float: left; width: 2.5cm; height: auto; margin-right:.2cm; margin-bottom:.2cm; } .bookpic { width:2cm; height:auto; margin-bottom:2mm; margin-right:1mm; } .title { padding-right:20px; text-align:left; padding-left:1em; text-indent:-1em; } .author-cell { padding-right:20px; text-align:left; } .one-author { padding-left:1.5em; text-indent:-1.5em; margin-bottom: 0; } .one-author:last-child { margin-bottom: 10px; } </style> <script type="text/javascript"> $(document).ready(function () { $('div.result-container').html(" "); $('div.result-count').html(" "); $('div.result-debug').html(" "); $('div.result-facet').html(" "); $('#advsearch').click( function() { $('#advsearch').hide(); $('#searchform').show(); } ); searchFields = ['title', 'author', 'plang', 'category', 'publisher', 'pubdate', 'pcountry', 'tags', 'bookid', 'sort', ];$('#tags').val($('<div>').html('catalogue').text()); var clicked = false; for (var i = 0; i < searchFields.length-1; i++) if (getFormField(searchFields[i]) !== '') { // $('#searchButton').click(); DoSearch(); clicked = true; break; } if (!clicked) { $('#advsearch').hide(); $('#searchform').show(); } loadGlobalAuthorTables(true, false, true, true); }); // END of ready function function readyPart2() { $('#author').autocomplete({ delay:0, source:createRealAuthorListForAuto(), }) .autocomplete("instance")._renderItem = withPseudoRenderer; } // Replace the url query string with a new one, reflecting the // current values of the various fields in the search form function replaceURL() { var queryString = ""; for (var i = 0; i < searchFields.length; i++) { var field = searchFields[i]; var value = $('#' + field).val(); // Be nice to have a way to ask if field is non-default if (value != '' && value != '--') { if (field != 'sort' || value != 'auto') { if (queryString == '') queryString = '?'; else queryString += '&'; value = fixedEncodeURIComponent(value); queryString += field + '=' + value; } } } if (queryString == '') { alert("All search boxes are empty!"); return false; } window.location.search = queryString; return false; } /* * The response populates several parts of the page. * * - count of results * - facets (tags, authors, languages) * - author Bio(s) * - series * - and then, finally, the actual table of search results. */ function formatResponse(response) { var msg = response.debug; var rows = response.rows; var facets = response.facets; langmap = response.langmap; resultCount = rows.length; // global var nrows = response.nrows; $('div.result-debug').html(msg); $('div.result-container').html(formatRows(rows)); var facetsHtml = formatFacets(facets); if (facetsHtml !== '') { $('#facet-rule').show(); $('div.result-facet').show(); $('div.result-facet').html(facetsHtml); } else { $('#facet-rule').hide(); $('div.result-facet').hide(); } var seriesHtml = formatSeries(rows); if (seriesHtml !== '') { $('#series-rule').show(); $('div.result-series').show(); $('div.result-series').html(seriesHtml); } else { $('#series-rule').hide(); $('div.-result-series').hide(); } var countHtml; if (nrows != resultCount) countHtml = nrows + " books match your search; limit of " + resultCount + " results returned. " + "Refine your search."; else countHtml = resultCount + " results returned."; var biosHtml = formatAuthorBios(facets.authors, rows); if (biosHtml != null) { $('#bios-rule').show(); $('div.result-bios').show(); $('div.result-bios').html(biosHtml); } else { $('#bios-rule').hide(); $('div.result-bios').hide(); } var tagDescriptionHtml = formatTagDescriptions(facets.tags, rows); if (tagDescriptionHtml != null) { $('#tags-rule').show(); $('div.result-tags').show(); $('div.result-tags').html(tagDescriptionHtml); } else { $('#tags-rule').hide(); $('div.result-tags').hide(); } $('div.result-count').html("<b>" + countHtml + "</b>"); $('div.result-count').show(); $('#count-rule').show(); $('#searchform').hide(); $('#advsearch').show(); } function getFormField(field) { var value = $('#' + field).val(); switch (field) { case 'plang': case 'category': case 'pcountry': if (value == '--') return ''; break; } return value; } function parseTags(tags) { var tagArray = tags.split(','); result = []; for (var i = 0; i < tagArray.length; i++) result.push(tagArray[i].trim()); return result; } function formatFacets(facets) { var h1 = formatTagFacet(facets.tags); var h2 = formatLangFacet(facets.langs); var h3 = formatAuthorFacet(facets.authors); if (h1 == '' && h2 == '' && h3 == '') return ''; var html = "<b>Refine your search:</b><div class='refine-search'>"; var para = "<p class='refine-para'>"; if (h1 != '') html += para + h1 + "</p>"; if (h2 != '') html += para + h2 + "</p>"; if (h3 != '') html += para + h3 + "</p>"; html += "</div>"; return html; } function getFacetURL(fieldName) { // Build a URL with all the values in the current search boxes. // Exclude the tags field. var url = "/csearch.php?"; for (var i = 0; i < searchFields.length; i++) { var field = searchFields[i]; var value = getFormField(field); if (value != '') if (field != fieldName) { value = fixedEncodeURIComponent(value); url += field + '=' + value + '&'; } } return url; } function getShortLang(long) { for (short in langmap) if (long == langmap[short]) return short; return long; } function formatLangFacet(langs) { var url = getFacetURL('plang'); var html = "<span class='refine-tag'>Language:</span> "; var n = 0; for (var lang in langs) { if (langs[lang] == resultCount) continue; var short = getShortLang(lang); html += "<span class='key'>" + "<a href='" + url + "plang=" + short + "'>" + lang + "</a>" + "</span>" + " " + "<span class='count'>" + langs[lang] + "</span> "; n++; } if (n == 0) return ''; return html; } /* * Note that the keyword facets are sorted by SQL (order by count(*) DESC) * but the other facets are just dictionaries which are naturally unsorted. * Convert the dictionary into a sorted array of objects containing * key&value. */ function reverseSortDict(dict) { var a = []; for (var key in dict) a.push({key:key, value:dict[key]}); a.sort(function (x, y) { return x.value > y.value? -1 : 1; }); return a; } function formatAuthorFacet(authors) { var url = getFacetURL('author'); var html = "<span class='refine-tag'>Author:</span> "; var n = 0; var order = reverseSortDict(authors); for (var i = 0; i < order.length; i++) { var author = order[i].key; var count = order[i].value; //if (count >= resultCount) // continue; if (count == 1) // exclude singleton author continue; html += "<span class='key'>" + "<a href='" + url + "author=" + author + "'>" + author + "</a>" + "</span>" + " " + "<span class='count'>" + authors[author] + "</span> "; n++; } if (n == 0) return ''; return html; } function formatTagDescriptions(tags, rows) { html = null; for (var tagName in tags) { var tagEntry = tags[tagName]; var count = tagEntry.count; //console.log(tagName + ", " + count + ", " + resultCount); if (count < resultCount) continue; var description = tagEntry.desc; if (description == null || description == '') continue; // Yes, this tag is on all results, display the description. if (html == null) html = "" html += "<p><b>Description of " + tagName + "</b></p>\n"; //html += "<iframe srcdoc='" + description + "'></iframe>\n"; html += "<div class='TagDescription'>\n"; html += description + "\n"; html += "</div>\n"; } return html; } /* * Format up author biographies. Each entry is an image, plus text; * either (or both) of which might be missing. * Note we only show an author bio for an author on every result, otherwise * a generic tag search like Romance, would show dozens of bios. */ function formatAuthorBios(authors, rows) { html = null; displayed = [] for (var authorName in authors) { var count = authors[authorName]; //console.log(authorName + ", " + authors[authorName] + ", " + resultCount); if (count < resultCount) continue; // Yes, this author is on all results, display their bio. // If they are on all results, then they must be on the first // row, so just get them from there. var row = rows[0]; oneAuthor = row['authors']; var found = false; for (var j = 0; j < oneAuthor.length; j++) { var author = oneAuthor[j]; var real = author['realname']; var pseudo = author['pseudoname']; var type = author['type']; var bio = author['bio']; var pic = author['picturepath']; if (authorName != real) continue; if (displayed[authorName] == 1) // Do not display same author twice continue; if (bio == null || bio.length == 0) { console.log("No bio for " + real); continue; } if (html == null) html = ""; html += "<p style='margin-top:1em;clear:left;'><b>Author Bio for " + real + "</b></p>\n"; if (pic != null) { pic = fixedEncodeURIComponentSlash(pic); html += "<img src='" + pic + "' class='authorpic' alt='Author image'>\n"; } html += "<p>"; html += bio.split("\n").join("<p>"); html += "</p>\n"; found = true; displayed[authorName] = 1; } if (!found) console.log("Bio not found! for " + author); } return html; } function formatTagFacet(tags) { var url = getFacetURL('tags'); var urltag = $('#tags').val().trim(); var currentTags = parseTags(urltag); var html = "<span class='refine-tag'>Keyword:</span> "; var n = 0; for (var tag in tags) { // exclude a tag which is already in the search list if (currentTags.indexOf(tag) >= 0) continue; var count = tags[tag].count; var desc = tags[tag].desc; if (desc == null) desc = ''; // exclude a tag which is a singleton if (count < 2) continue; // exclude a tag which does not actually qualify any more if (tags[tag] == resultCount) continue; var t; if (urltag != '') if (urltag.indexOf(',', urltag.length-1) !== -1) t = urltag + ' ' + tag; else t = urltag + ', ' + tag; else t = tag; t = fixedEncodeURIComponent(t); html += "<span class='key'>" + "<a href='" + url + "tags=" + t + "'>" + tag + "</a>" + "</span>" + " " + "<span class='count'>" + count + "</span> "; n++; } if (n == 0) return ''; return html; } function fixedEncodeURIComponentSlash(str) { return fixedEncodeURIComponent(str).replace(/%2F/g, "/"); } function fixedEncodeURIComponent(str) { return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { return '%' + c.charCodeAt(0).toString(16); }); } /* * From each title in the rows, extract out and break into a set of * series. Returns an object, where each property name is a string * series name, and the value is an array, indexed by number in the * series, value is the title and pid. */ function getSeries(rows) { var pattern1 = /^(.*) \((.*) #([0-9][0-9]*)\)$/; var pattern2 = /^(.*) \[(.*) #([0-9][0-9]*)\]$/; var all = {}; for (var i = 0; i < rows.length; i++) { var row = rows[i]; var title = row['title']; var pid = row['pid']; var match = pattern1.exec(title); if (match == null) { match = pattern2.exec(title); if (match == null) continue; } var thisTitle = match[1]; var series = match[2]; var seriesNumber = match[3]; var s; if (series in all) s = all[series]; else { s = []; all[series] = s; } s[seriesNumber] = {title:thisTitle, pid:pid}; } return all; } function formatSeries(rows) { var series = getSeries(rows); //console.log(series); var html = ""; html += "<p><b>Series:</b></p>\n<div class='seriesblock'>"; var found = false; for (var seriesName in series) { found = true; var thisSeries = series[seriesName]; // console.log(seriesName + ": " + series[seriesName]); html += "<div class='oneseries'>"; html += "<p class='series'>" + seriesName + ":</p><ul>"; for (var i = 0; i < thisSeries.length; i++) { var one = thisSeries[i]; if (one != null) html += "<li class='series-entry'>#" + i + " <a href='/showbook.php?pid=" + one.pid + "'>" + one.title + "</a></li>"; } html += "</ul>"; html += "</div>"; } if (!found) return ''; html += "</div>"; return html; } function formatRows(rows) { if (rows.length == 0) return ""; var html; html = "<table id='result-table'>\ <tr style='color:green; font:10px arial,sans-serif;'> \ <td></td> \ <td>TITLE</td> \ <td>AUTHOR</td> \ <td align='left'>PUBLISHED  </td> \ <td align='left'>PAGES  </td> \ <td align='left'>DOWNLOADS</td> \ </tr>"; for (var i = 0; i < rows.length; i++) { var row = rows[i]; fpub = row['first_publication']; pid = row['pid']; title = row['title']; detail = row['detail']; authors = row['authors']; description = row['description']; cover = row['cover']; pages = row['pages']; downloads = row['downloads']; if (fpub == 0) fpub = '----'; var authorcell = ""; if (authors != null) for (var j = 0; j < authors.length; j++) { var author = authors[j]; var real = author['realname']; var pseudo = author['pseudoname']; var type = author['type']; var bio = author['bio']; var pic = author['picturepath']; var a = real; if (pseudo != null) a += " (pseudonym: " + pseudo + ")"; authorcell = displayAuthor(authorcell, a, type); } html += "<tr class='row"; if (i%2 == 1) html += " odd"; html += "'>"; if (description != null) html += "<td rowspan='2'>"; else html += "<td rowspan='1'>"; if (cover != null) html += "<a href='" + cover + "'><img class='bookpic' src='" + cover + "'/></a>"; var p = pages; if (p == null) p = "--"; html += "</td>" + "<td valign='top' class='title'>" + "<a href='/showbook.php?pid=" + pid + "'>" + title + "</a></td> \ <td valign='top' class='author-cell'>" + authorcell + "</td> \ <td valign='top' align='left'>" + fpub + "</td> \ <td valign='top' align='left'>" + p + "</td> \ <td valign='top' align='center'>" + downloads + "</td> \ </tr>"; if (description != null) { html += "<tr><td colspan=5 class='description"; if (i%2 == 1) html += " odd"; html += "'><p>"; // This uses the browser itself to convert characters // d = $("#result-debug").text(description).html(); html += description.split("\n").join("<p>"); html += "</td></tr>"; } } html += "</table>"; return html; } function displayAuthor(cell, author, authorType) { if (author == "") return cell; cell += "<p class='one-author'>" + author; // TODO: Map authorType from DB enum constant to displayable if (authorType != "author" && authorType != "") { cell = cell + "  (" + authorType + ")"; } cell += "</p>"; return cell; } function DoSearch() { if (false) { var err = new Error(); console.log(err.stack); } $.ajax({ url: "csearc2.php", type: 'POST', data: $('#searchform').serialize(), dataType: 'json', success: function(response) { formatResponse(response); }, error: function(jqXHR, textStatus, errorThrown) { alert("failure " + textStatus + ", " + errorThrown); } }); return false; } function DoReset() { $('div.result-container').html(" "); $('div.result-count').html(" "); $('div.result-debug').html(" "); $('div.result-facet').html(" "); $('div.result-series').html(" "); $('div.result-bios').html(" "); $('#facet-rule').hide(); $('#series-rule').hide(); $('#bios-rule').hide(); $('div.result-facet').hide(); $('div.result-bios').hide(); $('#count-rule').hide(); $('div.result-count').hide(); // Don't need to clear the entries, button type is reset which // does that for us. } function DateHelp() { alert("Dates can be of the form \"1912\" or a date range such as \"1905-1924\""); } function TitleHelp() { alert("Words from the title can be anywhere in the title, for example \"Prairie\" will find \"On the Prairie\" and any other book that has the word \"Prairie\" in the title. Use other fields, if desired, to refine the search."); } function BookIdHelp() { alert("Book ID is an eight digit number, such as \"20140619\". If searching by Book ID, other fields are ignored."); } </script> </head> <body> <div class="container_12"> <div class='gradientTop'> <p style='text-align:center; font-size:large; margin-bottom:0;'><a style='text-decoration:none; color:gray;' href='/'>fadedpage.com</a></p> <table style='width:100%; margin-right: 10px; margin-left:10px;'><tr><td><p>FP now includes <a style='font-size:larger; color:red; text-decoration:none;' href='/allbooks.php'>8252</a> eBooks in its collection.</p></td><td><p style='text-align:right; margin-right:20px;'> <a href='/index.php'>main page</a></p></td></tr></table> <hr style='border:none; border-bottom:1px solid tan; width:100%;'/> </div> <!-- gradientTop --> <div class='grid_12'> <p style='font-size:large; text-align:center;'>Catalogue Search</p> </div> <div class="grid_12"> <p style='text-align: center;'><span id='advsearch'>Advanced Search</span></p> <form id='searchform' onsubmit="return replaceURL();"> <p>This is the search form. Please fill in one or more search boxes. The "HELP" links give additional usage information.</p> <table> <tr><td>Title</td><td><input type="text" name='title' id="title" size="30" /> <element onclick='TitleHelp()' style='color:green; font-size:smaller; text-decoration:underline;'>HELP</element></td></tr> <tr><td>Author</td> <td> <input class="across" type="text" title='Choose an author from the list. All books by the author, or any of their pseudonyms will be found.' placeholder="Last name, First name" name='author' id="author" size="30" /> </td> </tr> <tr> <td>Language</td> <td> <select name="plang" id="plang"> <option value="--">--any--</option> <option value="en">English</option> <option value="fr">French</option> <option value="de">German</option> <option value="el">Greek</option> <option value="es">Spanish</option> <option value="hu">Hungarian</option> <option value="pl">Polish</option> <option value="pt">Portuguese</option> <option value="gd">Gaelic</option> <option value="eo">Esperanto</option> <option value="iw">Hebrew</option> <option value="it">Italian</option> <option value="la">Latin</option> <option value="cy">Welsh</option> </select> </td> </tr> <tr><td>Category</td> <td> <select id="category" name='category'> <option value="--">--any--</option> <option>Fiction:Adventure</option> <option>Fiction:Childrens</option> <option>Fiction:Crime</option> <option>Fiction:Drama</option> <option>Fiction:Erotic</option> <option>Fiction:Espionage</option> <option>Fiction:Fantasy</option> <option>Fiction:Folklore</option> <option>Fiction:Gothic</option> <option>Fiction:Historical</option> <option>Fiction:Horror</option> <option>Fiction:Humour</option> <option>Fiction:Inspirational</option> <option>Fiction:Mystery</option> <option>Fiction:Pirate</option> <option>Fiction:Romance</option> <option>Fiction:Sci-fi</option> <option>Fiction:Short Stories</option> <option>Fiction:Short Story</option> <option>Fiction:Suspense</option> <option>Fiction:Thriller</option> <option>Fiction:War</option> <option>Fiction:Western</option> <option>Fiction:Young Adult</option> <option>Fiction:Unclassified</option> <option>Non-Fiction:Aesthetics</option> <option>Non-Fiction:Agriculture</option> <option>Non-Fiction:Almanac</option> <option>Non-Fiction:Americana</option> <option>Non-Fiction:Anthropology</option> <option>Non-Fiction:Archaeology</option> <option>Non-Fiction:Architecture</option> <option>Non-Fiction:Art</option> <option>Non-Fiction:Astronomy</option> <option>Non-Fiction:Atlas & Cartography</option> <option>Non-Fiction:Autobiography</option> <option>Non-Fiction:Bibliography</option> <option>Non-Fiction:Biography</option> <option>Non-Fiction:Biology</option> <option>Non-Fiction:Books</option> <option>Non-Fiction:Botany</option> <option>Non-Fiction:Broadcast</option> <option>Non-Fiction:Business & Commerce</option> <option>Non-Fiction:Canadiana</option> <option>Non-Fiction:Catalogue</option> <option>Non-Fiction:Chemistry</option> <option>Non-Fiction:Chronology & Calendars</option> <option>Non-Fiction:Class/Race Studies</option> <option>Non-Fiction:Communications</option> <option>Non-Fiction:Crime & Justice</option> <option>Non-Fiction:Dancing & Ballet</option> <option>Non-Fiction:Diary</option> <option>Non-Fiction:Dictionary</option> <option>Non-Fiction:Directory</option> <option>Non-Fiction:Drama</option> <option>Non-Fiction:Ecology</option> <option>Non-Fiction:Economics</option> <option>Non-Fiction:Education</option> <option>Non-Fiction:Encyclopedia</option> <option>Non-Fiction:Environment</option> <option>Non-Fiction:Essays</option> <option>Non-Fiction:Ethics</option> <option>Non-Fiction:Film & Video</option> <option>Non-Fiction:Finance, Banking & Insurance</option> <option>Non-Fiction:Horticulture & Forestry</option> <option>Non-Fiction:Games</option> <option>Non-Fiction:Genealogy</option> <option>Non-Fiction:Genetics</option> <option>Non-Fiction:Geography</option> <option>Non-Fiction:Geology</option> <option>Non-Fiction:History</option> <option>Non-Fiction:Hobbies & Pastimes</option> <option>Non-Fiction:Humour</option> <option>Non-Fiction:Hunting & Fishing</option> <option>Non-Fiction:International Relations</option> <option>Non-Fiction:Journalism</option> <option>Non-Fiction:Labour</option> <option>Non-Fiction:Law</option> <option>Non-Fiction:Letters</option> <option>Non-Fiction:Life Sciences</option> <option>Non-Fiction:Linguistics</option> <option>Non-Fiction:Logic</option> <option>Non-Fiction:Magazine</option> <option>Non-Fiction:Mathematics</option> <option>Non-Fiction:Medicine</option> <option>Non-Fiction:Meteorology & Weather</option> <option>Non-Fiction:Mining & Minerals</option> <option>Non-Fiction:Monograph</option> <option>Non-Fiction:Music & Opera</option> <option>Non-Fiction:Natural Disasters</option> <option>Non-Fiction:Newspaper</option> <option>Non-Fiction:Occult & Magic</option> <option>Non-Fiction:Oceanography</option> <option>Non-Fiction:Parapsychology</option> <option>Non-Fiction:Philosophy</option> <option>Non-Fiction:Photography</option> <option>Non-Fiction:Physics</option> <option>Non-Fiction:Picture</option> <option>Non-Fiction:Poetry</option> <option>Non-Fiction:Political Science</option> <option>Non-Fiction:Politics</option> <option>Non-Fiction:Printing</option> <option>Non-Fiction:Proceedings</option> <option>Non-Fiction:Psychiatry</option> <option>Non-Fiction:Psychology</option> <option>Non-Fiction:Recreation & Leisure</option> <option>Non-Fiction:Religion & Theology</option> <option>Non-Fiction:(Secret) Societies</option> <option>Non-Fiction:Sexuality</option> <option>Non-Fiction:Sociology</option> <option>Non-Fiction:Sports</option> <option>Non-Fiction:Technology & Engineering</option> <option>Non-Fiction:Textbook</option> <option>Non-Fiction:Transportation</option> <option>Non-Fiction:Travel</option> <option>Non-Fiction:War & Military Science</option> <option>Non-Fiction:Yearbook</option> <option>Non-Fiction:Unclassified</option> </select> </td> </tr> <tr><td>Publisher</td><td><input type="text" name='publisher' id="publisher" size="30" /></td></tr> <tr><td>Publication Date</td><td><input type="text" name='pubdate' id="pubdate" size="9" /> <element onclick='DateHelp()' style='color:green; font-size:smaller; text-decoration:underline;'>HELP</element></td></tr> <tr><td>Country of Publication </td> <td> <select name="pcountry" id='pcountry' > <option value="--">--any--</option> <option value="CA">Canada</option> <option value="US">United States of America</option> <option value="GB">United Kingdom</option> <option value="DE">Germany</option> <option value="FR">France</option> <option value="PL">Poland</option> <option value="HU">Hungary</option> </select> </td> </tr> <tr><td>Keyword</td><td> <div class='ui-widget'> <input type="text" name='tags' id="tags" size="30" /> </div> </td></tr> <tr><td>Book ID</td><td><input type="text" name='bookid' id="bookid" size="8" /> <element onclick='BookIdHelp()' style='color:green; font-size:smaller; text-decoration:underline;'>HELP</element></td></tr> <tr> <td>Sort</td> <td> <select name="sort" id="sort"> <option value="auto" selected>Automatic</option> <option value="title">Title</option> <option value="titletitle">Title (english title order)</option> <option value="author">Author</option> <option value="pub">Publication Date</option> <option value="downloads">Download Count</option> <option value="pages">Page Count</option> </select> </td> </tr> </table> <button style='font-size:smaller;' type='submit' id='searchButton'> Search </button> <button style='font-size:smaller;' type='reset' onclick='DoReset()'> Reset </button> </form> <p style='margin-top:10px;'>Please note: Search results report books in the Canadian public domain, which may be under copyright in other countries. If you live outside Canada, check your country's copyright laws before downloading or accessing the files.</p> <hr id='count-rule' style='display:none;margin-top:10px; border:none; border-bottom:1px solid tan; width:100%; clear:both'/> <!-- <div style='margin-top:1em; height:200px; overflow:scroll;' class="result-container"> </div> --> <div style='margin-top:1em' class="result-count"> </div> <hr id='facet-rule' style='display:none;margin-top:10px; border:none; border-bottom:1px solid tan; width:100%; clear:both'/> <div style='margin-top:1em' class="result-facet"> </div> <hr id='bios-rule' style='display:none;margin-top:10px; border:none; border-bottom:1px solid tan; width:100%; clear:both'/> <div style='margin-top:1em' class="result-bios"> </div> <hr id='tags-rule' style='display:none;margin-top:10px; border:none; border-bottom:1px solid tan; width:100%; clear:both'/> <div style='margin-top:1em' class="result-tags"> </div> <hr id='series-rule' style='display:none;margin-top:10px; border:none; border-bottom:1px solid tan; width:100%; clear:both'/> <div style='margin-top:1em' class="result-series"> </div> <hr style='margin-top:10px; border:none; border-bottom:1px solid tan; width:100%; clear:both'/> <div style='margin-top:1em' class="result-container"> </div> <div style='margin-top:1em' class="result-debug"> </div> </div> </div> <!-- container_12 --> <table class='foottab' style='clear:both'><tr><td>™ Teamwork Enterprises Inc <a href='report_error.php'>Report a Bug</a></td></tr></td></tr></table> </body> </html>