function checkUser() {
	var info, name, phone, email, id, user_ok, mail_ok;

	info  = document.getElementById("edit-bookinfo-consumer-info");
	name  = document.getElementById("edit-bookinfo-consumer-name");
	phone = document.getElementById("edit-bookinfo-consumer-phone");
	email = document.getElementById("edit-bookinfo-consumer-email");
	id = document.getElementById("edit-bookinfo-consumer-id");
	
	if (info && name && phone && email && id) {
		if (id.value == '' && info.value != '') {
			user_ok = false;
			if (confirm("Kunden eksisterer ikke i systemet. Vil du oprette kunden?"))
				if (name.value = prompt("Indtast kundens navn", name.value))
					if (phone.value = prompt("Indtast kundens tlf. nr.", phone.value))
						user_ok = true;
			
			mail_ok = false;
			if (user_ok)
				if (confirm("Kundens email-adresse skal oplyses hvis kunden skal have mulighed online booking. Vil du give kunden mulighed for online booking?"))
					if (email.value = prompt("Indtast kundens email-adresse", email.value))
						mail_ok = true;
			
			if (user_ok) {
				info.value = name.value+' '+phone.value;
			}
			else {
				info.value = '';
				name.value = '';
				phone.value = '';
				email.value = '';
				id.value = '';
			}
			document.getElementById("booking_form").submit();
		}				
	}
}		

function resetTime() {
	if (document.getElementById("edit-bookinfo-time-begin")) {
		document.getElementById("edit-bookinfo-time-begin").value=null;
	}
	if (document.getElementById("edit-bookinfo-time-end")) {
		document.getElementById("edit-bookinfo-time-end").value=null;
	}
}

function resetSupplement() {
	if (document.getElementById("edit-bookinfo-service-supplement")) {
		document.getElementById("edit-bookinfo-service-supplement").selectedIndex = -1;
	}
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function getWeek(year,month,day) {
    var when = new Date(year,month,day);
    var newYear = new Date(year,0,1);
    var offset = 7 + 1 - newYear.getDay();
    if (offset == 8) offset = 1;
    var daynum = ((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0) - Date.UTC(y2k(year),0,1,0,0,0)) /1000/60/60/24) + 1;
    var weeknum = Math.floor((daynum-offset+7)/7);
    if (weeknum == 0) {
        year--;
        var prevNewYear = new Date(year,0,1);
        var prevOffset = 7 + 1 - prevNewYear.getDay();
        if (prevOffset == 2 || prevOffset == 8) weeknum = 53; else weeknum = 52;
    }
    return weeknum;
}

function changeWeek(direction) {
	var service_week = parseInt(document.getElementById("edit-bookinfo-time_ref").value);
	var view = document.getElementById("edit-bookinfo-view").value;
	var oneday = 60 * 60 * 24;
	var d = new Date();
	
	var message = "";

	message = "service_week primo: " + service_week;

	if (service_week) {
		switch (direction) {
		case 'next':
			if (view == 'multi') {
				service_week += oneday;
			} else {
				service_week += oneday * 7;
			}
			break;
		case 'nextnext':
			if (view == 'multi') {
				service_week += oneday * 7;
			} else {
				service_week += oneday * 31;
			}
			break;
		case 'prev':
			if (view == 'multi') {
				service_week -= oneday;
			} else {
				service_week -= oneday * 7;
			}
			break;
		case 'prevprev':
			if (view == 'multi') {
				service_week -= oneday * 7;
			} else {
				service_week -= oneday * 31;
			}
			break;
		case 'cur':
			service_week = d.getTime()/1000;
			break;
		}
	} else {
		service_week = 0;
	}
	
	document.getElementById("edit-bookinfo-time_ref").value = service_week;
	document.getElementById("booking_form").submit();
}

function getPrevious() {
	document.getElementById("edit-bookinfo-service-id").value = document.getElementById("edit-bookinfo-service-last-id").value;	
	document.getElementById("edit-bookinfo-producer-id").value = document.getElementById("edit-bookinfo-producer-last-id").value;	
	document.getElementById("booking_form").submit();
}	

function getAutocomplete() {
	document.writeln(document.getElementById("edit-bookinfo-consumer-info").value); // document.getElementById("edit-bookinfo-consumer-info").value);
	autocompleteAutoAttach();
}	

