// FieldenMaps.info
// Map Detail Pages JavaScript Functions
// Version 1.31
// Revision Date: 15 November 2009
// Copyright © 2007-2009 Ed Fielden


// RETURNS UNDEFINED STATUS OF VARIABLE
function isUndefined(a) {
    return typeof a == 'undefined';
} 


// Variables defining series titles
	var ser_city   = 'Ordnance Survey 1:10&nbsp;000 City, Town &amp; Neighbourhood Maps';
	var ser_25kPRW = 'Ordnance Survey 1:25&nbsp;000 First Series<br>[Rights of Way Overprints]';
	var ser_25kPFM = 'Ordnance Survey 1:25&nbsp;000 Second Series<br>[1996-logo reprints]';
	var ser_OL3a   = 'Ordnance Survey 1:25&nbsp;000 ‘Outdoor Leisure’ Series<br>[Early Photo Covers]';
	var ser_25kEXO = 'Ordnance Survey 1:25&nbsp;000 ‘Explorer’ Original Series';
	var ser_25kEXGM = 'Ordnance Survey 1:25&nbsp;000 ‘Explorer’ Greenwich Meridian Editions';
	var ser_50kInt_1 = 'Ordnance Survey 1:50&nbsp;000 Landranger Series<br>[Integral Covers]';
	var ser_50kInt_2 = 'Ordnance Survey 1:50&nbsp;000 Landranger Series<br>[Integral Covers]';
	var ser_50k3a  = 'Ordnance Survey 1:50&nbsp;000 Landranger Series<br>[‘3a’ Covers]';
	var ser_NPEM   = 'Ordnance Survey 1-inch New Popular Edition<br>[Ellis Martin Covers]';
	var ser_citylink = 'Ordnance Survey 1:126&nbsp;720 ‘City Link’ Maps';
	var ser_HI     = 'Ordnance Survey Half-inch Map of England &amp; Wales [Large Sheet Series]';
	var ser_MOT    = 'Ordnance Survey Half-inch Ministry of Transport Road Map';
	var ser_HIGB   = 'Ordnance Survey Half-inch Map of Great Britain';
	var ser_25k_1  = 'Ordnance Survey 1:25&nbsp;000 First Series';
	var ser_25k_2  = 'Ordnance Survey 1:25&nbsp;000 Second Series';
	var ser_25k_OL = 'Ordnance Survey 1:25&nbsp;000 ‘Outdoor Leisure’ Series';
	var ser_25k_EX = 'Ordnance Survey 1:25&nbsp;000 ‘Explorer’ Series';
	var ser_50k_1  = 'Ordnance Survey 1:50&nbsp;000 First (‘Landranger’) Series';
	var ser_50k_2  = 'Ordnance Survey 1:50&nbsp;000 Second (‘Landranger’) Series';
	var ser_1in_Pop = 'Ordnance Survey 1-inch Popular Edition';
	var ser_1in_Fif = 'Ordnance Survey 1-inch Fifth Edition';
	var ser_1in_NP = 'Ordnance Survey 1-inch New Popular Edition';
	var ser_1in_7S = 'Ordnance Survey 1-inch Seventh Series';
	var ser_QI3    = 'Ordnance Survey Quarter-inch Third Edition';
	var ser_QI3A   = 'Ordnance Survey Quarter-inch Third Edition New Series';
	var ser_QI4    = 'Ordnance Survey Quarter-inch Fourth Edition (Pre-1945)';
	var ser_QI4PW  = 'Ordnance Survey Quarter-inch Fourth Edition (Post-1945)';
	var ser_QI5    = 'Ordnance Survey ‘Quarter-inch’ Fifth Series';
	var ser_RMS    = 'Ordnance Survey 1:250&nbsp;000 Routemaster Series';
	var ser_TRR    = 'Ordnance Survey 1:250&nbsp;000 ‘Travel Map - Road’ Series';
	var ser_TRP    = 'Ordnance Survey 1:625&nbsp;000 Route Planning Map';
	var ser_TMS    = 'Ordnance Survey Travelmaster Series';
	var ser_TGB_RM = 'Ordnance Survey 1:625&nbsp;000 ‘Travel Map - Route’';
	var ser_Dis    = 'Ordnance Survey District &amp; Tourist Maps';
	var ser_Tou    = 'Ordnance Survey Tourist &amp; Touring Maps';
	var ser_Tor1   = 'Ordnance Survey Touring Maps';
	var ser_Tor2   = 'Ordnance Survey ‘Travel Map - Tour’ Series';
	var ser_6in    = 'Ordnance Survey County Series 6-inch Scale Maps';
	var ser_25in   = 'Ordnance Survey County Series 1:2500 Scale Maps';
	var ser_DCR    = 'David &amp; Charles Reprints of OS 1-inch Old Series';
	var ser_time   = 'Timeline Maps / Cassini Maps Reprints of OS 1-inch Old Series';
	var ser_cassrev = 'Cassini Maps Reprints of OS 1-inch Revised New Series';
	var ser_casspop = 'Cassini Maps Reprints of OS 1-inch Popular Edition';
	var ser_past   = 'Cassini Maps ‘Past &amp; Present’ Series';
	var ser_ositm  = 'Ordnance Survey Ireland Street Maps';
	var ser_osids  = 'Ordnance Survey Ireland 1:50&nbsp;000 Discovery Series';
	var ser_bluex  = 'Ordnance Survey 1:25&nbsp;000 Explorer Series<br>[Covers with blue spine lettering]';
	var ser_blulr  = 'Ordnance Survey 1:50&nbsp;000 Landranger Series<br>[Covers with blue spine lettering]';

