var LanguageManager = new Object();

LanguageManager.GetActiveLanguage = function(){
	if(sessionLanguage.choosedlanguage) return sessionLanguage.choosedlanguage;
	if(config.AutoDetectLanguage){
		var sUserLang = navigator.language ? navigator.language.toLowerCase() : navigator.userLanguage.toLowerCase();
		if(sUserLang.length >=5){
			sUserLang=sUserLang.substr(0,5);
			if(this.AvailableLanguages[sUserLang]) return sUserLang;
		}
		if(sUserLang.length >=2){
			sUserLang=sUserLang.substr(0,2);
			if(this.AvailableLanguages[sUserLang]) return sUserLang;
		}
	}
	return config.DefaultLanguage;
}

LanguageManager.SetActiveLanguage = function(selectedLanguage){
	this.ActiveLanguage.Code = selectedLanguage;
	this.ActiveLanguage.Name = this.AvailableLanguages[this.ActiveLanguage.Code];
}

LanguageManager.AvailableLanguages 	  = config.AvailableLanguages;
LanguageManager.ActiveLanguage 		  = new Object();
LanguageManager.ActiveLanguage.Code   = LanguageManager.GetActiveLanguage();
LanguageManager.ActiveLanguage.Name   = LanguageManager.AvailableLanguages[LanguageManager.ActiveLanguage.Code];
