//RegisterNamespaces("Msn.VE");
//RegisterNamespaces("Msn.VE.Features");
//RegisterNamespaces("Msn.VE.Features.MenuOption");
//RegisterNamespaces("Msn.VE.API.vemapinstances");
//Msn.VE.API.vemapinstances=true;
function RegisterNamespaces()
{
	for(var a=0;a<arguments.length;a++)
	{
		var gV=arguments[a].split(".");
		var gO=window;
		for(var Y=0;Y<gV.length;Y++)
		{
			if(!gO[gV[Y]])
			{
				gO[gV[Y]]=new Object();
			}
			gO=gO[gV[Y]];
		}
	}
}
	
var L_SearchPopupDriveFrom_Text="Drive from...";
var L_SearchPopupDriveTo_Text="Drive to...";
var L_Or_Text="or";
var L_AtWindowsLiveLocal_Text="%1 at %2";
var L_SearchPopupEmailAFriend_Text="E-mail";
var L_SearchPopupDetails_Text="Details";
var L_SearchPopupMakeReservations_Text="Make Reservations";
var L_SearchPopupZoomToStreetLevel_Text="Zoom to street level";

var routeStart = null;
var routeEnd = null;
var countryDS = "";
var currRoute = null;
var currUrls = null;
var originParams = "";

function VE_ContextMenu(){}
VE_ContextMenu.RegionZoomLevel=6;
VE_ContextMenu.CityZoomLevel=10;
VE_ContextMenu.StreetZoomLevel=13;
VE_SearchManager.LatLong = null;
VE_SearchManager.cityResults = null;
VE_SearchManager.proxResults = null;
VE_SearchManager.bidResults = null;
VE_SearchManager.naicsResults = null;

/*function MapSetCenterAndZoom(zA,AA){
	VEMap.ValidateState();
	try{
		VEValidator.ValidateInt(AA,"zoomLevel");
		var veLatLongDecoded=m_veLatLongDecoder.Decode(zA);
		VE_Analytics.LogAPI("VE | APIs","VEMap - SetCenterAndZoom");
		return map.vemapcontrol.SetCenterAndZoom(veLatLongDecoded.Latitude,veLatLongDecoded.Longitude,AA);
		
	}catch(ex)
	{throw ex;return;}
};*/

//this.IncludePointInView=function(BA){VEMap.ValidateState();try{VEValidator.ValidateObject(BA,"veLatLong",VELatLong,"VELatLong");var veLatLongDecoded=m_veLatLongDecoder.Decode(BA);VE_Analytics.LogAPI("VE | APIs","VEMap - IncludePointInView");return this.vemapcontrol.IncludePointInViewport(veLatLongDecoded.Latitude,veLatLongDecoded.Longitude);}catch(ex){throw ex;return;}};this.LatLongToPixel=function(CA,DA){VEMap.ValidateState();try{VEValidator.ValidateObject(CA,"veLatLong",VELatLong,"VELatLong");var veLatLongDecoded=m_veLatLongDecoder.Decode(CA);var latlong=new Msn.VE.LatLong(veLatLongDecoded.Latitude,veLatLongDecoded.Longitude);VE_Analytics.LogAPI("VE | APIs","VEMap - LatLongToPixel");return this.vemapcontrol.LatLongToPixel(latlong,DA);}catch(ex){throw ex;return;}};this.PanToLatLong=function(EA){VEMap.ValidateState();try{VEValidator.ValidateObject(EA,"veLatLong",VELatLong,"VELatLong");var veLatLongDecoded=m_veLatLongDecoder.Decode(EA);VE_Analytics.LogAPI("VE | APIs","VEMap - PanToLatLong");return this.vemapcontrol.PanToLatLong(veLatLongDecoded.Latitude,veLatLongDecoded.Longitude);}catch(ex){throw ex;return;}};this.SetMapView=function(FA){VEMap.ValidateState();try{VEValidator.ValidateNonNull(FA,"arrObject");var llArray=new Array();if(VELatLongRectangle.prototype.isPrototypeOf(FA)){var ll=new Object();ll.latitude=FA.TopLeftLatLong.Latitude;ll.longitude=FA.TopLeftLatLong.Longitude;llArray.push(ll);var ll=new Object();ll.latitude=FA.BottomRightLatLong.Latitude;ll.longitude=FA.BottomRightLatLong.Longitude;llArray.push(ll);}else{VEValidator.ValidateNonNull(FA[0],"arrObject[0]");if(VELatLong.prototype.isPrototypeOf(FA[0]))for(var i=0;i<FA.length;i++){var veLatLongDecoded=m_veLatLongDecoder.Decode(FA[i]);var ll=new Object();ll.latitude=veLatLongDecoded.Latitude;ll.longitude=veLatLongDecoded.Longitude;llArray.push(ll);}else{if(VEPolyline.prototype.isPrototypeOf(FA[0]))for(var i=0;i<FA.length;i++){var vePolyline=FA[i];var polyLatLongs=vePolyline.GetLatLongs();for(var j=0;j<polyLatLongs.length;j++){var ll=new Object();ll.latitude=polyLatLongs[j].Latitude;ll.longitude=polyLatLongs[j].Longitude;llArray.push(ll);}}}}VE_Analytics.LogAPI("VE | APIs","VEMap - SetMapView");return this.vemapcontrol.SetBestMapView(llArray);}catch(ex){throw ex;return;}};

VE_SearchManager.SetCenterAndZoom=function(mb){
	map.SetCenterAndZoom( new VELatLong( VE_SearchManager.LatLong.latitude, VE_SearchManager.LatLong.longitude ), mb );
};

function ApplyBIDResultsMWS( b ) {
//	var m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(this.m_vemap));
//	VEMap.ValidateState();
	var searchContainer=null;
	var bidResults = new Array();
	var locs = new Array();
	if( b!=null ) {

try{
var hotels = new Array();

		for(var i=0;i<b.length;i++){
		//	var findResult=new VEFindResult(b[i].id,b[i].name,b[i].description,m_veLatLongFactory.CreateVELatLong(b[i].latitude,b[i].longitude),false);
			locs.push( new VELatLong( parseFloat(b[i].latitude),parseFloat( b[i].longitude) ) );
			bidResults.push(b[i]);
			
			//if(searchContainer!=null)
			//	searchContainer.appendChild(VE_SearchManager.CreateSearchResultElement(b[i]));
			
				/*var pushpin=new VEPushpin(b[i].id,m_veLatLongFactory.CreateVELatLong(b[i].latitude,b[i].longitude),null,b[i].name,b[i].description,b[i].type);
				this.m_vemap.AddPushpin(pushpin);*/
				var curResult = b[i];
				if(i==0)
					originHotel=curResult;
				
					var id = "";
					
					if(curResult.id<=9999)
						id = "0"+curResult.id;
					else
						id = curResult.id;
					
					var body = escape(curResult.name+"%0A"+(curResult.description).replace(/<BR>/gi,", ")+"%0A"+GetUrlPrefixBW()+"?BID="+id+"%0A%0A");
					var description = curResult.description;
					description+="<br><br><a href = \"mailto:?subject="+curResult.name+"&body="+body+"\" onclick = \"VE_Analytics.Log('VE | Push Pin Popup', 'Email');\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupEmailAFriend_Text+"</a>";
					description+="<br><a class=\"VE_Panel_sublink\" href=\"javascript:void(0)\" onclick=\"map.SetCenterAndZoom(new VELatLong("+curResult.latitude+","+curResult.longitude+"),13)\">"+L_SearchPopupZoomToStreetLevel_Text+"</a>";
					description+="<br><a href = \""+GetDetailsUrlPrefix()+"?propertyCode="+id+"\" class = \"VE_Panel_sublink\" target=\"_top\" oncontextmenu = \"return false;\">"+L_SearchPopupDetails_Text+"</a>";
					description+="<br><a href = \""+GetReservationsUrlPrefix()+"?propertyCode="+id+"\" class = \"VE_Panel_sublink\" target=\"_top\" oncontextmenu = \"return false;\">"+L_SearchPopupMakeReservations_Text+"</a>";

					//var icon = "<img src='"+GetBaseURLPrefix()+"images/bwIcon.gif'/><span STYLE='position:absolute; top:0px; left:0px; width:25px; height:25px; font-size:12; fontWeight:bold; fontFamily:Aerial; color:white; text-align:center;'>"+(i+1)+"</span>";
					var icon;
			
					if(i<65)
					{
						icon = new VECustomIconSpecification();
						icon.TextContent = " ";
						icon.Image = GetBaseURLPrefix()+"images/bwIcon"+(i+1)+".gif";
						//icon.ImageOffset = new VEPixel(-2,-23); //relative to the default (13,13)
					}
					else
						icon = "<img src='"+GetBaseURLPrefix()+"images/bwIcon.gif'/><span STYLE='position:absolute; top:16px; left:0px; width:23px; height:25px; font-size:12; fontWeight:bold; fontFamily:Aerial; color:black; text-align:center;'>"+(i+1)+"</span>";
						
					//var pushpin=new VEShape(VEShapeType.Pushpin,new VELatLong(Number(curResult.latitude),Number(curResult.longitude)));
					//var pushpin=new VEShape(VEShapeType.Pushpin,new VELatLong(parseFloat(curResult.latitude),parseFloat(curResult.longitude)));
					//pushpin.SetTitle(curResult.name);
					//pushpin.SetCustomIcon(icon);
					//pushpin.SetDescription(description);
					
					var data = {"name":curResult.name,"icon":icon,"description":description,"latitude":curResult.latitude,"longitude":curResult.longitude};
					hotels.push(data);
					//hotelLayer.AddShape(pushpin);				
		}
		
		if(map==null)
			CalculateMapView(hotels,locs);
	//	else
	//	{
		//	hotelLayer.AddShape(hotels);

			//if(locs.length>1)
		//		map.SetMapView( locs );
		//	else 
		//	{
		//		map.SetCenterAndZoom(locs[0],VE_ContextMenu.StreetZoomLevel);
		//	}
		//}
		}
			catch(err){
			alert(err);
			}
	}
	//LandmarksClick();
/*Landmark display NEW
	if(locs.length==1)
	{
		var landmarkEl = document.getElementById( "chkLandmarks" );
		
		if(!landmarkEl.checked)
			landmarkEl.checked=true;
		
		ShowLandmarks( map.GetCenter().Latitude, map.GetCenter().Longitude );
		polygonLayer.AddShape(generateCircle(map.GetCenter(), searchRadius));
	}*/
}

