function createMarker(point, html) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html)});
	return marker;
}

function createPoint(lat, lon){
	var point = new GPoint(lon, lat);
	return point;
}
function createPolyline(map, ata_lat, ata_lon, toa_lat, toa_lon, accolor, desweight) {
	var point1 = new GPoint(ata_lon, ata_lat);
	var point2 = new GPoint(toa_lon, toa_lat);
	var points = [];
	if(desweight == null){
		desweight = 3
	}
	points.push(point1);
	points.push(point2);
	//var xstylestr = "{segmentCount: 20, beginArrow: true, endArrow: true, color: '" + accolor + "'}";
	var xstyle = {segmentCount: 30, weight: desweight , arrowsEvery: 500,  endArrow: true, color: "'" + accolor + "'", pattern: [20, 10]}
	//alert("hello")
	//var line = new GPolyline(points, accolor,3);
   
	//map.addOverlay(new XArrow(point1, point2, point1,accolor));
	var line = new XPolyline(points,xstyle)	
	line.style.color = accolor
	map.addOverlay(line)	
	return line;
}

function centerAndZoom(gmap,point, depth){
   gmap.centerAndZoom(point,depth)
}

// GMap.prototype.centerAndZoomOnBounds = function(bounds) {
//    var center_lat = (bounds.getNorthEast().lat() +
// bounds.getSouthWest().lat()) / 2.0;
//    var center_lng = (bounds.getNorthEast().lng() +
// bounds.getSouthWest().lng()) / 2.0;
//    var center = new GLatLng(center_lat,center_lng)
//    map.setCenter(center, map.getBoundsZoomLevel(bounds));

// } 

GMap.prototype.centerAndZoomOnBounds = function(bounds) {
	var span = new GSize(bounds.maxX - bounds.minX, bounds.maxY - bounds.minY);
	var center = new GPoint(bounds.minX + span.width / 2., bounds.minY + span.height / 2.);
	var newZoom = this.spec.getLowestZoomLevel(center, span, this.viewSize);
	if (this.getZoomLevel() != newZoom) {
		this.centerAndZoom(center, newZoom);
	} else {
		this.recenterOrPanToLatLng(center);
	}
}
