if (typeof Mtco == 'undefined') {
	Mtco = {};
}

Mtco.MiniMap = function(config) {
    var color = '#216778';
    if (config.color) {
        color = config.color;
    }
    //var projection = Mtco.Factory.OpenLayers.Projection.Google();
    var options = {
        'div': config.div,
        'maxExtent': new OpenLayers.Bounds(232400, 5916000, 1000400, 6684000),
		'restrictedExtent': new OpenLayers.Bounds(232400, 5916000, 1000400, 6684000),
        // 'resolutions': [352.8,176.4,88.2,35.3,17.6,7.1,3.52,1.764],
        'maxResolution': 156543.1184,
        'numZoomLevel' : 19,
        'controls': [],
        'units': 'm',
        'projection': new OpenLayers.Projection("EPSG:900913")
        //'displayProjection': Mtco.Factory.OpenLayers.Projection.WGS84()
    };
                
	// var baseLayer = new OpenLayers.Layer.TMS(
                    // 'OSM Tiles',
                    // ['http://www.gis-hosting.lu/ogc/tms/'],
                    // {'layername': 'osm-wm','type' : 'png',isBaseLayer: true},
                    // {visibility: true}
                // );

    var baseLayer = new OpenLayers.Layer.OSM('OpenStreetMap');
    var pointLayer = new OpenLayers.Layer.Vector(
        'Point',
        {
            'styleMap' : new OpenLayers.StyleMap(
                {
                    'default': new OpenLayers.Style(
                        {
                            'label' : "${label}",
                            'labelAlign' : 'lb',
                            'labelXOffset' : 8,
                            'labelYOffset' : 4,
                            'fontColor' : color,
                            'fontWeight' : 'bold',
                            'strokeColor' : color,
                            'strokeWidth' : 2,
                            'fillColor' : color,
                            'fillOpacity' : 0.5,
                            'pointRadius' : 7
                        }
                    )
                }
            )
        }
    );
    var layers = [baseLayer, pointLayer];
    var controls = [
        new OpenLayers.Control.Navigation()
    ];
    // var map = Mtco.Map.setupMap(options,layers,controls);
     // options needs the property div: 'mapdiv'!
    var map = new OpenLayers.Map(options);
    
    map.addLayers(layers);
    
    // add controls
    var control_length = controls.length;
    for (var i=0; i < control_length; i++) {
        map.addControl(controls[i]);
    }
	var point = new OpenLayers.Geometry.Point(config.longitude, config.latitude);
    var feature = new OpenLayers.Feature.Vector(point, config);
	map.setCenter(new OpenLayers.LonLat(config.longitude, config.latitude), 12);
    pointLayer.addFeatures([feature]);
}