function ApplyResultsMWS(a,b,c,d,e,f,g,h,i){
	//var m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(this.m_vemap));
	//VEMap.ValidateState();
	var cityResults=new Array();
	var proxResults=new Array();
	var searchContainer=null;
	var locs = new Array();
	//if(!Msn.VE.API.Globals.veiscommercialcontrol){
		//if(map._sm.m_vemap.searchelement!=null){
		//	searchContainer=document.getElementById(map._sm.m_vemap.searchelement);
		//	searchContainer.innerHTML="";
		//}
		if( b!=null || c!=null) {
			var numShown = 0;
			if( b!=null ) {
				for(var i=0;i<b.length;i++){
					//var findResult=new VEFindResult(b[i].id,b[i].name,b[i].description,new VELatLong(b[i].latitude,b[i].longitude),false);
					cityResults.push(b[i]);
					//if(searchContainer!=null)
					//	searchContainer.appendChild(VE_SearchManager.CreateSearchResultElement(b[i]));
				}
			}
			if( c!=null ) {
				for(var i=0;i<c.length;i++){
					//var findResult=new VEFindResult(c[i].id,c[i].name,c[i].description,new VELatLong(c[i].latitude,c[i].longitude),false)
					proxResults.push(c[i]);
				//	if(searchContainer!=null)
					//	searchContainer.appendChild(VE_SearchManager.CreateSearchResultElement(c[i]));
				}
			}
			VE_SearchManager.cityResults = cityResults;
			VE_SearchManager.proxResults = proxResults;
			UpdateResultsGrid( cityResults, proxResults, 0 );
		}
		//if(e!=null&&e!="undefined"&&e.length!=0)
		//	map._sm.m_vemap.ShowMessage(e);
	//}
	ShowMapAndResults();
	
	//if(b.length==1)
	//{
	//	LandmarksClick();
	//}
};

function ApplyRouteResultsMWS(a,b,c,d,e,f,g,h,i){
	//var m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(map._sm.m_vemap));
	//VEMap.ValidateState();
	var points = new Array();
	points.push(new VELatLong(routeEnd.Latitude,routeEnd.Longitude));
	points.push(new VELatLong(routeStart.Latitude,routeStart.Longitude));
	var cityResults=new Array();
	var searchContainer=null;
	//if(!Msn.VE.API.Globals.veiscommercialcontrol){
		//if(map._sm.m_vemap.searchelement!=null){
		//	searchContainer=document.getElementById(map._sm.m_vemap.searchelement);
		//	searchContainer.innerHTML="";
		//}
		if( b!=null ) {
			for(var i=0;i<b.length;i++){
			//	var findResult=new VEFindResult(b[i].id,b[i].name,b[i].description,m_veLatLongFactory.CreateVELatLong(b[i].latitude,b[i].longitude),false);
				cityResults.push(b[i]);
			//	if(searchContainer!=null)
				//	searchContainer.appendChild(VE_SearchManager.CreateSearchResultElement(b[i]));
				try{	
				var curResult = b[i];
					/*var pushpin=new VEPushpin(b[i].id,m_veLatLongFactory.CreateVELatLong(b[i].latitude,b[i].longitude),null,b[i].name,b[i].description,b[i].type);
					map._sm.m_vemap.AddPushpin(pushpin);*/
					var pushpin=new VEShape(VEShapeType.Pushpin,new VELatLong(curResult.latitude,curResult.longitude));
					pushpin.SetTitle(curResult.name);
					
					var numid = Number(curResult.id);
					var locid = "";
					if(numid <= 9999)
						locid = "0" + numid;
					else
						locid = "" + numid;
						
					var body = escape(curResult.name+"%0A"+(curResult.description).replace(/<BR>/gi,", ")+"%0A"+GetUrlPrefixBW()+"?BID="+locid+"%0A%0A");
					var description = curResult.description;
					description+="<br><br><a href = \"mailto:?subject="+curResult.name+"&body="+body+"\" onclick = \"VE_Analytics.Log('VE | Push Pin Popup', 'Email');\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupEmailAFriend_Text+"</a>";
					description+="<br><a class=\"VE_Panel_sublink\" href=\"javascript:void(0)\" onclick=\"map.SetCenterAndZoom(new VELatLong("+curResult.latitude+","+curResult.longitude+"),"+VE_ContextMenu.StreetZoomLevel+")\">"+L_SearchPopupZoomToStreetLevel_Text+"</a>";
					description+="<br><a href = \""+GetDetailsUrlPrefix()+"?propertyCode="+locid+"\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupDetails_Text+"</a>";
					description+="<br><a href = \""+GetReservationsUrlPrefix()+"?propertyCode="+locid+"\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupMakeReservations_Text+"</a>";
					description+="<br><a class=\"VE_Panel_sublink\" href=\"javascript:void(0)\" onclick=\"ShowMultiPointRoute(new VELatLong("+curResult.latitude+","+curResult.longitude+"),'"+curResult.name+"')\">Add to route</a>"
					
					
					pushpin.SetDescription(description);
					//var icon = "<img src='"+GetBaseURLPrefix()+"images/bwIcon.gif'/><span STYLE='position:absolute; top:0px; left:0px; width:25px; height:25px; font-size:12; fontWeight:bold; fontFamily:Aerial; color:white; text-align:center;'>"+(i+1)+"</span>";
					var icon;
			
					if(i<65)
					{
						icon = new VECustomIconSpecification();
						icon.TextContent = " ";
						icon.Image = GetBaseURLPrefix()+"images/bwIcon"+(i+1)+".gif";
						//icon.ImageOffset = new VEPixel(-2,-23); //relative to the default (13,13)
					}
					else
						icon = "<img src='"+GetBaseURLPrefix()+"images/bwIcon.gif'/><span STYLE='position:absolute; top:16px; left:0px; width:23px; height:25px; font-size:12; fontWeight:bold; fontFamily:Aerial; color:black; text-align:center;'>"+(i+1)+"</span>";
						
					pushpin.SetCustomIcon(icon);
					
					hotelLayer.AddShape(pushpin);
					points.push(pushpin.GetPoints()[0]);
				}
				catch(err){}
			}
	//	}
		VE_SearchManager.cityResults = cityResults;
		UpdateRouteResultsGrid( cityResults, c );
	}
	
	if(points.length>1)
		map.SetMapView(points);
	else
		map.SetCenterAndZoom(points[0],VE_ContextMenu.StreetZoomLevel);
		
	ShowRouteAndResults();
};

function ApplyNAICSResultsMWS(a,b,c,d,e,f,g,h,i){
	//var m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(map._sm.m_vemap));
	//VEMap.ValidateState();
	var naicsResults=new Array();
	var searchContainer=null;
	//if(!Msn.VE.API.Globals.veiscommercialcontrol){
		//if(map._sm.m_vemap.searchelement!=null){
		//	searchContainer=document.getElementById(map._sm.m_vemap.searchelement);
		//	searchContainer.innerHTML="";
		//}
		if( b!=null ) {
			for(var i=0;i<b.length;i++){
				b[ i ].type = b[ i ].type + ":" + i;
				//var findResult=new VEFindResult(b[i].id,b[i].name,b[i].description,m_veLatLongFactory.CreateVELatLong(b[i].latitude,b[i].longitude),false);
				
				if(parseFloat(b[i].kms)<searchRadius)
					naicsResults.push(b[i]);
				//if(searchContainer!=null)
				//	searchContainer.appendChild(VE_SearchManager.CreateSearchResultElement(b[i]));
			}
		}
		VE_SearchManager.naicsResults = naicsResults;
		UpdateLandmarksGrid( naicsResults, 0 );
	//}
};

