diff --git a/VIPSWeb/local_settings_sample.py b/VIPSWeb/local_settings_sample.py
index 5f49103e21a9c0553088a137aee132a286ee5c1f..e87634e2e1f4944d2f77f1e99da15004921dd4dc 100755
--- a/VIPSWeb/local_settings_sample.py
+++ b/VIPSWeb/local_settings_sample.py
@@ -1,3 +1,5 @@
+# -*- coding: UTF-8 -*-
+
 #
 # Copyright (c) 2016 NIBIO <http://www.nibio.no/>. 
 # 
@@ -27,7 +29,6 @@ from django.utils.translation import ugettext_lazy as _
 
 DEBUG = True
 MAINTENANCE_MODE = False
-TEMPLATE_DEBUG = DEBUG
 
 # Hosts/domain names that are valid for this site; required if DEBUG is False
 # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
@@ -115,6 +116,8 @@ VIPSLOGIC_SERVER_NAME = "vipslogic"
 VIPSLOGIC_PROTOCOL = "https"
 # This organization's ID in VIPSLogic/CoreManager
 VIPS_ORGANIZATION_ID = 1
+# Use this if you want to override and show icons for stations belonging to several organizations
+#FORECAST_MAP_ORGANIZATION_IDS =[1,6]
 # The server name used for VIPSCoreManager
 VIPSCOREMANAGER_SERVER_NAME = "vipscoremanager"
 # Local path to self signed certificate of VIPSCoreManager. 
