var map;                                                                                                                                                                  
var lon="";                                                                                                                                                               
var lat="";                                                                                                                                                               
var zoom="";                                                                                                                                                              

OpenLayers.Util.onImageLoadErrorColor="transparent";

function myFormat(lonLat) {
        var digits = parseInt(this.numdigits);
        var newHtml =                         
                "Lon: " +                     
                lonLat.lon.toFixed(digits) +  
                " Lat: " +                    
                lonLat.lat.toFixed(digits) +                                                                                                                                        
                " Zoom: " +                                                                                                                                                         
                this.map.getZoom();                                                                                                                                                 
        return newHtml;                                                                                                                                                             
};                                                                                                                                                                                  

function init(name,lon,lat,zoom, cmove, czoom, cscale, marker){
        var center;              
        center = new OpenLayers.LonLat(lon,lat);
        map = new OpenLayers.Map(               
                name,                           
                {                               
                        maxExtent: new OpenLayers.Bounds(-20037508,-20037508,20037508,20037508),
                        numZoomLevels: 18,                                                      
                        maxResolution: 156543,                                                  
                        units: 'm',                                                             
                        controls:[                                                              
                                new OpenLayers.Control.Attribution({displayClass: "olAttribution"})
                        ],                                                                         
                        displayProjection: new OpenLayers.Projection("EPSG:4326"),                 
                        projection: new OpenLayers.Projection("EPSG:900913")                       

                });

	if (cmove) {
		map.addControl(new OpenLayers.Control.MouseDefaults());
	}

	if (czoom) {
		map.addControl(new OpenLayers.Control.PanZoomBar());
	}

	if (cscale) {
		map.addControl(new OpenLayers.Control.ScaleLine({bottomOutUnits: ""}));
	}

        var layerMapnik = new OpenLayers.Layer.TMS(
                "Mapnik",
                ["http://tile.openstreetmap.nl/tiles/"],
                {
                        type:'png',
                        getURL:get_osm_url,
                        attribution: 'Map data &copy; 2010 <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a><br /><a href="http://openstreetmap.org">OpenStreetMap.org</a> contributors',
			transitionEffect: 'resize'
                }
        );

        map.addLayers([layerMapnik]);

        map.setCenter(center.transform(map.displayProjection, map.projection), zoom);
        map.addControl(new OpenLayers.Control.Permalink());

	if (marker) {
	        var markers=new OpenLayers.Layer.Markers("Markers");
        	map.addLayer(markers);

	        markers.addMarker(new OpenLayers.Marker(center));
	}
}

function get_osm_url (bounds) {
        var res = this.map.getResolution();
        var x = Math.round ((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
        var y = Math.round ((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
        var z = this.map.getZoom();
        var path = z + "/" + x + "/" + y + "." + this.type;
        var url = this.url;

        if (url instanceof Array) {
                url = this.selectUrl(path, url);
        }

        return url + path;
}


