// JavaScript Document

var xsltDoc;
var xsltInfo;
var done = false;
var markers;
var markersInfo;
var marks = new Array();
var html = new Array();
var justmembers=1;
var map;
var baseIcon;

function initMap()
	{
	if (!GBrowserIsCompatible()) {
    	alert("Sorry, your browser is incompatible with Google Maps");
	    return;
  	}		
	baseIcon = new GIcon();
	baseIcon.shadow = "http://www.bapa.org/graphics/googlemarkers/shadow.png";
	baseIcon.iconSize = new GSize(25, 25);
	baseIcon.shadowSize = new GSize(25, 25);
	baseIcon.iconAnchor = new GPoint(12, 20);
	baseIcon.infoWindowAnchor = new GPoint(4, 1);
	baseIcon.infoShadowAnchor = new GPoint(9, 13);
	
	map = new GMap(document.getElementById("map", G_HYBRID_TYPE));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.centerAndZoom(new GPoint(-87.681596,41.705862), 4);

	getShopping();
	}

function transform(xmlDoc) {
	var transformme = GXslt.create(xsltDoc);
	var side = document.getElementById("side");
	transformme.transformToHtml(xmlDoc,side);
}

function getXslt(xmlDoc) {
if(!done) {
var xsltRec = GXmlHttp.create();
xsltRec.open('GET', "side.xsl", true);
xsltRec.onreadystatechange = function() {
  if (xsltRec.readyState == 4) {
    done = true;
    xsltDoc = xsltRec.responseXML;
    transform(xmlDoc);
  }
};
xsltRec.send(null);
}
else{
    transform(xmlDoc);
}
}
function getShopping() {
map.clearOverlays();
var side = document.getElementById("side");
var message = document.getElementById("message");
side.innerHTML = "";
message.innerHTML = "<img src='graphics/googlemarkers/loading.gif' align='middle'/>";
var request = GXmlHttp.create();

//request.open("GET", "businessxml.asp?s_member="+justmembers, true);
request.open("GET", "businessxml.asp?s_category="+document.shoppingSearch.s_category.value+"&s_company="+document.shoppingSearch.s_company.value+"&s_member="+justmembers, true);

request.onreadystatechange = function() {
  if (request.readyState == 4) 
  	{
    var xmlDoc = request.responseXML;
	getXslt(xmlDoc);
    markers = xmlDoc.documentElement.getElementsByTagName("marker");
    marks = new Array(markers.length);
    markersInfo = new Array(markers.length);
	var j=0;
	for (var i = 0; i < markers.length; i++) 
		{
		j++;
    	var point = new GPoint(parseFloat(markers[i].getAttribute("longitude")),
        	                   parseFloat(markers[i].getAttribute("latitude")));

      	var icon = new GIcon(baseIcon);
 	  	icon.image = "http://www.bapa.org/graphics/googlemarkers/marker_"+markers[i].getAttribute("member")+"_"+markers[i].getAttribute("category")+".png"

		var marker = new GMarker(point,icon);				

		var location = markers[i];
        markersInfo[i] = location;
		
		marks[i] = marker;
		map.addOverlay(marker);	

		GEvent.addListener(marker,'click',makeOpenerCaller(i));	
}
	justmembers="";
	message.innerHTML = "";
	}
};
request.send(null);
}

function openmark(index) {
  	var location = markersInfo[index];
	marks[index].openInfoWindowXslt(location, "info.xsl");
}

function makeOpenerCaller(i) {
	return function() { openmark(i); };
    }

