var dest_language = '';
var LastIdioma = '';
var isLangSelector = false;
var isLangLoading = false;

$(document).ready(function(){	

	isLangSelector = ($('#language_selector').length > 0 && $('#language_selector').is('select'));
	isLangLoading = ($('#lang_loading').length > 0);
	
	if (isLangSelector) {
		$('#language_selector').change(function(){
			Traducir($(this).val());
		});
	}
	
	langcookie = $.cookie('dinacms_lang');
	if (langcookie && langcookie != DINA_LANGUAGE) {
		if (isLangSelector) {
			$('#language_selector').val(langcookie);
		}
		Traducir(langcookie);
	}
	
	LastIdioma = DINA_LANGUAGE;
	
});

function Traducir(lang) {
	
	// Algunos idiomas requieren una adaptación de los códigos
	switch (lang) {
		case 'pt':
			lang = 'pt-PT'; // Portugués de Portugal
			break;
		case 'se':
			lang = 'sv'; // Sueco
			break;
		case 'zh':
		case 'cn':
			lang = 'zh-CN'; // Chino simplificado
			break;
	}
	
	$.cookie('dinacms_lang', lang);
	dest_language = lang;
	
	if (typeof(translateTag) === 'undefined') {
		translateTag = 'body';
	}
	
	$(translateTag).translate(LastIdioma, lang, {
		toggle: true, 
		not: '.notranslate',
		start: function() { 
			if (isLangLoading) { 
				$('#lang_loading').show(); 
			}
		},
		complete: function() {
			if (isLangLoading) {
				$('#lang_loading').hide();
			}
			if (isLangSelector) {
				$('#language_selector').val(lang);
			}
			LastIdioma = lang;
		}
	});
	
	if (window.TraducirPagina) {
		TraducirPagina(lang);
	}
	
}

function TraducirElemento(elemento) {
	$(elemento).translate(DINA_LANGUAGE, dest_language, {
		toggle: true, 
		not: '.notranslate'
	});
}

