
function Traduccion()
{
	var _traducciones = new Array(); // Array con las traducciones
	var _defaultIdioma = "2";
	var _idioma = "2";
	
	// Establece el idioma que se usara en las sucesivas llamadas al traductor
	this.setIdioma = function(idioma)
	{
		_idioma = idioma + ""; // Aseguramos que el idioma es un string
	}
	
	// A?ade la traduccion al par (id, idioma)
	this.add = function(id, idioma, traduccion)
	{
		idioma = idioma + ""; // Aseguramos que el idioma es un string
		if (!_traducciones[id]) _traducciones[id] = new Array();
		_traducciones[id][idioma] = traduccion;
	}
	
	// Obtiene el texto 
	this.get = function(id, idioma)
	{
		if (!idioma) idioma = _idioma;
		else idioma = idioma + ""; // Aseguramos que el idioma es un string
		if (_traducciones[id])
		{
		 if (_traducciones[id][idioma]) return _traducciones[id][idioma];
		 if (_traducciones[id][_defaultIdioma]) return _traducciones[id][_defaultIdioma];
		}
		
		return "";
	}
	
	// Esribe el texto
	this.write = function(id, idioma)
	{
		document.write(this.get(id, idioma));
	}
	
	// Dado el nodo DOM con id 'dom_id', pone al atributo 'attr' del nodo la traducci?n
	// indicada por (trad_id, idioma)
	this.setDomAttr = function(dom_id, attr, trad_id, idioma)
	{
		var ele = document.getElementById(dom_id);
		
		if (!ele) return;
		
		ele[attr] =  this.get(trad_id, idioma);
	}
}

// Singleton que gestiona la traducci?n de los distintos textos
var TRADUCCION = new Traduccion();