/*	%D - день недели
* 	%d - число
* 	%M - месяц
* 	%y - год
* 	%Y - короткий год
* 	%h - час
* 	%m - минута
* 	%s - секунда
* 	~xxxxxx~ - мерцающие символы
*/

function myDate(id, shift) {	
	try {
		var days = ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
			months = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'],
			obj = document.getElementById(id),
			format = obj.innerHTML;
		function update() {
			var date = new Date();
			if (shift == undefined) 
				shift = date.getHours() - date.getUTCHours();
			date.setUTCHours(date.getUTCHours() + shift);
			var D = days[date.getUTCDay()],
				d = date.getUTCDate(),
				M = months[date.getUTCMonth()],
				y = date.getUTCFullYear(),
				h = date.getUTCHours(),
				m = date.getUTCMinutes(),
				s = date.getUTCSeconds(),
				year = y.toString(),
				Y = year[2] + year[3],
				wrap = (s % 2 == 1)? '<span style="visibility:hidden">' : '<span>';
			if (h < 10) h = '0' + h;
			if (m < 10) m = '0' + m;
			if (s < 10) s = '0' + s;
			obj.innerHTML = format
				.replace(/%D/g, D)
				.replace(/%d/g, d)
				.replace(/%M/g, M)
				.replace(/%Y/g, Y)
				.replace(/%y/g, y)
				.replace(/%h/g, h)
				.replace(/%m/g, m)
				.replace(/%s/g, s)
				.replace(/~([^~]+)~/g, wrap + '$1</span>');
		}
		update();
		window.setInterval(update, 1000);	
	} catch(e) {
		
	}
};
myDate('date',4);