function ShowResultPushPins( index ) {
	//var m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(map));
	//VEMap.ValidateState();
	DeleteHotels();
	var locs = new Array();
	var startIndex = (index * 25);
	var resultCount = Math.min( VE_SearchManager.cityResults.length + VE_SearchManager.proxResults.length, (index * 25) + 25 );
	
	for( var i=resultCount-1; i>=startIndex; i-- ) //reverse pin display order, it's for overlapping pins
	//for( var i = startIndex; i < resultCount; i++ ) 
	{
		try{
			var curResult = null;
			if( i < VE_SearchManager.cityResults.length ) {
				curResult = VE_SearchManager.cityResults[ i ];
			} else {
				curResult = VE_SearchManager.proxResults[ i - VE_SearchManager.cityResults.length ];
			}
			//var pushpin=new VEPushpin(curResult.id, m_veLatLongFactory.CreateVELatLong(curResult.latitude,curResult.longitude), null, curResult.name,curResult.description,curResult.type);
			//map.AddPushpin(pushpin);

			var pushpin=new VEShape(VEShapeType.Pushpin,new VELatLong(curResult.latitude,curResult.longitude));
			//curResult.id
			pushpin.SetTitle(curResult.name);
			
			var id = "";
					
			if(curResult.id<=9999)
				id = "0"+curResult.id;
			else
				id = curResult.id;
			
			var body = escape(curResult.name+"%0A"+(curResult.description).replace(/<BR>/gi,", ")+"%0A"+GetUrlPrefixBW()+"?BID="+id+"%0A%0A");
			var description = curResult.description;
			description+="<br><br><a href = \"mailto:?subject="+curResult.name+"&body="+body+"\" onclick = \"VE_Analytics.Log('VE | Push Pin Popup', 'Email');\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupEmailAFriend_Text+"</a>";
			description+="<br><a class=\"VE_Panel_sublink\" href=\"javascript:void(0)\" onclick=\"map.SetCenterAndZoom(new VELatLong("+curResult.latitude+","+curResult.longitude+"),"+VE_ContextMenu.StreetZoomLevel+")\">"+L_SearchPopupZoomToStreetLevel_Text+"</a>";
			description+="<br><a href = \""+GetDetailsUrlPrefix()+"?propertyCode="+id+"\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupDetails_Text+"</a>";
			description+="<br><a href = \""+GetReservationsUrlPrefix()+"?propertyCode="+id+"\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupMakeReservations_Text+"</a>";
			
			
			pushpin.SetDescription(description);
			//var icon = "<img src='"+GetBaseURLPrefix()+"images/bwIcon.gif'/><span STYLE='position:absolute; top:0px; left:0px; width:25px; height:25px; font-size:12; fontWeight:bold; fontFamily:Aerial; color:white; text-align:center;'>"+(i+1)+"</span>";
			
			var icon;
			
			if(i<65)
			{
				icon = new VECustomIconSpecification();
				icon.TextContent = " ";
				icon.Image = GetBaseURLPrefix()+"images/bwIcon"+(i+1)+".gif";
				//icon.ImageOffset = new VEPixel(-2,-23); //relative to the default (13,13)
			}
			else
				icon = "<img src='"+GetBaseURLPrefix()+"images/bwIcon.gif'/><span STYLE='position:absolute; top:16px; left:0px; width:23px; height:25px; font-size:12; fontWeight:bold; fontFamily:Aerial; color:black; text-align:center;'>"+(i+1)+"</span>";
				
			pushpin.SetCustomIcon(icon);
			//,curResult.type);
			
			//map.AddPushpin(pushpin);
			hotelLayer.AddShape(pushpin);
			
			locs.push( pushpin.GetPoints()[0] );
		}
		catch(err){ }
	}
	//map.SetMapView( locs );
	
	if(locs.length>1)
		map.SetMapView(locs);
	else
		map.SetCenterAndZoom(locs[0],VE_ContextMenu.StreetZoomLevel);
}

function ShowLandmarkPushPins( index ) {
	//var m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(map));
	//VEMap.ValidateState();
	DeleteLandmarks();
	var startIndex = (index * 100);
	var resultCount =Math.min( VE_SearchManager.naicsResults.length, (index * 100) + 100 );
	for( var i = startIndex; i < resultCount; i++ ) {
		try{
			var curResult = null;
			curResult = VE_SearchManager.naicsResults[ i ];
	
				//var pushpin=new VEPushpin(curResult.id, m_veLatLongFactory.CreateVELatLong(curResult.latitude,curResult.longitude), curResult.infoUrl, curResult.name,curResult.description,curResult.type);
	//			map.AddPushpin(pushpin);

				var pushpin=new VEShape(VEShapeType.Pushpin,new VELatLong(curResult.latitude,curResult.longitude));
				pushpin.SetTitle(curResult.name);
				
				var description = curResult.description;
				description+="<br><br><a class=\"VE_Panel_sublink\" href=\"javascript:void(0)\" onclick=\"map.SetCenterAndZoom(new VELatLong("+curResult.latitude+","+curResult.longitude+"),"+VE_ContextMenu.StreetZoomLevel+")\">"+L_SearchPopupZoomToStreetLevel_Text+"</a>";
				
				if(searchRadius<32 && hotelLayer.GetShapeCount()==1&&originHotel!="")
				{
					var addy = originHotel.description.split("<BR>");
					
					var sAdd="";
					for(var j=0;j<addy.length;j++)
					{
						if(j==0)
							sAdd+="&street_o="+addy[j];
						if(j==1)
							sAdd+="&ad3_o="+addy[j];
						if(j==2)
							sAdd+="&country_o="+addy[j];
					}
					
					addy = curResult.description.split("<BR>");
					var eAdd="";
					for(var j=0;j<addy.length;j++)
					{
						if(j==0)
							eAdd+="&street_d="+addy[j];
						if(j==1)
							eAdd+="&ad3_d="+addy[j];
						if(j==2)
							eAdd+="&country_d="+addy[j];
					}
					
					var directionLink = GetBaseURLPrefix()+"PrxDriveResults.aspx?name_o="+originHotel.name+sAdd+"&BID="+originHotel.id+"&latlong_o="+originHotel.latitude+":"+originHotel.longitude+"&name_d="+curResult.name+eAdd+"&latlong_d="+curResult.latitude+":"+curResult.longitude+"&searchType=walk"+globalLng;
					description+="<br><a class=\"VE_Panel_sublink\" href=\""+directionLink+"\">Walking Directions</a>";
				}
				
				pushpin.SetDescription(description);
				
				var icon = new VECustomIconSpecification();
				icon.TextContent = " ";
				icon.Image = GetBaseURLPrefix()+"images/"+(i+1)+".gif";
				
				pushpin.SetCustomIcon(icon);
				//new VEPushpin(curResult.id, , curResult.infoUrl, ,,curResult.type);
				landmarkLayer.AddShape(pushpin);
		}
		catch(err){ }
	}
}
/*
function VE_Error(){}
VE_Error.errorZIndex=31;
VE_Error.introZIndex=31;
VE_Error.introPanel=null;
VE_Error.errorPanel=null;
VE_Error.margins=110;
VE_Error.CreateErrorPanel=function(){
	var errorFrame="<iframe id=\"errorFrame\" src=\"about:blank\" width=\"100%\" height=\"100%\" allowtransparency=\"true\" frameborder=\"0\"></iframe>";
	var p=new VE_Panel("error",220,160,"100","100","blue",VE_Error.errorZIndex,L_Help_Text,errorFrame,"");
	p.body.className="VE_Panel_body_help";
	p.Hide();
	p.SetToolbarSize(0);
	p.SetFooterSize(0);
	p.SetOpacity(95);
	p.onCloseClick=function(e){
		VE_Error.ClosePanel();
	};
	VE_Error.errorPanel=p;
};
VE_Error.EnablePreventLayer=function(){return;var preventLayer=document.getElementById("__preventLayer__");if(!preventLayer)preventLayer=document.createElement("div");preventLayer.id="__preventLayer__";preventLayer.className="preventLayer";document.body.appendChild(preventLayer);};VE_Error.DisablePreventLayer=function(){return;var preventLayer=document.getElementById("__preventLayer__");if(preventLayer)document.body.removeChild(preventLayer);};VE_Error.CreateIntroPanel=function(){var db=map.GetDashboard();var introFrame="<iframe id=\"introFrame\" src="+welcomeUrl+" width=\"100%\" height=\"100%\" allowtransparency=\"true\" frameborder=\"0\"></iframe>";var p=new VE_Panel("intro",0,0,"auto","auto","welcomePanel",VE_Error.introZIndex,L_Welcome_Text,introFrame,"","",true,taskArea_data);p.el.className="welcomePanel";p.body.className="VE_Panel_body_error";pseudoHover(p.title);p.SetToolbarSize(0);p.SetFooterSize(0);p.onTitleClick=function(e){taskArea.setCurrent(this);};p.onCloseClick=function(e){var parent=this.el.parentElement;if(parent)parent.removeChild(this.el);taskArea.removeItem(this);VE_Error.introPanel=null;};p.onMaximize=function(e){resetWhatBox();};taskArea.addItem(p);VE_Error.introPanel=p;};
VE_Error.Open=function(tt,ut){
	VE_Error.EnablePreventLayer();
	if( VE_Error.errorPanel == null ) {
		VE_Error.CreateErrorPanel();
	}
	VE_Error.errorPanel.Show();
	VE_Error.errorPanel.SetTitle(tt);
	//VE_Error.errorPanel.SetBody("<iframe id = \"errorFrame\" src = \"about:blank\" width = \"100%\" allowtransparency = \"true\" scrolling = \"auto\" frameborder = \"0\"></iframe>");
	VE_Error.errorPanel.SetBody("<div id=\"errorFrame\" class=\"helpframecontent\"></div>");
	var errorFrame=document.getElementById("errorFrame");
	errorFrame.innerHTML=ut;
	VE_Error.Redraw();
};
VE_Error.Redraw=function(vt){
var panel=VE_Error.errorPanel;
if(!panel)return;if(!vt){var taskAreaWidth=taskArea_transparency?taskArea_transparency.offsetWidth:0;var scratchPadWidth=scratchPad?scratchPad.getElement().offsetWidth:0;if(document.body.clientWidth>800)var width=document.body.clientWidth-taskAreaWidth-scratchPadWidth-VE_Error.margins;else var width=document.body.clientWidth-taskAreaWidth-scratchPadWidth-50;var height=document.body.clientHeight-header.offsetHeight-mapActionBar.offsetHeight-VE_Error.margins;if(width>0)panel.width=width;if(height>0)panel.height=height;}panel.x=278;panel.Resize();};VE_Error.CloseIntro=function(){if(VE_Error.introPanel)VE_Error.introPanel.Hide();};VE_Error.OpenIntro=function(){toggleTaskArea(true);if(!VE_Error.introPanel)VE_Error.CreateIntroPanel();else taskArea.setCurrent(VE_Error.introPanel);VE_Analytics.Log("VE | Welcome Pane","Welcome");};
VE_Error.ClosePanel=
	function(){
		if(VE_Error.errorPanel){
			VE_Error.errorPanel.Hide();
			VE_Error.DisablePreventLayer();
		}
	};*/
	
