/*   *****************************************************
     ** file: maps.js 					**
     **							**
     ** Javascript for the Historical Maps pages 	**
     **							**
     ** Author: Brian Hanson				**
     **							**
     ***************************************************** */

//Some Global Variables

//for indenting menus
var offset = 0;

//for determining whether linked maps open in new window
//or open in same window
var NewWindows = 0;

//global variables for inserting items in menus
var a = 'a';
var r = 'r';
var d = 'd';

//url stems
var sp = "http://bell.lib.umn.edu/historical/";
var sp1 = "http://bell.lib.umn.edu/hist2/";
var CurrentPath = "http://bell.lib.umn.edu/hist/";
var ImagePath = CurrentPath+"im/";

//some state variables
var MenuFlag;
var CurrentLink;
var CurrentMenu;
var alphay, regiony, datey;
var browser;

//cookie variable
var information;

//Some arrays for Menus and Menu items
var MenuLoc = new Array();
var ItemLoc = new Array();

var CurrentDate = new Date();
var CurrentYear = CurrentDate.getUTCFullYear();

function ChangeWindowLink (num) {
  top.NewWindows = num;
  var stuff = new Cookie (document, "ImageStuff", 0, "/");
  stuff.remove();

  information.load();
  information.NewWindow = top.NewWindows;
  information.store();
}

//function for opening a new window with a map image
function GetMap (i_src){

var winh = screen.height-30;
var winw = screen.width-30;

var OutString = "<HTML>\n<HEAD>\n<TITLE>James Ford Bell Library</TITLE>\n"+
  "</HEAD>\n" +
  "<BODY>\n<center>\n<img src='" + i_src + "'>\n</center><p>" +
  "<center>\n<FORM>\n<INPUT TYPE='button' VALUE='Close Window' " +
  "\nonClick='window.close();'>\n</FORM>\n</center>\n</BODY>\n</HTML>";

if (i_src.search(/html/i) != -1)
  var w = open (i_src, "mapwin", "width=" + winw +",height=" + winh +
    ",status=no," + "left=0,top=0,toolbar=yes,menubar=no,scrollbars=yes");
else
  var w = open ("", "mapwin", "width=" + winw +",height=" + winh +
    ",status=no," + "left=0,top=0,toolbar=no,menubar=no,scrollbars=yes");

if (i_src.search(/html/i) == -1){

OutString += "<P>" + 
"<HR SIZE=1>"+
"<TABLE BORDER=0>"+
"  <TR>"+
"    <TD>"+
"     <FONT SIZE = -2>"+
"     &copy;" + CurrentYear +
" by the Regents of "+
"     the <A HREF=\"http://www.umn.edu/tc/\" target=\"_top\">"+
"     <font color=\"#003399\">University of Minnesota, Twin Cities "+
"     </font></A>. <A HREF=\"http://www.lib.umn.edu/\" target=\"_top\">"+
"     <font color=\"#003399\">University Libraries</font></A>. All rights "+
"     reserved. Please credit the James Ford Bell Library, University "+
"     of Minnesota if you copy or reproduce material from this page.<BR>"+

"     URL: <A HREF=\"http://bell.lib.umn.edu/hist\">"+
"     <font color=\"#003399\">http://bell.lib.umn.edu/hist/</font></A><BR>"+

"     Contact the James Ford Bell Library at: "+

"     <TABLE BORDER=0 WIDTH=100%>"+
"       <TR>"+
"         <TD VALIGN=TOP>"+
"          <FONT SIZE= -2>"+
"          James Ford Bell Library<BR>"+
"          472 Wilson Library<BR>"+
"          309 19th Avenue South<BR>"+
"          Minneapolis, Minnesota&nbsp;&nbsp;55455<BR>"+
"         </TD>"+

"         <TD VALIGN=TOP>"+
"          <FONT SIZE= -2>"+
"          (612) 624-1528 (voice)<BR>"+
"          (612) 626-9353 (fax)<BR>"+
"          <A HREF=\"mailto:jfbell@tc.umn.edu\">"+
"          <font color=\"#003399\">jfbell@tc.umn.edu</font></A><BR>"+

"          <A HREF=\"http://bell.lib.umn.edu/\" target=\"_top\">"+
"          <font color=\"#003399\">http://bell.lib.umn.edu/</font></A>"+
"         </TD>"+
"       </TR>"+
"     </TABLE>"+

"     <P>"+

"     <I>The University of Minnesota is an equal opportunity "+
"     educator and employer.</I></P>"+
"    </TD>"+
"  <TR>"+
"</TABLE>";

  w.document.write (OutString);
  w.document.close();}

}

//function for loading a lecture
function LoadLecture (year){

  var MyCookies = new Cookie(document, "init", 0, "/");
  MyCookies.load();
  MyCookies.lecture = year;
  MyCookies.store();

  window.location = "http://bell.lib.umn.edu/lecture/";

}


//Constructor for Main Menus
//input: name, a string for identification
function MainMenu (name){
  this.name = name;
  this.items = new Array();
  this.size = 0;
}

//input: (NewMenu) -- String, represents the main menu to change to
//postconditions: menu frame displays the new menu
function ChangeMenu (NewMenu){
  if (NewMenu != MenuFlag){ //only execute if New Menu is not displaying

    //get the current cookie information
    information.load();

    //currently three menu choices
    //0 = Alpha 
    //1 = Region
    //2 = Date
    switch (NewMenu){
      case 0:
        CurrentMenu = AlphaMenu;
        MenuFlag = 0;
        information.cm = "Alpha";
        break;

      case 1:
        CurrentMenu = RegionMenu;
        MenuFlag = 1;
        information.cm = "Region";
        break;

      default:
        CurrentMenu = DateMenu;
        MenuFlag = 2;
        information.cm = "Date";
    }
    //store the changes in the cookie
    information.store();

    //write the new menu
    CurrentMenu.write();
  }
}

//input: IN (a positive integer)
//postconditions: The image number IN from the item array
//		  is displayed in the main window
function RI (IN) {
  //set global and cookie
  CurrentLink = IN;
  information.IN = IN;

  //this series of if statements stores the scrolling
  //positions in the menu frame
  //two different versions for netscape and internet explorer
  //
  //purpose, to set global state of menu scroll to current
  //postion, and save that in the cookie
  if (top.CurrentMenu == top.AlphaMenu){
    if (top.browser.search(/netscape/i) != -1 && 
      (information.ignore != true && information.ignore != "true"))
      top.alphay = parent.menu.pageYOffset;
    else if (top.browser.search(/explorer/i) != -1 && 
      (information.ignore != true && information.ignore != "true"))
      top.alphay = parent.menu.document.body.scrollTop;
    information.alphay = top.alphay;
  }
  if (top.CurrentMenu == top.RegionMenu){
    if (top.browser.search(/netscape/i) != -1 && 
      (information.ignore != true && information.ignore != "true"))
      top.regiony = parent.menu.pageYOffset;
    else if (top.browser.search(/explorer/i) != -1 && 
      (information.ignore != true && information.ignore != "true"))
      top.regiony = parent.menu.document.body.scrollTop;
    information.regiony = top.regiony;
  }
  if (top.CurrentMenu == top.DateMenu){
    if (top.browser.search(/netscape/i) != -1 && 
      (information.ignore != true && information.ignore != "true"))
      top.datey = parent.menu.pageYOffset;
    else if (top.browser.search(/explorer/i) != -1 && 
      (information.ignore != true && information.ignore != "true"))
      top.datey = parent.menu.document.body.scrollTop;
    information.datey = top.datey;
  }

  //if the image is linked from somewhere other than historical
  //maps, we ignore the scroll position, but then set that value
  //to false in the cookie
  information.ignore = false;
  information.store();
  information.load();

  //write the body with the map information of the input IN
  bod.document.write ("<BODY bgcolor=white>\n");


  if (top.NewWindows == 1){
    bod.document.write ("<a href=\"javascript:top.GetMap('");
    bod.document.write (top.ItemLoc[IN].link);
    bod.document.write ("');\">");
  }
  else{
    bod.document.write ("<a href=\"");
    bod.document.write (top.ItemLoc[IN].link);
    bod.document.write ("\" target=\"_top\">");
  }

  bod.document.write ("<CENTER>");
  bod.document.write ("<img src=\"", top.ItemLoc[IN].file);
  bod.document.write ("\" width=", top.ItemLoc[IN].width);
  bod.document.write (" height=", top.ItemLoc[IN].height);
  bod.document.write (" border=0></a></CENTER>\n");
  bod.document.write ("<br clear=all>\n");
  bod.document.write ("<H2>", top.ItemLoc[IN].heading, "</H2>\n");
  bod.document.write (top.ItemLoc[IN].body);
  bod.document.write ("<P>");
  bod.document.write ("<HR SIZE=1>");
  bod.document.write ("<TABLE BORDER=0>");
  bod.document.write ("  <TR>");
  bod.document.write ("    <TD>");
  bod.document.write ("     <FONT SIZE = -2>");
  bod.document.write ("     &copy;" + CurrentYear );
  bod.document.write (" by the Regents of ");
  bod.document.write ("     the <A HREF=\"http://www.umn.edu/tc/\" ", 
                      "target=\"_top\">");
  bod.document.write ("     <font color=\"#003399\">University of Minnesota, ",
                      "Twin Cities ");
  bod.document.write ("     </font></A>. <A HREF=\"http://www.lib.umn.edu/\" ",
                      "target=\"_top\">");
  bod.document.write ("     <font color=\"#003399\">University ",
                      "Libraries</font></A>. All rights ");
  bod.document.write ("     reserved. Please credit the James Ford Bell ",
                      "Library, University ");
  bod.document.write ("     of Minnesota if you copy or reproduce ",
                      "material from this page.<BR>");

  bod.document.write ("     URL: <A HREF=\"http://bell.lib.umn.edu/hist\" ",
                      "target=_top>");
  bod.document.write ("     <font color=\"#003399\">",
                      "http://bell.lib.umn.edu/hist/</font></A><BR>");

  bod.document.write ("     Contact the James Ford Bell Library at: ");

  bod.document.write ("     <TABLE BORDER=0 WIDTH=100%>");
  bod.document.write ("       <TR>");
  bod.document.write ("         <TD VALIGN=TOP>");
  bod.document.write ("          <FONT SIZE= -2>");
  bod.document.write ("          James Ford Bell Library<BR>");
  bod.document.write ("          472 Wilson Library<BR>");
  bod.document.write ("          309 19th Avenue South<BR>");
  bod.document.write ("          Minneapolis, Minnesota&nbsp;&nbsp;55455<BR>");
  bod.document.write ("         </TD>");

  bod.document.write ("         <TD VALIGN=TOP>");
  bod.document.write ("          <FONT SIZE= -2>");
  bod.document.write ("          (612) 624-1528 (voice)<BR>");
  bod.document.write ("          (612) 626-9353 (fax)<BR>");
  bod.document.write ("          <A HREF=\"mailto:jfbell@tc.umn.edu\">");
  bod.document.write ("          <font color=\"#003399\">jfbell@tc.umn.edu",
                      "</font></A><BR>");

  bod.document.write ("          <A HREF=\"http://bell.lib.umn.edu/\" ",
                      "target=\"_top\">");
  bod.document.write ("          <font color=\"#003399\">http://bell.lib.",
                      "umn.edu/</font></A>");
  bod.document.write ("         </TD>");
  bod.document.write ("       </TR>");
  bod.document.write ("     </TABLE>");

  bod.document.write ("     <P>");

  bod.document.write ("     <I>The University of Minnesota is an equal ",
                      "opportunity ");
  bod.document.write ("     educator and employer.</I></P>");
  bod.document.write ("    </TD>");
  bod.document.write ("  <TR>");
  bod.document.write ("</TABLE>");
  bod.document.write ("</BODY>\n");
  bod.document.close();

  //we write/re-write the menu to reflect the changes
  CurrentMenu.write();
}

//this function togles a sub-menu
//
//input: pos (integer representing that menu in the array)
//postconditions: if menu was expanded, it is now contracted
//		  if menu was closed, it is now expanded
function MenuEx (pos) {
  //we toggle the value representing menu from input pos
  if (MenuLoc[pos])
    MenuLoc[pos]=false;
  else
    MenuLoc[pos]=true;

  //we copy all the menu boolean values to a string
  //then save it in the cookie
  var Menstr = "";
  for (var i=0; i<MenuLoc.length; i++){
    if (MenuLoc[i])
      Menstr += (i + ",");
  }
  Menstr = Menstr.slice (0,-1);
  information.menus = Menstr;
  information.store ();

  //these ifs set the scroll postion in the menu frame
  if (CurrentMenu == AlphaMenu){
    if (top.browser.search(/netscape/i) != -1)
      top.alphay = parent.menu.pageYOffset;
    else if (top.browser.search(/explorer/i) != -1)
      top.alphay = parent.menu.document.body.scrollTop;
    information.alphay = top.alphay;
  }

  if (CurrentMenu == RegionMenu){
    if (top.browser.search(/netscape/i) != -1)
      top.regiony = parent.menu.pageYOffset;
    else if (top.browser.search(/explorer/i) != -1)
      top.regiony = parent.menu.document.body.scrollTop;
    information.regiony = top.regiony;
  }
  if (CurrentMenu == DateMenu){
    if (top.browser.search(/netscape/i) != -1)
      top.datey = parent.menu.pageYOffset;
    else if (top.browser.search(/explorer/i) != -1)
      top.datey = parent.menu.document.body.scrollTop;
    information.datey = top.datey;
  }

  //store the cookie information
  information.store();
  information.load();

  //Current Menu must now be re-written to reflect changes
  CurrentMenu.write();
}


//Constructor
//input: name (string for identification, display)
function Menu (name){
  //initially set all the displays to input name
  this.display = name;
  this.rdisplay = name;	//region display
  this.ddisplay = name;	//date display

  //array to hold the items contained in this menu
  this.items = new Array();
  this.size = 0; //this variable could probably be replaced
		 //with items.length

  //boolean identifying this object as a menu
  //set to true. Items will have this set to false
  this.isMenu = true;

  //set this menu's position and state to false in global array
  this.pos = MenuLoc.length;
  MenuLoc[this.pos] = false;
}

//still working on this function
function DeleteItem(display){
  alert (display);
  alert (this.size);
  /*var i;
  for (i=0; i<this.size; i++){
    if (this.items[i].display == display)
      break;
  }
  alert ("It's at postion " + i);
  */
}

//Copy Constructor
//returns a copy of the menu object which calls this method
function MenuCopyConstructor (){
  //memory allocation 
  var ReturnValue = new Menu();

  //copy the members
  ReturnValue.display = this.display;
  ReturnValue.rdisplay = this.rdisplay;
  ReturnValue.ddisplay = this.ddisplay;
  ReturnValue.items = new Array();
  ReturnValue.size = this.size;
  ReturnValue.isMenu = this.isMenu;

  //copy the array items
  for (var i=0; i<this.size; i++)
    ReturnValue.items[i] = this.items[i];

  //assign its postion in the global array
  ReturnValue.pos = MenuLoc.length;
  MenuLoc[ReturnValue.pos] = false;

  //return the newly constructed menu object
  return ReturnValue;
}  

//Constructor for menu items
//inputs:
//	name -- string for identification
//	display -- string for alpha display/sort
//	path -- url information
//	file -- the name of the image associated with this item
//	width -- width in pixels of the image
//	height -- height in pixels of the image
//	link -- where the image will be linked to 
//	  (larger image or page)
//	heading -- text heading to appear below image
//	body -- text body to appear below heading
//	ilink -- index link for catalog
//	blink -- bib link for catalog
//	rdisplay -- display for region menu
//	ddisplay -- display for date menu
function MenuItem (name, display, path, file, 
 width, height, link, heading, body, 
 ilink, blink, rdisplay, ddisplay){
  this.name = name;
  this.display = display;
  this.path = path;
  this.file = CurrentPath + file;
  this.width = width;
  this.height = height;
  this.link = path + link;
  this.heading = heading;
  this.body = body;
  this.ilink = ilink;
  this.blink = blink;

  //if rdisplay and/or display not passed, set this to
  //the alpha display
  if (rdisplay)
    this.rdisplay = rdisplay;
  else
    this.rdisplay = display;

  if (ddisplay)
    this.ddisplay = ddisplay;
  else
    this.ddisplay = display;

  //Not a menu so set this boolean to false
  this.isMenu = false;

  //assign a postion in the global array, and assign
  //a reference to this object in that array
  this.pos = ItemLoc.length;
  ItemLoc[ItemLoc.length] = this;
}