function resetNavigation() {
	var d = new Date();
	document.getElementById("edit-bookinfo-direction").value = 'asap';
	document.getElementById("edit-bookinfo-offset").value = 0;
	document.getElementById("edit-bookinfo-extra_time").value = 0;
	document.getElementById("edit-bookinfo-time_ref").value = d.getTime()/1000;
	document.getElementById("booking_form").submit();
}	


function changeDirection(direction) {
	var cur_direction = document.getElementById("edit-bookinfo-direction").value;
	
	if (direction != cur_direction) {
		document.getElementById("edit-bookinfo-direction").value = direction;
		document.getElementById("booking_form").submit();
	}
}

function changeOffset(offset) {
	var cur_offset = parseInt(document.getElementById("edit-bookinfo-offset").value);
	var cur_direction = document.getElementById("edit-bookinfo-direction").value;

	if (cur_direction == 'alap') {
		offset = -offset;
	}
	
	if (offset + cur_offset >= 0) {
		document.getElementById("edit-bookinfo-offset").value = cur_offset + offset;
		document.getElementById("booking_form").submit();
	}
}
function changeExtraTime(length) {
	var cur_extra_time = parseInt(document.getElementById("edit-bookinfo-extra_time").value);
	
	
	document.getElementById("edit-bookinfo-extra_time").value = cur_extra_time + length;
	document.getElementById("booking_form").submit();
}

function showAvailTimes() {
// 	var sid = document.getElementById("edit-service_id").value;
	var pid = document.getElementById("edit-bookinfo-producer_id").value;
//	var cid = document.getElementById("edit-consumer_id").value;

	if (pid > 0) {
		document.getElementById("booking_form").submit();
	}
	else {
		if (document.getElementById("booking_form")) {
			document.getElementById("booking_form").submit();
		}
	}
}

function changeView(view) {
	var cur_view = document.getElementById("edit-bookinfo-view").value;
	
	if (view != cur_view) {
		document.getElementById("edit-bookinfo-view").value = view;
		document.getElementById("booking_form").submit();
	}
}

function showBookedTimes() {
	var producer = document.getElementById("edit[booked_prod]").value;
	document.form_booked.submit()
}

function pad(i) {
	if (i<10) {	i="0" + i }
  return i
}

function selectEvent(event_id) {
	document.getElementById("edit-bookinfo-no").value = event_id;
//	document.getElementById("edit-bookinfo-consumer-info").value = "";
	document.booking_form.submit();
}

function _selectEvent(event_id) {
	var event = document.forms['event_'+event_id];
	var start_time 		= event.elements['start_time'].value;
	var end_time 			= event.elements['end_time'].value;
	var day_name			= event.elements['day_name'].value;
	var month_name		= event.elements['month_name'].value;
	// var repeat_id 		= event.elements['reapat_id'].value;
	var producer_id 	= event.elements['producer_id'].value;
	var producer_name	= event.elements['producer_name'].value;
	var consumer_id		= event.elements['consumer_id'].value;
	var consumer_name	= event.elements['consumer_name'].value;
	var service_id		= event.elements['service_id'].value;
	var service_name 	= event.elements['service_name'].value;
	var creator_id 		= event.elements['creator_id'].value;
	var creator_name 	= event.elements['creator_name'].value;
	var create_date 	= event.elements['create_date'].value;
	var comment 			= event.elements['comment'].value;
	var begin = new Date();
	var end = new Date();


	end_time++;

	begin.setTime(start_time * 1000);

	end.setTime(end_time * 1000);

	document.getElementById("info-consumer").innerHTML = consumer_name;
	document.getElementById("edit-bookinfo-consumer_id").value = consumer_id;
	document.getElementById("info-service").innerHTML = service_name;
	document.getElementById("edit-bookinfo-service_id").value = service_id;
	document.getElementById("edit-service_id").value = service_id;
	document.getElementById("info-producer").innerHTML = producer_name;
	document.getElementById("edit-bookinfo-producer_id").value = producer_id;
	document.getElementById("info-time").innerHTML = begin.getHours()+':'+pad(begin.getMinutes())+' - '+end.getHours()+':'+pad(end.getMinutes());
	document.getElementById("info-date").innerHTML = day_name+'. d. '+begin.getDate()+'. '+month_name+'. '+begin.getFullYear();
	document.getElementById("edit-bookinfo-begin").value = start_time;
	document.getElementById("edit-bookinfo-end").value = end_time;
	document.getElementById("edit-bookinfo-comment").value = comment;
	document.getElementById("info-number").innerHTML = 'Booking nr.:<SPAN class="choice" id="bookinfo-no-value">#' + event_id + '</SPAN>';
	document.getElementById("edit-bookinfo-id").value = event_id;
	
	changeBookButton('DELETE');
}

