var debug_siv = false;
var change_siv = true;

var mausX = 0;
var mausY = 0;
var mausButton = 0;
var mausTarget = "";
var maxX = 0;
var maxY = 0;
var lastKeyPressed;

var carr = new Array();

document.onmousemove = MausMove;
document.onmousedown = MausDown;
document.onkeydown = Taste;

function page(id)
	{
    document.getElementById("page").value = id;
    document.getElementById("task").value = "";
	if (!isNaN(id)) document.getElementById("param").value = "page";
	document.getElementById("cf").value = "";
	document.getElementById("siv").value = "";
    document.getElementById("control").submit();
	}

function dotask(task)
    {
    document.getElementById("page").value = document.getElementById("ppage").value;
    document.getElementById("task").value = task;
    document.getElementById("control").submit();
    }

function setref(id)
    {
    document.getElementById("ref").value = id;
    }

function setanchor(anchor)
	{
    document.getElementById("anchor").value = anchor;
	}

function swlang(lang)
	{
    document.getElementById("lang").value = lang;
    document.getElementById("control").submit();
	}

function tsc(tsphp, sid, login)
	{
	var tsjs = Math.round((new Date()).getTime() / 1000);
	var diff = tsjs - tsphp;
	if (diff > 2) aj("ajaxSessionActive", "", "frame_didax", "", "sid=" + sid + "&login=" + login);
	}
	
function aci(inf, err, sav)
	{
	if (document.getElementById("aci"))
		{
		if (inf == "CLEAR")
			{
			document.getElementById("aci_saving").style.display = "none";
			}
		else
			{
			if (err != "")
				{
				document.getElementById("aci_error").innerHTML = err;
				document.getElementById("aci_error").style.display = "block";
				}
			if (inf != "")
				{
				document.getElementById("aci_info").innerHTML = inf;
				document.getElementById("aci_info").style.display = "block";
				}
			if (sav != "")
				{
				document.getElementById("aci_saving").innerHTML = sav;
				document.getElementById("aci_saving").style.display = "block";
				window.setTimeout("aci('CLEAR')", 800);
				}
			}
		}
	}

function msgexp(id, mode)
	{
	if (document.getElementById(id))
		{
		var className = document.getElementById(id).className;
		document.getElementById(id).className = (mode == 0) ? "dx_msg" : "dx_msg_expand";
		}
	}

function cselect(sid)
	{
	var vorhanden = false;
	var temp = "";
	if (carr.length)
		{
		for (var i = 0; i < carr.length; i++)
	  		{
			if (carr[i] == "")
				{
				carr.splice(i, 1);
				}
			else if (sid == carr[i])
				{
				carr.splice(i, 1);
				var classname = "dx_seek";
				vorhanden = true;
				}
			}
		}
	if (!vorhanden)
		{
		carr.push(sid);
		var classname = "dx_seek_mark";
		}
	if (div = document.getElementById("cdiv_" + sid)) div.className = classname;
	if (div = document.getElementById("seek-info")) div.innerHTML = (carr.length == 0) ? "" : carr.length + " x ";
	var temp;
	}

function cload(csel)
	{
	if (csel) carr = csel.split(".");
	if (carr.length)
		{
		for (var i = 0; i < carr.length; i++)
	  		{
			if (carr[i] == "")
				{
				carr.splice(i, 1);
				}
			}
		}
	}
	
function csave()
	{
	var csel = "";
	for (var i = 0; i < carr.length; i++)
  		{
		csel = csel + ((i == 0) ? "" : ".") + carr[i];
  		}
	if (document.getElementById("csel"))
		{
		document.getElementById("csel").value = csel;
		}
	}
	
function setCF(id, siv)
	{
	if (id && document.getElementById("cf")) document.getElementById("cf").value = id;
	if (siv && document.getElementById("siv"))
		{
		document.getElementById("siv").value = siv;
		if (debug_siv) document.getElementById(siv).innerHTML = "SIV gelesen: [" + siv + "]";
		// if (change_siv) document.getElementById(siv).innerHTML = "<span></span>";
		}
	}

function setfocus(ff, siv)
	{
	var fld, sivfld;
	if (ff != "none")
		{
		if (ff != "")
			{
			fld = document.getElementById(ff);
			}
		if (siv != "")
			{
			if (document.getElementById(siv)) sivfld = document.getElementById(siv);
			}
		else
			{
			if (fld)
				{
				sivfld = fld;
				}
			}
		if (fld && fld.type != "hidden")
			{
			fld.focus();
			if (!fld.options) fld.select();
			}
		if (sivfld)
			{
			if (debug_siv) sivfld.innerHTML = "ScrollIntoView [" + sivfld.id + "] bei " + getPos(sivfld).yproz + "%";
			if (change_siv && document.getElementById(siv)) document.getElementById(siv).innerHTML = "<span>.</span>";
			if (getPos(sivfld).yproz > 50) sivfld.scrollIntoView();
			}
		}
	}

function setDirty()
	{
	if (document.getElementById("savebutton"))
   		{
		document.getElementById("savebutton").className = "dirty";
 	  	}
	}
	
function uSet(snam, sval)
	{
	if (document.getElementById("uset"))
   		{
		document.getElementById("uset").value = snam + ":" + sval;
		dotask("");
 	  	}
	}
	
