var map = null;
var geocoder = null;

    /*function loadMap() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.setMapType(G_MAPMAKER_NORMAL_MAP);
      }
    }*/

    function showAddress(address,tooltip,nocenter) 
    {
    	geocoder = new GClientGeocoder();
     	geocoder.getLatLng(
       	address,
       	function(point) {
         if (!point) {
           //alert(address + " not found");
         }
         else {
		if(nocenter>=0)
		{
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			//var marker = new GMarker(point);
			var marker = createMarker(point,tooltip);
			map.addOverlay(marker);
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			if(tooltip!="")
			{
				map.addOverlay(marker);
				var marker = new GMarker(point);
				map.openInfoWindowHtml(point,tooltip);
			//	marker.openInfoWindowHtml(tooltip);
			}
		}
		else
			nocenter=(-1)*nocenter;
		if(nocenter==0)
			map.setCenter(point,12);
		else
		if(nocenter==1)
			map.setCenter(point);
		else
		if(nocenter>1)
		{
			map.setCenter(point,nocenter);
		}
         }
        }
       );
      }

function submitSearch() 
{
	n_individuals=0;
	var query = document.getElementById('as').value;
	var cat = document.getElementById('as_cat').value;
	var loc = document.getElementById('as_loc').value;
	jQuery.post("/wp-content/themes/classipress/functions/ajaxsearch.php",
		{
			s: query,
			cat: cat,
			loc:loc
		},
		function(data)
		{
			if(!data.error) 
			{
				jQuery(".as_list").html(data);
				var items = new Array();
				jQuery("span.as_item > div").each(
					function()
					{
						items[items.length] = this.innerHTML;
					}
				);
				var thumbs = new Array();
				jQuery("span.image > div").each(
					function()
					{
						var this_thumb=this.style.backgroundImage;
						this_thumb=this_thumb.replace("url(","");
						this_thumb=this_thumb.replace(")","");
						thumbs[thumbs.length] = this_thumb;
					}
				);
				if (GBrowserIsCompatible()) 
				{
					map = new GMap2(document.getElementById("map"));
					map.setMapType(G_MAPMAKER_NORMAL_MAP);
					map.addControl(new GSmallMapControl());//zoom
					map.addControl(new DragZoomControl());//zoom

					//individual flag/marker on mouse down
					var myEventListener = GEvent.bind(map, "click", this, function(overlay, latlng) 
					{
						{
							if (latlng) 
							{
								if(n_individuals==0)
								{
									map.addOverlay(new GMarker(latlng,{draggable: true}))
									n_individuals++;
								}
							} 
							else if (overlay instanceof GMarker) 
							{
								this.removeOverlay(marker)
							}
						} 
					});
					//end: individual flag/marker on mouse down

					geocoder = new GClientGeocoder();
					var i = 1;
					jQuery("span.as_location").each
					(
						function()
						{   
							if(this.innerHTML != 'Location') 
							{
								showAddress(this.innerHTML,'<p><strong>'+this.innerHTML+'</strong><br />' + '<img width="50"  style="float:left;margin-right:3px;margin-top:3px;" src="' + thumbs[i-1] + '"/>' + items[i-1],0);
								i++;
							}
						}
					);
					
					//user custom location/position:
					showAddress(document.getElementById("as_pos").value,"Your position",1);

				}
			}
			else 
			{
				//alert(data.error);
			}
		}
	);
}


function geoMapLoader()
{
	if (GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("map"));
		map.setMapType(G_MAPMAKER_NORMAL_MAP);
		map.addControl(new GSmallMapControl());//zoom
		map.addControl(new DragZoomControl());//zoom
					//individual flag/marker on mouse down
					var myEventListener = GEvent.bind(this.map, "click", this, function(overlay, latlng) 
					{
						{
							if (latlng) 
							{
								if(n_individuals==0)
								{
									this.map.addOverlay(new GMarker(latlng,{draggable: true}))
									n_individuals++;
								}
							} 
							else if (overlay instanceof GMarker) 
							{
								this.removeOverlay(marker)
							}
						} 
					});
					//end: individual flag/marker on mouse down
	
		geocoder = new GClientGeocoder();
		if (google.loader.ClientLocation != null) {
				//document.write("Your Location Is: " + google.loader.ClientLocation.address.city + ", " + google.loader.ClientLocation.address.region);
			geocoder.getLatLng(
			google.loader.ClientLocation.address.city + ", " + google.loader.ClientLocation.address.region,
			function(point) {
				if (!point) {
				//alert(address + " not found");
				}
				else {
				document.getElementById('as_pos').value = google.loader.ClientLocation.address.city + ", " + google.loader.ClientLocation.address.region;
				map.setCenter(point,12);
				//map.addControl(new GSmallMapControl());
				//map.addControl(new GMapTypeControl());
				//var marker = new GMarker(point);
				//map.addOverlay(marker);
				//marker.openInfoWiy);
				}
				}
				);
		}
	}
}


