﻿var String = {};

String.format = function(str)
{
	for (i = 1; i < arguments.length; i++)
	{
		str = str.replace('{' + (i - 1) + '}', arguments[i]);
	}
	return str;
}

String.fillWithArray = function(str, array)
{
	for (var key in array)
	{
		var val = array[key];
		if (typeof (val) == 'string')
		{
			val = String.replaceAll(val, "\n", "<br/>");
			val = String.replaceAll(val, "\r", "<br/>");
		}
		str = String.replaceAll(str, '{' + key + '}', val);
		str = String.replaceAll(str, '%7B' + key + '%7D', val);
		// TODO: Add sanity check
	}
	return str;
}

String.replaceAll = function(text, from, to)
{
	var intIndexOfMatch = text.indexOf(from);
	while (intIndexOfMatch != -1)
	{
		text = text.replace(from, to)
		intIndexOfMatch = text.indexOf(from);
	}
	return text;
}