function update() {
	var str;
	str = document.getElementById("edit-bookinfo-consumer-info").value;
	document.getElementById("edit-bookinfo-consumer-id").value = str;
	str = document.getElementById("edit-bookinfo-consumer-info").value;
	document.getElementById("edit-bookinfo-consumer-id").value = str;
}

function selectTime(event_begin, event_end, pid) {
	var service_id, consumer_id, producer_id;

	var weekday=new Array("S&oslash;n", "Man", "Tirs", "Ons", "Tor", "Fre", "L&oslash;r");
	var month_name=new Array("Jan", "Feb", "Mar", "Apr", "Maj", "Jun",
	                         "Jul", "Aug", "Sep", "Okt", "Nov", "Dec");
	var d = new Date();
	var e = new Date();

	if (document.getElementById("edit-bookinfo-consumer-id")) {
		consumer_id = document.getElementById("edit-bookinfo-consumer-id").value;
	}
	service_id = document.getElementById("edit-bookinfo-service-id").value;
	producer_id = document.getElementById("edit-bookinfo-producer-id").value;

	document.getElementById("edit-bookinfo-producer-id").value = pid;

	e.setTime(event_end*1000);
	d.setTime(event_begin*1000);
	begin_min = d.getMinutes() < 10 ? '0'+d.getMinutes() : d.getMinutes();
	end_min = e.getMinutes() < 10 ? '0'+e.getMinutes() : e.getMinutes();
	year = d.getYear() + 1900;

	document.getElementById("edit-bookinfo-time-time").innerHTML = 'kl. '+d.getHours()+':'+begin_min;
	document.getElementById("edit-bookinfo-time-date").innerHTML = weekday[d.getDay()]+'. d. '+d.getDate()+'. ' + month_name[d.getMonth()] + '. ' + year;
	document.getElementById("edit-bookinfo-time-begin").value = event_begin;
	document.getElementById("edit-bookinfo-time-end").value = event_end;
	
	if ((service_id) && (consumer_id)) { // && (producer_id )) {
		document.getElementById("edit-bookinfo-submit").disabled = false;
 	}
 	
 	if (document.getElementById("edit-bookinfo-no").value != '') {
		document.getElementById("edit-bookinfo-no").value = '';
 		document.getElementById("booking_form").submit();
	}
	document.getElementById("edit-bookinfo-no").value = '';
}
function _selectTime(event_begin, event_end, pid) {
	var minutes, booking_form;
	var service_id, consumer_id, producer_id;
	var weekday=new Array(7)
	var month_name=new Array("Jan", "Feb", "Mar", "Apr", "Maj", "Jun",
	                         "Jul", "Aug", "Sep", "Okt", "Nov", "Dec");
	var d = new Date()

	service_id  = document.getElementById("edit-bookinfo-service-name").value;
	consumer_id = document.getElementById("edit-bookinfo-consumer-name").value;
	producer_id = document.getElementById("edit-bookinfo-producer-name").value;

	var event = document.forms['free_'+event_begin+'_'+pid];
	var producer_name	= event.elements['producer_name'].value;

	weekday[0]="S&oslash;n"
	weekday[1]="Man"
	weekday[2]="Tirs"
	weekday[3]="Ons"
	weekday[4]="Tor"
	weekday[5]="Fre"
	weekday[6]="L&oslash;r"

	d.setTime(event_begin*1000)
	if (d.getMinutes() < 10) {
		minutes = '0'+d.getMinutes();
	} else {
		minutes = d.getMinutes();
	}
	year = d.getYear() + 1900;





	document.getElementById("edit-bookinfo-producer-name").value = pid;
//	document.getElementById("edit-producer_id").value = pid;
	document.getElementById("edit-bookinfo-begin").value = event_begin;
	document.getElementById("edit-bookinfo-end").value = event_end;
	document.getElementById("edit-bookinfo-comment").value = '';
	
	document.getElementById("info-time").innerHTML = 'kl. '+d.getHours()+':'+minutes;
	document.getElementById("info-date").innerHTML = weekday[d.getDay()]+'. d. '+d.getDate()+'. ' + month_name[d.getMonth()] + '. ' + year;
	document.getElementById("info-producer").innerHTML = producer_name;
	document.getElementById("info-number").innerHTML = '';

	if ((service_id != 0) && (consumer_id != 0) && (producer_id != 0)) {
		changeBookButton('BOOK');
	}
}

