var canZoom = true;


function zoomIn()
{
  if (canZoom == true)
  {
  
  var theMap = document.getElementById("maptime");
  for (var i=0; i<=5430; i++)
  {
    if (document.getElementById("system"+i))
	{
      systemToRemove = document.getElementById("system"+i);
 	  theMap.removeChild(systemToRemove);
	}
  }
  
  removeLandmarks();
  removeRegions();
  
  var mapWidthBefore = (5059 / 100) * mapZoomFactor;
  var mapHeightBefore = (5718 / 100) * mapZoomFactor;
  
  mapZoomFactor = mapZoomFactor + 10;
  
  if (mapZoomFactor > 100)
  {
    mapZoomFactor = 100;
  }
  else
  {
    var mapWidth = (5059 / 100) * mapZoomFactor;
	var mapHeight = (5718 / 100) * mapZoomFactor;
	document.getElementById("mapcontainer").width = mapWidth;
	document.getElementById("mapcontainer").height = mapHeight;
	document.getElementById("maptime").width = mapWidth;
	document.getElementById("maptime").height = mapHeight;
    document.getElementById("map").width = mapWidth;
	document.getElementById("map").height = mapHeight;
  }
  
  // Move map
  var howFarToMoveX = (document.getElementById("mapcontainer").offsetLeft - 252);
  var howFarToMoveY = (document.getElementById("mapcontainer").offsetTop - 286);
  document.getElementById("mapcontainer").style.left = howFarToMoveX;
  document.getElementById("mapcontainer").style.top = howFarToMoveY;
  
  var mapWidth = (5059 / 100) * mapZoomFactor;
  var mapHeight = (5718 / 100) * mapZoomFactor;
  
  var left = document.getElementById("mapcontainer").offsetLeft;
  var width = document.getElementById("mapcontainer").offsetWidth;
  var top = document.getElementById("mapcontainer").offsetTop;
  var height = document.getElementById("mapcontainer").offsetHeight;
  var offsetR = window.innerWidth - (left + width);
  var offsetB = window.innerHeight - (top + height);
  
  if (offsetR > window.innerWidth)
  { document.getElementById("mapcontainer").style.left = 0; document.getElementById("mapcontainer").style.left = -window.innerWidth; }
  
  if (offsetB > window.innerHeight)
  { document.getElementById("mapcontainer").style.top = 0; document.getElementById("mapcontainer").style.top = -window.innerHeight; }
  
  //document.getElementById("map").src="img/Map"+mapZoomFactor+".gif";
  
  modifyLines();
  createLinks();
  checkForLandmarks();
  checkForRegions();
  }
}


function zoomOut()
{
  if (canZoom == true)
  {
  
  var theMap = document.getElementById("maptime");
  for (var i=0; i<=5430; i++)
  {
    if (document.getElementById("system"+i))
	{
      systemToRemove = document.getElementById("system"+i);
 	  theMap.removeChild(systemToRemove);
	}
  }
  
  removeLandmarks();
  removeRegions();
  
  var mapWidthBefore = (5059 / 100) * mapZoomFactor;
  var mapHeightBefore = (5718 / 100) * mapZoomFactor;
  
  mapZoomFactor = mapZoomFactor - 20;
  
  if (mapZoomFactor < 20)
  {
    mapZoomFactor = 20;
	document.getElementById("mapcontainer").width = (5059 / 100) * mapZoomFactor;
	document.getElementById("mapcontainer").height = (5718 / 100) * mapZoomFactor;
	document.getElementById("maptime").width = mapWidth;
	document.getElementById("maptime").height = mapHeight;
	document.getElementById("map").width = (5059 / 100) * mapZoomFactor;
	document.getElementById("map").height = (5718 / 100) * mapZoomFactor;
  }
  else
  {
    var mapWidth = (5059 / 100) * mapZoomFactor;
	var mapHeight = (5718 / 100) * mapZoomFactor;
	document.getElementById("mapcontainer").width = mapWidth;
	document.getElementById("mapcontainer").height = mapHeight;
	document.getElementById("maptime").width = mapWidth;
	document.getElementById("maptime").height = mapHeight;
    document.getElementById("map").width = mapWidth;
	document.getElementById("map").height = mapHeight;
  }
  
  // Move map
  var howFarToMoveX = (document.getElementById("mapcontainer").offsetLeft + 505);
  var howFarToMoveY = (document.getElementById("mapcontainer").offsetTop + 571);
  document.getElementById("mapcontainer").style.left = howFarToMoveX;
  document.getElementById("mapcontainer").style.top = howFarToMoveY;
  
  //document.getElementById("map").src="img/Map"+mapZoomFactor+".gif";

  var mapWidth = (5059 / 100) * mapZoomFactor;
  var mapHeight = (5718 / 100) * mapZoomFactor;
  
  var left = document.getElementById("mapcontainer").offsetLeft;
  var width = document.getElementById("mapcontainer").offsetWidth;
  var top = document.getElementById("mapcontainer").offsetTop;
  var height = document.getElementById("mapcontainer").offsetHeight;
  var offsetR = window.innerWidth - (left + width);
  var offsetB = window.innerHeight - (top + height);
  
  if (offsetR > window.innerWidth)
  { document.getElementById("mapcontainer").style.left = 0; document.getElementById("mapcontainer").style.left = -window.innerWidth; }
  
  if (offsetB > window.innerHeight)
  { document.getElementById("mapcontainer").style.top = 0; document.getElementById("mapcontainer").style.top = -window.innerHeight; }
  
  modifyLines();
  createLinks();
  checkForLandmarks();
  checkForRegions();
  }
}


function zoomToFactor(factor)
{  
  mapZoomFactor = factor;
  
  var mapWidth = (5059 / 100) * mapZoomFactor;
  var mapHeight = (5718 / 100) * mapZoomFactor;
  
  document.getElementById("mapcontainer").width = mapWidth;
  document.getElementById("mapcontainer").height = mapHeight;
  document.getElementById("maptime").width = mapWidth;
  document.getElementById("maptime").height = mapHeight;
  document.getElementById("map").width = mapWidth;
  document.getElementById("map").height = mapHeight;
  
  
  var windowByTwo = (window.innerWidth / 2);
  var windowHByTwo = (window.innerHeight / 2);
  var mapWByTwo = (mapWidth / 2);
  var mapHByTwo = (mapHeight / 2);
  document.getElementById("mapcontainer").style.left = (windowByTwo-mapWByTwo);
  document.getElementById("mapcontainer").style.top = (windowHByTwo-mapHByTwo);
  
  //document.getElementById("map").src="img/Map"+mapZoomFactor+".gif";
}

