// Global variables
var eventID = 0;
var eventDate = 0;
var eventTitle = "";
var linkStyle = "style=\"text-decoration: none; color: white\"";

function padZero(iNumber) {
	strNumber = iNumber.toString();
	if(strNumber.length == 1) {
		return '0' + strNumber;
	}
	return strNumber;
}

function ajax_getEvent() {
	var xmlHttp;
	try {
		// Firefox, Opera, safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		try {
			// Internet Explorer
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState == 4) {
			if(!xmlHttp.responseXML || !xmlHttp.responseXML.documentElement) {
				eventTitle = "";
				showTime();
				setInterval('showTime()',1000);
				return;
			}
			var response = xmlHttp.responseXML.documentElement;
			eventID = response.getElementsByTagName('id')[0].childNodes[0].nodeValue;
			eventDate = response.getElementsByTagName('date')[0].childNodes[0].nodeValue;
			eventTitle = response.getElementsByTagName('title')[0].childNodes[0].nodeValue;
			eventDate = 1000 * eventDate;
			showTime();
			setInterval('showTime()',1000);
		}
	}
	xmlHttp.open("GET", "ajax_getevent.php", true);
	xmlHttp.send(null);
}

function showTime() {
	var veckodag = Array("Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag");
	var manad = Array("Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec");
	
	var time = new Date();
	var hour = time.getHours();
	var minute = time.getMinutes();
	var second = time.getSeconds();
	var eventDateTS = new Date();


	if(eventTitle.length > 0) {
		var strEventTitle = "<a href=\"?page=showevent&eID=" + eventID + "\" "+ linkStyle + ">" + eventTitle + "</a>";
	
		var nowDate = time.getTime();
	
		var secLeft = (eventDate - nowDate) / 1000;
		if(secLeft > 0) {
			var cHours = secLeft / 3600;
			var cDays = cHours / 24;
			var ccDays = Math.floor(cDays);
			var cHours = (cDays - ccDays) * 24;
			var ccHours = Math.floor(cHours);
			var cMinutes = (cHours - ccHours) * 60;
			var ccMinutes = Math.floor(cMinutes);
			var cSeconds = (cMinutes - ccMinutes) * 60;
			var ccSeconds = Math.floor(cSeconds);
		
			// var strTimeLeft = ccDays + " dag, " + ccHours + " tim, " + ccMinutes + " min, " + ccSeconds + " sek";
			var strTimeLeft = "om " + ccDays + " dagar, " + padZero(ccHours) + " tim " + padZero(ccMinutes) + " min " + padZero(ccSeconds) + " s";
			// Every other second, show the date instead of time left!
			if(4 & time.getSeconds()) {
				eventDateTS.setTime(eventDate);
				var edDay = veckodag[eventDateTS.getDay()];
				var edMonth = manad[eventDateTS.getMonth()];
				var edYear = eventDateTS.getYear() - 100;
				var edHour = eventDateTS.getHours();
				var edMinute = eventDateTS.getMinutes();

				// Fix year for IExplorer as IExplorer start counting
				// at zero, where Firefox starts at 1900 and we
				// just want the las two digits.
				if(edYear > 1000) {
					edYear = edYear - 1900;
				}

				var strTimeLeft = edDay + " den " + eventDateTS.getDate() + " " + edMonth + " " + padZero(edYear) + ", kl " + padZero(edHour) + ":" + padZero(edMinute);
			}
			// var strTimeLeft = secLeft;
		} else {
			// var strTimeLeft = "0 dagar, 0 tim, 0 min, 0 sek";
			var strTimeLeft = "evenemanget pågår nu!";
		}
	} else {
		var strEventTitle = "Inget på gång";
		var strTimeLeft = "";
	}
		
	
	var dagstring = veckodag[time.getDay()] + " " + time.getDate() + " " + manad[time.getMonth()] + " " + time.getFullYear();
	
	var thistime = padZero(hour) + ":" + padZero(minute);
	
	document.getElementById("clock").firstChild.nodeValue= thistime;
	document.getElementById("clock2").firstChild.nodeValue= dagstring;
	document.getElementById("eventTitle").innerHTML = strEventTitle;
	document.getElementById("eventTime").firstChild.nodeValue = strTimeLeft;
	
}