function VE_SearchResult(ys,zs,As,Bs,Cs,Ds,Es,Fs,distanceMiles,distanceKm,Gs,Hs,Is,Js)
{
	this.id=ys;
	this.name=zs;
	this.description=As;
	this.phone=Bs;
	this.rating=Cs;
	this.type=Ds;
	this.latitude=Es;
	this.longitude=Fs;
	this.miles=distanceMiles;
	this.kms=distanceKm;
					
	this.pushPin=null;
	this.pinId=null;
	this.keywords=Is;
	this.infoUrl=Gs;
	this.photoUrl=Hs;
	this.country=Js;
}
	
/*CreatePopupContent=function(id, name, description, style){
	var poiType="";//this.type;
	var poiName=name;//this.name;
	var poiAddress=description;//this.description==""?poiName:this.description;
	var poiPhone="";//this.phone;
	var escapedID="";//escape(this.ID);
	var body = escape(poiName+"\n"+poiAddress+"\n"+GetUrlPrefixBW()+"?BID="+id+"\n\n");
	var content="<div class = \"title\">%IMG%"+IOSec.EncodeHtml(poiName)+"</div>"+"<div class = \"intro\">"+poiAddress+"<br />"+poiPhone+"<div id=\"c2c\"></div></div>";
	ero.clearActions();
	
	if( style.indexOf( "adr" ) != -1 ) {
		ero.addAction("<a href = \"mailto:?subject="+escape(L_AtWindowsLiveLocal_Text.replace("%1",poiName).replace(/%2/g,Msn.VE.Features.ProductName))+"&body="+body+"\" onclick = \"VE_Analytics.Log('VE | Push Pin Popup', 'Email');\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupEmailAFriend_Text+"</a>");
	}
	if( style != "" ) {
		ero.addAction( VE_SearchManager.PopupZoomContent() );
	}
	//ero.addAction("<a href = \"javascript:OpenNewWindow('"+GetDetailsUrlPrefix()+"?propertyCode="+id+"', 'Detail"+id+"', 'all' );VE_Analytics.Log('VE | Push Pin Popup', 'Get Details');\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupDetails_Text+"</a>");
	if( style.indexOf( "adr" ) != -1 ) {
		ero.addAction("<a href = \""+GetDetailsUrlPrefix()+"?propertyCode="+id+"\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupDetails_Text+"</a>");
		ero.addAction("<a href = \""+GetReservationsUrlPrefix()+"?propertyCode="+id+"\" class = \"VE_Panel_sublink\" oncontextmenu = \"return false;\">"+L_SearchPopupMakeReservations_Text+"</a>");
	}
	content=content.replace(/%IMG%/g,"");
	return content;
};*/

//VEPushpin.prototype.GetContent=GetContent1;

/*function GetContent1(){
	var pinId=this.ID+"_"+this.m_vemap.GUID;

	var num = "";
	var style = this.IconStyle;
	var styles = new Array();
	styles = this.IconStyle.split(':');
	
	if( styles.length > 0 ) {
		style = styles[ 0 ];
	}
	if( styles.length > 1 ) {
		num = styles[ 1 ];
	}
	var content;
	if( style.indexOf( "adr" ) != -1 ) {
		//content="<a href='javascript://pushin hover' class='VE_Pushpin VE_Pushpin_aN' style=\"z-index:1000;position:relative;display:block;background-image: url("+this.Iconurl+")\" id='"+pinId+"' ";
		content="<span class='VE_Pushpin VE_Pushpin_aN' style=\"width: 25px; height:30px; color:white;	z-index:1000;position:relative;display:block;background-image: url("+this.Iconurl+");\" id='"+pinId+"' ";
		//content="<img class='"+this.IconStyle+"' src='"+this.Iconurl+"' id='"+pinId+"' ";	
	} else {
		content="<img class='"+this.IconStyle+"' src='"+this.Iconurl+"' id='"+pinId+"' ";		
	}
	var isTitleValid=this.Title!=null&&this.Title!="undefined"&&this.Title.length>0;
	var isDetailsValid=this.Details!=null&&this.Details!="undefined"&&this.Details.length>0;
	if(isTitleValid||isDetailsValid){
		content+=" onmouseout='VEPushpin.Hide();' onmousedown='VEPushpin.Hide(true);' onmouseover='VEPushpin.Show(\""+this.m_vemap.GUID+"\",\""+this.ID+"\","+this.LatLong.Latitude+","+this.LatLong.Longitude;
		if(isTitleValid)
			content+=", \""+escape(this.Title)+"\"";
		else
			content+=",\"\"";
		if(isDetailsValid)
			content+=", \""+escape(this.Details)+"\"";
		else
			content+=",\"\"";
		content+=",\""+this.TitleStyle+"\"";
		content+=",\""+this.DetailsStyle+"\",\""+style+"\"";
		content+=");' ";
	}
	if( style.indexOf( "adr" ) != -1 ) {
		content += ">"+num+"</span>";
	} else {
		content += "/>";
	}
	
	return content;
}*/

VE_SearchManager.SetDirectionsStart=function(rb){return "";};//return VE_Directions.SetStart(rb,VE_SearchManager.LatLong.latitude,VE_SearchManager.LatLong.longitude);};
VE_SearchManager.SetDirectionsEnd=function(sb){return "";};//return VE_Directions.SetEnd(sb,VE_SearchManager.LatLong.latitude,VE_SearchManager.LatLong.longitude);};

VE_SearchManager._GenerateDriveTo=
	function(tb){
		return "javascript:VE_SearchManager.SetDirectionsEnd('"+tb+"')";
	};
VE_SearchManager._GenerateDriveFrom=
	function(ub){
		return "javascript:VE_SearchManager.SetDirectionsStart('"+ub+"')";
	};

VE_SearchManager.PopupZoomContent=
	function( ){
		var content="";
		if(map.GetZoomLevel()<VE_ContextMenu.StreetZoomLevel&&map.GetMapStyle()!="o") {//&&Msn.VE.Marketization.IsEnabled(Msn.VE.Features.MenuOption.ZoomToStreet)) {
			content+="<a class=\"VE_Panel_sublink\" href=\"javascript:VE_SearchManager.SetCenterAndZoom("+VE_ContextMenu.StreetZoomLevel+")\">"+L_SearchPopupZoomToStreetLevel_Text+"</a>";
		} else {
			
		}
		return content;
	};

/*VEPushpin.Show=function(Du,Eu,Fu,Gu,Hu,Iu,Ju,Ku,Lu){
	var mapInstance=VEMap._GetMapFromGUID(Du);
	if(mapInstance==null||mapInstance=="undefined")
		return;
	VEMap.ValidateState();
	var currentX=mapInstance.vemapcontrol.GetX(Gu)+mapInstance.GetLeft();
	var currentY=mapInstance.vemapcontrol.GetY(Fu)+mapInstance.GetTop();
	if(VEPushpin.ShowDetailOnMouseOver){
		var e=document.getElementById(Eu+"_"+mapInstance.GUID);
		if(e!=null&&e!="undefined"){
			//window.ero.setBoundingArea(new Microsoft.Web.Geometry.Point(0,0),new Microsoft.Web.Geometry.Point(document.body.clientWidth,document.body.clientHeight));
			VE_SearchManager.LatLong = new Msn.VE.LatLong( Fu, Gu );
			var eroContent = CreatePopupContent( Eu, unescape(Hu), unescape(Iu), Lu );
			window.ero.setContent(eroContent);
			window.ero.dockToElement(e);
		}
	}
	if(VEPushpin.OnMouseOverCallback!=null)
		VEPushpin.OnMouseOverCallback(currentX,currentY,Hu,unescape(Iu));
};*/

function LandmarksClick()
{
	if(polygonLayer.GetShapeCount()>0)
		polygonLayer.DeleteAllShapes();
			
	var landmarkEl = document.getElementById( "chkLandmarks" );
	if( landmarkEl != null && landmarkEl.checked )
	{
		ShowLandmarks( map.GetCenter().Latitude, map.GetCenter().Longitude );
		polygonLayer.AddShape(generateCircle(map.GetCenter(), searchRadius));
	} else {
		DeleteLandmarks();
		VE_SearchManager.naicsResults = new Array();
		UpdateLandmarksGrid( VE_SearchManager.naicsResults, 0 );
	}
}

function radiusChange()
{
	searchRadius = parseFloat(document.getElementById('searchRadiusKM').value);
	
	if(document.getElementById( "chkLandmarks").checked)
	{
		if(polygonLayer.GetShapeCount()>0)
			polygonLayer.DeleteAllShapes();
			
		ShowLandmarks( map.GetCenter().Latitude, map.GetCenter().Longitude );
		polygonLayer.AddShape(generateCircle(map.GetCenter(), searchRadius));
	}
}

function DeleteLandmarks()
{
	/*var results = VE_SearchManager.naicsResults;
	if( results != null )
	{
		for( var i = 0; i < results.length; i++ )
		{
			try {
				map.DeletePushpin( results[ i ].id );
			}
			catch(E) {}
		}
	}*/
	
	if(landmarkLayer.GetShapeCount()>0)
	{
		landmarkLayer.DeleteAllShapes();
	}
	
	/*if(polygonLayer.GetShapeCount()>0)
	{
		polygonLayer.DeleteAllShapes();
	}*/
	
}

function DeleteHotels()
{
	if(hotelLayer.GetShapeCount()>0)
	{
		hotelLayer.DeleteAllShapes();
	}
	
}

