AgDateLocale = {
	fi: {
		n: ['Tam', 'Hel', 'Maa', 'Huh', 'Tou', 'Kes', 'Hei', 'Elo', 'Syy', 'Lok', 'Mar', 'Jou'],
		N: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', 'lokakuuta', 'marraskuuta', 'joulukuuta'],
		l: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],
		L: ['Sunnuntai', 'Maanantai', 'Tiista', 'Keskiviikko', 'Torstai', 'Perjantai', 'Lauantai'],
		a: ['am', 'pm'],
		A: ['AM', 'PM'],
		datetime: '%w.%m.%Y %H:%I:%S',
		date: '%d.%m.%Y',
		time: '%H:%I:%S'
	}
}
function AgDateFormat(date, format, locale)
{
	var locale = AgDateLocale[locale || AgLocale];
	var out = format;
	var y = date.getFullYear(), m = date.getMonth(), d = date.getDate(), w = date.getDay(), h = date.getHours(),i = date.getMinutes(),s = date.getSeconds(),w = date.getDay(),z = date.getTimezoneOffset();
	out = AgDateFormatReplace(
		out,
		{
			'%y': ('' + y).slice(2),
			'%Y': y,
			'%m': m + 1,
			'%M': AgDateFormatZeroPadding(m + 1,2),
			'%n': locale['n'][m],
			'%N': locale['N'][m],
			'%d': d,
			'%D': AgDateFormatZeroPadding(d,2),
			'%l': locale['l'][w],
			'%L': locale['L'][w],
			'%w': w,
			'%h': h,
			'%H': AgDateFormatZeroPadding(h,2),
			'%g': h % 12 || 12,
			'%G': AgDateFormatZeroPadding(h % 12 || 12,2),
			'%i': i,
			'%I': AgDateFormatZeroPadding(i,2),
			'%s': s,
			'%S': AgDateFormatZeroPadding(s,2),
			'%a': locale['a'][Math.floor(h / 12 || 1)],
			'%A': locale['A'][Math.floor(h / 12 || 1)]
		}
	);
	return out;
}
function AgDateFormatReplace (string, patterns) { for (var i in patterns) { string = string.replace(new RegExp(i, 'g'), patterns[i]); } return string; }
function AgDateFormatZeroPadding (n,len) { var out = new String(n); while(out.length < len) { out = '0'+out; } return out; }