function changeBookButton(operation) {
	var color = 'grey';

	switch (operation) {
		case 'DELETE':
			color = 'red'; //'#a40000';
			document.getElementById("update_button").disabled	= false;
			document.getElementById("book_button").disabled	= false;
			document.getElementById("bookinfo-no-value").style.color 	= color;
			break;
		case 'BOOK':
			color = 'green'; // '#4e9a06';
			document.getElementById("update_button").disabled	= true;
			document.getElementById("book_button").disabled	= false;
			break;
		default:
			break;
	}
	
	document.getElementById("edit-bookinfo-oper").value 					= operation;
	document.getElementById("book_button").value 							= operation;
	document.getElementById("info-service").style.color  	= color;
	document.getElementById("info-consumer").style.color 	= color;
	document.getElementById("info-producer").style.color 	= color;
	document.getElementById("info-time").style.color     	= color;
	document.getElementById("info-date").style.color     	= color;
}

function focusFreeOver(id, pid) {
	var idstr = id + "_" + pid;
	var style = document.getElementById(idstr).style;
	style.background	= '#4e9a06'; // '#58b000';
	style.color			= '#fff';
	style.fontWeight	= 'bold';
}
function focusFreeOut(id, pid) {
	var idstr = id + "_" + pid;
	var style = document.getElementById(idstr).style;
	style.background = '#8ae234';  // '#e7f2d8';
	style.color = '#000';  // '#2c5800';
	style.fontWeight	= 'normal';
}
function focusFreeDown(id_begin, id_end, pid) {
	var idstr = id_begin + "_" + pid;
	var style = document.getElementById(idstr).style;
	style.background = '#8ae234';  // '#e7f2d8';
	style.color = '#000';  // '#2c5800';
	style.fontWeight	= 'normal';
	selectTime(id_begin, id_end, pid);
}
function focusFreeUp(id, pid) {
	var idstr = id + "_" + pid;
	var style = document.getElementById(idstr).style;
	style.background  = '#4e9a06'; // '#58b000';
	style.color       = '#fff';
	style.fontWeight  = 'bold';
}
function focusEventOver(id) {
	var idstr = "event_" + id;
	var style = document.getElementById(idstr).style;
	style.background  = '#ce5c00';  // '#ef2929';
	style.color       = '#fff';
	style.fontWeight  = 'bold';
}
function focusEventOut(id) {
	var idstr = "event_" + id;
	var style = document.getElementById(idstr).style;
	style.background 	= '#fcaf3e';  // '#ffdba1';
	style.color 			= '#000';  // '#b63300';
	style.fontWeight	= 'normal';
}
function focusEventDown(id) {
	var idstr = "event_" + id;
	var style = document.getElementById(idstr).style;
	style.background 	= '#fcaf3e';  // '#ffdba1';
	style.color 			= '#000';  // '#b63300';
	style.fontWeight	= 'normal';
	selectEvent(id);
}
function focusEventUp(id) {
	var idstr = "event_" + id;
	var style = document.getElementById(idstr).style;
	style.background	= '#ce5c00';  // '#ef2929';
	style.color				= '#fff';
	style.fontWeight	= 'bold';
}


/*Javascript for Bubble Tooltips by Alessandro Fulciniti
http://pro.html.it - http://web-graphics.com */

