var dragging = false; 
var buttonHolding = 0; 
var interfaceTimer = 0; 
var top;	
var left;
var dragStartTop;	
var dragStartLeft;
var pageTurnerRight = false;
var pageTurnerLeft = false;
var pageTurnerTop = false;
var pageTurnerBottom = false;
var zoomBarArray = new Array(9);
var pictureFrameWidth = 0; 
var pictureFrameHeight = 0;  
var mapPaperXMax = 0;
var mapPaperXMin = 0;
var mapPaperYMax = 0;
var mapPaperYMin = 0;
var currentPage = 0; 
var currentZoom = 0;
var currentLayer = 0;
var PWMAlayerName="Null";
var PWMAparentX = 0;
var PWMAparentY = 0;
var parentXTarget = 0;
var parentYTarget = 0;
var PWMAparentMaxZoomOut = "";
var PWMAparentLayerName = "";
var PWMAparentParent = "";
var PWMAparentParentMaxZoomOut = "";
var PWMAparentParentLayerName = "";
var zoomInTarget = 0;
var zoomOutTarget = 0;
var currentMapData = "Null";
var PWMAdescription = "Description";
var	PWMAscale = "Scale";
var	PWMAprojection = "Projection";
var PWMAmapWidth = 0;
var PWMAmapWidthPx = "0px";
var PWMAmapHeight = 0;
var PWMAmapHeightPx = "0px";
var PWMAtilesX = 0;
var PWMAtilesY = 0;
var PWMAmaxZoomOut = 0;
var PWMAparent = 0;
var	PWMArightTrigger = 0;
var	PWMArightTopTarget = "0a";
var	PWMArightBottomTarget = "0a";
var	PWMArightButton = "0.png";
var	PWMAleftTrigger = 0;
var	PWMAleftTopTarget = "0a";
var	PWMAleftBottomTarget = "0a";
var	PWMAleftButton = "0.png";
var	PWMAtopTrigger = 0;
var	PWMAtopLeftTarget = "0a";
var	PWMAtopRightTarget = "0a";
var	PWMAtopButton = "0.png";
var	PWMAbottomTrigger = 0;
var	PWMAbottomLeftTarget = "0a";
var	PWMAbottomRightTarget = "0a";
var	PWMAbottomButton = "0.png";
var PWMAoverlayButtons = "";
var overlayTotal = 0;
var overlayArray = new Array(1);
var zoomTestArray = new Array(1);
var PWMAparentMaxZoomOut = "";0.
var PWMAparentLayerName = "";
var PWMAparentParent = "";
var searchResultArray = new Array(0);
var searchResultStoreArray = new Array(0);
var searchStart = 0;
var moreflag = 0;
var fixedMoveAmount = 200;
var glidePace = 7;
var tileSize = 200;
function init() {
var realOuterDivContents = '<div id="innerDiv"><div id="innerOverlays"></div></div><div id="outerOverlays" style="position: absolute; top: 0px; left: 0px; z-index: 20;"></div>';
var outerDiv = document.getElementById("outerDiv");
outerDiv.innerHTML = realOuterDivContents;
window.onresize = sizePictureFrame; 
document.onresize = sizePictureFrame; 
currentPage = 2;
currentZoom = 1;
getMapData(currentPage);
setInnerDivSize(PWMAmapWidthPx, PWMAmapHeightPx);
sizePictureFrame();
rightButtonDrawScroll();
leftButtonDrawScroll();
topButtonDrawScroll();
bottomButtonDrawScroll();
outerDiv.onmousedown = startMove;
outerDiv.onmousemove = processMove;
outerDiv.onmouseup = stopMove;
document.getElementById("borderButtonBottom").onmouseover = stopMove;
document.getElementById("borderButtonTop").onmouseover = stopMove;
document.getElementById("borderButtonLeft").onmouseover = stopMove;
document.getElementById("borderButtonRight").onmouseover = stopMove;
var zoomInButton = document.getElementById("zoomInButton");
var zoomOutButton = document.getElementById("zoomOutButton");
zoomInButton.onclick = zoomInWithin;
zoomOutButton.onclick = zoomOutWithin;
outerDiv.ondragstart = function() { return false; }
searchscrollminus = new Image();
targetString = "graphicsPelias/searchscroll-minus.png"
searchscrollminus.src = targetString;
searchscrollminusgrey = new Image();
targetString = "graphicsPelias/searchscroll-minus-grey.png"
searchscrollminusgrey.src = targetString;
searchscrollplus = new Image();
targetString = "graphicsPelias/searchscroll-plus.png"
searchscrollplus.src = targetString;
searchscrollplusgrey = new Image();
targetString = "graphicsPelias/searchscroll-plus-grey.png"
searchscrollplusgrey.src = targetString;
pointerq = new Image();
targetString = "graphicsPointers/arrownb.png"
pointerq.src = targetString;
pointerw = new Image();
targetString = "graphicsPointers/arrownl.png"
pointerw.src = targetString;
pointere = new Image();
targetString = "graphicsPointers/arrownr.png"
pointere.src = targetString;
pointerr = new Image();
targetString = "graphicsPointers/arrownt.png"
pointerr.src = targetString;
pointert = new Image();
targetString = "graphicsPointers/arrowrednb.png"
pointert.src = targetString;
pointery = new Image();
targetString = "graphicsPointers/arrowrednl.png"
pointery.src = targetString;
pointeru = new Image();
targetString = "graphicsPointers/arrowrednr.png"
pointeru.src = targetString;
pointeri = new Image();
targetString = "graphicsPointers/arrowrednt.png"
pointeri.src = targetString;
pointero = new Image();
targetString = "graphicsPointers/arrowredw1b.png"
pointero.src = targetString;
pointerp = new Image();
targetString = "graphicsPointers/arrowredw1l.png"
pointerp.src = targetString;
pointera = new Image();
targetString = "graphicsPointers/arrowredw1r.png"
pointera.src = targetString;
pointers = new Image();
targetString = "graphicsPointers/arrowredw1t.png"
pointers.src = targetString;
pointerd = new Image();
targetString = "graphicsPointers/arrowredw2b.png"
pointerd.src = targetString;
pointerf = new Image();
targetString = "graphicsPointers/arrowredw2l.png"
pointerf.src = targetString;
pointerg = new Image();
targetString = "graphicsPointers/arrowredw2r.png"
pointerg.src = targetString;
pointerh = new Image();
targetString = "graphicsPointers/arrowredw2t.png"
pointerh.src = targetString;
pointerj = new Image();
targetString = "graphicsPointers/arroww1b.png"
pointerj.src = targetString;
pointerk = new Image();
targetString = "graphicsPointers/arroww1l.png"
pointerk.src = targetString;
pointerl = new Image();
targetString = "graphicsPointers/arroww1r.png"
pointerl.src = targetString;
pointerz = new Image();
targetString = "graphicsPointers/arroww1t.png"
pointerz.src = targetString;
pointerx = new Image();
targetString = "graphicsPointers/arroww2b.png"
pointerx.src = targetString;
pointerc = new Image();
targetString = "graphicsPointers/arroww2l.png"
pointerc.src = targetString;
pointerv = new Image();
targetString = "graphicsPointers/arroww2r.png"
pointerv.src = targetString;
pointerb = new Image();
targetString = "graphicsPointers/arroww2t.png"
pointerb.src = targetString;
teleportMap(PWMAmapOpenX, PWMAmapOpenY);
drawOverlayButtons();
checkTiles();
checkEdges();
drawZoomTabs ();
} 
function checkEdges() {
var innerDiv = document.getElementById("innerDiv");
var outerDiv = document.getElementById("outerDiv");
var xPos = stripPx (innerDiv.style.left);
xPos = -xPos;
var yPos = stripPx (innerDiv.style.top);
yPos = -yPos;
var xWindow = outerDiv.offsetWidth;
var yWindow = outerDiv.offsetHeight;
if((xPos + xWindow) > (PWMAmapWidth - PWMArightTrigger)) {
if (pageTurnerRight === true) {
}
else {
pageTurnerRight = true;
rightButtonDrawInnerBox();
}
}
else {
if (pageTurnerRight === false) {
}
else {
pageTurnerRight = false;
rightButtonClearInnerBox();
}
}
if ((yPos + yWindow) > (PWMAmapHeight - PWMAbottomTrigger)) {
if(pageTurnerBottom === true) {
}
else {
pageTurnerBottom = true;
bottomButtonDrawInnerBox();
}
}
else {
if (pageTurnerBottom === false) {
}
else {
pageTurnerBottom = false;
bottomButtonClearInnerBox();
}
}
if (xPos < PWMAleftTrigger) {
if (pageTurnerLeft === true) {
}
else {
pageTurnerLeft = true;
leftButtonDrawInnerBox();
}
}
else {
if (pageTurnerLeft === false) {
}
else {
pageTurnerLeft = false;
leftButtonClearInnerBox();
}
}
if (yPos < PWMAtopTrigger) {
if (pageTurnerTop === true) {
}
else {
pageTurnerTop = true;
topButtonDrawInnerBox();
}
}
else {
if (pageTurnerTop === false) {
}
else {
pageTurnerTop = false;
topButtonClearInnerBox();
}
}
}
function forceEdges() {
var innerDiv = document.getElementById("innerDiv");
var outerDiv = document.getElementById("outerDiv");
var xPos = stripPx (innerDiv.style.left);
xPos = -xPos;
var yPos = stripPx (innerDiv.style.top);
yPos = -yPos;
var xWindow = outerDiv.offsetWidth;
var yWindow = outerDiv.offsetHeight;
if((xPos + xWindow) > (PWMAmapWidth - PWMArightTrigger)) {
pageTurnerRight = true;
rightButtonDrawInnerBox();
}
else {
pageTurnerRight = false;
rightButtonClearInnerBox();
}
if ((yPos + yWindow) > (PWMAmapHeight - PWMAbottomTrigger)) {
pageTurnerBottom = true;
bottomButtonDrawInnerBox();
}
else {
pageTurnerBottom = false;
bottomButtonClearInnerBox();
}
if (xPos < PWMAleftTrigger) {
pageTurnerLeft = true;
leftButtonDrawInnerBox();
}
else {
pageTurnerLeft = false;
leftButtonClearInnerBox();
}
if (yPos < PWMAtopTrigger) {
pageTurnerTop = true;
topButtonDrawInnerBox();
}
else {
pageTurnerTop = false;
topButtonClearInnerBox();
}
}
//
function stripPx(value) {
if (value == "") { return 0; }
return parseFloat(value.substring(0, value.length - 2));
}
function setInnerDivSize(width, height) {
var innerDiv = document.getElementById("innerDiv");
innerDiv.style.width = width;
innerDiv.style.height = height;
}
function sizePictureFrame() {
var outerDiv = document.getElementById("outerDiv");
var borderButtonLeft = document.getElementById("borderButtonLeft");
var borderButtonRight = document.getElementById("borderButtonRight");
var viewportHeight;
if (typeof window.innerWidth != 'undefined')	{
viewportHeight = window.innerHeight;
}
else if (typeof document.documentElement != 'undefined'	&& typeof document.documentElement.clientWidth !='undefined' && document.documentElement.clientWidth != 0)	{
viewportHeight = document.documentElement.clientHeight;
}
else	{
viewportHeight = document.getElementsByTagName('body')[0].clientHeight;
}
desiredHeight = Math.ceil(0.65 * viewportHeight); 
if(desiredHeight < 230) { desiredHeight = 230; }
desiredHeight = desiredHeight + "px";
outerDiv.style.height = desiredHeight;
borderButtonLeft.style.height = desiredHeight;
borderButtonRight.style.height  = desiredHeight;
var targetRule = document.getElementById("mapWindowWidthRule")
var targetRuleOffsetWidth = targetRule.offsetWidth
var desiredWidth = (targetRuleOffsetWidth - 222) + "px"; 
outerDiv.style.width = desiredWidth;
pictureFrameWidth = outerDiv.offsetWidth;
pictureFrameHeight = outerDiv.offsetHeight;
forceEdges();
setScrollLimits();				
}
function setScrollLimits() {
limiterX = pictureFrameWidth + 100;
limiterY = pictureFrameHeight + 100;
if(PWMAmapWidth < limiterX) {					
mapPaperXMax = (pictureFrameWidth/2);
mapPaperXMin = -(PWMAmapWidth - pictureFrameWidth) - (pictureFrameWidth/2);
}
else {
mapPaperXMax = 20;
mapPaperXMin = -(PWMAmapWidth - pictureFrameWidth) - 40;
}
if(PWMAmapHeight < limiterY) {
mapPaperYMax = (pictureFrameHeight/2);
mapPaperYMin = -(PWMAmapHeight - pictureFrameHeight) - (pictureFrameHeight/2);
}
else {
mapPaperYMax = 20;
mapPaperYMin = -(PWMAmapHeight - pictureFrameHeight) - 40;
}
}
function getMapDataItem(page,itemName)	{
var pageData = mapData[page];
var searchString = new RegExp( "<" + itemName + ">(.+)<\/" + itemName + ">");
var rawMapDataArray = new Array();
rawMapDataArray = currentMapData.match(searchString); 
return (rawMapDataArray[1]);
}
function getMapData(page) {
clearInterval(buttonHolding);	
currentPage = page;
currentMapData = mapData[page];
killSearchBox();
PWMAscale = getMapDataValue("scale");
PWMAprojection = getMapDataValue("projection");
mapWidthSelector = "mapWidth" + currentZoom;
PWMAmapWidth = getMapDataValue(mapWidthSelector);
mapHeightSelector = "mapHeight" + currentZoom;
PWMAmapHeight = getMapDataValue(mapHeightSelector);
PWMAtilesX = PWMAmapWidth/200;
PWMAtilesY = PWMAmapHeight/200;
PWMAmapWidthPx = PWMAmapWidth + "px"; 
PWMAmapHeightPx = PWMAmapHeight + "px";
mapOpenXSelector = "mapOpenX" + currentZoom;
PWMAmapOpenX = getMapDataValue(mapOpenXSelector);
mapOpenYSelector = "mapOpenY" + currentZoom;
PWMAmapOpenY = getMapDataValue(mapOpenYSelector);
PWMAmaxZoomOut = getMapDataValue("maxZoomOut");
PWMAparent = getMapDataValue("parent");
currentLayer = getMapDataValue("layer");
PWMAlayerName = getMapDataValue("layerName");
PWMAparentX = getMapDataValue("parentX");
PWMAparentY = getMapDataValue("parentY");
rightTriggerSelector = "rightTrigger" + currentZoom; 
PWMArightTrigger = getMapDataValue(rightTriggerSelector);
PWMArightTopTarget = getMapDataValue("rightTargetTop");
PWMArightBottomTarget = getMapDataValue("rightTargetBottom");
if(PWMArightTopTarget === PWMArightBottomTarget)	{	
PWMArightTopButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMArightTopTarget + "w2r.png";
PWMArightTopButtonImage.src = targetString;
PWMArightBottomButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMArightBottomTarget + "w1r.png";
PWMArightBottomButtonImage.src = targetString;
}
else	{	
PWMArightTopButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMArightTopTarget + "nr.png";
PWMArightTopButtonImage.src = targetString;
PWMArightBottomButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMArightBottomTarget + "nr.png";
PWMArightBottomButtonImage.src = targetString;
}
leftTriggerSelector = "leftTrigger" + currentZoom;
PWMAleftTrigger = getMapDataValue(leftTriggerSelector);
PWMAleftTopTarget = getMapDataValue("leftTargetTop");
PWMAleftBottomTarget = getMapDataValue("leftTargetBottom");
PWMAleftButton = getMapDataValue("leftButton");
if(PWMAleftTopTarget === PWMAleftBottomTarget)	{	
PWMAleftTopButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAleftTopTarget + "w1l.png";
PWMArightTopButtonImage.src = targetString;
PWMAleftBottomButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAleftBottomTarget + "w2l.png";
PWMAleftBottomButtonImage.src = targetString;
}
else	{	
PWMAleftTopButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAleftTopTarget + "nl.png";
PWMAleftTopButtonImage.src = targetString;
PWMAleftBottomButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAleftBottomTarget + "nl.png";
PWMAleftBottomButtonImage.src = targetString;
}
topTriggerSelector = "topTrigger" + currentZoom; 
PWMAtopTrigger = getMapDataValue(topTriggerSelector);
PWMAtopLeftTarget = getMapDataValue("topTargetLeft");
PWMAtopRightTarget = getMapDataValue("topTargetRight");
PWMAtopButton = getMapDataValue("topButton");
if(PWMAtopLeftTarget === PWMAtopRightTarget)	{	
PWMAtopLeftButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAtopLeftTarget + "w1.png";
PWMAtopLeftButtonImage.src = targetString;
PWMAtopRightButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAtopRightTarget + "w2.png";
PWMAtopRightButtonImage.src = targetString;
}
else	{	
PWMAtopLeftButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAtopLeftTarget + "n.png";
PWMAtopLeftButtonImage.src = targetString;
PWMAtopRightButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAtopRightTarget + "n.png";
PWMAtopRightButtonImage.src = targetString;
}
bottomTriggerSelector = "bottomTrigger" + currentZoom;
PWMAbottomTrigger = getMapDataValue(bottomTriggerSelector);
PWMAbottomLeftTarget = getMapDataValue("bottomTargetLeft");
PWMAbottomRightTarget = getMapDataValue("bottomTargetRight");
PWMAbottomButton = getMapDataValue("bottomButton");
if(PWMAbottomLeftTarget === PWMAbottomRightTarget)	{	
PWMAbottomLeftButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAbottomLeftTarget + "w1.png";
PWMAbottomLeftButtonImage.src = targetString;
PWMAbottomRightButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAbottomRightTarget + "w2.png";
PWMAbottomRightButtonImage.src = targetString;
}
else	{	
PWMAbottomLeftButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAbottomLeftTarget + "n.png";
PWMAbottomLeftButtonImage.src = targetString;
PWMAbottomRightButtonImage = new Image();
targetString = "graphicsButtonsNew/" + PWMAbottomRightTarget + "n.png";
PWMAbottomRightButtonImage.src = targetString;
}
clearOverlays();
PWMAoverlayButtons = getMapDataValue("overlayButtons");
document.getElementById("mapTitle").innerHTML = PWMAprojection;
drawScaleBars();
}
function getMapDataValue(mapDataValue) {
var searchString = new RegExp( "<" + mapDataValue + ">(.+)<\/" + mapDataValue + ">");
var rawMapDataArray = new Array();
rawMapDataArray = currentMapData.match(searchString); 
return (rawMapDataArray[1]);
}
function getParentMapData(page) {
parentMapData = mapData[page];
var rawMapDataArray = new Array();
var searchString = new RegExp( "<maxZoomOut>(.+)<\/maxZoomOut>");
rawMapDataArray = parentMapData.match(searchString);
PWMAparentMaxZoomOut = rawMapDataArray[1];
var searchString = new RegExp( "<layerName>(.+)<\/layerName>");
rawMapDataArray = parentMapData.match(searchString);
PWMAparentLayerName = rawMapDataArray[1];
var searchString = new RegExp( "<parent>(.+)<\/parent>");
rawMapDataArray = parentMapData.match(searchString);
PWMAparentParent = rawMapDataArray[1];
}
function getParentParentMapData(page) {
parentMapData = mapData[page];
var rawMapDataArray = new Array();
var searchString = new RegExp( "<maxZoomOut>(.+)<\/maxZoomOut>");
rawMapDataArray = parentMapData.match(searchString);
PWMAparentParentMaxZoomOut = rawMapDataArray[1];
var searchString = new RegExp( "<layerName>(.+)<\/layerName>");
rawMapDataArray = parentMapData.match(searchString);
PWMAparentParentLayerName = rawMapDataArray[1];
}
function turnPageToDefault (page,zoom) {
currentZoom = zoom;
document.getElementById("innerDiv").innerHTML='<div id="innerOverlays"></div>'; 
getMapData(page);
setInnerDivSize(PWMAmapWidthPx, PWMAmapHeightPx);
setScrollLimits();
teleportMap(PWMAmapOpenX, PWMAmapOpenY);
checkTiles();
drawOverlayButtons();
drawZoomTabs ();
forceEdges();
}
function turnPageToTarget (page,zoom,xTarget,yTarget) {
currentZoom = zoom;
document.getElementById("innerDiv").innerHTML='<div id="innerOverlays"></div>'; 
getMapData(page);
setInnerDivSize(PWMAmapWidthPx, PWMAmapHeightPx);
setScrollLimits();
teleportMap(xTarget, yTarget);
checkTiles();
drawOverlayButtons();
drawZoomTabs ();
forceEdges();
}
function zoomPageProportional (page, zoom) {
var innerDiv = document.getElementById("innerDiv");
oldTop = stripPx(innerDiv.style.top);
oldTop = oldTop - (pictureFrameHeight / 2);
oldLeft = stripPx(innerDiv.style.left); 
oldLeft = oldLeft - (pictureFrameWidth / 2);
oldXFromCenter =  -((PWMAmapWidth/2) + oldLeft);
oldYFromCenter = -((PWMAmapHeight/2) + oldTop);
oldWidth = PWMAmapWidth;
oldHeight = PWMAmapHeight;
currentZoom = zoom;
currentPage = page;
document.getElementById("innerDiv").innerHTML='<div id="innerOverlays"></div>'; 
getMapData(currentPage);
setInnerDivSize(PWMAmapWidthPx, PWMAmapHeightPx);
setScrollLimits();
if(currentZoom < 2) {
widthRatio = PWMAmapWidth / oldWidth;
heightRatio = PWMAmapHeight / oldHeight;
newXFromCenter = oldXFromCenter * widthRatio;
newYFromCenter = oldYFromCenter * heightRatio;
newX = -(-newXFromCenter - (PWMAmapWidth/2));
newY = -(-newYFromCenter - (PWMAmapHeight/2));	
}
else {
newX = PWMAmapOpenX;
newY = PWMAmapOpenY;
}
teleportMap(newX, newY);
checkTiles();
drawOverlayButtons();
drawZoomTabs ();
forceEdges();
}
function zoomPageProportionalParent (page, zoom) {
currentZoom = zoom;
currentPage = page;
document.getElementById("innerDiv").innerHTML='<div id="innerOverlays"></div>'; 
getMapData(currentPage);
setInnerDivSize(PWMAmapWidthPx, PWMAmapHeightPx);
setScrollLimits();
teleportMap(parentXTarget, parentYTarget);
checkTiles();
drawOverlayButtons();
drawZoomTabs ();
forceEdges();
}
function zoomPageSuperProportional(e, page, zoom) {
var posx = 0;
var posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) 	{
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) 	{
posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
pictureFrameTopInDocument = 98 + 12;
clickTop = posy - pictureFrameTopInDocument;
pictureFrameLeftInDocument = 193 + 12 + 8; 
clickLeft = posx - pictureFrameLeftInDocument;
var innerDiv = document.getElementById("innerDiv");
oldTop = stripPx(innerDiv.style.top);
oldTop = oldTop - (clickTop);
oldLeft = stripPx(innerDiv.style.left); 
oldLeft = oldLeft - (clickLeft);
oldXFromCenter =  -((PWMAmapWidth/2) + oldLeft);
oldYFromCenter = -((PWMAmapHeight/2) + oldTop);
oldWidth = PWMAmapWidth;
oldHeight = PWMAmapHeight;
currentZoom = zoom;
currentPage = page;
document.getElementById("innerDiv").innerHTML='<div id="innerOverlays"></div>'; 
getMapData(currentPage);
setInnerDivSize(PWMAmapWidthPx, PWMAmapHeightPx);
setScrollLimits();
if(currentZoom < 2) {
widthRatio = PWMAmapWidth / oldWidth;
heightRatio = PWMAmapHeight / oldHeight;
newXFromCenter = oldXFromCenter * widthRatio;
newYFromCenter = oldYFromCenter * heightRatio;
newX = -(-newXFromCenter - (PWMAmapWidth/2));
newY = -(-newYFromCenter - (PWMAmapHeight/2));	
}
else {
newX = PWMAmapOpenX;
newY = PWMAmapOpenY;
}
teleportMap(newX, newY);
checkTiles();
drawOverlayButtons();
drawZoomTabs ();
forceEdges();
}
function drawOverlayButtons() {
var innerDiv = document.getElementById("innerDiv");
if (currentZoom == 0) {
innerDiv.ondblclick=null;
var overlayDiv = document.getElementById("innerOverlays");
if(PWMAoverlayButtons != "NULL")	{	
overlayArray = PWMAoverlayButtons.split(";"); 
overlayTotal = overlayArray.length;
overlayCounter=0;
boxNumber=0;
var innerBoxIdArray = new Array(0);
var htmlAccumulator = "";
while (overlayCounter < overlayTotal) {
countryArray = overlayArray[overlayCounter].split(" ");
overlayCountry = countryArray[0];
overlayTarget = countryArray[1];
overlayOuterLeft = countryArray[2];
overlayOuterTop = countryArray[3];
overlayOuterWidth = countryArray[4];
overlayOuterHeight = countryArray[5];
overlayInnerLeft = Number(countryArray[6]) + Number(overlayOuterLeft);
overlayInnerTop = Number(countryArray[7]) + Number(overlayOuterTop);
overlayInnerWidth = countryArray[8];
overlayInnerHeight = countryArray[9];
boxNumber = overlayCounter + 1;
innerBoxId = overlayTarget + 'innerDivDeviceInner' + boxNumber;
overlayString='<div id="innerDivDevice' + boxNumber + '" style= "left: ' + overlayOuterLeft + 'px\
; top: ' + overlayOuterTop + 'px; width: ' + overlayOuterWidth + 'px; height: ' + overlayOuterHeight + 'px\
; position: absolute; z-index: 2; border: 1px solid gray;"></div><div id = "' + innerBoxId + '" style="left: ' + overlayInnerLeft + 'px\
; top: ' + overlayInnerTop + 'px; width: ' + overlayInnerWidth + 'px; height: ' + overlayInnerHeight + 'px\
; position: absolute; z-index: 5; background-image: url(graphicsPelias/giantGhost.png); background-repeat: no-repeat;"></div>';      		
htmlAccumulator = htmlAccumulator + overlayString;
overlayCounter = overlayCounter + 1
innerBoxIdArray[boxNumber] = innerBoxId;
innerBoxLeft = Number(overlayInnerLeft);
innerBoxRight = Number(overlayInnerLeft) + Number(overlayInnerWidth);
innerBoxTop = Number(overlayInnerTop);
innerBoxBottom = Number(overlayInnerTop) + Number(overlayInnerHeight);
zoomTestArray[overlayCounter] = new Array(overlayTarget,innerBoxLeft,innerBoxRight,innerBoxTop,innerBoxBottom);
}
overlayDiv.innerHTML = htmlAccumulator;
overlayCounter = 0
while (overlayCounter < overlayTotal) {
boxNumber = overlayCounter + 1;
var innerBoxObject = document.getElementById (innerBoxIdArray[boxNumber]);
innerBoxObject.onmouseover = hoverBox;
innerBoxObject.onmouseout = hoverBoxOut; 
innerBoxObject.ondblclick = hoverBoxDoubleClicked;
overlayCounter = overlayCounter + 1;
}
}	
}
else {
zoomTestArray.length = 0;
overlayTotal = 0;
innerDiv.ondblclick = zoomInWithinSuper;
}
}
function drawScaleBars() {
if(currentZoom == 0) {
scalePath = "graphicsScales/" + PWMAscale + "180.jpg";
}
else if (currentZoom == 1) {
scalePath = "graphicsScales/" + PWMAscale + "90.jpg";
}
else {
scalePath = "graphicsPelias/blankScale.jpg";
}
document.getElementById("scaleBarGraphic").src = scalePath;
if(currentPage == 2 | ((currentPage > 6) & (currentPage < 49))) {
altitudePath = "graphicsAltitudes/" + currentPage + ".jpg";   
document.getElementById("altitudeBarGraphic").src = altitudePath;
}
else(document.getElementById("altitudeBarGraphic").src = "graphicsPelias/blankAltitude.jpg");
}
function spuriousAlert() { alert("Spurious Alert"); }
/* Interface */
/* INTERFACE */
/* Border buttons. One on each side of the map frame - move the map or move to the next one.*/
function rightButtonHeld() {
interfaceTimer = 0;
buttonHolding = setInterval("rightCounter()",10); 
return false;
}
function rightButtonReleased() {
if(interfaceTimer < 10) {
if (interfaceTimer > 0) {
joltMap(-fixedMoveAmount, 0); 
}
}
clearInterval(buttonHolding);
interfaceTimer = 0;
checkZoomIn(); 
return false;
}
function rightCounter() {
interfaceTimer = interfaceTimer + 1 
if (interfaceTimer > 10) {
joltMap (-glidePace, 0);
}
return false;
}
function rightPageTurnTop() {
zoomInTarget = PWMArightTopTarget;
zoomInBetween();
}
function rightPageTurnBottom() {
zoomInTarget = PWMArightBottomTarget;
zoomInBetween();
}
function leftButtonHeld() {
interfaceTimer = 0;
buttonHolding = setInterval("leftCounter()",33); 
return false;
}
function leftButtonReleased() {
if(interfaceTimer < 10) {
if (interfaceTimer > 0) {
joltMap(fixedMoveAmount, 0); 
}
}
clearInterval(buttonHolding);
interfaceTimer = 0;
checkZoomIn(); 
return false;
}
function leftCounter() {
interfaceTimer = interfaceTimer + 1 
if (interfaceTimer > 10) {
joltMap (glidePace, 0);
}
return false;
}
function leftPageTurnTop() {
zoomInTarget = PWMAleftTopTarget;
zoomInBetween();
}
function leftPageTurnBottom() {
zoomInTarget = PWMAleftBottomTarget;
zoomInBetween();
}
function topButtonHeld() {
interfaceTimer = 0;
buttonHolding = setInterval("topCounter()",33); 
return false;
}
function topButtonReleased() {
if(interfaceTimer < 10) {
if (interfaceTimer > 0) {
joltMap(0, fixedMoveAmount); 
}
}
clearInterval(buttonHolding);
interfaceTimer = 0;
checkZoomIn(); 
return false;
}
function topCounter() {
interfaceTimer = interfaceTimer + 1 
if (interfaceTimer > 10) {
joltMap (0, glidePace);
}
return false;
}
function topPageTurnLeft() {
zoomInTarget = PWMAtopLeftTarget;
zoomInBetween();
}
function topPageTurnRight() {
zoomInTarget = PWMAtopRightTarget;
zoomInBetween();
}
function bottomButtonHeld() {
interfaceTimer = 0;
buttonHolding = setInterval("bottomCounter()",33); 
return false;
}
function bottomButtonReleased() {
if(interfaceTimer < 10) {
if (interfaceTimer > 0) {
joltMap(0, -fixedMoveAmount); 
}
}
clearInterval(buttonHolding);
interfaceTimer = 0;
checkZoomIn(); 
return false;
}
function bottomCounter() {
interfaceTimer = interfaceTimer + 1 
if (interfaceTimer > 10) {
joltMap (0, -glidePace);
}
return false;
}
function bottomPageTurnLeft() {
zoomInTarget = PWMAbottomLeftTarget;
zoomInBetween();
}
function bottomPageTurnRight() {
zoomInTarget = PWMAbottomRightTarget;
zoomInBetween();
}
function hoverBox(event) {
var targ
if (!event) { var event = window.event; }
if (event.target) { targ = event.target; }
else if (event.srcElement) { targ = event.srcElement; }
if (targ.nodeType == 3)	{ 
targ = targ.parentNode; }
var tname = String(targ.id);
var searchTerm = new RegExp("\\d+", "g");
var digitArray = new Array(2);
digitArray = tname.match(searchTerm);
activeBoxId = "innerDivDevice" + digitArray[1];
document.getElementById(activeBoxId).style.border="2px solid red";
}
function hoverBoxOut(event) {
var targ
if (!event) { var event = window.event; }
if (event.target) { targ = event.target; }
else if (event.srcElement) { targ = event.srcElement; }
if (targ.nodeType == 3)	{ 
targ = targ.parentNode; }
var tname = String(targ.id);
var searchTerm = new RegExp("\\d+", "g");
var digitArray = new Array(2);
digitArray = tname.match(searchTerm);
activeBoxId = "innerDivDevice" + digitArray[1];
document.getElementById(activeBoxId).style.border="1px solid gray";
}
function hoverBoxDoubleClicked(event) {
var targ
if (!event) { var event = window.event; }
if (event.target) { targ = event.target; }
else if (event.srcElement) { targ = event.srcElement; }
if (targ.nodeType == 3)	{ 
targ = targ.parentNode; }
var tname = String(targ.id);
var searchTerm = new RegExp("\\d+", "g");
var digitArray = new Array(2);
digitArray = tname.match(searchTerm);
zoomInTarget = digitArray[0];
zoomInBetween(); 
}
function showSubMaps() {
}
function drawSearchBox() {
var desiredSearchBoxWidth = 300;
var desiredSearchBoxHeight = 300;
if(desiredSearchBoxWidth > pictureFrameWidth) { desiredSearchBoxWidth = pictureFrameWidth - 6; }
if(desiredSearchBoxHeight > pictureFrameHeight) { desiredSearchBoxHeight = pictureFrameHeight - 6; }
var desiredSearchBoxTop = 2;
var desiredSearchBoxLeft = 2;
if(desiredSearchBoxWidth == 300) {	desiredSearchBoxLeft = ((pictureFrameWidth - 300) / 2) - 1;	}
if(desiredSearchBoxHeight == 300) {	desiredSearchBoxTop = ((pictureFrameHeight - 300) / 2) - 1;	}
var outerOverlays = document.getElementById("outerOverlays");
if(desiredSearchBoxHeight < 300)	{
var searchBoxCode = '<div id="searchResultBox" style="width: ' + desiredSearchBoxWidth + 'px; height: ' + desiredSearchBoxHeight + 'px; position: absolute; top: ' + desiredSearchBoxTop + 'px; left: ' + desiredSearchBoxLeft + 'px; border: 1px solid #330099; background-color: #ffffff;"><img src="graphicsPelias/search-close.png" id="searchClose" style="display: block; float: right; margin: 3px;" /><h3 style="color: #330099; margin-top: 3px; margin-left: 3px; margin-bottom: 0px; padding-bottom: 0px;">Search results</h3><div id="searchBoxContent" style="clear: both; padding: 3px; /*margin-left: 8px;*/ font-size: 1.2em; text-align: center;"></div></div>';
}
else	{	
var searchBoxCode = '<div id="searchResultBox" style="width: ' + desiredSearchBoxWidth + 'px; position: absolute; top: ' + desiredSearchBoxTop + 'px; left: ' + desiredSearchBoxLeft + 'px; border: 1px solid #330099; background-color: #ffffff;"><img src="graphicsPelias/search-close.png" id="searchClose" style="display: block; float: right; margin: 3px;" /><h3 style="color: #330099; margin-top: 3px; margin-left: 3px; margin-bottom: 0px; padding-bottom: 0px;">Search results</h3><div id="searchBoxContent" style="clear: both; padding: 3px; /*margin-left: 8px;*/ font-size: 1.2em; text-align: center;"></div></div>';
}
outerOverlays.innerHTML = searchBoxCode;
var searchClose = document.getElementById("searchClose");
searchClose.onclick = killSearchBox; 
var searchBoxContent = document.getElementById("searchBoxContent");
searchBoxContent.innerHTML = "some random search result type stuff";
}
function enterPressed(e)	{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return false;
return (keycode == 13);
}
function searchButtonClicked() {
var searchInput = document.getElementById("searchInput");
var searchTerm = searchInput.value;
if (searchTerm == "")	{	return false;	}
var XMLHttpRequestObject = false; 
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if(XMLHttpRequestObject) {
var searchRequestResult = "";
var url = '/map/peliassearch.php?srch=' + searchTerm;
XMLHttpRequestObject.open('GET', url); 
XMLHttpRequestObject.onreadystatechange = function() { 
if (XMLHttpRequestObject.readyState == 4 
&& XMLHttpRequestObject.status == 200) { 
searchRequestResult = XMLHttpRequestObject.responseText;

searchResultResponse(searchRequestResult);
}
} 
}
XMLHttpRequestObject.send(null); 
}
function searchResultResponse(searchRequestResult) {
var splitRegExp = new RegExp("\\r");
searchResultArray = searchRequestResult.split(splitRegExp);
var searchResultArrayLastItem = searchResultArray.length - 1;
if(searchResultArray[searchResultArrayLastItem] === "")	{
searchResultArray.pop();	
}
if(searchResultArray.length === 1)	{	
var splitResultLineOne = searchResultArray[0];
var splitRegExp = new RegExp("\\t");
splitResultArrayOne = splitResultLineOne.split(splitRegExp);
if(splitResultArrayOne[0] === "m")	{	
}
else	{	
//
searchResultStoreArray[0] = splitResultArrayOne;	
searchItemClicked(0);	
return false;	
}
}
else	{	
var splitResultLineOne = searchResultArray[0];
var splitResultLineTwo = searchResultArray[1];
var splitResultArrayOne = new Array(0);
var splitResultArrayTwo = new Array(0);
var splitRegExp = new RegExp("\\t");
splitResultArrayOne = splitResultLineOne.split(splitRegExp);
splitResultArrayTwo = splitResultLineTwo.split(splitRegExp);	
if(splitResultArrayOne[0] != "m")	{	
if(splitResultArrayTwo[0] === "m")	{	
searchResultStoreArray[0] = splitResultArrayOne;	
searchItemClicked(0);	
return false;	
}
}
}
drawSearchBox();
populateSearchBox(0);
}
function killSearchBox() {
var outerOverlays = document.getElementById("outerOverlays");
outerOverlays.innerHTML = "";
}
function populateSearchBox(firstItem) {
var searchBoxContent = document.getElementById("searchBoxContent");
searchStart = firstItem;
var listLength = searchResultArray.length - 1; 
var lastResult = firstItem + 4 
if(lastResult > listLength) { lastResult = listLength; } 
var searchBoxPopCounter = firstItem - 1;
var searchBoxPopulateContents = "";
var currentLine = "";
var currentLineArray = new Array(0);
var splitRegExp = new RegExp("\\t");
if(firstItem>0)	{
searchBoxPopulateContents = searchBoxPopulateContents + '<p><a href="#" class="searchResultScrollBack" id="searchback" onclick="searchListRetreat()" ><img src="graphicsPelias/searchscroll-minus.png" alt="Scroll up"  style="border: none;" /></a></p>';
}
else	{
searchBoxPopulateContents = searchBoxPopulateContents + '<p><img src="graphicsPelias/searchscroll-minus-grey.png" alt="No further entries" /></p>';
}
while (searchBoxPopCounter < lastResult) {
searchBoxPopCounter = searchBoxPopCounter + 1;
currentLine = searchResultArray[searchBoxPopCounter];
currentLineArray = currentLine.split(splitRegExp);	
searchResultStoreArray[searchBoxPopCounter] = currentLineArray;
if (currentLineArray[0] != "m") { 
searchBoxPopulateContents = searchBoxPopulateContents + '<p><a href="#" class="searchResultEntry" onclick="searchItemClicked(' + searchBoxPopCounter + ')" id="search' + searchBoxPopCounter + '">' + currentLineArray[1] + '</a></p>';
}
else {	
searchBoxPopulateContents = searchBoxPopulateContents + '<p class="searchResultMessage" id="search' + searchBoxPopCounter + '">' + currentLineArray[1] + '</p>';
}
}
if(lastResult<listLength)	{
searchBoxPopulateContents = searchBoxPopulateContents + '<p><a href="#" class="searchResultScrollForward" id="searchfore" onclick="searchListAdvance()"><img src="graphicsPelias/searchscroll-plus.png" alt="Scroll down" style="border: none;" /></a></p>'
}
else	{
searchBoxPopulateContents = searchBoxPopulateContents + '<p><img src="graphicsPelias/searchscroll-plus-grey.png" alt="No further entries" /></p>';
}
searchBoxContent.innerHTML = searchBoxPopulateContents; 
}
function searchItemClicked(idno) {
var targetLevel = 0;
if(searchResultStoreArray[idno][0] === "r")	{	
/*
var levelZeroX = getMapDataItem(searchResultStoreArray[idno][2],"mapWidth0")
var levelZeroY = getMapDataItem(searchResultStoreArray[idno][2],"mapHeight0")
var levelOneX = getMapDataItem(searchResultStoreArray[idno][2],"mapWidth1")
var levelOneY = getMapDataItem(searchResultStoreArray[idno][2],"mapHeight1")
var centredX = searchResultStoreArray[idno][3] - (0.5 * levelZeroX);
var centredY = searchResultStoreArray[idno][4] - (0.5 * levelZeroY);
var scaleX = levelOneX / levelZeroX;
var scaleY = levelOneY / levelZeroY;
var centredScaledX = centredX * scaleX;
var centredScaledY = centredY * scaleY;
var deCentredScaledX = centredScaledX + (0.5 * levelOneX);
var deCentredScaledY = centredScaledY + (0.5 * levelOneY);
searchResultStoreArray[idno][3] = deCentredScaledX;
searchResultStoreArray[idno][4] = deCentredScaledY;
*/
}
if((searchResultStoreArray[idno][3] === "0") & (searchResultStoreArray[idno][4] === "0"))	{	
turnPageToDefault(searchResultStoreArray[idno][2],targetLevel);
}
else if ((searchResultStoreArray[idno][3] > 0) & (searchResultStoreArray[idno][4] > 0))	{	
turnPageToTarget (searchResultStoreArray[idno][2],targetLevel,searchResultStoreArray[idno][3],searchResultStoreArray[idno][4])	
if (searchResultStoreArray[idno][0] === "P")	{
drawSearchTargetOutline(searchResultStoreArray[idno][3],searchResultStoreArray[idno][4]);
}		
}
else	{	
alert("Sorry, there seems to be a problem with the search. Please let lester.hawksby@philips-maps.co.uk know and he'll fix it as soon as possible.") 
killSearchBox();
}
}
function drawSearchTargetOutline(xTarget, yTarget)	{
var overlayDiv = document.getElementById("innerOverlays");
var targetLeft = xTarget - 50;
var targetTop = yTarget - 50;
htmlAccumulator = '<div id="searchTargetOutlineDiv" style= "left: ' + targetLeft + 'px\
; top: ' + targetTop + 'px; width: 100px; height: 100px\
; position: absolute; z-index: 4; border: 3px solid #999999;"></div>';
overlayDiv.innerHTML = htmlAccumulator;
setTimeout("searchTargetOutlineFade('#ffff00');",50);
setTimeout("searchTargetOutlineFade('#cccccc');",3350);
setTimeout("searchTargetOutlineFade('#ffff00');",3500);
setTimeout("searchTargetOutlineFade('#cccccc');",3800);
setTimeout("searchTargetOutlineFade('#ffff00');",3950);
setTimeout("searchTargetOutlineFade('#cccccc');",4250);
setTimeout("searchTargetOutlineFade('#ffff00');",4400);
setTimeout("searchTargetOutlineFade('#cccccc');",4700);
setTimeout("clearOverlays()",4750);
setTimeout("drawOverlayButtons()",4800);
/* Delay plus flicker
setTimeout("searchTargetOutlineFade('#999999');",1800);
setTimeout("searchTargetOutlineFade('#ff0000');",2000);
setTimeout("searchTargetOutlineFade('#999999');",2200);
setTimeout("searchTargetOutlineFade('#ff0000');",2400);
setTimeout("searchTargetOutlineFade('#999999');",2600);
setTimeout("searchTargetOutlineFade('#ff0000');",2800);
setTimeout("searchTargetOutlineFade('#999999');",3000);
setTimeout("clearOverlays()",3050);
setTimeout("drawOverlayButtons()",3210);
*/
}
function clearOverlays()	{
var overlayDiv = document.getElementById("innerOverlays");
overlayDiv.innerHTML="";
zoomTestArray.length=0;
overlayTotal=0;
}
function searchTargetOutlineFade(newColour)	{
var searchTargetOutlineDiv = document.getElementById("searchTargetOutlineDiv");
searchTargetOutlineDiv.style.borderColor = (newColour);
}
function searchListAdvance()	{
populateSearchBox(searchStart + 1);
}
function searchListRetreat()	{
populateSearchBox(searchStart - 1);
}
/* Movers */
/* MAP MOVE FUNCTIONS */
function startMove(event) {
clearInterval(buttonHolding);	
if (!event) event = window.event;
dragStartLeft = event.clientX;
dragStartTop = event.clientY;
var innerDiv = document.getElementById("innerDiv");
innerDiv.style.cursor = "-moz-grab";
top = stripPx(innerDiv.style.top);
left = stripPx(innerDiv.style.left);
dragging = true;
return false;
}
function processMove(event) {
if (!event) event = window.event;  
var innerDiv = document.getElementById("innerDiv");
newTop = top + (event.clientY - dragStartTop);
newLeft = left + (event.clientX - dragStartLeft);
if (dragging) {
if (newTop > mapPaperYMax) {
innerDiv.style.top = mapPaperYMax + "px";
}
else if (newTop < mapPaperYMin) {
innerDiv.style.top = mapPaperYMin + "px";
}
else {
innerDiv.style.top = newTop + "px";
}
if (newLeft > mapPaperXMax) {
innerDiv.style.left = mapPaperXMax + "px";
}
else if (newLeft < mapPaperXMin) {
innerDiv.style.left = mapPaperXMin + "px";
}
else {
innerDiv.style.left = newLeft + "px"; 
}
checkTiles();
}
}
function checkTiles() {
var visibleTiles = getVisibleTiles();
var innerDiv = document.getElementById("innerDiv");
var visibleTilesMap = {};      
for (i = 0; i < visibleTiles.length; i++) {  
var tileArray = visibleTiles[i];
var tileName = "page" + currentPage + "x" + tileArray[0] + "y" + tileArray[1] + "z" + currentZoom;
visibleTilesMap[tileName] = true;
var img = document.getElementById(tileName); 
if (!img) { 
img = document.createElement("img");  
img.src = currentPage + "/" + tileName + ".jpg";  
img.style.position = "absolute";
img.style.left = (tileArray[0] * tileSize) + "px";
img.style.top = (tileArray[1] * tileSize) + "px";
img.setAttribute("id", tileName); 
innerDiv.appendChild(img);         
}
}
}
function getVisibleTiles() {
var innerDiv = document.getElementById("innerDiv");
var mapX = stripPx(innerDiv.style.left);
var mapY = stripPx(innerDiv.style.top);
var startX = Math.abs(Math.floor(mapX / tileSize)) - 2;
var startY = Math.abs(Math.floor(mapY / tileSize)) - 2;
var tilesX = Math.ceil(pictureFrameWidth / tileSize) + 2;
var tilesY = Math.ceil(pictureFrameHeight / tileSize) + 2;
if (startX < 0) {
startX = 0;
}
if (startY < 0) {
startY = 0;
}
if ((startX + tilesX) > PWMAtilesX) {
tilesX = PWMAtilesX - startX;
}
if ((startY + tilesY) > PWMAtilesY) {
tilesY = PWMAtilesY - startY;
}
var visibleTileArray = [];
var counter = 0;
for (x = startX; x < (tilesX + startX); x++) {
for (y = startY; y < (tilesY + startY); y++) {
visibleTileArray[counter++] = [x, y];
}
}
return visibleTileArray;
}
function stopMove() {
var innerDiv = document.getElementById("innerDiv");
innerDiv.style.cursor = "";
dragging = false;
checkZoomIn();	
checkEdges();	
}
function joltMap(leftDisplace, topDisplace) {
var innerDiv = document.getElementById("innerDiv");
top = stripPx(innerDiv.style.top);
left = stripPx(innerDiv.style.left);
newLeft = left + leftDisplace;
newTop = top + topDisplace;
if (newTop > mapPaperYMax) {
innerDiv.style.top = mapPaperYMax;
}
else if (newTop < mapPaperYMin) {
innerDiv.style.top = mapPaperYMin + "px";
}
else {
innerDiv.style.top = newTop + "px";
}
if (newLeft > mapPaperXMax) {
innerDiv.style.left = mapPaperXMax + "px";
}
else if (newLeft < mapPaperXMin) {
innerDiv.style.left = mapPaperXMin + "px";
}
else {
innerDiv.style.left = newLeft + "px"; 
}
checkTiles();
checkEdges();
}
function teleportMap(leftPosition, topPosition) {
var innerDiv = document.getElementById("innerDiv");
leftPosition = (pictureFrameWidth/2) - leftPosition;
topPosition = (pictureFrameHeight/2) - topPosition;
if (topPosition > mapPaperYMax) {
innerDiv.style.top = mapPaperYMax + "px";
}
else if (topPosition < mapPaperYMin) {
innerDiv.style.top = mapPaperYMin + "px";
}
else {
innerDiv.style.top = topPosition + "px";
}
if (leftPosition > mapPaperXMax) {
innerDiv.style.left = mapPaperXMax + "px";
}
else if (leftPosition < mapPaperXMin) {
innerDiv.style.left = mapPaperXMin + "px";
}
else {
innerDiv.style.left = leftPosition + "px";
}
}
/* Zoom bar */
/*	Philip's Web Mapping Application - Zoom Bar! */
var zoomBarInitPage = 0;
var zoomBarInitLevel = 0;
var zoomLevelOfCurrentPage = 0;
var zoomStatus = new Array (1);
function initializeZoomBar() {
}
function drawZoomTabs () {
var zoomTab1 = document.getElementById("zoomTab1");
var zoomTab2 = document.getElementById("zoomTab2");
var zoomTab3 = document.getElementById("zoomTab3");
var zoomTab4 = document.getElementById("zoomTab4");
var zoomTab5 = document.getElementById("zoomTab5");
var zoomTab6 = document.getElementById("zoomTab6");
var zoomTab7 = document.getElementById("zoomTab7");
var zoomTab8 = document.getElementById("zoomTab8");
var zoomTab9 = document.getElementById("zoomTab9");
if(currentLayer == 0) {
if(PWMAmaxZoomOut > 1) {
zoomTab1.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[1] = 2;
}
else {
zoomTab1.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[1] = 1;
}
if(PWMAmaxZoomOut > 0) {
zoomTab2.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[2] = 2;
}
else {
zoomTab2.src="graphicsPelias/zoombar-tab-grey.png"; 
zoomBarArray[2] = 1;
}
zoomTab3.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[3] = 2;
zoomTab4.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[4] = 1;
zoomTab5.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[5] = 1;
zoomTab6.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[6] = 1;
zoomTab7.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[7] = 1;
zoomTab8.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[8] = 1;
zoomTab9.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[9] = 1;
document.getElementById("zoomLayerZeroText").innerHTML = PWMAlayerName;
document.getElementById("zoomLayerOneText").innerHTML = "";
document.getElementById("zoomLayerTwoText").innerHTML = "";
}
else if (currentLayer == 1) {
getParentMapData(PWMAparent);
document.getElementById("zoomLayerZeroText").innerHTML = PWMAparentLayerName;
document.getElementById("zoomLayerOneText").innerHTML = PWMAlayerName;
document.getElementById("zoomLayerTwoText").innerHTML = "";
if(PWMAparentMaxZoomOut > 1) {
zoomTab1.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[1] = 2;
}
else {
zoomTab1.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[1] = 1;
}
if(PWMAparentMaxZoomOut > 0) {
zoomTab2.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[2] = 2;
}
else {
zoomTab2.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[2] = 1;
}
zoomTab3.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[3] = 2;
if(PWMAmaxZoomOut > 1) {
zoomTab4.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[4] = 2;
}
else {
zoomTab4.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[4] = 1;
}
if(PWMAmaxZoomOut > 0) {
zoomTab5.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[5] = 2;
}
else {
zoomTab5.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[5] = 1;
}
zoomTab6.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[6] = 2;
zoomTab7.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[7] = 1;
zoomTab8.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[8] = 1;
zoomTab9.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[9] = 1;
}
else if (currentLayer == 2) {
zoomTab1.src="graphicsPelias/zoombar-tab-hollow.png";
zoomTab2.src="graphicsPelias/zoombar-tab-hollow.png";
zoomTab3.src="graphicsPelias/zoombar-tab-hollow.png";
zoomTab4.src="graphicsPelias/zoombar-tab-hollow.png";
zoomTab5.src="graphicsPelias/zoombar-tab-hollow.png";
zoomTab6.src="graphicsPelias/zoombar-tab-hollow.png";
document.getElementById("zoomLayerTwoText").innerHTML = PWMAlayerName;
if(PWMAmaxZoomOut > 1) {
zoomTab7.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[7] = 2;
}
else {
zoomTab7.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[7] = 1;
}
if(PWMAmaxZoomOut > 0) {
zoomTab8.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[8] = 2;
}
else {
zoomTab8.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[8] = 1;
}
zoomTab9.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[9] = 2;
getParentMapData(PWMAparent);
document.getElementById("zoomLayerOneText").innerHTML = PWMAparentLayerName;
if(PWMAparentMaxZoomOut > 1) {
zoomTab4.src="graphicsPelias/zoombar-tab-hollow.png"; 
zoomBarArray[4] = 2;
}
else {
zoomTab4.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[4] = 1;
}
if(PWMAparentMaxZoomOut > 0) {
zoomTab5.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[5] = 2;
}
else {
zoomTab5.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[5] = 1;
}
zoomTab6.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[6] = 2;
getParentParentMapData(PWMAparentParent);
document.getElementById("zoomLayerZeroText").innerHTML = PWMAparentParentLayerName;
if(PWMAparentParentMaxZoomOut > 1) { zoomTab1.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[1] = 2;
}
else {
zoomTab1.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[1] = 1;
}
if(PWMAparentParentMaxZoomOut > 0) {
zoomTab2.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[2] = 2;
}
else {
zoomTab2.src="graphicsPelias/zoombar-tab-grey.png";
zoomBarArray[2] = 1;
}
zoomTab3.src="graphicsPelias/zoombar-tab-hollow.png";
zoomBarArray[3] = 2;
}
currentTabNumber = (3-currentZoom) + (3 * currentLayer);
currentTabIdName = "zoomTab" + currentTabNumber
currentTab = document.getElementById(currentTabIdName);
currentTab.src="graphicsPelias/zoombar-tab-solid.png";
zoomBarArray[currentTabNumber] = 5;	
targetTab = currentTabNumber - 1
if(zoomBarArray[targetTab] == 1) { 
targetTab = targetTab - 1;
if (zoomBarArray[targetTab] == 1) {
targetTab = targetTab - 1;
}
}
zoomBarArray[targetTab] = 3;	
if((currentTabNumber == 3) | (currentTabNumber == 6) | (currentTabNumber == 9)) {
}
else {
targetTab = currentTabNumber + 1
if(zoomBarArray[targetTab] == 2) {zoomBarArray[targetTab] = 4;}
}
checkZoomIn();
checkZoomOut();
}
function checkZoomIn() {
var zoomInButton = document.getElementById("zoomInButton");
if(currentZoom == 0) {
var innerDiv = document.getElementById("innerDiv");
currentCenterX = Number(-(stripPx(innerDiv.style.left)) + (pictureFrameWidth/2));
currentCenterY = Number(-(stripPx(innerDiv.style.top)) + (pictureFrameHeight/2));
checkZoomCounter = 1;
checkZoomResult = 0;
while(checkZoomCounter < overlayTotal) {
if(currentCenterX>zoomTestArray[checkZoomCounter][1]) {
if(currentCenterX<zoomTestArray[checkZoomCounter][2]) {
if(currentCenterY>zoomTestArray[checkZoomCounter][3]) {
if(currentCenterY<zoomTestArray[checkZoomCounter][4]) {
checkZoomResult = Number(zoomTestArray[checkZoomCounter][0]);
}
}
}
}
checkZoomCounter = checkZoomCounter + 1;
}
if (checkZoomResult > 0) {	
zoomInButton.src="graphicsPelias/zoombar-plus.png" 
zoomInButton.onclick=zoomInBetween;
zoomInTarget = checkZoomResult;
}
else {	
zoomInButton.src="graphicsPelias/zoombar-plus-grey.png" 
zoomInButton.onclick="";
zoomInTarget = 0;
}
} 
else {
zoomInButton.src="graphicsPelias/zoombar-plus.png" 
zoomInButton.onclick=zoomInWithin;
}
}
function checkZoomOut()	{
var zoomOutButton = document.getElementById("zoomOutButton");
if (PWMAmaxZoomOut>currentZoom) {	
zoomOutButton.src="graphicsPelias/zoombar-minus.png" 
zoomOutButton.onclick=zoomOutWithin;
zoomOutTarget = 0;
}
else if(PWMAparent>0)	{	
zoomOutButton.src="graphicsPelias/zoombar-minus.png" 
zoomOutButton.onclick=zoomOutBetween;
zoomOutTarget = PWMAparent;
}
else {	
zoomOutButton.src="graphicsPelias/zoombar-minus-grey.png" 
zoomOutButton.onclick="";
zoomOutTarget = 0;
}
}
function zoomInWithin() {
var zoomOutWithinTarget = currentZoom - 1
zoomPageProportional(currentPage, zoomOutWithinTarget);
}
function zoomInWithinSuper(e) {
var zoomOutWithinTarget = currentZoom - 1
zoomPageSuperProportional(e, currentPage, zoomOutWithinTarget);
}
function zoomOutWithin() {
var zoomOutWithinTarget = currentZoom + 1
zoomPageProportional(currentPage, zoomOutWithinTarget);
}
function zoomInBetween() {
newMapData = mapData[zoomInTarget];
mapDataValue = "maxZoomOut"
var searchString = new RegExp( "<" + mapDataValue + ">(.+)<\/" + mapDataValue + ">");
var rawMapDataArray = new Array();
rawMapDataArray = newMapData.match(searchString); 
newMapMaxZoom = (rawMapDataArray[1]);
turnPageToDefault (zoomInTarget,newMapMaxZoom)
}
function zoomOutBetween() {
parentXTarget = PWMAparentX;
parentYTarget = PWMAparentY;
if(parentXTarget == "NULL") {
newMapData = mapData[zoomOutTarget];
mapDataValue = "maxZoomOut"
var searchString = new RegExp( "<" + mapDataValue + ">(.+)<\/" + mapDataValue + ">");
var rawMapDataArray = new Array();
rawMapDataArray = newMapData.match(searchString); 
newMapMaxZoom = (rawMapDataArray[1]);
turnPageToDefault(zoomOutTarget,newMapMaxZoom);
}
else if(parentYTarget == "NULL") {
newMapData = mapData[zoomOutTarget];
mapDataValue = "maxZoomOut"
var searchString = new RegExp( "<" + mapDataValue + ">(.+)<\/" + mapDataValue + ">");
var rawMapDataArray = new Array();
rawMapDataArray = newMapData.match(searchString); 
newMapMaxZoom = (rawMapDataArray[1]);
turnPageToDefault(zoomOutTarget,newMapMaxZoom);
}
else {
zoomPageProportionalParent (zoomOutTarget,0)
}
}
function zoombarTabClicked(tabNumber) {
if (zoomBarArray[tabNumber] == 1) {
}
else if (zoomBarArray[tabNumber] == 5) {
}
else if (zoomBarArray[tabNumber] == 3 ){
if(tabNumber == 3 | tabNumber == 6) { 
zoomOutBetween();
}
else { 
zoomOutWithin();
}
}
else if (zoomBarArray[tabNumber] == 4) {
zoomInWithin();
}
else if (zoomBarArray[tabNumber] == 2) {
currentTabNumber = (3-currentZoom) + (3 * currentLayer);
if (currentLayer == 0) {
zoomTarget = 3 - Number(tabNumber); 
turnPageToDefault (currentPage, zoomTarget);
}
else if (currentLayer == 1) {
if (tabNumber < 4) {
zoomTarget = 3 - Number(tabNumber);
turnPageToDefault (PWMAparent, zoomTarget);
}
else {
zoomTarget = 6 - Number(tabNumber);
turnPageToDefault (currentPage, zoomTarget);
}
}
else if (currentLayer == 2) {
if (tabNumber < 4) {
zoomTarget = 3 - Number(tabNumber);
turnPageToDefault (PWMAparentParent, zoomTarget);
}
else if (tabNumber < 7) {
zoomTarget = 6 - Number(tabNumber);
turnPageToDefault (PWMAparent, zoomTarget);
}
else {
zoomTarget = 9 - Number(tabNumber);
turnPageToDefault (currentPage, zoomTarget);
}
}
else {
}
}
else {
}
}
function rightButtonDrawScroll() {
var borderButtonRight = document.getElementById("borderButtonRight");
borderButtonRight.onmousedown = rightButtonHeld;
borderButtonRight.onmouseup = rightButtonReleased;
borderButtonRight.onmouseout = rightButtonReleased;
}
function leftButtonDrawScroll() {
var borderButtonLeft = document.getElementById("borderButtonLeft");
borderButtonLeft.onmousedown = leftButtonHeld;
borderButtonLeft.onmouseup = leftButtonReleased;
borderButtonLeft.onmouseout = leftButtonReleased;
}
function topButtonDrawScroll() {
var borderButtonTop = document.getElementById("borderButtonTop");
var borderButtonTopControlRight = document.getElementById("borderButtonTopRight");
var borderButtonTopControlLeft = document.getElementById("borderButtonTopLeft");
var middleButton1 = document.getElementById("bbtml");
var middleButton2 = document.getElementById("bbtmr");
middleButton1.src = "graphicsPelias/top-arrow-light-left.png";
middleButton2.src = "graphicsPelias/top-arrow-light-right.png";
borderButtonTopControlRight.style.backgroundImage = "url(graphicsPelias/border-button-background-h.png)";
borderButtonTopControlLeft.style.backgroundImage = "url(graphicsPelias/border-button-background-h.png)";
borderButtonTopControlLeft.onmousedown = topButtonHeld;
borderButtonTopControlLeft.onmouseup = topButtonReleased;
borderButtonTopControlLeft.onmouseout = topButtonReleased;
borderButtonTopControlRight.onmousedown = topButtonHeld;
borderButtonTopControlRight.onmouseup = topButtonReleased;
borderButtonTopControlRight.onmouseout = topButtonReleased;
borderButtonTopControlLeft.style.borderRight = "none";
borderButtonTopControlRight.style.borderLeft = "none";
}	
function bottomButtonDrawScroll() {
var borderButtonBottom = document.getElementById("borderButtonBottom");
var borderButtonBottomControlRight = document.getElementById("borderButtonBottomRight");
var borderButtonBottomControlLeft = document.getElementById("borderButtonBottomLeft");
var middleButton1 = document.getElementById("bbbml");
var middleButton2 = document.getElementById("bbbmr");
middleButton1.src = "graphicsPelias/bottom-arrow-light-left.png";
middleButton2.src = "graphicsPelias/bottom-arrow-light-right.png";
borderButtonBottomControlRight.style.backgroundImage = "url(graphicsPelias/border-button-background-h.png)";
borderButtonBottomControlLeft.style.backgroundImage = "url(graphicsPelias/border-button-background-h.png)";
borderButtonBottomControlRight.onmousedown = bottomButtonHeld;
borderButtonBottomControlRight.onmouseup = bottomButtonReleased;
borderButtonBottomControlRight.onmouseout = bottomButtonReleased;
borderButtonBottomControlLeft.onmousedown = bottomButtonHeld;
borderButtonBottomControlLeft.onmouseup = bottomButtonReleased;
borderButtonBottomControlLeft.onmouseout = bottomButtonReleased;
borderButtonBottomControlLeft.style.borderRight = "none";
borderButtonBottomControlRight.style.borderLeft = "none";
}
function topButtonDrawInnerBox(){
topButtonClearInnerBox()
var outerDiv = document.getElementById("outerDiv");
if(PWMAtopLeftTarget == PWMAtopRightTarget) {	
borderButtonTopSrc1 = 'graphicsButtonsNewer/' + PWMAtopLeftTarget + "w1.png";
borderButtonTopSrc2 = 'graphicsButtonsNewer/' + PWMAtopLeftTarget + "w2.png";
var borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="bottomTable1" style="padding: 0px; margin: 0px; width: 222px; height: 24px; border: none;"><tr><td align="right"><img src="graphicsPointers/arroww1t.png" id="arrowwtL1" /></td><td align="left"><img src="graphicsPointers/arroww2t.png" id="arrowwtR1" /></td></tr><tr><td><img id="topButtonGraphicL1" src="' + borderButtonTopSrc1 + '" /></td><td><img id="topButtonGraphicR1" src="' + borderButtonTopSrc2 + '" /></td></tr></table>'
}
else {	
borderButtonTopSrc1 = 'graphicsButtonsNewer/' + PWMAtopLeftTarget + "n.png";
borderButtonTopSrc2 = 'graphicsButtonsNewer/' + PWMAtopRightTarget + "n.png";
var borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="bottomTable1" style="padding: 0px; margin: 0px; width: 222px; height: 24px; border: none;"><tr><td align="center"><img src="graphicsPointers/arrownt.png" id="arrowntL5" /></td><td align="center"><img src="graphicsPointers/arrownt.png" id="arrowntR6" /></td></tr><tr><td><img id="topButtonGraphicL5" src="' + borderButtonTopSrc1 + '" /></td><td><img id="topButtonGraphicR6" src="' + borderButtonTopSrc2 + '" /></td></tr></table>'
}
var outerOverlays = document.getElementById("outerOverlays");
turnerbuttontop = document.createElement("div");
outerOverlays.appendChild(turnerbuttontop);
turnerbuttontop.innerHTML = borderButtonHTML;
turnerbuttontop.id = "turnerbuttontop";
var leftPos = (outerDiv.offsetWidth/2) - 113; 
turnerbuttontop.style.position = "absolute"
turnerbuttontop.style.top = "4px";
turnerbuttontop.style.left = leftPos + "px";
if(PWMAtopLeftTarget == PWMAtopRightTarget) {	
topButtonGraphicL = document.getElementById("topButtonGraphicL1");
topButtonGraphicR = document.getElementById("topButtonGraphicR1");
topButtonGraphicL.style.borderColor="#330099";
topButtonGraphicL.style.borderWidth="2px";
topButtonGraphicL.style.borderStyle="solid none solid solid";
topButtonGraphicR.style.borderColor="#330099";
topButtonGraphicR.style.borderWidth="2px";
topButtonGraphicR.style.borderStyle="solid solid solid none";
topButtonGraphicL.onmouseover = overlayHover;
topButtonGraphicL.onmouseout = overlayHoverEnd;
topButtonGraphicL.onclick = overlayPageturn;
topButtonGraphicR.onmouseover = overlayHover;
topButtonGraphicR.onmouseout = overlayHoverEnd;
topButtonGraphicR.onclick = overlayPageturn;
}
else	{	
topButtonGraphicL = document.getElementById("topButtonGraphicL5");
topButtonGraphicR = document.getElementById("topButtonGraphicR6");
topButtonGraphicL.style.borderColor="#330099";
topButtonGraphicL.style.borderWidth="2px 1px 2px 2px";
topButtonGraphicL.style.borderStyle="solid";
topButtonGraphicR.style.borderColor="#330099";
topButtonGraphicR.style.borderWidth="2px 2px 2px 1px";
topButtonGraphicR.style.borderStyle="solid";
topButtonGraphicL.onmouseover = overlayHover;
topButtonGraphicL.onmouseout = overlayHoverEnd;
topButtonGraphicL.onclick = overlayPageturn;
topButtonGraphicR.onmouseover = overlayHover;
topButtonGraphicR.onmouseout = overlayHoverEnd;
topButtonGraphicR.onclick = overlayPageturn;
}
}
function topButtonClearInnerBox() {
try {	
turnerbuttontopParent = document.getElementById("turnerbuttontop").parentNode;
turnerbuttontopParent.removeChild(turnerbuttontop);
}
catch(e) {	
}
}
function bottomButtonDrawInnerBox(){
bottomButtonClearInnerBox()
var outerDiv = document.getElementById("outerDiv");
if(PWMAbottomLeftTarget == PWMAbottomRightTarget) {	
borderButtonBottomSrc1 = 'graphicsButtonsNewer/' + PWMAbottomLeftTarget + "w1.png";
borderButtonBottomSrc2 = 'graphicsButtonsNewer/' + PWMAbottomLeftTarget + "w2.png";
var borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="topTable1" style="padding: 0px; margin: 0px; width: 222px; height: 24px; border: none;"><tr><td><img id="bottomButtonGraphicL3" src="' + borderButtonBottomSrc1 + '" /></td><td><img id="bottomButtonGraphicR3" src="' + borderButtonBottomSrc2 + '" /></td></tr><tr><td align="right"><img src="graphicsPointers/arroww1b.png" id="arrowwbL3" /></td><td align="left"><img src="graphicsPointers/arroww2b.png" id="arrowwbR3" /></td></tr></table>'
}
else {	
borderButtonBottomSrc1 = 'graphicsButtonsNewer/' + PWMAbottomLeftTarget + "n.png";
borderButtonBottomSrc2 = 'graphicsButtonsNewer/' + PWMAbottomRightTarget + "n.png";
var borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="topTable1" style="padding: 0px; margin: 0px; width: 222px; height: 24px; border: none;"><tr><td><img id="bottomButtonGraphicL9" src="' + borderButtonBottomSrc1 + '" /></td><td><img id="bottomButtonGraphicR10" src="' + borderButtonBottomSrc2 + '" /></td></tr><tr><td align="center"><img src="graphicsPointers/arrownb.png" id="arrownbL9" /></td><td align="center"><img src="graphicsPointers/arrownb.png" id="arrownbR10" /></td></tr></table>'
}
var outerOverlays = document.getElementById("outerOverlays");
turnerbuttonbottom = document.createElement("div");
outerOverlays.appendChild(turnerbuttonbottom);
turnerbuttonbottom.innerHTML = borderButtonHTML;
turnerbuttonbottom.id = "turnerbuttonbottom";
var leftPos = (outerDiv.offsetWidth/2) - 113; 
var topPos = (outerDiv.offsetHeight) - 29;
turnerbuttonbottom.style.position = "absolute"
turnerbuttonbottom.style.top = topPos + "px";
turnerbuttonbottom.style.left = leftPos + "px";
if(PWMAbottomLeftTarget == PWMAbottomRightTarget) {	
bottomButtonGraphicL = document.getElementById("bottomButtonGraphicL3");
bottomButtonGraphicR = document.getElementById("bottomButtonGraphicR3");
bottomButtonGraphicL.style.borderColor="#330099";
bottomButtonGraphicL.style.borderWidth="2px";
bottomButtonGraphicL.style.borderStyle="solid none solid solid";
bottomButtonGraphicR.style.borderColor="#330099";
bottomButtonGraphicR.style.borderWidth="2px";
bottomButtonGraphicR.style.borderStyle="solid solid solid none";
bottomButtonGraphicL.onmouseover = overlayHover;
bottomButtonGraphicL.onmouseout = overlayHoverEnd;
bottomButtonGraphicL.onclick = overlayPageturn;
bottomButtonGraphicR.onmouseover = overlayHover;
bottomButtonGraphicR.onmouseout = overlayHoverEnd;
bottomButtonGraphicR.onclick = overlayPageturn;
}
else	{	
bottomButtonGraphicL = document.getElementById("bottomButtonGraphicL9");
bottomButtonGraphicR = document.getElementById("bottomButtonGraphicR10");
bottomButtonGraphicL.style.borderColor="#330099";
bottomButtonGraphicL.style.borderWidth="2px 1px 2px 2px";
bottomButtonGraphicL.style.borderStyle="solid";
bottomButtonGraphicR.style.borderColor="#330099";
bottomButtonGraphicR.style.borderWidth="2px 2px 2px 1px";
bottomButtonGraphicR.style.borderStyle="solid";
bottomButtonGraphicL.onmouseover = overlayHover;
bottomButtonGraphicL.onmouseout = overlayHoverEnd;
bottomButtonGraphicL.onclick = overlayPageturn;
bottomButtonGraphicR.onmouseover = overlayHover;
bottomButtonGraphicR.onmouseout = overlayHoverEnd;
bottomButtonGraphicR.onclick = overlayPageturn;
}
}
function bottomButtonClearInnerBox(){
try {	
turnerbuttonbottomParent = document.getElementById("turnerbuttonbottom").parentNode;
turnerbuttonbottomParent.removeChild(turnerbuttonbottom);
}
catch(e) {	
}
}
function rightButtonDrawInnerBox(){
rightButtonClearInnerBox()
var outerDiv = document.getElementById("outerDiv");
var borderButtonHTML="";
if(PWMArightTopTarget == PWMArightBottomTarget) {	
borderButtonRightSrc2 = 'graphicsButtonsNewer/' + PWMArightTopTarget + "w2r.png";
borderButtonRightSrc1 = 'graphicsButtonsNewer/' + PWMArightBottomTarget + "w1r.png";
borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="rightTable1" style="padding: 0px; margin: 0px; width: 24px; height: 222px; border: none;"><tr><td><img id="rightButtonGraphicT2" src="' + borderButtonRightSrc1 + '" /></td><td valign="bottom"><img src="graphicsPointers/arroww1r.png" id="arrowwT2" /></td></tr><tr><td><img id="rightButtonGraphicB2" src="' + borderButtonRightSrc2 + '" /></td><td valign="top"><img src="graphicsPointers/arroww2r.png" id="arrowwB2" /></td></tr></table>'
}
else {	
borderButtonRightSrc1 = 'graphicsButtonsNewer/' + PWMArightTopTarget + "nr.png";
borderButtonRightSrc2 = 'graphicsButtonsNewer/' + PWMArightBottomTarget + "nr.png";
borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="rightTable1" style="padding: 0px; margin: 0px; width: 24px; height: 222px; border: none;"><tr><td><img id="rightButtonGraphicT7" src="' + borderButtonRightSrc1 + '" /></td><td><img src="graphicsPointers/arrownr.png" id="arrownrT7" /></td></tr><tr><td><img id="rightButtonGraphicB8" src="' + borderButtonRightSrc2 + '" /></td><td><img src="graphicsPointers/arrownr.png" id="arrownrB8" /></td></tr></table>'
}
var outerOverlays = document.getElementById("outerOverlays");
turnerbuttonright = document.createElement("div");
outerOverlays.appendChild(turnerbuttonright);
turnerbuttonright.innerHTML = borderButtonHTML;
turnerbuttonright.id = "turnerbuttonright";
var topPos = (outerDiv.offsetHeight/2) - 111; 
var leftPos = (outerDiv.offsetWidth - 29);
turnerbuttonright.style.position = "absolute"
turnerbuttonright.style.top = topPos + "px";
turnerbuttonright.style.left = leftPos + "px";
if(PWMArightTopTarget == PWMArightBottomTarget) {	
var rightButtonGraphicB = document.getElementById("rightButtonGraphicB2");
var rightButtonGraphicT = document.getElementById("rightButtonGraphicT2");
rightButtonGraphicB.style.borderColor="#330099";
rightButtonGraphicB.style.borderWidth="2px";
rightButtonGraphicB.style.borderStyle="none solid solid solid";
rightButtonGraphicT.style.borderColor="#330099";
rightButtonGraphicT.style.borderWidth="2px";
rightButtonGraphicT.style.borderStyle="solid solid none solid";
}
else {	
var rightButtonGraphicB = document.getElementById("rightButtonGraphicB8");
var rightButtonGraphicT = document.getElementById("rightButtonGraphicT7");
rightButtonGraphicB.style.borderColor="#330099";
rightButtonGraphicB.style.borderWidth="1px 2px 2px 2px";
rightButtonGraphicB.style.borderStyle="solid solid solid solid";
rightButtonGraphicT.style.borderColor="#330099";
rightButtonGraphicT.style.borderWidth="2px 2px 1px 2px";
rightButtonGraphicT.style.borderStyle="solid solid solid solid";
}
rightButtonGraphicB.onmouseover = overlayHover;
rightButtonGraphicB.onmouseout = overlayHoverEnd;
rightButtonGraphicB.onclick = overlayPageturn;
rightButtonGraphicT.onmouseover = overlayHover;
rightButtonGraphicT.onmouseout = overlayHoverEnd;
rightButtonGraphicT.onclick = overlayPageturn;
}
function rightButtonClearInnerBox(){
try {	
turnerbuttonrightParent = document.getElementById("turnerbuttonright").parentNode;
turnerbuttonrightParent.removeChild(turnerbuttonright);
}
catch(e) {	
}
}
function leftButtonDrawInnerBox(){
leftButtonClearInnerBox()
var outerDiv = document.getElementById("outerDiv");
var borderButtonHTML="";
if(PWMAleftTopTarget == PWMAleftBottomTarget) {	
borderButtonLeftSrc1 = 'graphicsButtonsNewer/' + PWMAleftTopTarget + "w2l.png";
borderButtonLeftSrc2 = 'graphicsButtonsNewer/' + PWMAleftBottomTarget + "w1l.png";
borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="leftTable1" style="padding: 0px; margin: 0px; width: 24px; height: 222px; border: none;"><tr><td valign="bottom"><img src="graphicsPointers/arroww1l.png" id="arrowwT4" /></td><td><img id="leftButtonGraphicT4" src="' + borderButtonLeftSrc1 + '" /></td></tr><tr><td valign="top"><img src="graphicsPointers/arroww2l.png" id="arrowwB4" /></td><td><img id="leftButtonGraphicB4" src="' + borderButtonLeftSrc2 + '" /></td></tr></table>'
}
else {	
borderButtonLeftSrc1 = 'graphicsButtonsNewer/' + PWMAleftTopTarget + "nl.png";
borderButtonLeftSrc2 = 'graphicsButtonsNewer/' + PWMAleftBottomTarget + "nl.png";
borderButtonHTML = '<table cellpadding="0" cellspacing = "0" id="leftTable1" style="padding: 0px; margin: 0px; width: 24px; height: 222px; border: none;"><tr><td><img src="graphicsPointers/arrownl.png" id="arrownlT11" /></td><td><img id="leftButtonGraphicT11" src="' + borderButtonLeftSrc1 + '" /></td></tr><tr><td><img src="graphicsPointers/arrownl.png" id="arrownlB12" /></td><td><img id="leftButtonGraphicB12" src="' + borderButtonLeftSrc2 + '" /></td></tr></table>'
}
var outerOverlays = document.getElementById("outerOverlays");
turnerbuttonleft = document.createElement("div");
outerOverlays.appendChild(turnerbuttonleft);
turnerbuttonleft.innerHTML = borderButtonHTML;
turnerbuttonleft.id = "turnerbuttonleft";
var topPos = (outerDiv.offsetHeight/2) - 111; 
turnerbuttonleft.style.position = "absolute"
turnerbuttonleft.style.top = topPos + "px";
turnerbuttonleft.style.left = "4px";
if(PWMAleftTopTarget == PWMAleftBottomTarget) {	
var leftButtonGraphicB = document.getElementById("leftButtonGraphicB4");
var leftButtonGraphicT = document.getElementById("leftButtonGraphicT4");
leftButtonGraphicB.style.borderColor="#330099";
leftButtonGraphicB.style.borderWidth="2px";
leftButtonGraphicB.style.borderStyle="none solid solid solid";
leftButtonGraphicT.style.borderColor="#330099";
leftButtonGraphicT.style.borderWidth="2px";
leftButtonGraphicT.style.borderStyle="solid solid none solid";
}
else {	
var leftButtonGraphicB = document.getElementById("leftButtonGraphicB12");
var leftButtonGraphicT = document.getElementById("leftButtonGraphicT11");
leftButtonGraphicB.style.borderColor="#330099";
leftButtonGraphicB.style.borderWidth="1px 2px 2px 2px";
leftButtonGraphicB.style.borderStyle="solid solid solid solid";
leftButtonGraphicT.style.borderColor="#330099";
leftButtonGraphicT.style.borderWidth="2px 2px 1px 2px";
leftButtonGraphicT.style.borderStyle="solid solid solid solid";
}
leftButtonGraphicB.onmouseover = overlayHover;
leftButtonGraphicB.onmouseout = overlayHoverEnd;
leftButtonGraphicB.onclick = overlayPageturn;
leftButtonGraphicT.onmouseover = overlayHover;
leftButtonGraphicT.onmouseout = overlayHoverEnd;
leftButtonGraphicT.onclick = overlayPageturn;
}
function leftButtonClearInnerBox() {
try {	
turnerbuttonleftParent = document.getElementById("turnerbuttonleft").parentNode;
turnerbuttonleftParent.removeChild(turnerbuttonleft);
}
catch(e) {	
}
}
function overlayHover(event){
var targ
if (!event) { var event = window.event; }
if (event.target) { targ = event.target; }
else if (event.srcElement) { targ = event.srcElement; }
if (targ.nodeType == 3)	{ 
targ = targ.parentNode; }
var tname = String(targ.id);
var searchTerm = new RegExp("\\d+", "g");
var digitArray = new Array(2);
digitArray = tname.match(searchTerm);
var targetOne = "";
var targetTwo = "";
var targetThree = new Array(2);
var targetFour = new Array(2);
if(digitArray[0] === "1")	{
targetOne = "topButtonGraphicL1"
targetTwo = "topButtonGraphicR1"
targetThree[0] = "arrowwtL1"
targetThree[1] = "graphicsPointers/arrowredw1t.png"
targetFour[0] = "arrowwtR1"
targetFour[1] = "graphicsPointers/arrowredw2t.png"
}
if(digitArray[0] === "2")	{
targetOne = "rightButtonGraphicB2"
targetTwo = "rightButtonGraphicT2"
targetThree[0] = "arrowwT2"
targetThree[1] = "graphicsPointers/arrowredw1r.png"
targetFour[0] = "arrowwB2"
targetFour[1] = "graphicsPointers/arrowredw2r.png"
}
if(digitArray[0] === "3")	{
targetOne = "bottomButtonGraphicL3"
targetTwo = "bottomButtonGraphicR3"
targetThree[0] = "arrowwbL3"
targetThree[1] = "graphicsPointers/arrowredw1b.png"
targetFour[0] = "arrowwbR3"
targetFour[1] = "graphicsPointers/arrowredw2b.png"
}
if(digitArray[0] === "4")	{
targetOne = "leftButtonGraphicB4"
targetTwo = "leftButtonGraphicT4"
targetThree[0] = "arrowwT4"
targetThree[1] = "graphicsPointers/arrowredw1l.png"
targetFour[0] = "arrowwB4"
targetFour[1] = "graphicsPointers/arrowredw2l.png"
}
if(digitArray[0] === "5") {
targetOne = "topButtonGraphicL5"
targetThree[0] = "arrowntL5"
targetThree[1] = "graphicsPointers/arrowrednt.png"
targetFour[0] = ""
}
if(digitArray[0] === "6") {
targetOne = "topButtonGraphicR6"
targetThree[0] = "arrowntR6"
targetThree[1] = "graphicsPointers/arrowrednt.png"
targetFour[0] = ""
}
if(digitArray[0] === "7") {
targetOne = "rightButtonGraphicT7"
targetThree[0] = "arrownrT7"
targetThree[1] = "graphicsPointers/arrowrednr.png"
targetFour[0] = ""
}
if(digitArray[0] === "8") {
targetOne = "rightButtonGraphicB8"
targetThree[0] = "arrownrB8"
targetThree[1] = "graphicsPointers/arrowrednr.png"
targetFour[0] = ""
}
if(digitArray[0] === "9") {
targetOne = "bottomButtonGraphicL9"
targetThree[0] = "arrownbL9"
targetThree[1] = "graphicsPointers/arrowrednb.png"
targetFour[0] = ""
}
if(digitArray[0] === "10") {
targetOne = "bottomButtonGraphicR10"
targetThree[0] = "arrownbR10"
targetThree[1] = "graphicsPointers/arrowrednb.png"
targetFour[0] = ""
}
if(digitArray[0] === "11") {
targetOne = "leftButtonGraphicT11"
targetThree[0] = "arrownlT11"
targetThree[1] = "graphicsPointers/arrowrednl.png"
targetFour[0] = ""
}
if(digitArray[0] === "12") {
targetOne = "leftButtonGraphicB12"
targetThree[0] = "arrownlB12"
targetThree[1] = "graphicsPointers/arrowrednl.png"
targetFour[0] = ""
}
if(targetOne.length > 0) { document.getElementById(targetOne).style.borderColor="red"; }
if(targetTwo.length > 0) { document.getElementById(targetTwo).style.borderColor="red"; }
if(targetThree[0].length > 0) { document.getElementById(targetThree[0]).src=targetThree[1]; }
if(targetFour[0].length > 0) { document.getElementById(targetFour[0]).src=targetFour[1]; }
}
function overlayHoverEnd(event){
var targ
if (!event) { var event = window.event; }
if (event.target) { targ = event.target; }
else if (event.srcElement) { targ = event.srcElement; }
if (targ.nodeType == 3)	{ 
targ = targ.parentNode; }
var tname = String(targ.id);
var searchTerm = new RegExp("\\d+", "g");
var digitArray = new Array(2);
digitArray = tname.match(searchTerm);
var targetOne = "";
var targetTwo = "";
var targetThree = new Array(2);
var targetFour = new Array(2);
if(digitArray[0] === "1")	{
targetOne = "topButtonGraphicL1"
targetTwo = "topButtonGraphicR1"
targetThree[0] = "arrowwtL1"
targetThree[1] = "graphicsPointers/arroww1t.png"
targetFour[0] = "arrowwtR1"
targetFour[1] = "graphicsPointers/arroww2t.png"
}
if(digitArray[0] === "2")	{
targetOne = "rightButtonGraphicB2"
targetTwo = "rightButtonGraphicT2"
targetThree[0] = "arrowwT2"
targetThree[1] = "graphicsPointers/arroww1r.png"
targetFour[0] = "arrowwB2"
targetFour[1] = "graphicsPointers/arroww2r.png"
}
if(digitArray[0] === "3")	{
targetOne = "bottomButtonGraphicL3"
targetTwo = "bottomButtonGraphicR3"
targetThree[0] = "arrowwbL3"
targetThree[1] = "graphicsPointers/arroww1b.png"
targetFour[0] = "arrowwbR3"
targetFour[1] = "graphicsPointers/arroww2b.png"
}
if(digitArray[0] === "4")	{
targetOne = "leftButtonGraphicB4"
targetTwo = "leftButtonGraphicT4"
targetThree[0] = "arrowwT4"
targetThree[1] = "graphicsPointers/arroww1l.png"
targetFour[0] = "arrowwB4"
targetFour[1] = "graphicsPointers/arroww2l.png"
}
if(digitArray[0] === "5") {
targetOne = "topButtonGraphicL5"
targetThree[0] = "arrowntL5"
targetThree[1] = "graphicsPointers/arrownt.png"
targetFour[0] = ""
}
if(digitArray[0] === "6") {
targetOne = "topButtonGraphicR6"
targetThree[0] = "arrowntR6"
targetThree[1] = "graphicsPointers/arrownt.png"
targetFour[0] = ""
}
if(digitArray[0] === "7") {
targetOne = "rightButtonGraphicT7"
targetThree[0] = "arrownrT7"
targetThree[1] = "graphicsPointers/arrownr.png"
targetFour[0] = ""
}
if(digitArray[0] === "8") {
targetOne = "rightButtonGraphicB8"
targetThree[0] = "arrownrB8"
targetThree[1] = "graphicsPointers/arrownr.png"
targetFour[0] = ""
}
if(digitArray[0] === "9") {
targetOne = "bottomButtonGraphicL9"
targetThree[0] = "arrownbL9"
targetThree[1] = "graphicsPointers/arrownb.png"
targetFour[0] = ""
}
if(digitArray[0] === "10") {
targetOne = "bottomButtonGraphicR10"
targetThree[0] = "arrownbR10"
targetThree[1] = "graphicsPointers/arrownb.png"
targetFour[0] = ""
}
if(digitArray[0] === "11") {
targetOne = "leftButtonGraphicT11"
targetThree[0] = "arrownlT11"
targetThree[1] = "graphicsPointers/arrownl.png"
targetFour[0] = ""
}
if(digitArray[0] === "12") {
targetOne = "leftButtonGraphicB12"
targetThree[0] = "arrownlB12"
targetThree[1] = "graphicsPointers/arrownl.png"
targetFour[0] = ""
}
if(targetOne.length > 0) { document.getElementById(targetOne).style.borderColor="#330099"; }
if(targetTwo.length > 0) { document.getElementById(targetTwo).style.borderColor="#330099"; }
if(targetThree[0].length > 0) { document.getElementById(targetThree[0]).src=targetThree[1]; }
if(targetFour[0].length > 0) { document.getElementById(targetFour[0]).src=targetFour[1]; }
}
function overlayPageturn(event){
var targ
if (!event) { var event = window.event; }
if (event.target) { targ = event.target; }
else if (event.srcElement) { targ = event.srcElement; }
if (targ.nodeType == 3)	{ 
targ = targ.parentNode; }
var tname = String(targ.id);
var searchTerm = new RegExp("\\d+", "g");
var digitArray = new Array(2);
digitArray = tname.match(searchTerm); 
if(digitArray[0] === "1"){
topPageTurnRight();
}
if(digitArray[0] === "2"){
rightPageTurnTop();
}
if(digitArray[0] === "3"){
bottomPageTurnRight();
}
if(digitArray[0] === "4"){
leftPageTurnTop();
}
if(digitArray[0] === "5"){
topPageTurnLeft();
}
if(digitArray[0] === "6"){
topPageTurnRight();
}
if(digitArray[0] === "7"){
rightPageTurnTop();
}
if(digitArray[0] === "8"){
rightPageTurnBottom();
}
if(digitArray[0] === "9"){
bottomPageTurnLeft();
}
if(digitArray[0] === "10"){
bottomPageTurnRight();
}
if(digitArray[0] === "11"){
leftPageTurnTop();
}
if(digitArray[0] === "12"){
leftPageTurnBottom();
}
}

