
function init_map(frameId)
{
  gsGcm = "PowysTransportMapEnglish";
  sTileRoot = "http://www.cartogold.co.uk/Powys_Bus/Tiles";
  gsRoot = "http://www.cartogold.co.uk/Powys_Bus/";
  gnTl=""
  gsAddress = "Address.asp";
  gsRoute = "Route.asp";
  gsImap = "Imap.asp";
  gsInsets = "Insets.asp";
  
  gsAdDb = "Powys_Main.mdb";
  gsRouteDb ="Powys_Main.mdb";
  gsImapDb ="Powys_Main.mdb";
  gsTownsDb="Powys_Main.mdb"
  sVecFntSz="70px"
  wmString="POWYS"
  gsExL = 253314;
  gsExB = 205619;
  gsExR = 340334;
  gsExT = 334740;
  opacity = 100;
  gotoZ = 5;
  dZoom = 6;
  gnMaxZ = 1;
  gnMinZ = 6;
  gnCz = 5;
  tbarSpcHt=10;
  gaDtot=new Array(1,4,9,30,108,408,1584) 
  gaDnumw=new Array(1,2,3,5,9,17,33)
  gaDzw = new Array(104,208,515,1029,2056,4111,8222);
  gaDzh = new Array(191,382,764,1525,3050,6101,12202);
  gaLiWt = new Array(1,1,2,3,4,8,16,20,24,30);
  gnVecLen = 0;
  bsRtEx = false;
  baseCol='59AD40'
  result=new Array()
  result[0]=''
  extension=''
  actvRt=''
if (frameId=='map'){start_map();}
}  
  
  
  function start_map()
  {
   
  
  obFrame=parent.document.getElementById("info3")
  obFrame.innerHTML="<A class='helpTextBoldComp'>&nbsp&nbsp;Enter a place name to narrow search results.</A><BR><A class='helpTextBoldComp'>&nbsp;&nbsp;Select a name from the list to go to the</A><BR><A class='helpTextBoldComp'>&nbsp;&nbsp;town or place on the map.</A><INPUT id='AddressSearch' type='TEXT' ><DIV id='optionBox3'><SELECT  id='selectList3'><option value=''selected> </option></SELECT></DIV><BR><A class='helpTextBoldComp'>&nbsp;&nbsp;Click links to visit a Place of Interest's</A><BR><A class='helpTextBoldComp'>&nbsp;&nbsp;homepage.</A><DIV id='optionBox4'></DIV>" 
  parent.document.getElementById('AddressSearch').onkeyup=function(){MapEvent('address',this.value);}
  MapEvent('address','*')
  
  if(typeof(window.innerWidth) == "number")
    {
    browser = "nonIE";
    myWidth = parent.window.innerWidth;
    myHeight = parent.window.innerHeight;
    }
  else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
    {
    browser = "ieComp";
    myWidth = parent.document.body.clientWidth;
    myHeight = parent.document.body.clientHeight;
    }
  else if(document.body && (document.body.clientWidth || document.body.clientHeight))
    {
    browser = "ie4Comp";
    myWidth = parent.document.body.clientWidth;
    myHeight = parent.document.body.clientHeight;
    }
 

  rInfoDel = true;
  nVec = 0;
  gnRnd = 1;
  gnRq = 2;
  gsXgoUserID = document.getElementById("userID").className;
 

  document.getElementById("ovCrs").onmouseover = function()
    {
    document.body.style.cursor = "move";
    }
  document.getElementById("ctrl").onmouseover = function()
    {
    if(document.body.style.cursor != "pointer")
      {
      document.body.style.cursor = "move";
      }
  };
  gsRngS = [[0,0],[1,0],[ - 1,0],[0, - 1],[0,1],[ - 1, - 1],[1, - 1],[1,1],[ - 1,1],[ - 2,1],[ - 2,0],[ - 2, - 1],[ - 2, - 2],[ - 1, - 2],[0, - 2],[1, - 2]];
  gsDel = [[ - 4, - 4],[ - 3, - 4],[ - 2, - 4],[ - 1, - 4],[0, - 4],[1, - 4],[2, - 4],[3, - 4],[ - 4, - 3],[ - 4, - 2],[ - 4, - 1],[ - 4,0],[ - 4,1],[ - 4,2],[ - 4,3],[3, - 3],[3, - 2],[3, - 1],[3,0],[3,1],[3,2],[3,3],[ - 3,3],[ - 2,3],[ - 1,3],[0,3],[1,3],[2,3]];
  gsStCx = 0;
  gsStCy = 0;
  Z = 0;
 for(var p = 0;p <= gnMinZ;p++)
    {
    oZdv[p] = new oZdv(p,gaDzw[p],gaDzh[p]);
    if (oZdv[p].width>document.getElementById('map').offsetWidth){Z=p;}
    }
   document.getElementById("map").style.top = 0;
   document.getElementById("map").style.left = 0; 
   AdjLyt();
   for(var p = 0;p <= gnMinZ;p++)
   {
   if (oZdv[p].width>document.getElementById('map').offsetWidth&&oZdv[p].height>document.getElementById('map').offsetHeight){Z=p;gnMaxZ=p;break;}
   }
 
 
 
 


  tImg=document.createElement("img");
  tImg.style.height="5px"
  tImg.style.width="19px"
  tImg.src="images/toolbar_track_0.gif"
  document.getElementById("ttrack").appendChild(tImg);  
  n=gnMinZ
  for (i=Z;i<=gnMinZ;i++)
  {
  tSrc="images/toolbar_track_1.gif"
  tImg=document.createElement("img");
  tImg.id="tsec"+n;
  tImg.style.left="32px"
  tImg.style.top=5+((i-Z)*18)+"px";
  tImg.style.height="12px"
  tImg.style.width="19px"
  tImg.style.zIndex=100
  tImg.src=tSrc;
  document.getElementById("ttrack").appendChild(tImg);
    


  
  tSp=document.createElement("img");
  tSp.id="tsp"+n;
  tSrc="images/toolbar_track_sp.gif"
  tSp.style.left="32px"
  tSp.style.top=((i-Z)*18)+12+"px";
  tSp.style.height="6px"
  tSp.style.width="19px"
  tSp.src=tSrc;
  document.getElementById("ttrack").appendChild(tSp);
  
  
  
  
  n=n-1
  }
  document.getElementById("tsp"+(n+1)).style.height="5px"
  document.getElementById("tsp"+(n+1)).style.width="19px"
  document.getElementById("tsp"+(n+1)).src="images/toolbar_track_2.gif"
  document.getElementById("toolbar_out").style.top = parseInt(document.getElementById("ttrack").style.top)+document.getElementById("ttrack").offsetHeight+8+"px"
  document.getElementById("toolbar_out").style.left = "30px"
  
  document.getElementById("toolbar_out_shadow").style.top = parseInt(document.getElementById("ttrack").style.top)+document.getElementById("ttrack").offsetHeight+8+"px"
   document.getElementById("toolbar_out_shadow").style.left = "30px"
  document.getElementById("tbar").style.left="0px"

  Drag.init(document.getElementById("tbar"),null,0,0,4,parseInt(document.getElementById('ttrack').offsetHeight)-18); 
  document.getElementById("tbar").style.top=document.getElementById("tsec"+Z).style.top;
  document.getElementById("toolContainer").style.visibility='visible'

  document.getElementById("rc_").style.width = oZdv[Z].width + "px";
  document.getElementById("rc_").style.height = oZdv[Z].height + "px";
  document.getElementById("rc_").style.left = 0-(oZdv[Z].width/2) + (document.getElementById("imHld").offsetWidth/2) + "px";
  document.getElementById("rc_").style.top = 0-(document.getElementById("imHld").offsetHeight/2) - (oZdv[Z].height/2) + "px";
  document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
  document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
  document.getElementById(oZdv[Z].id).style.visibility = 'visible';
  FtchCo(document.getElementById(oZdv[Z].id));
  ScaIMap();
  AjaxVec();
  OvUpd();
  Drag.init(document.getElementById("rc_"),null,((gaDzw[Z] *  - 1)) + document.getElementById("imHld").offsetWidth,0,(gaDzh[Z] *  - 1),0-document.getElementById("imHld").offsetHeight);


  parent.document.body.onresize = function()
    {
    AdjLyt();
    OvUpd();
    }
   parent.window.onresize = function()
    {
    AdjLyt();
    OvUpd();
    }  
  var oGetVec=new Ajax();
  oGetVec.method='GET';
  oGetVec.async=true;  
  }
 
 
 function oZdv(zm,w,h)
   {
   this.route = new Array(100);
   for(var p = 0;p < 1;p++)
     {
     this.route[p] = new Array();
     }
   this.id = "oZdv_" + zm;
   this.width = w;
   this.height = h;
   this.nScaFa = ((gsExR - gsExL)/gaDzw[zm]);
   this.lineweight = gaLiWt[Z];
   this.nScaOvFa = (parseInt(document.getElementById("ov").offsetWidth))/this.width;
   this.nRvScaOvFa = this.width/parseInt(document.getElementById("ov").offsetWidth);
   this.nRvScaFa = (gaDzw[zm]/(gsExR - gsExL));
   this.initX = Math.round((document.getElementById("imHld").offsetWidth - this.width)/2);
   this.initY = Math.round((document.getElementById("imHld").offsetHeight - this.height)/2) - (document.getElementById("imHld").offsetHeight);
   oNewDiv = document.createElement("div");
   oNewDiv.id = this.id;
   document.getElementById("ctrl").appendChild(oNewDiv);
   document.getElementById(this.id).style.visibility = "hidden";
   document.getElementById(this.id).style.position = "absolute";
   document.getElementById(this.id).style.top = "0px";
   document.getElementById(this.id).style.left = "0px";
   document.getElementById(this.id).style.height = this.height + "px";
   document.getElementById(this.id).style.width = this.width + "px";
   document.getElementById(this.id).style.zIndex = 1;
 
   }
 
 
 
 function FtchCo(oZoomObject)
   {
 
   nCEN_X=((parseInt(oZoomObject.style.left)*-1)+parseInt(document.getElementById("imHld").offsetWidth/2));
   nCEN_Y=((parseInt(oZoomObject.style.top))+parseInt((document.getElementById("imHld").offsetHeight/2)))*-1;
   nCEN_X+=128;
   nCEN_Y+=128;
   nCEN_X=Math.abs(Math.floor(nCEN_X/256));
   nCEN_Y=Math.abs(Math.floor(nCEN_Y/256));
   for(var i=0;i<gsRngS.length;i++)
     {
     if((parseInt(nCEN_X+gsRngS[i][0])>=0&&parseInt(nCEN_Y+gsRngS[i][1])>=0))
       {
       oNewTile=new Array();
       oNewTile[i]=document.createElement("img");
       sFolder=parseFloat(parseInt((nCEN_Y+gsRngS[i][1])*gaDnumw[Z])+(parseInt(nCEN_X+gsRngS[i][0])));
       for(l=0;l<Z;l++)
         {
         sFolder+=gaDtot[l];
         }        
       sFolder="TileGroup"+Math.floor(sFolder/256.0);
       root=sTileRoot+gnTl+"/"+sFolder+"/";
       sTileId=Z+"-"+Math.abs(parseInt(nCEN_X+gsRngS[i][0]))+"-"+Math.abs(parseInt(nCEN_Y+gsRngS[i][1]));
       if(!document.getElementById(sTileId))
         {
         oNewTile[i].id=sTileId;
         oNewTile[i].style.zIndex=2;
         oNewTile[i].style.filter="alpha(opacity="+opacity+")";
         oNewTile[i].style.opacity=opacity/100;
         oNewTile[i].style.position="absolute";
         oNewTile[i].style.top=parseInt(nCEN_Y+gsRngS[i][1])*256+"px";
         oNewTile[i].style.left=parseInt(nCEN_X+gsRngS[i][0])*256+"px";
         oNewTile[i].src=root+sTileId+".jpg";
         document.getElementById(oZdv[Z].id).appendChild(oNewTile[i]);
         }
       }
     }
    
   for(var i=0;i<gsDel.length;i++)
     {
     if((parseInt(nCEN_X+gsDel[i][0])>=0&&parseInt(nCEN_Y+gsDel[i][1])>=0))
       {
       sTileId=Z+"-"+parseInt(nCEN_X+gsDel[i][0])+"-"+parseInt(nCEN_Y+gsDel[i][1]);
       var oDoc=document.getElementById(sTileId);
       if(oDoc)
         {
         oDoc.parentNode.removeChild(oDoc);
         }
       }
     }
 
   
     if (document.getElementById("infoRouteName"))
     {
   document.getElementById("infoRouteName").style.color = "black";
   document.getElementById("information").style.visibility = "visible";
   goZdivObj = document.getElementById(oZdv[Z].id);
 }
  }
 
 
 
 
 function countAjax(ajax){
 
 }
 
 function SnpTool()
   {         
   goZdivObj = document.getElementById(oZdv[Z].id)
   while(goZdivObj.childNodes.length)
       {
       sTileIdStrSeg = (goZdivObj.firstChild.id).split("-");
       goZdivObj.removeChild(goZdivObj.firstChild)
       }
   gnTby=parseInt(document.getElementById('tbar').style.top);
   nTBY=Math.round(((parseInt(document.getElementById('ttrack').style.top))-gnTby)/16);
   stp=Math.abs(Z-nTBY)   
   if(Z<nTBY){
		for (var i=0;i<stp;i++)
		{
		MapEvent('dragin')
		}
	     }

   else if(Z>nTBY){
		for (var i=0;i<stp;i++)
		{
		MapEvent('dragout')
		}
	      }	
   Z=nTBY
   FtchCo(document.getElementById(oZdv[Z].id));
   OvUpd();
   ScaIMap();
   RdrVec();
   document.getElementById('tbar').style.top=document.getElementById('tsec'+Z	).style.top
  }

 
 function Ajax()
   {
   this.req = null;
   this.url = null;
   this.method = null;
   this.async = null;
   this.status = null;
   this.statusText = '';
   this.postData = null;
   this.readyState = null;
   this.responseText = null;
   this.responseXML = null;
   this.handleResp = null;
   this.responseFormat = 'text' // 'text', 'xml', or 'object'
   this.mimeType = 'text';
 
 
   this.init = function()
     {
     if(!this.req)
       {
       try
         {
         // Try to create object for Firefox, Safari, IE7, etc.
         this.req = new XMLHttpRequest();
         }
       catch(e)
         {
         try
           {
           // Try to create object for later versions of IE.
           this.req = new ActiveXObject('MSXML2.XMLHTTP');
           }
         catch(e)
           {
           try
             {
             // Try to create object for early versions of IE.
             this.req = new ActiveXObject('Microsoft.XMLHTTP');
             }
           catch(e)
             {
             // Could not create an XMLHttpRequest object.
             return false;
             }
           }
         }
       }
     return this.req;
   };
 
 
   this.doReq = function()
     {
     if(!this.init())
       {
       alert('Could not create XMLHttpRequest object.');
       return ;
       }
 
     this.req.open(this.method,this.url,this.async);
     if(this.mimeType)
       {
       try
         {
         this.req.overrideMimeType(this.mimeType);
         }
       catch(e)
         {
         // couldn't override MIME type --  IE6 or Opera?
         }
       }
     var self = this; // Fix loss-of-scope in inner function
 
 
 
 
     this.req.onreadystatechange = function()
       {
       var resp = null;
       if(self.req.readyState == 4)
         {
         switch(self.responseFormat)
           {
           case 'text':
             resp = self.req.responseText;
             break;
           case 'xml':
             resp = self.req.responseXML;
             break;
           case 'object':
             resp = req;
             break;
           }
         if(self.req.status >= 200 && self.req.status <= 299)
           {
           self.handleResp(resp);
           }
         else
           {
           //self.handleErr(resp);
           }
         }
 
     };
     this.req.send(this.postData);
     }
 
 
 
 
   this.setMimeType = function(mimeType)
     {
     this.mimeType = mimeType;
   };
 
 
   this.setHandlerErr = function(funcRef)
     {
     this.handleErr = funcRef;
     }
 
 
   this.abort = function()
     {
     if(this.req)
       {
       this.req.onreadystatechange = function(){}
       ;
       this.req.abort();
       this.req = null;
       }
   };
 
 
 
 
 
   this.doGet = function(url,hand,format)
     {
     this.url = url;
     this.handleResp = hand;
     this.responseFormat = format || 'text';
     this.doReq();
   };
   }
 
 var Drag = 
   {
   goObj: null,
 
   init: function(o,oRoot,minNx,maxX,minNy,maxY,bSwapHorzRef,bSwapVertRef,nFXMapper,nFYMapper)
     {
     o.onmousedown = Drag.start;
 
 
     o.bHmode = bSwapHorzRef?false : true;
     o.bVmode = bSwapVertRef?false : true;
 
     o.root = oRoot && oRoot != null?oRoot : o;
 
     if(o.bHmode && isNaN(parseInt(o.root.style.left)))
       o.root.style.left = "0px";
     if(o.bVmode && isNaN(parseInt(o.root.style.top)))
       o.root.style.top = "0px";
     if(!o.bHmode && isNaN(parseInt(o.root.style.right)))
       o.root.style.right = "0px";
     if(!o.bVmode && isNaN(parseInt(o.root.style.bottom)))
       o.root.style.bottom = "0px";
 
     o.minNx = typeof minNx != 'undefined'?minNx : null;
     o.minNy = typeof minNy != 'undefined'?minNy : null;
     o.maxX = typeof maxX != 'undefined'?maxX : null;
     o.maxY = typeof maxY != 'undefined'?maxY : null;
 
     o.xMapper = nFXMapper?nFXMapper : null;
     o.yMapper = nFYMapper?nFYMapper : null;
 
     o.root.onDragStart = new Function();
     o.root.onDragEnd = new Function();
     o.root.onDrag = new Function();
     }
   ,
 
   start: function(e)
     {
 
 
     var o = Drag.goObj = this;
 
 
     e = Drag.fixE(e);
     var y = parseInt(o.bVmode?o.root.style.top : o.root.style.bottom);
     var x = parseInt(o.bHmode?o.root.style.left : o.root.style.right);
 
 
     o.root.onDragStart(x,y);
 
     o.nLastMouseX = e.clientX;
     o.nLastMouseY = e.clientY;
 
     if(o.bHmode)
       {
       if(o.minNx != null)
         o.minMouseX = e.clientX - x + o.minNx;
       if(o.maxX != null)
         o.maxMouseX = o.minMouseX + o.maxX - o.minNx;
       }
     else
       {
       if(o.minNx != null)
         o.maxMouseX =  - o.minNx + e.clientX + x;
       if(o.maxX != null)
         o.minMouseX =  - o.maxX + e.clientX + x;
       }
 
     if(o.bVmode)
       {
       if(o.minNy != null)
         o.minMouseY = e.clientY - y + o.minNy;
       if(o.maxY != null)
         o.maxMouseY = o.minMouseY + o.maxY - o.minNy;
       }
     else
       {
       if(o.minNy != null)
         o.maxMouseY =  - o.minNy + e.clientY + y;
       if(o.maxY != null)
         o.minMouseY =  - o.maxY + e.clientY + y;
       }
 
     document.onmousemove = Drag.drag;
     document.onmouseup = Drag.end;
 
     return false;
     }
   ,
 
   drag: function(e)
     {
     e = Drag.fixE(e);
     var o = Drag.goObj;
     wato = Drag.goObj;
 
     var nEy = e.clientY;
     var nEx = e.clientX;
     var y = parseInt(o.bVmode?o.root.style.top : o.root.style.bottom);
     var x = parseInt(o.bHmode?o.root.style.left : o.root.style.right);
 
 
     FtchCo(document.getElementById(oZdv[Z].id));
 
     var nNx,nNy;
 
     if(o.minNx != null)
       nEx = o.bHmode?Math.max(nEx,o.minMouseX): Math.min(nEx,o.maxMouseX);
     if(o.maxX != null)
       nEx = o.bHmode?Math.min(nEx,o.maxMouseX): Math.max(nEx,o.minMouseX);
     if(o.minNy != null)
       nEy = o.bVmode?Math.max(nEy,o.minMouseY): Math.min(nEy,o.maxMouseY);
     if(o.maxY != null)
       nEy = o.bVmode?Math.min(nEy,o.maxMouseY): Math.max(nEy,o.minMouseY);
 
     nNx = x + ((nEx - o.nLastMouseX) * (o.bHmode?1 :  - 1));
     nNy = y + ((nEy - o.nLastMouseY) * (o.bVmode?1 :  - 1));
 
     if(o.xMapper)
     nNx = o.xMapper(y)
     else if(o.yMapper)
     nNy = o.yMapper(x)
 
       Drag.goObj.root.style[o.bHmode?"left" : "right"] = nNx + "px";
     Drag.goObj.root.style[o.bVmode?"top" : "bottom"] = nNy + "px";
 
     Drag.goObj.nLastMouseX = nEx;
     Drag.goObj.nLastMouseY = nEy;
 
     Drag.goObj.root.onDrag(nNx,nNy);
     document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
     document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
     if(document.getElementById("vector"))
       {
       document.getElementById("vector").style.left = document.getElementById("rc_").style.left;
       document.getElementById("vector").style.top = document.getElementById("rc_").style.top;
       }
 
     if(document.getElementById("obLy"))
       {
       document.getElementById("obLy").style.left=document.getElementById("rc_").style.left;
       document.getElementById("obLy").style.top=document.getElementById("rc_").style.top;
       }
  
  
  if(o.id == "rc_")
       {
       OvUpd();
       document.body.style.cursor = "move";
       }
     document.getElementById("ovBx").style.left = parseInt(document.getElementById("ovCrs").style.left) - (parseInt(document.getElementById("ovBx").offsetWidth)/2) + (parseInt(document.getElementById("ovCrs").offsetWidth)/2)+"px";
     document.getElementById("ovBx").style.top = parseInt(document.getElementById("ovCrs").style.top) - (parseInt(document.getElementById("ovBx").offsetHeight)/2) + (parseInt(document.getElementById("ovCrs").offsetHeight)/2)+"px";
 
     return false;
     }
   ,
 
   end: function()
     {
     document.onmousemove = null;
     document.onmouseup = null;
     document.onmousedown = null;
     Drag.goObj.root.onDragEnd(parseInt(Drag.goObj.root.style[Drag.goObj.bHmode?"left" : "right"]),parseInt(Drag.goObj.root.style[Drag.goObj.bVmode?"top" : "bottom"]));
     
     if(Drag.goObj.id == "ovCrs")
       {
       MapEvent('overpan');
       }
     if(document.body.style.cursor != "move")
       {
       document.body.style.cursor = "move";
       }       
       if(Drag.goObj.id == 'tbar')
       {
       SnpTool();
       }
     Drag.goObj = null;
 

 
 
 
 
     }
   ,
 
   fixE: function(e)
     {
     if(typeof e == 'undefined')
       e = window.event;
     if(typeof e.layerX == 'undefined')
       e.layerX = e.offsetX;
     if(typeof e.layerY == 'undefined')
       e.layerY = e.offsetY;
     return e;
     }
   }
 
 
 function ScaIMap()
   {
     var oGetVec=new Ajax();
     oGetVec.method='GET';
   oGetVec.async=true;
 oGetVec.doGet(gsRoot+gsImap+"?p="+oZdv[Z].nRvScaFa+","+oZdv[Z].height+","+gsImapDb,parseScaIMap); 
   }
  
  function parseScaIMap(sResult)
  {
   goObj = document.getElementById("rc" + gnRnd);
     if(goObj)
       {
       while(goObj.childNodes.length)
         {
         goObj.removeChild(goObj.firstChild);
         }
       }
     goObj = document.getElementById("ctrl");
     oMapObj = document.createElement("map");
     gnRnd = Math.random() * 5;
     oMapObj.id = "rc" + gnRnd;
     oMapObj.name = "rc" + gnRnd;
     goObj.appendChild(oMapObj);
     oMapObj = document.getElementById("rc" + gnRnd);
   
   
    document.getElementById("rc" + gnRnd).innerHTML=sResult
    document.getElementById("rc_").useMap = "#rc" + gnRnd;
  document.getElementById("rc" + gnRnd).title="Click for route information"
  document.getElementById("rc" + gnRnd).onmouseover=function(){document.body.style.cursor = "pointer";}
  document.getElementById("rc" + gnRnd).onmouseout=function(){document.body.style.cursor = "move";} 
  document.getElementById("rc" + gnRnd).onmousedown=function()
  {
  gsStCx=1+Math.abs(parseInt(document.getElementById("rc_").style.left));
  gsStCy=1+Math.abs(parseInt(document.getElementById("rc_").style.top));
  };
  document.getElementById("rc" + gnRnd).onmouseup = FeCoord;
  document.getElementById("wMk").style.left=0+((document.getElementById("imHld").offsetWidth)/2)-((document.getElementById("wMkIm").offsetWidth)/2)+"px";
  document.getElementById("wMk").style.top=0-(document.getElementById("imHld").offsetHeight)/2-((document.getElementById("wMkIm").offsetHeight)/2)+"px";
  }
 
 
 
 function FetchData(clickX,clickY)
   {  switchTab('Tab_Route_Info','key')
   parent.document.getElementById("loading_1").style.visibility = "visible";
   sImageUrl = "http://www.cartogold.co.uk/scripts/gcis.exe?" + "XgoUserID=" + gsXgoUserID + "&XgoPageName=" + gsGcm + "&XgoTabs=Info" + "&XgoAnswer=MapImage" + "&sizex=20&sizey=20" + "&XgoPointXY=" + (gsExL + (clickX * oZdv[Z].nScaFa)) + "," + (gsExT - (clickY * oZdv[Z].nScaFa)) + "&XgoNbReq=2" + "&XgoSetLogicalScale=6";
   var oImgeo = new Ajax();
   oImgeo.method = 'GET';
   oImgeo.async = true;
   oImgeo.doGet(sImageUrl,parseInfo);
   }
 
 function ParseData(result)
   {
   if (result!='')
   {
   //document.getElementById("Info2_loading").style.visibility = "hidden";
   result = result.split('\n');
   if(result[0] != "" && result[0] != oZdv[Z].route[0][0])
     {
     switch(result[1])
       {
       case 'Orange':
         extension = 'o';
         break;
       case 'Green':
         extension = 'g';
         break;
       case 'Blue':
         extension = 'b';
         break;                
       default:
         extension = '';
         break;
       }
     var oVroute = new Ajax();
     oVroute.method = 'GET';
     oVroute.responseFormat = 'text';
     oVroute.async = true;
     oVroute.doGet(gsRoot+gsRoute+"?p=" + oZdv[gnMinZ].nRvScaFa + "," + oZdv[gnMinZ].height + "," + result[0] + extension+","+gsRouteDb,ParseFetchVml);
     AddRteInf(result[0],result[1])
     actvRt=(result[0]+extension)
     opacity=35 
     var tileChild= document.getElementById(oZdv[Z].id).childNodes;
     for(var i=0; i<document.getElementById(oZdv[Z].id).childNodes.length; i++)
     {
     tileChild[i].style.opacity=opacity/100
     tileChild[i].style.filter="alpha(opacity="+opacity+")";
     } 
     //result[0]='';
     }
 	}else{document.getElementById("Info2_loading").style.visibility = "hidden";}
 
   }
 
 function AddRteInf(route,colr)
   {

 colr=colr.replace("Blue","#0060B9")
 
 
  if (parent.document.getElementById("rInfo"))
  	{
  	obj = parent.document.getElementById("rInfo")
  	obj.parentNode.removeChild(obj)
  	}
  obj=parent.document.getElementById("info2")
  InfoRouteSpan=parent.document.createElement("DIV")
  InfoRouteSpan.id="rInfo"
  InfoRouteSpan.style.position="absolute"
  InfoRouteSpan.style.top="50px"
  InfoRouteSpan.style.left="5px"
  obj.appendChild(InfoRouteSpan)
   
  obj=parent.document.getElementById("rInfo")
  
  InfoRouteHelp=parent.document.createElement("A")
  InfoRouteHelp.className="helpTextComp";
  InfoRouteHelp.innerHTML="Route number"+"&nbsp;&nbsp";
  obj.appendChild(InfoRouteHelp);
  
  
  InfoRouteNumber=parent.document.createElement("A")
  
  routeText=route
  
  if(route.indexOf("-")>-1)
  {
  routeText=route.substring(0,route.indexOf("-"));
  }
  
  InfoRouteNumber.innerHTML=routeText.replace("_","/");
  
  InfoRouteNumber.style.fontSize="19px"
  InfoRouteNumber.style.fontFamily="Arial"
  InfoRouteNumber.style.fontWeight="bold"
  InfoRouteNumber.style.fontStyle="normal"
  InfoRouteNumber.style.color=colr
  obj.appendChild(InfoRouteNumber)

  
  if(parent.document.getElementById(route)){
  infoRouteBlank=parent.document.createElement("A")
  infoRouteBlank.className="helpTextComp";
  infoRouteBlank.innerHTML="&nbsp;&nbsp;to view timetable&nbsp"
  obj.appendChild(infoRouteBlank)
  
  infoTimetable=parent.document.createElement("A")
  infoTimetable.style.cursor="pointer"
  infoTimetable.innerHTML="Click here"
  infoTimetable.style.color="#7f9db9"
  infoTimetable.href= gsRoot+"timetables/"+route+".pdf"
  infoTimetable.target="_blank"
  infoTimetable.className="helpText_"
  obj.appendChild(infoTimetable)
   
  infoBreak=parent.document.createElement("BR")
  obj.appendChild(infoBreak)
  infoRouteRem=parent.document.createElement("A")
  infoRouteRem.className="helpTextComp";
  infoRouteRem.innerHTML="or"
  obj.appendChild(infoRouteRem)   
  }
  
  infoRouteRem=parent.document.createElement("A")
  infoRouteRem.className="helpTextComp";
  infoRouteRem.innerHTML="&nbsp;to remove the highlighted route&nbsp;"
  obj.appendChild(infoRouteRem)
  
  infoRouteRem=parent.document.createElement("A")
  infoRouteRem.style.cursor="pointer"
  infoRouteRem.innerHTML="Click here"
  infoRouteRem.style.color="#7f9db9"
  infoRouteRem.href="javascript:void(0)"
  infoRouteRem.className="helpText_"
  obj.appendChild(infoRouteRem)


  infoRouteRem.onclick=function()
  	{
  
  	if (document.getElementById("vector"))
  		{
  		obj = document.getElementById("vector")
  		obj.parentNode.removeChild(obj)
  		opacity=100;
  		var tileChild= document.getElementById(oZdv[Z].id).childNodes;
  		for(var i=0; i<document.getElementById(oZdv[Z].id).childNodes.length; i++)
		{
		tileChild[i].style.opacity=opacity/100
		tileChild[i].style.filter="alpha(opacity="+opacity+")";
                 } 
  		}
  		if (parent.document.getElementById("rInfo"))
  		{
  		obj = parent.document.getElementById("rInfo")
  		obj.parentNode.removeChild(obj)
  		rInfoDel=false
  		}
  	}
  
  
 
  infoRouteBrk=parent.document.createElement("BR")
  obj.appendChild(infoRouteBrk)
  parent.document.getElementById("loading_1").style.visibility = "hidden";
 
   }
 
 
 function ParseFetchVml(result)
   {
   asVecDiv = result.split("|");
   for(var o = 0;o < asVecDiv.length;o++)
     {
     coordVectorDiv = asVecDiv[o].split(",");
     nHalfDiv = 1;
     for(var z = gnMinZ;z >  - 1;z--)
       {
       oZdv[z].route[0][o + 2] = "";
       for(var i = 0;i < coordVectorDiv.length;i++)
         {
         oZdv[z].route[0][o + 1] += parseInt(coordVectorDiv[i]/nHalfDiv) + ",";
         }
       oZdv[0].route[0][0] = asVecDiv[0].substr(0,(asVecDiv[0].length-1));
       nHalfDiv *= 2
       }
     gnVecLen = asVecDiv.length + 1
     }
   RdrVec()
   }
 
 function RdrVec()
   {
   oPolyline = new Array();
   oStroke = new Array();
   if(document.getElementById("vector"))
     {
     goObj = document.getElementById("vector");
     goObj.parentNode.removeChild(goObj)
     }
   oNewVec = document.createElement("DIV");
   oNewVec.id = "vector";
   oNewVec.style.zIndex = 6;
   oNewVec.style.position = "absolute";
   oNewVec.style.bottom = "50px";
   oNewVec.style.left = "0px";
   goObj = document.getElementById("ctrl");
   goObj.appendChild(oNewVec)
 
   if(browser != "nonIE")
     {
     oVml = document.getElementById("vector")
 
 
     for(var i = 1;i < gnVecLen;i++)
       {
       oPolyline[i] = document.createElement("v:Polyline");
       oPolyline[i].id = "vec" + i;
       oPolyline[i].points = oZdv[Z].route[0][i];
       oPolyline[i].strokecolor = "#0099cc";
       oPolyline[i].strokeweight = gaLiWt[Z] + "px";
       oPolyline[i].filled = "false";
       oStroke[i] = document.createElement("v:stroke");
       oStroke[i].opacity = "1";
       oStroke[i].endcap = "round";
       oVml.appendChild(oPolyline[i]);
       oPolyline[i].appendChild(oStroke[i])
       }
 
     }
   else
     {
 
     svg = document.createElementNS('http://www.w3.org/2000/svg','svg');
     svg.setAttribute('width','400000'); //is needed
     svg.setAttribute('height','400000'); //is needed
     svg.setAttribute('viewBox','0 0 400000 400000'); //is needed
 
     for(var i = 2;i < gnVecLen-1;i++)
       {
       oPolyline[i] = document.createElementNS('http://www.w3.org/2000/svg','polyline');
       oPolyline[i].id = "vec" + i;
       oPolyline[i].setAttribute("points",oZdv[Z].route[0][i].substr(0,oZdv[Z].route[0][i].length-1));
       
       oPolyline[i].setAttribute("stroke","#0099cc");
       oPolyline[i].setAttribute("stroke-width",gaLiWt[Z] + "px");
       oPolyline[i].setAttribute("fill","none");
       oPolyline[i].setAttribute("stroke-opacity","1");
       oPolyline[i].setAttribute("stroke-linecap","round");
       svg.appendChild(oPolyline[i]);
 
       }
     document.getElementById("vector").appendChild(svg)

 
 
    }
   document.getElementById("vector").style.left = document.getElementById("rc_").style.left;
   document.getElementById("vector").style.top = document.getElementById("rc_").style.top 
   }
 
 function parseInfo(result)
   {
   infoUrl = "http://www.cartogold.co.uk/scripts/gcis.exe?" + "XgoUserID=" + gsXgoUserID + "&XgoPageName=" + gsGcm + "&XgoTabs=Info" + "&XgoAnswer=GETVAR" + "&XgoNbReq=6" + "&XgoGetVarName=XgoFieldContent1;XgoFieldContent2" + "&XgoFieldRequest1=Name" + "&XgoFieldRequest2=Colour" + "&XgoNoCenterClick=Y" + "&XgoClickMap.x=10" + "&XgoClickMap.y=10";
   var infgeo = new Ajax();
   infgeo.method = 'GET';
   infgeo.async = true;
   infgeo.doGet(infoUrl,ParseData);
   }
 
 
 
 
 
 
 
 
 function OvUpd()
   {
   if(Z > gnCz - 1)
     {
     document.getElementById("ovCrsImg").src = 'images/OverviewCross.gif'
     }
   else
     {
     document.getElementById("ovCrsImg").src = 'images/OverviewCross_Blank.gif';
   };
   document.getElementById("ovBx").style.width = document.getElementById("map").offsetWidth * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovBx").style.height = document.getElementById("map").offsetHeight * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovBx").style.left = (((parseInt(document.getElementById(oZdv[Z].id).style.left) *  - 1) - parseInt(document.getElementById("imHld").offsetWidth)/2) * oZdv[Z].nScaOvFa) + document.getElementById("map").offsetWidth/2 * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovBx").style.top = (((parseInt(document.getElementById(oZdv[Z].id).style.top) *  - 1) - parseInt(document.getElementById("imHld").offsetHeight)/2) * oZdv[Z].nScaOvFa) - document.getElementById("map").offsetHeight/2 * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovCrs").style.left = parseInt(document.getElementById("ovBx").style.left) - (parseInt(document.getElementById("ovCrs").offsetWidth)/2) + (parseInt(document.getElementById("ovBx").offsetWidth)/2)+ "px";;
   document.getElementById("ovCrs").style.top = parseInt(document.getElementById("ovBx").style.top) - (parseInt(document.getElementById("ovCrs").offsetHeight)/2) + (parseInt(document.getElementById("ovBx").offsetHeight)/2)+ "px";;
   if(parseInt(document.getElementById("ovBx").style.left) < 1)
     {
     document.getElementById("ovBx").style.left = "0px";
     }
   if(parseInt(document.getElementById("ovBx").style.top) < 1)
     {
     document.getElementById("ovBx").style.top = "0px";
     }
   if(parseInt(document.getElementById("ovBx").style.left) > document.getElementById("ov").offsetWidth - document.getElementById("ovBx").offsetWidth)
     {
     document.getElementById("ovBx").style.left = document.getElementById("ov").offsetWidth - document.getElementById("ovBx").offsetWidth + "px";
     }
   if(parseInt(document.getElementById("ovBx").style.top) > document.getElementById("ov").offsetHeight - document.getElementById("ovBx").offsetHeight)
     {
     document.getElementById("ovBx").style.top = document.getElementById("ov").offsetHeight - document.getElementById("ovBx").offsetHeight + "px";
     }
   Drag.init(document.getElementById("ovCrs"),null,((document.getElementById("ovCrs").offsetWidth)/2 *  - 1) + ((document.getElementById("ovBx").offsetWidth)/2),(((document.getElementById("ovCrs").offsetWidth)/2 *  - 1) + ((document.getElementById("ovBx").offsetWidth)/2)) + ((document.getElementById("ov").offsetWidth) - (document.getElementById("ovBx").offsetWidth)),((document.getElementById("ovCrs").offsetHeight) *  - 1) + ((document.getElementById("ovCrs").offsetHeight)/2) + ((document.getElementById("ovBx").offsetHeight)/2),((document.getElementById("ovCrs").offsetHeight) *  - 1) + ((document.getElementById("ovCrs").offsetHeight)/2) + ((document.getElementById("ovBx").offsetHeight)/2) + ((document.getElementById("ov").offsetHeight) - (document.getElementById("ovBx").offsetHeight)));
   }
 
 
 Math.Sqr = function(x)
   {
   return x * x;
   }
 
 function panMap(x,y)
   {
   for(var i = 0;i < parseInt(document.getElementById("map").offsetWidth/.6666);i++)
     {
     document.getElementbyId(oZdv(Z).id).style.top.left += x;
     document.getElementbyId(oZdv(Z).id).style.top.left += y
     }
   }
 
 
 
 
 function ClrZoom()
   {
   OvUpd();
   if(window.oBeginZoom)
     {
     clearInterval(oBeginZoom)
     }
   }
 
 function ZoomStep(xinc,yinc)
   {
   if(parseInt(document.getElementById("ovBx").style.left) < 3 && xinc > 0)
     {
     ClrZoom();
     xinc = 0
     }
   if(parseInt(document.getElementById("ovBx").style.top) < 3 && yinc > 0)
     {
     document.getElementById("ovBx").style.top = 0;
     ClrZoom();
     yinc = 0
     }
 
   if(parseInt(document.getElementById("ovBx").style.left) > (document.getElementById("ov").offsetWidth - document.getElementById("ovBx").offsetWidth) - 2 && xinc < 0)
     {
     document.getElementById("ovBx").style.left = document.getElementById("ov").offsetWidth - document.getElementById("ovBx").offsetWidth;
     xinc = 0;
     ClrZoom();
     }
   if(parseInt(document.getElementById("ovBx").style.top) > (document.getElementById("ov").offsetHeight - document.getElementById("ovBx").offsetHeight) - 2 && yinc < 0)
     {
     document.getElementById("ovBx").style.top = document.getElementById("ov").offsetHeight - document.getElementById("ovBx").offsetHeight +"px";;
     ClrZoom();
     yinc = 0
     }
 
   document.getElementById("rc_").style.top = (parseInt(document.getElementById(oZdv[Z].id).style.top) + yinc) + "px";
   document.getElementById("rc_").style.left = (parseInt(document.getElementById(oZdv[Z].id).style.left) + xinc) + "px";
   document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
   document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
   if(document.getElementById("vector"))
     {
     document.getElementById("vector").style.left = document.getElementById("rc_").style.left;
     document.getElementById("vector").style.top = document.getElementById("rc_").style.top
     }
   if(document.getElementById("obLy"))
     {
     document.getElementById("obLy").style.left=document.getElementById("rc_").style.left;
     document.getElementById("obLy").style.top=document.getElementById("rc_").style.top;
     }
   
   
   FtchCo(document.getElementById(oZdv[Z].id))
 
   document.getElementById("ovBx").style.width = document.getElementById("map").offsetWidth * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovBx").style.height = document.getElementById("map").offsetHeight * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovBx").style.left = (((parseInt(document.getElementById(oZdv[Z].id).style.left) *  - 1) - parseInt(document.getElementById("imHld").offsetWidth)/2) * oZdv[Z].nScaOvFa) + document.getElementById("map").offsetWidth/2 * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovBx").style.top = (((parseInt(document.getElementById(oZdv[Z].id).style.top) *  - 1) - parseInt(document.getElementById("imHld").offsetHeight)/2) * oZdv[Z].nScaOvFa) - document.getElementById("map").offsetHeight/2 * oZdv[Z].nScaOvFa + "px";
   document.getElementById("ovCrs").style.top = parseInt(document.getElementById("ovBx").style.top) - (document.getElementById("ovCrs").offsetHeight/2) + (document.getElementById('ovBx').offsetHeight/2) + "px";
   document.getElementById("ovCrs").style.left = parseInt(document.getElementById("ovBx").style.left) - (document.getElementById("ovCrs").offsetWidth/2) + (document.getElementById('ovBx').offsetWidth/2) + "px";
 
 
   if(count >= nTmp)
     {
     ClrZoom();
     }
   count++;
   }
 
 
 function FeCoord(e)
   {
   if(typeof e == 'undefined')
     {
     nWx = event.offsetX;
     nWy = event.offsetY;
     }
   else
     {
     nWx = getOffsets(e).offsetX;
     nWy = getOffsets(e).offsetY;
     }
   if(Math.Sqr((Math.Sqr(Math.abs(parseInt(document.getElementById("rc_").style.left)) - gsStCx) + (Math.Sqr(Math.abs(parseInt(document.getElementById("rc_").style.top)) - gsStCy)))) < 5)
     {
     FetchData(nWx,nWy)
     }
 
   }
 
 
 function getOffsets(evt)
   {
   var target = document.getElementById("rc_");
   if(typeof target.offsetLeft == 'undefined')
     {
     target = target.parentNode;
     }
   var nPageCoords = getnPageCoords(target);
   var eventCoords = 
     {
     x: window.pageXOffset + evt.clientX,y: window.pageYOffset + evt.clientY
   };
   var offsets = 
     {
     offsetX: eventCoords.x - nPageCoords.x,offsetY: eventCoords.y - nPageCoords.y
     }
   return offsets;
   }
 
 function getnPageCoords(element)
   {
   var coords = 
     {
     x: 0,y: 0
   };
   while(element.offsetParent)
     {
     coords.x += element.offsetLeft;
     coords.y += element.offsetTop;
     element = element.offsetParent;
 
     }
   return coords;
   }
 
 
 function MapEvent(pointerMode,sAdSeVal)
 
   {
 
   switch(pointerMode)
     {
 
    case 'dragin':
      if(Z < gnMinZ)
         {
         Z++;
         document.getElementById(oZdv[Z - 1].id).style.visibility = 'hidden';
         goZdivObj = document.getElementById(oZdv[Z - 1].id)
         document.getElementById(oZdv[Z].id).style.visibility = 'visible';
         document.getElementById("rc_").style.top = parseInt(document.getElementById(oZdv[Z - 1].id).style.top) * 2+document.getElementById("imHld").offsetHeight/2+"px";
         document.getElementById("rc_").style.left = parseInt(document.getElementById(oZdv[Z - 1].id).style.left) * 2-document.getElementById("imHld").offsetWidth/2+"px";
         document.getElementById("rc_").style.width = oZdv[Z].width + "px";
         document.getElementById("rc_").style.height = oZdv[Z].height + "px";
         if(oZdv[Z].width > document.getElementById("imHld").offsetWidth)
           {
           if(parseInt(document.getElementById("rc_").style.left) < ((gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth))
             {
             document.getElementById("rc_").style.left = (gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth + "px"
             }
           if(parseInt(document.getElementById("rc_").style.left) > 0)
             {
             document.getElementById("rc_").style.left = 0+"px"
             }
           if(parseInt(document.getElementById("rc_").style.top) > 0-document.getElementById("imHld").offsetHeight)
             {
             document.getElementById("rc_").style.top = 0-(document.getElementById("imHld").offsetHeight) + "px"
             }
           if(parseInt(document.getElementById("rc_").style.top) < 0-gaDzh[Z])
             {
             document.getElementById("rc_").style.top = 0-gaDzh[Z] + "px"
             }
           Drag.init(document.getElementById("rc_"),null,(gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth,0,(gaDzh[Z] *  - 1),0-document.getElementById("imHld").offsetHeight);
           }
         else
           {
           Drag.init(document.getElementById("rc_"),null,0,document.getElementById("imHld").offsetWidth - gaDzw[Z],gaDzh[Z] *  - 1,0-document.getElementById("imHld").offsetHeight);
           }
         document.getElementById(oZdv[Z].id).style.visibility = 'visible';
         document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
         document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
         document.getElementById(oZdv[Z].id).style.width = document.getElementById("rc_").style.width;
         document.getElementById(oZdv[Z].id).style.height = document.getElementById("rc_").style.height;

         }
       break;
 
 
     case 'dragout':
      if(Z > gnMaxZ)
         {
         Z--;
         document.getElementById(oZdv[Z + 1].id).style.visibility = 'hidden'
          goZdivObj = document.getElementById(oZdv[Z + 1].id)
         document.getElementById("rc_").style.top = parseInt(document.getElementById(oZdv[Z + 1].id).style.top)/2-parseInt(document.getElementById("imHld").offsetHeight/4) + "px";
         document.getElementById("rc_").style.left = parseInt(document.getElementById(oZdv[Z + 1].id).style.left)/2+parseInt(document.getElementById("imHld").offsetWidth/4) + "px";
         document.getElementById("rc_").style.width = oZdv[Z].width + "px";
         document.getElementById("rc_").style.height = oZdv[Z].height + "px";
         if(oZdv[Z].width > document.getElementById("imHld").offsetWidth)
           {
           if(parseInt(document.getElementById("rc_").style.left) < ((gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth))
             {
             document.getElementById("rc_").style.left = (gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth + "px"
             }
           if(parseInt(document.getElementById("rc_").style.left) > 0)
             {
             document.getElementById("rc_").style.left = 0+"px"
             }
           if(parseInt(document.getElementById("rc_").style.top) > 0-document.getElementById("imHld").offsetHeight)
             {
             document.getElementById("rc_").style.top = 0-document.getElementById("imHld").offsetHeight + "px"
             }
           if(parseInt(document.getElementById("rc_").style.top) < 0-gaDzh[Z])
             {
             document.getElementById("rc_").style.top = 0-gaDzh[Z] + "px"
             }
           Drag.init(document.getElementById("rc_"),null,(gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth,0,(gaDzh[Z] *  - 1),0-document.getElementById("imHld").offsetHeight);
           }
         else
           {
           Drag.init(document.getElementById("rc_"),null,0,document.getElementById("imHld").offsetWidth - gaDzw[Z],gaDzh[Z] *  - 1,0-document.getElementById("imHld").offsetHeight);
           }
         document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
         document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
         document.getElementById(oZdv[Z].id).style.width = document.getElementById("rc_").style.width;
         document.getElementById(oZdv[Z].id).style.height = document.getElementById("rc_").style.height;
         document.getElementById(oZdv[Z].id).style.visibility = 'visible';
       }
       break;
       
     case 'zoomin':
       if(Z < gnMinZ)
         {
 
 
         Z++;
         document.getElementById(oZdv[Z - 1].id).style.visibility = 'hidden';
         goZdivObj = document.getElementById(oZdv[Z - 1].id)
         while(goZdivObj.childNodes.length)
           {
           sTileIdStrSeg = (goZdivObj.firstChild.id).split("-");
           goZdivObj.removeChild(goZdivObj.firstChild)
           }
 
         document.getElementById(oZdv[Z].id).style.visibility = 'visible';
         document.getElementById("rc_").style.top = parseInt(document.getElementById(oZdv[Z - 1].id).style.top) * 2+document.getElementById("imHld").offsetHeight/2+"px";
         document.getElementById("rc_").style.left = parseInt(document.getElementById(oZdv[Z - 1].id).style.left) * 2-document.getElementById("imHld").offsetWidth/2+"px";
         document.getElementById("rc_").style.width = oZdv[Z].width + "px";
         document.getElementById("rc_").style.height = oZdv[Z].height + "px";
         if(oZdv[Z].width > document.getElementById("imHld").offsetWidth)
           {
           if(parseInt(document.getElementById("rc_").style.left) < ((gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth))
             {
             document.getElementById("rc_").style.left = (gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth + "px"
             }
           if(parseInt(document.getElementById("rc_").style.left) > 0)
             {
             document.getElementById("rc_").style.left = 0+"px"
             }
           if(parseInt(document.getElementById("rc_").style.top) > 0-document.getElementById("imHld").offsetHeight)
             {
             document.getElementById("rc_").style.top = 0-(document.getElementById("imHld").offsetHeight) + "px"
             }
           if(parseInt(document.getElementById("rc_").style.top) < 0-gaDzh[Z])
             {
             document.getElementById("rc_").style.top = 0-gaDzh[Z] + "px"
             }
           Drag.init(document.getElementById("rc_"),null,(gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth,0,(gaDzh[Z] *  - 1),0-document.getElementById("imHld").offsetHeight);
           }
         else
           {
           Drag.init(document.getElementById("rc_"),null,0,document.getElementById("imHld").offsetWidth - gaDzw[Z],gaDzh[Z] *  - 1,0-document.getElementById("imHld").offsetHeight);
           }
         document.getElementById(oZdv[Z].id).style.visibility = 'visible';
         document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
         document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
         document.getElementById(oZdv[Z].id).style.width = document.getElementById("rc_").style.width;
         document.getElementById(oZdv[Z].id).style.height = document.getElementById("rc_").style.height;
         FtchCo(document.getElementById(oZdv[Z].id));
       
            document.getElementById("tbar").style.top=document.getElementById("tsec"+Z).style.top
          
 
         OvUpd();
         RdrVec();
         ScaIMap();
         //AjaxVec();
         }
       break;
 
     case 'zoomout':
       if(Z > gnMaxZ)
         {
         Z--;
         document.getElementById(oZdv[Z + 1].id).style.visibility = 'hidden'
          goZdivObj = document.getElementById(oZdv[Z + 1].id)
         while(goZdivObj.childNodes.length)
           {
           sTileIdStrSeg = (goZdivObj.firstChild.id).split("-");
           goZdivObj.removeChild(goZdivObj.firstChild)
           }
         document.getElementById("rc_").style.top = parseInt(document.getElementById(oZdv[Z + 1].id).style.top)/2-parseInt(document.getElementById("imHld").offsetHeight/4) + "px";
         document.getElementById("rc_").style.left = parseInt(document.getElementById(oZdv[Z + 1].id).style.left)/2+parseInt(document.getElementById("imHld").offsetWidth/4) + "px";
         document.getElementById("rc_").style.width = oZdv[Z].width + "px";
         document.getElementById("rc_").style.height = oZdv[Z].height + "px";
         if(oZdv[Z].width > document.getElementById("imHld").offsetWidth)
           {
           if(parseInt(document.getElementById("rc_").style.left) < ((gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth))
             {
             document.getElementById("rc_").style.left = (gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth + "px"
             }
           if(parseInt(document.getElementById("rc_").style.left) > 0)
             {
             document.getElementById("rc_").style.left = 0+"px"
             }
           if(parseInt(document.getElementById("rc_").style.top) > 0-document.getElementById("imHld").offsetHeight)
             {
             document.getElementById("rc_").style.top = 0-document.getElementById("imHld").offsetHeight + "px"
             }
           if(parseInt(document.getElementById("rc_").style.top) < 0-gaDzh[Z])
             {
             document.getElementById("rc_").style.top = 0-gaDzh[Z] + "px"
             }
           Drag.init(document.getElementById("rc_"),null,(gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth,0,(gaDzh[Z] *  - 1),0-document.getElementById("imHld").offsetHeight);
           }
         else
           {
           Drag.init(document.getElementById("rc_"),null,0,document.getElementById("imHld").offsetWidth - gaDzw[Z],gaDzh[Z] *  - 1,0-document.getElementById("imHld").offsetHeight);
           }
         document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
         document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
         document.getElementById(oZdv[Z].id).style.width = document.getElementById("rc_").style.width;
         document.getElementById(oZdv[Z].id).style.height = document.getElementById("rc_").style.height;
         document.getElementById(oZdv[Z].id).style.visibility = 'visible';
         FtchCo(document.getElementById(oZdv[Z].id));
         
            document.getElementById("tbar").style.top=document.getElementById("tsec"+Z).style.top
          
         OvUpd();
         RdrVec();
         ScaIMap();
         //AjaxVec();
         }
       break;
 
 
     case 'overpan':
       document.getElementById("rc_").style.top = 0-((parseInt(document.getElementById("ovBx").style.top) * oZdv[Z].nRvScaOvFa)) - document.getElementById("imHld").offsetHeight + "px";
       document.getElementById("rc_").style.left = 0-((parseInt(document.getElementById("ovBx").style.left) * oZdv[Z].nRvScaOvFa)) + "px";
       document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
       document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
       if(document.getElementById("vector"))
         {
         document.getElementById("vector").style.top = document.getElementById("rc_").style.top;
         document.getElementById("vector").style.left = document.getElementById("rc_").style.left
         }
         if(document.getElementById("obLy"))
         {
         document.getElementById("obLy").style.left=document.getElementById("rc_").style.left;
         document.getElementById("obLy").style.top=document.getElementById("rc_").style.top;
         }  
         
           
       goZdivObj = document.getElementById(oZdv[Z].id)
       while(goZdivObj.childNodes.length)
         {
         sTileIdStrSeg = (goZdivObj.firstChild.id).split("-");
         goZdivObj.removeChild(goZdivObj.firstChild)
         }
       FtchCo(document.getElementById(oZdv[Z].id));
       OvUpd();
       break;
 
     case 'help':
       break;
 
     case 'pan_left':
       count = 0;
       nTmp = parseInt(document.getElementById("imHld").offsetHeight) * .015;
       oBeginZoom = setInterval("ZoomStep((10*Z),0)",1);
       break;
 
     case 'pan_right':
       count = 0;
       nTmp = parseInt(document.getElementById("imHld").offsetHeight) * .015;
       oBeginZoom = setInterval("ZoomStep((-10*Z),0)",1);
       break;
 
     case 'pan_up':
       count = 0;
       nTmp = parseInt(document.getElementById("imHld").offsetHeight) * .015;
       oBeginZoom = setInterval("ZoomStep(0,(10*Z))",1);
       break;
 
     case 'pan_down':
       count = 0;
       nTmp = parseInt(document.getElementById("imHld").offsetHeight) * .015;
       oBeginZoom = setInterval("ZoomStep(0,(-10*Z))",1);
       break;
 
     case 'reset':
       location.reload(true);
       break;
 
     case 'goto_Area':
       break;
 
     case 'postcode':
       break;
 
     case 'address':
         sAddress = new Ajax();
         sAddress.method = 'GET';
         sAddress.responseFormat = 'text';
         sAddress.async = true;
         sAddress.doGet(gsRoot+gsAddress+"?q="+gsAdDb+","+sAdSeVal,AddOutput);       
       break;
 

    case 'print':
 	var tString =""	
 	var tileChild= document.getElementById(oZdv[Z].id).childNodes 
  	for(var i=0; i<document.getElementById(oZdv[Z].id).childNodes.length; i++)
  	{
  	tileSrc=tileChild[i].src;
  	tString=tString+tileChild[i].id+"~"+parseInt(tileChild[i].style.left)+"~"+parseInt(tileChild[i].style.top)+"~"+(tileSrc.substring(tileSrc.lastIndexOf('TileGroup'),tileSrc.lastIndexOf(tileChild[i].id)-1))
  	tString+=";"
  	}
	newwindow=window.open(gsRoot+"print.asp?o="+(document.getElementById(oZdv[Z].id).childNodes.length)+"&p="+tString+"&q="+parseInt(document.getElementById(oZdv[Z].id).style.left)+";"+parseInt(document.getElementById(oZdv[Z].id).style.top)+";"+parseInt(document.getElementById(oZdv[Z].id).style.width)+";"+parseInt(document.getElementById(oZdv[Z].id).style.height)+"&r="+gaLiWt[Z]+"&s="+(parseInt(document.getElementById('map').style.width))+";"+(parseInt(document.getElementById('map').style.height))+"&t="+parseInt(document.getElementById('wMkIm').offsetWidth)+";"+parseInt(document.getElementById('wMkIm').offsetHeight)+"&v="+baseCol+"&w="+oZdv[Z].nRvScaFa+"&x="+oZdv[Z].height+"&y="+actvRt+"&a="+oZdv[Z].width+"&b="+gsExR+"&c="+gsExL+"&f="+parseInt(sVecFntSz)+"&z="+wmString,'name','height=510,width=790,menubar=1')
	actvRt=""
	if (window.focus) {newwindow.focus();} 
	break;
    	default:
    	break;
    	}
 
 
   }
 
 function AddOutput(result)
   {
   plResult = result.split("~");
   parent.document.getElementById('optionBox3').innerHTML = plResult[0];
   parent.document.getElementById("selectList3").size = "5";
   parent.document.getElementById('selectList3').onchange=function(){AddressGo(this.value);}
  parent.document.getElementById('optionBox4').innerHTML = plResult[1];
  }
 
 
 function AddressGo(result)
   {
   asCoords = result.split(";");
   gotoX = (parseInt(asCoords[0]) - gsExL) * oZdv[gotoZ].nRvScaFa;
   gotoY = (parseInt(asCoords[1]) - gsExB) * oZdv[gotoZ].nRvScaFa;
   document.getElementById(oZdv[Z].id).style.visibility = 'hidden';
   Z = gotoZ;
   document.getElementById(oZdv[Z].id).style.visibility = 'visible';
   document.getElementById("rc_").style.top = (gotoY) - (oZdv[Z].height) - document.getElementById("imHld").offsetHeight/2+"px";
   document.getElementById("rc_").style.left = (0-gotoX) + document.getElementById("imHld").offsetWidth/2+"px";
   document.getElementById("rc_").style.width = oZdv[Z].width + "px";
   document.getElementById("rc_").style.height = oZdv[Z].height + "px";
   if(oZdv[Z].width > document.getElementById("imHld").offsetWidth)
     {
     if(parseInt(document.getElementById("rc_").style.left) < ((gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth))
       {
       document.getElementById("rc_").style.left = (gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth + "px"
       }
     if(parseInt(document.getElementById("rc_").style.left) > 0)
       {
       document.getElementById("rc_").style.left = 0+"px"
       }
     if(parseInt(document.getElementById("rc_").style.top) > 0-document.getElementById("imHld").offsetHeight)
       {
       document.getElementById("rc_").style.top = 0-document.getElementById("imHld").offsetHeight+"px"
       }
     if(parseInt(document.getElementById("rc_").style.top) < 0-gaDzh[Z])
       {
       document.getElementById("rc_").style.top = 0-gaDzh[Z] + "px"
       }
     Drag.init(document.getElementById("rc_"),null,(gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth,0,(gaDzh[Z] *  - 1),0-document.getElementById("imHld").offsetHeight);
     }
   else
     {
     Drag.init(document.getElementById("rc_"),null,0,document.getElementById("imHld").offsetWidth - gaDzw[Z],gaDzh[Z] *  - 1,0-document.getElementById("imHld").offsetHeight)+"px";
     }
 
   nTBY = 3;
    document.getElementById("tbar").style.top=document.getElementById("tsec"+Z).style.top
   document.getElementById(oZdv[Z].id).style.top = document.getElementById("rc_").style.top;
   document.getElementById(oZdv[Z].id).style.left = document.getElementById("rc_").style.left;
   document.getElementById(oZdv[Z].id).style.width = document.getElementById("rc_").style.width;
   document.getElementById(oZdv[Z].id).style.height = document.getElementById("rc_").style.height 
 	
   ScaIMap();  
   OvUpd();
   RdrVec();
   FtchCo(document.getElementById(oZdv[Z].id));
   AjaxVec();
   }
 
 function AdjLyt()
   {
  
   var myWidth = 0,myHeight = 0;
   if(browser == "nonIE")
     {
     ovAdjust = 7;
     kyAdjust = 3;
     myWidth = parent.window.innerWidth;
     myHeight = parent.window.innerHeight;
     }
   else if(browser == "ieComp")
     {
     myWidth = parent.document.body.clientWidth;
     myHeight = parent.document.body.clientHeight;
     ovAdjust = 6;
     kyAdjust = 3;
     }
   else if(browser == "ie4Comp")
     {
     myWidth = parent.document.body.clientWidth;
     myHeight = parent.document.body.clientHeight;
     ovAdjust = 6;
     kyAdjust = 3;
     }
    if(myHeight>200)
       {
       parent.document.getElementById("MainKeyIframe").style.height = myHeight-60+"px";
       parent.document.getElementById("MainKeyIframe").style.width = myWidth-360+"px";
       document.getElementById("map").style.height=parent.document.getElementById("MainKeyIframe").offsetHeight+"px";
       document.getElementById("imHld").style.height=parent.document.getElementById("MainKeyIframe").offsetHeight-5+"px";
       document.getElementById("map").style.width=parent.document.getElementById("MainKeyIframe").offsetWidth+"px";
       document.getElementById("imHld").style.width=parent.document.getElementById("MainKeyIframe").offsetWidth-5+"px";
       parent.document.getElementById("MainKeyTopIfrDiv").style.width = myWidth-360-(kyAdjust)+"px";
       parent.document.getElementById("MainKeyDiv").style.height = myHeight-60-(kyAdjust)+"px";
       
       //document.getElementById("ov").style.left=parseInt(document.getElementById("map").style.left)+document.getElementById("imHld").offsetWidth-document.getElementById("ov").offsetWidth+"px";
      // document.getElementById("ov").style.top=document.getElementById("imHld").offsetHeight-document.getElementById("ov").offsetHeight-ovAdjust+"px";
      // document.getElementById("ov_blank").style.left=parseInt(document.getElementById("map").style.left)+document.getElementById("imHld").offsetWidth-document.getElementById("ov_blank").offsetWidth-ovAdjust+"px";
      // document.getElementById("ov_blank").style.top=(document.getElementById("imHld").offsetHeight-document.getElementById("ov_blank").offsetHeight)-ovAdjust+"px";
       
       
document.getElementById("wMk").style.left=0+((document.getElementById("imHld").offsetWidth)/2)-((document.getElementById("wMkIm").offsetWidth)/2)+"px";
  document.getElementById("wMk").style.top=0-(document.getElementById("imHld").offsetHeight)/2-((document.getElementById("wMkIm").offsetHeight)/2)+"px";
       //Drag.init(document.getElementById("rc_"),null,(gaDzw[Z]*-1)+document.getElementById("imHld").offsetWidth,0,(gaDzh[Z]*-1),0-document.getElementById("imHld").offsetHeight);
     }  
   
   document.getElementById("ov").style.left = parseInt(document.getElementById("map").style.left) + document.getElementById("imHld").offsetWidth - document.getElementById("ov").offsetWidth + 2+"px";
   document.getElementById("ov").style.top = document.getElementById("imHld").offsetHeight - document.getElementById("ov").offsetHeight + "px";
   document.getElementById("ov_blank").style.left = parseInt(document.getElementById("map").style.left) + document.getElementById("imHld").offsetWidth - document.getElementById("ov").offsetWidth - ovAdjust + 2+"px";
   document.getElementById("ov_blank").style.top = document.getElementById("imHld").offsetHeight - document.getElementById("ov").offsetHeight - ovAdjust + "px";
   document.getElementById("ov_blank").style.height=document.getElementById("ov").offsetHeight+5+"px"
    document.getElementById("ov_blank").style.width=document.getElementById("ov").offsetWidth+5+"px"
 
 if(oZdv[Z].width > document.getElementById("imHld").offsetWidth)
            {
            if(parseInt(document.getElementById("rc_").style.left) < ((gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth))
              {
              document.getElementById("rc_").style.left = (gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth + "px"
              }
            if(parseInt(document.getElementById("rc_").style.left) > 0)
              {
              document.getElementById("rc_").style.left = 0+"px"
              }
            if(parseInt(document.getElementById("rc_").style.top) > 0-document.getElementById("imHld").offsetHeight)
              {
              document.getElementById("rc_").style.top = 0-(document.getElementById("imHld").offsetHeight) + "px"
              }
            if(parseInt(document.getElementById("rc_").style.top) < 0-gaDzh[Z])
              {
              document.getElementById("rc_").style.top = 0-gaDzh[Z] + "px"
              }
            Drag.init(document.getElementById("rc_"),null,(gaDzw[Z] *  - 1) + document.getElementById("imHld").offsetWidth,0,(gaDzh[Z] *  - 1),0-document.getElementById("imHld").offsetHeight);
            }
          else
            {
            Drag.init(document.getElementById("rc_"),null,0,document.getElementById("imHld").offsetWidth - gaDzw[Z],gaDzh[Z] *  - 1,0-document.getElementById("imHld").offsetHeight);
           }
 
 for (var i=0;i<5;i++)
 {
 if(parent.document.getElementById("info"+i))
 {
 parent.document.getElementById("info"+i).style.height = parent.document.getElementById("MainKeyIframe").offsetHeight - 30 +"px"
 }
 } 
   
   }
   
 function ExplorerFix() {
 for (a in document.links) document.links[a].onfocus = document.links[a].blur; }
 if (document.all) {
 document.onmousedown = ExplorerFix; }
 
 function MM_showHideLayers() { //v3.0
   var i,p,v,obj,args=MM_showHideLayers.arguments;
   for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
     if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
     obj.visibility=v; }
 }
 
 function MM_openBrWindow(theURL,winName,features) { //v2.0
   window.open(theURL,winName,features);
 }
 
 function MM_preloadImages() { //v3.0
   var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
     var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
     if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
 }
 
 function MM_swapImgRestore() { //v3.0
   var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
 }
 
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
 
 function parMM_swapImage() { //v3.0
   var i,j=0,x,a=parMM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=parent.MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
 }
 
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
 }
 
 
 function switchTab(id,source)
 {
 if(document.getElementById('info1')){
 document.getElementById('info1').style.display='none';
 document.getElementById('info2').style.display='none';
 document.getElementById('info3').style.display='none';
 document.getElementById('info4').style.display='none';
 document.getElementById('info5').style.display='none';
 document.getElementById('info6').style.display='none';
 pageObj=document
 }
 
 if(parent.document.getElementById('info1')){
 parent.document.getElementById('info1').style.display='none';
 parent.document.getElementById('info2').style.display='none';
 parent.document.getElementById('info3').style.display='none';
 parent.document.getElementById('info4').style.display='none';
 parent.document.getElementById('info5').style.display='none';
 parent.document.getElementById('info6').style.display='none';
 pageObj=parent.document
 }
 
 switch(id)
 {

 case 'Tab_HELP':
 MM_swapImage('Tab_HELP','','images/Tab_HELP_1.gif','Tab_Route_Info','','images/Tab_Route_Info_0.gif','Tab_Search','','images/Tab_Search_0.gif','Tab_Timetables','','images/Tab_Timetables_0.gif','Tab_Links','','images/Tab_Links_0.gif','Tab_Key','','images/Tab_Key_0.gif',1);
 pageObj.getElementById('info1').style.visibility='visible'
 pageObj.getElementById('info1').style.display='block';
 break;
 
 case 'Tab_Route_Info':
 if (source=='key')
 {
 parMM_swapImage('Tab_Route_Info','','images/Tab_Route_Info_1.gif','Tab_HELP','','images/Tab_HELP_0.gif','Tab_Search','','images/Tab_Search_0.gif','Tab_Timetables','','images/Tab_Timetables_0.gif','Tab_Links','','images/Tab_Links_0.gif','Tab_Key','','images/Tab_Key_0.gif',1);
 source=null;
 }else{
 MM_swapImage('Tab_Route_Info','','images/Tab_Route_Info_1.gif','Tab_HELP','','images/Tab_HELP_0.gif','Tab_Search','','images/Tab_Search_0.gif','Tab_Timetables','','images/Tab_Timetables_0.gif','Tab_Links','','images/Tab_Links_0.gif','Tab_Key','','images/Tab_Key_0.gif',1);
 
 }
 pageObj.getElementById('info2').style.visibility='visible'
 pageObj.getElementById('info2').style.display='block';
 break;
 
 case 'Tab_Search':
 MM_swapImage('Tab_Search','','images/Tab_Search_1.gif','Tab_HELP','','images/Tab_HELP_0.gif','Tab_Route_Info','','images/Tab_Route_Info_0.gif','Tab_Timetables','','images/Tab_Timetables_0.gif','Tab_Links','','images/Tab_Links_0.gif','Tab_Key','','images/Tab_Key_0.gif',1);
 pageObj.getElementById('info3').style.visibility='visible'
 pageObj.getElementById('info3').style.display='block';
 break;
 
 case 'Tab_Timetables':
 MM_swapImage('Tab_Timetables','','images/Tab_Timetables_1.gif','Tab_HELP','','images/Tab_HELP_0.gif','Tab_Route_Info','','images/Tab_Route_Info_0.gif','Tab_Search','','images/Tab_Search_0.gif','Tab_Links','','images/Tab_Links_0.gif','Tab_Key','','images/Tab_Key_0.gif',1);
 pageObj.getElementById('info4').style.visibility='visible'
 document.getElementById('info4').style.display='block';
 pageObj;
 break;
 
 case 'Tab_Links':
 MM_swapImage('Tab_Links','','images/Tab_Links_1.gif','Tab_Search','','images/Tab_Search_0.gif','Tab_HELP','','images/Tab_HELP_0.gif','Tab_Route_Info','','images/Tab_Route_Info_0.gif','Tab_Timetables','','images/Tab_Timetables_0.gif','Tab_Key','','images/Tab_Key_0.gif',1);
 pageObj.getElementById('info5').style.visibility='visible'
 pageObj.getElementById('info5').style.display='block';
 break;
 
 case 'Tab_Key':
  MM_swapImage('Tab_Key','','images/Tab_Key_1.gif','Tab_Search','','images/Tab_Search_0.gif','Tab_HELP','','images/Tab_HELP_0.gif','Tab_Route_Info','','images/Tab_Route_Info_0.gif','Tab_Timetables','','images/Tab_Timetables_0.gif','Tab_Links','','images/Tab_Links_0.gif',1);
  pageObj.getElementById('info6').style.visibility='visible'
  pageObj.getElementById('info6').style.display='block';
 break;
 }
 }
 
 function ParseFetchVmlTown_(sResult)
   {}
 
 function ParseFetchVmlTown(sResult)
   {
   oShp=new Array(5)
   result=sResult.split("~")
   
       oNewVec=document.createElement("DIV");
       oNewVec.id="obLy";
       oNewVec.style.zIndex=1;
       oNewVec.style.position="absolute";
       oNewVec.style.top="0px";
       oNewVec.style.left="0px";
       goObj=document.getElementById("ctrl");
       goObj.appendChild(oNewVec);
       document.getElementById("obLy").style.left=document.getElementById("rc_").style.left;
       document.getElementById("obLy").style.top=document.getElementById("rc_").style.top;
       document.getElementById("obLy").style.width=document.getElementById("rc_").style.width;
     document.getElementById("obLy").style.height=document.getElementById("rc_").style.height;
   
   for(i=0;i<result.length-1;i++)
   {
   sMapSep=result[i].split("#");
    
  
   if(browser!="nonIE")
     {    
     oVml=document.getElementById("obLy");
     oShp[i]=document.createElement("v:shape");
     oShp[i].id=sMapSep[0];
     oShp[i].style.position="absolute";
     oShp[i].style.width=oZdv[Z].width;
     oShp[i].style.height=oZdv[Z].height;
     oShp[i].coordsize=oZdv[Z].width+","+oZdv[Z].height;
     oShp[i].path=sMapSep[1];
     oShp[i].strokecolor="gray";
     oShp[i].strokeweight="2px";
     oShp[i].filled="true";
     oShp[i].fillColor="gray";
     oShp[i].title="Click Here to go to the "+sMapSep[0]+" town centre map";
     oShp[i].onmouseover=function(){document.body.style.cursor = "pointer";}
 
     oFill=document.createElement("v:fill");
     stroke=document.createElement("v:stroke");
     stroke.opacity="1";
     oFill.opacity=".5";
 
     stroke.endcap="round";
     oVml.appendChild(oShp[i]);
     oShp[i].appendChild(stroke);
     oShp[i].appendChild(oFill);
     oShp[i].onclick=function(){parent.document.getElementById("MainKeyIframe").src="http://www.cartogold.co.uk/scripts/gcis.exe?XgoPageName="+removeSpaces(this.id)}
     }
   else
     {
     sVstr=VMap[0]+="";
     sVstr=sVstr.replace(/E/g,"z");
     sVstr=sVstr.replace(/X/g,"");
     VMap[0]=VMap[0].replace(/X E/g,"Z");
     oNewVec=document.createElement("DIV");
     oNewVec.id="vec";
     oNewVec.style.zIndex=1;
     oNewVec.style.position="absolute";
     oNewVec.style.top="0px";
     oNewVec.style.left="0px";
     goObj=document.getElementById("ctrl");
     goObj.appendChild(oNewVec);
     document.getElementById("vec").style.left=document.getElementById("rc_").style.left;
     document.getElementById("vec").style.top=document.getElementById("rc_").style.top;
     document.getElementById("vec").style.width=document.getElementById("rc_").style.width;
     document.getElementById("vec").style.height=document.getElementById("rc_").style.height;
     oSvg2=document.createElementNS('http://www.w3.org/2000/svg','svg');
     oSvg2.setAttribute('width','400000');
     oSvg2.setAttribute('height','400000');
     oSvg2.setAttribute('viewBox','0 0 400000 400000');
     oShp=document.createElementNS('http://www.w3.org/2000/svg','path');
     oShp.id=sVmapId+"_shp";
     oShp.setAttribute("d",sVstr);
     oShp.setAttribute("stroke","red");
     oShp.setAttribute("stroke-width","2px");
     oShp.setAttribute("fill","red");
     oShp.setAttribute("fill-opacity",".3");
     oShp.setAttribute("stroke-linecap","round");
     oShp.setAttribute("fill-rule","evenodd");
     oSvg2.appendChild(oShp);
 
     VMap[1]=VMap[1].replace("M","");
     VMap[1]=VMap[1].replace("L","");
     VMap[1]=VMap[1].replace("X","");
     VMap[1]=VMap[1].replace("E","");
     VMap[1]=VMap[1].replace(" ",",");
     oShp2=document.createElementNS('http://www.w3.org/2000/svg','polygon');
     oShp2.id=sVmapId+"_box";
     oShp2.setAttribute("points",VMap[1]);
     oShp2.setAttribute("stroke","red");
     oShp2.setAttribute("stroke-width","1px");
     oShp2.setAttribute("fill","none");
     oSvg2.appendChild(oShp2);
     document.getElementById("vec").appendChild(oSvg2);
     }
 

   }
 ScaIMap();
   
   };
 
 
 
 
 function AjaxVec()
   {
   if(document.getElementById("tc_vec"))
    {
    goObj=document.getElementById("tc_vec");
     goObj.parentNode.removeChild(goObj);
     }
   if(document.getElementById("obLy"))
     {
     while(document.getElementById("obLy").childNodes.length)
       {
       document.getElementById("obLy").removeChild(document.getElementById("obLy").firstChild);
       }
     }
   var oGetVec=new Ajax();
   oGetVec.method='GET';
   oGetVec.async=true;
   oGetVec.doGet(gsRoot+gsInsets+"?p="+oZdv[Z].nRvScaFa+","+oZdv[Z].height+","+gsTownsDb,ParseFetchVmlTown);
   }
 
 
 
 
 function swapMap(id)
  {
 
   alert(id) 
  }
 
 function removeSpaces(string) {
 	var tstring = "";
 	string = '' + string;
 	splitstring = string.split(" ");
 	for(i = 0; i < splitstring.length; i++)
 	tstring += splitstring[i];
 	return tstring;
 }



function printASP(scaString,htString,idString,oZdvWidthString,gsExRString,gsExLString,sVecFntSz,lwString)
  {
scaString=parseFloat(scaString)
oZdvWidthString=parseFloat(oZdvWidthString)
gsExRString=parseFloat(gsExRString)
gsExLString=parseFloat(gsExLString)
htString=parseFloat(htString)
lwString=parseInt(lwString)
  wdth=780;
  ht=480;
  gLwString=lwString
  gsRoute = "Route.asp";
  gsRouteDb ="Powys_Main.mdb";
 
  gsImapDb ="Powys_Main.mdb";
  var oVroute=new Ajax();
  oVroute.responseFormat = 'text';
  oVroute.method='GET';
  oVroute.async=true;
  oVroute.doGet("http://www.cartogold.co.uk/Powys_Bus/"+gsRoute+"?p=" + scaString + "," + htString + "," + idString+","+gsRouteDb,ParseAspFetchVML);
  }
  



  function ParseAspFetchVML(sResult)
  {
  if(typeof(window.innerWidth)=='number')
      {
      browser="nonIE";
  
      }
    else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight))
      {
      browser="ieComp";
      }
    else if(document.body&&(document.body.clientWidth||document.body.clientHeight))
      {
      browser="ie4Comp";
    }   
   VMap=sResult.split("|");
   if(browser!="nonIE")
     {
     for(i=0;i<VMap.length-1;i++)
     {
     oNewVec=document.createElement("DIV");
     oNewVec.id="vec";
     oNewVec.style.zIndex=100;
     oNewVec.style.position="absolute";
     oNewVec.style.top="0px";
     oNewVec.style.left="0px";
     goObj=document.getElementById("zDiv");
     goObj.appendChild(oNewVec);
     oVml=document.getElementById("vec");
     oShp=document.createElement("v:Polyline");
     oShp.style.position="absolute";
     oShp.style.width=wdth;
     oShp.style.height=ht;
     oShp.id="printV"+i;
     oShp.coordsize=wdth+","+ht;
     oShp.points=VMap[i];
     oShp.strokecolor = "#0099cc";
     oShp.strokeweight = gLwString+ "px";
     oShp.filled = "false";
     oStr = document.createElement("v:stroke");
     oStr.opacity = "1";
     oStr.endcap = "round";
     oShp.appendChild(oStr);
     oVml.appendChild(oShp);
     
    //     oNewVec=document.createElement("DIV");
    //     oNewVec.id="vec";
    //     oNewVec.style.zIndex=100;
    //     oNewVec.style.position="absolute";
    //     oNewVec.style.top="0px";
    //     oNewVec.style.left="0px";
    //     goObj=document.getElementById("zDiv");
    //     goObj.appendChild(oNewVec);
    //     oVml=document.getElementById("vec");
    //     oShp=document.createElement("v:shape");
    //     oShp.style.position="absolute";
    //     oShp.style.width=wdth;
    //     oShp.style.height=ht;
    //     oShp.id=sVmapId+"_shp";
    //     oShp.coordsize=wdth+","+ht;
    //     oShp.path=VMap[0];
    //     oShp.strokecolor="red";
    //     oShp.strokeweight="2px";
    //     oShp.filled="true";
    //     oShp.fillColor="red";
    //     oFill=document.createElement("v:fill");
    //     stroke=document.createElement("v:stroke");
    //     stroke.opacity="1";
    //     oFill.opacity=".3";
    //     stroke.endcap="round";
    //     oVml.appendChild(oShp);
    //     oShp.appendChild(stroke);
    //     oShp.appendChild(oFill);     
     }
     	
     	
     	
     	
     	
     	
     	
     	
     	}else{
    oSvg2=document.createElementNS('http://www.w3.org/2000/svg','svg');
    oSvg2.setAttribute('width','400000');
    oSvg2.setAttribute('height','400000');
    oSvg2.setAttribute('viewBox','0 0 400000 400000');
    for(i=1;i<VMap.length;i++)
     {
    oNewVec=document.createElement("DIV");
    oNewVec.id="vec";
    oNewVec.style.zIndex=100;
    oNewVec.style.position="absolute";
    oNewVec.style.top="0px";
    oNewVec.style.left="0px";
    goObj=document.getElementById("zDiv");
    goObj.appendChild(oNewVec);
    oShp=document.createElementNS('http://www.w3.org/2000/svg','polyline');
    oShp.id="printV"+i; 
    oShp.setAttribute("points",VMap[i]);
    oShp.setAttribute("stroke","#0099cc");
    oShp.setAttribute("stroke-width",gLwString+ "px");
    oShp.setAttribute("fill","none");
    oShp.setAttribute("stroke-opacity","1");
    oShp.setAttribute("stroke-linecap","round");
    oSvg2.appendChild(oShp);
    document.getElementById("vec").appendChild(oSvg2);
    }
    }
   }

