(function($){
	$.tmpl = function(template, data){
		return $("<script type='text/html'>"+template+"</script>").tmpl(data);
	}
	var cashe = {};
	$.fn.tmpl = function(data) {
		data = data || {};

		return new Function("obj", 
			"var p=[],print=function(){p.push.apply(p,arguments);};" +
	        "with(obj){p.push('" +
	        $(this).html()
	          .replace(/[\r\t\n]/g, " ")
	          .split("<%").join("\t")
	          .replace(/((^|%>)[^\t]*)'/g, "$1\r")
	          .replace(/\t=(.*?)%>/g, "',obj.$1||$1||null,'")
	          .split("\t").join("');")
	          .split("%>").join("p.push('")
	          .split("\r").join("\\'")
	      + "');}return p.join('');")(data);
	}

})(jQuery)
