function APLayer(URLGeoRSS, pinAeroporti, pinItinerari) {			
	var fileLoaded = false;
	var shapeLayer = null;	
	var data = new Date();
	var veLayer = new VEShapeLayer();
	var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, URLGeoRSS + '?nochace=' + data.getTime(), veLayer);		
	var sPinAeroporti = pinAeroporti;
	var sPinItinerari = pinItinerari;
			
	this.GetLayerSpec = function() { return veLayerSpec;};		
	this.GetShapeLayer = function() { return shapeLayer;};		
	this.IsFileLoaded = function() { return fileLoaded;};
	this.onFeedLoad = function(layer) {	
	    var iCount = layer.GetShapeCount();
	    shapeLayer = layer; 
		shapeLayer.Hide();
	    shapeLayer.GetShapeByIndex(0).SetCustomIcon(sPinAeroporti);
	   	if(iCount > 1) {
	   	    var tmpShape = null;
	   	    for(i=1;i<iCount;i++) {
	   	        tmpShape = shapeLayer.GetShapeByIndex(i);
	   	        tmpShape.SetCustomIcon(sPinItinerari);
	   	        if(tmpShape.GetPoints().length > 1 ) {
	   	            tmpShape.SetLineWidth(5);
	   	            tmpShape.SetLineColor(new VEColor(0,96,187,0.7));
	   	        }
	   	    }
	   	}	  		
	    fileLoaded = true;
	};
}


function APLayerColl() {
	APDictionary.call(this);	
	
	this.Add = function() { 
		var newAPLayer = new APLayer(arguments[1],arguments[2],arguments[3]);
		this.Storage[arguments[0]] = newAPLayer;
		this.SetCount();
	};
	
	this.toString = function() {
		var oStorage = this.Storage;
		for(var obj in oStorage) { alert(oStorage[obj].toString()); }
	};

	this.DestroyStorage = function() { 
		var oStorage = this.Storage;
		for(var obj in oStorage) { oStorage[obj] = null; }
		this.Storage = null; 
	};		
	
	this.ImportLayer = function(oMap)  { 		
		var oStorage = this.Storage;		
		for(var obj in oStorage) { if(oStorage[obj].GetLayerSpec) { oMap.ImportShapeLayerData(oStorage[obj].GetLayerSpec(), oStorage[obj].onFeedLoad);} }			
	};			
	this.HideAllShapeLayers = function(){
		var oStorage = this.Storage;		
		for(var obj in oStorage) { if(oStorage[obj].GetLayerSpec) { oStorage[obj].GetShapeLayer().Hide();} }
	};
	
}

APLayer.prototype = new Object();
APLayer.prototype.constructor = APLayer;

APLayerColl.prototype = new APDictionary();
APLayerColl.prototype.constructor = APLayerColl;	
