{
	"translatorID": "72cb2536-3211-41e0-ae8b-974c0385e085",
	"label": "ARTFL Encyclopedie",
	"creator": "Sean Takats, Sebastian Karcher",
	"target": "^https?://artflsrv\\d+\\.uchicago\\.edu/cgi-bin/philologic/(getobject\\.pl\\?[cp]\\.[0-9]+:[0-9]+(:[0-9]+)?\\.encyclopedie|navigate\\.pl\\?encyclopedie|search3t\\?dbname=encyclopedie)",
	"minVersion": "3.0",
	"maxVersion": "",
	"priority": 100,
	"inRepository": true,
	"translatorType": 4,
	"browserSupport": "gcv",
	"lastUpdated": "2017-01-01 16:50:31"
}

function detectWeb(doc, url) {
	if (url.indexOf("getobject.pl") != -1){
		return "encyclopediaArticle";
	} else if (url.indexOf("navigate.pl")!=-1){//browsing
		return "multiple";
	} else if (url.indexOf("search3t?")!=-1){//search results
		return "multiple"
	}
}

function reconcileAuthor(author){
	var authorMap = {
		"Venel":"Venel, Gabriel-François",
		"d'Aumont":"d'Aumont, Arnulphe",
		"de La Chapelle":"de La Chapelle, Jean-Baptiste",
		"Bourgelat":"Bourgelat, Claude",
		"Dumarsais":"Du Marsais, César Chesneau",
		"Mallet":"Mallet, Edme-François",
		"Toussaint":"Toussaint, François-Vincent",
		"Daubenton":"Daubenton, Louis-Jean-Marie",
		"d'Argenville": "d'Argenville, Antoine-Joseph Desallier",
		"Tarin":"Tarin, Pierre",
		"Vandenesse":"de Vandenesse, Urbain",
		"Blondel": "Blondel, Jacques-François",
		"Le Blond":"Le Blond, Guillaume",
		"Rousseau":"Rousseau, Jean-Jacques",
		"Eidous":"Eidous, Marc-Antoine",
		"d'Alembert":"d'Alembert, Jean le Rond",
		"Louis":"Louis, Antoine",
		"Bellin":"Bellin, Jacques-Nicolas",
		"Diderot":"Diderot, Denis",
		"Diderot1":"Diderot, Denis",
		"Diderot2":"Diderot, Denis",
		"de Jaucourt":"de Jaucourt, Chevalier Louis",
		"Jaucourt":"de Jaucourt, Chevalier Louis",
		"d'Holbach":"d'Holbach, Baron"
		/* not yet mapped
		Yvon
		Forbonnais
		Douchet and Beauzée
		Boucher d'Argis
		Lenglet Du Fresnoy
		Cahusac
		Pestré
		Daubenton, le Subdélégué
		Goussier
		de Villiers
		Barthès
		Morellet
		Malouin
		Ménuret de Chambaud
		Landois
		Le Roy
		*/
	}
	if(authorMap[author]) {
		author = authorMap[author];
	}
	// remove ARTFL's trailing 5 for odd contributors (e.g. Turgot5)
		if (author.substr(author.length-1, 1)=="5"){
		author = author.substr(0, author.length-1);
	}
	return author;
}

function scrape (doc, url){
	var newItem = new Zotero.Item("encyclopediaArticle");
	newItem.title = ZU.xpathText(doc, '(//index[@type="headword"])[1]/@value')
	newItem.encyclopediaTitle = "Encyclopédie, ou Dictionnaire raisonné des sciences, des arts et des métiers";
	newItem.shortTitle = "Encyclopédie";
	newItem.date = "1751-1772";
	newItem.publisher = "Briasson";
	newItem.place = "Paris";
	newItem.numberOfVolumes = "17";
	newItem.creators.push({firstName:"Denis", lastName:"Diderot", creatorType:"editor"});
	newItem.creators.push({firstName:"Jean le Rond", lastName:"d'Alembert", creatorType:"editor"});
	newItem.url = url;
	newItem.attachments.push({title:"ARTFL Snapshot", mimeType:"text/html", document:doc});
	
	var volpage = ZU.xpathText(doc, '(//index/a[contains(@href, "getobject.pl") and contains(text(), ":")])[1]');
	if (!volpage){//pageview
		var volpage = ZU.xpathText(doc, '//div[@id="content"]/center[contains(text(), ":")]/text()')
	}
	if (volpage){
		volpage = volpage.match(/(\d+):([A-Z\d]+)/); //page number can have letters
		newItem.volume = volpage[1];
		newItem.pages = volpage[2];
	}
	var authors = ZU.xpathText(doc, '(//index[@type="author"])[1]/@value');
	if (authors){
		author = authors.split(/\s*\|\s*/);
		for (var i =0; i<author.length; i++){
			newItem.creators.push(ZU.cleanAuthor(reconcileAuthor(author[i]), "author", true))	
		}
	}
	newItem.complete();
}

