//Localization
// (c) wpn.tv 2006-2008

var Locale = [];

var Localization = Class.create();
Localization.prototype = {
	languageXML : null,
	localeLoaded : null,
	localeVersion : "270508", //set date for correct reload to all browsers
	initialize : function( language , onLoadedCallback ) {
		this.localeLoaded = onLoadedCallback;
		new Ajax.Request("/common/localization/languages/"+language+".xml?LocaleVersion="+this.localeVersion+"&tick="+Math.random(), {
									method:'get',
									contentType : 'application/xml',
									onSuccess : function( data ) {

											xmlResponse = data.responseXML;																
											languageNode = xmlResponse.getElementsByTagName('Language')[0];
											this.languageXML = languageNode;
											this.renderLocale();
									}.bind(this)																  
						  });
	},
	renderLocale : function () {
		if (this.languageXML == null) return;
		for (i=0; i < this.languageXML.getElementsByTagName('Entry').length; i++) {
			Locale[this.languageXML.getElementsByTagName('Entry')[i].getAttribute("tag")] = this.languageXML.getElementsByTagName('Entry')[i].getAttribute("string");
		}
		if (this.localeLoaded != null) {
			this.localeLoaded.call(this);
		}																								
	}	
};

//usage:
//call back: function name( localizationObj )
// var localization = new Localization('locale');
// localizedString = localization.getString("tag");
//var localization = new Localization("default",null);
//localizedString = localization.getString("a");
