// Called automatically when marker is created by specifying zIndexProcess
// as an argument to addOverlay
function importanceOrder (marker,b) {
  return 1000000;
}

function CrewMarkers(doc) {
	var icon = new GIcon();
	icon.image = "images/crew_1.png";
	icon.iconSize = new GSize(40, 25);
	icon.iconAnchor = new GPoint(1,1);
	this.markers_ = [];
	var options = {	zIndexProcess: importanceOrder,
			icon: icon,
			clickable: false
	};

	var points = doc.getElementsByTagName("crew");
	
	for( var i=0; i < points.length; i++ ) {
    	var point = new GLatLng(points[i].getAttribute("lat"),
                           	   points[i].getAttribute("lng"));
        var marker = new GMarker(point, options);

    	this.markers_.push(marker);
	}
}

CrewMarkers.prototype = new Object;

CrewMarkers.prototype.setVisibility = function(vis) {
	if( vis) {
		for( var i=0; i < this.markers_.length; i++ ) {
			map.addOverlay(this.markers_[i]);
		}
	} else {
		for( var i=0; i < this.markers_.length; i++ )
			map.removeOverlay(this.markers_[i]);
	}
}

CrewMarkers.prototype.clean = function() {
	for( var i=0; i < this.markers_.length; i++ ) {
		map.removeOverlay(this.markers_[i]);
		this.markers_[i] = null;
	}
	this.markers_ = null;
	this.icon = null;
}

