
var locEventData = readLocEventXML(locationsXML,"link,title,location,description","item"); //Location Event Info Array
var eventLoc = uniqueArray(locEventData[2]); //Array of Event Locations

//Adds Event Location info from XML into array
function readLocEventXML(fileName, fields, wrapper)
{
	var xmlhttp, x, xmlDoc;
	if (window.XMLHttpRequest)
	{// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}
	else
	{// code for IE6, IE5
	 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}

	xmlhttp.open("GET",fileName,false);
	xmlhttp.send();
	xmlDoc=xmlhttp.responseXML;

	var parseData = new Array();
	var parseFields = new Array();

	if (fields=="*")
	{
		w=xmlDoc.getElementsByTagName(wrapper)[0].childNodes;
		y=xmlDoc.getElementsByTagName(wrapper)[0].firstChild;
		count=0
		for (i=0;i<w.length;i++)
		{
		if (y.nodeType==1)
		  {
			parseFields[count] = y.nodeName;
			count++;
		  }
		y=y.nextSibling;
		}
	}
	else
	{
		parseFields = fields.split(",");
	}

	x=xmlDoc.getElementsByTagName(wrapper);

	for (var i in parseFields)
	{
		parseData[i] = [];

		for (var j=0;j<x.length;j++)
		{
			try
			{
				parseData[i][j] = x[j].getElementsByTagName(parseFields[i])[0].childNodes[0].nodeValue;
			}
			catch (err)
			{
				parseData[i][j] = "Data not found";
			}
		}
	}
	return parseData;

}

function uniqueArray(myArray)
{
	var r = new Array();
	o:for(var i = 0, n = myArray.length; i < n; i++)
	{
		for(var x = 0, y = r.length; x < y; x++)
		{
			if(r[x]==myArray[i])
			{
				continue o;
			}
		}
		r[r.length] = myArray[i];
	}
	return r;
}


//////////////////////////////////////
//Add markers for all event locations//
//////////////////////////////////////

var locEventArray = new Array();

function addEvents()
{
	if (locEventArray.length==0)
	{
		for(var i = 0; i < markerDataArray.length; i++)
		{
			for(var j = 0; j < markerDataArray[i].length; j++)
			{
				if (markerDataArray[i][0]!=0)
				{
					var locInfo = markerDataArray[i][j].name;

					if (markerDataArray[i][j].evtHtml)
					{
						var locMarker = new GMarker(markerArray[i][j].getLatLng(), {icon:eventsIcon, clickable:false, zIndexProcess:lowZ});
						locEventArray.push(locMarker);
						map.addOverlay(locMarker);
					}
					else
					{
						for (var k in eventLoc)
						{
							if (locInfo==eventLoc[k] && markerDataArray[i][j].abrv.indexOf("_")==-1)
							{
								var locTitle="FAIL";
								for (var l in locEventData[2])
								{
									if (eventLoc[k]==locEventData[2][l])
									{
										locTitle = locEventData[1][l] + "\n" + locEventData[3][l];
										break;
									}
								}

								var locMarker = new GMarker(markerArray[i][j].getLatLng(), {icon:eventsIcon, title:locTitle, clickable:false, zIndexProcess:lowZ});
								locEventArray.push(locMarker);
								map.addOverlay(locMarker);
								break;
							}
						}
					}
				}
			}
		}
	}
	else
	{
		for (var i in locEventArray)
		{
			map.addOverlay(locEventArray[i]);
		}
	}
}

function removeEvents()
{
	for (var i in locEventArray)
	{
		map.removeOverlay(locEventArray[i]);
	}
}

function lowZ(marker,b){
	return GOverlay.getZIndex(marker.getPoint().lat())-1000000;
}