function GetDetailsUrlPrefix() {
	return "http://book.bestwestern.com/bestwestern/productInfo.do";
}
function GetReservationsUrlPrefix() {
	return "http://book.bestwestern.com/bestwestern/priceAvail.do";
}

function GetBaseURLPrefix()
{
	if(enviroment=="staging")
		return   "http://preview.mappoint.net/bestwestern/";
	else if(enviroment=="local")
		return   "http://localhost/bestwesternve/";
	else
		return "http://go.mappoint.net/bestwestern/";
}

function UpdateRouteResultsGrid( cityResults, params )
{
	var routeResultsDiv = document.getElementById( "nearRouteResults" );
	var resultsHtml = "";
	resultsHtml += "<table width=\"475\"><tr><td>";
	resultsHtml += "<TABLE width=\"475\" align=\"center\" border=\"0\">";
	for( var i = 0; i < cityResults.length; i++ )
	{
		var destParams = SetDestParams( cityResults[i].name, params[i][0], params[i][1],params[i][2] );
		
		if(globalLng!="")
			destParams+=globalLng;
							
		var numid = Number(cityResults[i].id);
		var locid = "";
		if(numid <= 9999)
			locid = "0" + numid;
		else
			locid = "" + numid;
						
		var parms = originParams + "&" + destParams;
		parms += ("&BID=" + locid); //parms += ("&BID=" + cityResults[i].id);
		parms += ("&latlong=" + cityResults[i].latitude + ":" + cityResults[i].longitude);
		resultsHtml += "<TR>";
		resultsHtml += "<TD valign=\"top\"><IMG height=\"16\" src=\"images/"+(i+1)+".gif\" border=\"0\"></TD>";
		resultsHtml += "<TD><B><FONT size=\"-1\"><A target=\"_top\" class=\"go\" href=\""+GetDetailsUrlPrefix()+"?propertyCode="+locid+"\">"+cityResults[ i ].name+"</A></B></FONT>"; //resultsHtml += "<TD><B><FONT size=\"-1\"><A target=\"_top\" class=\"go\" href=\""+GetDetailsUrlPrefix()+"?propertyCode="+cityResults[ i ].id+"\">"+cityResults[ i ].name+"</A></B></FONT>";
		resultsHtml += "<BR><FONT size=\"-1\">"+cityResults[ i ].description+"</FONT></TD>";
		resultsHtml += "<td width=\"20\" valign=\"top\"><FONT size=\"-1\"><BR>";
		resultsHtml += "<A target=\"_blank\" class=\"blue\" href=\"PrxDriveInput.aspx?"+parms+"\"><FONT size=\"-1\">Directions</FONT></A></FONT></td>";
		resultsHtml += "<TD vAlign=\"top\"><FONT size=\"-1\">&nbsp; <A target=\"_top\" href=\""+GetReservationsUrlPrefix()+"?propertyCode="+locid+"\">"; //resultsHtml += "<TD vAlign=\"top\"><FONT size=\"-1\">&nbsp; <A target=\"_top\" href=\""+GetReservationsUrlPrefix()+"?propertyCode="+cityResults[ i ].id+"\">";
		resultsHtml += "<IMG src=\"images/checkAvailability.gif\" border=\"0\">";
		resultsHtml += "</A></FONT>";
		resultsHtml += "</TD>";
		resultsHtml += "<TD valign=\"top\"></TD>";
		resultsHtml += "</TR>";
	}
	resultsHtml += "</table></td></tr></table>";
	routeResultsDiv.innerHTML = "";
	routeResultsDiv.innerHTML = resultsHtml;
}

function UpdateResultsGrid( cityResults, proxResults, index ) {
	
	var resultsGrid = document.getElementById( "resultsGridBW" );
	var resultsHtml = "";
	resultsHtml = "<h2><a name=\"resultsGrid\">Hotels</a></h2>";
	resultsHtml += "<P>";
	resultsHtml += "<table width=\"97%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
	resultsHtml += "<tr>";
	resultsHtml += "<td align=\"left\">";
	resultsHtml += "<div id=\"resultsLabel\" class=\"resultsLabel\"></div>";
	resultsHtml += "</td>";
	resultsHtml += "<td align=\"right\">";
	resultsHtml += "<div id=\"pager\"></div>";
	resultsHtml += "</tr>";
	resultsHtml += "</table>";
	
	resultsGrid.innerHTML = resultsHtml;
	
	var resultsLabel = document.getElementById( "resultsLabel" );
	resultsLabel.innerHTML = (cityResults.length + proxResults.length) + " Hotels Found";
	var pager = document.getElementById( "pager" );
	var numShown = 0;
	var numPages = Math.ceil( (cityResults.length + proxResults.length) / 5 );
	var pagerHtml = "";
	pagerHtml += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
	for( var pagerPage = 0; pagerPage < numPages; pagerPage++ ) {
		pagerHtml += "<td class=\"";
		if( pagerPage == index )
			pagerHtml += "pagerTextSelectedPage\">";
		else {
			pagerHtml += "pagerTextNotSelectedPage\"";
			pagerHtml += "onclick=\"javascript:UpdateResultsGrid( VE_SearchManager.cityResults, VE_SearchManager.proxResults, " + pagerPage + ")\">";
		}
		pagerHtml += (pagerPage + 1) + "</td>";
	}
	pagerHtml += "</tr></table>";
	pager.innerHTML = pagerHtml;
	
	ShowResultPushPins( Math.floor( (index * 5) / 25 ) );

	var cityName = document.getElementById( "txtCity" ).value;
	var stateEl = document.getElementById( "listStates" );
	var stateName = stateEl.options[ stateEl.selectedIndex ].value;
	
	var countryEl = document.getElementById( "listCountry" );
	var countryName = countryEl.options[ countryEl.selectedIndex ].value;
	
	resultsHtml = "<table width=\"500\" class=\"listingGridTable\"><tr>";
	resultsHtml += "<td width=\"5%\" class=\"HeaderNotSelected\">#</td>";
	resultsHtml += "<td width=\"30%\" class=\"HeaderNotSelected\">Name</td>";
	resultsHtml += "<td width=\"30%\" class=\"HeaderNotSelected\">Address</td>";
	resultsHtml += "<td width=\"20%\" class=\"HeaderNotSelected\">Distance</td>";
	resultsHtml += "<td width=\"20%\" class=\"HeaderNotSelected\"></td>";
	resultsHtml += "</tr>";
	var startIndex = index * 5;
	if( cityResults.length == 0 && index == 0 ) {
		resultsHtml += "<tr>";
		resultsHtml += "<td colspan=\"5\" class=\"ItemNotSelected\"><h1><B>There is no hotel in "+cityName+", "+stateName+", "+countryName+".</B></h1></td>";
		resultsHtml += "</tr>";
	}
	
	if( startIndex < Math.min( startIndex + 5, cityResults.length ) ) {
		resultsHtml += "<tr>";
		resultsHtml += "<td class=\"ItemNotSelected\" colspan=\"5\"><h1><B>Here are hotels matching "+cityName+", "+stateName+", "+countryName+" as requested. Mileage shown is straight-line distance, actual drive time/mileage may vary.</B></H1></td>";
		resultsHtml += "</tr>";
	}
	var className = "AltItemNotSelected";
	for( var resultNum = startIndex; resultNum < Math.min( startIndex + 5, cityResults.length ); resultNum++ ) {
		if( (resultNum % 2) == 0 )
			className = "AltItemNotSelected";
		else
			className = "ItemNotSelected";
		var name = cityResults[ resultNum ].name;
		var address = cityResults[ resultNum ].description;
		resultsHtml += "<tr>";
		resultsHtml += "<td class=\"" + className + "\"><a target=\"_top\" class=\"go\" href=\""+GetDetailsUrlPrefix()+"?propertyCode="+cityResults[ resultNum ].id+"\"><img src=\"images\\" + (resultNum+1) + ".gif\" border=\"0\" height=\"16\" width=\"15\"></a></td>";
		resultsHtml += "<td class=\"" + className + "\"><a target=\"_top\" class=\"go\" href=\""+GetDetailsUrlPrefix()+"?propertyCode="+cityResults[ resultNum ].id+"\">" + name + "</a></td>";
		resultsHtml += "<td class=\"" + className + "\">" + address + "</td>";
		resultsHtml += "<td class=\"" + className + "\" align=\"center\">"+cityResults[ resultNum ].miles+" miles<BR>"+cityResults[ resultNum ].kms+" km</td>";
		resultsHtml += "<td class=\"" + className + "\" align=\"center\"><a target=\"_top\" class=\"go\" href=\""+GetReservationsUrlPrefix()+"?propertyCode="+cityResults[ resultNum ].id+"\"><img src=\"images\\checkAvailability.gif\" border=\"0\"></a></td>";
		resultsHtml += "</tr>";
		numShown += 1;
	}
	var mod0class = "";
	if( className = "ItemNotSelected" ) {
		className = "AltItemNotSelected";
	} else {
		className = "ItemNotSelected";
	}
	if( startIndex <= cityResults.length && numShown < 5 ) {
		resultsHtml += "<tr>";
		resultsHtml += "<td colspan=\"5\" class=\"" + className + "\"><h1><B>Here are additional hotels within 100 miles/160.93 kilometers from "+cityName+", "+stateName+", "+countryName+" city center.</B></h1></td>";
		resultsHtml += "</tr>";
	}
	for( var resultNum = startIndex + numShown; resultNum < Math.min( startIndex + 5, proxResults.length + cityResults.length ); resultNum++ ) {
		var className = "";
		if( (resultNum % 2) == 0 )
			className = "ItemNotSelected";
		else
			className = "AltItemNotSelected";
		var curIndex = resultNum - cityResults.length;
		var name = proxResults[ curIndex ].name;
		var address = proxResults[ curIndex ].description;
		resultsHtml += "<tr>";
		resultsHtml += "<td class=\"" + className + "\"><a target=\"_top\" class=\"go\" href=\""+GetDetailsUrlPrefix()+"?propertyCode="+proxResults[ curIndex ].id+"\"><img src=\"images\\" + (resultNum+1) + ".gif\" border=\"0\" height=\"16\" width=\"15\"></a></td>";
		resultsHtml += "<td class=\"" + className + "\"><a target=\"_top\" class=\"go\" href=\""+GetDetailsUrlPrefix()+"?propertyCode="+proxResults[ curIndex ].id+"\">" + name + "</a></td>";
		resultsHtml += "<td class=\"" + className + "\">" + address + "</td>";
		resultsHtml += "<td class=\"" + className + "\" align=\"center\">"+proxResults[ curIndex ].miles+" miles<BR>"+proxResults[ curIndex ].kms+" km</td>";
		resultsHtml += "<td class=\"" + className + "\" align=\"center\"><a target=\"_top\" class=\"go\" href=\""+GetReservationsUrlPrefix()+"?propertyCode="+proxResults[ curIndex ].id+"\"><img src=\"images\\checkAvailability.gif\" border=\"0\"></a></td>";
		resultsHtml += "</tr>";
	}
	resultsHtml += "</table><P>";
	var currHtml = resultsGrid.innerHTML;
	currHtml += resultsHtml;
	resultsGrid.innerHTML = currHtml;
};

