
// *** globals
var LOCALE_COOKIE_NAME = "locale";

			
function isAllowedLocale( locale )
{
	if (!locale) return false;
	var allowed_locales = ["en","nl","es","de","fr","it","pl"];
	for (var i = 0; i < allowed_locales.length; i++)
	{
		if (allowed_locales[i] == locale)
		{
			return true;
		}
	}
	return false;
}

function getCookieQuerystringLocale( defaultLocale )
{
	var new_locale = defaultLocale;
	
	// *** check if cookie exists with locale setting
	var cookie_locale = jaaulde.utils.cookies.get( LOCALE_COOKIE_NAME );
	if (isAllowedLocale( cookie_locale ))
	{
		new_locale = cookie_locale;
	}
	else
	{
		// *** if there is no valid cookie value try to get the locale from querystring
		var qs = location.search.substring(1);
		if (qs.length > 0)
		{
			var params = {};
			qs = qs.replace(/\+/g, " ");
			var args = qs.split("&");
			for (var i = 0; i < args.length; i++) 
			{
				var pair = args[i].split("=");
				var name = decodeURIComponent( pair[0] );
				var value = (pair.length == 2) ? decodeURIComponent( pair[1] ) : name;
				params[name] = value;
			}
			var query_locale = params.locale;
			if (isAllowedLocale( query_locale ))
			{
				new_locale = query_locale;
			}
		}
	}
	return new_locale;
}

function setLocaleCookie( newLocale )
{
	//console.log( "newLocale: " + newLocale );
	jaaulde.utils.cookies.set(LOCALE_COOKIE_NAME, newLocale, { hoursToLive: 24 * 365 });
}

function changeLocale( newLocale )
{
	if (isAllowedLocale( newLocale))
	{
		LOCALE = newLocale;
		setLocaleCookie( newLocale );
	}
}
