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

var getElements = function(attr, value, root) {
	if (!root) root = document;
	else if (typeof root == 'string') root = document.getElementById(root);
	var all = root.getElementsByTagName('*');
	var elements = [];
	for (var i = 0; i < all.length; i++) {
		var element = all[i];
		if (isMember(element, attr, value)) elements.push(element);
	}
	return elements;
}

var isMember = function(element, attr, value) {
	if (element.getAttribute(attr) == value) return true;
	else return false;
}

var myDate = function() {

	var days = ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'];
	var months = ['01', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', '08', 'сентября', 'октября', 'ноября', 'декабря'];
	var obj = getElements('name', 'myDate');
	for (var i = 0; i < obj.length; i++) {
		obj[i].setAttribute('format', obj[i].innerHTML);
	}
	var renew = function() {
		var date = new Date();
		var D = days[date.getDay()];
		var d = date.getDate();
		var M = months[date.getMonth()];
		var y = date.getFullYear().toString().replace('20','');
		var h = date.getHours();
		var m = date.getMinutes();
		var s = date.getSeconds();
		var wrap = s % 2 == 0 ? '<span style="visibility:hidden">' : '<span style="visibility:visible">';
		h < 10 ? h = '0' + h : h;
		m < 10 ? m = '0' + m : m;
		s < 10 ? s = '0' + s : s;
		for (var i = 0; i < obj.length; i++) {
			obj[i].innerHTML = obj[i].getAttribute('format').replace('%D', D).replace('%d', d).replace('%M', M).replace('%y', y).replace('%h', h).replace('%m', m).replace('%s', s).replace(/~([^~]+)~/g, wrap + '$1</span>');
		}
	}
	renew();
	window.setInterval(renew, 1000);
}

myDate();