function UpdateLandmarksGrid( landmarkResults, index ) {
	
	var resultsGrid = document.getElementById( "resultsGridLandmark" );
	var resultsHtml = "";
	if( document.getElementById( "resultsGridBW" ) != null ) {
		resultsHtml = "<h2>Landmarks</h2>";
	}
	resultsHtml += "<P>";
	resultsHtml += "<table width=\"97%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
	resultsHtml += "<tr>";
	resultsHtml += "<td align=\"left\">";
	resultsHtml += "<div id=\"landmarksLabel\" class=\"resultsLabel\"></div>";
	resultsHtml += "</td>";
	resultsHtml += "<td align=\"right\">";
	resultsHtml += "<div id=\"pagerLandmarks\"></div>";
	resultsHtml += "</tr>";
	resultsHtml += "</table>";
	
	resultsGrid.innerHTML = resultsHtml;
	
	var resultsLabel = document.getElementById( "landmarksLabel" );
	resultsLabel.innerHTML = landmarkResults.length + " Landmarks Found";
	var pager = document.getElementById( "pagerLandmarks" );
	var numShown = 0;
	var numPages = Math.ceil( landmarkResults.length / 15 );
	var pagerHtml = "";
	pagerHtml += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
	for( var pagerPage = 0; pagerPage < numPages; pagerPage++ ) {
		pagerHtml += "<td class=\"";
		if( pagerPage == index )
			pagerHtml += "pagerTextSelectedPage\">";
		else {
			pagerHtml += "pagerTextNotSelectedPage\"";
			pagerHtml += "onclick=\"javascript:UpdateLandmarksGrid( VE_SearchManager.naicsResults, " + pagerPage + ")\">";
		}
		pagerHtml += (pagerPage + 1) + "</td>";
	}
	pagerHtml += "</tr></table>";
	pager.innerHTML = pagerHtml;
	
	ShowLandmarkPushPins( Math.floor( (index * 15) / 100 ) );
	resultsHtml = "<table width=\"500\" class=\"listingGridTable\"><tr>";
	resultsHtml += "<td width=\"5%\" class=\"HeaderNotSelected\">#</td>";
	resultsHtml += "<td width=\"45%\" class=\"HeaderNotSelected\">Name</td>";
	resultsHtml += "<td width=\"30%\" class=\"HeaderNotSelected\">Address</td>";
	resultsHtml += "<td width=\"20%\" class=\"HeaderNotSelected\">Distance</td>";
	resultsHtml += "</tr>";
	var startIndex = index * 15;
	if( landmarkResults.length == 0 && index == 0 ) {
		resultsHtml += "<tr>";
		resultsHtml += "<td colspan=\"4\" class=\"ItemNotSelected\"><h1><B>No Landmarks available</B></h1></td>";
		resultsHtml += "</tr>";
	}
	
	var className = "AltItemNotSelected";
	for( var resultNum = startIndex; resultNum < Math.min( startIndex + 15, landmarkResults.length ); resultNum++ ) {

			if( (resultNum % 2) == 0 )
				className = "AltItemNotSelected";
			else
				className = "ItemNotSelected";
			var name = landmarkResults[ resultNum ].name;
			var address = landmarkResults[ resultNum ].description;
			resultsHtml += "<tr>";
			resultsHtml += "<td class=\"" + className + "\"><img src=\"images\\" + (resultNum+1) + ".gif\" border=\"0\" height=\"16\" width=\"15\"></td>";
			resultsHtml += "<td class=\"" + className + "\">" + name + "</td>";
			resultsHtml += "<td class=\"" + className + "\">" + address + "</td>";
			resultsHtml += "<td class=\"" + className + "\" align=\"center\">"+landmarkResults[ resultNum ].miles+" miles<BR>"+landmarkResults[ resultNum ].kms+" km</td>";
			resultsHtml += "</tr>";
			numShown += 1;

	}
	resultsHtml += "</table><P>";
	var currHtml = resultsGrid.innerHTML;
	currHtml += resultsHtml;
	resultsGrid.innerHTML = currHtml;
};

function GetUrlPrefixBW() {
	return "http://preview.mappoint.net/bestwestern/MapResults.aspx";
};

function MapNotFound() {
	document.getElementById( "mapSpan" ).style.visibility = "hidden";
	document.getElementById( "mapSpan" ).style.display = "none";
	document.getElementById( "veMapSpan" ).style.visibility = "hidden";
	document.getElementById( "veMapSpan" ).style.display = "none";
	document.getElementById( "noMapSpan" ).style.visibility = "visible";
	document.getElementById( "noMapSpan" ).style.display = "";
}

function MapFound() {
	document.getElementById( "noMapSpan" ).style.visibility = "hidden";
	document.getElementById( "noMapSpan" ).style.display = "none";
	document.getElementById( "veMapSpan" ).style.visibility = "visible";
	document.getElementById( "veMapSpan" ).style.display = "";
	document.getElementById( "mapSpan" ).style.visibility = "visible";
	document.getElementById( "mapSpan" ).style.display = "";
}

function ShowAmbigResults( body ) {
	document.getElementById( "ambigSearchText" ).innerHTML = document.getElementById( "txtCity" ).value;
	document.getElementById( "ambigResults" ).innerHTML = body;
	ShowAmbigResultsPanel();
}

function FindAmbigAddress( city, state, country ) {
	document.getElementById( "txtCity" ).value = city;
	document.getElementById( "listStates" ).value = state;
	document.getElementById( "listCountry" ).value = country;
	DoFind();
}

function ShowRouteAndResults()
{
	document.getElementById( "routeGenerating" ).style.display = "none";
	document.getElementById( "routeGenerating" ).style.visibility = "hidden";
	document.getElementById( "tripInput" ).style.display = "none";
	document.getElementById( "tripInput" ).style.visibility = "hidden";
	document.getElementById( "tripResults" ).style.display = "none";
	document.getElementById( "tripResults" ).style.visibility = "hidden";
	document.getElementById( "nearRouteResults" ).style.display = "";
	document.getElementById( "nearRouteResults" ).style.visibility = "visible";
	document.getElementById( "headerLabel" ).innerHTML = "Hotels Along the Way";
}

function ShowMapAndResults() {
	document.getElementById( "ambigResultsPanel" ).style.display = "none";
	document.getElementById( "ambigResultsPanel" ).style.visibility = "hidden";
	document.getElementById( "searchPanel" ).style.display = "none";
	document.getElementById( "searchPanel" ).style.visibility = "hidden";
	document.getElementById( "noAddressFound" ).style.display = "none";
	document.getElementById( "noAddressFound" ).style.visibility = "hidden";
	document.getElementById( "mapResults" ).style.display = "";
	document.getElementById( "mapResults" ).style.visibility = "visible";
	document.getElementById( "mymapcontroldiv" ).style.display = "";
	document.getElementById( "mymapcontroldiv" ).style.visibility = "visible";
}

function ShowAmbigResultsPanel() {
	document.getElementById( "ambigResultsPanel" ).style.display = "";
	document.getElementById( "ambigResultsPanel" ).style.visibility = "visible";
	document.getElementById( "searchPanel" ).style.display = "none";
	document.getElementById( "searchPanel" ).style.visibility = "hidden";
	document.getElementById( "noAddressFound" ).style.display = "none";
	document.getElementById( "noAddressFound" ).style.visibility = "hidden";
	document.getElementById( "mapResults" ).style.display = "none";
	document.getElementById( "mapResults" ).style.visibility = "hidden";
	document.getElementById( "mymapcontroldiv" ).style.display = "none";
	document.getElementById( "mymapcontroldiv" ).style.visibility = "hidden";
}

function ShowNoAddressFound() {
	document.getElementById( "ambigResultsPanel" ).style.display = "none";
	document.getElementById( "ambigResultsPanel" ).style.visibility = "hidden";
	document.getElementById( "searchPanel" ).style.display = "none";
	document.getElementById( "searchPanel" ).style.visibility = "hidden";
	document.getElementById( "noAddressFound" ).style.display = "";
	document.getElementById( "noAddressFound" ).style.visibility = "visible";
	document.getElementById( "mapResults" ).style.display = "none";
	document.getElementById( "mapResults" ).style.visibility = "hidden";
	document.getElementById( "mymapcontroldiv" ).style.display = "none";
	document.getElementById( "mymapcontroldiv" ).style.visibility = "hidden";
}

