// 2009 - 2010 (c) CHRiSNEW Development GmbH
//
// This application is proprietary software,
// you may not redistribute, copy or deploy it on a not licensed server.
// For further enhancements, extensions and/or technical support please
// contact us.
//
// See the Chronia Application Deployment License Agreement for more details.

function I18n() {
	this._translations = new Array();
	
	I18n.prototype.getText = function(name) {
		var translated;
		
		if(this._translations[name])
			translated = this._translations[name];
		else
			translated = new String(name);
		
		var isBracketOpen = false;
		var buf = '', numBuf = '';
		
		for(var i=0, j=translated.length; i!=j; i++) {
			if(isBracketOpen) {
				if(translated.charAt(i) == '}') {
					isBracketOpen = false;
					buf += I18n.getText.arguments[parseInt(numBuf) + 1];
				} else {
					numBuf += translated.charAt(i);
				}
			} else if(translated.charAt(i) == '{') {
				isBracketOpen = true;
			} else {
				buf += translated.charAt(i);
			}
		}
		
		return buf;
	}
	
	I18n.prototype.registerTranslations = function(list) {
		for(var i=0, j=list.length; i!=j; i++) {
			this._translations[list[i].k] = list[i].v;
		}
	}
}

window.I18n = new I18n();