//Copy constructor for items
//input: name (string with a unique name for the new object)
//return: the newly constructed copy of the item
function ItemCopyConstructor (name) {
  var ReturnValue = new MenuItem();
  ReturnValue.name = name;
  ReturnValue.display = this.display;
  ReturnValue.path = this.path;
  ReturnValue.file = this.file;
  ReturnValue.width = this.width;
  ReturnValue.height = this.height;
  ReturnValue.link = this.link;
  ReturnValue.heading = this.heading;
  ReturnValue.body = this.body;
  ReturnValue.ilink = this.ilink;
  ReturnValue.blink = this.blink;
  ReturnValue.isMenu = this.isMenu;
  ReturnValue.pos = ItemLoc.length;
  ItemLoc[ItemLoc.length] = ReturnValue;

  return ReturnValue;
}

//function for adding an item to menus
function AddMeToMenus () {
  for (var i=0; i<arguments.length; i++){
    arguments[i].add(this);
    if (arguments[i+1] == 'r')
      arguments[i].sort("region");
    else if (arguments[i+1] == 'd')
      arguments[i].sort("date");
    else
      arguments[i].sort();
    i++;
  }
}

//Called onLoad of the main page
function Loader (){

  //cookie information, used when linking to a certain map
  //from some other location like catalog, etc.
  var stuff = new Cookie (document, "ImageStuff", 0, "/");
  stuff.load();

  //a local variable
  var ImageNumber;

  //this gets called there is no current cookie information 
  if (!information.active){
    CurrentMenu.write();	//default is alpha

    //if an image is in the stuff cookie, call this
    if ((stuff.n != true && stuff.n != "true")  && stuff.image){
      top.RI(stuff.image);
      stuff.remove();
    }
    else if (stuff.n == true || stuff.n == "true"){
      for (var i=0; i<ItemLoc.length; i++){
	if (ItemLoc[i].name == stuff.name){
	  ImageNumber = i;
	  break;
	}
      }
      top.RI(ImageNumber);
      stuff.remove();
    }
    else  //this is the default
      top.bod.location.replace(top.CurrentPath + "info.html");

    information.active = true;
    information.store();
  }
  else{ //Called when in active state
    //set global from cookie
    CurrentLink = information.IN;

    //set scrolling
    if (information.alphay)
      top.alphay = information.alphay;
    if (information.regiony){
      top.regiony = information.regiony;
    }
    if (information.datey)
      top.datey = information.datey;

    //set current menu positions from cookie
    if (information.menus && information.menus != ""){
      var tstr = information.menus;
      var tarr = new Array();
      tarr = tstr.split(",");
      for (var i=0; i<tarr.length; i++)
        MenuLoc[tarr[i]] = true;
    }

    //set current menu
    if (information.cm == "Region"){
      CurrentMenu = RegionMenu;
      top.tog.document.forms[0].MenuChoice[1].checked = true;
    }
    else if (information.cm == "Date"){
      CurrentMenu = DateMenu;
      top.tog.document.forms[0].MenuChoice[2].checked = true;
    }
    else if (information.cm == "Alpha")
      CurrentMenu = AlphaMenu;
  }

  if (information.NewWindow == 1)
    top.NewWindows = 1;
  else
    top.NewWindows = 0; 

  //if there is an image from the stuff cookie
  //find it and load it
  if (stuff.n == true || stuff.n == "true"){
    for (var i=0; i<ItemLoc.length; i++){
      if (ItemLoc[i].name == stuff.name){
	ImageNumber = i;
	break;
      }
    }
    information.ignore = true;
    information.store();
    information.load();
    stuff.remove();

    top.RI(ImageNumber);
  }
  else if (information.IN)
    top.RI(information.IN);
  else
    CurrentMenu.write();
}

//adds an item to either a main menu or sub menu
//
//input: item (reference to an object of Menu or MenuItem)
//postcondition: item has been added to the menu or submenu 
function addm (item){
  this.items[this.size] = item;
  this.size++;
}

//this will be the toString method for MenuItems
//
//return: a string representing that item in a menu
function writeItem () {
  //local variable for tracking which display value to use
  //alpha, region or date
  var OutDisplay;

  //set OutDisplay 
  if (CurrentMenu == AlphaMenu)
    OutDisplay=this.display;
  else if (CurrentMenu == RegionMenu)
    OutDisplay=this.rdisplay;
  else
    OutDisplay=this.ddisplay;

  //assign the string
  var OutString = "&#149;<a href='javascript:top.RI(";
  OutString += this.pos;
  OutString += ")'>";

  //if this item is the CurrentLink item change font color
  if (CurrentLink == this.pos){
    OutString += "<font color='FF3366'>";
    OutString += OutDisplay;
    OutString += "</font>";
  }
  else
    OutString += OutDisplay;
  OutString += "</a>";

  return OutString;
}

//toString method for Menu
//return a string of html representing the menu
//to be placed in the menu frame
function writeMenu () {
  //local for tracking display
  //alpha, region, or date
  var OutDisplay;

  //set the OutDisplay value
  if (CurrentMenu == AlphaMenu)
    OutDisplay = this.display;
  else if (CurrentMenu == RegionMenu)
    OutDisplay = this.rdisplay;
  else 
    OutDisplay = this.ddisplay;

  var OutString = "";

  //if this menu is closed start with '+'
  if (!MenuLoc[this.pos]){
    OutString += "+ <a href='javascript:top.MenuEx(" + this.pos +
      ")'><font color=white>";
    OutString += OutDisplay;
    OutString += "</font></a>";
  }
  //else if this menu is expaned, start with '-'
  else {
    //increase offset (for indenting)
    top.offset += 3;
    //this is menu display (with -)
    OutString += "- <a href='javascript:top.MenuEx(" + this.pos +
      ")'><font color=white>";
    OutString += OutDisplay;
    OutString += "</font></a>\n";

    //since this menu is expanded, we 
    //use a loop to get the expanded menu items
    for (var i=0; i<this.size; i++){
      OutString += "<br>\n";
      for (var j=0; j<top.offset; j++)
	OutString += "&nbsp;";
      OutString += this.items[i];
    }
    //decrement offset because we've finished indenting
    top.offset -= 3;
  }
  return OutString;
}

function OutMain (){
  top.offset = 0;
  var OutString = "<BODY background='http://bell.lib.umn.edu/hist/";
  OutString += "im/left.gif' text='#FFFF00' link='#FFFF00' vlink='#FFFF00'>\n";
  OutString += "<font size=-1>\n";
  for (var i=0; i<this.size; i++){
    if (!this.items[i].isMenu){
      OutString += this.items[i];
      OutString += "<br>";
    }
    else {
      OutString += this.items[i];
      OutString += "<br>";
    }
  }

  OutString += "</font>\n";
  OutString += "</BODY>";
  top.menu.document.write (OutString);

  if (top.CurrentMenu == top.AlphaMenu && top.alphay)
    parent.menu.scrollTo (0, top.alphay);
  if (top.CurrentMenu == top.RegionMenu && top.regiony)
    parent.menu.scrollTo (0, top.regiony);
  if (top.CurrentMenu == top.DateMenu && top.datey)
    parent.menu.scrollTo (0, top.datey);

  top.menu.document.close();
}

function MySort (menu){
  this.items.sort(function(a, b){
        if (menu == "region"){
	  if (a.rdisplay < b.rdisplay)
	    return -1;
	  else if (a.rdisplay > b.rdisplay)
	    return 1;
	  else
	    return 0;
	} 
	else if (menu == "date"){
	  if (a.ddisplay < b.ddisplay)
	    return -1;
	  else if (a.ddisplay > b.ddisplay)
	    return 1;
	  else
	    return 0;
	}
        else {
	  var tsort1, tsort2;

	  if (a.skey)
	    tsort1 = a.skey;
          else
	    tsort1 = a.display;

	  if (b.skey)
	    tsort2 = b.skey;
	  else
	    tsort2 = b.display;
	    
	  if (tsort1 < tsort2)
		return -1;
	  else if (tsort1 > tsort2)
		return 1;
	  else
		return 0;
        }
    });
}

function RegionDisplay(display){
  this.rdisplay = display;
}

function DateDisplay(display) {
  this.ddisplay = display;
}

function AlphaDisplay(display){
  this.display = display;
}

new Menu();
MenuLoc = new Array();
new MainMenu();
new MenuItem();
ItemLoc = new Array();

function SetSortKey (key) {
  this.skey = key;
}

Menu.prototype.Setkey = SetSortKey;
Menu.prototype.add = addm;
Menu.prototype.del = DeleteItem;
Menu.prototype.toString = writeMenu;
Menu.prototype.sort = MySort;
Menu.prototype.copy = MenuCopyConstructor;

MainMenu.prototype.add = addm;
MainMenu.prototype.write = OutMain;
MainMenu.prototype.sort = MySort;

MenuItem.prototype.Setkey = SetSortKey;
MenuItem.prototype.add = AddMeToMenus;
MenuItem.prototype.toString = writeItem;
MenuItem.prototype.region = RegionDisplay;
MenuItem.prototype.date = DateDisplay;
MenuItem.prototype.alpha = AlphaDisplay;
MenuItem.prototype.copy = ItemCopyConstructor;

//Add Menu items here

var pitt = new MenuItem("pitt", "Pitt", ImagePath,
  "im/1680mPi_s.jpg", 376, 300, "1680mPi.jpg",
  "Moses Pitt, fl. 1654-1696",
  "<i>A map of the North-Pole and the " +
  "parts adioining.</i> Oxon [i.e. Oxford] : at the " +
  "Theater, 1680.<p>" +
  "Map size: 46 x 59 cm.<p>" +
  "North Polar Map", "ind_p.html#pitt", "bib_p.html#p284a", 
  "1680 Pitt", "1680 Pitt");

var speed_w = new MenuItem("speed_w", "World", ImagePath,
  "im/1676mSp_s.jpg", 393, 300, "1676mSp.jpg",
  "John Speed, 1552?-1629",
  "<i>A new and accurat map of the world " +
  ": drawne according to ye truest descriptions, latest discoueries " +
  "&#038; best obseruations yt have been made by English or " +
  "strangers : 1651.</i> [London] : are to be sold by Tho. Bassett " +
  "&#133; and Ric. Chiswell &#133;, [1676].<p>" +
  "Map size: 44 x 55 cm.<p>" +
  "A hand-colored world map, drawn in 1651, and published with " +
  "Speed&#146;s <i>The theatre of the empire of Great Britain</i>, " +
  "1676.", "ind_s.html#speed", "bib_s.html#S616", "1676 Speed",
  "1676 Speed");

var jans = new MenuItem("jans", "Jansson", ImagePath,
  "im/1658mJa_s.jpg", 417, 300, "1658mJa.jpg",
  "Jan Jansson, 1558-1664",
  "<i>Nobilis fluvius Albis maximb curb, ex variis, " +
  "famosiq[ue] autoribus collectus, et in lucem editus / " +
  "a Ioanne Ianssonio Amstelodami.</i> [Amsterdam : Jan Jansson, " +
  "ca. 1658]<p>" +
  "Map size: 38 x 54 cm. (2 sections)<p>" +
  "This map is from the <i>Atlas Major.</i>",
  "ind_j.html#jans", "bib_j.html#J34", "1658 Hamburg", "1658 Jansson");

var bois = new MenuItem("bois", "Boisseau", ImagePath,
  "im/1643mBo_s.jpg", 464, 300, "1643mBo.jpg",
  "Jean Boisseau, fl. 1637-1658",
  "<i>Description de la Nouuelle " +
  "France ou sont remarqu&#233;es les diuerses habitations des " +
  "francois, despuis la premiere descouuerte iusques a present, " +
  "receuillie et dress&#233;e sur diuerses relations modernes.</i> A " +
  "Paris : chez Iean Boisseau, enlumineur du roy pour les cartes " +
  "g&#233;ographiques &#133;, 1643.<p>" +
  "Map size: 35 x 55 cm.<p>" +
  "A 13&#189; x 21&#189; inch map portraying North America from " +
  "Greenland to Virginia and from the Grand Banks to Lake Huron.",
  "ind_b.html#bois", "bib_b.html#B388", "1643 Boisseau", "1643 Boisseau");

var hond = new MenuItem("hond", "Hondius, H", ImagePath,
  "im/1641mHo_s.jpg", 339, 300, "1641mHo.jpg",
  "Hendri Hondius, 1597-1651",
  "<i>Poli Arctici, et circumiacentium terrarum descriptio " +
  "novissima / sumptibus Henrici Hondij.</i> " +
  "[Amsterdam : s.n., 1641]<p>" +
  "Map size: 43 x 49 cm., 43 cm. in diam.<p>" +
  "North Polar map", "ind_h.html#hond", "bib_h.html#H324_1",
  "1641 Hondius", "1641 Hondius");

var cuba = new MenuItem("cuba", "Eylant Cuba", ImagePath,
  "im/1629mVe_s.jpg", 500, 317, "1629mVe.jpg",
  "t&#146; Eylant Cuba met syne gelegentheyt",
  "From: <i>Verovering vande silver-vloot inde Bay Matanca : " +
  "ao. 1628.</i> t&#146; Amsterdam : by Claes Iansz Visscher, " +
  "[1629].<p>" +
  "Map Size: <p>" +
  "Map of Cuba from a broadside news sheet giving also a picture, " +
  "and details of the Dutch victory over the Spanish in the Bay of " +
  "Matanca in 1628.",
  "ind_v.html#vero", "bib_v.html#v115", "1628 Cuba", "1628 Cuba");

var braun = new MenuItem("braun", "Braun", ImagePath,
  "im/1575mBr_s.jpg", 500, 285, "1575mBr.jpg",
  "Georg Braun, 1540 or 1-1622",
  "<i>Mexico, regia et celebris " +
  "Hispaniae nouae ciuitas. Cusco, regni Peru in nouo orbe casut.</i> " +
  "Antuuerpiae : apud Aegidium Radeum, 1575.<p>" +
  "Map size: 41 x 52 cm.<p>" +
  "Map of Mexico City and Peru",
  "ind_b.html#braun", "bib_b.html#B544_1", "1575 Braun", "1575 Braun");
  
var tat = new MenuItem("tat", "Tatarinov", ImagePath,
  "im/tat_s.jpg", 493, 300, "tat_l.jpg",
  "Mikhail Tatarinov.",
  "<i>Okuratnaia karta chasti Kamchatki s " +
  "polozheniem Okhotskago Berega sovsemi Kurilskimi Ostrovami i " +
  "chastiiuzh IAponii, takozh sieverozapadnoi Ameriki sovsemi " +
  "Aleutskimi Ostrovami, ili Sieverym Arkhipelagom protiv " +
  "prezhnikh opisei : vypravlena v Yrkutskie 1781 godu.</i><p>" +
  "Map size: 24 x 40 cm.<p>" +
  "This map appears to have been made as a means for Russian " +
  "authorities to record the voyage of Captain Cook in the Bering Sea " +
  "area, 1779. It has additions in English attributed to Peter Simon " +
  "Pallas.", "ind_t.html#tat", "bib_t.html#t27", "1781 Tatarinov",
  "1781 Tatarinov");

var keat = new MenuItem("keat", "Keating", ImagePath,
  "im/keat_s.jpg", 500, 249, "keat_l.jpg",
  "Great Lakes, 1825",
  "From: William Hypolitus Keating, 1799-1840. <i>Narrative of an " +
  "expedition to the source of St. Peter&#146;s River, Lake " +
  "Winnepeek, Lake of the Woods, &#038;c., performed in the year " +
  "1823 / by order of the Hon. J. C. Calhoun, Secretary of War, under " +
  "the command of Stephen H. Long. U.S.T.E. Comp. from the notes " +
  "of Major Long, Messrs. Say, Keating, &#038; Colhoun, by " +
  "William H. Keating.</i> London : G. B. Whittager, 1825.<p>" +
  "Map size: ", "ind_k.html#keat", "bib_k.html#K25", "1825 Great Lakes",
  "1825 Keating");

