	// Create polygon method for collision detection
	GPolygon.prototype.containsLatLng = function(latLng) {
		// Do simple calculation so we don't do more CPU-intensive calcs for obvious misses
		var bounds = this.getBounds();
		
		if(!bounds.containsLatLng(latLng)) {
			return false;
		}
		
		var numPoints = this.getVertexCount();
		var inPoly = false;
		var i;
		var j = numPoints-1;
		
		for(var i=0; i < numPoints; i++) { 
			var vertex1 = this.getVertex(i);
			var vertex2 = this.getVertex(j);
			
			if (vertex1.lng() < latLng.lng() && vertex2.lng() >= latLng.lng() || vertex2.lng() < latLng.lng() && vertex1.lng() >= latLng.lng())  {
				if (vertex1.lat() + (latLng.lng() - vertex1.lng()) / (vertex2.lng() - vertex1.lng()) * (vertex2.lat() - vertex1.lat()) < latLng.lat()) {
					inPoly = !inPoly;
				}
			}
			
			j = i;
		}
		
		return inPoly;
	};
		
	function isContained(poly,point) {	
		var inPoly = poly.containsLatLng(point);
		if(inPoly) {
						//	alert("Marker in bounds")
						return true;
					} else {
						//alert("Marker out of bounds")
						return false;					
					}
				}