var gmarkers = [];
var i = 1;

function Inint_AJAX() {
   try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
   try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
   alert("XMLHttpRequest not supported");
   return null;
};

function dochange(src, val) {
     var req = Inint_AJAX();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; //retuen value
					
               } 
          }
     };
     req.open("GET", "state.php?data="+src+"&val="+val); //make connection
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
     req.send(null); //send value

}
window.onLoad=dochange('states', -1); 

function getresults(city) {
	
	i = 1;
     var req = Inint_AJAX();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById('content').innerHTML=req.responseText; //retuen value
					Scroller.init();
					if (document.getElementById('content').offsetHeight> 500) {
					document.getElementById('scrollbar').style.visibility='visible';	
					document.getElementById('scrollUp').style.visibility='visible';			
					document.getElementById('scrollDn').style.visibility='visible';																
					}
					
               } 
          }
     };
     req.open("GET", "results.php?city="+city); //make connection
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
     req.send(null); //send value

	 
	 
}

function getothercities(city) {
     var req = Inint_AJAX();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById('othercities').innerHTML=req.responseText; //retuen value
               } 
          }
     };
     req.open("GET", "getothercities.php?city="+city); //make connection
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
     req.send(null); //send value
	 
}

function getplacedetails(id) {
     var req = Inint_AJAX();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById('placedetails').innerHTML=req.responseText; //retuen value
               } 
          }
     };
     req.open("GET", "getplacedetails.php?id="+id); //make connection
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
     req.send(null); //send value
	 
}


    //<![CDATA[
// this is the Javascript that makes the map.  It should be defined in the head of the document

// global variables
      var map;

// A function to create the marker and set up the event window
function createMarker(point,name,html,id) {
// alert("createMarker("+point+","+name+","+html+")");
        var marker = new GMarker(point);
		gmarkers[i] = marker;
		i++;

        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
		  getplacedetails(id);
		  

        });
        return marker;
      }

      // This function picks up the click and opens the corresponding info window
      function myclick(i) {
        GEvent.trigger(gmarkers[i], "click");
      }



function makeMap(city,thex,they) {
	  if (typeof thex == "undefined") {
    thex="-79.359741";
	they="43.907787";
  }
    if (GBrowserIsCompatible()) {
      // resize the map
      var m = document.getElementById("map");
      m.style.height = "350px";
      m.style.width = "620px";

      // create the map
      map = new GMap(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.centerAndZoom(new GPoint(thex, they), 3);


      // Read the data from example.xml
      
if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Opera, etc.
  var request=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE6, IE5
  var request=new ActiveXObject("Microsoft.XMLHTTP");
  }
      var filename = "http://www.sushi-places.com/mapscript.php?city="+city;
      request.open("GET", filename, true);
      request.onreadystatechange = function() {
//        alert("readyState ="+request.readyState);
        if (request.readyState == 4) {
          if (request.status == 200) {
             var xmlDoc = request.responseXML;
	     if (xmlDoc.documentElement) {
                // obtain the array of markers and loop through it
                var markers = xmlDoc.documentElement.getElementsByTagName("marker");
//              alert("loading "+markers.length+" markers");
                for (var i = 0; i < markers.length; i++) {
                  // obtain the attribues of each marker
                  var lat = parseFloat(markers[i].getAttribute("lat"));
                  var lng = parseFloat(markers[i].getAttribute("lng"));
                  var point = new GPoint(lng,lat);
                  var html = markers[i].getAttribute("html");
                  var label = markers[i].getAttribute("label");
				  var id = markers[i].getAttribute("id");
                  // create the marker
                  var marker = createMarker(point,label,html,id);
                  map.addOverlay(marker);
				  if (i==0) {
					  myclick(1);
				  }
                }
             } else {
                alert("invalid xml file:"+filename);
             }
          } else {
          alert("file not found:"+filename);
          };
        }
      }
//      alert("sending null");
      request.send(null);
    }
}

