Господа, возникла вот такая вот непонятная проблема:
function parseIn(text,data) {
		for(item in data) {
			text = text.replace(\'{\'+item+\'}\',data[item]);
			//alert(item+\'\\n\'+data[item]);
		}
		return text;
	}
var text = \'User: {username}\';
alert(parseIn(text,{username:\'Bob\'}));
alert(parseIn(text,{username:\'Mary\'}));
Как результат выведет два раза данные из первого вызова, т.е. "User: Bob".
При этом, если раскомментить тестовый вывод внутри функции - он выдаст правильные данные.
Где грабли?
Такое ощущение, что replace кеширует что-то где-то...