// rusfunctions.js

// "A-day-slot-00-slotslut-00-roomID-week"
// "A-2011-01-24-10-00-11-00-3-04-s"

var bookingResult;

function unmakeBooking(booking, singer, pname, sname) {
	var barray = booking.split("-");
	var y = Number(barray[1]);
	var m = Number(barray[2]) - 1;
	var d = Number(barray[3]);
	var today = new Date();
	var twodaysbefore = new Date();
	twodaysbefore.setFullYear(y, m, d);
	twodaysbefore.setDate(twodaysbefore.getDate() - 2);

	if (today > twodaysbefore) {
		alert("Det är för sent att boka av! Kontakta kansliet.");
		return false;
	}

	if (confirm("Avboka tid med " + pname + "?")) {
		document.getElementById(booking).style.backgroundColor = "lime";
		document.getElementById(booking+"-s").innerHTML = "&nbsp";
		document.getElementById(booking).onclick = function() {makeBooking(booking, singer, pname, sname)};
		handleDB(booking, 0, singer);
		var week = Number(barray[9]);
		updateCounter(week, -1);
		return true;
//		alert(ok);
	}
	return false;
}

function publishBooking(booking, pianist, name) {
		var b = document.getElementById(booking);
		document.getElementById(booking).style.backgroundColor = "yellow";
		document.getElementById(booking).style.cursor = "pointer";
		document.getElementById(booking+"-s").innerHTML = "&nbsp";
		document.getElementById(booking+"-p").innerHTML = name;
		document.getElementById(booking).onclick = function() {unpublishBooking(booking, pianist, name)};
//		alert(booking +"§" + 11 + "§" + pianist);
		handleDB(booking, 11, pianist);
//		alert(ok);
}

function unpublishBooking(booking, pianist, name) {
	if (confirm("Dra tillbaka utlagd tid?")) {
		document.getElementById(booking).style.backgroundColor = "white";
		document.getElementById(booking).style.cursor = "pointer";
		document.getElementById(booking+"-s").innerHTML = "&nbsp;";
		document.getElementById(booking+"-p").innerHTML = "&nbsp;";
		document.getElementById(booking).onclick = function() {publishBooking(booking, pianist, name)};
		handleDB(booking, 12, pianist);
	}
//		alert(ok);
}

function makeBooking(booking, singer, pname, sname) {
//	alert(window.location.href);
	var barray = booking.split("-");
	var week = Number(barray[9]);
	var d = Number(barray[3]);
	var today = new Date();
	var tomorrow = new Date();
	tomorrow.setDate(today.getDate() + 1);

	if ((getCounter(week) >= 1) && (d != tomorrow.getDate())) {
//		alert(d+"-"+tomorrow.getDate());
		alert("Du kan högst boka 1 timme per vecka!");
		return;
	}

	if (confirm("Boka tid med " + pname + "?")) {
		handleDB(booking, 1, singer);
		if (bookingResult != 1) {
			alert("Någon annan hann tyvärr före!");
			handleDB(booking, 2, singer);
			document.getElementById(booking).style.backgroundColor = "red";
			document.getElementById(booking).style.cursor = "auto";
			document.getElementById(booking+"-s").innerHTML = ok;
			document.getElementById(booking).onclick = null;
		} else {
			document.getElementById(booking).style.backgroundColor = "aqua";
			document.getElementById(booking+"-s").innerHTML = sname;
			document.getElementById(booking).onclick = function() {unmakeBooking(booking, singer, pname, sname)};
			updateCounter(week, 1);
		}
	}
}

function updateCounter(w, x) {
	var c = Number(document.getElementById("w"+w).innerHTML);
	c += Number(x);
	document.getElementById("w"+w).innerHTML = c;
}

function getCounter(w) {
	return document.getElementById("w"+w).innerHTML;
}

function setFocus() {
	document.getElementById("inputfield").focus();
}

function stopRKey(evtin) { 
  var evt = (evtin) ? evtin : ((event) ? event : null); 
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
  if (evt.keyCode == 13) return false;
	return true;
}

/*
function handler() {
	if (this.readyState == 4) {
		ok = this.responseText;
		document.body.style.cursor = "default";
//		alert(this.responseText);
	}
}
		*/
function handleDB(booking, action, user) {
	var params = "booking="+booking+"&action="+action+"&user="+user;
	var url = "rusRequest.php";
	var xmlHttp;

	if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest();
	else xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

	if (xmlHttp == null) {
		alert("Din webbläsare är för gammal!");
		return;
	}
	document.body.style.cursor = "wait";
	xmlHttp.open('GET', url+"?"+params, false);
//	client.onreadystatechange = handler;
	xmlHttp.send(null);
	bookingResult = xmlHttp.responseText;
	document.body.style.cursor = "default";
	return;
}

function add(string) {
	var div = document.createElement('div');
	var tn = document.createTextNode(string);
	div.appendChild(tn);
	document.getElementById("accum").appendChild(div);
}
