var xPos = 0, yPos = 0, goPos = 0;
var showTabRowDelay, tooltipFlag, xPosOffset, yPosOffset;

if(top.frames.length > 0 && self.name!="fileMngPreview"){top.location.href=self.location;}

// ---------------------------------- Events ----------------------------------

document.onmousedown = getPos;
document.onmousemove = setShowDivPos;
document.onscroll = scrollFct;

function checkScrollPos(){
	if(window.name.indexOf('pos')!=-1){
		window.scrollBy(0,parseInt(window.name.slice(3)));
		window.name='cont';
	}
}

function getPos(e){
	if(document.all){
		xPos = (document.compatMode=='CSS1Compat') ? window.event.clientX + document.documentElement.scrollLeft : window.event.clientX + document.body.scrollLeft;
		yPos = (document.compatMode=='CSS1Compat') ? window.event.clientY + document.documentElement.scrollTop : window.event.clientY + document.body.scrollTop;
		goPos = (document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop : document.body.scrollTop;
	}else{	/* pageXY = Fensterrelativ / screenXY = Bildschirmabsolut */
		xPos = e.pageX;
		yPos = e.pageY;
		goPos = window.pageYOffset;
	}
	if(goPos==null) goPos=0;
}

function clPos(){window.name="pos" + goPos;}

function setShowDivPos(e){
if(tooltipFlag){
	getPos(e);
	var sD = document.getElementById("tooltipDiv");
	// document.getElementById("head").innerHTML = eval(xPos - xPosOffset - sD.offsetWidth);
	var cx = xPos - xPosOffset - sD.offsetWidth;
	if (cx < 100) cx = xPos + xPosOffset + 5;
	sD.style.left = cx + "px";
	sD.style.top = (yPos + yPosOffset) + "px";
}}

function scrollFct(){
	hideTT();
}

// --------------------------------- Standard ---------------------------------

function topInfo(cont,target,w,h)
{var topInf = window.open(cont,target,'width='+w+',height='+h+',dependent=yes,resizable=yes,scrollbars=yes,menubar=yes,status=yes'); topInf.focus(); return false;}

// ----------------------------------- Tooltip --------------------------------

var cTTObj, cTitle

function showTT(obj,x){
	if(x!="") var ttNode = document.getElementById(x).firstChild;
	var ttTxt; 
	ttNode ? ttTxt = ttNode.nodeValue : ttTxt = obj.title;
	
	cTTObj = obj; cTitle = obj.title; obj.title = ""; 
	var sD = document.getElementById("tooltipDiv");
	if(ttTxt!=null && ttTxt!=""){ sD.innerHTML = ttTxt;
	
	// var sDf = sD.firstChild;
	// while (sDf!=null){
	//	sD.removeChild(sDf); 
	//	sDf = sD.firstChild;}
	// if(ttTxt!=null && ttTxt!=""){
		// var newEntry = document.createTextNode(ttTxt);
		// sD.appendChild(newEntry);
		tooltipFlag = true; xPosOffset = 10; yPosOffset = 10;
		showTabRowDelay = setTimeout("uncoverTooltip()",200);}
}

function hideTT(){
	if(cTTObj!=null) {cTTObj.title = cTitle; cTTObj = null; cTitle = "";}
	hideTooltip(); 
}

function hideTooltip(){
	clearTimeout(showTabRowDelay);
	if(document.getElementById("tooltipDiv")) {
		document.getElementById("tooltipDiv").style.visibility = "hidden";
	}
	tooltipFlag = false;
}

function uncoverTooltip(){
	document.getElementById("tooltipDiv").style.visibility = "visible";
}

// Haushaltsplanrechner -------------------------------------------------------

var lastInfoObj

function info(x){
if(lastInfoObj)infoOnOff(lastInfoObj);
infoOnOff(x);
lastInfoObj = x;
}

function infoOnOff(x){
var o = document.getElementById(x).style;
if(o.display=="block")
	o.display="none"
else
	o.display="block";
}

// Haushaltsplanrecher: Charts ------------------------------------------------

var chartPos = 0;

function setChartPos(x){ chartPos = x; }
function arrangeChart(){
	if(chartPos==0) return true;
	var oObj
	if(document.getElementById("lnk"+chartPos)) oObj = document.getElementById("lnk"+chartPos);
	if(!oObj) return true;
	var oHlp = getObjPosById(oObj);
	if(oHlp.top>0 && document.getElementById("chart"+chartPos)){
		var cObj = document.getElementById("chart"+chartPos);
		var cHlp = getObjPosById(cObj);
		var d = oHlp.top - cHlp.top;
		if(d>0) document.getElementById("hpAddArea"+chartPos).style.marginTop=d+"px";
	}
}

function setToolTip(id){ eval("chartInfo"+id+".TT()"); }
function hideToolTip(){ hideTT(); }
function sliceClick(id){ startLnkById(id) }

function chartCloseLevel(id){ startLnkById(id) }
function startLnkById(id){
	if(id!="" && document.getElementById("lnk"+id)){
		clPos();
		window.location.href = document.getElementById("lnk"+id).href;
	}
}

function chartInfoObj(x,n){
   this.title = x + "<br>" + n;
   this.value = n;
   this.TT = function(){
   	var t = this.title;
   	showTT(this,"");
   	this.title = t;
   };
}

function chartOver(x){
	x.style.border = "1px solid #999";
	x.style.borderTop = "1px solid #b4b4b4";
}

function chartOut(x){
	x.style.border = "1px solid #b4b4b4";
	hideTT();
}

// Helferlein -----------------------------------------------------------------

function getObjPosById(o){
	var p = {left:0, top:0};
	if(typeof o != "object") return p;

	if(typeof o.offsetLeft != 'undefined'){
		while(o) {
			 p.left += o.offsetLeft;
			 p.top += o.offsetTop;
			 o = o.offsetParent;
		}
	} else {
		p.left = o.left ;
		p.top = o.top ;
	}
	return p;
}