var mil_menu = new Menu("Miller");
var mil2 = new MenuItem("mil2", "1784 North Pacific", ImagePath,
  "im/mil2_s.jpg", 391, 300, "mil2_l.jpg",
  "Gerard Fridrikh Miller, 1705-1783.",
  "<i>Nouvelle carte des " +
  "decouvertes faites par des vaisseaux russiens aux c&#244;tes " +
  "inconnues de l&#146;Amerique septentrionale avec les pais " +
  "adiacents : dress&#233;e sur des memoires authentiques de ceux " +
  "qui ont assist&#233; a ces decouvertes, et sur d&#146;autres " +
  "connoissances.</i> A St. Petersbourg : a l&#146;Academie " +
  "imperiale des sciences, 1784.<p>" +
  "Map size: 47 x 62 cm.<p>" +
  "This edition of the map shows the Aleutian Islands in more " +
  "realistic form than earlier editions, and changes the representation " +
  "of the northwest coast of America radically.", "ind_m.html#miller",
  "bib_m.html#mil2", "1784 Miller", "1784 Miller");

var mil = new MenuItem("mil", "1754 North Pacific", ImagePath,
  "im/mil_s.jpg", 412, 300, "mil_l.jpg",
  "Gerard Fridrikh Miller, 1705-1783.",
  "<i>Nouvelle carte des " +
  "decouvertes faites par des vaisseaux russes aux c&#244;tes " +
  "inconnues de l&#146;Amerique Septentrionale avec les pais " +
  "adiacents : dress&#233;e sur des memoires authentiques de ceux, " +
  "qui ont assist&#233; a ces decouvertes, et sur d&#146;autres " +
  "connoissances, dont on rend raison dans un memoire " +
  "separ&#233;.</i> A St. Petersbourg : a l&#146;Academie " +
  "imperiale des sciences, 1754.<p>" +
  "Map size: 47 x 64 cm.<p>" +
  "The earliest map to show the routes of Bering and Chirikov to " +
  "Alaska during the second Bering expedition.", "ind_m.html#miller", 
  "bib_m.html#mil", "1754 Miller", "1754 Miller");

var lislen = new MenuItem("lislen", "L&#146;Isle, J", ImagePath,
  "im/lislen_s.jpg", 406, 300, "lislen_l.jpg",
  "Joseph Nicolas de L&#146;Isle, 1688-1768.",
  "<i>Carte des Nouvelles D&#233;couvertes au Nord de la Mer du Sud, " +
  "Tant &#224; l&#146;Est de la Siberie et du Kamtchatka, " +
  "Qu&#146;&#224; l&#146;Ouest de la Nouvelle France. " +
  "Dress&#233;e Sur les M&#233;moires de Mr. Del&#146;Isle " +
  "Professeur Royal et de l&#146;Acad&#233;mie des Sciences</i>. Par " +
  "Philippe Buache de la m&#234;me Acad&#233;mie et " +
  "Pr&#233;sent&#233;e &#224; l&#146;Acad&#233;mie, dans son " +
  "Assembl&#233;e publique du 8. Avril 1750. Par Mr. De " +
  "l&#146;Isle.<p>" +
  "Map size: 52 x 70 cm.", "ind_l.html#lislen", "bib_l.html#L483", 
  "1750 L&#146;isle", "1750 L&#146;isle");
  
lislen.Setkey("Lisle j");

var macrobius = new Menu("Macrobius");

var mac1 = new MenuItem("mac1", "1500 World Map", ImagePath,
  "im/mac1_s.jpg", 293, 300, "mac1_l.jpg",
  "Macrobius World Map, 1500",
  "From: Ambrosius Aurelius Theodosius Macrobius. <i>In somnium " +
  "Scipionis expositio. Saturnalia.</i> Venice : Philippus Pincius, 29 " +
  "Oct. 1500.<p>" +
  "Map size: 14 x 14 cm.", "ind_m.html#macrobius", 
  "bib_m.html#M44", "1500 Macrobius", "1500 Macrobius");

var mac2 = new MenuItem("mac2", "1519 World Map", ImagePath,
  "im/mac2_s.jpg", 300, 300, "mac2_l.jpg",
  "Macrobius World Map, 1519",
  "From: Ambrosius Aurelius Theodosius Macrobius. <i>Macrobius " +
  "Aurelius integer nitidus / suoq[ue] decori ab Ioanne Riuio " +
  "superioribus annis &#038; nunc cura Ascensianorum multa " +
  "diligentius restitutus cum indicio &#038; amplo &#038; veridico ; " +
  "addito libello argutissimo Censorini De die natali eo q[uo] " +
  "consimilis sit farraginis.</i> Paris, Badius, 1519. Reprint of the " +
  "1515 edition<p>" +
  "Map size: 14 x 14 cm.", "ind_m.html#macrobius", 
  "bib_m.html#M46", "1519 Macrobius", "1519 Macrobius");

var mac3 = new MenuItem("mac3", "1521 World Map", ImagePath,
  "im/mac3_s.jpg", 288, 300, "mac3_l.jpg",
  "Macrobius World Map, 1521",
  "From: Ambrosius Aurelius Theodosius Macrobius. <i>Macrobii Aurelii " +
  "Theodosii viri consularis in Somnium Scipionis libri duo, et " +
  "septem eiusdem libri Saturnaliorum.</i> Apud Sanctam Coloniam " +
  ": [apud Eucharium Ceruicornum], 1521.<p>"+
  "Map size: 14 x 14 cm.", "ind_m.html#macrobius", 
  "bib_m.html#M45", "1521 Macrobius", "1521 Macrobius");

var rob_menu = new Menu ("Robert de Vaugondy");

var robbe = new MenuItem("robbe", "Bering Strait", ImagePath,
  "im/robbe_s.jpg", 382, 300, "robbe_l.jpg",
  "Didier Robert de Vaugondy, 1723-1786",
  "<i>Nouveau Syst&#234;me G&#233;ographique par lequel on " +
  "concilie les anciennes connoissances sur les Pays nord-ouest de " +
  "l&#146;Am&#233;rique avec les nouvelles d&#233;couvertes des " +
  "Russes au nord de la Mer du sud.</i><p>" +
  "From: Robert de Vaugondy, Didier, 1723-1786. <i>M&#233;moire sur " +
  "les pays de l&#146;Asie et de l&#146;Am&#233;rique, " +
  "situ&#233;s au nord de la Mer du Sud.</i> Paris, A. Boudet, 1774.<p>" +
  "Map size: 36 x 29 cm.", "ind_r.html#robert", "bib_r.html#robbe", 
  "1774 Robert De Vaugondy", "1774 Robert De Vaugondy");

var dobbs = new MenuItem("dobbs", "La France", ImagePath,
  "im/dona_s.jpg", 430, 300, "dona_l.jpg",
  "Joseph La France",
  "<i>A New Map of Part of North America from the Latitude of " +
  "40 to 68 Degrees. Including the late discoveries made on " +
  "Board the Furnace Bomb Ketch in 1742. And the Western Rivers " +
  "& Lakes falling into Nelson River in Hudson's Bay as " +
  "described by Joseph La France a French Canadese Indian, " +
  "who Traveled thro those Countries and Lakes for 3 Years " +
  "from 1739 to 1742.</i><p>" +
  "From: Arthur Dobbs, 1689-1765. <i>Remarks upon Capt. " +
  "Middleton&#146;s defence : wherein his conduct during his late " +
  "voyage for discovering a passage from Hudson&#146;s-Bay to the " + 
  "South-Sea is impartially examin&#146;d &#133; : with an " +
  "appendix of original papers &#133; / by Arthur Dobbs, Esq.</i> " +
  "London : printed by the Author&#146;s appointment, and sold by " +
  "Jacob Robinson &#133;, 1744.<p>" +
  "Map Size: 47 x 33 cm.", "ind_d.html#dobbs", "bib_d.html#D306", 
  "1744 La France", "1744 La France");
dobbs.Setkey("Lafrance");

var lap_menu1 = new Menu("La Peyr&#232;re");
var lap_menu2 = new Menu("1679 La Peyr&#232;re");
lap_menu1.Setkey("Lapeyrere");
lap_menu2.Setkey("1679 Lapeyrere");

var lap2 = new MenuItem("lap2", "1674 Greenland", ImagePath,
  "im/lapeygr_s.jpg", 500, 233, "lapeygr_l.jpg",
  "<i>Tabula Groenlandica.</i>",
  "From: Isaac de La Peyr&#232;re, 1594-1676. <i>Bericht von "+
  "Gr&#246;hnland, gezogen aus zwo chroniken, einer alten "+
  "ihslandischen, und einer neuen d&#228;nischen, &#252;bergesand "+
  "in frantz&#246;sischer sprahche an Herren von der Mote den "+
  "Wayer von einem unbenandten meister / und gedruckt zu Parihs "+
  "bey Augustin K&#252;rbe in s. anno 1647 jetzo aber deutsch "+
  "geg&#228;ben, und, um desto f&#228;rtiger ihn zu gebrauchen, "+
  "unterschihdlich eingeteihlet von Henrich Sivers.</i> Hamburg : in "+
  "verl&#228;gung Johan Naumans und Jurgen Wolfs, 1674.<p>"+
  "Map size: 32 x 15 cm.", "ind_l.html#lapey", "bib_l.html#lap1", 
  "1674 Greenland", "1674 La Peyr&#232;re");
  
var la1 = new MenuItem("la1", "1679 Greenland", ImagePath,
  "im/lapeygr2_s.jpg", 459, 300, "lapeygr2_l.jpg",
  "<i>Kaert von Groenland.</i>",
  "From: Isaac de La Peyr&#232;re, 1594-1676. <i>Ausf&#252;hrliche "+
  "Beschreibung des theils Bewohnt, theils unbewohnt, so genannten "+
  "Gr&#246;nlands &#133; nebenst einen kurtzem Begriff der "+
  "seltsamen reisen &#133; alt Gr&#246;nland wieder zu finden "+
  "&#133; mit anf&#252;gung des Tagbuchs eines die Durchfahrt "+
  "zwischen Gr&#246;nland und America suchenden "+
  "d&#228;nischen schiffes &#133; / Beschrieben, und mit "+
  "verschiedenen historischen anh&#228;ngen durchgehends "+
  "erkl&#228;rt und Erweitert durch S. von V.</i> N&#252;rnberg : "+
  "in verlegung Christof Riegels, 1679.<p>"+
  "Map size: 28 x 18 cm.", "ind_l.html#lapey", "bib_l.html#L117");

var la2 = new MenuItem("la2", "1679 Nova Zembla", ImagePath,
  "im/lapeyno_s.jpg", 482, 300, "lapeyno_l.jpg",
  "<i>Nova Zembla</i>",
  "From: Isaac de La Peyr&#232;re, 1594-1676. <i>Ausf&#252;hrliche "+
  "Beschreibung des theils Bewohnt, theils unbewohnt, so genannten "+
  "Gr&#246;nlands &#133; nebenst einen kurtzem Begriff der "+
  "seltsamen reisen &#133; alt Gr&#246;nland wieder zu finden "+
  "&#133; mit anf&#252;gung des Tagbuchs eines die Durchfahrt "+
  "zwischen Gr&#246;nland und America suchenden "+
  "d&#228;nischen schiffes &#133; / Beschrieben, und mit "+
  "verschiedenen historischen anh&#228;ngen durchgehends "+
  "erkl&#228;rt und Erweitert durch S. von V.</i> N&#252;rnberg : "+
  "in verlegung Christof Riegels, 1679.<p>"+
  "Map size: 28 x 17 cm.", "ind_l.html#lapey", "bib_l.html#L117");

var ogilby = new Menu("Ogilby");
ogilby.rdisplay = "1670 Ogilby";
ogilby.ddisplay = "1670 Ogilby";

var og_desc = "From: John Ogilby, 1600-1676. " +
  "<i>Africa : being an accurate description of the regions " +
  "of Aegypt, Barbary, Lybia, and Billedulgerid, the land of Negroes, " +
  "Guinee, Aethiopia, and the Abyssines, with all the adjacent islands, " +
  "either in the Mediterranean, Atlantick, Southern, or Oriental Sea, " +
  "belonging thereunto : with the several denominations of their coasts, " +
  "harbors, creeks, rivers, lakes, cities, towns, castles, and villages : " +
  "their customs, modes, and manners, languages, religions, and " +
  "inexhaustible treasure....</i> London : printed by Tho. " +
  "Johnson for the author ..., 1670.";

var ogmad = new MenuItem("ogmad", "Madagascar", ImagePath,
  "im/ogmad_s.jpg", 384, 300, "ogmad_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>Insula s. Lavrentii, vulgo Madagascar.</i><p>" +
  "Map size: 36 x 28 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var ogaf4 = new MenuItem("ogaf4", "West Africa", ImagePath,
  "im/ogaf4_s.jpg", 403, 300, "ogaf4_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>Nigritarum regio.</i><p>" +
  "Map size: 36 x 26 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var ogaf2 = new MenuItem("ogaf2", "Africa (whole)", ImagePath,
  "im/ogaf2_s.jpg", 371, 300, "ogaf2_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>Africae accurata tabula ex officina Iacobum Meursium.</i><p>" +
  "Map size: 54 x 44 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var ogtan = new MenuItem("ogtan", "Tanger", ImagePath,
  "im/ogtan_s.jpg", 474, 300, "ogtan_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>The citty of Tanger.</i><p>" +
  "Map size: 44 x 28 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var ogcon = new MenuItem("ogcon", "Congo", ImagePath,
  "im/ogcon_s.jpg", 361, 300, "ogcon_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>Regna Congo et Angola.</i><p>" +
  "Map size: 34 x 28 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var ogguin = new MenuItem("ogguin", "Guinea", ImagePath,
  "im/ogguin_s.jpg", 405, 300, "ogguin_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>Guinea.</i><p>" +
  "Map size: 35 x 26 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var ogaf3 = new MenuItem("ogaf3", "North Africa", ImagePath,
  "im/ogaf3_s.jpg", 394, 300, "ogaf3_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>Fezzae et Marocchi regna Africae celeberrima.</i><p>" +
  "Map size: 35 x 27 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var ogaf1 = new MenuItem("ogaf1", "Ethiopia", ImagePath,
  "im/ogaf1_s.jpg", 375, 300, "ogaf1_l.jpg",
  "John Ogilby, 1600-1676",
  "<i>Aethiopia inferior vel exterior: Partes magis Septentrionales, " +
  "quae hie desiderantur, vide in tabula Aethiopia Superioris.</i><p>" +
  "Map size: 35 x 28 cm.<p>" + og_desc,
  "ind_o.html#ogilby", "bib_o.html#o46");

var scherer = new Menu("Scherer");
scherer.rdisplay = "1700 Scherer";
scherer.ddisplay = "1700 Scherer";
var sch1 = new MenuItem("sch1", "North Polar1", ImagePath,
  "im/1700mSc_s.jpg", 234, 300, "1700mSc.jpg",
  "H Scherer",
  "<i>Planisphaerium ex Polo Artico tanquam centro " +
  "geometrice desciptu[m] anno 1700.</i> [Munich : s.n., ca. 1700]<p>" +
  "Map size: 18 x 23 cm.<p>" +
  "Scherer, a Jesuit, was a professor of mathematics in Munich. The map " +
  "is from the <i>Novus Atlas</i>, an eight volume work (1702-1710). It " +
  "is a north polar projection showing the whole world. It includes a " +
  "closeup of Greenland and Iceland, noting settlements on the " +
  "Greenland coast. California is an island and Alaska-Siberia undefined.",
  "ind_s.html#scherer", "bib_s.html#S166");

var sch2 = new MenuItem("sch2", "North Polar2", ImagePath,
  "im/1700mSc1_s.jpg", 449, 300, "1700mSc1.jpg",
  "H Scherer",
  "<i>Societas Iesu per universum mundum diffusa " +
  "praedicat Christi evangelium.</i> [Munich : s.n., ca. 1700]<p>" +
  "Map size: 23 x 35 cm.<p>" +
  "From Scherer's Atlas Novus, part II, <i>Geographica Hierarchia</i>. " +
  "This map locates the different Jesuit missions around the world, " +
  "each marked by a shining trigram. In each of the four corners are " +
  "engraved allegorical figures of Ignatius Loyola, Joseph Anchiete, " +
  "Andreas Oviedus, and Francis Xavier.",
  "ind_s.html#scherer", "bib_s.html#S167");