function u2Set(snam, sval)
	{
	if (document.getElementById("uset"))
   		{
		document.getElementById("uset").value = snam + ":" + sval;
		dotask("");
 	  	}
	}

function MausMove(e)
	{
	if (e)
		{
	    mausX = e.pageX;
		mausY = e.pageY;
		maxY = document.body.offsetHeight;
		maxX = document.body.offsetWidth;
		}
	else
		{
	    mausX = window.event.clientX + document.body.scrollLeft;
	    mausY = window.event.clientY + document.body.scrollTop;
		maxX = document.body.offsetWidth + document.body.scrollLeft;
		maxY = document.body.offsetHeight + document.body.scrollTop;
		}
	}

function MausDown(e)
	{
	if (!e)
		{
		mausButton = window.event.button;
		mausTarget = window.event.srcElement.id;
		}
	else
		{
		mausButton = e.button;
		mausTarget = e.target;
		}
	}

function Taste(Ereignis)
	{
	if (window.event)
		{
		lastKeyPressed = window.event.keyCode;
		}
	else if (Ereignis.which)
		{
		lastKeyPressed = Ereignis.which;
		}
	if (lastKeyPressed == 13)
		{
	    document.getElementById("task").value = "";
		}
	}

function onEnter(task) 
    {
    if (lastKeyPressed == 13)
    	{
    	dotask(task);
    	}
    }

function onEnter2(ref, task) 
    {
    if (lastKeyPressed == 13)
    	{
	    document.getElementById("ref").value = ref;
    	dotask(task);
    	}
    }

function show_mail(mail)
	{
	mail = mail.replace(/~/g, "@");
	mail = mail.replace(/ /g, "");
	document.write("<a class=\"mail\" href=\"mailto:" + mail + "\">" + mail + "</a>");
	return;
	}

function enableUsername()
	{
	document.getElementById("usr").value = "";
	}

function enablePassword()
	{
	document.getElementById("pwd").value = "";
	}

function viewred(id)
	{
	lang = document.forms.control.elements.lang.value;
	popup("usr/viewred.php?id=" + id + "&lang=" + lang, 100, 100, 640, 480, 1, 1);
	}

function popup(target, left, top, width, height, toolbars, sizeable)
	{
	sizeable_cmd = (sizeable == 1) ? "scrollbars=yes,resizable=yes" : "scrollbars=no,resizable=no";
	toolbars_cmd = (toolbars == 1) ? "toolbar=yes,menubar=yes" : "toolbar=no,menubar=no";
	pop = window.open(target, "popup" + Math.round(Math.random() * 20), "top=" + top + ",left=" + left + ",width=" + width + ",height=" + height + "," + sizeable_cmd + "," + toolbars_cmd);
	pop.focus();
	}

function mroll(id, mode)
	{
	if (document.getElementById)
		{
		if (document.getElementById("menu" + id))
			{
			className = document.getElementById("menu" + id).className;
			arr = className.split("_");
			document.getElementById("menu" + id).className = arr[0] + ((mode == 0) ? "_dark" : "_lite");
			}
		}
	}

function proll(id, mode)
	{
	if (document.getElementById)
		{
		if (document.getElementById("menu" + id))
			{
			imgSrc = document.getElementById("menu" + id).src;
			arr = imgSrc.split("~");
			if (arr[1] != mode + ".gif")
				{
				imgSrc = arr[0] + "~" + mode + ".gif";
				document.getElementById("menu" + id).src = imgSrc;
				}
			}
		}
	}

function showinfo(html, setmousepos)
	{
	if (res = document.getElementById("infobox"))
		{
		if (html == "")
			{
			res.innerHTML = "";
			res.style.display = "none";
			}
		else
			{
			res.innerHTML = html;
			if (setmousepos == 1)
				{
				var x = mausX - 40;
				if (x < 20)	x = 20;
				if (x + 800 > maxX) x = maxX - 800;
				var y = mausY - 40;
				if (y < 20)	y = 20;
				if (y + 400 > maxY) y = maxY - 400;
				res.style.left = x;
				res.style.top = y;
				}
			res.style.display = "inline";
			}
		}
	}

function unfold(div_id, stat)
	{
	if (div_id != "" && document.getElementById(div_id)) document.getElementById(div_id).style.display = (stat == 1) ? "inline" : "none";
	}

function setFld(fname, fvalue)
	{
	if (fld = document.getElementById(fname)) fld.value = fvalue;
   	dotask('reg');
	}

function getPos(element)
	{
  	var elem = element, tagname="", x=0, y=0, ymax=0, yproz=0;
	while ((typeof(elem) == "object") && (typeof(elem.tagName) != "undefined"))
  		{
    	y += elem.offsetTop; 
    	x += elem.offsetLeft;
    	tagname = elem.tagName.toUpperCase();
	    if (tagname == "BODY") elem = 0;
		if (typeof(elem) == "object") if (typeof(elem.offsetParent) == "object") elem = elem.offsetParent;
 		}
	position=new Object();
	position.x = x;
	position.y = y;
	ymax = document.body.offsetHeight;
	position.ymax = ymax;
	position.yproz = (ymax > 0) ? Math.round(y / ymax * 100) : 0;
	return position;
	}



