// JavaScript Document
<!--
function checkFields()
	{
	var frm = document.forms["anfrage"];
	var fehler = "";
	if (frm.vorname.value == "" ) fehler += ", Vorname";
	if (frm.nachname.value == "") fehler += ", Nachname";
	if (frm.email.value == "")  fehler += ", Email";
	if (frm.privacy.checked == false)  fehler += ", Privacy";
	
	if (fehler != "")
	{
		var fehlertext = "Folgende Felder wurden nicht richtig ausgefüllt:\n";
		fehlertext += fehler.substring(2);
		alert(fehlertext);
		return false;
	}
	return true;
}
function checkgutscheinFields()
	{
	var frm = document.forms["anfrage"];
	var fehler = "";
	if (frm.name_des_beschenkten.value == "" ) fehler += ", Name des Beschenkten";
	if (frm.vorname.value == "" ) fehler += ", Vorname";
	if (frm.nachname.value == "") fehler += ", Nachname";
	if (frm.email.value == "")  fehler += ", Email";
	if (frm.privacy.checked == false)  fehler += ", Privacy";
	
	if (fehler != "")
	{
		var fehlertext = "Folgende Felder wurden nicht richtig ausgefüllt:\n";
		fehlertext += fehler.substring(2);
		alert(fehlertext);
		return false;
	}
	return true;
}
function selectall() {
	t=document.forms[0].elements.length; 
		for(i=0; i<t; i++) {
		elementTyp = document.forms[0].elements[i].type;
			if (elementTyp == "checkbox") {
				if (document.forms[0].change.checked == 1) {
					document.forms[0].elements[i].checked = 1;
				}
				if (document.forms[0].change.checked == 0) {
					document.forms[0].elements[i].checked = 0;
				}
			}
	}
}
function selectcheckbox(boxid) {
	if (document.forms["anfrage"].elements[boxid].checked == 1) {
	document.forms["anfrage"].elements[boxid].checked = 0;
	}
	else if (document.forms["anfrage"].elements[boxid].checked == 0) {
	document.forms["anfrage"].elements[boxid].checked = 1;
	}
}
var site_item 
function show_item(site_item) {
	se = document.getElementById(site_item).style;
	if(se.display == '') {
		se.display = 'none';
	}
	else {
		se.display = '';
	}
}

var site_element 
function more_info(site_element) {
	el = document.getElementById(site_element).style;
	if(el.display == '') {
		el.display = 'none';
	}
	else if(document.getElementById('formselector').checked == true) {
		el.display = '';
	}
	else {
		el.display = '';
	}
}
function show_layer(show_id) {
	var closelast = true; // Klappt offene Menüs zu
	if(document.getElementById) {
		el = document.getElementById(show_id);
		if(el && el.style)	{
			show_level = show_id.split("_");
			show_level = show_level.length;
			if(sid[show_level] && closelast) {
				if(sid[show_level] != show_id) document.getElementById(sid[show_level]).style.display = "none";
			}
			sid[show_level] = show_id;
			el.style.display = (el.style.display == "none") ? "" : "none";
		}
	}
}
function open_layer(id) {
	var closeit = true;
	if(document.getElementById) {
		element = document.getElementById(id);
		if(element && element.style)	{
			level = id.length;
			if(lid[level] && closeit) {
				if(lid[level] != id) document.getElementById(lid[level]).style.display = "none";
			}
			lid[level] = id;
			element.style.display = (element.style.display == "none") ? "" : "none";
		}
	}
	//clearTimeout(t);
}
function take_layer_open() {
	document.getElementById(lid[level]).style.display = "";
	//clearTimeout(t);
}
function close_layer() {
	//if (lid[level])!="") {
	document.getElementById(lid[level]).style.display = "none";
	//var t = setTimeout("close_layer()", 2000);
	//}
}

function cleanit(thefield){
	if (thefield.defaultValue==thefield.value) {
		thefield.value = "";
	};
}

function MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}

function confirmLink(theLink, theSqlQuery, confirmMsg) {
    // Confirmation is not required in the configuration file
    // or browser is Opera (crappy js implementation)
    if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
        return true;
    }

    var is_confirmed = confirm(confirmMsg + ':\n\n' + theSqlQuery);
    if (is_confirmed) {
        theLink.href;
    }

    return is_confirmed;
} // end of the 'confirmLink()' function

var marked_row = new Array;

function scroller(ps){
		scroller_up(ps,500);
}
	
function scroller_up(ps,y){
	y = y + (ps - y)*.1;
	window.scroll(0,y);
	if (((ps - y) <= .5)&&((ps - y) >= -.5))
	{					
		y = ps;
	}else{
		setTimeout("scroller_up("+ps+","+y+")",1);
	}
}

function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor)
{
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 3.3 ... Opera changes colors set via HTML to rgb(r,g,b) format so fix it
    if (currentColor.indexOf("rgb") >= 0)
    {
        var rgbStr = currentColor.slice(currentColor.indexOf('(') + 1,
                                     currentColor.indexOf(')'));
        var rgbValues = rgbStr.split(",");
        currentColor = "#";
        var hexChars = "0123456789ABCDEF";
        for (var i = 0; i < 3; i++)
        {
            var v = rgbValues[i].valueOf();
            currentColor += hexChars.charAt(v/16) + hexChars.charAt(v%16);
        }
    }

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == '' || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor              = thePointerColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
            // Garvin: deactivated onclick marking of the checkbox because it's also executed
            // when an action (like edit/delete) on a single item is performed. Then the checkbox
            // would get deactived, even though we need it activated. Maybe there is a way
            // to detect if the row was clicked, and not an item therein...
            // document.getElementById('id_rows_to_delete' + theRowNum).checked = true;
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
        if (theAction == 'out') {
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
            // document.getElementById('id_rows_to_delete' + theRowNum).checked = true;
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        if (theAction == 'click') {
            newColor              = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
            marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  ? true
                                  : null;
            // document.getElementById('id_rows_to_delete' + theRowNum).checked = false;
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
} // end of the 'setPointer()' function