 //
  var prevType = "all";
  var facDivision = new Array();
  var facDivDetails = new Array();
  var facName = new Array();
  var facType = new Array();
  var details = new Array();
  var imagess = new Array();
  var lats = new Array();
  var lons = new Array();
  var lng1;
  var lat1;
  var dista;
  var srcT;
  var detail;
  var pg;
  var busdista;
  
  
  function seeMap(no)
  {	
	var sortedDetail = details[no].replace(/#/g,"%23");
	var sortedDetail2 = sortedDetail.replace(/&/g,"%26");
	//var sortedDetail3 = sortedDetail2.replace("'","%27");
	document.getElementById("mapFrame2").style.height = 716 +"px";
	document.getElementById("mapFrame2").src = "SCDFMap2.php?latitude="+lats[no]+"&longitude="+lons[no]+"&image="+imagess[no]+"&detail="+sortedDetail2+"&type="+facType[no]+"&mode=normal&publicTrans=-&x2f="+lons[no]+"&y2f="+lats[no]+"&imgf="+imagess[no]+"&detf="+sortedDetail2;
	document.getElementById("mapFrame2").style.display = "block";
	//document.getElementById("mapFrame").src = "#";
	document.getElementById("mapFrame").style.display = "none";
	document.getElementById("facList").innerHTML = "";
	document.getElementById("legendIcon").innerHTML = "";
  }

  var bType;
  var bImg;
  var bx2;
  var by2;
  var bdet;

  function showBusMark(busId,descriptions,sbs,tibs,nr,distances,page,totalPages,totalResult,latitude,longitude,srcType,dist,det,x1,y1,x2f,y2f,imgf,detf,typeV)
  {
		//alert(x1 + "," + y1);
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";
		//parent.document.getElementById("mapFrame").location = "SCDFMap.php";
		parent.document.getElementById("mapFrame").style.display = "block";

		bType = typeV;
		bImg = imgf;
		bx2 = x2f;
		by2 = y2f;
		bdet = detf;

		var busIdCollections = "" + busId;
		var descCollections = "" + descriptions;
		var sbsCollections = "" + sbs;
		var tibsCollections = "" + tibs;
		var nrCollections = "" + nr;
		var distCollections = "" + distances;
		var latitudeCollections = "" + latitude;
		var longitudeCollections = "" + longitude;
		var pageNo = parseInt(page);
		var totalPage = parseInt(totalPages);
		var totalResult = parseInt(totalResult);
		//var alStart = pageNo * 10;		

		var bid = busIdCollections.split(",");
		var desc = descCollections.split(",");
		var sbsbus = sbsCollections.split(",");
		var distance = distCollections.split(",");
		var tibsbus = tibsCollections.split(",");
		var nrbus = nrCollections.split(",");
		var lts = latitudeCollections.split(",");
		var lngs = longitudeCollections.split(",");
		var startPg = (pageNo * 10) + 1;
		var endPg = (pageNo * 10) + bid.length;
		busdista = parseInt(dist)/1000;
		detail = det;
		lng1 = x1;
		lat1 = y1;
		pg=page;
		//var test = det.replace(/<BR>/i,". ");		
		
		srcT = "BUS";
		
		var sortedDetail;
		
		//dista = round(dist,2);
		if (typeV != "-")
		{
			sortedDetail = det.replace(/<BR>/g,". ");
		}
		else
	    {
			var rawDetail = det.split("~");
			sortedDetail = "<font face='tahoma' size='2'>" + rawDetail[1] + "</font>";
	    }
		

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>Near by "+srcType+" within "+busdista+" km <i>From</i></font></td></tr><tr><td align='center'>"+sortedDetail+"</td></tr><tr><td align='center'><font face='tahoma' size='2'>Search Result "+startPg+" to "+endPg+" of "+totalResult+"</font></td></tr></table>";

		if (totalPage > 1)
		{
			var pageIndex = "";
			for (var t=1;t<totalPage+1 ;t++ )
			{
				var pgNo = parseInt(t) - 1;
				if (pageIndex == "")
				{
					pageIndex = "<a href='#' onClick='parent.pg = "+pgNo+";parent.busStopSearch()'>" + t + "</a>";
				}
				else
				{
					pageIndex += " | <a href='#' onClick='parent.pg = "+pgNo+";parent.busStopSearch()'>" + t + "</a>";
				}
			}
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+pageIndex+"</font></td></tr></table>";
		}
		if (typeV != "-")
		{
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.backFunc(\""+detf+"\",\""+y2f+"\",\""+x2f+"\",\""+imgf+"\",\""+typeV+"\")'><b>Back</b></a></font></td></tr></table>";	
		}
		else
	    {
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.seeBusMap(\""+y1+"\",\""+x1+"\",\""+det+"\",\"bus\",\""+x2f+"\",\""+y2f+"\",\""+imgf+"\",\""+detf+"\")'><b>Back</b></a></font></td></tr></table>";	
	    }
			

		parent.mapFrame.plotBusStopMarker(lts,lngs);

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "</center>";
		document.getElementById("topBanner").style.height = 265 +"px";
		var display = "";
		
		if (totalResult != 0)
		{
			display = "<table width='735' cellpadding='0' cellspacing='0'>";
			var alphabet = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
						
			for (var z=0;z<bid.length ;z++ )
			{
				var busdet = bid[z]+ "~" + desc[z] + "~" + sbsbus[z] + "~" + tibsbus[z] + "~" + nr[z];
				display += "<tr bgcolor='black'><td colspan='3' bgcolor='black'></td></tr><tr bgcolor='#E0E0E0' height='20'><td width='15'><font face='tahoma' size='2'>&nbsp;<b>"+alphabet[z]+"</b></font></td><td width='650' align='left'><font face=tahoma size=2>Bus Stop ID : "+bid[z]+" - "+desc[z]+"</font></td><td align='left'><font face='tahoma' size='2'><a href='#' onClick='seeBusMap(\""+lts[z]+"\",\""+lngs[z]+"\",\""+busdet+"\",\"bus\",\""+x2f+"\",\""+y2f+"\",\""+imgf+"\",\""+detf+"\");'>See Map</a></font></td></tr><tr bgcolor='white'><td colspan='3'><table width='735'><tr><td width = '550' align='left'><font face='tahoma' size='1'>SBS Bus Service : "+sbsbus[z]+"<br>TIBS Bus Service : "+tibsbus[z]+"<BR>NR Bus Service : "+nrbus[z]+"</font></td><td align='right' valign='top'><font face='tahoma' size='1'>Distance : </font></td><td align='left' valign='top'><font face='tahoma' size='1'>"+distance[z]+" km</font></td></tr></table></td></tr>";
			}
			display += "</table>";
		}
		else
		{
			display += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size=2><b>Nearby Amenity : Not Found</b></font></td></tr></table>";
		}

		document.getElementById("facList").innerHTML = display;
  }

  function busStopSearch()
	{		
		//pg = parseInt(page);
		var url = "http://cd.can.com.sg/mapguide/SCDFMap/vicinitySearchBus.php?x1="+lng1+"&y1="+lat1+"&dist="+busdista*1000+"&searchType=bus&page="+pg;
		//alert(url);
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processBusSTopSearch;
			req.open("GET", url, true);
			req.send(null);
		// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processBusSTopSearch;
				req.open("GET", url, true);
				req.send();
			}
		}
	}
	function processBusSTopSearch() 
	{	
		if (req.readyState == 4)
		{ // Complete
		  if (req.status == 200) 
		  { 
				var response = req.responseXML.documentElement;	
				var searchStatus = response.getElementsByTagName("SearchStatus")[0].childNodes[0].nodeValue;
				var totalResult = response.getElementsByTagName("totalResult")[0].childNodes[0].nodeValue;
				var searchDistance = response.getElementsByTagName("SearchDistance")[0].childNodes[0].nodeValue;
				var srcType = response.getElementsByTagName("SearchType")[0].childNodes[0].nodeValue;
				if (searchStatus == "Successfull" && totalResult != "0")
			    {
					var method = response.getElementsByTagName("SearchResult").length;
					var totalPages = response.getElementsByTagName("totalPages")[0].childNodes[0].nodeValue;
					
					var busId = new Array();
					var descriptions = new Array();
					var sbs = new Array();
					var tibs = new Array();
					var nr = new Array();
					var distances = new Array();
					var latitude = new Array();
					var longitude = new Array();

					if (parseInt(method) > 0)
					{
						var size = parseInt(method);
						for (var f=0;f<size;f++)
						{
							busId[f] = response.getElementsByTagName('BusStopId')[f].childNodes[0].nodeValue;
							descriptions[f] = response.getElementsByTagName('Description')[f].childNodes[0].nodeValue;
							sbs[f] = response.getElementsByTagName('SBS')[f].childNodes[0].nodeValue;
							tibs[f] = response.getElementsByTagName('TIBS')[f].childNodes[0].nodeValue;
							distances[f] = response.getElementsByTagName('Distance')[f].childNodes[0].nodeValue;
							nr[f] = response.getElementsByTagName('NR')[f].childNodes[0].nodeValue;
							latitude[f] = response.getElementsByTagName('Latitude')[f].childNodes[0].nodeValue;
							longitude[f] = response.getElementsByTagName('Longitude')[f].childNodes[0].nodeValue;
						}
					}
					
					parent.showBusMark(busId,descriptions,sbs,tibs,nr,distances,pg,totalPages,totalResult,latitude,longitude,srcT,busdista*1000,detail,lng1,lat1,bx2,by2,bImg,bdet,bType);
				}
				else
			    {
					//showNoBusMark(srcT,busdista*1000,detail)
					//showNoVicinity(srcT,dista*1000,detail);
			    }

				//parent.showVicinity(tradeName,blkNo,roadName,distances,postalCode,method);
		  }
		}
	}

  function seeBusMap(lt,lng,det,transtp,x2f,y2f,imgf,detf)
  {
	//alert("hello");
	var sortedDetail = det.replace(/#/g,"%23");
	var sortedDetail2 = sortedDetail.replace(/&/g,"%26");
	//var sortedDetail3 = sortedDetail2.replace("'","%27");
	var mode = "mrtMk";
	if (transtp == "bus")
	{
		mode = "busMk";
	}

	parent.topBanner.document.getElementById("detail").innerHTML = "";
	document.getElementById("topBanner").style.height = 170 +"px";
	document.getElementById("mapFrame2").style.height = 680 +"px";
	document.getElementById("mapFrame2").src = "SCDFMap2.php?latitude="+lt+"&longitude="+lng+"&image=-&detail="+sortedDetail2+"&type=-&mode="+mode+"&publicTrans="+transtp+"&x2f="+x2f+"&y2f="+y2f+"&imgf="+imgf+"&detf="+detf;
	document.getElementById("mapFrame2").style.display = "block";
	//document.getElementById("mapFrame").src = "#";
	document.getElementById("mapFrame").style.display = "none";
	document.getElementById("facList").innerHTML = "";
	document.getElementById("legendIcon").innerHTML = "";
  }

  function showNoVicinity(srcType,searchDistance,det,lati,lng,imgf,typef)
  {
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";

		var distan = parseInt(searchDistance)/1000;

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>Near by "+srcType+" within "+distan+" km <i>From</i></font></td></tr><tr><td align='center'>"+det+"</td></tr><tr><td align='center'><font face='tahoma' size='2'><b>Nearby Amenity : Not Found</b></font></td></tr><tr><td align='center'><font face='tahoma' size='2'><a href='#' onClick='parent.backFunc(\""+det+"\",\""+lati+"\",\""+lng+"\",\""+imgf+"\",\""+typef+"\")'>Back</a></font></td></tr></table>";

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "</center>";
		document.getElementById("topBanner").style.height = 275 +"px";
  }

  function showNoBusMark(srcType,searchDistance,det,lati,lng,imgf,typef)
  {
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";

		var distan = parseInt(searchDistance)/1000;

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>Near by "+srcType+" within "+distan+" km <i>From</i></font></td></tr><tr><td align='center'>"+det+"</td></tr><tr><td align='center'><font face='tahoma' size='2'><b>Nearby Amenity : Not Found</b></font></td></tr><tr><td align='center'><font face='tahoma' size='2'><a href='#' onClick='parent.backFunc(\""+det+"\",\""+lati+"\",\""+lng+"\",\""+imgf+"\",\""+typef+"\")'>Back</a></font></td></tr></table>";

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "</center>";
		document.getElementById("topBanner").style.height = 275 +"px";
  }

  function backFunc(info,lati,lng,image,type)
  {
	  var sortedDetail = info.replace(/#/g,"%23");
	  var sortedDetail2 = sortedDetail.replace(/&/g,"%26");
	  window.parent.topBanner.document.getElementById("detail").innerHTML = "";
	  window.parent.document.getElementById("topBanner").style.height = 170 +"px";
	  document.getElementById("mapFrame2").style.height = 716 +"px";
	  document.getElementById("mapFrame2").src = "SCDFMap2.php?latitude="+lati+"&longitude="+lng+"&image="+image+"&detail="+sortedDetail2+"&type="+type+"&mode=normal&publicTrans=-&x2f="+lng+"&y2f="+lati+"&imgf="+image+"&detf="+sortedDetail2;
	  //alert("SCDFMap2.php?latitude="+lati+"&longitude="+lng+"&image="+image+"&detail="+sortedDetail2+"&type="+type+"&mode=normal&publicTrans=-&x2f="+lng+"&y2f="+lati+"&imgf="+image+"&detf="+sortedDetail2);
	  document.getElementById("mapFrame2").style.display = "block";
		//document.getElementById("mapFrame").src = "#";
	  document.getElementById("mapFrame").style.display = "none";
	  document.getElementById("facList").innerHTML = "";
	  document.getElementById("legendIcon").innerHTML = "";
  }

  function showNoRoute(origin,RT,dest,searchStatus,imgf,px2,py2,px2f,py2f,pdet,pdetf,modeV,typeV,stat)
  {
//alert("hi");
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";

		var sortedDetail = unescape(origin);
		var sortedDetail2 = sortedDetail.replace(/<BR>/g,". ");
var sortedDetail3 = unescape(dest);
		var sortedDetail4 = sortedDetail3.replace(/<BR>/g,". ");

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+RT+" driving/walking direction <i>From</i></font></td></tr><tr><td align='center'>"+sortedDetail2+" <br>to<br> <font face='tahoma' size='2'>"+sortedDetail4+"</font></td></tr><tr><td align='center'><font face='tahoma'size='2'>"+searchStatus+"</font></td></tr></table>";

		if (stat == "1")
		{
			//alert("hi");
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.backFunc(\""+pdetf+"\",\""+py2f+"\",\""+px2f+"\",\""+imgf+"\",\""+typeV+"\")'><b>Back</b></a></font></td></tr></table>";
		}
		else
	    {
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.seeRouteMapNew(\""+py2+"\",\""+px2+"\",\""+pdet+"\",\""+modeV+"\",\""+px2f+"\",\""+py2f+"\",\""+imgf+"\",\""+pdetf+"\")'><b>Back</b></a></font></td></tr></table>";
	    }

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "</center>";
		document.getElementById("topBanner").style.height = 295 +"px";
  }

  function showRoute2(startDet,bldgNames,x1s,y1s,desti,pointc,pointd,pgs,pgSet,RT,total,key,imgf,typeV)
  {
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";

		var sortedDetail = unescape(desti);
		var sortedDetail2 = sortedDetail.replace(/<BR>/g,". ");
		var noOfPages = Math.round(parseInt(total) / 10);
		//alert(pgSet);
		var totalPageSet = (Math.round(noOfPages / 12));

		rtype = typeV;
		rimg = imgf;

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+RT+" driving/walking direction <i>From</i></td></tr><tr><td align='center'>"+sortedDetail2+" <br>to<br></font></td></tr></table><br><font face=tahoma size=2>Search Result " + ((parseInt(pgs) * 10) + 1) +" to " + ((parseInt(pgs) + 1) * 10) + "</font>";

		
		var pgidx = ((parseInt(pgSet) + 1) * 12) + 1;
		var pgLeft = noOfPages - (parseInt(pgSet) * 12);

		if (noOfPages <= 12)
		{
			var pgidx = noOfPages + 1;
		}
		else if (pgLeft <= 12)
		{
			var pgidx = noOfPages + 1;
		}

		var startPgNo = (parseInt(pgSet) * 12) + 1;

		//echo $startPgNo;
		//echo $pgidx;

		var paging ="";
		var pp=1;
		for (var p=startPgNo;p<pgidx ;p++ )
		{
			var pageval = 0;

			if (p > 1)
			{
				pageval = p - 1;
			}
			if (paging =="")
			{
				paging += "<a href='#' onClick='parent.startRoutingL(\""+pointc+"\",\""+pointd+"\",\""+RT+"\",\""+desti+"\",\""+pageval+"\",\""+pgSet+"\",\""+key+"\")'>" + p + "</a>";
			}
			else
			{
				paging += " | <a href='#' onClick='parent.startRoutingL(\""+pointc+"\",\""+pointd+"\",\""+RT+"\",\""+desti+"\",\""+pageval+"\",\""+pgSet+"\",\""+key+"\")'>" + p + "</a>";
			}
		}

		if (totalPageSet > 1 && (parseInt(pgSet) != totalPageSet -1))
		{
			var nxtpgset = parseInt(pgSet) + 1;
			var currpg = (parseInt(nxtpgset) * 12) + 1;
			paging += " - <a href='#' onClick='parent.startRoutingL(\""+pointc+"\",\""+pointd+"\",\""+RT+"\",\""+desti+"\",\""+currpg+"\",\""+nxtpgset+"\",\""+key+"\")'>Next Page Set</a>";
		}
		var prevBtn = "";
		if (parseInt(pgSet) >= 1)
		{
			var prvpgset = parseInt(pgSet) - 1;
			var currpg = (prvpgset * 12) + 1;
			prevBtn = "<a href='#' onClick='parent.startRoutingL(\""+pointc+"\",\""+pointd+"\",\""+RT+"\",\""+desti+"\",\""+currpg+"\",\""+prvpgset+"\",\""+key+"\")'>Prev Page Set</a> - ";
		}
		
		var finPg = prevBtn + "" + paging;

		display1 += "<br><font face=tahoma size=2>"+finPg+"</font>";

		display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.backFunc(\""+desti+"\",\""+pointd+"\",\""+pointc+"\",\""+imgf+"\",\""+typeV+"\")'><b>Back</b></a></font></td></tr></table>";


		var display2 = "<table width='735' border=1 bordercolor='black'><tr bgcolor='#663300'><td align='center'><font face=tahoma size=2 color='white'><b>Building Name</b></font></td><td align='center'><font face=tahoma size=2 color='white'><b>Address</b></font></td><td align='center'><font face=tahoma size=2><b>&nbsp;</b></font></td></tr>";
		var startBldgs = bldgNames.split("~");
		var startRouteX = x1s.split("~");
		var startRouteY = y1s.split("~");
		var startRouteList = startDet.split("~");	
		
		for (var v=0;v<startRouteX.length;v++)
		{
			display2 += "<tr><td width='250' valign='top'><font face=tahoma size=2>"+startBldgs[v]+"</font></td><td valign='top'><font face=tahoma size=2>"+unescape(startRouteList[v])+"</font></td><td valign='top'><font face=tahoma size=2><a href='#' onClick='parent.startRouting2(\""+startRouteX[v]+"\",\""+startRouteY[v]+"\",\""+pointc+"\",\""+pointd+"\",\""+startRouteList[v]+"\",\""+desti+"\",\""+RT+"\")'>Select</a></font></td></tr>";
		}		

		display2 += "</table>";

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "<BR>" + display2 + "</center>";
		document.getElementById("topBanner").style.height = 650 +"px";
  }

  function startRoutingL(pointa,pointb,rtp,stp,paging,pgSet,key)
  {
	  var url = "http://cd.can.com.sg/mapguide/SCDFMap/routingProcessL.php?x2="+pointa+"&y2="+pointb+"&routeType="+rtp+"&dest="+stp+"&page="+paging+"&pageSet="+pgSet+"&keywords="+key;
	  if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processRouteL;
			req.open("GET", url, true);
			req.send(null);
		// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processRouteL;
				req.open("GET", url, true);
				req.send();
			}
		}
  }

  function processRouteL() 
  {			
	if (req.readyState == 4)
	{ // Complete
	  if (req.status == 200) 
	  { 		  
			var response = req.responseXML.documentElement;	
			
			var RT = response.getElementsByTagName("routeType")[0].childNodes[0].nodeValue;
			var totalResult = response.getElementsByTagName("totalStartDetail")[0].childNodes[0].nodeValue;

			//alert(totalResult);
			var searchStatus = response.getElementsByTagName("routingStatus")[0].childNodes[0].nodeValue;
			var cPage = response.getElementsByTagName("page")[0].childNodes[0].nodeValue;
			var cPageSet = response.getElementsByTagName("pageSet")[0].childNodes[0].nodeValue;
			var dest = response.getElementsByTagName("endDetail")[0].childNodes[0].nodeValue;
			//alert(totalResult);
						
			if (parseInt(totalResult) > 1 && searchStatus == "success")
			{
				//alert("hello");
				var startDests = new Array();
				var startX1s = new Array();
				var startY1s = new Array();
				var bldgNames = new Array();
				var x2 = response.getElementsByTagName("x2")[0].childNodes[0].nodeValue;
				var y2 = response.getElementsByTagName("y2")[0].childNodes[0].nodeValue;
				
				var key = response.getElementsByTagName("keywords")[0].childNodes[0].nodeValue;

				var tot = response.getElementsByTagName("startResult").length;

				for (var t=0;t<parseInt(tot) ;t++ )
				{
					startDests[t] = response.getElementsByTagName("startDetail")[t].childNodes[0].nodeValue;
					startX1s[t] = response.getElementsByTagName("x1")[t].childNodes[0].nodeValue;
					startY1s[t] = response.getElementsByTagName("y1")[t].childNodes[0].nodeValue;
					bldgNames[t] = response.getElementsByTagName("TradeName")[t].childNodes[0].nodeValue;
				}
				showRoute2(startDests.join("~"),bldgNames.join("~"),startX1s.join("~"),startY1s.join("~"),dest,x2,y2,cPage,cPageSet,RT,totalResult,key,rimg,rtype);
			}
			else
			{		
				showNoRoute("-",RT,dest,searchStatus);
				//showNoRoute(origin,RT,dest,searchStatus);
			}
			
			
			//alert(searchStatus);

			//parent.showVicinity(tradeName,blkNo,roadName,distances,postalCode,method);
	  }
	}
  }

  function showRouteNew(instruct,direct,road,dist,orig,RType,desti,totalD,totalT,pointa,pointb,pointc,pointd,coord,imgf,px2,py2,px2f,py2f,pdet,pdetf,modeV)
  {
	   //alert(imgf+"~"+px2+"~"+py2+"~"+px2f+"~"+py2f+"~"+pdet+"~"+pdetf+"~"+modeV);
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";
		//parent.document.getElementById("mapFrame").location = "SCDFMap.php";
		parent.document.getElementById("mapFrame").style.display = "block";

		var instructionCollections = "" + instruct;
		var directCollections = "" + direct;
		var roadCollections = "" + road;
		var distCollections = "" + dist;
		
		var instruction = instructionCollections.split(",");
		var direction = directCollections.split(",");
		var roads = roadCollections.split(",");
		var distant = distCollections.split(",");

		var sortedDetail = unescape(desti);
		var sortedDetail2 = sortedDetail.replace(/<BR>/g,". ");

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+RType+" driving/walking direction <i>From</i></font></td></tr><tr><td align='center'><font face='tahoma' size='2'>"+unescape(orig)+"</font><br>to<br> <font face='tahoma' size='2'>"+sortedDetail2+"</font></td></tr></table>";
		
		display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.seeRouteMapNew(\""+py2+"\",\""+px2+"\",\""+pdet+"\",\""+modeV+"\",\""+px2f+"\",\""+py2f+"\",\""+imgf+"\",\""+pdetf+"\")'><b>Back</b></a></font></td></tr></table>";	
		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "</center>";
		document.getElementById("topBanner").style.height = 265 +"px";

		//alert(coord);

		parent.mapFrame.plotRoutingMarker(pointb,pointa,pointd,pointc,coord);

		var display = "<font face='tahoma' size='2'><b>Total Distance : </b>"+totalD+" km<br><b>Total Journey Time : </b>"+totalT+"</font><table width='735' cellpadding='0' cellspacing='0' border='1' bordercolor='black'>";
		display += "<tr bgcolor='#E0E0E0'><td><font face='tahoma' size='2'>No.</font></td><td><font face='tahoma' size='2'>Instruction</font></td><td><font face='tahoma' size='2'>Road</font></td><td><font face='tahoma' size='2'>Direction</font></td><td><font face='tahoma' size='2'>Distance(km)</font></td></tr>";
		var idx = 1;
		for (var z=0;z<instruction.length ;z++ )
		{
			display += "<tr height='20'><td align='center'><font face='tahoma' size='2'>&nbsp;<b>"+ idx++ +"</b></font></td><td align='left'><font face=tahoma size=2>"+instruction[z]+"</font></td><td align='left'><font face='tahoma' size='2'>"+roads[z]+"</font></td><td align='left'><font face='tahoma' size='2'>"+direction[z]+"</font></td><td align='left'><font face='tahoma' size='2'>"+distant[z]+"</font></td></tr>";
		}
		display += "</table>";
		document.getElementById("facList").innerHTML = display;
  }	

  function seeRouteMapNew(lt,lng,det,transtp,x2f,y2f,imgf,detf)
  {
	//alert(lt+"~"+lng+"~"+det+"~"+transtp+"~"+x2f+"~"+y2f+"~"+imgf+"~"+detf);
	var sortedDetail = detf.replace(/#/g,"%23");
	var sortedDetail2 = sortedDetail.replace(/&/g,"%26");
	//var sortedDetail3 = sortedDetail2.replace("'","%27");
	
	parent.topBanner.document.getElementById("detail").innerHTML = "";
	document.getElementById("topBanner").style.height = 170 +"px";
	document.getElementById("mapFrame2").style.height = 680 +"px";
	document.getElementById("mapFrame2").src = "SCDFMap2.php?latitude="+lt+"&longitude="+lng+"&image=-&detail="+det+"&type=-&mode="+transtp+"&publicTrans=bus&x2f="+x2f+"&y2f="+y2f+"&imgf="+imgf+"&detf="+sortedDetail2;
	document.getElementById("mapFrame2").style.display = "block";
	//document.getElementById("mapFrame").location = "#";
	document.getElementById("mapFrame").style.display = "none";
	document.getElementById("facList").innerHTML = "";
	document.getElementById("legendIcon").innerHTML = "";
  }

  function startRouting2(pointa,pointb,pointc,pointd,stt,stp,rtp)
  {
	  var url = "http://cd.can.com.sg/mapguide/SCDFMap/routingProcess2.php?x2="+pointc+"&y2="+pointd+"&startDetail="+stt+"&routeType="+rtp+"&endDetail="+stp+"&x1="+pointa+"&y1="+pointb;

	  //alert(url);
	  if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processRoute2;
			req.open("GET", url, true);
			req.send(null);
		// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processRoute2;
				req.open("GET", url, true);
				req.send();
			}
		}
  }

	function processRoute2() 
	{			
		if (req.readyState == 4)
		{ // Complete
		  if (req.status == 200) 
		  { 		  
				var response = req.responseXML.documentElement;	
				
				var RT = response.getElementsByTagName("routeType")[0].childNodes[0].nodeValue;
				//var totalResult = response.getElementsByTagName("totalStartDetail")[0].childNodes[0].nodeValue;
				var searchStatus = response.getElementsByTagName("routingStatus")[0].childNodes[0].nodeValue;
				//alert(totalResult);
							
				if (searchStatus == "success")
				{				
					var dest = response.getElementsByTagName("endDetail")[0].childNodes[0].nodeValue;
					var origin = response.getElementsByTagName("startDetail")[0].childNodes[0].nodeValue;
					var totalDist = response.getElementsByTagName("totalDist")[0].childNodes[0].nodeValue;
					var totalTime = response.getElementsByTagName("totalTime")[0].childNodes[0].nodeValue;
					var method = response.getElementsByTagName("Directions").length;
					var x1 = response.getElementsByTagName("x1")[0].childNodes[0].nodeValue;
					var y1 = response.getElementsByTagName("y1")[0].childNodes[0].nodeValue;
					var x2 = response.getElementsByTagName("x2")[0].childNodes[0].nodeValue;
					var y2 = response.getElementsByTagName("y2")[0].childNodes[0].nodeValue;

					var instruction = new Array();
					var direction = new Array();
					var rd = new Array();
					var distan = new Array();
					var coordinates = response.getElementsByTagName('Points')[0].childNodes[0].nodeValue;

					if (parseInt(method) > 0)
					{
						for (var r=0;r<parseInt(method);r++)
						{
							instruction[r] = response.getElementsByTagName('Instruction')[r].childNodes[0].nodeValue;
							direction[r] = response.getElementsByTagName('Direction')[r].childNodes[0].nodeValue;
							rd[r] = response.getElementsByTagName('Road')[r].childNodes[0].nodeValue;
							distan[r] = response.getElementsByTagName('Distance')[r].childNodes[0].nodeValue;
							//coordinates[r] = response.getElementsByTagName('Points')[r].childNodes[0].nodeValue;
						}
					}

					showRouteNew(instruction,direction,rd,distan,origin,RT,dest,totalDist,totalTime,x1,y1,x2,y2,+"\""+coordinates+"\"",rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode);
					//showRouteNew(instruct,direct,road,dist,orig,RType,desti,totalD,totalT,pointa,pointb,pointc,pointd,coord,imgf,px2,py2,px2f,py2f,pdet,pdetf,modeV)
				}				
				else
				{	
					if (rnx2f == rnx2 && rny2f == rny2)
					{
						showNoRoute(origin,RT,dest,searchStatus,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode,rtype,"1");
					}
					else
					{
						showNoRoute(origin,RT,dest,searchStatus,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode,"-","2");
					}
					//showNoRoute(origin,RT,dest,searchStatus);
				}
				
				
				//alert(searchStatus);

				//parent.showVicinity(tradeName,blkNo,roadName,distances,postalCode,method);
		  }
		}
	}
var rimg;
var rtype;

  function showRoute(instruct,direct,road,dist,orig,RType,desti,totalD,totalT,pointa,pointb,pointc,pointd,coord,imgf,typeV)
  {
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";
		//parent.document.getElementById("mapFrame").src = "SCDFMap.php";
		parent.document.getElementById("mapFrame").style.display = "block";

		var instructionCollections = "" + instruct;
		var directCollections = "" + direct;
		var roadCollections = "" + road;
		var distCollections = "" + dist;

		rimg = imgf;
		rtype = typeV;

		var instruction = instructionCollections.split(",");
		var direction = directCollections.split(",");
		var roads = roadCollections.split(",");
		var distant = distCollections.split(",");

		var sortedDetail = unescape(desti);
		var sortedDetail2 = sortedDetail.replace(/<BR>/g,". ");

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+RType+" driving/walking direction <i>From</i></font></td></tr><tr><td align='center'><font face='tahoma' size='2'>"+unescape(orig)+"</font><br>to<br> <font face='tahoma' size='2'>"+sortedDetail2+"</font></td></tr></table>";

		display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.backFunc(\""+desti+"\",\""+pointd+"\",\""+pointc+"\",\""+imgf+"\",\""+typeV+"\")'><b>Back</b></a></font></td></tr></table>";

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "</center>";
		document.getElementById("topBanner").style.height = 265 +"px";


		//alert(coord);

		parent.mapFrame.plotRoutingMarker(pointb,pointa,pointd,pointc,coord);

		var display = "<font face='tahoma' size='2'><b>Total Distance : </b>"+totalD+" km<br><b>Total Journey Time : </b>"+totalT+"</font><table width='735' cellpadding='0' cellspacing='0' border='1' bordercolor='black'>";
		display += "<tr bgcolor='#E0E0E0'><td><font face='tahoma' size='2'>No.</font></td><td><font face='tahoma' size='2'>Instruction</font></td><td><font face='tahoma' size='2'>Road</font></td><td><font face='tahoma' size='2'>Direction</font></td><td><font face='tahoma' size='2'>Distance(km)</font></td></tr>";
		var idx = 1;
		for (var z=0;z<instruction.length ;z++ )
		{
			display += "<tr height='20'><td align='center'><font face='tahoma' size='2'>&nbsp;<b>"+ idx++ +"</b></font></td><td align='left'><font face=tahoma size=2>"+instruction[z]+"</font></td><td align='left'><font face='tahoma' size='2'>"+roads[z]+"</font></td><td align='left'><font face='tahoma' size='2'>"+direction[z]+"</font></td><td align='left'><font face='tahoma' size='2'>"+distant[z]+"</font></td></tr>";
		}
		display += "</table>";
		document.getElementById("facList").innerHTML = display;
  }	
var vType;
var vx2;
var vy2;
var vimg;
var vdet;

  function showVicinity(tradeName,blkNo,roadName,distances,postalCode,page,totalPages,totalResult,latitude,longitude,srcType,dist,det,x1,y1,x2f,y2f,imgf,detf,typeV)
  {
		//alert(x1 + "," + y1);
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";
		//parent.document.getElementById("mapFrame").src = "SCDFMap.php";
		parent.document.getElementById("mapFrame").style.display = "block";

		vType = typeV;
		vx2=x2f;
		vy2=y2f;
		vimg=imgf;
		vdet=detf;

		var tradeNameCollections = "" + tradeName;
		var blkNoCollections = "" + blkNo;
		var roadNameCollections = "" + roadName;
		var distanceCollections = "" + distances;
		var postalCollections = "" + postalCode;
		var latitudeCollections = "" + latitude;
		var longitudeCollections = "" + longitude;
		var pageNo = parseInt(page);
		var totalPage = parseInt(totalPages);
		var totalResult = parseInt(totalResult);
		//var alStart = pageNo * 10;		

		var trade = tradeNameCollections.split(",");
		var blk = blkNoCollections.split(",");
		var road = roadNameCollections.split(",");
		var distance = distanceCollections.split(",");
		var postal = postalCollections.split(",");
		var lts = latitudeCollections.split(",");
		var lngs = longitudeCollections.split(",");
		var startPg = (pageNo * 10) + 1;
		var endPg = (pageNo * 10) + trade.length;
		dista = parseInt(dist)/1000;
		detail = det;
		lng1 = x1;
		lat1 = y1;
		pg=page;
		//var test = det.replace(/<BR>/i,". ");
		
		if (srcType == "MRT/LRT")
		{
			srcT = "MRT";
		}
		//dista = round(dist,2);
		var sortedDetail = det.replace(/<BR>/g,". ");

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>Near by "+srcType+" within "+dista+" km <i>From</i></font></td></tr><tr><td align='center'>"+sortedDetail+"</td></tr><tr><td align='center'><font face='tahoma' size='2'>Search Result "+startPg+" to "+endPg+" of "+totalResult+"</font></td></tr></table>";

		if (totalPage > 1)
		{
			var pageIndex = "";
			for (var t=1;t<totalPage+1 ;t++ )
			{
				var pgNo = parseInt(t) - 1;
				if (pageIndex == "")
				{
					pageIndex = "<a href='#' onClick='parent.pg = "+pgNo+";parent.vicinitySearch()'>" + t + "</a>";
				}
				else
				{
					pageIndex += " | <a href='#' onClick='parent.pg = "+pgNo+";parent.vicinitySearch()'>" + t + "</a>";
				}
			}
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+pageIndex+"</font></td></tr></table>";
		}

		if (typeV != "-")
		{
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.backFunc(\""+detf+"\",\""+y2f+"\",\""+x2f+"\",\""+imgf+"\",\""+typeV+"\")'><b>Back</b></a></font></td></tr></table>";
		}
		else
	    {
			display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.seeBusMap(\""+y1+"\",\""+x1+"\",\""+det+"\",\"mrt\",\""+x2f+"\",\""+y2f+"\",\""+imgf+"\",\""+detf+"\")'><b>Back</b></a></font></td></tr></table>";	
	    }

		parent.mapFrame.plotMRTMarker(lts,lngs);

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "</center>";
		document.getElementById("topBanner").style.height = 265 +"px";
		var display = "";
		
		if (totalResult != 0)
		{
			display = "<table width='735' cellpadding='0' cellspacing='0'>";
			var alphabet = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
						
			for (var z=0;z<trade.length ;z++ )
			{
				display += "<tr bgcolor='black'><td colspan='3' bgcolor='black'></td></tr><tr bgcolor='#E0E0E0' height='20'><td width='15'><font face='tahoma' size='2'>&nbsp;<b>"+alphabet[z]+"</b></font></td><td width='650' align='left'><font face=tahoma size=2>MRT/LRT Station : "+trade[z]+"</font></td><td align='left'><font face='tahoma' size='2'><a href='#' onClick='seeBusMap(\""+lts[z]+"\",\""+lngs[z]+"\",\"<font face=tahoma size=2>"+trade[z] + "<br>" + blk[z] + ", " + road[z] + ". S(" + postal[z] +")" +"</font>\",\"mrt\",\""+x2f+"\",\""+y2f+"\",\""+imgf+"\",\""+detf+"\")'>See Map</a></font></td></tr><tr bgcolor='white'><td colspan='3'><table width='735'><tr><td width = '550' align='left'><font face='tahoma' size='1'>&nbsp;"+blk[z] + ", " + road[z] + ". S(" + postal[z] +")</font></td><td align='right'><font face='tahoma' size='1'>Distance : </font></td><td align='left'><font face='tahoma' size='1'>"+distance[z]+" km</font></td></tr></table></td></tr>";
			}
			display += "</table>";
		}
		else
		{
			display += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size=2><b>Nearby Amenity : Not Found</b></font></td></tr></table>";
		}

		document.getElementById("facList").innerHTML = display;
  }

	function vicinitySearch()
	{		
		//pg = parseInt(page);
		var url = "http://cd.can.com.sg/mapguide/SCDFMap/vicinitySearch.php?x1="+lng1+"&y1="+lat1+"&dist="+dista*1000+"&searchType="+srcT+"&page="+pg;
		//alert(url);
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processStateChange;
			req.open("GET", url, true);
			req.send(null);
		// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processStateChange;
				req.open("GET", url, true);
				req.send();
			}
		}
	}
	function processStateChange() 
	{	
		if (req.readyState == 4)
		{ // Complete
		  if (req.status == 200) 
		  { 		  
				var response = req.responseXML.documentElement;	
				var searchStatus = response.getElementsByTagName("SearchStatus")[0].childNodes[0].nodeValue;
				var totalR = response.getElementsByTagName("totalResult")[0].childNodes[0].nodeValue;
				var searchDistance = response.getElementsByTagName("SearchDistance")[0].childNodes[0].nodeValue;
				var srcType = response.getElementsByTagName("SearchType")[0].childNodes[0].nodeValue;
				if (searchStatus == "Successfull" && totalR != "0")
			    {
					var method = response.getElementsByTagName("SearchResult").length;
					var totalPages = response.getElementsByTagName("totalPages")[0].childNodes[0].nodeValue;
					
					var tradeName = new Array();
					var blkNo = new Array();
					var roadName = new Array();
					var distances = new Array();
					var postalCode = new Array();
					var latitude = new Array();
					var longitude = new Array();

					if (parseInt(method) > 0)
					{
						var size = parseInt(method);
						for (var f=0;f<size;f++)
						{
							tradeName[f] = response.getElementsByTagName('TradeName')[f].childNodes[0].nodeValue;
							blkNo[f] = response.getElementsByTagName('BlkNo')[f].childNodes[0].nodeValue;
							roadName[f] = response.getElementsByTagName('RoadName')[f].childNodes[0].nodeValue;
							distances[f] = response.getElementsByTagName('Distance')[f].childNodes[0].nodeValue;
							postalCode[f] = response.getElementsByTagName('PostalCode')[f].childNodes[0].nodeValue;
							latitude[f] = response.getElementsByTagName('Latitude')[f].childNodes[0].nodeValue;
							longitude[f] = response.getElementsByTagName('Longitude')[f].childNodes[0].nodeValue;
						}
					}
					
					showVicinity(tradeName,blkNo,roadName,distances,postalCode,pg,totalPages,totalR,latitude,longitude,srcT,dista*1000,detail,lng1,lat1,vx2,vy2,vimg,vdet,vType);
				}
				else
			    {
					//showNoVicinity(srcT,dista*1000,detail);
			    }

				//parent.showVicinity(tradeName,blkNo,roadName,distances,postalCode,method);
		  }
		}
	}
  
  function listFacilities(facName,facDiv,facDivDet,defaultView,viewType,facTypes,facDetails,facImage,Latitude,Longitude)
  {
    var display = "<table cellspacing='0' cellpadding='0'><tr><td width='2' bgcolor='#FFCC00'></td><td bgcolor='#FFCC00'><font face='tahoma' size='2' color = 'white'><b>1st CD Division</b></font></td><td width='8'></td><td width='2' bgcolor='#003399'></td><td bgcolor='#003399'><font face='tahoma' size='2' color = 'white'><b>2nd CD Division</b></font></td><td width='8'></td><td width='2' bgcolor='#006F2F'></td><td bgcolor='#006F2F'><font face='tahoma' size='2' color = 'white'><b>3rd CD Division</b></font></td><td width='8'></td><td width='2' bgcolor='#D3312F'></td><td bgcolor='#D3312F'><font face='tahoma' size='2' color = 'white'><b>4th CD Division</b></font></td></tr>";
    var nameCollections = "" + facName;
	var facDivCollections = "" + facDiv;
	var facDivDetailsCollections = "" + facDivDet;
	var facTypeCollections = "" + facTypes;
	var detailsCollections = "" + facDetails;
	var imageCollections = "" + facImage;
	var latCollections = "" + Latitude;
	var lonCollections = "" + Longitude;

	facDivision = facDivCollections.split(",");
	facDivDetails = facDivDetailsCollections.split(",");
	facName = nameCollections.split(",");
	facType = facTypeCollections.split(",");
	details = detailsCollections.split("~");
	imagess = imageCollections.split(",");
	lats = latCollections.split(",");
	lons = lonCollections.split(",");
		
	if (defaultView=="true" && viewType == "all")
	{
		var first = "<table>";
		var second = "<table>";
		var third = "<table>";
		var forth = "<table>";
		for (var z=0;z<facDivision.length ;z++ )
		{
			if (facDivision[z] == "1")
			{
				if (facDivDetails[z] != "-")
				{
					first += "<tr><td align='center'><font face=tahoma size=1>" + facDivision[z] + "" + facDivDetails[z] + "</font></td>";
				}
				else
				{
					first += "<tr><td align='center'></td>";
				}	
				first += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap("+z+")'>" + facName[z] + "</a></font></td></tr>";
			}
			else if (facDivision[z] == "2")
			{
				if (facDivDetails[z] != "-")
				{
					second += "<tr><td align='center'><font face=tahoma size=1>" + facDivision[z] + "" + facDivDetails[z] + "</font></td>";
				}
				else
				{
					second += "<tr><td align='center'></td>";
				}	
				second += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap("+z+")'>" + facName[z] + "</a></font></td></tr>";
			}
			else if (facDivision[z] == "3")
			{
				if (facDivDetails[z] != "-")
				{
					third += "<tr><td align='center'><font face=tahoma size=1>" + facDivision[z] + "" + facDivDetails[z] + "</font></td>";
				}
				else
				{
					third += "<tr><td align='center'></td>";
				}	
				third += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap("+z+")'>" + facName[z] + "</a></font></td></tr>";
			}
			else if (facDivision[z] == "4")
			{
				if (facDivDetails[z] != "-")
				{
					forth += "<tr><td align='center'><font face=tahoma size=1>" + facDivision[z] + "" + facDivDetails[z] + "</font></td>";
				}
				else
				{
					forth += "<tr><td align='center'></td>";
				}	
				forth += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap("+z+")'>" + facName[z] + "</a></font></td></tr>";
			}
		}
		first += "</table>";
		second += "</table>";
		third += "</table>";
		forth += "</table>";

		display += "<tr><td width='2' bgcolor='#FFCC00'></td><td valign='top'>"+first+"</td><td width='8'></td><td width='2' bgcolor='#003399'></td><td valign='top'>"+second+"</td><td width='8'></td><td width='2' bgcolor='#006F2F'></td><td valign='top'>"+third+"</td><td width='8'></td><td width='2' bgcolor='#D3312F'></td><td valign='top'>"+forth+"</td></tr></table>";
		document.getElementById("facList").innerHTML = display;
	}
	else if (defaultView=="false" && viewType == "HQ")
	{
		display = "<table width='735' cellpadding='0' cellspacing='0'><tr><td width='8' valign='top'><img src='img/x1.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8' valign='top'><img src='img/x2.gif' width='8' height='13' align='top'></td></tr><tr><td height='13' bgcolor='#EBEBEB'>&nbsp;</td><td align='center' bgcolor='#EBEBEB'>";
		var newRow = 0;
		var tableDetails = "<table bgcolor='#EBEBEB'>";
		for (var z=0;z<facDivision.length ;z++ )
		{
			if (newRow == 2)
			{
				//alert("hello");
				newRow = 0;
				tableDetails += "<tr>";
			}
			
			if (facType[z] == "HQ" || facType[z] == "TC")
			{
				newRow++;
				if (facDivDetails[z] != "-")
				{
					tableDetails += "<td valign='top'><font face=tahoma size=2><b>" + facDivision[z] + "" + facDivDetails[z] + "</b></font></td>";
				}
				else
				{
					tableDetails += "<td align='center'></td>";
				}
				
				if (imagess[z] != "-")
				{
					tableDetails += "<td valign='top'><img src='img/"+imagess[z]+".gif' border='1'></td>";
				}

				tableDetails += "<td align='left' valign='top'><font face=tahoma size=2>" + details[z] + "<br><br><a href='#' onClick='seeMap("+z+")'>See Map</a></font><br><br></td>";
				if (newRow == 2)
				{
					tableDetails += "</tr>";
				}
			}			
		}
		tableDetails += "</table>";
		display += tableDetails + "</td><td height='13' bgcolor='#EBEBEB'>&nbsp;</td></tr><tr><td width='8' valign='top'><img src='img/x3.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8'><img src='img/x4.gif' width='8' height='13' align='top'></td></tr></table>";
		
		document.getElementById("facList").innerHTML = display;
	}
	else if (defaultView=="false" && viewType == "FS")
	{		
		display = "<table width='735' cellpadding='0' cellspacing='0'><tr><td width='8' valign='top'><img src='img/x1.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8' valign='top'><img src='img/x2.gif' width='8' height='13' align='top'></td></tr><tr><td height='13' bgcolor='#EBEBEB'>&nbsp;</td><td align='center' bgcolor='#EBEBEB'>";
		var newRow = 0;
		var tableDetails = "<table bgcolor='#EBEBEB'>";
		for (var z=0;z<facDivision.length ;z++ )
		{
			if (newRow == 2)
			{
				//alert("hello");
				newRow = 0;
				tableDetails += "<tr>";
			}
			
			if (facType[z] == "FS")
			{
				newRow++;
				if (facDivDetails[z] != "-")
				{
					tableDetails += "<td valign='top'><font face=tahoma size=2><b>" + facDivision[z] + "" + facDivDetails[z] + "</b></font></td>";
				}
				else
				{
					tableDetails += "<td align='center'></td>";
				}
				
				if (imagess[z] != "-")
				{
					tableDetails += "<td valign='top'><img src='img/"+imagess[z]+".gif' border='1'></td>";
				}

				tableDetails += "<td align='left' valign='top' width='350'><font face=tahoma size=2>" + details[z] + "</font><br><br><a href='#' onClick='seeMap("+z+")'>See Map</a><br><br></font></td>";
				if (newRow == 2)
				{
					tableDetails += "</tr>";
				}
			}			
		}
		tableDetails += "</table>";
		display += tableDetails + "</td><td height='13' bgcolor='#EBEBEB'>&nbsp;</td></tr><tr><td width='8' valign='top'><img src='img/x3.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8'><img src='img/x4.gif' width='8' height='13' align='top'></td></tr></table>";
		
		document.getElementById("facList").innerHTML = display;
	}
	else if (defaultView=="false" && viewType == "FP")
	{
		display = "<table width='735' cellpadding='0' cellspacing='0'><tr><td width='8' valign='top'><img src='img/x1.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8' valign='top'><img src='img/x2.gif' width='8' height='13' align='top'></td></tr><tr><td height='13' bgcolor='#EBEBEB'>&nbsp;</td><td align='center' bgcolor='#EBEBEB'>";
		var newRow = 0;
		var tableDetails = "<table bgcolor='#EBEBEB'>";
		for (var z=0;z<facDivision.length ;z++ )
		{
			if (newRow == 2)
			{
				//alert("hello");
				newRow = 0;
				tableDetails += "<tr>";
			}
			
			if (facType[z] == "FP")
			{
				newRow++;
				if (facDivDetails[z] != "-")
				{
					tableDetails += "<td valign='top'><font face=tahoma size=2><b>" + facDivision[z] + "" + facDivDetails[z] + "</b></font></td>";
				}
				else
				{
					tableDetails += "<td align='center'></td>";
				}
				
				if (imagess[z] != "-")
				{
					tableDetails += "<td valign='top'><img src='img/"+imagess[z]+".gif' border='1'></td>";
				}

				tableDetails += "<td align='left' valign='top'><font face=tahoma size=2>" + details[z] + "<br><br><a href='#' onClick='seeMap("+z+")'>See Map</a><br><br></font></td>";
				if (newRow == 2)
				{
					tableDetails += "</tr>";
				}
			}			
		}
		tableDetails += "</table>";
		display += tableDetails + "</td><td height='13' bgcolor='#EBEBEB'>&nbsp;</td></tr><tr><td width='8' valign='top'><img src='img/x3.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8'><img src='img/x4.gif' width='8' height='13' align='top'></td></tr></table>";
		
		document.getElementById("facList").innerHTML = display;
	}
	else if (defaultView=="false" && viewType == "HT")
	{
		display = "<table width='735' cellpadding='0' cellspacing='0'><tr><td width='8' valign='top'><img src='img/x1.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8' valign='top'><img src='img/x2.gif' width='8' height='13' align='top'></td></tr><tr><td height='13' bgcolor='#EBEBEB'>&nbsp;</td><td align='center' bgcolor='#EBEBEB'>";
		var newRow = 0;
		var tableDetails = "<table bgcolor='#EBEBEB'>";
		for (var z=0;z<facDivision.length ;z++ )
		{
			if (newRow == 2)
			{
				//alert("hello");
				newRow = 0;
				tableDetails += "<tr>";
			}
			
			if (facType[z] == "HT")
			{
				newRow++;
				if (facDivDetails[z] != "-")
				{
					tableDetails += "<td valign='top'><font face=tahoma size=2><b>" + facDivision[z] + "" + facDivDetails[z] + "</b></font></td>";
				}
				else
				{
					tableDetails += "<td align='center'></td>";
				}
				
				if (imagess[z] != "-")
				{
					tableDetails += "<td valign='top'><img src='img/"+imagess[z]+".gif' border='1'></td>";
				}
				
				tableDetails += "<td align='left' valign='top'><font face=tahoma size=2>" + details[z] + "<br><br><a href='#' onClick='seeMap("+z+")'>See Map</a><br><br></font></td>";
				if (newRow == 2)
				{
					tableDetails += "</tr>";
				}
			}			
		}
		tableDetails += "</table>";
		display += tableDetails + "</td><td height='13' bgcolor='#EBEBEB'>&nbsp;</td></tr><tr><td width='8' valign='top'><img src='img/x3.gif' width='8' height='13' align='top'></td><td height='13' valign='top' width='719' bgcolor='#EBEBEB'></td><td width='8'><img src='img/x4.gif' width='8' height='13' align='top'></td></tr></table>";
		
		document.getElementById("facList").innerHTML = display;
	}
	else
	{
		document.getElementById("facList").innerHTML = "";
	}
  }
  function changeLayerAll()
  {
		if (document.getElementById("allChk").checked == true)
		{
			document.getElementById("hqChk").checked = false;
			document.getElementById("fsChk").checked = false;
			document.getElementById("fpChk").checked = false;
			document.getElementById("roChk").checked = false;
			document.getElementById("tcChk").checked = false;

			parent.mapFrame.showFac("all",prevType);
			prevType = "all";
			retrieveFacilitiesSpecial("all","normal");
		}
		else
		{
			document.getElementById("facList").innerHTML = "";
		}
  }

  function changeLayer()
  {		
		document.getElementById("allChk").checked = false;
		var exT = "";
		if (document.getElementById("hqChk").checked==true)
		{	
			parent.mapFrame.showFac("HQ",prevType);
			prevType = "none";	
		}
		if (document.getElementById("hqChk").checked==false)
		{	
			parent.mapFrame.hideFac("HQ");
			prevType = "none";	
			if (exT == "")
			{
				exT = "'HQ'";
			}
			else
			{
				exT += ",'HQ'";
			}			
		}
		if (document.getElementById("fpChk").checked==true)
		{	
			parent.mapFrame.showFac("FP",prevType);
			prevType = "none";			
		}
		if (document.getElementById("fpChk").checked==false)
		{	
			parent.mapFrame.hideFac("FP");
			prevType = "none";		
			if (exT == "")
			{
				exT = "'FP'";
			}
			else
			{
				exT += ",'FP'";
			}	
		}
		if (document.getElementById("fsChk").checked==true)
		{
			parent.mapFrame.showFac("FS",prevType);
			prevType = "none";
		}
		if (document.getElementById("fsChk").checked==false)
		{	
			parent.mapFrame.hideFac("FS");
			prevType = "none";	
			if (exT == "")
			{
				exT = "'FS'";
			}
			else
			{
				exT += ",'FS'";
			}	
		}
		if (document.getElementById("roChk").checked==true)
		{
			parent.mapFrame.showFac("HT",prevType);
			prevType = "none";
		}
		if (document.getElementById("roChk").checked==false)
		{	
			parent.mapFrame.hideFac("HT");
			prevType = "none";	
			if (exT == "")
			{
				exT = "'HT'";
			}
			else
			{
				exT += ",'HT'";
			}	
		}
		if (document.getElementById("tcChk").checked==true)
		{
			parent.mapFrame.showFac("TC",prevType);
			prevType = "none";
		}
		if (document.getElementById("tcChk").checked==false)
		{	
			parent.mapFrame.hideFac("TC");
			prevType = "none";
			if (exT == "")
			{
				exT = "'TC'";
			}
			else
			{
				exT += ",'TC'";
			}	
		}	

		if (document.getElementById("tcChk").checked==false && document.getElementById("roChk").checked==false && document.getElementById("fsChk").checked==false && document.getElementById("fpChk").checked==false && document.getElementById("hqChk").checked==false)
		{
			document.getElementById("facList").innerHTML = "";
		}
		else if (document.getElementById("tcChk").checked==true && document.getElementById("roChk").checked==true && document.getElementById("fsChk").checked==true && document.getElementById("fpChk").checked==true && document.getElementById("hqChk").checked==true)
		{
			retrieveFacilitiesSpecial("all","normal");
		}
		else
		{		
			retrieveFacilitiesSpecial(exT,"special");
		}
  }
  function retrieveFacilitiesSpecial(type,search) 
  {	
	var url = "http://cd.can.com.sg/mapguide/SCDFMap/facilitatorSearch.php?fType="+type+"&fSearch="+search;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processStateChangeSpecial;
		req.open("GET", url, true);
		req.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processStateChangeSpecial;
			req.open("GET", url, true);
			req.send();
		}
	}
  }

  function processStateChangeSpecial() 
  {	
	if (req.readyState == 4)
	{ // Complete
	  if (req.status == 200) 
	  { 		  
			var response = req.responseXML.documentElement;			
			var method = response.getElementsByTagName("Detail").length;	
			var display = "<table cellspacing='0' cellpadding='0'><tr><td width='2' bgcolor='#FFCC00'></td><td bgcolor='#FFCC00'><font face='tahoma' size='2' color = 'white'><b>1st CD Division</b></font></td><td width='8'></td><td width='2' bgcolor='#003399'></td><td bgcolor='#003399'><font face='tahoma' size='2' color = 'white'><b>2nd CD Division</b></font></td><td width='8'></td><td width='2' bgcolor='#006F2F'></td><td bgcolor='#006F2F'><font face='tahoma' size='2' color = 'white'><b>3rd CD Division</b></font></td><td width='8'></td><td width='2' bgcolor='#D3312F'></td><td bgcolor='#D3312F'><font face='tahoma' size='2' color = 'white'><b>4th CD Division</b></font></td></tr>";
			var first = "<table>";
			var second = "<table>";
			var third = "<table>";
			var forth = "<table>";
			if (parseInt(method) > 0)
			{
				var size = parseInt(method);
				for (var f=0;f<size;f++)
				{	
					var facInfos = "<B><font face=tahoma size=2>" + response.getElementsByTagName('FacName')[f].childNodes[0].nodeValue + "</b>";

					if (response.getElementsByTagName('FacBranch')[f].childNodes[0].nodeValue != "-")
					{
						facInfos += "(" + response.getElementsByTagName('FacBranch')[f].childNodes[0].nodeValue + ")";
					}
					facInfos += "<BR>";

					if (response.getElementsByTagName('FacUnitNo')[f].childNodes[0].nodeValue != "-")
					{
						facInfos += response.getElementsByTagName('FacUnitNo')[f].childNodes[0].nodeValue + ". ";
					}
					
					if (response.getElementsByTagName('FacBlkNo')[f].childNodes[0].nodeValue != "-")
					{
						facInfos += response.getElementsByTagName('FacBlkNo')[f].childNodes[0].nodeValue + ", ";
					}

					facInfos +=response.getElementsByTagName('FacRoad')[f].childNodes[0].nodeValue + ". S (" + response.getElementsByTagName('FacPostal')[f].childNodes[0].nodeValue + ")<BR>Contact No. : " + response.getElementsByTagName('FacContactNo1')[f].childNodes[0].nodeValue;

					if (response.getElementsByTagName('FacContactNo2')[f].childNodes[0].nodeValue != "-")
					{
						facInfos += " | " + response.getElementsByTagName('FacContactNo2')[f].childNodes[0].nodeValue;
					}
					if (response.getElementsByTagName('FacContactNo3')[f].childNodes[0].nodeValue != "-")
					{
						facInfos += " | " + response.getElementsByTagName('FacContactNo3')[f].childNodes[0].nodeValue;
					}	

					var lati = response.getElementsByTagName('Latitude')[f].childNodes[0].nodeValue;
					var longi = response.getElementsByTagName('Longitude')[f].childNodes[0].nodeValue;
					var im = response.getElementsByTagName('FacImage')[f].childNodes[0].nodeValue;
					var tp = response.getElementsByTagName('FacType')[f].childNodes[0].nodeValue;
					if (response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue == "1")
					{
						if (response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue != "-")
						{
							first += "<tr><td align='center'><font face=tahoma size=1>" + response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue + "" + response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue + "</font></td>";
						}
						else
						{
							first += "<tr><td align='center'></td>";
						}	
						first += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap2(\""+facInfos+"\",\""+lati+"\",\""+longi+"\",\""+im+"\",\""+tp+"\")'>" + response.getElementsByTagName('FacName')[f].childNodes[0].nodeValue + "</a></font></td></tr>";
					}
					else if (response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue == "2")
					{
						if (response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue != "-")
						{
							second += "<tr><td align='center'><font face=tahoma size=1>" + response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue + "" + response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue + "</font></td>";
						}
						else
						{
							second += "<tr><td align='center'></td>";
						}	
						second += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap2(\""+facInfos+"\",\""+lati+"\",\""+longi+"\",\""+im+"\",\""+tp+"\")'>" + response.getElementsByTagName('FacName')[f].childNodes[0].nodeValue + "</a></font></td></tr>";
					}
					else if (response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue == "3")
					{
						if (response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue != "-")
						{
							third += "<tr><td align='center'><font face=tahoma size=1>" + response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue + "" + response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue + "</font></td>";
						}
						else
						{
							third += "<tr><td align='center'></td>";
						}	
						third += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap2(\""+facInfos+"\",\""+lati+"\",\""+longi+"\",\""+im+"\",\""+tp+"\")'>" + response.getElementsByTagName('FacName')[f].childNodes[0].nodeValue + "</a></font></td></tr>";
					}
					else if (response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue == "4")
					{
						if (response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue != "-")
						{
							forth += "<tr><td align='center'><font face=tahoma size=1>" + response.getElementsByTagName('FacDivision')[f].childNodes[0].nodeValue + "" + response.getElementsByTagName('FacDivDetails')[f].childNodes[0].nodeValue + "</font></td>";
						}
						else
						{
							forth += "<tr><td align='center'></td>";
						}	
						forth += "<td align='left'><font face=tahoma size=1><a href='#' onClick='seeMap2(\""+facInfos+"\",\""+lati+"\",\""+longi+"\",\""+im+"\",\""+tp+"\")'>" + response.getElementsByTagName('FacName')[f].childNodes[0].nodeValue + "</a></font></td></tr>";
					}				
					
				}
				first += "</table>";
				second += "</table>";
				third += "</table>";
				forth += "</table>";

				display += "<tr><td width='2' bgcolor='#FFCC00'></td><td valign='top'>"+first+"</td><td width='8'></td><td width='2' bgcolor='#003399'></td><td valign='top'>"+second+"</td><td width='8'></td><td width='2' bgcolor='#006F2F'></td><td valign='top'>"+third+"</td><td width='8'></td><td width='2' bgcolor='#D3312F'></td><td valign='top'>"+forth+"</td></tr></table>";
				document.getElementById("facList").innerHTML = display;
			}
	  }
	}
  }

  function seeMap2(tooltipInfo,lt,ln,im,tp)
  {	
	var sortedDetail = tooltipInfo.replace(/#/g,"%23");
	var sortedDetail2 = sortedDetail.replace(/&/g,"%26");
	//var sortedDetail3 = sortedDetail2.replace("'","%27");
	document.getElementById("mapFrame2").style.height = 716 +"px";
	document.getElementById("mapFrame2").src = "SCDFMap2.php?latitude="+lt+"&longitude="+ln+"&image="+im+"&detail="+sortedDetail2+"&type="+tp+"&mode=normal&publicTrans=-&x2f="+ln+"&y2f="+lt+"&imgf="+im+"&detf="+sortedDetail2;
	document.getElementById("mapFrame2").style.display = "block";
	//document.getElementById("mapFrame").src = "#";
	document.getElementById("mapFrame").style.display = "none";
	document.getElementById("facList").innerHTML = "";
	document.getElementById("legendIcon").innerHTML = "";
  }
var rnx2;
  var rny2;
  var rnx2f;
  var rny2f;
  var rndet;
  var rndetf;
  var rnimg;
  var rnmode;

  function showRouteStart(startDet,bldgNames,x1s,y1s,startKey,endKey,pgs,pgSet,RT,total,imgf,px2,py2,px2f,py2f,pdet,pdetf,modeV)
  {
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";

		rnx2 = px2;
		rny2 = py2;
		rnx2f = px2f;
		rny2f = py2f;
		rndet = pdet;
		rndetf = pdetf;
		rnimg = imgf;
		rnmode = modeV;

		//var sortedDetail = unescape(desti);
		//var sortedDetail2 = sortedDetail.replace(/<BR>/g,". ");
		var noOfPages = Math.round(parseInt(total) / 10);
		//alert(pgSet);
		var totalPageSet = (Math.round(noOfPages / 12));

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+RT+" driving/walking direction <i>From</i></td></tr></table><br><font face=tahoma size=2>Search Result " + ((parseInt(pgs) * 10) + 1) +" to " + ((parseInt(pgs) + 1) * 10) + "</font>";

		
		var pgidx = ((parseInt(pgSet) + 1) * 12) + 1;
		var pgLeft = noOfPages - (parseInt(pgSet) * 12);

		if (noOfPages <= 12)
		{
			var pgidx = noOfPages + 1;
		}
		else if (pgLeft <= 12)
		{
			var pgidx = noOfPages + 1;
		}

		var startPgNo = (parseInt(pgSet) * 12) + 1;

		//echo $startPgNo;
		//echo $pgidx;

		var paging ="";
		var pp=1;
		for (var p=startPgNo;p<pgidx ;p++ )
		{
			var pageval = 0;

			if (p > 1)
			{
				pageval = p - 1;
			}
			if (paging =="")
			{
				paging += "<a href='#' onClick='parent.startRoutingL2(\""+RT+"\",\""+pageval+"\",\""+pgSet+"\",\""+startKey+"\",\""+endKey+"\")'>" + p + "</a>";
			}
			else
			{
				paging += " | <a href='#' onClick='parent.startRoutingL2(\""+RT+"\",\""+pageval+"\",\""+pgSet+"\",\""+startKey+"\",\""+endKey+"\")'>" + p + "</a>";
			}
		}

		if (totalPageSet > 1 && (parseInt(pgSet) != totalPageSet -1))
		{
			var nxtpgset = parseInt(pgSet) + 1;
			var currpg = (parseInt(nxtpgset) * 12) + 1;
			paging += " - <a href='#' onClick='parent.startRoutingL2(\""+RT+"\",\""+currpg+"\",\""+nxtpgset+"\",\""+startKey+"\",\""+endKey+"\")'>Next Page Set</a>";
		}
		var prevBtn = "";
		if (parseInt(pgSet) >= 1)
		{
			var prvpgset = parseInt(pgSet) - 1;
			var currpg = (prvpgset * 12) + 1;
			prevBtn = "<a href='#' onClick='parent.startRoutingL2(\""+RT+"\",\""+currpg+"\",\""+prvpgset+"\",\""+startKey+"\",\""+endKey+"\")'>Prev Page Set</a> - ";
		}
		
		var finPg = prevBtn + "" + paging;

		display1 += "<br><font face=tahoma size=2>"+finPg+"</font>";
		display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.seeRouteMapNew(\""+py2+"\",\""+px2+"\",\""+pdet+"\",\""+modeV+"\",\""+px2f+"\",\""+py2f+"\",\""+imgf+"\",\""+pdetf+"\")'><b>Back</b></a></font></td></tr></table>";	

		var display2 = "<table width='735' border=1 bordercolor='black'><tr bgcolor='#663300'><td align='center'><font face=tahoma size=2 color='white'><b>Building Name</b></font></td><td align='center'><font face=tahoma size=2 color='white'><b>Address</b></font></td><td align='center'><font face=tahoma size=2><b>&nbsp;</b></font></td></tr>";
		var startBldgs = bldgNames.split("~");
		var startRouteX = x1s.split("~");
		var startRouteY = y1s.split("~");
		var startRouteList = startDet.split("~");	
		
		for (var v=0;v<startRouteX.length;v++)
		{
			display2 += "<tr><td width='250' valign='top'><font face=tahoma size=2>"+startBldgs[v]+"</font></td><td valign='top'><font face=tahoma size=2>"+unescape(startRouteList[v])+"</font></td><td valign='top'><font face=tahoma size=2><a href='#' onClick='parent.startRoutingEnd(\""+startRouteX[v]+"\",\""+startRouteY[v]+"\",\""+startRouteList[v]+"\",\""+RT+"\",\""+endKey+"\")'>Select as Start</a></font></td></tr>";
		}		

		display2 += "</table>";

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "<BR>" + display2 + "</center>";
		document.getElementById("topBanner").style.height = 650 +"px";
  }

  function showRouteEnd(endDet,bldgNames,x2s,y2s,endKey,pgs,pgSet,RT,total,orig,pointa,pointb,imgf,px2,py2,px2f,py2f,pdet,pdetf,modeV)
  {
		parent.document.getElementById("mapFrame2").src = "dummy.html";
		parent.document.getElementById("mapFrame2").style.display = "none";

		rnx2 = px2;
		rny2 = py2;
		rnx2f = px2f;
		rny2f = py2f;
		rndet = pdet;
		rndetf = pdetf;
		rnimg = imgf;
		rnmode = modeV;

		//alert(orig);

		var sortedDetail = unescape(orig);
		var sortedDetail2 = sortedDetail.replace(/<BR>/g,". ");
		var noOfPages = Math.round(parseInt(total) / 10);
		//alert(pgSet);
		var totalPageSet = (Math.round(noOfPages / 12));

		var display1 = "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='center'><font face='tahoma' size='2'>"+RT+" driving/walking direction <i>From</i></td></tr><tr><td align='center'><font face='tahoma' size='2'>"+sortedDetail2+" <br>to<br></font></td></tr></table><br><font face=tahoma size=2>Search Result " + ((parseInt(pgs) * 10) + 1) +" to " + ((parseInt(pgs) + 1) * 10) + "</font>";

		
		var pgidx = ((parseInt(pgSet) + 1) * 12) + 1;
		var pgLeft = noOfPages - (parseInt(pgSet) * 12);

		if (noOfPages <= 12)
		{
			var pgidx = noOfPages + 1;
		}
		else if (pgLeft <= 12)
		{
			var pgidx = noOfPages + 1;
		}

		var startPgNo = (parseInt(pgSet) * 12) + 1;

		//echo $startPgNo;
		//echo $pgidx;

		var paging ="";
		var pp=1;
		for (var p=startPgNo;p<pgidx ;p++ )
		{
			var pageval = 0;

			if (p > 1)
			{
				pageval = p - 1;
			}
			if (paging =="")
			{				
				paging += "<a href='#' onClick='parent.startRoutingL3(\""+pointa+"\",\""+pointb+"\",\""+escape(orig)+"\",\""+RT+"\",\""+pageval+"\",\""+pgSet+"\",\""+endKey+"\")'>" + p + "</a>";
				//startRoutingL3(pointa,pointb,orig,rt,pg,pgS)
			}
			else
			{
				paging += " | <a href='#' onClick='parent.startRoutingL3(\""+pointa+"\",\""+pointb+"\",\""+escape(orig)+"\",\""+RT+"\",\""+pageval+"\",\""+pgSet+"\",\""+endKey+"\")'>" + p + "</a>";
			}
		}

		if (totalPageSet > 1 && (parseInt(pgSet) != totalPageSet -1))
		{
			var nxtpgset = parseInt(pgSet) + 1;
			var currpg = (parseInt(nxtpgset) * 12) + 1;
			paging += " - <a href='#' onClick='parent.startRoutingL3(\""+pointa+"\",\""+pointb+"\",\""+escape(orig)+"\",\""+RT+"\",\""+pageval+"\",\""+pgSet+"\",\""+endKey+"\")'>Next Page Set</a>";
		}
		var prevBtn = "";
		if (parseInt(pgSet) >= 1)
		{
			var prvpgset = parseInt(pgSet) - 1;
			var currpg = (prvpgset * 12) + 1;
			prevBtn = "<a href='#' onClick='parent.startRoutingL3(\""+pointa+"\",\""+pointb+"\",\""+escape(orig)+"\",\""+RT+"\",\""+pageval+"\",\""+pgSet+"\",\""+endKey+"\")'>Prev Page Set</a> - ";
		}
		
		var finPg = prevBtn + "" + paging;

		display1 += "<br><font face=tahoma size=2>"+finPg+"</font>";
		display1 += "<table width='735' cellpadding='0' cellspacing='0'><tr><td align='right'><font face='tahoma' size='2'><a href='#' onClick='parent.seeRouteMapNew(\""+py2+"\",\""+px2+"\",\""+pdet+"\",\""+modeV+"\",\""+px2f+"\",\""+py2f+"\",\""+imgf+"\",\""+pdetf+"\")'><b>Back</b></a></font></td></tr></table>";	

		var display2 = "<table width='735' border=1 bordercolor='black'><tr bgcolor='#663300'><td align='center'><font face=tahoma size=2 color='white'><b>Building Name</b></font></td><td align='center'><font face=tahoma size=2 color='white'><b>Address</b></font></td><td align='center'><font face=tahoma size=2><b>&nbsp;</b></font></td></tr>";
		var startBldgs = bldgNames.split("~");
		var startRouteX = x2s.split("~");
		var startRouteY = y2s.split("~");
		var startRouteList = endDet.split("~");	
		
		for (var v=0;v<startRouteX.length;v++)
		{
			display2 += "<tr><td width='250' valign='top'><font face=tahoma size=2>"+startBldgs[v]+"</font></td><td valign='top'><font face=tahoma size=2>"+unescape(startRouteList[v])+"</font></td><td valign='top'><font face=tahoma size=2><a href='#' onClick='parent.startRouting2(\""+pointa+"\",\""+pointb+"\",\""+startRouteX[v]+"\",\""+startRouteY[v]+"\",\""+orig+"\",\""+startRouteList[v]+"\",\""+RT+"\")'>Select as End</a></font></td></tr>";
		}		

		display2 += "</table>";

		parent.topBanner.document.getElementById("detail").innerHTML = "<center>" + display1 + "<BR>" + display2 + "</center>";
		document.getElementById("topBanner").style.height = 650 +"px";
  }

  function startRoutingL2(rt,pg,pgS,srKey,stKey)
  {
	  var url = "http://cd.can.com.sg/mapguide/SCDFMap/routingProcessL2.php?x2=-&y2=-&x1=-&y1=-&routeType="+rt+"&dest=-&orig=-&page="+pg+"&pageSet="+pgS+"&startkeywords="+srKey+"&endkeywords="+stKey;
	  //alert(url);
	  if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processRouteL2;
			req.open("GET", url, true);
			req.send(null);
		// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processRouteL2;
				req.open("GET", url, true);
				req.send();
			}
		}
  }

  function processRouteL2() 
  {			
	if (req.readyState == 4)
	{ // Complete
	  if (req.status == 200) 
	  { 		  
			var response = req.responseXML.documentElement;	
			
			var RT = response.getElementsByTagName("routeType")[0].childNodes[0].nodeValue;
			var totalResult = response.getElementsByTagName("totalStartDetail")[0].childNodes[0].nodeValue;

			//alert(totalResult);
			var searchStatus = response.getElementsByTagName("routingStatus")[0].childNodes[0].nodeValue;
			var cPage = response.getElementsByTagName("page")[0].childNodes[0].nodeValue;
			var cPageSet = response.getElementsByTagName("pageSet")[0].childNodes[0].nodeValue;
			var endK = response.getElementsByTagName("endKeywords")[0].childNodes[0].nodeValue;
			var startK = response.getElementsByTagName("startKeywords")[0].childNodes[0].nodeValue;
			//alert(totalResult);
						
			if (parseInt(totalResult) > 1 && searchStatus == "success")
			{
				//alert("hello");
				var startDests = new Array();
				var startX1s = new Array();
				var startY1s = new Array();
				var bldgNames = new Array();
				var x2 = response.getElementsByTagName("x2")[0].childNodes[0].nodeValue;
				var y2 = response.getElementsByTagName("y2")[0].childNodes[0].nodeValue;
				
				//var key = response.getElementsByTagName("keywords")[0].childNodes[0].nodeValue;

				var tot = response.getElementsByTagName("startResult").length;

				for (var t=0;t<parseInt(tot) ;t++ )
				{
					startDests[t] = response.getElementsByTagName("startDetail")[t].childNodes[0].nodeValue;
					startX1s[t] = response.getElementsByTagName("x1")[t].childNodes[0].nodeValue;
					startY1s[t] = response.getElementsByTagName("y1")[t].childNodes[0].nodeValue;
					bldgNames[t] = response.getElementsByTagName("TradeName")[t].childNodes[0].nodeValue;
				}
				showRouteStart(startDests.join("~"),bldgNames.join("~"),startX1s.join("~"),startY1s.join("~"),startK,endK,cPage,cPageSet,RT,totalResult,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode);
			}
			else
			{
				showNoRoute("-",RT,dest,searchStatus,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode,"-","2");
				//showNoRoute("-",RT,dest,searchStatus);
				//showNoRoute(origin,RT,dest,searchStatus);
			}
			
			
			//alert(searchStatus);

			//parent.showVicinity(tradeName,blkNo,roadName,distances,postalCode,method);
	  }
	}
  }

  function startRoutingL3(pointa,pointb,orig,rt,pg,pgS,stKey)
  {
	  var url = "http://cd.can.com.sg/mapguide/SCDFMap/routingProcessL2.php?x2=-&y2=-&x1="+pointa+"&y1="+pointb+"&routeType="+rt+"&dest=-&orig="+orig+"&page="+pg+"&pageSet="+pgS+"&startkeywords=-&endkeywords="+stKey;
	  //alert(url);
	  
	  if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processRouteL3;
			req.open("GET", url, true);
			req.send(null);
		// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processRouteL3;
				req.open("GET", url, true);
				req.send();
			}
		}		
  }

  function processRouteL3() 
  {			
	if (req.readyState == 4)
	{ // Complete
	  if (req.status == 200) 
	  { 		  
			var response = req.responseXML.documentElement;	
			
			var RT = response.getElementsByTagName("routeType")[0].childNodes[0].nodeValue;
			var totalResult = response.getElementsByTagName("totalEndDetail")[0].childNodes[0].nodeValue;

			//alert(totalResult);
			var searchStatus = response.getElementsByTagName("routingStatus")[0].childNodes[0].nodeValue;
			var cPage = response.getElementsByTagName("page")[0].childNodes[0].nodeValue;
			var cPageSet = response.getElementsByTagName("pageSet")[0].childNodes[0].nodeValue;
			var endK = response.getElementsByTagName("endKeywords")[0].childNodes[0].nodeValue;
			var startDet = response.getElementsByTagName("startDetail")[0].childNodes[0].nodeValue;
			//alert(totalResult);
						
			if (parseInt(totalResult) > 1 && searchStatus == "success")
			{
				//alert("hello");
				var startDests = new Array();
				var startX1s = new Array();
				var startY1s = new Array();
				var bldgNames = new Array();
				var x1s = response.getElementsByTagName("x1")[0].childNodes[0].nodeValue;
				var y1s = response.getElementsByTagName("y1")[0].childNodes[0].nodeValue;
				
				//var key = response.getElementsByTagName("keywords")[0].childNodes[0].nodeValue;

				var tot = response.getElementsByTagName("endResult").length;

				for (var t=0;t<parseInt(tot) ;t++ )
				{
					startDests[t] = response.getElementsByTagName("endDetail")[t].childNodes[0].nodeValue;
					startX1s[t] = response.getElementsByTagName("x2")[t].childNodes[0].nodeValue;
					startY1s[t] = response.getElementsByTagName("y2")[t].childNodes[0].nodeValue;
					bldgNames[t] = response.getElementsByTagName("TradeName")[t].childNodes[0].nodeValue;
				}
				 
				showRouteEnd(startDests.join("~"),bldgNames.join("~"),startX1s.join("~"),startY1s.join("~"),endK,cPage,cPageSet,RT,totalResult,startDet,x1s,y1s,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode);
				//showRouteStart(startDests.join("~"),bldgNames.join("~"),startX1s.join("~"),startY1s.join("~"),startK,endK,cPage,cPageSet,RT,totalResult);
			}
			else
			{	
				showNoRoute(startDet,RT,"-",searchStatus,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode,"-","2");
				//showNoRoute(startDet,RT,"-",searchStatus);
				//showNoRoute(origin,RT,dest,searchStatus);
			}
			
			
			//alert(searchStatus);

			//parent.showVicinity(tradeName,blkNo,roadName,distances,postalCode,method);
	  }
	}
  }

  function startRoutingEnd(pointa,pointb,stt,rt,endKey)
  {
	var subKey = endKey.split("~");
	var url = "http://cd.can.com.sg/mapguide/SCDFMap/routingProcess3.php?x1="+pointa+"&y1="+pointb+"&startDetail="+stt+"&routeType="+rt+"&endPostOrBldg="+subKey[0]+"&endUnitNo="+subKey[1]+"&endStreet="+subKey[2];

	//alert(url);

	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processRouteE;
		req.open("GET", url, true);
		req.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processRouteE;
			req.open("GET", url, true);
			req.send();
		}
	}
	
}

function processRouteE() 
{			
	if (req.readyState == 4)
	{ // Complete
	  if (req.status == 200) 
	  { 		  
			var response = req.responseXML.documentElement;	
			
			var RT = response.getElementsByTagName("routeType")[0].childNodes[0].nodeValue;
			
			var totalEndResult = response.getElementsByTagName("totalEndDetail")[0].childNodes[0].nodeValue;
			//alert(totalEndResult);
			var searchStatus = response.getElementsByTagName("routingStatus")[0].childNodes[0].nodeValue;
			
			//var dest = response.getElementsByTagName("endDetail")[0].childNodes[0].nodeValue;
			//alert(totalResult);
						
			if (searchStatus == "success" && parseInt(totalEndResult) == 1)
			{					
				var origin = response.getElementsByTagName("startDetail")[0].childNodes[0].nodeValue;
				var dest = response.getElementsByTagName("endDetail")[0].childNodes[0].nodeValue;
				var totalDist = response.getElementsByTagName("totalDist")[0].childNodes[0].nodeValue;
				var totalTime = response.getElementsByTagName("totalTime")[0].childNodes[0].nodeValue;
				var method = response.getElementsByTagName("Directions").length;
				var x1 = response.getElementsByTagName("x1")[0].childNodes[0].nodeValue;
				var y1 = response.getElementsByTagName("y1")[0].childNodes[0].nodeValue;
				var x2 = response.getElementsByTagName("x2")[0].childNodes[0].nodeValue;
				var y2 = response.getElementsByTagName("y2")[0].childNodes[0].nodeValue;

				var instruction = new Array();
				var direction = new Array();
				var rd = new Array();
				var distan = new Array();
				var coordinates = response.getElementsByTagName('Points')[0].childNodes[0].nodeValue;

				if (parseInt(method) > 0)
				{
					for (var r=0;r<parseInt(method);r++)
					{
						instruction[r] = response.getElementsByTagName('Instruction')[r].childNodes[0].nodeValue;
						direction[r] = response.getElementsByTagName('Direction')[r].childNodes[0].nodeValue;
						rd[r] = response.getElementsByTagName('Road')[r].childNodes[0].nodeValue;
						distan[r] = response.getElementsByTagName('Distance')[r].childNodes[0].nodeValue;
						//coordinates[r] = response.getElementsByTagName('Points')[r].childNodes[0].nodeValue;
					}
				}

				//alert(coordinates.join("~"));

				showRouteNew(instruction,direction,rd,distan,origin,RT,dest,totalDist,totalTime,x1,y1,x2,y2,coordinates,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode);
			}
			
			else if (parseInt(totalEndResult) > 1)
			{
				//alert("hello");
				var startDests = new Array();
				var startX1s = new Array();
				var startY1s = new Array();
				var bldgNames = new Array();
				var x1s = response.getElementsByTagName("x1")[0].childNodes[0].nodeValue;
				var y1s = response.getElementsByTagName("y1")[0].childNodes[0].nodeValue;
				var endKey = response.getElementsByTagName("endKeywords")[0].childNodes[0].nodeValue;
				var startDet = response.getElementsByTagName("startDetail")[0].childNodes[0].nodeValue;
				var totalEnd = response.getElementsByTagName("totalEndDetail")[0].childNodes[0].nodeValue;

				var tot = response.getElementsByTagName("endResult").length;

				for (var t=0;t<parseInt(tot) ;t++ )
				{
					startDests[t] = response.getElementsByTagName("endDetail")[t].childNodes[0].nodeValue;
					startX1s[t] = response.getElementsByTagName("x2")[t].childNodes[0].nodeValue;
					startY1s[t] = response.getElementsByTagName("y2")[t].childNodes[0].nodeValue;
					bldgNames[t] = response.getElementsByTagName("TradeName")[t].childNodes[0].nodeValue;
				}
				showRouteEnd(startDests.join("~"),bldgNames.join("~"),startX1s.join("~"),startY1s.join("~"),endKey,"0","0",RT,totalEnd,startDet,x1s,y1s,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode);

				//showRouteEnd(startDests.join("~"),bldgNames.join("~"),startX1s.join("~"),startY1s.join("~"),endKey,"0","0",RT,totalEnd,startDet,x1s,y1s)
				//alert("end");
			}
			else
			{
				showNoRoute(startDet,RT,dest,searchStatus,rnimg,rnx2,rny2,rnx2f,rny2f,rndet,rndetf,rnmode,"-","2");
				//parent.showNoRoute("-",RT,dest,searchStatus);
			}
			
			
			//alert(searchStatus);

			//parent.showVicinity(tradeName,blkNo,roadName,distances,postalCode,method);
	  }
	}
}