
var Template = function(templateText)
{
	this.text = templateText;
	this.escapeHTML = true;
	this.Evaluate = function(data)
	{
		var templateTxt = this.text;
		var obj = data;
		var a = new RegExp("#\\{[a-z_A-Z0-9$\\.\\[\\]]{1,}?\\}");
		var match = a.exec(templateTxt);
		var condition = true;
		do
		{	
			if(match==null)
			{				
				return templateTxt;
			}
			if(match.toString().length < 4) 
			{
				return templateTxt;
			}
			var variable = match.toString().slice(2,-1);
			var value = "";
			if(variable.indexOf("[") != -1 )
			{
				value = eval("obj" + variable).toString();
			}
			else
			{
				value = eval("obj." + variable).toString();
			}
			if(this.escapeHTML) value = value.escapeHTML();
			else{
				var node = document.createElement("div");
				node.appendChild(document.createTextNode(value));
				value = node.innerHTML;
			}
			templateTxt = templateTxt.replace(match.toString(),value);
			match = a.exec(templateTxt);
		}
		while(true)
		return templateTxt;
	}
}