var map;
// usernames which are currently connected to the chat
var layers = new Array();
//OpenLayers.ProxyHost = widget.proxify("");//"proxy/proxy.cgi?url=";
OpenLayers.ProxyHost = "proxy/proxy.cgi?url=";

var extent = new OpenLayers.Bounds(-7.8, 35.9, -1.5, 38.8);

function init() {
	Proj4js.defs["EPSG:23030"] = "+proj=utm +zone=30 +ellps=intl" +
									" +towgs84=-131,-100.3,-163.4,-1.244,-0.020,-1.144,9.39 " +
									" +units=m +no_defs";

	map = new OpenLayers.Map('map',
					{controls: [
                        new OpenLayers.Control.Navigation(),
                        new OpenLayers.Control.PanZoomBar(),
                        new OpenLayers.Control.Permalink(),
                        new OpenLayers.Control.ScaleLine(),
                        new OpenLayers.Control.Permalink('permalink'),
                        new OpenLayers.Control.MousePosition(),
                        new OpenLayers.Control.KeyboardDefaults()
                    ],
                    numZoomLevels: 6,
                    restrictedExtent: extent
                });
	var newOVControl = new OpenLayers.Control.OverviewMap({ 'autoActivate': true });
	newOVControl.size = new OpenLayers.Size(320, 240);
	map.addControl(newOVControl);	

    var mapnik         = new OpenLayers.Layer.OSM();
    var fromProjection = new OpenLayers.Projection("EPSG:4326");   // Transform from WGS 1984
    var toProjection   = new OpenLayers.Projection("EPSG:23030"); // to Spherical Mercator Projection
    var position       = new OpenLayers.LonLat(-15.0,40.0).transform( fromProjection, toProjection);
    var zoom           = 8;
		
    map.addLayer(mapnik);
    map.setCenter(position, zoom);
	//map.zoomToExtent(extent);
}

// carga kml en el mapa
function newLayer(nameLayer, dataLayer){
	var layer = new OpenLayers.Layer.Vector("KML", {
					projection: map.displayProjection,
					strategies: [new OpenLayers.Strategy.Fixed()],
					protocol: new OpenLayers.Protocol.HTTP({
					url: dataLayer + nameLayer + ".kml",
						format: new OpenLayers.Format.KML({
							extractStyles: true,
							extractAttributes: true
						})
					})
				});
	layers[nameLayer] = layer;
	map.addLayer(layer);
}

// elimina kml del mapa
function deleteLayer(nameLayer){
	map.removeLayer(layers[nameLayer]);
	layers[nameLayer] = undefined;
}