// Define global variables
	var imgimg = '';
	var imgonly = false;
	var imgnum = false;
	var imgcount = 0;
	


// Map Title (currently used only to detect whether page is requested as images only)
function mapdtltitle(titlestr) {
//	document.write('<p><font class="pagetitle">Ed’s Map Collection: ' + titlestr + '</font>');
	if (window.location.search == "?imgonly") {imgonly = true; }
	if (window.location.search == "") {imgonly = false; }
        if (window.location.search != "?imgonly" && window.location.search != "") { window.location.replace(window.location.href.substring(0,window.location.href.indexOf(window.location.search))); }
}


// Map Header Start 
function mapheadstart(series, sheet) {
	document.write('<div style="width: 718px; border: solid #000066 2px; padding: 5px 5px 0px; margin: 11pt auto 7pt">');
	document.write('<div class="mapheadsht">');
	document.write('<div style="color: #003399; font-size: 11pt; font-weight: bold; text-align: center; padding: 5px 5px 3px 5px">' + series + '</div>');
	if (isUndefined(sheet) == false) { 
		document.write('<div style="color: #006600; font-size: 11pt; font-weight: bold; text-align: center; padding: 1px 5px 5px 5px">' + sheet + '</div>');
	}
		document.write('</div><table class="maphead" style="margin-left: auto; margin-right: auto">');
}

// Map Header Start (Special Version for when only a Series Title is necessary)
function mapheadstartser(series) {
	document.write('<div style="width: 718px; border: solid #000066 2px; padding: 5px 5px 0px; margin: 11pt auto 7pt">');
	document.write('<div class="mapheadsht">');
	document.write('<div style="color: #003399; font-size: 11pt; font-weight: bold; text-align: center; padding: 5px">' + series + '</div>');
	document.write('</div><table class="maphead" style="margin-left: auto; margin-right: auto">');
}

// Map Header Edition detail (usually called twice for 'Edition' and 'Publication Date')
function mapheadedn(hstg, dstg){
	document.write('<tr><td class="head">' + hstg + '</td><td class="detail">' + dstg + '</td></tr>');
}

// Map Header Close
function mapheadend(){
	document.write('</table></div>');
	if (imgonly == false) {
		document.write('<div id="divimgonly" style="width: 732px; padding: 0; text-align: center; margin: 10pt auto 10pt; font-size: 8pt"><a href="#" onclick="imgly(true); return false;">View <span id="spanimgonly">images</span> only</a></div>');
		document.write('<div class="mapdtldtl">');
	}
	else
	{
		document.write('<div id="divimgonly" style="width: 732px; padding: 0; text-align: center; margin: 10pt auto 10pt; font-size: 8pt"><a href="#" onclick="imgly(false); return false;">View <span id="spanimgonly">images</span> with details</a></div>');
		document.write('<div class="mapdtldtl2">');
	}
}