var olaus = new MenuItem("olaus", "Olaus Magnus", ImagePath,
  "im/olaus_s.jpg", 408, 300, "olaus_l.jpg",
  "Olaus Magnus, Archbishop of Uppsala, 1490-1557",
  "<i>Carta marina et descriptio septemtrionalium " +
  "terrarum. [Facsimile.]</i> Malm&#246;, AB Malm&#246;, " +
  "Ljustrycksanstalt, 1949. 9 sheets.<p>" +
  "Map size: 50 x 66 cm. (In " +
  "portfolio 54 x 70 cm.)<p>"+
  "Hand-colored facsimile of a map of Scandinavia originally " +
  "published in 1539.<br>" +
  "<a href='javascript:top.location=\"http://bell.lib.umn.edu/olaus/\";'>" +
  "View another Olaus Magnus page</a>",
  "ind_o.html#olaus", "bib_o.html#olaus", "1539 Olaus", "1539 Olaus");

var tram = new MenuItem("tram", "Tramezini", ImagePath,
  "im/1558mTr_s.jpg", 402, 300, "1558mTr.jpg",
  "Michele Tramezini",
  "<i>Septemtrionalium regionum Svetiae " +
  "Gothiae Norvegiae Daniae et terrarum adiacentium recens " +
  "exactaq[ue] descriptio / Michaelis Tramezini formis ex pontificis " +
  "max. ac Veneti senatus in proximum decenmiun priuilegio.</i> " +
  "Venice : [s.n.], 1558.<p>" +
  "Map size: 38 x 51 cm.<p>" +
  "A chart of the Baltic and North Sea regions based upon the first " +
  "chart of this area made by Cornelis Antoniszoon in 1543.",
  "ind_t.html#tram", "bib_t.html#t175", "1558 Tramezini", "1558 Tramezini");

var sal = new MenuItem("sal", "Salamanca", ImagePath,
  "im/sal_jth.jpg", 471, 300, "sal.jpg",
  "Antonio Salamanca",
  "<i>Quam hic vides orbis imagine[m] lector " +
  "ca[n]dide ea[m] ut posteriore[m] ita &#038; eme[n]datiorem ijs " +
  "que hactenus circu[m]ferebantur esse America sarmatiaq[ue] ac " +
  "India testantur &#133;</i> Romae : [Antonio Salamanca, ca. " +
  "1550].<p>" +
  "Map size: 42 x 51 cm.<p>" +
  "A very close copy of the world map of Mercator, published in " +
  "Louvain in 1538.",
  "ind_s.html#salamanca", "bib_s.html#S65",
  "1550 Salamanca", "1550 Salamanca");

var Moll = new MenuItem("Moll", "Moll", ImagePath, "im/Moll_s.jpg",
  397, 300, "1739mMo_l.jpg", "Herman Moll, d. 1732",
  "<i>A map of the North Pole : with all the " +
  "territories that lye near it, known to us &c. : " +
  "according to the latest discoveries, and most " +
  "exact observations : agreeable to modern " +
  "history / by H. Moll geographer</i>. [London] : " +
  "printed for Tho. Bowles ... & Iohn Bowles ..., 1739.<p>" +
  "Map size: 20 x 27 cm.",
  "ind_m.html#Moll", "bib_m.html#M499", "1739 Moll", "1739 Moll");

var k_desc = "From: Johann David K&#246;hler, 1684-1755, <i>Johann David " +
  "K&#246;hlers historiarum &#038; politices professoris publici auf " +
  "der N&#252;rnbergischen Universit&#228;t Altdorff bequemer " +
  "Sch&#252;l- und Reisen- Atlas aller zu Erlernung der alten, " +
  "mittlern und neuen Geographie dienlichen Universal- und " +
  "Particular-Charten &#133;</i> N&#252;rnberg : gedruckt bey " +
  "Johann Ernst Adelbulnern, 1719.<p>";

var Hworld2 = new MenuItem("Hworld2", "World 1719", ImagePath,
  "im/Hworld2_s.jpg", 378, 300, "Hworld2_l.jpg",
  "Johann Baptist Homann",
  k_desc + "Map size: 39 x 56 cm.",
  "ind_k.html#kohler", "bib_k.html#K73_1", "1719 Homann", "World");

var Ham2 = new MenuItem ("Ham2", "America 1719", ImagePath,
  "im/Ham2_s.jpg", 369, 300, "Ham2_l.jpg",
  "Johann Baptist Homann",
  "<i>Novi orbis sive totius Americae cum adiacentibus insulis " +
  "Nova exhibitio.</i> " + k_desc,
  "ind_k.html#kohler", "bib_k.html#K73_1", "1719 Homann", "America");

var weigel = new Menu ("Weigel");
weigel.ddisplay=("1719 Weigel");
weigel.rdisplay=("1719 Weigel");

var Wpol = new MenuItem("Wpol", "North Polar", ImagePath,
  "im/Wpolar_s.jpg", 335, 300, "Wpolar_l.jpg",
  "Christoph Weigel",
  Hworld2.body, "ind_k.html#kohler", "bib_k.html#K73_1", 
  "1719 Weigel North");

var Wpol2 = new MenuItem("Wpol2", "South Polar", ImagePath,
  "im/Wpolar2_s.jpg", 334, 300, "Wpolar2_l.jpg",
  "Christoph Weigel",
  Hworld2.body, "ind_k.html#kohler", "bib_k.html#K73_1",
  "1719 Weigel South");

//string for Mercator atlas description
var mer_desc = "<i>Atlas or A geographicke " +
  "description of the regions, countries and kingdomes of the world, " +
  "through Europe, Asia, Africa, and America, represented by new " +
  "&#038; exact maps / translated by Henry Hexham, quarter-maister " +
  "to the regiment of Colonell Goring.</i> A Amsterdam : chez " +
  "Henry Hondius &#133;, 1633-1638.";

var mer1 = new MenuItem("mer1", "1633 North Polar", ImagePath,
  "im/mer1_s.jpg", 336, 300, "mer1_l.jpg",
  "Gerhard Mercator, 1512-1594",
  "North Polar map from:<p>"+mer_desc, "ind_m.html#mer", 
  "bib_m.html#M397", "1633 Mercator", "North Polar");
  

var mer2 = new MenuItem("mer2", "1633 World", ImagePath,
  "im/mer2_s.jpg", 420, 300, "mer2_l.jpg",
  mer1.heading, "World map from:<p>"+mer_desc,
  "ind_m.html#mer", "bib_m.html#M397", "1633 Mercator", "World");

var mer3 = new MenuItem("mer3", "1633 Russia", ImagePath,
  "im/mer3_s.jpg", 352, 300, "mer3_l.jpg",
  mer1.heading, "Russia map from:<p>"+mer_desc,
  "ind_m.html#mer", "bib_m.html#M397", "1633 Mercator", "Russia");

var mer4 = new MenuItem("mer4", "1595 North Polar", ImagePath,
  "im/mer4_s.jpg", 320, 300, "mer4_l.jpg",
  "Gerhard Mercator, 1512-1594",
  "<i>Septentrionalium terrarum " +
  "descriptio / per Gerardum Mercatorem.</i> [Duisburg : s.n., 1595]<p>" +
  "Map size: 41 x 52 cm.<p>"+
  "A north polar projection of the earth from the 1595 edition of " +
  "Mercator's <i>Atlas.</i>",
  "ind_m.html#mer", "bib_m.html#M398", "1595 Mercator", "1595 Mercator");

//string for atlas description, Ortelius
var ort_desc = "<i>Theatrum orbis terrarum.</i> " +
  "Antverpiae : apud Aegid. Coppenium Diesth, 1570.<p>" +
  "The second issue of the first edition of the first " +
  "modern atlas.";

var ort1 = new MenuItem("ort1", "World", ImagePath,
  "im/ort1_s.jpg", 426, 300, "ort1_l.jpg",
  "Abraham Ortelius, 1527-1598",
  ort_desc + "<p>World map", "ind_o.html#ortelius", 
  "bib_o.html#ortelius",
  "1570 Ortelius");

var ort2 = new MenuItem("ort2", "America", ImagePath,
  "im/ort2_s.jpg", 406, 300, "ort2_l.jpg",
  ort1.heading, ort_desc + "<p>Map of America", 
  "ind_o.html#ortelius", "bib_o.html#ortelius",
  "1570 Ortelius");

var ort3 = new MenuItem("ort3", "Asia", ImagePath,
  "im/ort3_s.jpg", 398, 300, "ort3_l.jpg",
  ort1.heading, ort_desc + "<p>Map of Asia",
  "ind_o.html#ortelius", "bib_o.html#ortelius",
  "1570 Ortelius");

var ort4 = new MenuItem("ort4", "Africa", ImagePath,
  "im/ort4_s.jpg", 395, 300, "ort4_l.jpg",
  ort1.heading, ort_desc + "<p>Map of Africa",
  "ind_o.html#ortelius", "bib_o.html#ortelius",
  "1570 Ortelius");

var ort5 = new MenuItem("ort5", "Europe", ImagePath,
  "im/ort5_s.jpg", 399, 300, "ort5_l.jpg",
  ort1.heading, ort_desc + "<p>Map of Euorpe",
  "ind_o.html#ortelius", "bib_o.html#ortelius",
  "1570 Ortelius");
  
var ort6 = new MenuItem("ort6", "North Atlantic", ImagePath,
  "im/ort6_s.jpg", 407, 300, "ort6_l.jpg",
  ort1.heading, ort_desc + "<p>North Atlantic",
  "ind_o.html#ortelius", "bib_o.html#ortelius",
  "1570 Ortelius");

var ort7 = new MenuItem("ort7", "Northeast Asia", ImagePath,
  "im/ort7_s.jpg", 392, 300, "ort7_l.jpg",
  ort1.heading, ort_desc + "<p>Northeast Asia",
  "ind_o.html#ortelius", "bib_o.html#ortelius",
  "1570 Ortelius");

//string declared for sanson atlas descriptions
var san_desc =   "<i>Cartes generales de toutes les " +
  "parties du monde, ou les empires, monarchies, republiques, estats, " +
  "peuples, &#038;c. de l&#146;Asie, de l&#146;Afrique, de "+
  "l&#146;Europe, &#038; de l&#146;Amerique, tant anciens que " +
  "nouveaux sont exactement remarqu&#233;s &#038; " +
  "distingu&#233;s suivant leur estendu&#235; / par les sieurs " +
  "Sanson d&#146;Abeville, geographes ordinaires du roy.</i> A " +
  "Paris : chez Pierre Mariette &#133;, 1666.";

var san1 = new MenuItem("san1", "World-1", ImagePath,
  "im/sanworld_s.jpg", 391, 300, "sanworld_l.jpg",
  "Nicolas Sanson, 1600-1667",
  "World map from:<p>" + san_desc,
  "ind_s.html#sanson", "bib_s.html#S98");

var sworld_menu = new Menu ("1666 Sanson");

var san2 = new MenuItem("san2", "World-2", ImagePath,
  "im/san2_s.jpg", 390, 300, "san2_l.jpg",
  san1.heading, "World map from:<p>"+san_desc,
  "ind_s.html#sanson", "bib_s.html#S98");

var san3 = new MenuItem("san3", "Polar", ImagePath,
  "im/san3_s.jpg", 397, 300, "san3_l.jpg",
  san1.heading, "Polar map from:<p>"+san_desc,
  "ind_s.html#sanson", "bib_s.html#S98", "1666 Sanson");

var san_asia = new MenuItem("san_asia", "Asia", ImagePath,
  "im/sanasia_s.jpg", 417, 300, "sanasia_l.jpg",
  san1.heading, "Asia map from:<p>"+san_desc,
  "ind_s.html#sanson", "bib_s.html#S98",
  "1683 Sanson");

var san_africa = new MenuItem("san_africa", "Africa", ImagePath,
  "im/sanafrica_s.jpg", 405, 300, "sanafrica_l.jpg",
  san1.heading, "Africa map from:<p>"+san_desc,
  "ind_s.html#sanson", "bib_s.html#S98",
  "1683 Sanson");

var san_america = new MenuItem("san_america", "North America 1666", ImagePath,
  "im/sanam_s.jpg", 406, 300, "sanam_l.jpg",
  san1.heading, "America map from:<p>"+san_desc,
  "ind_s.html#sanson", "bib_s.html#S98",
  "1666 Sanson", "North America");

var san_sa = new MenuItem("san_sa", "South America", ImagePath,
  "im/sansa_s.jpg", 398, 300, "sansa_l.jpg",
  san1.heading, "South America map from:<p>"+san_desc,
  "ind_s.html#sanson", "bib_s.html#S98",
  "1666 Sanson");

var san_europe = new MenuItem("san_europe", "Europe", ImagePath,
  "im/san_europe_s.jpg", 413, 300, "san_europe_l.jpg",
  san1.heading, "Europe map from:<p>"+san_desc,
  "ind_s.html#sanson", "bib_s.html#S98",
  "1666 Sanson");

var san = new MenuItem("san", "North America 1650", ImagePath,
  "im/sanson_s.jpg", 426, 300, "sanson_l.jpg",
  "Nicolas Sanson, 1600-1667",
  "<i>Amerique septentrionale / par N. " +
  "Sanson d&#146;Abbeville geog. du roy ; A. Peyrounin, sculp.</i> " +
  "A Paris : chez l&#146;auteur et chez Pierre Mariette &#133;, " +
  "1650.<p>" +
  "Map size: 43 x 59 cm.<p>" +
  "The earliest printed map to show the western Great Lakes, " +
  "although Lakes Superior and Michigan have incomplete western  " +
  "shorelines.", "ind_s.html#sanson", "bib_s.html#S96", "1650 Sanson",
  "1650 Sanson");


var mou = new MenuItem("mou", "Moullart-Sanson", ImagePath,
  "im/mou_s.jpg", 241, 300, "mou_l.jpg",
  "Pierre Moullart-Sanson",
  "<i>Hemisphere septentrional du globe " +
  "terrestre veu en plan, contenant l&#146;Asie, ptie. de " +
  "l&#146;Afriq., l&#146;Europe, l&#146;Amerique septle. ptie. de " +
  "l&#146;Amerique meridle., et les terres Arctiques / par le sr. " +
  "Moullart-Sanson, geog. ordin. du roi.</i> [Paris? : s.n., 1704]<p>" +
  "Map size: 27 x 30 cm.<p>" +
  "Pierre Moullart-Sanson was the grandson of Nicolas Sanson and " +
  "the uncle of Gilles Robert de Vaugondy. He began making maps in " +
  "1693. This polar projection extending to the equator is in outline " +
  "form with few interior details. California is an island and the " +
  "northwest Pacific coast is undefined.",
  "ind_m.html#moullart", "bib_m.html#M578", "1704 Moullart-Sanson",
  "1704 Moullart-Sanson");

var fine = new MenuItem("fine", "Fine", ImagePath,
  "im/fine_s.jpg", 421, 300, "fine_l.jpg",
  "Oronce Fine, 1494-1555",
  "<i>Nova, et integra universi orbis " +
  "descriptio / Orontius F. Delph., ad lectorem.</i> [Paris : A. " +
  "Augerellum], 1531.<p>" +
  "Map size: 29 x 42 cm.<p>" +
  "This map introduced Fine&#146;s double cordiform projection " +
  "which was copied by Mercator and others in the sixteenth century.",
  "ind_f1.html#fine", "bib_f1.html#fine", "1531 Fine", "1531 Fine");

var mapp = new MenuItem("mapp", "Mappemonde", ImagePath,
  "im/mapp_s.jpg", 216, 300, "mapp_l.jpg",
  "Mappemonde",
  "<i>A fragment of a world map showing southern " +
  "Europe and most of Africa : ca. 1450.</i><p> " +
  "Map size: 24 x 33 cm.<p> " +
  "This fragment of an unknown planisphere is of special interest for " +
  "its portrayal of Africa. Area shown extends from the British and " +
  "Canary Islands on the west to the Red and Black Seas on the east.<p> " +
  "This map was the subject of the 37th Annual James Ford Bell Lecture " +
  "given by Scott D. Westrem, 2000. This lecture is available at the " +
  "Bell Library web site,  " +
  "<a href = 'javascript:top.LoadLecture(1999)'>Click here</a>",
  "ind_m.html#mappemonde", "bib_m.html#M148", 
  "1450 Mappemonde", "1450 Mappemonde");

