var map;
var gmarkers = [];
var markerOptions;
var default_zoom_level=8;
function load_google(){
		//alert(document.getElementById("datawrapper").offsetWidth + " : " + document.getElementById("mapembed").offsetWidth)
		  ////NK Addition to add style for IE 6////
		if(testIE6()){
			var mapDiv = document.getElementById("mapembed")
			var winH = document.body.clientHeight
			var winW = document.body.clientWidth
			var newW = Math.round(document.getElementById("datawrapper").offsetWidth * .97).toString() + "px"
			var newH = document.getElementById("datawrapper").offsetHeight.toString() + "px"
			//mapDiv.style.width = newW 
			mapDiv.style.height = newH
			
			//alert("width: " + document.getElementById("datawrapper").offsetWidth + " : " + newW)
			
			////Set the height of the content columns////
			var col1 = document.getElementById("column2_hidden")
			var col2 = document.getElementById("column1_hidden")
			var col3 = document.getElementById("column2_neighborhood_hidden")
			col1.style.height = newH
			col2.style.height = newH
			col3.style.height = newH
		}
		
	  if (GBrowserIsCompatible()) {

        map = new GMap2(document.getElementById("mapembed"));
		
		var mapTypeControl = new GMapTypeControl();
		var BottomLeft = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(10,10));	
		var TopLeft = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,10));	
		
		
        map.addControl(new GSmallMapControl(), TopLeft);
        map.addControl(new GMapTypeControl(), BottomLeft);
        var center = new GLatLng(28.55315,-81.36444);
        map.setCenter(current_map_center(center), current_zoom_level()); //zoom level
        geocoder = new GClientGeocoder();
		
		var blueIcon = new GIcon(G_DEFAULT_ICON);
        blueIcon.image = "http://newbroadstreetrealty.com/data/points/NBS_pinpoint.png";
        blueIcon.shadow = ""; //no icon
		blueIcon.iconSize =  new GSize(32, 36); //for some reason without this line it messed up image
		markerOptions = { icon:blueIcon };
		
		

    }
	
}
function testIE6(){
	var ua = navigator.userAgent;
	var returnVal = false
	if (ua.toLowerCase().indexOf("msie 6.0")>-1){
		////This is IE 6////
		returnVal = true
	}
	return returnVal
}
function query_noresults(){
	map.clearOverlays()
	var center = new GLatLng(28.55315,-81.36444);
    map.setCenter(current_map_center(center), current_zoom_level()); //zoom level
}
function obtain_geolocation_HTTP(address,ID,tablename,propertytype) {
	 //I WROTE THIS TO USE CROSS DOMAIN SCRIPTING HTTP INFO
	
	var lat='';
	var lng='';
	//--created using webrequest. Cant cross domain request via httpwebrequest with javscript so do it serverside
	
    var Googxml = new JKL.ParseXML("../../geolocation_interface.aspx?q="+address.split("#").join(""));
    var retdata = Googxml.parse();
	
	var theinfo = retdata["kml"]["Response"]["Placemark"]["Point"]["coordinates"];
	
	add_location(theinfo.split(",")[1],theinfo.split(",")[0],ID,tablename,propertytype);
	
	  
    var thelocation = lng+","+lat;
    return thelocation
}
function obtain_geolocation(address,ID,tablename,propertytype) {
	 //THIS WAS THE FUNCTION I WAS USING FOR GOOGLE AUTO GEOCODE
	//setTimeout("",100);
	
	
	var lat='';
	var lng='';
	
   if (geocoder) {
		geocoder.getLatLng(
		  address.split("#").join(""),
		  function(point) {
			if (!point) {
			//  alert(address + " not found");
			} else {
			lat = point.lat().toFixed(5);
			lng = point.lng().toFixed(5);
			
			add_location(lng,lat,ID,tablename,propertytype);
			}
		  }
		);
	}
	  
  var thelocation = lng+","+lat;
  return thelocation
}
	var uu=0;
function add_location(lng,lat,ID,tablename,propertytype){
	if (lat.toString().indexOf("28.")!=-1 && lng.toString().indexOf("-81.")!=-1){
		var url = "../../update_geolocation.aspx?id="+ID+'&lng='+lng+'&lat='+lat+'&tbl='+tablename+'&propertytype='+propertytype;
		//alert(url);
	    xml = new JKL.ParseXML(url);
	    data = xml.parse();
		
		uu++;
	}
}