diff --git a/VIPSWeb/static/js/frontpage.js b/VIPSWeb/static/js/frontpage.js
index ae22a091dc338e52f1fbbb0e118f677eb145a0f5..9b2546149909804cd840e5d8d212bfb2770cde3c 100755
--- a/VIPSWeb/static/js/frontpage.js
+++ b/VIPSWeb/static/js/frontpage.js
@@ -72,6 +72,7 @@ function cacheObservations(callback)
 {
 	var systemTime = moment().add(settings.systemTimeOffsetMonths,"months");
     var from = systemTime.format("YYYY") + "-01-01"; // XXXX-01-01
+    systemTime.add(1,'days');
     var to = systemTime.format("YYYY-MM-DD"); 
     var uuidParam = settings.userUuid != null ? "&userUUID=" + settings.userUuid : "";
 	//$.getJSON(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/observation/broadcast/list/" + settings.vipsOrganizationId, function( json ) {
@@ -532,7 +533,9 @@ var cachedPois;
 function cacheForecastSummaries()
 {
 	//$.getJSON(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastconfigurationsummaries/" + settings.vipsOrganizationId, function( json ) {
-	$.getJSON( "/vipslogicproxy/rest/forecastconfigurationsummaries/" + settings.vipsOrganizationId, function( json ) {
+	$.getJSON( "/vipslogicproxy/rest/forecastconfigurationsummaries/" + settings.vipsOrganizationId
+			+ (settings.includeOrganizationIds != null ? "?includeOrganizationIds=" + settings.includeOrganizationIds.join(",") : "")
+			, function( json ) {
 		  cachedForecastSummaries = json;
 		  cachePrivateForecastSummaries();
 		  
diff --git a/VIPSWeb/static/js/frontpageMap.js b/VIPSWeb/static/js/frontpageMap.js
index 87c021cf3f2909b3ec89e5fcc2bba0d383a5b91f..16b1537481d5de767a74ff0806747f04ea6e2a6a 100755
--- a/VIPSWeb/static/js/frontpageMap.js
+++ b/VIPSWeb/static/js/frontpageMap.js
@@ -408,7 +408,13 @@ function updateForecastLayers()
 	forecastLayer = new ol.layer.Vector({
 		source: new ol.source.Vector({
 			//url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropCategoryIdStr,
-			url: "/vipslogicproxy/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropCategoryIdStr,
+			url: "/vipslogicproxy/rest/forecastresults/aggregate/" + 
+				(
+						settings.includeOrganizationIds != null && settings.includeOrganizationIds.length > 0 ? 
+						"orgspan?organizationId=" + settings.includeOrganizationIds.join("&organizationId=") + cropCategoryIdStr
+						: settings.vipsOrganizationId + "?" + cropCategoryIdStr
+				) 
+				,
 			format: new ol.format.KML(),
 			projection: ol.proj.get('EPSG:3857')
 		})
@@ -427,21 +433,22 @@ var renderObservationFeatures = function(){
 	var geoJSON = {"type":"FeatureCollection","features":[]};
     for(var i=0;i<filteredObservations.length;i++)
     {
-        var observation = filteredObservations[i];
-        var obsFeatures = null;
-        if(!observation.locationIsPrivate && observation.geoInfo !== null && observation.geoInfo.trim() !== "")
-        {
-            obsFeatures = JSON.parse(observation.geoInfo).features;
-        }
-        else
-        {
-            continue;
-        }
-        
-        for(var j=0; j<obsFeatures.length; j++)
-        {
-            geoJSON.features.push(obsFeatures[j]);
-        }
+    	 var observation = filteredObservations[i];
+         var obsFeatures = null;
+         if(!observation.locationIsPrivate && observation.geoInfo !== null && observation.geoInfo.trim() !== "")
+         {
+             obsFeatures = JSON.parse(observation.geoInfo).features;
+         }
+         else
+         {
+             continue;
+         }
+         
+         for(var j=0; j<obsFeatures.length; j++)
+         {
+             geoJSON.features.push(obsFeatures[j]);
+         }
+
     }
 
     var format = new ol.format.GeoJSON();
diff --git a/VIPSWeb/templates/index.html b/VIPSWeb/templates/index.html
index 4edbaf51008d8e064102699bf0606aea44be416a..7523c55e6ff6da6770601f4b95c316e363d381eb 100755
--- a/VIPSWeb/templates/index.html
+++ b/VIPSWeb/templates/index.html
@@ -44,7 +44,7 @@
 
 		if(settings.userIsIE)
 		{
-			alert("{% trans "WARNING: We suspect you are using Internet Explorer to view this site. VIPS is not designed to work with Internet Explorer, you may experience errors and missing features. Please use a different browser, like Microsoft Edge or Google Chrome." %}");
+			alert("{% trans "WARNING: We suspect you are using Internet Explorer to view this site. VIPS is not designed to work with Internet Explorer, you may experience errors and missing features. Please use a different browser, like Firefox, Microsoft Edge or Google Chrome." %}");
 		}
 
 		
diff --git a/VIPSWeb/templates/settings.js b/VIPSWeb/templates/settings.js
index 918e8f69193c4d484c3bdd7353e6aa83babfb866..611638dd658c17665d63bc2d3cd5107eaf1bfe92 100755
--- a/VIPSWeb/templates/settings.js
+++ b/VIPSWeb/templates/settings.js
@@ -25,6 +25,8 @@ var settings = {
 		vipslogicProtocol: "{{settings.VIPSLOGIC_PROTOCOL}}",
 		vipsCoremanagerServerName : "{{settings.VIPSCOREMANAGER_SERVER_NAME}}",
 		
+		includeOrganizationIds: {% if settings.INCLUDE_ORGANIZATION_IDS == None %}null{%else%}{{settings.INCLUDE_ORGANIZATION_IDS}}{%endif%},
+		
 		mapZoomlevel: {{settings.MAP_ZOOMLEVEL}},
 		
 		systemTimeOffsetMonths: {{settings.SYSTEM_TIME_OFFSET_MONTHS}},
diff --git a/forecasts/models.py b/forecasts/models.py
index 42b2a96cab7beb4e6fcfe80be392babbc3adf05b..d9cd618c4b31289e77ac9bdec42ad6b8c3ce38c8 100755
--- a/forecasts/models.py
+++ b/forecasts/models.py
@@ -230,24 +230,34 @@ class ForecastConfiguration:
             for crop_organism_id in crop_organism_ids:
                 crop_organism_id_paramstring += "&cropOrganismId=%s" % crop_organism_id
         
-        print "%s://%s/rest/organizationforecastconfigurations/%s?from=%s-01-01&to=%s-12-31%s" % (
-                                                                              settings.VIPSLOGIC_PROTOCOL,
-                                                                              settings.VIPSLOGIC_SERVER_NAME, 
-                                                                              settings.VIPS_ORGANIZATION_ID,
-                                                                              season,
-                                                                              season,
-                                                                              crop_organism_id_paramstring
-                                                                              )
-        
-        request_result = requests.get("%s://%s/rest/organizationforecastconfigurations/%s?from=%s-01-01&to=%s-12-31%s" % (
-                                                                              settings.VIPSLOGIC_PROTOCOL,
-                                                                              settings.VIPSLOGIC_SERVER_NAME, 
-                                                                              settings.VIPS_ORGANIZATION_ID,
-                                                                              season,
-                                                                              season,
-                                                                              crop_organism_id_paramstring
-                                                                              )
-                                      )
+        request_result = None
+        if settings.INCLUDE_ORGANIZATION_IDS == None:
+            print "%s://%s/rest/organizationforecastconfigurations/%s?from=%s-01-01&to=%s-12-31%s" % (
+                                                                                  settings.VIPSLOGIC_PROTOCOL,
+                                                                                  settings.VIPSLOGIC_SERVER_NAME, 
+                                                                                  settings.VIPS_ORGANIZATION_ID,
+                                                                                  season,
+                                                                                  season,
+                                                                                  crop_organism_id_paramstring
+                                                                                  )
+            
+            request_result = requests.get("%s://%s/rest/organizationforecastconfigurations/%s?from=%s-01-01&to=%s-12-31%s" % (
+                                                                                  settings.VIPSLOGIC_PROTOCOL,
+                                                                                  settings.VIPSLOGIC_SERVER_NAME, 
+                                                                                  settings.VIPS_ORGANIZATION_ID,
+                                                                                  season,
+                                                                                  season,
+                                                                                  crop_organism_id_paramstring
+                                                                                  )
+                                          )
+        else:
+            request_result = requests.get("%s://%s/rest/forecastconfigurationsincludeorgs/%s?includeOrganizationIds=%s" % (
+                                                                                  settings.VIPSLOGIC_PROTOCOL,
+                                                                                  settings.VIPSLOGIC_SERVER_NAME, 
+                                                                                  settings.VIPS_ORGANIZATION_ID,
+                                                                                  ",".join(str(x) for x in settings.INCLUDE_ORGANIZATION_IDS)
+                                                                                  )
+                                          )
         return request_result
     
     @staticmethod
diff --git a/fusarium/static/fusarium/js/oatFloweringModelForm.js b/fusarium/static/fusarium/js/oatFloweringModelForm.js
index eb124c30cbc4fee33c3b83a014777363cb1d0fe2..fdf05ec7c5284b526482615e9333e6af2de389e9 100755
--- a/fusarium/static/fusarium/js/oatFloweringModelForm.js
+++ b/fusarium/static/fusarium/js/oatFloweringModelForm.js
@@ -34,7 +34,7 @@
 // Internal ID for the form
 var theFormId = "_oatFloweringModelForm";
 var detailURL = null;
-var DEBUG = false;
+var DEBUG = true;
 
 // Settings for VIPS forecasting system
 //var serverUri = settings.vipsCoremanagerServerName;
@@ -219,15 +219,16 @@ var displayResults = function(data)
 	now = getNow();
 	var weekNow = now.isoWeek();
 	var weeksFromNowToZ625 = Math.abs(weekZ625-weekNow);
-	/*console.log("now: " + now.tz("Europe/Oslo").format());
-	console.log("week now: " +weekNow);
-	console.log("weekZ625: " +weekZ625);
-	console.log("weeksFromNowToZ625: " + weeksFromNowToZ625);
-	console.log("z60: " + dateZ60.tz("Europe/Oslo").format());
-	console.log("z62.5: " + getDateForZ(data,62.5).tz("Europe/Oslo").format());
-	console.log("z69: " + dateZ69.tz("Europe/Oslo").format());*/
-	
-	
+	/*
+		console.info(data);
+		console.log("now: " + now.tz("Europe/Oslo").format());
+		console.log("week now: " +weekNow);
+		console.log("weekZ625: " +weekZ625);
+		console.log("weeksFromNowToZ625: " + weeksFromNowToZ625);
+		console.log("z60: " + dateZ60.tz("Europe/Oslo").format());
+		console.log("z62.5: " + getDateForZ(data,62.5).tz("Europe/Oslo").format());
+		console.log("z69: " + dateZ69.tz("Europe/Oslo").format());
+	*/
 	// Scenario 1: Today is before date of sowing
 	if(now.isBefore(dateOfSowing))
 	{
@@ -320,8 +321,10 @@ var getDateForZ = function(data,z)
 {
 	for(var key in data)
 	{
-		if(data[key].allValues["OATFLOWERM.ZREACHED"] == z)
+		//console.info (key + ":" + getAllValues(data[key].allValues)["OATFLOWERM.ZREACHED"]);
+		if(getAllValues(data[key].allValues)["OATFLOWERM.ZREACHED"] == z)
 		{
+			//console.info(moment(data[key].validTimeStart));
 			return moment(data[key].validTimeStart);
 		}
 	}
@@ -335,9 +338,9 @@ var getWeekForZ = function(data,z)
 {
 	for(var key in data)
 	{
-		if(data[key].allValues["OATFLOWERM.ZREACHED"] == z)
+		if(getAllValues(data[key].allValues)["OATFLOWERM.ZREACHED"] == z)
 		{
-			return data[key].allValues["OATFLOWERM.WEEK_IN_YEAR"];
+			return getAllValues(data[key].allValues)["OATFLOWERM.WEEK_IN_YEAR"];
 		}
 	}
 }
@@ -394,3 +397,8 @@ var getStartHTML = function()
                  "<div id='resultsTable'></div>"
                  ].join("");
 }
+
+var getAllValues = function(allValuesStr)
+{
+	return JSON.parse(allValuesStr);
+};
diff --git a/observations/static/observations/js/observationList.js b/observations/static/observations/js/observationList.js
index 1ad744f711e880a43c3be3b4c7ff0090767b137d..054a89e2e7fb8c2ecfe8f82218f70451ca8c2a37 100644
--- a/observations/static/observations/js/observationList.js
+++ b/observations/static/observations/js/observationList.js
@@ -106,7 +106,8 @@ var initMap = function(
     var centerPosition = ol.proj.transform(center, 'EPSG:4326', map.getView().getProjection().getCode());
     var view = new ol.View({
             center: centerPosition,
-            zoom:zoomLevel
+            zoom:zoomLevel,
+            maxZoom:7
     });
     map.setView(view);
     
diff --git a/observations/templates/observations/detail.html b/observations/templates/observations/detail.html
index 642f2b8558ec918c25c32554c2fca12d68d5c438..40f4aa9b46d2026571e490c8a2486c3d990ca685 100755
--- a/observations/templates/observations/detail.html
+++ b/observations/templates/observations/detail.html
@@ -35,8 +35,6 @@
 			<p id="cropOrganismName"></p>
 			<h4>{% trans "Time of observation" %}</h4>
 			<p id="timeOfObservation"></p>
-			<h4>{% trans "Observer" %}</h4>
-			<p id="observerName"></p>
 			<h2 id="observationHeading"></h2>
 			<p id="observationText"></p>
 			<h2>{% trans "Observation data" %}</h2>
@@ -67,7 +65,7 @@
 		  	document.getElementById("organismName").innerHTML = getLocalizedOrganismName(observation.organism) + " <i>(" + observation.organism.latinName + ")</i>";
 		  	document.getElementById("cropOrganismName").innerHTML = getLocalizedOrganismName(observation.cropOrganism) + " <i>(" + observation.cropOrganism.latinName + ")</i>";
 		  	document.getElementById("timeOfObservation").innerHTML = getStandardFormattedTimestamp(observation.timeOfObservation);
-		  	document.getElementById("observerName").innerHTML = observation.user.firstName + " " + observation.user.lastName;
+		  	//document.getElementById("observerName").innerHTML = observation.user.firstName + " " + observation.user.lastName;
 		  	document.getElementById("observationHeading").innerHTML = observation.observationHeading;
 		  	document.getElementById("observationText").innerHTML = observation.observationText;
 		  	if(observation.isQuantified != undefined && observation.isQuantified)
diff --git a/observations/views.py b/observations/views.py
index 3b5e60e615f90aa511b491a10aed7056af5946f2..1591cc104d8a2425d481d6483c8c94cf1460458c 100755
--- a/observations/views.py
+++ b/observations/views.py
@@ -47,7 +47,7 @@ def index(request):
     if request.GET.get("to", None) is not None:
         date_to = datetime.strptime(request.GET["to"], "%Y-%m-%d")
     else:
-        date_to = datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS)
+        date_to = datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS) + relativedelta(days=1)
     #date_to = datetime.strptime(request.GET.get("to", "%s-12-31" % (datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS)).year),"%Y-%m-%d")
     period_days = date_to - date_from
     current_day_in_period = (datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS)) - date_from
diff --git a/requirements.txt b/requirements.txt
index 34ce8a43ead9280e59479b51a21bdcf225c746fd..51f11c6da1b8daae6f360022959a1d7b15d3c7b4 100755
--- a/requirements.txt
+++ b/requirements.txt
@@ -21,5 +21,5 @@
 Django==1.11
 Pillow
 requests==2.6.0
-django-tinymce==2.6.0
+django-tinymce==2.8.0
 python-dateutil==1.5
diff --git a/roughage/templates/roughage/nutrition.html b/roughage/templates/roughage/nutrition.html
index 59b58c44ed4c123cc95f0c3f330479f8663aef42..cc1806b0d5e6bcb891d02d0b8e40e67940cc5e59 100755
--- a/roughage/templates/roughage/nutrition.html
+++ b/roughage/templates/roughage/nutrition.html
@@ -25,13 +25,22 @@
 {% block content %}
 <div class="singleBlockContainer">
 <h1>{% trans "Roughage nutrition model" %}</h1>
+<form action="/i18n/setlang/" method="post" id="forceLanguageLink">
 <p>
-	Modellen skal underveis i vekstsesongen gi støtte for valg av høstetid i to- og 
-	treslåttsystem i eng som brukes til fôrproduksjon. Den er utvikla på grunnlag 
-	av data fra timoteidominert eng, men kan også brukes på bestand dominert av 
-	fleirårig raigras. <a href="http://gamlevips.nibio.no/information/if105s.jsp?HTTP_REFERRER=/information/if105s.jsp&BUTTON=kapittel&menyValg=9#grovformodell" target="new">Les mer om modellen</a>
-	eller <a href="https://vimeo.com/147571372" target="new">se video</a>
+	
+		{% csrf_token %}
+		<input type="hidden" name="next" value="/information/12/#grovformodell"/>
+		<input type="hidden" name="language" value="nb"/>
+		Modellen skal underveis i vekstsesongen gi støtte for valg av høstetid i to- og 
+		treslåttsystem i eng som brukes til fôrproduksjon. Den er utvikla på grunnlag 
+		av data fra timoteidominert eng, men kan også brukes på bestand dominert av 
+		fleirårig raigras. 
+		<a style="cursor:pointer;" onclick="document.getElementById('forceLanguageLink').submit();">Les mer om modellen</a>
+		
+		eller <a href="https://vimeo.com/147571372" target="new">se video</a>
+	
 </p>
+</form>
 <p>
 	Felt merket med * må fylles ut. Velg klimastasjon for årets klimadata, normaldata eller begge.
 </p>
@@ -149,7 +158,7 @@
 	Ved å legge inn kalibreringsmålinger vil modellen justeres slik at prediksjonene blir mer presise. For å bestemme MSC, kan du 
 	bruke hjelpetabeller for <a href="http://gamlevips.nibio.no/models/mo1004s.jsp?grastype=timotei" target="new">timotei</a> 
 	og <a href="http://gamlevips.nibio.no/models/mo1004s.jsp?grastype=raigras" target="new">raigras</a>. 
-	<a href="http://gamlevips.nibio.no/information/if105s.jsp?BUTTON=kapittel&menyValg=9#grovformodellKalibreringMSC" target="new">Les mer om kalibrering</a>
+	<a href="/information/12/#grovformodell_kalibrering" target="new">Les mer om kalibrering</a>
 </p>
 <fieldset>
 	<table id="optimeringstabell" class="table">