var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE);

document.onmousemove = getMouseXY;

var tempX = 0;
var tempY = 0;

// Main function to retrieve mouse x-y pos.s
function getMouseXY(e) {
	if (IE) { // grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.body.scrollLeft
		tempY = event.clientY + document.body.scrollTop
	} else {  // grab the x-y pos.s if browser is NS
		tempX = e.pageX
		tempY = e.pageY
	}
	return true
}

function min(node) {
	node.style.backgroundColor = '#F8E415';
}

function mout(node) {
	node.style.backgroundColor = '#FBEE61';
}

/***********
 * tooltips
 ***********/

function tooltipIn(text) {
	var tooltip = document.getElementById("tooltip");
	tooltip.innerHTML = text;
	tooltip.style.display = "block";
	tooltip.style.left = tempX+16+'px';
	tooltip.style.top = tempY+16+'px';
}

function tooltipOut() {
	var tooltip = document.getElementById("tooltip");
	tooltip.style.display = "none";
}


/****************
 * popup dialog
 ****************/

function pressOkButton(node) {
	fillDialogInput(node);

	var popup = document.getElementById("popup");
	var okbutton = popup.getElementsByTagName("input")[0];  //Ok button
	okbutton.click();
}

function cancelDialog() {
	document.body.removeChild(document.getElementById("popup"));
}

function agendaAanmeld(id) {
	var iW = document.body.clientWidth;
	var iH = document.body.clientHeight;
	var pcLeft = (iW - 250) / 2;

	var node = document.createElement('div');
		node.id = "popup";
		node.style.height = iH+'px';

		var html =  '<div class="content" style="left: '+pcLeft+'px;">';
		html += '  <div class="dialoghead" onmousedown="dragPress(event, this.parentNode)">Meld je aan...</div>';
		html += '  <form method="post" action="aanmeldAgenda.php">';
		html += '    <input type="hidden" name="id" value="'+id+'">';
		html += '    <table>';
		html += '      <tr><td>Naam:</td><td><input type="text" name="naam"></td></tr>';
		html += '      <tr><td>Bedrijfsnaam</td><td><input type="text" name="bedrijf"></td></tr>';
		html += '      <tr><td>Aantal personen</td><td><input type="text" name="aantal"></td></tr>';
		html += '    </table>';
		html += '    <input type="submit" class="button ok" value="Meld aan" />';
		html += '    <input type="button" class="button cancel" onclick="cancelDialog()" value="Cancel" />';
		html += '  </form>';
		html += '</div>';

		node.innerHTML = html;

	document.body.appendChild(node);
}


function saveWork() {

	//remove dialog
	cancelDialog();
}

/****************
 * EVENT HANDLERS
 ****************/

 function Evt(evt) {
 	this.evt = evt?evt:window.event;
 	try { this.source = evt.target ? evt.target : evt.srcElement; } catch (e) {}
 	try { this.x = evt.pageX ? evt.pageX : evt.clientX; } catch (e) {}
 	try { this.y = evt.pageY ? evt.pageY : evt.clientY; } catch (e) {}
 	try { this.key = window.event ? window.event.keyCode : evt.which; } catch (e) {}

 }

 Evt.prototype.consume = function () {
 	if (this.evt.stopPropagation) {
 		this.evt.stopPropagation();
 		this.evt.preventDefault();
 	} else if (this.evt.cancelBubble) {
 		this.evt.cancelBubble = true;
 		this.evt.returnValue  = false;
 	}
 };

 Evt.addEventListener = function (target,type,func,bubbles) {
 	if (document.addEventListener) {
 		target.addEventListener(type,func,bubbles);
 	} else if (document.attachEvent) {
 		target.attachEvent('on'+type,func,bubbles);
 	} else {
 		target['on'+type] = func;
 	}
 };

 Evt.removeEventListener = function (target,type,func,bubbles) {
 	if (document.removeEventListener) {
 		target.removeEventListener(type,func,bubbles);
 	} else if (document.detachEvent) {
 		target.detachEvent('on'+type,func,bubbles);
 	} else {
 		target['on'+type] = null;
 	}
 };


/****************
 * DRAG EVENT
 ****************/

function dragPress(evt, node) {
	evt = new Evt(evt);

	oDragObj = node;

	deltaX = evt.x - getX(oDragObj);
	deltaY = evt.y - getY(oDragObj);
	Evt.addEventListener(document,'mousemove',dragMove,false);
	Evt.addEventListener(document,'mouseup',dragRelease,false);
}

function dragMove(evt) {
	evt = new Evt(evt);
	var nX = evt.x - deltaX;
	var nY = evt.y - deltaY;
	var iW = document.body.clientWidth;
	var iH = document.body.clientHeight;
	var cW = oDragObj.clientWidth+5;
	var cH = oDragObj.clientHeight+10;

	if (evt.x>0 && evt.x<iW)
		setX(oDragObj,nX);
	if (evt.y>0 && evt.y<iH) {
		setY(oDragObj,nY);
	}
	evt.consume();
}

function dragRelease(evt) {
	evt = new Evt(evt);

	Evt.removeEventListener(document,'mousemove',dragMove,false);
	Evt.removeEventListener(document,'mouseup',dragRelease,false);
}


/****************
 * POSITION HANDLERS
 ****************/

function getX(node) {
	return parseInt(node.style.left ? node.style.left : node.offsetLeft);
}

function getY(node) {
	return parseInt(node.style.top ? node.style.top : node.offsetTop);
}

function getWidth(node) {
	return parseInt(node.style.width);
}

function getHeight(node) {
	return parseInt(node.style.height);
}

function setX(node,x) {
	node.style.left = x + 'px';
}

function setY(node,y) {
	node.style.top = y + 'px';
}