function ShowSearchPanelAndMap() {
	document.getElementById( "ambigResultsPanel" ).style.display = "none";
	document.getElementById( "ambigResultsPanel" ).style.visibility = "hidden";
	document.getElementById( "searchPanel" ).style.display = "";
	document.getElementById( "searchPanel" ).style.visibility = "visible";
	document.getElementById( "noAddressFound" ).style.display = "none";
	document.getElementById( "noAddressFound" ).style.visibility = "hidden";
	document.getElementById( "mapResults" ).style.display = "none";
	document.getElementById( "mapResults" ).style.visibility = "hidden";
	document.getElementById( "mymapcontroldiv" ).style.display = "";
	document.getElementById( "mymapcontroldiv" ).style.visibility = "visible";
}

function ShowNoResultsTrip( message ) {
	document.getElementById( "routeGenerating" ).style.display = "none";
	document.getElementById( "routeGenerating" ).style.visibility = "hidden";
	document.getElementById( "tripInput" ).style.display = "";
	document.getElementById( "tripInput" ).style.visibility = "visible";
	document.getElementById( "labelResults" ).style.display = "";
	document.getElementById( "labelResults" ).style.visibility = "visible";
	document.getElementById( "labelResults" ).innerHTML = message;
}

function ShowAmbigResultsTrip( message ) {
	document.getElementById( "routeGenerating" ).style.display = "none";
	document.getElementById( "routeGenerating" ).style.visibility = "hidden";
	document.getElementById( "tripInput" ).style.display = "";
	document.getElementById( "tripInput" ).style.visibility = "visible";
	document.getElementById( "labelResults" ).style.display = "";
	document.getElementById( "labelResults" ).style.visibility = "visible";
	document.getElementById( "ambigResults" ).style.display = "";
	document.getElementById( "ambigResults" ).style.visibility = "visible";
	document.getElementById( "labelResults" ).innerHTML = message;
}

function ShowAmbig( ambigList )
{
	var ambigEl = document.getElementById( "ambigResults" );
	var ambigHtml = "";
	ambigHtml += "<table>";
	for( var i = 0; i < ambigList.length; i++ )
	{
		var ambigResult = ambigList[ i ];
		ambigHtml += "<tr>";
		ambigHtml += "<td>";
		ambigHtml += ambigResult[1];
		ambigHtml += "</td>";
		ambigHtml += "<td>";
		ambigHtml += "<a href=\"javascript:SetOrigin("+ambigResult[2].Latitude+", "+ambigResult[2].Longitude+");SetFromLabel('"+ambigResult[1]+"');SetOriginParams('"+ambigResult[3]+"','"+ambigResult[4]+"','"+ ambigResult[5]+"','"+ambigResult[6]+"');GeocodeTrip( true, false );\">";
		ambigHtml += "Use this address</a>";
		ambigHtml += "</td>";
		ambigHtml += "</tr>";
	}
	ambigHtml += "</table>";
	ambigEl.innerHTML = ambigHtml;
}

function SetCountryDS( ctryDS )
{
   countryDS = ctryDS;
}

function SetOrigin( lat, lon )
{
	routeStart = new VELatLong( lat, lon );
}

function SetDest( lat, lon )
{
	routeEnd = new VELatLong( lat, lon );
}

function SetToLabel( text )
{
	document.getElementById( "toLabel" ).innerHTML = text;
}

function SetFromLabel( text )
{
	document.getElementById( "fromLabel" ).innerHTML = text;
}

function ShowAmbigDest( ambigList )
{
	var ambigEl = document.getElementById( "ambigResults" );
	var ambigHtml = "";
	ambigHtml += "<table>";
	for( var i = 0; i < ambigList.length; i++ )
	{
		var ambigResult = ambigList[ i ];
		ambigHtml += "<tr>";
		ambigHtml += "<td>";
		ambigHtml += ambigResult[ 0 ];
		ambigHtml += "</td>";
		ambigHtml += "<td>";
		ambigHtml += "<a href=\"javascript:SetDest("+ambigResult[2].Latitude+", "+ambigResult[2].Longitude+");SetToLabel('"+ambigResult[1]+"');SetDestParams('"+ambigResult[3]+"','"+ambigResult[4]+"','"+ ambigResult[5]+"','"+ambigResult[6]+"');GeocodeTrip( true, true );\">";
		ambigHtml += "Use this address</a>";
		ambigHtml += "</td>";
		ambigHtml += "</tr>";
	}
	ambigHtml += "</table>";
	ambigEl.innerHTML = ambigHtml;
}

function ShowRoute() {
	if( map == null )
	{
		try{
			InitRouteMap();
		}catch(ex){}
	}
	var distanceUnit = document.getElementById('labelCurrUnit').innerHTML;
	var unit;
	if ( distanceUnit == "Kilometers"||distanceUnit=="Kilometer" )
	{
	   unit = VERouteDistanceUnit.Kilometer;
	}
	else 
	{
	   unit = VERouteDistanceUnit.Mile;
	}
	
	//map.GetRoute( routeStart, routeEnd, unit, null, onGotRoute );
	
	var routeOptions = new VERouteOptions;
	routeOptions.DrawRoute = true;
	routeOptions.RouteCallback = onGotRoute;
	routeOptions.DistanceUnit = unit;
	routeOptions.ShowDisambiguation = false;
	
	if(useWalking)
		routeOptions.RouteMode = VERouteMode.Walking;
	
	multiPoints = [routeStart,routeEnd];
	map.GetDirections(multiPoints,routeOptions);
}

function ShowMultiPointRoute(newPoint,pointName) {
	if( map == null )
	{
		try{
			InitRouteMap();
		}catch(ex){}
	}
	var distanceUnit = document.getElementById('labelCurrUnit').innerHTML;
	var unit;
	if ( distanceUnit == "Kilometers"||distanceUnit=="Kilometer" )
	{
	   unit = VERouteDistanceUnit.Kilometer;
	}
	else 
	{
	   unit = VERouteDistanceUnit.Mile;
	}
	
	//map.GetRoute( routeStart, routeEnd, unit, null, onGotRoute );
	
	var routeOptions = new VERouteOptions;
	routeOptions.DrawRoute = true;
	routeOptions.RouteCallback = onGotRoute;
	routeOptions.DistanceUnit = unit;
	routeOptions.ShowDisambiguation = false;
	
	if(useWalking)
		routeOptions.RouteMode = VERouteMode.Walking;
	
	var end = multiPoints.pop();
	multiPoints.push({point:newPoint,name:pointName});
	multiPoints.push(end);
	
	var tempArray = new Array();
	
	tempArray.push(multiPoints[0]);
	for(var i=1;i<multiPoints.length-1;i++)
		tempArray.push(multiPoints[i].point);
	
	tempArray.push(multiPoints[multiPoints.length-1]);
	
	
	map.GetDirections(tempArray,routeOptions);
}

function ShowRouteDriveResults() {

    var distanceUnit = document.getElementById('labelCurrUnit').innerHTML;
	var unit;
	if( map == null )
	{
		InitRouteMap();
	}
	if ( distanceUnit == "Kilometers"||distanceUnit == "Kilometer" )
	{
	   unit = VERouteDistanceUnit.Kilometer;
	}
	else 
	{
	   unit = VERouteDistanceUnit.Mile;
	}
	
	var routeOptions = new VERouteOptions;
	routeOptions.DrawRoute = true;
	routeOptions.RouteCallback = onGotRouteDriveResults;
	routeOptions.DistanceUnit = unit;
	routeOptions.ShowDisambiguation = false;
	
	if(useWalking)
		routeOptions.RouteMode = VERouteMode.Walking;
	
	map.GetDirections([routeStart,routeEnd],routeOptions);
	
	//map.GetRoute( routeStart, routeEnd, unit, null, onGotRouteDriveResults );
}

function GetRouteMap( distanceUnit, routeType ) {
var unit;
	if ( distanceUnit == "Kilometers"||distanceUnit == "Kilometer" )
	{
	   unit = VERouteDistanceUnit.Kilometer;
	}
	else 
	{
	   unit = VERouteDistanceUnit.Mile;
	}

	var routeOptions = new VERouteOptions;
	routeOptions.DrawRoute = true;
	routeOptions.RouteCallback = onGotRoute;
	routeOptions.DistanceUnit = unit;
	routeOptions.ShowDisambiguation = false;
	
	if(useWalking)
		routeOptions.RouteMode = VERouteMode.Walking;
	
	map.GetDirections([routeStart,routeEnd],routeOptions);

	//map.GetRoute( routeStart, routeEnd, distanceUnit, routeType, onGotRoute );
}

function GetRouteMapDriveResults( distanceUnit, routeType ) {
var unit;
	if ( distanceUnit == "Kilometers"||distanceUnit == "Kilometer" )
	{
	   unit = VERouteDistanceUnit.Kilometer;
	}
	else 
	{
	   unit = VERouteDistanceUnit.Mile;
	}
	
	var routeOptions = new VERouteOptions;
	routeOptions.DrawRoute = true;
	routeOptions.RouteCallback = onGotRouteDriveResults;
	routeOptions.DistanceUnit = unit;
	routeOptions.ShowDisambiguation = false;
	
	if(useWalking)
		routeOptions.RouteMode = VERouteMode.Walking;
	
	//if(routeType!=null&& routeType!="undefined")
		//routeOptions.RouteMode = routeType;
	
	map.GetDirections([routeStart,routeEnd],routeOptions);

	//map.GetRoute( routeStart, routeEnd, distanceUnit, routeType, onGotRouteDriveResults );
}

