    function ICAO_CustomGetTileUrl(a,b)
    {
	
		var ymax = 1 << b;
		var y_flip = ymax - a.y -1;
        //  zoom+"/"+tile.x+"/"+y+".jpg";
							  
        if ( b == 4 && a.x >= 8 && a.x <= 8 && a.y >= 5 && a.y <= 5 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        else if ( b == 5 && a.x >= 16 && a.x <= 17 && a.y >= 10 && a.y <= 11 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        else if ( b == 6 && a.x >= 33 && a.x <= 34 && a.y >= 20 && a.y <= 22 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        else if ( b == 7 && a.x >= 66 && a.x <= 69 && a.y >= 40 && a.y <= 45 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        else if ( b == 8 && a.x >= 132 && a.x <= 138 && a.y >= 80 && a.y <= 90 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        else if ( b == 9 && a.x >= 264 && a.x <= 277 && a.y >= 161 && a.y <= 180 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        else if ( b == 10 && a.x >= 529 && a.x <= 554 && a.y >= 323 && a.y <= 360 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        else if ( b == 11 && a.x >= 1058 && a.x <= 1109 && a.y >= 646 && a.y <= 720 )
        {
            return "/maps/ICAO/" + b + "/" + a.x + "/" + y_flip + ".jpg"; 
        }
        return G_NORMAL_MAP.getTileLayers()[0].getTileUrl(a,b);
    }

    // ============================================================
    function loadICAO(thisMap)
    {
            // Create the copyright collection
            var copyCollection = new GCopyrightCollection('ICAO Karte 2011');
            var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(40.9798981, 0.0000000), new GLatLng(55.7765730, 22.5000000)), 0, DFS_COPYRIGHT_STRING);

            copyCollection.addCopyright(copyright);

            // Setup the tile layers
            var tilelayers = new Array();

            tilelayers[0] = new GTileLayer(copyCollection, 4, 11 );
            tilelayers[0].getTileUrl = ICAO_CustomGetTileUrl
            tilelayers[0].getOpacity = function () {return 1.00;};//of the non transparent part
            tilelayers[0].isPng = function() {return true;}; 

			
            // Setup the options for our map layer
            var GMapTypeOptions = new Object();
            GMapTypeOptions.minResolution = 4;
            GMapTypeOptions.maxResolution = 11;
            GMapTypeOptions.errorMessage = "No map data available";
			GMapTypeOptions.alt = "zeige DFS ICAO Karte 2011";

            // Create our custom map layer
            var custommap = new GMapType(tilelayers, new GMercatorProjection(22), "ICAO Karte", GMapTypeOptions);
            custommap.getTextColor = function() {return "#000000";};
            thisMap.addMapType(custommap);
			return custommap;
    }