var ptol = new MenuItem("ptol", "1609", ImagePath,
  "im/ptol_s.jpg", 435, 300, "ptol_l.jpg",
  "1609 Ptolemy",
  "<b>from:</b><p>" +
  "Lucidarius. <i>M. Elucidarius, von allerhand gesch&#246;pffen " +
  "Gottes, den Engeln, den Himmeln, Gestirn, Planeten, und wie alle " +
  "Creaturen geschaffen seynd auff Erden : auch wie die Erd in drey " +
  "Theil getheilet, und dero L&#228;nder sampt der V&#246;lker " +
  "darinn Eygenschafften, und wunderbarlichen Thieren, auss Plinio " +
  "Secundo, Solino, und andern Weltbeschreibern, ein kurtze und " +
  "lustige Anzeigung : mit angehencktem Bauren Compassz, vor die " +
  "jenigen gestellt, so sich auff den Compassz &#133;</i> Getruckt " +
  "zu Franckfurt am Mayn : bey Sigismundo Latomo, in Verlegung " +
  "Vincentij Steinmeyers, 1609.",
  "ind_l.html#lucidarius", "bib_l.html#L587", "1609 Ptolemy", "1609 Ptolemy"); 

var ptol1 = new MenuItem("ptol1", "1482", ImagePath,
  "im/ptol1_s.jpg", 401, 300, "ptol1_l.jpg",
  "Ptolemy, 2nd cent.",
  "World map from:<p><i>Cosmographia.</i> [Ulm : Lienhart Holle, " +
  "1482]", "ind_p.html#ptolemy", "bib_p.html#ptol1",
  "1482 Ptolemy", "1482 Ptolemy");

var ptol2 = new MenuItem("ptol2", "1545 World-1", ImagePath,
  "im/ptol2_s.jpg", 377, 300, "ptol2_l.jpg",
  "Ptolemy World Map",
  "From: Ptolemy, 2nd cent. <i>Geographia universalis, vetus et nova / " +
  "complectens Claudii Ptolemaei Alexandrini enarrationis libros " +
  "VIII.</i> Basileae : per Henrichum Petrum, 1545.<p>"+
  "Map size: 33 x 26 cm.<p>" +
  "The third M&#252;nster edition, with six new maps and with some " +
  "alteration to text describing maps.",
  "ind_p.html#ptolemy", "bib_p.html#P572", "World-1", "World-1");

var ptol1545_menu = new Menu ("1545 Ptolemy");

var ptol3 = new MenuItem("ptol3", "1545 World-2", ImagePath,
  "im/ptol3_s.jpg", 381, 300, "ptol3_l.jpg",
  "Ptolemy World Map",
  "From: Ptolemy, 2nd cent. <i>Geographia universalis, vetus et nova / " +
  "complectens Claudii Ptolemaei Alexandrini enarrationis libros " +
  "VIII.</i> Basileae : per Henrichum Petrum, 1545.<p>"+
  "Map size: 33 x 25 cm.<p>" +
  "The third M&#252;nster edition, with six new maps and with some " +
  "alteration to text describing maps.",
  "ind_p.html#ptolemy", "bib_p.html#P572", "World-2", "World-2");

var stra2 = new MenuItem("stra2", "1740", ImagePath,
  "im/stra2_s.jpg", 415, 300, "stra2_l.jpg",
  "Philipp Johann von Strahlenberg, 1676-1747",
  "<i>Carte nouvelle " +
  "de tout l&#146;empire de la grand Russie : dans l&#146;estat ou il " +
  "s&#146;est trouv&#233; &#224; la mort de Pierre le Grand : " +
  "dress&#233;e sur des observations toutes nouvelles et " +
  "dedi&#233;e &#224; l&#146;immortelle memoire de ce grand " +
  "monarque.</i> &#192; Amsterdam : [J. Covens et C. " +
  "Mortier, 174-?]<p>" +
  "Map size: 46 x 65 cm.", "ind_s.html#strah", "bib_s.html#S759", 
  "1740 Strahlenberg", "1740 Strahlenberg");

var cov1 = new MenuItem("cov1", "Russia, sec 1", ImagePath,
  "im/cov1_s.jpg", 296, 300, "cov1_l.jpg",
  "Jean C&#243;vens",
  "<i>Carte generale de l&#146;empire de Russie.</i> " +
  "A Amsterdam : chez Covens et Mortier, 1748.<p>" +
  "1 map in 2 sections; each section 47 x 46 cm.<p>" +
  "An excellent portrayal of the arctic coast, reflecting information " +
  "from the second Bering expedition.",
  "ind_c.html#covens", "bib_c.html#C748", "Section 1", "Section 1");

var cov2 = new MenuItem("cov2", "Russia, sec 2", ImagePath,
  "im/cov2_s.jpg", 297, 300, "cov2_l.jpg",
  cov1.heading, cov1.body, 
  "ind_c.html#covens", "bib_c.html#C748",
  "Section 2", "Section 2");

var lisle4 = new MenuItem("lisle4", "1714 North Polar", ImagePath,
  "im/lisle4_s.jpg", 296, 300, "lisle4_l.jpg",
  "Guillaume de L&#146;Isle, 1675-1726",
  "<i>Hemisphere " +
  "septentrionale pour voir plus distinctement les terres Arctiques / " +
  "par Guillaume Delisle, de l&#146;Academie r[oya]le des " +
  "sciences.</i> A Paris : chez l&#146;auteur &#133;, 1714.<p>" +
  "Map size: 44 cm. in diam., on sheet 47 x 57 cm.<p>" +
  "This map of the northern hemisphere contains manuscript " +
  "additions, anonymous and undated, to eastern Siberia and the north " +
  "Pacific region.",
  "ind_l.html#lisle", "bib_l.html#L482", "1714 L&#146;Isle, North",
  "1714 L&#146;Isle, North Polar");

var lisle3 = new MenuItem("lisle3", "1714 South Polar", ImagePath,
  "im/lisle3_s.jpg", 301, 300, "lisle3_l.jpg",
  "Guillaume de L&#146;Isle, 1675-1726",
  "<i>Hemisphere " +
  "meridional pour voir plus distinctement les terres Australes / par " +
  "Guillaume Del&#146;Isle de l&#146;Academie r[oya]le des " +
  "sciences.</i> A Paris : ch&#233;z l&#146;auteur &#133;, 1714.<p>" +
  "Map size: 45 cm. in diam., on sheet 54 x 74 cm.<p>" +
  "This map shows the routes of explorers such as Magellan and " +
  "Dampier. It depicts the known parts of Australia and New Zealand. " +
  "The Solomon Islands appear on this map twice: once at 205 " +
  "degrees longitude (according to Fernand Gallego), and once at 255 " +
  "degrees longitude (according to Dudley).", 
  "ind_l.html#lisle", "bib_l.html#L481", 
  "1714 L&#146;Isle, South",
  "1714 L&#146;Isle, South Polar");

var Henn1 = new MenuItem("Henn1", "1697-1", ImagePath,
  "im/Henn1_s.jpg", 352, 300, "Henn1_l.jpg",
  "North America",
  "From:<br>" +
  "Hennepin, Louis, 17th cent. <i>Nouvelle decouverte d&#146;un " +
  "tres grand pays situ&#233; dans l&#146;Amerique, entre le " +
  "Nouveau Mexique, et la Mer glaciale, avec les cartes, &#038; les " +
  "figures necessaires, &#038; de plus l&#146;histoire naturelle " +
  "&#038; morale, &#038; les avantages, qu&#146;on en peut tirer " +
  "par l&#146;&#233;tablissement des colonies : le tout dedie " +
  "&#224; Sa Majest&#233; britannique Guillaume III / par le r. p. " +
  "Louis Hennepin, missionaire recollect &#038; notaire " +
  "apostolique.</i> A Utrecht : chez Guillaume Broedelet, Marchand " +
  "Libraire, 1697.",
  "ind_h.html#henn", "bib_h.html#H150", 
  "1697-1 Hennepin", "1697-1 Hennepin");

var henn2 = new MenuItem("henn2", "1697-2", ImagePath,
  "im/henn2_s.jpg", 359, 300, "henn2_l.jpg",
  "Louis Hennepin, 17th cent.",
  "From:<br>" +
  "<i>Nouvelle decouverte d&#146;un " +
  "tres grand pays situ&#233; dans l&#146;Amerique, entre le " +
  "Nouveau Mexique, et la Mer glaciale, avec les cartes, &#038; les " +
  "figures necessaires, &#038; de plus l&#146;histoire naturelle " +
  "&#038; morale, &#038; les avantages, qu&#146;on en peut tirer " +
  "par l&#146;&#233;tablissement des colonies : le tout dedie " +
  "&#224; Sa Majest&#233; britannique Guillaume III / par le r. p. " +
  "Louis Hennepin, missionaire recollect &#038; notaire " +
  "apostolique.</i> A Utrecht : chez Guillaume Broedelet, Marchand " +
  "Libraire, 1697.",
  "ind_h.html#henn", "bib_h.html#H150",
  "1697-2 Hennepin", "1697-2 Hennepin");

var hon = new MenuItem("hon", "Hondius", ImagePath,
  "im/hon_s.jpg", 430, 300, "hon_l.jpg",
  "Jodocus Hondius, 1563-1612",
  "<i>Tartaria / Jodocus Hondius " +
  "&#133;</i> [Amsterdam : J. Hondius, between 1606 and 1628]<p>" +
  "Map size: 33 x 48 cm.<p>" +
  "This map shows the Strait of Anian between Asia and North " +
  "America. Korea is portrayed as an island, and Japan is not " +
  "included.", "ind_h.html#hondius", "bib_h.html#H324", 
  "1606 Hondius", "1606 Hondius");

var stra1 = new MenuItem("stra1", "1757", ImagePath,
  "im/stra1_s.jpg", 344, 300, "stra1_l.jpg",
  "Philipp Johann von Strahlenberg, 1676-1747",
  "<i>Spatiotissimum " +
  "imperium Russiae magnae : juxta recentissimas observationes " +
  "mappa geographica accuratissime delineatum opera et " +
  "sumtibus.</i> Augustae Vindel[icorum, i.e. Augsburg] : Tobiae " +
  "Conradi Lotteri, Geogr. et Chalcogr., [between 1757 and 1768].<p>" +
  "Map size: 48 x 56 cm.", "ind_s.html#strah", "bib_s.html#S766", 
  "1757 Strahlenberg", "1757 Strahlenberg");

var stra = new MenuItem("stra", "1742", ImagePath,
  "im/stra_s.jpg", 348, 300, "stra_l.jpg",
  "Philipp Johann von Strahlenberg, 1676-1747",
  "<i>Spatiotissimum " +
  "imperium Russiae magnae : juxta recentissimas observationes " +
  "mappa geographica accuratissime delineatum opera et " +
  "sumtibus.</i> Augustae Vindel[icorum, i.e. Augsburg] : Matthaei " +
  "Seutteri &#133;, [between 1742 and 1757].<p>" +
  "Map size: 49 x 56 cm.", "ind_s.html#strah", "bib_s.html#S765", 
  "1742 Strahlenberg", "1742 Strahlenberg");

var rob = new MenuItem("rob", "Russia", ImagePath,
  "im/rob_s.jpg", 378, 300, "rob_l.jpg",
  "Didier Robert de Vaugondy, 1723-1786",
  "<i>Partie orientale de " +
  "l&#146;empire de Russie en Asie : o&#249; se trouvent les " +
  "provinces de Jakuckskoy &#133; &#038;c. et les confins de la " +
  "Tatarie Chinoise : dress&#233;e, d&#146;apr&#232;s les cartes de " +
  "l&#146;Atlas russien / par le Sr. Robert de Vaugondy fils de Mr. " +
  "Robert, g&#233;ographe ord&#146; du roy.</i> [Paris : D. Robert " +
  "de Vaugondy], 1750.<p>" +
  "Map size: 46 x 58 cm.", "ind_r.html#robert", "bib_r.html#r326",
  "1750 Robert de Vaugondy", "1750 Robert de Vaugondy");

var lisle1 = new MenuItem("lisle1", "1740 Section 1", ImagePath,
  "im/lisle1_s.jpg", 372, 300, "lisle1_l.jpg",
  "Guillaume de L&#146;Isle, 1675-1726.",
  "<i>Carte de Moscovie.</i> Amsterdam, Jean Covens et Corneille " +
  "Mortier [1740].<p>" +
  "1 map in 2 sections, each section 48 x 61 cm.",
  "ind_l.html#lisle", "bib_l.html#L477", "Section 1");

lisle1.date("Section 1");

var lisle2 = lisle1.copy();
lisle2.name = "lisle2";
lisle2.display = "1740 Section 2";
lisle2.file = "im/lisle2_s.jpg";
lisle2.width = 372;
lisle2.height = 300;
lisle2.link = ImagePath + "lisle2_l.jpg";
lisle2.region("Section 2");
lisle2.date("Section 2");

var mann = new MenuItem("mann", "Mannert", ImagePath,
  "im/mann_s.jpg", 400, 300, "mann_l.jpg",
  "Konrad Mannert, 1756-1834",
  "<i>Imperii Russici pars Orientem " +
  "Spectans : tab[ula] IIda ex optimis subsidiis / delineata a C. " +
  "Mannert.</i> Norimbergae : prostat in officina A.G. Schneideriana " +
  "&#133;, 1794.<p>" +
  "Map size: 49 x 57 cm.<p>" +
  "The Russian empire eastward from the Dvina River, indicating some " +
  "still unexplored coastlines in Nova Zemlya and northeastern Siberia. " +
  "Includes a portion of Alaska.", "ind_m.html#mannert", "bib_m.html#M127", 
  "1794 Mannert", "1794 Mannert");
  
var cass = new MenuItem ("cass", "Cassini", ImagePath,
  "im/cass_s.jpg", 364, 300, "cass_l.jpg",
  "Jacques Cassini, 1677-1756",
  "<i>Planisphere terrestre : suivant les " +
  "nouvelles observations des astronomes / dress&#233; et " +
  "pr&#233;sente au roy tres Chretien par Mr. Cassini le fils, de " +
  "l&#146; Academie Royale des Sciences = Planispherium terrestre, " +
  "secundum recentiores astronomorum. Observationes A. D. " +
  "Cavallini filio, Regie Scientiarum Academiae Socio, deline " +
  "atum.</i> Leide : chez Pierre Vander Aa, [1713].<p>" +
  "Map size: 55 x 66 cm. (map: 52 cm. diameter)<p>" +
  "This map is based on sightings of eclipses of the satellites of " +
  "Jupiter from over forty stations all over the world, giving for the " +
  "first time more precise latitude readings of these stations. Because " +
  "of this, the map is considered the first truly " +
  "&#147;scientific&#148; map of the world. The stations are marked " +
  "with an asterisk on the map. The projection is azimuthal " +
  "equidistant, centered on the North Pole. The prime meridian is the " +
  "island of Tenerife. Van der Aa copied Cassini&#146;s original and " +
  "added large classical figures in the four corners. Colored, this map " +
  "is a stunning example of the cartographer&#146;s art, and of maps " +
  "produced by the Cassini family.", "ind_c.html#cassini", 
  "bib_c.html#C187", "1713 Cassini", 
  "1713 Cassini");

var jode = new MenuItem ("jode", "Jode", ImagePath,
  "im/jode_s.jpg", 480, 300, "jode_l.jpg",
  "Gerard de Jode",
  "<i>Hemispheriu ab aequinoctiali linea " +
  "&#133;</i> [Antwerp, 1593.]<p>" +
  "Map size: 39 x 53 cm.<p>" +
  "A north and south polar projection of the earth from the " +
  "<i>Speculum orbis terrae</i> issued by Cornelis de Jode, the " +
  "cartographer&#146;s son.", "ind_j.html#jode", "bib_j.html#J106", 
  "1593 Jode", "1593 Jode");

var plan1 = new MenuItem ("plan1", "Africa", ImagePath,
  "im/plan1_s.jpg", 411, 300, "plan1_l.jpg",
  "Petrus Plancius, 1552-1622",
  "<i>Haec " +
  "tabella hydrographic&#232; oras maritimas Africae " +
  "&#224; promontorio dicto Capo de Cantin, Angloam usque " +
  "ob oculos ponit, cum situ insularum Hesperidum, vel " +
  "Promo[n]torij viridis, vulg&#242; del Capo Verde " +
  "&#133;</i> [Amsterdam : Cornelis Claesz, 1592]<p>" +
  "Map size: 37 x 53 cm.<p>" +
  "Based on Iberian sources, this map shows the west coast of Africa " +
  "from Morocco to Angola and the northeast coast of Brazil as well " +
  "as the major island groups lying between Africa and South " +
  "America.",
  "ind_p.html#plancius", "bib_p.html#p302", "1592 Plancius");