function doWeb(doc, url) {

	if (url.indexOf("getobject.pl") != -1){
		// single article
		scrape(doc, url);				
	} else {
		//search page
		var items = {};
		var urls = [];
		var xpath = '//a[contains(@href, "getobject.pl")]';
		var elmts = doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null);
		var elmt;		
		while (elmt = elmts.iterateNext()){
			var title = elmt.textContent;
			var link = elmt.href;
			if (title && link){
				items[link] = title;
			}			
		}
		Z.selectItems(items, function(items) {
			if (items == null) return true;
			for (var j in items) {
				urls.push(j);
			}
			ZU.processDocuments(urls, scrape);
		});
	}
}/** BEGIN TEST CASES **/
var testCases = [
	{
		"type": "web",
		"url": "http://artflsrv02.uchicago.edu/cgi-bin/philologic/getobject.pl?c.0:683:1.encyclopedie0513",
		"items": [
			{
				"itemType": "encyclopediaArticle",
				"creators": [
					{
						"firstName": "Denis",
						"lastName": "Diderot",
						"creatorType": "editor"
					},
					{
						"firstName": "Jean le Rond",
						"lastName": "d'Alembert",
						"creatorType": "editor"
					},
					{
						"lastName": "Yvon",
						"creatorType": "author"
					},
					{
						"firstName": "François-Vincent",
						"lastName": "Toussaint",
						"creatorType": "author"
					},
					{
						"firstName": "Denis",
						"lastName": "Diderot",
						"creatorType": "author"
					}
				],
				"notes": [],
				"tags": [],
				"seeAlso": [],
				"attachments": [
					{
						"title": "ARTFL Snapshot",
						"mimeType": "text/html"
					}
				],
				"title": "Adultere",
				"encyclopediaTitle": "Encyclopédie, ou Dictionnaire raisonné des sciences, des arts et des métiers",
				"shortTitle": "Encyclopédie",
				"date": "1751-1772",
				"publisher": "Briasson",
				"place": "Paris",
				"numberOfVolumes": "17",
				"url": "http://artflsrv02.uchicago.edu/cgi-bin/philologic/getobject.pl?c.0:683:1.encyclopedie0513",
				"volume": "1",
				"pages": "150",
				"libraryCatalog": "ARTFL Encyclopedie",
				"accessDate": "CURRENT_TIMESTAMP"
			}
		]
	},
	{
		"type": "web",
		"url": "http://artflsrv02.uchicago.edu/cgi-bin/philologic/getobject.pl?p.0:203.encyclopedie0513",
		"items": [
			{
				"itemType": "encyclopediaArticle",
				"creators": [
					{
						"firstName": "Denis",
						"lastName": "Diderot",
						"creatorType": "editor"
					},
					{
						"firstName": "Jean le Rond",
						"lastName": "d'Alembert",
						"creatorType": "editor"
					},
					{
						"firstName": "Pierre",
						"lastName": "Tarin",
						"creatorType": "author"
					}
				],
				"notes": [],
				"tags": [],
				"seeAlso": [],
				"attachments": [
					{
						"title": "ARTFL Snapshot",
						"mimeType": "text/html"
					}
				],
				"title": "ADULTE",
				"encyclopediaTitle": "Encyclopédie, ou Dictionnaire raisonné des sciences, des arts et des métiers",
				"shortTitle": "Encyclopédie",
				"date": "1751-1772",
				"publisher": "Briasson",
				"place": "Paris",
				"numberOfVolumes": "17",
				"url": "http://artflsrv02.uchicago.edu/cgi-bin/philologic/getobject.pl?p.0:203.encyclopedie0513",
				"volume": "1",
				"pages": "150",
				"libraryCatalog": "ARTFL Encyclopedie",
				"accessDate": "CURRENT_TIMESTAMP"
			}
		]
	},
	{
		"type": "web",
		"url": "http://artflsrv02.uchicago.edu/cgi-bin/philologic/search3t?dbname=encyclopedie0513&word=amour&CONJUNCT=PHRASE&dgdivhead=&dgdivocauthor=&ExcludeDiderot3=on&dgdivocsalutation=&OUTPUT=conc&POLESPAN=5",
		"items": "multiple"
	},
	{
		"type": "web",
		"url": "http://artflsrv02.uchicago.edu/cgi-bin/philologic/search3t?dbname=encyclopedie0513&dgdivhead=EAU",
		"items": "multiple"
	}
]
/** END TEST CASES **/