function geoMapLoaderx()
{
	if (GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("mapx"));
	        map.setMapType(G_MAPMAKER_NORMAL_MAP);
		map.addControl(new GSmallMapControl());//zoom
		map.addControl(new DragZoomControl());//zoom
		//individual flag/marker on mouse down
		/*
		var myEventListener = GEvent.bind(this.map, "click", this, function(overlay, latlng) 
		{
			{
				if (latlng) 
				{
					if(n_individuals==0)
					{
						this.map.addOverlay(new GMarker(latlng,{draggable: true}))
						n_individuals++;
					}
				} 
				else if (overlay instanceof GMarker) 
				{
					this.removeOverlay(marker)
				}
			} 
		});
		*/
		//end: individual flag/marker on mouse down
	
		geocoder = new GClientGeocoder();
		if (google.loader.ClientLocation != null) {
				//document.write("Your Location Is: " + google.loader.ClientLocation.address.city + ", " + google.loader.ClientLocation.address.region);
			geocoder.getLatLng(
			google.loader.ClientLocation.address.city + ", " + google.loader.ClientLocation.address.region,
			function(point) {
				if (!point) {
				//alert(address + " not found");
				}
				else {
				//document.getElementById('as_pos').value = google.loader.ClientLocation.address.city + ", " + google.loader.ClientLocation.address.region;
				map.setCenter(point,12);
				//map.addControl(new GSmallMapControl());
				//map.addControl(new GMapTypeControl());
				//var marker = new GMarker(point);
				//map.addOverlay(marker);
				//marker.openInfoWiy);
				}
				}
				);
		}
	}
}


function initMap() 
{
	n_individuals=0;
	var query = "";//document.getElementById('as').value;
	var cat = "";//document.getElementById('as_cat').value;
	try{cat = current_cat_id;}catch(err){}
	var loc = "";//document.getElementById('as_loc').value;
	jQuery.post("./wp-content/themes/classipress/functions/ajaxsearchx.php",
		{
			s: query,
			cat: cat,
			loc:loc
		},
		function(data)
		{
			if(!data.error) 
			{
				jQuery("#searchresultshidden").html(data);
				var items = new Array();
				jQuery("#searchresultshidden span.as_item > div").each(
					function()
					{
						items[items.length] = this.innerHTML;
					}
				);
				var thumbs = new Array();
				jQuery("#searchresultshidden span.image > div").each(
					function()
					{
						var this_thumb=this.style.backgroundImage;
						this_thumb=this_thumb.replace("url(","");
						this_thumb=this_thumb.replace(")","");
						if(this_thumb=="")
							this_thumb="/wp-content/themes/classipress/images/no-pic.png";
						thumbs[thumbs.length] = this_thumb;
					}
				);
				if (GBrowserIsCompatible()) 
				{
					map = new GMap2(document.getElementById("mapx"));
					map.setMapType(G_MAPMAKER_NORMAL_MAP);
					map.addControl(new GSmallMapControl());//zoom
					map.addControl(new DragZoomControl());//zoom

					//individual flag/marker on mouse down
					/*
					var myEventListener = GEvent.bind(map, "click", this, function(overlay, latlng) 
					{
						{
							if (latlng) 
							{
								if(n_individuals==0)
								{
									map.addOverlay(new GMarker(latlng,{draggable: true}))
									n_individuals++;
								}
							} 
							else if (overlay instanceof GMarker) 
							{
								this.removeOverlay(marker)
							}
						} 
					});
					*/
					//end: individual flag/marker on mouse down

					geocoder = new GClientGeocoder();
					var i = 1;
					jQuery("#searchresultshidden span.as_location").each
					(
						function()
						{   
							if(this.innerHTML != 'Location') 
							{
								showAddress(this.innerHTML,'<p><strong>'+this.innerHTML+'</strong><br />' + '<img width="50"  style="float:left;margin-right:3px;margin-top:3px;" src="' + thumbs[i-1] + '"/>' + items[i-1],1);
								i++;
							}
						}
					);
					showAddress("Jordan","",-7);//default position/zoom
					//user custom location/position:
					//showAddress(document.getElementById("as_pos").value,"Your position",1);

				}
			}
			else 
			{
				//alert(data.error);
			}
		}
	);
}


function createMarker(point,html) 
{
  var marker = new GMarker(point);
  GEvent.addListener(marker, "click", function() 
  {
    marker.openInfoWindowHtml(html);
  });
  return marker;
}