var plan2 = new MenuItem ("plan2", "East Indies", ImagePath,
  "im/plan2_s.jpg", 413, 300, "plan2_l.jpg",
  "Petrus Plancius, 1552-1622",
  "<i>Insulae Moluccae " +
  "celeberrimae sunt ob maximam aromatum copiam quam per " +
  "totum terrarum orbem mittunt : harum praecipue sunt " +
  "Ternate, Tidoris, Motir, Machian &#038; Bachian, his " +
  "quidam adjungunt Gilolum, Celebiam, Borneonem, Amboinum " +
  "&#038; Bandam &#133;</i> [Amsterdam : Cornelis Claesz, " +
  "1592]<p>Map size: 37 x 53 cm.<p>" +
  "A map of the East Indies, one of eight regional maps known to " +
  "have been published by Cornelis Claesz in 1592, a reflection of " +
  "emerging Dutch commercial interests in that region.",
  "ind_p.html#plancius", "bib_p.html#p303", "1592 Plancius");
  
var bering = new MenuItem ("bering", "Bering", ImagePath,
  "im/bering_s.jpg", 500, 203, "bering_l.jpg",
  "Vitus Jonassen Bering",
  "<i>Diese Charte &#252;ber Siberien nimti " +
  "ihren Anfang zu Tobolsk ostwarts bis an die euserste " +
  "Grentz von Sukotsky gemacht unter Commendo des Capt. " +
  "Commandeurs Bering : Ao. 1729.</i><p>" +
  "map size: 51 x 130 cm.<p>" +
  "A manuscript map measuring 22 x 51 inches, in brilliant " +
  "colors, depicting the route followed by Bering in his " +
  "first expedition to eastern Siberia in the years 1725-29.",
  "ind_d.html#diese", "bib_d.html#D265", "1729 Bering", "1729 Bering");

var zalt = new MenuItem ("zalt", "Zaltieri", ImagePath,
  "im/zalt_s.jpg", 427, 300, "zalt_l.jpg", 
  "Bolognini Zaltieri, fl. 1555-1576.",
  "<i>Il disegno del discoperto " +
  "della noua Franza, ilquale s&#146;&#232; hauuto ultimamente " +
  "dalla nouissima nauigatione d&#232; Franzesi in quel luogo, nel " +
  "quale si uedono tutti l&#146;Isole, Porti, Capi, et luoghi fra terra " +
  "chein quella sono.</i> [Venice : Antonio Lafreri, 1566]<p>" +
  "map size: 27 x 39 cm.<p>" + 
  "The earliest known printed map to contain the name of the Strait " +
  "of Anian.",
  "ind_z.html#zalt", "bib_z.html#z2", "1566 Zaltieri", "1566 Zaltieri");

var tomap = new MenuItem ("tomap", "Isidore TO map",
  ImagePath, "im/to_s.jpg", 297, 300,
  "to_l.jpg", "Saint Isidore of Seville", 
  "From: <i>Isidori Iunioris Hispalensis " + 
  "episcopi Ethimologiarum libri " +
  "numero viginti finiunt foeliciter &#133;</i> Augsburg, " +
  "G&#252;nther Ziner, 1472.<p>" +
  "This is the first printed &#147;TO&#148; map of the world.", 
  "ind_i.html#isidore", "bib_i.html#I64", "1472 &#147;TO&#148; map",
  "1472 Isidore TO map");
  
var canepa = new MenuItem ("canepa", "Canepa", 
  ImagePath, "im/canepa_s.jpg", 447, 300,
  "canepa_l.jpg", "Albini de Canepa", 
  "<i>Portolan chart: 1489</i><p>\n" +
  "map size: 80 x 120 cm.<p>" +
  "This chart includes all of Europe, extending to the Black and Red " +
  "seas in the east, and shows Antilia at the western extreme. The " +
  "cartographer was Genoese, and he indicates the Genoese trading " +
  "stations in the Black Sea area.",
  "ind_c.html#canepa", "bib_c.html#C49", "1489 Canepa", "1489 Canepa");

var Novaz = new MenuItem ("Novaz", "Commelin", sp, 
  "im/NovaSmall.jpg", 463, 350, "Nova.jpg",
  "Nova Zembla", "Carte van Nova Zembla &#133;</I>, from: Commelin, "+
  "Isaac. <I>Begin ende voortgangh van de Vereenighde "+
  "Nederlantsche geoctroyeerde Oost-Indische "+
  "Compagnie</I>. [Amsterdam] 1646. 2 vols.<p> "+
  "map size: 18 x 14 cm.<p> "+
  "The map is in volume one between pages 52-53. This "+
  "collection consists of twenty-one narratives of Dutch "+
  "voyages to the East Indies from 1594 to 1631, "+
  "constituting a history of the &#147;beginning and "+
  "progress of the Dutch East India Company.&#148;",
  "ind_c.html#commelin", "bib_c.html#C501");
Novaz.region("1646 Nova Zembla");

var Dablon = new MenuItem ("Dablon", "Dablon", 
  sp, "im/LkSmall.jpg", 403, 300, "Lk_sup.jpg",
  "Lake Superior region",
  "<I>Lac Superieur et autres lieux ou sont les missions des " +
  "peres de la Compagnie de Jesus comprises sous le nom " +
  "d&#146;Outaouacs</I>, from: Dablon, Claude, 1619-1697. "+
  "<I>Relation de ce qui s&#146;est pass&eacute; de plus "+
  "remarquable aux missions des peres de la Compagnie de "+
  "Jesus en la Nouvelle France, les ann&eacute;es 1670 "+
  "&amp; 1671</I>. Paris, Sebastien Mabre-Cramoisy, "+
  "1672.<p>"+
  "map size: 36 x 48 cm.<p>"+
  "Located between pages 86 and 87. Dablon says of this "+
  "map:"+
  "<font size=-1><blockquote>It was drawn by two fathers of "+
  "considerable intelligence, interested in research and "+
  "very accurate, who wished to set down nothing they had "+
  "not seen with their own eyes. For this reason they have "+
  "shown only the beginnings of Lake Huron and Lake "+
  "Illinois.&#133; because they do not have first-hand "+
  "knowledge of some parts of these lakes, they prefer to "+
  "leave the work partly imperfect rather than to issue it "+
  "with inaccuracies, as always happens in such cases when "+
  "the mere report of others is relied on.</font></blockquote><p>"+
  "<I>Cf. Jesuit Relations and other Americana in the library "+
  "of James F. Bell</I>. Minneapolis, University of "+
  "Minnesota Press, 1950, p. 122.",
  "ind_d.html#dablon", "bib_d.html#D1", "1672 Lake Superior");

var Descriptio = new MenuItem ("Descriptio", "Descriptio",
  sp, "im/Desc_b_tn.jpg", 500, 269, "Desc.html",
  "Descriptio hydrographica accomodata ad Battavorum.&#133;",
  "[Germany?], ca. 1597.<p>"+
  "map size: 34 x 65 cm.<p>"+
  "A navigational map of Africa and the Atlantic and Indian Oceans,\n"+
  "showing portions of Brazil and Australia. It was designed to\n"+
  "illustrate the first Dutch expedition to Java undertaken by Cornelis\n"+
  "de Houtman, 1595-1597, and the itinerary of this voyage is indicated.",
  "ind_d.html#desc", "bib_d.html#D220", "1597 Descriptio");

var Henn = new MenuItem ("Henn", "1699",
  sp, "im/Henn_s.jpg", 360, 300, "Henn.html",
  "Louis Hennepin",
  "<i>Charte eines sehr grossen Landes zwischen Ne&#252;\n"+
  "Mexico und dem Eissmeer &#038;c.</i> Bremen, P.G.\n"+
  "Sauerman, 1699.<p>\n"+
  "map size: 40 x 49 cm.", "ind_h.html#henn",
  "bib_h.html#H141");

var Hafrica = new MenuItem ("Hafrica", "Africa",
  sp, "im/HafSmall.jpg", 408, 349, "Hafrica.html",
  "Johann Baptist Homann",
  "<i>Totius Africae nova repraesentatio qua praeter\n"+
  "diversos in ea status et regiones, etiam origo Nili ex\n"+
  "veris rr. pp. missionariorum relationibus ostenditur /\n"+
  "&#226; Io. Baptista Homanno Norimbergae.</i>\n"+
  "[N&#252;rnberg : s.n., 1707]<p>\n"+
  "map size: 48 x 57 cm.", "ind_h.html#homann",
  "bib_h.html#H321", "1707 Homann");

var Aafrica = new MenuItem ("Aafrica", "Africa",
  sp1, "im/AlafSmall.jpg", 410, 349,
  "africa.html", "Carel Allard",
  "<i>Novissima et perfectissima Africae descriptio / ex " +
  "formis Caroli Allard.</i> " +
  "[Amsterdam : s.n., 1696]<p>\n"+
  "map size: 50 x 59 cm.", "ind_a1.html#allard",
  "bib_a1.html#africa", "1696 Allard");

var Aamerica = new MenuItem ("Aamerica", "America",
  sp1, "im/AlamSmall.jpg", 409, 348,
  "AllardAm.html", "Carel Allard",
  "<i>Recentissima novi orbis, sive Americae septentrionalis\n"+
  "et meridionalis tabula / ex officina Caroli Allard.</i>\n"+
  "[Amsterdam : s.n., 1696]<p>\n"+
  "map size: 49 x 58 cm.<br>", "ind_a1.html#allard",
  "bib_a1.html#a98_3", "1696 Allard");

var Aasia = new MenuItem ("Aasia", "Asia",
  sp1, "im/AlasSmall.jpg", 409, 347,
  "AllardAs.html", "Carel Allard",
  "<i>Exactissima Asiae delineatio, in praecipuas regiones,\n"+
  "caeterasq[ue] partes divisa, et denu&#242; in lucem edita /\n"+
  "per Carolum Allard, Amstelo- Batavum.</i> [Amsterdam :\n"+
  "s.n., 1696]<p>\n"+
  "map size: 49 x 58 cm.", "ind_a1.html#allard",
  "bib_a1.html#a98_4");

var Aeurope = new MenuItem ("Aeurope", "Europe",
  sp1, "im/AlEuSmall.jpg", 410, 348,
  "europe.html", "Carel Allard",
  "<i>Accuratissima Europae tabula, multis locis correcta,\n"+
  "et nuperrim&#232; edita / authore Carolo Allard,\n"+
  "Amstelo-Batavo.</i> [Amsterdam : s.n., 1696]<p>\n"+
  "map size: 50 x 59 cm.", "ind_a1.html#allard",
  "bib_a1.html#a98_2");

var Aworld = new MenuItem ("Aworld", "World",
  sp1, "im/AlwoSmall.jpg", 403, 350,
  "world.html", "Carel Allard",
  "<i>Planisphaerium terrestre, sive terrarum orbis,\n"+
  "planisphaeric&#232; constructi repraesentatio\n"+
  "quintuplex : adjunctis aliquibus astronomicae\n"+
  "geographiae tyrociniis. </i> [Amsterdam : s.n.,\n"+
  "1696]<p>\n"+
  "map size: 52 x 60 cm.", "ind_a1.html#allard",
  "bib_a1.html#world");

var Hamerica = new MenuItem ("Hamerica", "America 1707",
  sp, "im/Hamerica_tn.jpg", 353, 300, "Hamerica.html",
  "Johann Baptist Homann",
  "<i>Totius Americae septentrionalis et meridionalis\n"+
  "novissima repraesentatio quam ex singulis recentium\n"+
  "geographorum tabulis collecta[m] luci publicae\n"+
  "accommodavit / Iohannes Baptista Homann\n"+
  "Norimbergae.</i> [N&#252;rnberg : s.n., 1707]<p>\n"+
  "map size: 48 x 57 cm.", "ind_h.html#homann",
  "bib_h.html#H322", "1707 Homann", "America");

var Hasia = new MenuItem ("Hasia", "Asia", 
  sp, "im/H_asia_tn.jpg", 353, 300, "Hasia.html",
  "Johann Baptist Homann",
  "<i>Asiae recentissima delineatio, qua status et imperia\n"+
  "totius orientis unacum orientalibus indiis exhibentur /\n"+
  "authore Io. Bapt. Homanno Norimbergae.</i>\n"+
  "[N&#252;rnberg : s.n., 1707]<p>\n"+
  "map size: 48 x 57 cm.", "ind_h.html#homann",
  "bib_h.html#H316");

var Heurope = new MenuItem ("Heurope", "Europe",
  sp, "im/h_europe_tn.jpg", 347, 300, "Heurope.html",
  "Johann Baptist Homann",
  "<i>Europa Christiani orbis domina in sua imperia,\n"+
  "regna, et status / exact&#232; divisa per Iohan. Bapt.\n"+
  "Homann Norimbergae.</i> [N&#252;rnberg : s.n., 1707]<p>\n"+
  "map size: 48 x 57 cm.", "ind_h.html#homann",
  "bib_h.html#H317");

var Hworld = new MenuItem ("Hworld", "World 1707",
  sp, "im/H_world_tn.jpg", 350, 300, "Hworld.html",
  "Johann Baptist Homann",
  "<i>Planiglobii terrestris cum utroq hemisphaerio\n"+
  "caelesti generalis exhibitio, quam ex novissimis\n"+
  "probatissimisque Gallorum &#038; Batavorum tabulis\n"+
  "concinnatam, multisq[ue] phaenomenis illustratam luci\n"+
  "publicae / auctor Ioh. Baptista Homann,\n"+
  "Norimbergae.</i> [N&#252;rnberg : s.n., 1707]<p>\n"+
  "map size: 53 x 62 cm.", "ind_h.html#homann",
  "bib_h.html#H320", "1707 Homann", "World");

var Hruss1 = new MenuItem ("Hruss1", "Russia1",
  sp, "im/russia1_s.jpg", 352, 300, "hmap.html",
  "Johann Baptist Homann",
  "<i>Generalis totius Imperii Moscovitici, novissima\n"+
  "tabula &#133;</i> Nuremberg, Johannis Baptistae Homann\n"+
  "[1704?].<p>\n"+
  "map size: 48 x 56 cm.", "ind_h.html#homann",
  "bib_h.html#H318");

var Hruss2 = new MenuItem ("Hruss2", "Russia2",
  sp, "im/h2a_b_tn.jpg", 351, 300, "hmap2.html",
  "Johann Baptist Homann",
  "<i>Generalis totius Imperii Russorum, novissima tabula\n"+
  "&#133;</i> Nuremberg, Johannis Baptistae Homanni\n"+
  "[between 1721 and 1723].<p>\n"+
  "map size: 48 x 56 cm.", "ind_h.html#homann",
  "bib_h.html#H319");

var Borneo1 = new MenuItem ("Borneo1", "Hulsius",
  sp, "im/Borneo_tn.jpg", 495, 300, "Borneo.jpg",
  "East Indies",
  "Insula India Orientalis et Molucae</I>, from: Hulsius,\n"+
  "Levinus, ca. 1550-1606. <I>Achte Schiffart oder Kurtze\n"+
  "Beschreibung etlilicher Reysen so die Holl&auml;nder\n"+
  "und Seel&auml;nder in die Ost Indien von Anno 1599 biss\n"+
  "Anno 1604 gethan</I>. Frankfurt, Matthis Beckern,\n"+
  "1608.</P><p>\n"+
  "map size: 19 x 27 cm.<p>\n"+
  "Map precedes page five. Depicts the route to the\n"+
  "Moluccas Islands between Sumatra and Java of the Dutch\n"+
  "voyage of 1599. In the seventeenth century the Dutch\n"+
  "were to dominate the Spice Island trade.", 
  "ind_h.html#hulsius", "bib_h.html#H386", "1608 Hulsius");

