		var map;
		var geocoder = new GClientGeocoder();
		var bounds = new GLatLngBounds();
		var CITYSEARCH_USA = "citysearch_usa.xml";
		
		var baseIcon = new GIcon();
		baseIcon.iconSize = new GSize(35, 35);
		baseIcon.shadowSize = new GSize(53, 35);
		baseIcon.iconAnchor = new GPoint(16, 35);
		baseIcon.infoWindowAnchor = new GPoint(17, 4);
		baseIcon.infoShadowAnchor = new GPoint(17, 25);
		baseIcon.shadow = "shadow.png";

        var icon = new GIcon(baseIcon);		
		var pins = new Array();
		pins = ["csmarker1.png","csmarker2.png","csmarker3.png","csmarker4.png","csmarker5.png","csmarker6.png","csmarker7.png","csmarker8.png","csmarker9.png","csmarker10.png"];		
		
		function addFeedPin(i,address, title, link, desc, channelTitle, imageUrl) {
		  geocoder.getLatLng(address, function(point) {
			  if (point) {
				icon.image = pins[i];
				var marker = new GMarker(point,{icon:icon, title:title});
                bounds.extend(point);
				map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
				map.addOverlay(marker);
				GEvent.addListener(marker, "click", function() {
		//			marker.openInfoWindowHtml('<span><table align="center" border="0" cellspacing="0" cellpadding="5"><tr><td align="center"><a href="'+link+'" target="_blank">'+unescape(title)+'</a></td></tr><tr><td valign="top"><span>'+unescape(desc)+'</span></td></tr></table></span>');
					marker.openInfoWindowHtml('<table width="100%" height="60"><tr><td><a style="font:bold 14pt Arial" href="'+link+'" target="_blank">'+unescape(title)+'</a></td><td><a href="'+link+'" target="_blank"><img src="link-arrow.png" border="0"></a></td></tr></table>');			
				});
			  }
			}
		  );
		}

		function load_pins(rssUrl) {
			var feed = new google.feeds.Feed(rssUrl);
			feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
			feed.setNumEntries(10);
			feed.load(function(result) {
				map.clearOverlays();
				var str = '';
			//	var container = document.getElementById("div_itemfeed");
				if(rssUrl == "") {
				} else
					if (!result.error) {
						var channel = result.xmlDocument.getElementsByTagName("channel");
						var channelTitle = channel[0].getElementsByTagName("title")[0].firstChild.nodeValue;
						var channelLink = channel[0].getElementsByTagName("link")[0].firstChild.nodeValue;
						var image = result.xmlDocument.getElementsByTagName("image");
						var imageUrl = channel[0].getElementsByTagName("url")[0].firstChild.nodeValue;
						var items = result.xmlDocument.getElementsByTagName("item");
						for (var i = 0; i < items.length; i++) {
							var titleElement = items[i].getElementsByTagName("title")[0];
							var title = titleElement.firstChild.nodeValue;
							var linkElement = items[i].getElementsByTagName("link")[0];
							var link = linkElement.firstChild.nodeValue;
							var descElement = items[i].getElementsByTagName("description")[0];
							var desc = descElement.firstChild.nodeValue;
							var desc_length = desc.length;
							var addr_end = 0;
							var c = 0;
							var first_time = 0;
							for (j=0;j<desc_length;j++){
								if (c == 1 && first_time == 0) {
									addr_end = j+3;
									first_time = 1;
								}	
								if (c < 3) {
									if (desc.charAt(j) == ',') c++;
								}								
								else if (c == 3) {
									c++;
									addr_end = j-1;
								}
							}
							var address = desc.substring(0,addr_end);
							addFeedPin(i,address, title, link, desc, channelTitle, imageUrl);
							bounds = new GLatLngBounds();
							str += '<li><a href="#map">'+(i+1)+'. '+title+'</a></li>';
						}
					//	document.getElementById("top10").innerHTML = str;
					} 
			});
		}

		function load_type(cityUrl,category_index, catId) {
				GDownloadUrl(cityUrl, function(data, responseCode) {
				  var xml = GXml.parse(data);
				  var feeds = xml.documentElement.getElementsByTagName("a"+category_index);
				  var str ='';
				  for (var i = 1; i < feeds.length; i++) {
					rss = feeds[i].getAttribute("rss");
					name = feeds[i].getAttribute("name");
					str += '<li><a href="#map" onclick="loadMap();load_pins(\''+rss+'\');">'+name+'</a></li>';
				  }
				 document.getElementById(catId).innerHTML = str;
				});	
		}

		function load_category(cityId, cityUrl) {
				GDownloadUrl(cityUrl, function(data, responseCode) {
				  var xml = GXml.parse(data);
				  var categories = xml.documentElement.getElementsByTagName("feeds");
				  var str ='';
				  for (var i = 1; i < categories.length; i++) {
					category = categories[i].getAttribute("category");
					str += '<li><a href="#'+cityId+'_'+category+'" onclick="load_type(\''+cityUrl+'\','+i+',\''+cityId+'_'+category+'\')">'+category+'</a></li>';
				  }
				  document.getElementById(cityId).innerHTML = str;
				});
				document.getElementById('button').style.visibility='visible';
		}

		function load_city(url) {
			GDownloadUrl(url, function(data, responseCode) {
			  var xml = GXml.parse(data);
			  var city = xml.documentElement.getElementsByTagName("city");
			  var str ='';
			  var str1 = '';
			  var str2 = '';
			  for (var i = 1; i < city.length; i++) {
				city_name = city[i].getAttribute("name");
				city_url = city[i].getAttribute("data");
				city_addr = city[i].getAttribute("address");
				city_lat = city[i].getAttribute("lat");
				city_lng = city[i].getAttribute("lng");
				str += '<li><a href="#'+city_name+'" onclick="load_category(\''+city_name+'\',\''+city_url+'\')">'+city_name+'</a></li>';
				str1 += '<ul id="'+city_name+'" title="'+city_name+'"></ul>';
				str1 += '<ul id="'+city_name+'_Restaurants" title="Restaurants"></ul>';
				str1 += '<ul id="'+city_name+'_Shopping" title="Shopping"></ul>';
				str1 += '<ul id="'+city_name+'_Services" title="Services"></ul>';
				str1 += '<ul id="'+city_name+'_Hotels" title="Hotels"></ul>';
				str1 += '<ul id="'+city_name+'_Spa and Beauty" title="Spa and Beauty"></ul>';
				str1 += '<ul id="'+city_name+'_Nightlife" title="Nightlife"></ul>';
				str1 += '<ul id="'+city_name+'_Dating and Mating" title="Dating and Mating"></ul>';
				str1 += '<ul id="'+city_name+'_Street Cents" title="Street Cents"></ul>';
			  }
			 document.getElementById("rest").innerHTML += str1;
			 document.getElementById("cities").innerHTML = str ;
			});	
		}
		
		function loadMap() {
			map = new GMap2(document.getElementById("map")); 
			map.addControl(new GSmallZoomControl());
			map.setCenter(new GLatLng(39,-96), 3);	
		//	map.checkResize();
		}
		
		function load() {
		  if (GBrowserIsCompatible()) {
			
			document.getElementById('map').style.height = (document.body.offsetHeight-43) +'px';
			load_city(CITYSEARCH_USA);
			loadMap();

			var adsOptions = {maxAdsOnMap:10, minZoomLevel:2, channel:"7408985060"};
			var ads = new GAdsManager(map,"ca-pub-2773616400896769", adsOptions);
			ads.enable();

			}
		} 
