var OspodLanguage = new Object() ;

OspodLanguage.AvailableLanguages = 
{
	'ar'		: 'Arabic',
	'bg'		: 'Bulgarian',
	'bn'		: 'Bengali/Bangla',
	'bs'		: 'Bosnian',
	'ca'		: 'Catalan',
	'cs'		: 'Czech',
	'da'		: 'Danish',
	'de'		: 'German',
	'el'		: 'Greek',
	'en'		: 'English',
	'en-au'		: 'English (Australia)',
	'en-ca'		: 'English (Canadian)',
	'en-uk'		: 'English (United Kingdom)',
	'eo'		: 'Esperanto',
	'es'		: 'Spanish',
	'et'		: 'Estonian',
	'eu'		: 'Basque',
	'fa'		: 'Persian',
	'fi'		: 'Finnish',
	'fo'		: 'Faroese',
	'fr'		: 'French',
	'gl'		: 'Galician',
	'he'		: 'Hebrew',
	'hi'		: 'Hindi',
	'hr'		: 'Croatian',
	'hu'		: 'Hungarian',
	'it'		: 'Italian',
	'ja'		: 'Japanese',
	'km'		: 'Khmer',
	'ko'		: 'Korean',
	'lt'		: 'Lithuanian',
	'lv'		: 'Latvian',
	'mn'		: 'Mongolian',
	'ms'		: 'Malay',
	'nl'		: 'Dutch',
	'no'		: 'Norwegian',
	'pl'		: 'Polish',
	'pt'		: 'Portuguese (Portugal)',
	'pt-br'		: 'Portuguese (Brazil)',
	'ro'		: 'Romanian',
	'ru'		: 'Russian',
	'sk'		: 'Slovak',
	'sl'		: 'Slovenian',
	'sr'		: 'Serbian (Cyrillic)',
	'sr-latn'	: 'Serbian (Latin)',
	'sv'		: 'Swedish',
	'th'		: 'Thai',
	'tr'		: 'Turkish',
	'uk'		: 'Ukrainian',
	'vi'		: 'Vietnamese',
	'zh'		: 'Chinese Traditional',
	'zh-cn'		: 'Chinese Simplified'
}

OspodLanguage.DefaultLanguage = "zh-cn";

OspodLanguage.GetActiveLanguage = function()
{
	var sUserLang ;
	
	var localeCookie = "_cmsLocale";
	var arr = document.cookie.match(new RegExp("(^| )"+localeCookie+"=([^;]*)(;|$)"));
     if(arr != null){
		 sUserLang = unescape(arr[2]);
	 }
	if(sUserLang !=null && sUserLang != ""){
		if(sUserLang.length > 2){
			var re = /_/;
			sUserLang = sUserLang.replace(re,"-");
		}
		return sUserLang.toLowerCase();
	}

	// IE accepts "navigator.userLanguage" while Gecko "navigator.language".
	if ( navigator.userLanguage )
		sUserLang = navigator.userLanguage.toLowerCase() ;
	else if ( navigator.language )
		sUserLang = navigator.language.toLowerCase() ;
	else
	{
		// Firefox 1.0 PR has a bug: it doens't support the "language" property.
		return this.DefaultLanguage ;
	}
	
	// Some language codes are set in 5 characters, 
	// like "pt-br" for Brasilian Portuguese.
	if ( sUserLang.length >= 5 )
	{
		sUserLang = sUserLang.substr(0,5) ;
		if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
	}
	
	// If the user's browser is set to, for example, "pt-br" but only the 
	// "pt" language file is available then get that file.
	if ( sUserLang.length >= 2 )
	{
		sUserLang = sUserLang.substr(0,2) ;
		if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
	}
	
	return this.DefaultLanguage ;
}


OspodLanguage.LoadLanguage = function( url )
{
	document.write( '<script type="text/javascript" src="' + url + '" charset="utf-8"><\/script>' ) ;
}

OspodLanguage.languageCheck = function(){
	try{
		I18n.language;
	}catch(err){
		if(ospodLang!=null && ospodLang.length>2){
			OspodLanguage.LoadLanguage(_templatePath + "lib/message_"+ospodLang.substr(0,2)+".js");
		}
	}
}

var ospodLang = OspodLanguage.GetActiveLanguage();
OspodLanguage.LoadLanguage(_templatePath + "lib/message_"+ospodLang+".js");