var Humb = new MenuItem ("Humb", "Humboldt",
  ImagePath, "im/hum_s.jpg", 500, 292, "hum_l.jpg",
  "Alexander von Humboldt",
  "<i>Manuscript Map of the Rio Negro</i>. 1800.<p>\n"+
  "map size: 40 x 30 cm ; 15 x 19 cm. extension tipped on\n"+
  "with sealing wax.<p>\n"+
  "A manuscript map by Alexander Humboldt drawn during the\n"+
  "explorer/scientist&#146;s voyage through South America\n"+
  "(1799-1804). The map covers an area of 400 miles in\n"+
  "length and centers on the Rio Negro.<p>\n"+
  "Humboldt&#146;s discovery of the link between the\n"+
  "Amazon and Orinoco Rivers is considered one of the top\n"+
  "achievements of the entire expedition. The map\n"+
  "illustrates a part of the area in which he made this\n"+
  "discovery and thus must be considered one of the most\n"+
  "significant cartographic records of this voyage. The\n"+
  "drawing is on parchment paper recording Humboldt&#146;s\n"+
  "observations in pencil and ink.", "ind_h.html#humboldt",
  "bib_h.html#H414");

var Novah = new MenuItem ("Novah", "Nova Hispania",
  sp, "im/NovaHis_th.jpg", 378, 300, "NovaH.html",
  "Nova Hispania, Nova Galicia, Guatemala",
  "From:\n"+
  "Laet, Joannes de. <i>L&#146; histoire du Nouveau Monde\n"+
  "ou description des Indes Occidentales, contenant dix\n"+
  "huit livres</i>. Leyden, Bonaventure &#038; Abrahm\n"+
  "Elseuiers, 1640.<p>\n"+
  "map size: 28 x 36 cm.<p>\n"+
  "The map is located between pages 130-131. This French\n"+
  "translation of Laet contains much information not found\n"+
  "in the original Dutch edition. It includes 14 engraved\n"+
  "maps portraying the major land areas of the New World\n"+
  "(North, Central and South America).", 
  "ind_l.html#laet", "bib_l.html#L34", "1640 Nova Hispania");

var Lode = new MenuItem ("Lode", "Lodewijcksz",
  sp, "im/Lode_tn.jpg", 421, 300, "Lode.html",
  "Willem Lodewijcksz",
  "<i>Nova tabula insularum Iavae, Sumatrae, Borneonis et\n"+
  "aliarum Malaccaam</i>.&#133; Amsterdam, Cornelius\n"+
  "Nicolai, 1598.<p>\n"+
  "map size: 37 x 52 cm.<p>\n"+
  "A detailed map of a portion of the East Indies, the\n"+
  "first Dutch mapping of this area.", 
  "ind_l.html#lode", "bib_l.html#L518", "1598 Lodewijcksz");

var Luffman = new MenuItem ("Luffman", "Luffman",
  sp, "im/SanD_tn.jpg", 486, 300, "SanD.jpg",
  "Santo Domingo",
  "Luffman, John. <I>Hispaniola, or Saint Domingo</I>,\n"+
  "from: Wimpffen, Fran&ccedil;ois Alexandre Stanislaus,\n"+
  "baron de. <I>A voyage to Saint Domingo, in the years\n"+
  "1788, 1789, and 1790</I>. London, T. Cadell, W. Davies\n"+
  "and J. Wright, 1797.<p>\n"+
  "map size: 27 x 43 cm.<p>\n"+
  "Map precedes page one. French portion outlined in\n"+
  "yellow water color, Spanish in red. Wimpffen&#146;s\n"+
  "book is a description of the island and of conditions\n"+
  "that led to the slave rebellion there.", 
  "ind_w.html#wimpffen", "bib_w.html#w181");

var Medina = new MenuItem ("Medina", "Medina",
  sp, "im/Medina_tn.jpg", 494, 300, "Medina.jpg",
  "Atlantic Region",
  "Nuevo Mundo</I>, from: Medina, Pedro de, 1493?-1567?\n"+
  "<I>Arte de nauegar</I>. [Valladolid, F. Fernandez de\n"+
  "Cordua, 1545.]<p>\n"+
  "map size: 14 x 24 cm.<p>\n"+
  "The map is on the recto of leaf 22. This woodcut map\n"+
  "shows the result of Spanish explorations to the year\n"+
  "1540. It depicts the mouths of the Mississippi and\n"+
  "Saint Lawrence Rivers. Medina&#146;s book is considered\n"+
  "the first practical treatise on the science of\n"+
  "navigation.", "ind_m.html#medinap", "bib_m.html#M301",
  "1545 Medina");

var Mortier_f = new MenuItem ("Mortier_f", "Full map",
  ImagePath, "im/darienf_s.jpg", 421, 300, "darienf_l.jpg",
  "Pieter Mortier", "<i>Carte particuliere de Isthmus, ou " +
  "Darien, qui comprend le Golfe de Panama &c. Cartagene, " +
  "et les isles aux environs.</i> Amsterdam, Pierre Mortier " +
  "[ca. 1698].<p>" +
  "map size: 61 x 85 cm.<p>" +
  "The emphasis of this map is on two points, the Gulf of Darien " +
  "and the harbor of Cartagena, both of which are included in " +
  "detailed insets. The Darien map clearly represents developments " +
  "of the 1698-99 period when the Scottish colony at New Edinburgh " +
  "or New Caledonia was being attempted. Soundings, location of " +
  "the fort, and ships in the harbor all indicate Scottish presence. " +
  "Mortier's ability to acquire this information during the brief " +
  "life of the Scottish colony may have been due to his brother's " +
  "residence in London during these years. Beyond the two " +
  "localities thus highlighted, the map extends from sixty-six degrees " +
  "on the east to eighty on the west, with good detail of coastal areas.",
  "ind_m.html#mortier", "bib_m.html#M567", "Full map", "Full map");

var Mortier = new MenuItem ("Mortier", "New Caledonia",
  sp, "im/Darien_tn.jpg", 500, 210, "Darien.jpg",
  "Darien",
  "<I>Rade de Darien et les isles aux environs</I>, inset\n"+
  "from: Mortier, Pieter. <I>Carte particuliere de\n"+
  "Isthmus, ou Darien, qui comprend le Golfe de Panama\n"+
  "&amp;c. Cartagene, et les isles aux environs.</I>\n"+
  "Amsterdam, Pierre Mortier [ca. 1698].<p>\n"+
  "map size: 48 x 20 cm.<p>\n"+
  "Hand colored insert map showing the area of the\n"+
  "Scots&#146; colony of Darien. The full map measures 61\n"+
  "x 85 cm. The map represents developments of the\n"+
  "Scottish colony at New Edinburgh or New Caledonia.\n"+
  "Mortier&#146;s ability to acquire the detailed\n"+
  "information shown on the map during the brief life of\n"+
  "the colony may have been due to his brother&#146;s\n"+
  "residence in London during 1698-99.", 
  "ind_m.html#mortier", "bib_m.html#M567",
  "New Caledonia", "New Caledonia");

var Reisch = new MenuItem ("Reisch", "1503 Reisch",
  sp, "im/ptolemy2_tn.jpg", 438, 300, "ptolemy2.jpg",
  "Ptolemy",
  "From: Gregor Reisch, <I>Margarita philosophica</I>.\n"+
  "[Freiburg, Joannes Schott, 1503.]<p>\n"+
  "map size: 29 x 42 cm.<p>\n"+
  "This Ptolemaic woodcut map is located in signature\n"+
  "<I>o</I> between leaves 7 and 8. It differs from the\n"+
  "one published in the 1490 edition of Ptolemy,\n"+
  "containing Reisch&#146;s note: &#147;islands not known\n"+
  "to Ptolemy&#148; which appears to be the first\n"+
  "cartographic suggestion that more lands existed than\n"+
  "Ptolemy had known, thus marking the beginning of the\n"+
  "trend away from blind acceptance of Ptolemy.", 
  "ind_r.html#reisch", "bib_r.html#r158");

var Pt1598 = new MenuItem ("Pt1598", "1598",
  sp, "im/ptol_tn.jpg", 338, 300, "ptol.html",
  "Ptolemy",
  "<i>Ptolemeisch general tafel, die halbe kugel der weldt\n"+
  "begreiffende.</i> [Basel : s.n., 1598].<p>\n"+
  "map size:29 x 34 cm.", "ind_p.html#ptolemy",
  "bib_p.html#ptolemy1598");

var Reinel = new MenuItem ("Reinel", "Reinel",
  sp, "im/Reinel_tn.jpg", 238, 300, "Reinel.jpg",
  "Jorge Reinel",
  "[<i>Portolan chart of the\n"+
  "Atlantic Ocean</i>. Portugal, ca. 1534.]<p>\n"+
  "map size: 79 x 59 cm.<p>\n"+
  "This manuscript map focuses on the triangle of\n"+
  "navigation between Europe, Africa, and Brazil. Note the\n"+
  "many place names on the coasts of Africa and Brazil.", 
  "ind_r.html#reinel", "bib_r.html#r157", "1534 Reinel");

var Roselli = new MenuItem("Roselli", "Roselli",
  CurrentPath+"im/", "im/ros_tn.jpg", 500,
  295, "roselli.jpg",
  "Petrus Roselli",
  "[<i>Portolan chart of the\n"+
  "Mediterranean, Europe and northern Africa</i>. Majorca,\n"+
  "1466.]<p>\n"+
  "map size: 94 x 54 cm.<p>\n"+
  "This manuscript map gives many details for the coasts\n"+
  "it depicts. Intended for use by mariners, the\n"+
  "map&#146;s interior areas are left blank or are filled\n"+
  "with decorative illustrations.", "ind_r.html#roselli",
  "bib_r.html#r414", "1466 Roselli");

var Bermuda = new MenuItem ("Bermuda", "Bermuda",
  sp, "im/Speed_b_tn.jpg", 399, 300, "Speed.html",
  "John Speed",
  "<i>Mappa Aestivarum Insularum alias Bermudas\n"+
  "dictarum</i>.&#133; Amsterdam, Abraham Goos, ca.\n"+
  "1626.<p>\n"+
  "map size: 60 x 72 cm.<p>\n"+
  "&#147;These Ilands, formerly called the Bermudas, now\n"+
  "the Sommer Ilands, shunned by travellers, as most\n"+
  "dangerous, and seldome seene by any, except against\n"+
  "their wills, reputed to be rather a hold and habitation\n"+
  "of Devils, then any fit place for men to abide in, were\n"+
  "discovered in the years 1609.&#148;", 
  "ind_s.html#speed", "bib_s.html#S615", "1626 Bermuda");

var Sasia = new MenuItem ("Sasia", "Asia",
  sp, "im/Speed2_tn.jpg", 391, 300, "Speed2.html",
  "John Speed",
  "<i>Asia with the islands adioyning described, the atire\n"+
  "of the people, &#038; townes of importance, all of them\n"+
  "newly augmented / by I. S. Ano. Dom. 1626.</i> [London]\n"+
  ": are to be sold by Tho. Bassett &#133;, and Richard\n"+
  "Chiswell &#133;, 1626.<p>\n"+
  "map size: 42 x 54 cm.", "ind_s.html#speed",
  "bib_s.html#S613");

var Mississippi = new MenuItem ("Mississippi", "Th&eacute;venot",
  sp, "im/mississ_tn.jpg", 500, 208, "mississ.jpg",
  "Mississippi River",
  "<I>Carte de la decouverte faite l&#146;an 1673 dans\n"+
  "l&#146;Amerique Septentrionale</I>, from:\n"+
  "Th&#233;venot, Melchis&#233;dec, 1620-1692. <I>Recueil\n"+
  "de voyages de Mr. Th&eacute;venot</I>. Paris, Estienne\n"+
  "Michallet, 1681.<p>\n"+
  "map size: 17 x 41 cm.<p>\n"+
  "This map of the Mississippi River is located between\n"+
  "the table of contents and the first page of the text.\n"+
  "Th&eacute;venot&#146;s book is the first printed\n"+
  "account of the explorations of Marquette and Joliet and\n"+
  "was taken from a manuscript probably prepared by Claude\n"+
  "Dablon from the narrative by Marquette. <I>Cf</I>.\n"+
  "Sabin, 95332.", "ind_t.html#thevenot",
  "bib_t.html#t75");

var Wald = new MenuItem ("Wald", "Waldseem&uuml;ller",
  sp, "im/Walds_b_tn.jpg", 485, 300, "Walds_b.jpg",
  "Martin Waldseem&uuml;ller",
  "[<I>The 1507\n"+
  "globular map of the world</I>. St. Die, 1507.]<p>\n"+
  "map size: 39 x 24 cm.<p>\n"+
  "This is the first globular map to use the term\n"+
  "&#147;America&#148; in designating the continents of\n"+
  "the New World. It was originally published to accompany\n"+
  "Waldseem&uuml;ller&#146;s <I>Cosmographiae\n"+
  "introductio</I>.", "ind_w.html#wald", "bib_w.html#w22",
  "1507 Waldseem&uuml;ller");

var Laet2 = new MenuItem ("Laet2", "Tierra Firma",
  sp, "im/Laet_tn.jpg", 374, 300, "Laet.html",
  "Tierra Firma, Nuevo Reyno de Granada",
  "From:\n"+
  "Laet, Joannes de. <i>L&#146; histoire du Nouveau Monde\n"+
  "ou description des Indes Occidentales, contenant dix\n"+
  "huit livres.</i> Leyden, Bonaventure &#038; Abrahm\n"+
  "Elseuiers, 1640.<p>\n"+
  "map size: 28 x 36 cm.<p>\n"+
  "The map is between pages 266-267.", "ind_l.html#laet",
  "bib_l.html#L34", "1640 Tierra Firma");

var Ruysch = new MenuItem ("Ruysch", "Ruysch", sp, "im/Ruy_small.jpg", 405, 300,
  "Ruy_large.jpg", "Johannes Ruysch, World Map",
  "For nearly four hundred years, this was considered the first " +
  "map to show the New World.<p>\n" +
  "map size: 55 x 40 cm.<p>\n" +
  "The map is the last in the atlas from Ptolemy, 2nd cent., \n" +
  "<i>In hoc opere haec....</i> [Rome : Bernadinus Venetus de \n" +
  "Vitalibus, 1508]", "ind_p.html#ptolemy", "bib_p.html#ruysch",
  "1508 Ruysch");

var Ruysch2 = Ruysch.copy("Ruysch2");
Ruysch2.display = "1503 Ruysch";

var Pizzigano = new MenuItem ("Pizzigano", "Pizzigano",
  CurrentPath+"im/", "im/1424_tn.jpg", 472, 300,
  "1424.jpg", "Zuane Pizzigano portolan chart",
  "A portolan chart of western Europe and the Atlantic Ocean. " +
  "A group of islands, including &#147;Antylia,&#148; are the " +
  "earliest known portrayal of land in the western Atlantic.<p>\n" +
  "<i>The 1424 Nautical Chart.</i> Manuscript. Portugal, 1424.<p>\n" +
  "map size: 88 x 56 cm.", "ind_p.html#pizz", "bib_p.html#p295",
  "1424 Pizzigano");

var Blaeu = new MenuItem ("Blaeu", "Blaeu",
  CurrentPath+"im/", "im/Blaeu_tn.jpg", 404,
  300, "Blaeu.jpg", "Blaeu map of Africa",
  "This map of Africa is from Joan Blaeu, <i>Le grand atlas.</i> " +
  "Amsterdam, J. Blaeu, 1667.<p>",
  "ind_b.html#blaeu", "bib_b.html#B336", 
  "1667 Blaeu");

//Menus here
var AlphaMenu = new MainMenu("alpha");
var RegionMenu = new MainMenu("region");
var DateMenu = new MainMenu("date");

var baltic = new Menu("Baltic Sea");
var scandinavia = new Menu("Sandinavia");
var mercator = new Menu("Mercator");
var mort = new Menu("Mortier");
mort.rdisplay = "1698 Darien";
mort.ddisplay = "1698 Darien";
var mercator1633 = new Menu("1633 Mercator");
var ortelius = new Menu("Ortelius");
var ortelius1570 = new Menu("1570 Ortelius");
var sanson = new Menu("Sanson");
var sanson1666 = new Menu("1666 Sanson");
var hennepin = new Menu("Hennepin");
var covens = new Menu("C&#243;vens");
covens.Setkey("Covens");
covens.rdisplay = "1748 Covens";
covens.ddisplay = "1748 Covens";
var strah = new Menu("Strahlenberg");
var lisle = new Menu("L&#146;Isle, G");
lisle.Setkey("Lisle g");
lisle.rdisplay = "1740 L&#146;Isle";
var lisle_r = lisle.copy();
lisle_r.ddisplay = "1740 L&#146;Isle";
var Polar = new Menu("Polar");
Polar.add(scherer);
Polar.add(weigel);
var Brazil = new Menu("Brazil");
var Plancius = new Menu("Plancius");
var PlanciusDate = Plancius.copy();
PlanciusDate.ddisplay = "1592 Plancius";

