/*
* Javascript functions for applying language templates functions
* StartCmstranslator.js
* $Source$
* $Date$
* $Revision$
*/
//declaring the class: depends on prototype.js
var StartCmsTranslator = Class.create();

// StartCmsTranslator Prototype
StartCmsTranslator.prototype = {
	/********************************************************************
	* initialize this class
	********************************************************************/
	initialize: function(){
		// alert("StartCmsTranslator.init()");
	}
	/********************************************************************
	* language translation entries
	********************************************************************/
	, languagePack: {
		StartCms: "StartCms"
	}
	/********************************************************************
	* add translation entry to language pack
	********************************************************************/
	, addToLanguagePack: function(ar){
		for (var key in ar) {
			this.languagePack[key] = ar[key];
		}
	}
	/********************************************************************
	* apply language-entries to the html
	********************************************************************/
	, applyTemplate: function(html){
		var i=0;
		var ar = html.match(new RegExp('\\{\\$[a-z0-9_]+\\}', 'gi'));
		if(ar){
			for (i=ar.length-1; i>=0; i--) {
				s = ar[i].substring(2, ar[i].length-1);
				if(this.languagePack[s]){
					html = this.replaceVar(html, s, this.languagePack[s]);
				}
			}
		}
		return html;
	}
	/********************************************************************
	* replace an entry in h
	********************************************************************/
	, replaceVar: function (h, r, v) {
		return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v);
	}
	/********************************************************************
	* applyTemplateToDocument
	********************************************************************/
	, applyToDocument: function () {
			document.title = this.applyTemplate(document.title);
			document.body.innerHTML = this.applyTemplate(document.body.innerHTML);
	}
};

// global object
var oTranslator = new StartCmsTranslator();

