
function clickTableHandler(e,callback) {
	
	/* Objekt des Events finden */
	var obj = (e.target) ? e.target : e.srcElement;
	
	/* Ist eine Checkbox? Dann setSelection Handler aufrufen */
	if (obj.type =='checkbox') {
		setSelection(e);
		return;
	}
	
	/* tr Element finden */
	if (obj.parentNode.id) {
		id = obj.parentNode.id;
		hook = obj.parentNode;
	} else {
		id = obj.parentNode.parentNode.id;
		hook = obj.parentNode.parentNode;
	}
	
	/* tr Element hat eine id -> Position berechnen und callback aufrufen */
	if (id && !isNaN(id)) {
		pos =  calcObjectPosition(hook,0,20);
		callback(id,pos);
	}
}

function fetchORcheck(e,classname,params,callback) {
	var obj = (e.target) ? e.target : e.srcElement;
	if (obj.type =='checkbox') {
		setSelection(e);
		return;
	}
	id = (obj.parentNode.id) ? obj.parentNode.id : obj.parentNode.parentNode.id;
	if (id && !isNaN(id)) {
		getAjaxObject(classname,id,params,callback);
	}
}

function openPopupWindow(url,x,y,hook) {
	var myWin = new PopupWindow();
	myWin.setSize(x?x:830,y?y:650);
	myWin.setUrl(url);
	myWin.refresh();
	myWin.showPopup(hook?hook:'base');
}

/* Basic Stuff */


function loadUrl(url) {
	if (canExit!=null && canExit!=1) {
		alert('Blocked');
	}
	document.location.href=url;
}
function setOrder(val) {
	if (document.form1.FILTER_ORDER.value==val) { 
		if (parseInt(document.form1.FILTER_REVERSE.value) != 0) { document.form1.FILTER_REVERSE.value=0 }
		else { document.form1.FILTER_REVERSE.value=1; }		
	} else { 
		document.form1.FILTER_ORDER.value=val; 
		document.form1.FILTER_REVERSE.value=0;
	}
	document.form1.submit();
}	

function setOffset(val) {
	document.form1.FILTER_OFFSET.value=val;
	document.form1.submit();
}	

function addOffset(val) {
	
	if (val == '+') document.form1.FILTER_OFFSET.value=parseInt(document.form1.FILTER_OFFSET.value)+parseInt(document.form1.FILTER_ROWS.value);
	else if (val == '-') document.form1.FILTER_OFFSET.value=parseInt(document.form1.FILTER_OFFSET.value)-parseInt(document.form1.FILTER_ROWS.value);
	else document.form1.FILTER_OFFSET.value=parseInt(document.form1.FILTER_OFFSET.value)+parseInt(val);
	document.form1.submit();
}	

function setRows(rows) {
	document.form1.FILTER_ROWS.value=rows;
	document.form1.submit();
}

function goTab(tab) {
	if (typeof(callOnTab) == 'function') {
		callOnTab();
	}
	canExit=1;
	document.form1.SHOWTAB.value=tab;
	document.form1.submit();
}

function QuickGo(to) {
	document.form1.FILTER_GOTO.value=to;
	document.form1.submit();
}

function doExport(type) {
	document.form1.TOKEN.value=Math.random();
	document.form1.EXPORT.value=type;
	document.form1.submit();
}

function setCheckboxes(the_form, the_field, do_check) {
	var elts = (typeof(document.forms[the_form].elements[the_field]) != 'undefined')
		? document.forms[the_form].elements[the_field]
		: document.forms[the_form].elements[the_field];
	var elts_cnt  = (typeof(elts.length) != 'undefined')
		? elts.length
		: 0;

	if (elts_cnt) {
		for (var i = 0; i < elts_cnt; i++) {
			elts[i].checked = do_check;
		} // end for
	} else {
		elts.checked        = do_check;
	} // end if... else
	
	return true;
} // end of the 'setCheckboxes()' function

function appendAttrib(obj,name,value) {
	iAttrib = document.createAttribute(name);
	iAttrib.nodeValue=value;
	obj.setAttributeNode(iAttrib);
	return iAttrib;
}

function appendOption(select,value,text,selected) {
	var iOption = document.createElement('option');
	appendAttrib( iOption, 'value', value);
	
	iOption.appendChild(document.createTextNode(text));
	
	if (selected) {
		appendAttrib(iOption,'selected','selected');
	}
	select.appendChild(iOption);
}

function setStatus(msg,cls) {
       var el = document.getElementById('status');
       var p = document.createElement('p');
		
       while (el.hasChildNodes()) { el.removeChild(el.firstChild); }
       
       appendAttrib(p,'class',cls);
       appendAttrib(p,'className',cls);

       p.appendChild(document.createTextNode(msg));
       el.appendChild(p);
}


function clearStatus() {
   var el = document.getElementById('status');
	if (el.hasChildNodes()) { el.removeChild(el.firstChild); }
}

function calcObjectPosition(myObj,offx,offy) {
	var o = new Object();
	var pos = Position.get(myObj);
	o.x = pos.left+offx;
	o.y = pos.top+offy;
	return o;
}

function calcDivPosition(myDiv,offx,offy) {
	var o = new Object();
	var pos = Position.get(myDiv);
	o.x = pos.left+offx;
	o.y = pos.top+offy;
	return o;
}

function hideSelects() {
	els = document.form1.getElementsByTagName("select");	
	for (i=0;i<els.length;i++) {
		els[i].style.visibility="hidden";
	}
}

function unhideSelects() {
	els = document.form1.getElementsByTagName("select");	
	for (i=0;i<els.length;i++) {
		els[i].style.visibility="visible";
	}
}

function returnTrue() { return true; }
function returnFalse() { return; }

function deletePage(me) {
	me.removeChild(me.firstChild);
	me.appendChild(document.createTextNode('Bitte Bestätigen: Seite wirklich löschen!'));
	me.style.color='white';
	me.style.padding='2px';
	me.style.backgroundColor='red';
	me.onclick=function() {document.form1.NEWNODE.value='DELETE';document.form1.submit(); }
}

function updateLock() {
	makeAjaxRequest('updateLock.php?key='+document.form1.FORMID.value,updateLockStatus);
}

function updateLockStatus(xml) {
	setTimeout("updateLock()",90000);
}