// Definerar variabler som skall användas ytterligare
var default_coord_3021_x = 6495257.2375088;
var default_coord_3021_y = 1519876.72893832;
var default_coord_900913_x = 6495257.2375088;
var default_coord_900913_y = 1519876.72893832;

function initmapNoData(divId, geoid, datatype, produktportal_rootdir, baselayer, overlaysString, zoom, projection, width, height, url, productURL, callbackfunction, callbackargs) {
	//baselayer = "blue_marble_world_2km_091120";
	if(typeof overlaysString == 'undefined') {
		var overlays = "";
	}else{
		var overlays = overlaysString;
	}
	//var overlays = "";
	
	// hämtar data för kartans storlek baserat på geonameid
	if ((geoid != null) && (geoid == parseInt(geoid))) {
		//Om datatype är en punkt, d.v.s. om koordinater ska hämtas ur geonames-tabellen
		if(datatype == 'geopoint'){
			LocationManager.getGeoPoint(geoid, projection, function(geoPoint){
				var center_x = geoPoint.longitude;
				var center_y = geoPoint.latitude; 
				createMap(center_x,center_y, divId, produktportal_rootdir, baselayer, overlays, zoom, projection, width, height, url, productURL, callbackfunction, callbackargs);
			});
		}
		//Om datatype är en area, d.v.s. om koordinater ska hämtas ur geoarea-tabellen
		else if(datatype == 'geoarea'){
			AreaManager.getGeoPoint(geoid, projection, function(geoPoint) {
				var center_x = geoPoint.longitude;
				var center_y = geoPoint.latitude; 
				createMap(center_x,center_y, divId, produktportal_rootdir, baselayer, overlays, zoom, projection, width, height, url, productURL, callbackfunction, callbackargs);
			});				
		}
		else{
			throw('initmapNoData:ERROR: not a valid datatype');
		}
		
	}
    else {   
    	if(projection == '3021'){
			var default_coord_x = default_coord_3021_x;
			var default_coord_y = default_coord_3021_y;
				
		}else if(projection == '900913'){
			var default_coord_x = default_coord_900913_x;
			var default_coord_y = default_coord_900913_y;
		
		}
		createMap(default_coord_x,default_coord_y, divId, produktportal_rootdir, baselayer, overlays, zoom, projection, width, height, url, productURL, false, false);
    }
}


function createMap(center_x,center_y, divId, produktportal_rootdir, baselayer, overlaysString, zoom, projection, width, height, url, productURL, callbackfunction, callbackargs){

	if((typeof overlaysString != 'undefined') && (overlaysString != "")){
		if(overlaysString.indexOf(',')){
			var overlays = overlaysString.split(',');
		}else{
			var overlays = new Array(overlaysString);
		}
	}else{
		var overlays = new Array();
	}
	
	if ((center_x == parseFloat(center_x)) && (center_y == parseFloat(center_y))) {
		map_startup_center_x = center_x;
		map_startup_center_y = center_y;
		//init_RT90Map(divId, center_x, center_y, zoom, width, height, url);
		mapbuilder.setMapFrame(divId, width,height);	
		if(projection == '3021'){
			var basemap = baselayer;//'blue_marble_scandinavia_2km_091021';
			var mapOptions = { 
			    				controls: [],
			    				maxResolution: 9065,
			    				numZoomLevels: 12,
			    				projection: new OpenLayers.Projection("EPSG:3021"),
			    				maxExtent: new OpenLayers.Bounds(3341.532695312053,5615685.377001944,2324067.8389453124,7936411.683251944)
			    				};			
		}else if(projection == '900913'){
			var basemap = baselayer;//'blue_marble_world_2km_091021';
			var mapOptions = { 
							controls: [],
							resolutions: [156543.03390625, 78271.516953125, 39135.7584765625, 19567.87923828125, 9783.939619140625, 4891.9698095703125, 2445.9849047851562, 1222.9924523925781, 611.4962261962891, 305.74811309814453, 152.87405654907226, 76.43702827453613, 38.218514137268066, 19.109257068634033, 9.554628534317017, 4.777314267158508, 2.388657133579254, 1.194328566789627, 0.5971642833948135, 0.29858214169740677, 0.14929107084870338, 0.07464553542435169, 0.037322767712175846, 0.018661383856087923, 0.009330691928043961, 0.004665345964021981, 0.0023326729820109904, 0.0011663364910054952, 5.831682455027476E-4, 2.915841227513738E-4, 1.457920613756869E-4],
							projection: new OpenLayers.Projection('EPSG:900913'),
							maxExtent: new OpenLayers.Bounds(-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7) 
							};
		}
		
		//new Array('smhi:no_kommuner', 'smhi:fi_kommuner','smhi:dk_kommuner')
		mapbuilder.setMapOptions(map_startup_center_x, map_startup_center_y, produktportal_rootdir, zoom, url, basemap, mapOptions, overlays, productURL);
		mapbuilder.createMap();

        if(callbackfunction != false){
            eval(callbackfunction+"("+callbackargs+");");
        }
	}
	else {
		throw('ERROR: Not a valid lat/long')
	}
	triggerMapFinished();
}




