//Event error message handler
function noError() {
  return true;
};

/* Event handler */
//window.onerror	= noError;
window.onresize	= Prospitalia.setListHeight; // only if window willbe bigger and in mozilla

var dragCurrentObj = null;
var dragOverObj = null;

window.document.onmousedown = function(e) {
	if(!e) e = window.event;

	if(Detail && !Detail.isClosed()) {
		return;
	}

	var currentObject = e.target || e.srcElement || null;
	if(currentObject != null) {
		var isDraggable = (currentObject.getAttribute && currentObject.getAttribute("draggable") == 'true') ? true : false;
		while(!isDraggable && currentObject.tagName != 'BODY' && currentObject.tagName != 'A') {
			currentObject = currentObject.parentNode;
			isDraggable = (currentObject.getAttribute && currentObject.getAttribute("draggable") == 'true') ? true : false;
		}

		if(isDraggable) {
			dragCurrentObj = currentObject;

			// Stop current Event
			if(e.preventDefault) {
				e.preventDefault();
				e.stopPropagation();
		    } else {
				e.returnValue = false;
				e.cancelBubble = true;
		    }
		}
	}
};


window.document.onmouseup = function(e) {
	if(!e) e = window.event;

	if(dragCurrentObj == null || !dragCurrentObj.getAttribute || dragCurrentObj.getAttribute("draggable") != 'true') {
		return;
	}

	if(dragOverObj != null) {
		dragOverObj.onmousemove = function() { this.style.cursor = ""; };
	}

	var dragTargetObj = e.target || e.srcElement || null;

	if(dragTargetObj != null) {
		dragTargetObj.style.cursor = "";
		dragTargetObj = dragTargetObj.parentNode;

		var targetPk = dragTargetObj.getAttribute("dragtargetPk");
		if(targetPk != null && targetPk != '') {
			
			if(dragCurrentObj.getAttribute("dragtype") == 'article') {
				var currentPk = dragCurrentObj.getAttribute("pk");
			
				var query = '&action=depositions.detail&do=articles.add&deposition=' + targetPk;

				var form = document.forms['FORMARTICLES'];
				var elems = form.elements['articles[]'];
				var articles = '';
				for(var i=0;i<elems.length;i++) {
					if(elems[i].checked) {
						articles += '&articles[]=' + elems[i].value;
						if(elems[i].value == currentPk) {
							currentPk = '';
						}
					}
				}
			
				if(articles == '') {
					query += '&articles[]=' + currentPk + '&reload=false';
				} else if(currentPk != '') {
					query += articles + '&articles[]=' + currentPk;
				} else {
					query += articles;
				}

				Prospitalia.openDetail(query);
			}
		}
	}

	dragCurrentObj = null;
	dragOverObj = null;
};

window.document.onmousemove = function(e) {
	if(!e) e = window.event;
	
	if(dragCurrentObj == null || dragCurrentObj.getAttribute("draggable") != 'true') {
		return;
	}

	if(dragOverObj != null) {
		dragOverObj.onmousemove = function() { this.style.cursor = ""; };
	}

	dragOverObj = e.target || e.srcElement || null;

	if(dragOverObj != null) {
		dragOverObj.onmousemove = function() { this.style.cursor = "url(" + Prospitalia.getRoot() + "layout/images/cursors/move_articles.cur), pointer"; };
	}

	if(window.getSelection) {
		var currentSelection = window.getSelection();
		if(currentSelection && currentSelection.removeAllRanges) currentSelection.removeAllRanges();
	} else if(typeof document.selection !== 'undefined') {
		var currentSelection = document.selection;
		if(currentSelection && currentSelection.createRange().text != '') currentSelection.empty();
	}
};