function pullpoint(i) {// This function picks up the click and opens the corresponding info window
	GEvent.trigger(gmarkers[i], "click");
}
function plot_item_immediately(lat,lng,information,theGoogleID){

	var blueIcon = new GIcon(G_DEFAULT_ICON);
	blueIcon.image = "http://newbroadstreetrealty.com/data/points/NBS_pinpoint.png";
	blueIcon.shadow = ""; //no icon
	blueIcon.iconSize =  new GSize(32, 36); //for some reason without this line it messed up image
	markerOptions = { icon:blueIcon };
	var point = new GLatLng(lat,lng);
	
	map.addOverlay(createMarker(point,information,theGoogleID));	
}
function plot_item_immediately_featured(lat,lng,information,theGoogleID){
	//alert(information)
	var blueIcon = new GIcon(G_DEFAULT_ICON);
	blueIcon.image = "http://newbroadstreetrealty.com/data/points/pinpoint_orange.png";
	blueIcon.shadow = ""; //no icon
	blueIcon.iconSize = new GSize(32, 36); //for some reason without this line it messed up image
	markerOptions = { icon:blueIcon };	
	var point = new GLatLng(lat,lng);
	map.addOverlay(createMarker(point,information,theGoogleID));
}
function recenter(lat,lng,minLat,maxLat,minLong,maxLong){
	//alert(lat+'|'+lng+'|'+minLat+'|'+maxLat+'|'+minLong+'|'+maxLong)
	map.clearOverlays()
	var bounds = new GLatLngBounds;
	bounds.extend(new GLatLng(minLat, minLong));
	bounds.extend(new GLatLng(maxLat, maxLong));
	//alert(current_zoom_level(map.getBoundsZoomLevel(bounds)))
	//alert(current_map_center(bounds.getCenter()) & "   " & current_zoom_level(map.getBoundsZoomLevel(bounds)))
	map.setCenter(current_map_center(bounds.getCenter()), current_zoom_level(map.getBoundsZoomLevel(bounds))); 
	
	
}
function current_map_center(requested_center){
	//alert(map.getCenter())
	var ret
	
	if (document.forms['centerthezoom'].centermap.checked==true){
		ret = map.getCenter();
	}else{
		ret = requested_center;
	}
	return ret
}
function current_zoom_level(requested_zoom){

	if (requested_zoom=="0"){
		requested_zoom="13";
	}
	//GEvent.addListener(map, "zoomend", function(oldzoom,zoom) {
	var ret
	if (document.forms['centerthezoom'].centermap.checked==true){
		ret = map.getZoom();
	}else{
		if (requested_zoom==undefined || requested_zoom==''){
			ret = default_zoom_level;
		}else{
			ret = requested_zoom;
		}
	}
	//alert("requested_zoom"+requested_zoom)
	//alert(ret)
	return ret
//}); 
}
function createMarker(point, info,theGoogleID) {
	    //var marker = new GMarker(point,markerOptions); //adds the custom marker as well
	    var marker = new GMarker(point,markerOptions); //adds the custom marker as well
	    GEvent.addListener(marker, "click", function() {
	          marker.openInfoWindowHtml(info);
	        }
		);
		 // save the info we need to use later for the side_bar
        gmarkers[theGoogleID] = marker;
       return marker;
    }
function createMarker2(point,name,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
       
        return marker;
      }	
//Neighborhood mapping below ------------------------------------------------------------------------------------------------------------------
var gridxml;
var griddata;
function load_single_polygrid(id,zoom){
	
		//uncheck the current zoom level for all neighborhood included queries
		document.forms['centerthezoom'].centermap.checked=false;
	
		var pts = [];
		//alert(zoom)
	
		var url = "../../polyline_interface.aspx?id="+id+"&type=single";
		gridxml = new JKL.ParseXML(url);
	    griddata = gridxml.parse();
		
		var point_information = griddata["interfacedata"]["points"];
		var stopnum = griddata["interfacedata"]["stop"];
		
		if (zoom=='' || zoom==undefined){
			zoom=13;
		}
		map.setCenter(new GLatLng(griddata["interfacedata"]["points"]["center"]["lat"],griddata["interfacedata"]["points"]["center"]["lng"]), parseInt(zoom));

		for (var i = 0; i < stopnum; i++) {
				pts[i] = new GLatLng(point_information["point"][i]["lat"],point_information["point"][i]["lng"]);
		}
		
		map.addOverlay(new GPolyline(pts,"#ff0000", 5));
	

		//load points if they are available
		
		for (var i = 0; i < neighborhood_tmpLAT_array.length; i++) {
			
			
			var blueIcon = new GIcon(G_DEFAULT_ICON);
			blueIcon.image = "http://newbroadstreetrealty.com/data/points/pinpoint_orange.png";
			blueIcon.shadow = ""; //no icon
			blueIcon.iconSize =  new GSize(32, 36); //for some reason without this line it messed up image
			markerOptions = { icon:blueIcon };
			point = new GLatLng(neighborhood_tmpLAT_array[i],neighborhood_tmpLNG_array[i]);
			map.addOverlay(createMarker(point,neighborhood_tmpNFO_array[i],neighborhood_tmpID_array[i]));//,information,theGoogleID
				
		}
		
	
		

}

function pull_neighborhood_point(id){
	document.getElementById('selectNeighborhoodPark').selectedIndex = id; //set list on the main query form to the neighborhood selected
	document.getElementById('HomeType').selectedIndex = 2; //set list on the main query form so user has to select type of home (currently single family will be shown)
	map.clearOverlays(); 
	load_single_polygrid(id,13);
}