// tools.js

/*********************/
function stoppen (beginn, info, formatieren)
{
var ende, temp, rueck;
if (beginn == null)
	{
	// Anfangszeit setzen und zurückgeben:
	rueck = new Date();
	}
else
	{
	ende  = new Date();
	temp  = (ende.getTime() - beginn.getTime()) / 1000 / 60;
	rueck = temp.toString().split(".");
	if (rueck[0] == "")
		rueck[0] = "0";
	if (rueck[1] == "")
		rueck[1] = "0";
	else
		rueck[1] = Math.round((temp - rueck[0]) * 60);
	//if document.stoppen.
	if (stoppen.arguments.length > 0)
		{
		if (stoppen.arguments.length > 0) /*info > "")*/
			if (info != "")
				window.alert (info + rueck[0] + " min " + rueck[1] + " sek");
		if (formatieren != null)  /* stoppen.arguments.length > 1) */
			if (formatieren == true)
				rueck = rueck[0] + " min " + rueck[1] + " sek";
		}
	}
return rueck;
}


/*********************/
function frame_neu (htm_datei, f_target)
{
  var neuframe = eval("parent."+ f_target);
	// window.alert ("frame_neu");
  neuframe.location.href = htm_datei;
}


/*********************/
function Statustext(Text)
{
	if(window.statusbar && window.statusbar.visible == true)
		window.defaultStatus = Text;
	else
		alert(Text);
}


/*********************/
function meinFehler(Nachricht,Datei,Zeile)
{
 Fehler = "Fehlermeldung:\n"+ Nachricht+"\n"+Datei+"\n"+Zeile;
 alert(window.Fehler);
 return true;
}


/*********************/
function objInArray (t_obj, t_array)
{
	var rueck = -1;
	var max   = t_array.length;
	var i;
	for (i=0; i<max; i++)  // (var i in t_array)
		if (t_array [i] == t_obj)
		{
			rueck = i;
			break;
		}
	return rueck;
}

/*********************/
function padr (ctext, nlaenge, cstring)
{
	if (cstring == null)
		cstring = " ";
	while (ctext.length-2 < nlaenge)
		ctext += cstring;
	ctext = ctext.substr (0, nlaenge);
	return ctext;
}


/*********************/
function test_element (object, element, art)
{
	// falls Id übergeben (z.B. <h1 id="...">):
	if (art = "ID")
		alert(object.getElementById(element).firstChild.value);
	// Quelle: HTML-Handbuch/javascript/objekte/document.htm#get_elements_by_id

	// falls Name übergeben (z.B. bei type="checkbox" name="..."):
	if (art = "NAME")
		alert(object.getElementByName(element).firstChild.checked);
	// Quelle: HTML-Handbuch/javascript/objekte/document.htm#get_elements_by_name

	// falls TagName übergeben (z.B. "h1" / "p"):
	if (art = "TAGNAME")
		alert(object.getElementByTagName(element).firstChild.data);
	// Quelle: HTML-Handbuch/javascript/objekte/document.htm#get_elements_by_tag_name
}


/*********************/
function test_vars (func)
{
	var i, max, variab, info = "Variablen-Dump ";
	if (func)
		info += "in " + func + ":\n";
	max = test_vars.arguments.length;
	if (max > 0)
		for (i=1; i<max; i++)
			{
			variab  = test_vars.arguments [i];
			info += "Variable " + variab + "=" + eval(variab) + "\n" ;
			}
	else
		info += "nicht möglich: keine Variablen übergeben!";
	alert (info);
}

/*********************/
function test_object (obj)
{
	var i, max;
	var info = "";

	if (obj && obj.childNodes)
	{
		info = "Knoten des Objektes:" + "\n";
		max = obj.childNodes.length;
		for (i=0; i<max; i++)
			info += obj.childNodes[i].nodeValue + "\n";
	}
	else
		info = "Objektknoten sind nicht ermittelbar.";
	alert (info);
}


