﻿	function az(x) {
		if (x < 10)
			return "0"+x;
		return x;
	}

	function ly(Y) {
		return (Y % 4 == 0 && !(Y % 100 == 0 && Y % 400 != 0));
	}

	function dy(D, M, Y) {
		var dm = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
		if (ly(Y)) {
			dm[1] = 29;
		}
		var d = D;
		for (var i = 0; i < M-1; i++) {
			d+= dm[i]
		}
		return d;
	}

	function go() {
		var iddate = document.getElementById("discordianddate");
		var idtime = document.getElementById("discordiandtime");
		var date = new Date();

		var D = date.getDate();
		var M = date.getMonth()+1;
		var Y = date.getFullYear();
		var d = dy(D, M, Y);
		var sttiby = 0;
		if (ly(Y)) {
			if (d == 60) {
				sttiby = 1;
			} else if (d > 60) {
				d--;
			}
		}
		M = Math.floor(d/73);
		D = d % 73;
		if (D == 0) {
			M--;
			D = 73;
		}
		switch (M) {
			case 0:
				M = "Caos";
				break;
			case 1:
				M = "Discórdia";
				break;
			case 2:
				M = "Confusão";
				break;
			case 3:
				M = "Burocracia";
				break;
			case 4:
				M = "Pós-matemática";
				break;
			default:
				M = "fnord";
		}
		Y+= 1166;
		if (sttiby) {
			iddate.innerHTML = "Dia de São Tiby, "+Y+" YOLD";
		} else {
			iddate.innerHTML = az(D)+" de "+M+" de "+Y+" YOLD";
		}

		var h = date.getHours();
		var m = date.getMinutes();
		var s = date.getSeconds();
		var e = h*3600+m*60+s;
		var ds = Math.round(e*1000/864);
		h = Math.floor(ds/10000);
		ds%= 10000;
		m = Math.floor(ds/100);
		ds%= 100;
		s = ds;
		idtime.innerHTML = az(h)+":"+az(m)+":"+az(s);
	}

	window.onload = function() {
		go();
		setInterval(go, 100);
	}