// Die Funktion openChild wird zum Oeffnen von Childwindows per JavaScript eingesetzt.
// Uebegabe Parameter sind:
//
// childUrl (string) - die URL des zu Oeffnenden Fensters
// childName (string) - der Name des Fensters
// childWidth (integer) - die Breite
// childHeight (integer) - die Hoehe
// childStatus (integer) - die Statuszeile wird angezeigt
// childScrollbars (yes/no) -  es kann Scrollbars geben
// childLocation (yes/no) - die Adresszeile wird angezeigt
// childTollbar (yes/no) - die Toolbar wird angezeigt
// childMenubar (yes/no) - die Menubar wird angezeigt

// das Fenster wird in der Mitte des Bildschirms geoeffnet

function openChild(childUrl,childName,childWidth,childHeight,childStatus,childScrollbars,childLocation,childTollbar,childMenubar) {
	var newChild = null;
	if (childWidth>0) {
		childPosLeft = Math.floor((screen.width - childWidth) / 2);
		childPosTop = Math.floor((screen.height - childHeight) / 2);
		newChild = window.open(childUrl,childName,'width='+childWidth+',height='+childHeight+',innerwidth='+childWidth+',innerheight='+ childHeight+',top='+childPosTop+',left='+childPosLeft+',status='+childStatus+',scrollbars='+childScrollbars+',location='+childLocation+',toolbar='+childTollbar+',menubar='+childMenubar);
	} else {
		newChild = window.open(childUrl,childName);
	}
	if (newChild != null)
		newChild.window.focus();
}

function getElementsByClass(searchClass,node,tag) {
 	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;

	//var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var Suche = /(greyout)/g;

    for (i = 0, j = 0; i < elsLen; i++) {

        if (Suche.test(els[i].className)) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


function greyout(f, n) {
    var myEls = getElementsByClass('greyout',document.getElementById('overlay'+n));

    for (i=0; i<myEls.length; i++) {
        if (f.checked) {
            myEls[i].style.opacity=1;
            myEls[i].style.MozOpacity=1;
            myEls[i].style.filter='alpha(opacity=100)';
        }else{
            myEls[i].style.opacity=0.3;
            myEls[i].style.MozOpacity=0.3;
            myEls[i].style.filter='alpha(opacity=30)';
        }
    }
    return true;
}


function checkall() {
    var allLen = document.getElementsByName('checkboxspecial').length;

    for(i=0; i<allLen; i++) {
        greyout(document.getElementsByName('checkboxspecial')[i], i);
    }
}

function Focus(form, field)
{
	try
	{
		document.forms[form].elements[field].focus()
	}
	catch(err) 
	{ }
}

function showDiv(divId, disableElements)
{
	if (document.getElementById(divId))
	{
		document.getElementById(divId).style.display = "";
	}
}

function EnableDiv(divId)
{
	var parentEl = document.getElementById(divId);
	if (parentEl == null)
	{
		return;
	}

	DisableElements(parentEl, false);
}

function DisableDiv(divId)
{
        var parentEl = document.getElementById(divId);
        if (parentEl == null)
        {
                return;
        }

        DisableElements(parentEl, true);
}


function DisableElements(parentEl, disable)
{
	var textBoxes = parentEl.getElementsByTagName('input');
	var backColor = "white";

	if (disable == true)
	{
		backColor = "silver";
	}

	for (var i = 0; i < textBoxes.length; i++)
	{
		textBoxes[i].readOnly = disable;
		textBoxes[i].style.backgroundColor = backColor;
	}

	return;

	var labels = parentEl.getElementsByTagName('label');

        for (var i = 0; i < labels.length; i++)
        {
                labels[i].disabled = disable;
        }
}

function hideDiv(divId)
{
	if (document.getElementById(divId))
	{
		document.getElementById(divId).style.display = "none";
	}
}

function showNvfDiv(nvfMode)
{
	switch (nvfMode)
	{
		case 'N':
			showDiv('divNvfNewAddr');
                        hideDiv('divNvfDat');
			hideDiv('divNvfAsg');
                        EnableDiv('divNvfAddress');
                        break;

		case 'G':
			showDiv('divNvfAsg');
			hideDiv('divNvfNewAddr');
			hideDiv('divNvfDat');
			DisableDiv('divNvfAddress');
			break;
		case 'F':
			showDiv('divNvfDat');
			hideDiv('divNvfNewAddr');
			hideDiv('divNvfAsg');
			EnableDiv('divNvfAddress');
			break;
	}
}

function showNvfDivByRB()
{
	var rbType = document.getElementsByName('rbNvf');

	if (rbType.lenght == 0)
	{
		return;
	}

	var rbSelected = "";
	for (var i = 0; i < rbType.length; i++)
	{
		if (rbType[i].checked == true)
		{
			rbSelected = rbType[i].value;
			break;
		}
	}

	switch (rbSelected)
	{
		case "newAddr":
			showNvfDiv("N");
			break;
		case "deliDate":
			showNvfDiv("F");
			break;
		case "newAsg":
			showNvfDiv("A");
			break;
	}
}