function ChangeRouteUnit() {
	var radioKms = document.getElementById( "radioKms" );
	var radioMiles = document.getElementById( "radioMiles" );
	if( radioKms.checked ) {
		radioKms.checked = false;
		radioMiles.checked = true;
		document.getElementById( "labelChangeUnit" ).innerHTML = "Miles";
		document.getElementById( "labelCurrUnit" ).innerHTML = "Kilometers";
		document.getElementById( "labelMilesFrom" ).innerHTML = "miles";
		GetRouteMap( VERouteDistanceUnit.Mile );
	} else {
		radioKms.checked = true;
		radioMiles.checked = false;
		document.getElementById( "labelCurrUnit" ).innerHTML = "Kilometers";
		document.getElementById( "labelChangeUnit" ).innerHTML = "Miles";
		document.getElementById( "labelMilesFrom" ).innerHTML = "kilometers";
		GetRouteMapDriveResults( VERouteDistanceUnit.Kilometer );
	}
}

function ChangeRouteUnitDriveResults()
{
	if( document.getElementById( "labelCurrUnit" ).innerHTML == "Kilometers" ) {
		document.getElementById( "labelChangeUnit" ).innerHTML = "Kilometers";
		document.getElementById( "labelCurrUnit" ).innerHTML = "Miles";
		GetRouteMapDriveResults( VERouteDistanceUnit.Mile );
		
	} else {
		document.getElementById( "labelCurrUnit" ).innerHTML = "Kilometers";
		document.getElementById( "labelChangeUnit" ).innerHTML = "Miles";
		GetRouteMapDriveResults( VERouteDistanceUnit.Kilometer );
	}
}

function onGotRouteDriveResults( route ) {
	//currRoute = route.RouteLegs[0];

	distanceType = "miles";
	if( document.getElementById( "labelCurrUnit" ).innerHTML == "Kilometers" ) {
		distanceType = "kilometers";
	}
	document.getElementById( "labelInfoDD" ).innerHTML = "Estimated Trip time: " +  roundDistance(route.Time/60) + " Minutes for " + roundDistance(route.Distance) + " " + distanceType + " of travel.";
	
	var steps = "<TABLE cellSpacing=\"0\" cellPadding=\"4\" width=\"500\" border=\"0\">";
	
	for(var j=0;j<route.RouteLegs.length;j++)
	{
		var currRoute = route.RouteLegs[j];
	
		var len = currRoute.Itinerary.Items.length;
		for( var i = 0; i < len; i++ )
		{
			//if( (i != 0) && (i != (len - 1)) ) {
				steps += "<TR vAlign=\"top\">";
				
				if( (i != 0) && (i != (len - 1)) ) 
					steps += "<TD><FONT face=\"Arial, Helvetica, sans-serif\" size=\"2\">" + i + "</FONT></TD>";
				else
					steps+="<td></td>";
					
				steps += "<TD><FONT face=\"Arial, Helvetica, sans-serif\" size=\"2\">" + currRoute.Itinerary.Items[i].Text + "</FONT></TD>";
				
				if(currRoute.Itinerary.Items[i].Distance!=0)
					steps += "<TD><FONT face=\"Arial, Helvetica, sans-serif\" size=\"2\">" + roundDistance(currRoute.Itinerary.Items[i].Distance) + "</FONT></TD>";
				else
					steps+="<td></td>";
				/*
				steps += "<TD>";
				
				if( document.getElementById( "showManeuvers" ).style.visibility == "hidden" ) {
					steps += "<img src=\""+unescape(currUrls[i-1])+"\">";
				}
				steps += "</TD>";*/
				steps += "</TR>";
				
				if(i!=(len-1))
					steps += "<TR><TD colSpan=\"4\"><HR width=\"100%\" color=\"#c0c0c0\" SIZE=\"1\"></TD></TR>";
			//}
		}
	}
	steps += "</table>";
	document.getElementById( "directionResults" ).innerHTML = steps;
	
	document.getElementById( "styleSheet" ).href = "styles/links.css";
	document.getElementById( "routeMap" ).style.display = "";
	document.getElementById( "routeMap" ).style.visibility = "visible";
}

function onGotRoute( route ) {
	//currRoute = route.RouteLegs[0];
	
	var radioKms = document.getElementById( "radioKms" );
	var radioMiles = document.getElementById( "radioMiles" );
	
	var distanceType = "miles";
	if( radioKms.checked ) {
		distanceType = "kilometers";
	}
	document.getElementById( "labelInfoDD" ).innerHTML = "Estimated Trip time: " +  roundDistance(route.Time/60) + " Minutes for " + roundDistance(route.Distance) + " " + distanceType + " of travel.";
	
	var steps = "<TABLE cellSpacing=\"0\" cellPadding=\"4\" width=\"500\" border=\"0\">";
	var count=1;
	var pointLength = route.RouteLegs.length;
	for(var j=0;j<pointLength;j++)
	{
		var currRoute = route.RouteLegs[j];
	
		var len = currRoute.Itinerary.Items.length;
		for( var i = 0; i < len; i++ )
		{
			//if( (i != 0) && (i != (len - 1)) ) {
				steps += "<TR vAlign=\"top\">";
				
				if( ((i!=0)||(j!=0))&&((i!=len-1)||j<(pointLength-1)) )
				{
					steps += "<TD width=\"25\"><FONT face=\"Arial, Helvetica, sans-serif\" size=\"2\">" + count + "</FONT></TD>";
					count++;
				}
				else
					steps+="<td></td>";
					
				var tempDir = currRoute.Itinerary.Items[i].Text;
				
				if(i==(len-1)&&(j!=pointLength-1))
					tempDir+=" at "+multiPoints[j+1].name;
				
				steps += "<TD width=\"409\"><FONT face=\"Arial, Helvetica, sans-serif\" size=\"2\">" +tempDir + "</FONT></TD>";
				steps += "<TD width=\"42\"><FONT face=\"Arial, Helvetica, sans-serif\" size=\"2\">";
				if( currRoute.Itinerary.Items[i].Distance != null &&currRoute.Itinerary.Items[i].Distance!=0)
				{
					steps += roundDistance(currRoute.Itinerary.Items[i].Distance);
				}
				else
				{
					steps += "&nbsp";
				}
				steps += "</FONT></TD>";
				/*
				steps += "<TD>";
				if( document.getElementById( "showManeuvers" ).style.visibility == "hidden" ) {
					steps += "<img src=\""+unescape(currUrls[i-1])+"\">";
				}
				steps += "</TD>";*/
				steps += "</TR>";
				
				if(i!=(len-1)||(j!=pointLength-1))
					steps += "<TR><TD colSpan=\"4\"><HR width=\"100%\" color=\"#c0c0c0\" SIZE=\"1\"></TD></TR>";
			//}
		}
	}
	steps += "</table>";
	document.getElementById( "directionResults" ).innerHTML = steps;
	
	document.getElementById( "styleSheet" ).href = "styles/links.css";
	document.getElementById( "tripInput" ).style.display = "none";
	document.getElementById( "tripInput" ).style.visibility = "hidden";
	document.getElementById( "routeGenerating" ).style.display = "none";
	document.getElementById( "routeGenerating" ).style.visibility = "hidden";
	document.getElementById( "tripResults" ).style.display = "";
	document.getElementById( "tripResults" ).style.visibility = "visible";
	document.getElementById( "tripHeader" ).style.display = "";
	document.getElementById( "tripHeader" ).style.visibility = "visible";
	document.getElementById( "routeMap" ).style.display = "";
	document.getElementById( "routeMap" ).style.visibility = "visible";
	document.getElementById( "findNearRoute" ).style.display = "";
	document.getElementById( "findNearRoute" ).style.visibility = "visible";
	document.getElementById( "headerLabel" ).innerHTML = "Start to Finish Directions";
}

function SetOriginParams( nameO, streetO, ad3O, countryO ) {
	originParams += "name_o=";
	if( nameO != null ) {
		originParams += nameO;
	}
	originParams += "&street_o=";
	if( streetO != null ) {
		originParams += streetO;
	}
	originParams += "&ad3_o=";
	if( ad3O != null ) {
		originParams += ad3O;
	}
	originParams += "&country_o=";
	if( countryO != null ) {
		originParams += countryO;
	}
}

function SetDestParams( nameD, streetD, ad3D, countryD ) {
	var destParams = "name_d=";
	if( nameD != null ) {
		destParams += nameD;
	}
	destParams += "&street_d=";
	if( streetD != null ) {
		destParams += streetD;
	}
	destParams += "&ad3_d=";
	if( ad3D != null ) {
		destParams += ad3D;
	}
	destParams += "&country_d=";
	if( countryD != null ) {
		destParams += countryD;
	}
	return destParams;
}

function roundDistance(distance)
{
	return Math.round(distance*100)/100;
}

function generateCircle(origin, radius)
{
	var lat = (origin.Latitude * Math.PI) / 180; //rad
	var lon = (origin.Longitude * Math.PI) / 180; //rad
	var d = parseFloat(radius)/earthRadius;  // d = angular distance covered on earth's surface
	var locs = new Array();
	var brng;
	for (x = 0; x <= 360; x++) 
	{ 
		var p2 = new VELatLong(0,0)            
		brng = x * Math.PI / 180; //rad
		p2.Latitude = Math.asin(Math.sin(lat)*Math.cos(d) + Math.cos(lat)*Math.sin(d)*Math.cos(brng));
		p2.Longitude = ((lon + Math.atan2(Math.sin(brng)*Math.sin(d)*Math.cos(lat), Math.cos(d)-Math.sin(lat)*Math.sin(p2.Latitude))) * 180) / Math.PI;
		p2.Latitude = (p2.Latitude * 180) / Math.PI;
		locs.push(p2);
	}
	
	var circle = new VEShape(VEShapeType.Polygon, locs); 
	circle.SetFillColor(new VEColor(219,234,242,0.5));
	circle.HideIcon();
	
	return circle;
}