var Africa = new Menu("Africa");

Africa.add(ogilby);
Africa.add(Reinel);
Africa.add(Roselli);
Africa.add(Hafrica);
Africa.add(Descriptio);
Africa.add(Blaeu);
Africa.add(Aafrica);
Africa.sort("region");

var Americas = new Menu("Americas");
Aamerica.region("1696 Allard");

Americas.add(Henn);
Americas.add(Hamerica);
Americas.add(Medina);
Americas.add(Aamerica);

var NorthAmerica = new Menu("North America");
Mississippi.region("1681 Mississippi River");
NorthAmerica.add(Mississippi);
NorthAmerica.add(Dablon);
NorthAmerica.add(Bermuda);
NorthAmerica.sort("region");

var SouthAmerica = new Menu("South America");
Humb.region("1800 Rio Negro");

SouthAmerica.add(Humb);
SouthAmerica.add(Brazil);
SouthAmerica.sort("region");

var CentralAmerica = new Menu("Central America");
CentralAmerica.add(Novah);
CentralAmerica.add(Laet2);
CentralAmerica.add(mort);
CentralAmerica.sort("region");

var Caribbean = new Menu("Caribbean");
Luffman.region("1797 Santo Domingo");
Caribbean.add(Luffman);
Caribbean.add(mort);
Caribbean.sort("region");

Americas.add(Caribbean);
Americas.add(CentralAmerica);
Americas.add(SouthAmerica);
Americas.add(NorthAmerica);
Americas.sort("region");

var Asia = new Menu("Asia");
Aasia.region("1696 Allard");
Hasia.region("1707 Homann");
Sasia.region("1626 Speed");
Asia.add(Sasia);
Asia.add(Hasia);
Asia.add(Aasia);
Asia.sort("region");

var Atlantic = new Menu("Atlantic Ocean");
Atlantic.add(Medina);
Atlantic.add(Pizzigano);
Atlantic.add(Reinel);
Atlantic.add(Descriptio);
Atlantic.sort("region");

var EastIndies = new Menu("East Indies");
EastIndies.add(Lode);
EastIndies.add(Borneo1);
EastIndies.sort("region");

var Europe = new Menu("Europe");
Heurope.region("1707 Homann");
Aeurope.region("1696 Allard");
Europe.add(Pizzigano);
Europe.add(Roselli);
Europe.add(Reinel);
Europe.add(Heurope);
Europe.add(Aeurope);
Europe.add(baltic);
Europe.add(scandinavia);
Europe.sort("region");

var IndianOcean = new Menu("Indian Ocean");
IndianOcean.add(Descriptio);
IndianOcean.sort("region");

var Mediterranean = new Menu("Mediterranean");
Mediterranean.add(Roselli);
Mediterranean.sort("region");

var Russia = new Menu("Russia");
Hruss1.region("1704 Homann");
Hruss2.region("1721 Homann");

Russia.add(covens);
Russia.add(Hruss1);
Russia.add(Hruss2);
Russia.add(Novaz);
Russia.add(lisle_r);
Russia.sort("region");

var World = new Menu("World");
Aworld.region("1696 Allard");
Pt1598.region("1598 Ptolemy");
Reisch.region("1503 Reisch");

World.add(sworld_menu);
World.add(ptol1545_menu);
World.add(Wald);
World.add(Ruysch);
World.add(Pt1598);
World.add(Reisch);
World.add(Aworld);
World.add(Hworld);
World.sort("region");

RegionMenu.add(Polar);
RegionMenu.add(World);
RegionMenu.add(Russia);
RegionMenu.add(Mediterranean);
RegionMenu.add(IndianOcean);
RegionMenu.add(Europe);
RegionMenu.add(EastIndies);
RegionMenu.add(Atlantic);
RegionMenu.add(Asia);
RegionMenu.add(Americas);
RegionMenu.add(Africa);
RegionMenu.sort();

var Speed = new Menu("Speed");
Speed.add(Sasia);
Speed.add(Bermuda);
Speed.sort();

var Ptolemy = new Menu("Ptolemy");
Ptolemy.add(Ruysch2);
Ptolemy.add(Reisch);
Ptolemy.add(Pt1598);
Ptolemy.sort();

var Laet = new Menu("Laet");
Laet.add(Novah);
Laet.add(Laet2);
Laet.sort();

var Allardm = new Menu("Allard");
Allardm.add(Aasia);
Allardm.add(Aafrica);
Allardm.add(Aworld);
Allardm.add(Aeurope);
Allardm.add(Aamerica);
Allardm.sort();

var Hom = new Menu("Homann");
Hom.add(Hamerica);
Hom.add(Hworld);
Hom.add(Hruss2);
Hom.add(Hruss1);
Hom.add(Heurope);
Hom.add(Hasia);
Hom.add(Hafrica);
Hom.sort();

AlphaMenu.add(mil_menu);
AlphaMenu.add(weigel);
AlphaMenu.add(macrobius);
AlphaMenu.add(rob_menu);
AlphaMenu.add(mercator);
AlphaMenu.add(ortelius);
AlphaMenu.add(sanson);
AlphaMenu.add(covens);
AlphaMenu.add(hennepin);
AlphaMenu.add(strah);
AlphaMenu.add(lisle);
AlphaMenu.add(Plancius);
AlphaMenu.add(Speed);
AlphaMenu.add(Ptolemy);
AlphaMenu.add(Hom);
AlphaMenu.add(Allardm);
AlphaMenu.add(Laet);
AlphaMenu.add(Blaeu);
AlphaMenu.add(Pizzigano);
AlphaMenu.add(Ruysch);
AlphaMenu.add(Wald);
AlphaMenu.add(Mississippi);
AlphaMenu.add(Roselli);
AlphaMenu.add(Reinel);
AlphaMenu.add(Medina);
AlphaMenu.add(mort);
AlphaMenu.add(Luffman);
AlphaMenu.add(Lode);
AlphaMenu.add(Descriptio);
AlphaMenu.add(Dablon);
AlphaMenu.add(Novaz);
AlphaMenu.add(Humb);
AlphaMenu.add(Borneo1);
AlphaMenu.add(scherer);
AlphaMenu.add(ogilby);
AlphaMenu.add(lap_menu1);

AlphaMenu.sort();

var m1400 = new Menu("1400s");
Pizzigano.date("1424 Pizzigano");
Roselli.date("1466 Roselli");
m1400.add(Roselli);
m1400.add(Pizzigano);
m1400.sort("date");

var m1500 = new Menu("1500s");
Reisch.date("1503 Reisch");
Wald.date("1507 Waldseem&uuml;ller");
Ruysch.date("1508 Ruysch");
Reinel.date("1534 Reinel");
Lode.date("1598 Lodewijcksz");
Pt1598.date("1598 Ptolemy");
Medina.date("1545 Medina");
Descriptio.date("1597 Africa....");
m1500.add(ptol1545_menu);
m1500.add(ortelius1570);
m1500.add(PlanciusDate);
m1500.add(Reisch);
m1500.add(Wald);
m1500.add(Ruysch);
m1500.add(Reinel);
m1500.add(Lode);
m1500.add(Pt1598);
m1500.add(Medina);
m1500.add(Descriptio);
m1500.sort("date");

var m1600 = new Menu("1600s");
Borneo1.date("1608 Hulsius");
var Speed1 = Speed.copy();
Speed1.ddisplay = "1626 Speed";
var Laet3 = Laet.copy();
Laet3.ddisplay = "1640 Laet";
Novaz.date("1646 Commelin");
Blaeu.date("1667 Blaeu");
Dablon.date("1672 Dablon");
Mississippi.date("1681 Th&eacute;venot");
var Allardm2 = Allardm.copy();
Allardm2.ddisplay = "1696 Allard";
//Mortier.date("1698 Mortier");
Henn.region("1699 Hennepin");
Henn.date("1699 Hennepin");

m1600.add(mercator1633);
m1600.add(sanson1666);
m1600.add(Henn);
m1600.add(mort);
m1600.add(Allardm2);
m1600.add(Mississippi);
m1600.add(Dablon);
m1600.add(Blaeu);
m1600.add(Novaz);
m1600.add(Laet3);
m1600.add(Speed1);
m1600.add(Borneo1);
m1600.add(ogilby);
m1600.add(lap_menu2);
m1600.sort("date");

var m1700 = new Menu("1700s");
Hruss1.date("1704 Homann");
Hruss2.date("1721 Homann");
var Hom2 = new Menu("1707 Homann");
Hom2.add(Hafrica);
Hom2.add(Hamerica);
Hom2.add(Hasia);
Hom2.add(Heurope);
Hom2.add(Hworld);
Hom2.sort();
var Hom3 = new Menu("1719 Homann");
Luffman.date("1797 Luffman");

m1700.add(weigel);
m1700.add(covens);
m1700.add(Luffman);
m1700.add(Hom2);
m1700.add(Hom3);
m1700.add(Hruss2);
m1700.add(Hruss1);
m1700.add(lisle_r);
m1700.add(scherer);
m1700.sort("date");

var m1800 = new Menu("1800s");
Humb.date("1800 Humboldt");
m1800.add(Humb);
m1800.sort("date");

DateMenu.add(m1400);
DateMenu.add(m1500);
DateMenu.add(m1600);
DateMenu.add(m1700);
DateMenu.add(m1800);
DateMenu.sort();

//try adding with function here
cass.add (Polar, r, AlphaMenu, a, World, r, m1700, d);
jode.add (Polar, r, AlphaMenu, a, World, r, m1500, d);
Descriptio.add (Asia, r);
Reinel.add (Brazil, r);
bering.add (AlphaMenu, a, Asia, r, Russia, r, m1700, d);
canepa.add (AlphaMenu, a, Africa, r, Europe, r, m1400, d);
plan2.add (Plancius, a, EastIndies, r, PlanciusDate, d);
plan1.add (Brazil, r, Plancius, a, Africa, r, PlanciusDate, d);
tomap.add (AlphaMenu, a, World, r, m1400, d);
zalt.add (AlphaMenu, a, Americas, r, m1500, d);
mann.add (AlphaMenu, a, Russia, r, m1700, d);
lisle1.add (lisle, a, lisle_r, r);
lisle2.add (lisle, a, lisle_r, r);
rob.add (rob_menu, a, Russia, r, m1700, d);
hon.add (AlphaMenu, a, Russia, r, m1600, d);
stra.add (Russia, r, strah, a, m1700, d);
stra2.add (Russia, r, strah, a, m1700, d);
stra1.add (Russia, r, strah, a, m1700, d);
Henn.add (hennepin, a);
Henn1.add (hennepin, a, NorthAmerica, r, m1600, d);
henn2.add (hennepin, a, Americas, r, m1600, d);
lisle3.add (lisle, a, Polar, r, m1700, d);
lisle4.add (lisle, a, Polar, r, m1700, d);
lislen.add (AlphaMenu, a, NorthAmerica, r, Russia, r, m1700, d);
cov1.add (covens, a);
cov2.add (covens, a);
ptol.add (Ptolemy, a, World, r, m1600, d);
ptol1.add (Ptolemy, a, World, r, m1400, d);
ptol2.add (Ptolemy, a, ptol1545_menu, r);
ptol3.add (Ptolemy, a, ptol1545_menu, r);
mapp.add (AlphaMenu, a, World, r, Africa, r, Europe, r, m1400, d);
fine.add (AlphaMenu, a, Polar, r, World, r, m1500, d);
mou.add (AlphaMenu, a, m1700, d, Polar, r, World, r);
san.add (sanson, a, m1600, d, NorthAmerica, r, Americas, r);
san1.add (sanson, a, sworld_menu, r, sanson1666, d);
san2.add (sanson, a, sworld_menu, r, sanson1666, d);
san3.add (sanson, a, Polar, r, sanson1666, d);
san_asia.add (sanson, a, Asia, r, sanson1666, d);
san_africa.add (sanson, a, Africa, r, sanson1666, d);
san_america.add (sanson, a, NorthAmerica, r, Americas, r, sanson1666, d);
san_sa.add(sanson, a, SouthAmerica, r, sanson1666, d);
san_europe.add(sanson, a, Europe, r, sanson1666, d);
ort1.add (ortelius, a, World, r, ortelius1570, d);
ort2.add (ortelius, a, Americas, r, ortelius1570, d);
ort3.add (ortelius, a, Asia, r, ortelius1570, d);
ort4.add (ortelius, a, Africa, r, ortelius1570, d);
ort5.add (ortelius, a, Europe, r, ortelius1570, d);
ort6.add (ortelius, a, Atlantic, r, ortelius1570, d);
ort7.add (ortelius, a, Asia, r, ortelius1570, d, Russia, r);
mer1.add (mercator, a, Polar, r, mercator1633, d);
mer2.add (mercator, a, World, r, mercator1633, d);
mer3.add (mercator, a, Russia, r, Europe, r, Asia, r, mercator1633, d);
mer4.add (mercator, a, Polar, r, World, r, m1500, d);
Hworld2.add (Hom, a, World, r, Hom3, d);
Wpol.add (weigel, a);
Wpol2.add (weigel, a);
Moll.add (AlphaMenu, a, Polar, r, m1700, d);
sal.add (AlphaMenu, a, Polar, r, World, r, m1500, d);
tram.add (AlphaMenu, a, scandinavia, r, baltic, r, m1500, d);
olaus.add (AlphaMenu, a, scandinavia, r, m1500, d);
sch1.add (scherer, a);
sch2.add (scherer, a);
Ham2.add (Hom, a, Americas, r, Hom3, d);
ogaf1.add (ogilby, a);
ogaf3.add (ogilby, a);
ogguin.add (ogilby, a);
ogcon.add (ogilby, a);
ogtan.add (ogilby, a);
ogaf2.add (ogilby, a);
ogaf4.add (ogilby, a);
ogmad.add (ogilby, a);
lap2.add (lap_menu1, a, NorthAmerica, r, m1600, d);
la1.add (lap_menu1, a, NorthAmerica, r, lap_menu2, d);
la2.add (lap_menu1, a, Russia, r, lap_menu2, d);
dobbs.add (AlphaMenu, a, NorthAmerica, r, m1700, d);
robbe.add (rob_menu, a, NorthAmerica, r, Russia, r, m1700, d);
mac1.add (macrobius, a, World, r, m1500, d);
mac2.add (macrobius, a, World, r, m1500, d);
mac3.add (macrobius, a, World, r, m1500, d);
mil.add (mil_menu, a, Russia, r, NorthAmerica, r, m1700, d);
mil2.add (mil_menu, a, Russia, r, NorthAmerica, r, m1700, d);
tat.add (AlphaMenu, a, Russia, r, NorthAmerica, r, m1700, d);
keat.add (AlphaMenu, a, NorthAmerica, r, m1800, d);
braun.add (AlphaMenu, a, NorthAmerica, r, SouthAmerica, r, m1500, d);
cuba.add (AlphaMenu, a, Caribbean, r, m1600, d);
hond.add (AlphaMenu, a, m1600, d, Polar, r);
bois.add (AlphaMenu, a, m1600, d, NorthAmerica, r);
jans.add (AlphaMenu, a, m1600, d, Europe, r);
speed_w.add (Speed, a, m1600, d, World, r);
pitt.add (AlphaMenu, a, m1600, d, Polar, r);
Mortier.add (mort, a);
Mortier_f.add (mort, a);

information = new Cookie(document, "DocInfo", 0);
information.load();

if (!information.cm){
  information.cm = "Alpha"
  MenuFlag = 0;
  information.store();
  information.load();
}

if (information.cm == "Alpha"){
  CurrentMenu = AlphaMenu;
  MenuFlag = 0;
}
else if (information.cm == "Region"){
  CurrentMenu = RegionMenu;
  MenuFlag = 1;
}
else{
  CurrentMenu = DateMenu;
  MenuFlag = 2;
}

browser = navigator.appName;