function enableTooltips(id) {
	var events, links, i, h, ids;
	if (!document.getElementById || !document.getElementsByTagName) return;

	h = document.createElement("span");
	h.id = "btc";
	h.setAttribute("id", "btc");
	h.style.position = "absolute";
	document.getElementsByTagName("body")[0].appendChild(h);

	if (id == null) {
		links = document.getElementsByTagName("a");
	}
	else if (document.getElementById(id)) {
		links = document.getElementById(id).getElementsByTagName("a");
		for(i = 0; i < links.length; i++) {
    			Prepare(links[i]);
    		}
	}
	
	events = getElementsByName_iefix('div', 'event');
	for(i = 0; i < events.length; i++) {
		PrepareEvent(events[i]);
	}
}

function getElementsByName_iefix(tag, name) {
	var elem = document.getElementsByTagName(tag);
	var arr = new Array();
	for(i = 0,iarr = 0; i < elem.length; i++) {
		att = elem[i].getAttribute("name");
		if(att == name) {
			arr[iarr] = elem[i];
			iarr++;
		}
	}
	return arr;
}

function PrepareEvent(el) {
	var tooltip, t, b, s, l;
	var value, consumer, service;
	var f, v, result, list;
      	
	el.removeAttribute("title");
	tooltip = CreateEl("span", "tooltip");
	s = CreateEl("span", "top"); 

	AppendField(s, el.getElementsByTagName("input")['consumer_field'].value, el.getElementsByTagName("input")['consumer'].value);
	AppendField(s, el.getElementsByTagName("input")['time_field'].value, el.getElementsByTagName("input")['time'].value);
	AppendField(s, el.getElementsByTagName("input")['service_field'].value, el.getElementsByTagName("input")['service'].value);
	AppendField(s, el.getElementsByTagName("input")['supplement_field'].value, el.getElementsByTagName("input")['supplement'].value);
	AppendField(s, el.getElementsByTagName("input")['producer_field'].value, el.getElementsByTagName("input")['producer'].value);

	tooltip.appendChild(s);
	setOpacity(tooltip);
	el.tooltip = tooltip;
	el.onmouseover = showTooltip;
	el.onmouseout = hideTooltip;
	el.onmousemove = Locate;
}

function AppendField(l, field, value) {
	var f, v, result;
	f = document.createElement("dt");
	s = document.createElement("small");
	s.appendChild(document.createTextNode(field+':'));
	f.appendChild(s);
	v = document.createElement("dd");
	v.appendChild(document.createTextNode(value));
	f.appendChild(v);
	l.appendChild(f);
}

function Prepare(el) {
	var tooltip, t, b, s, l;
	t = el.getAttribute("title");
	el.removeAttribute("title");
	tooltip = CreateEl("span", "tooltip");
	s = CreateEl("span", "top");
	s.appendChild(document.createTextNode(t));
	tooltip.appendChild(s);
	setOpacity(tooltip);
	el.tooltip = tooltip;
	el.onmouseover = showTooltip;
	el.onmouseout = hideTooltip;
	el.onmousemove = Locate;
}

function showWorld(e) {
	document.writeln("Hello world");
}

function showTooltip(e) {
 	document.getElementById("btc").appendChild(this.tooltip);
	Locate(e);
}

function hideTooltip(e){
	var d=document.getElementById("btc");
	if (d.childNodes.length > 0) d.removeChild(d.firstChild);
}

function setOpacity(el){
	el.style.filter = "alpha(opacity:95)";
	el.style.KHTMLOpacity = "0.95";
	el.style.MozOpacity = "0.95";
	el.style.opacity = "0.95";
}

function CreateEl(t,c){
	var x = document.createElement(t);
	x.className = c;
	x.style.display = "block";
	return(x);
}

function Locate(e) {
	var posx=0, posy=0;
	if (e == null) e = window.event;
	if (e.pageX || e.pageY) {
    posx = e.pageX;
    posy = e.pageY;
  }
	else if(e.clientX || e.clientY) {
    if (document.documentElement.scrollTop) {
      posx = e.clientX+document.documentElement.scrollLeft;
      posy = e.clientY+document.documentElement.scrollTop;
    }
    else{
      posx = e.clientX+document.body.scrollLeft;
      posy = e.clientY+document.body.scrollTop;
    }
  }
	document.getElementById("btc").style.top = (posy+10)+"px";
	document.getElementById("btc").style.left = (posx-20)+"px";
}


function changeService (service) {
	document.getElementById("edit-service-choice").value = service;
}

