Template = new Class({
	delims: {
		ldelim: '[',
		rdelim: ']'
	},
	
	initialize: function(html) {
		this.html = html;
	},
	
	getHTML: function(params) {
		var html = this.html;
		
		$H(params).each(function(value, key) {
			var string = this.delims.ldelim + key + this.delims.rdelim;
			var expr = new RegExp(string.escapeRegExp(), 'g');
			
			html = html.replace(expr, value);
		}.bind(this));
		
		$H(this.delims).each(function(value, key) {
			var string = this.delims.ldelim + key + this.delims.rdelim;
			var expr = new RegExp(string.escapeRegExp(), 'g');
			
			html = html.replace(expr, value);
		}.bind(this));
		
		//latere versie van mootools?
		//html = html.substitute(params, /\?\[([^\]]+)}/g);
		
		return html;
	},
	
	apply: function(target, params) {
		target = $(target);
		
		var tagName = target.tagName
		var html = '';
		html += '<' + tagName + '>';
		html += this.getHTML(params);
		html += '</' + tagName + '>';
		
		container = document.createElement('div');
		container.innerHTML = html;
		
		source = container.getElementsByTagName(tagName)[0];
		
		//waarom doet IE altijd zo moeilijk?
		//var source = target.clone(false);
		//source.setHTML(html);
		
		$A(source.childNodes).each(function(node) {
			target.appendChild(node);
		});
	}
});