// replace current query string with '?imgonly' or '' depending on true/false value
function imgly(imglybool) {
   if (imglybool == true) {
      window.location.replace(window.location.href + '?imgonly');
   } else {
      window.location.replace(window.location.href.substring(0,window.location.href.indexOf('?')));
   }
}


// Map Image Table Start
function mapimagestart(spec) {
	if (imgonly == false) { document.write('<p><div class="mapdtlitm">'); }
	if (imgonly == false) {
		if (!spec) { document.write('<!--<table style="border-collapse: collapse" width="100%"><tr><td style="padding: 0">--><div class="map" width=730><table class="map" width="100%">'); }
		if (spec == 'ciren') { document.write('<!--<table style="border-collapse: collapse" width="100%"><tr><td style="padding: 0">--><div class="map" width=730><div style="background-color: #D7E3FF; text-align: center; margin: 0 auto 6pt; border: 1px solid #003399; padding: 5px; font-size: 8pt">This map is also part of the ‘Cirencester area’ map collection</div><table class="map" width="100%">'); }
	}
}

// Map Image Table IMG placer
function mapimageimg(imgtag) {
	imgcount++;
	if (imgonly == false) { document.write('<tr><td class="mapimg">' + imgtag + '</td>'); }
	else { document.write(imgtag); }
}

// Map Image Table Detail Pane Start
function mapimagedtlopen() {
	if (imgonly == false) { document.write('<td class="mapdtl"><table class="mapdtl" width="100%">'); }
}

// Map Image Table ID Number Item (OPTIONAL)
function mapimagenum(idnum) {
	if (imgonly == false) { document.write('<tr><td colspan=2 class="mapid" width="100%">Map ' + idnum + ' details</td></tr>'); }
	if (imgonly == false) { document.write('<tr><td colspan=2 style="padding: 3px"><img src="./p.gif" width=1 height=1 alt=""></td></tr>'); }
	imgnum = true;
}

// Map Image Table Detail Item (Call repeatedly for each detail)
function mapimagedtlitem(hstg, dstg) {
	if (imgonly == false) {
		if (imgnum == false) { 
			document.write('<tr><td colspan=2 class="mapid" width="100%">Map details</td></tr>');
			document.write('<tr><td colspan=2 style="padding: 3px"><img src="./p.gif" width=1 height=1 alt=""></td></tr>');
			imgnum = true;
		}
	}
	if (imgonly == false) {
		// catch any 'OL3a' cover style headings and add production dates
		if (hstg == 'Cover&nbsp;style:') {
			switch(dstg) {
				case 'O2a': {dstg+= ' (?Mar/Apr 1984)'; break }
				case 'O2b': {dstg+= ' (?May - ?Oct 1984)'; break }
				case 'O2c': {dstg+= ' (?Oct 1984 - early 1985?)'; break }
				default: {dstg=dstg; break }
			}
		}
		document.write('<tr><td class="head">' + hstg + '</td><td width=* class="detail">' + dstg + '</td></tr>');
	}
}

// Map Image Table LR cover style heading (special)
function mapimagedtllrcv(dstg) {
	if (imgonly == false) { document.write('<tr><td class="head"><a href="http://www.fieldenmaps.info/lrcovers.html" target="_new">Cover&nbsp;style</a>:</td><td width=* class="detail">' + dstg + '</td></tr>'); }
}

// Map Image Table LR print code heading (special)
function mapimagedtllrpt(dstg) {
	if (imgonly == false) { document.write('<tr><td class="head">Print&nbsp;code:</td><td width=* class="detail"><font class="printcodelr">' + dstg + '</font></td></tr>'); }
}

// Map Image Table Detail Pane Close
function mapimagedtlclose() {
	if (imgonly == false) { document.write('</table>'); }
}

// Map Image Table Close + div close
function mapimageclose() {
	if (imgonly == false) { document.write('<!--</td></tr></table>--></div></td></tr></table>'); }
        if (imgonly == false) { document.write('</div>'); }
}


// Page Update Message
function mapdtlupd(datestr) {
	if (imgcount == 1) { document.getElementById('spanimgonly').innerHTML='image'; }
	document.write('</div><p style="text-align: center; width: 732px; margin-left: auto; margin-right: auto"><font class="infoupd">Page last updated: ' + datestr + '</font>');
}
