function getElementsByClassName(className) {
    var muster = new RegExp("(^| )" + className + "($| )");
    var alles = document.getElementsByTagName("*");
    var gefunden = new Array();
    var i;

    for (i=0; i < alles.length; i++) {
        if (alles[i] && alles[i].className && alles[i].className != "") {
            if (alles[i].className.match(muster))
                gefunden[gefunden.length] = alles[i];
        }
    }

    return gefunden;
}

function toggleMarkierungen(status) {
	var frmCheckboxArr = new Array();
	var frmCheckboxenAttr = false;

	if (status == "" || status == null) {
	    if (document.getElementById('toggleCheckbox').checked == true ){
	        frmCheckboxenAttr = true;
        }
    }
    else{
        if (status == 'alle') {
            frmCheckboxenAttr = true;
        }
        else{
            frmCheckboxenAttr = false;
        }
    }
	
	frmCheckboxArr = getElementsByClassName('frmCheckbox');

	
	// wenn frmCheckboxenAttr == true dann gab es eine "gecheckte" Box
	if (frmCheckboxenAttr){
		for (var i=0; i<frmCheckboxArr.length; i++) {
			if (frmCheckboxArr[i].type == "checkbox") {
				frmCheckboxArr[i].checked = true;
			} 
		}
	} 
	else {
		for (var i=0; i<frmCheckboxArr.length; i++) {
			if (frmCheckboxArr[i].type == "checkbox") {
				frmCheckboxArr[i].checked = false;
			} 
		}
	}
}

/**
* Test, ob zumindest eine Checkbox ausgewählt wurde
*/
function testAuswahl(){
	var frmCheckboxArr = new Array();
	var status = false;
	frmCheckboxArr = getElementsByClassName('frmCheckbox');
	
	for (var i=0; i<frmCheckboxArr.length; i++) {
		if (frmCheckboxArr[i].type == "checkbox") {
			if (frmCheckboxArr[i].checked == true) {
				status = true;
			}
		} 
	}
	
	if (status == false) {
		document.getElementById('meldung').style.display='inline';
        $('meldung').fade({ duration: 5.0 });
	}
	
	return status;
}

/**
* Überprüfung des Anmeldeformulars zu einer Veranstaltung einer BG
*/
function checkSbmt(){
	    var d = document;
		var goahead = false;
		
		for(i = 1; i <= 3; i++){
			if(d.getElementById("art"+i).checked) {
				var checkval = d.getElementById("art"+i).value;
			}
		}

		if(d.getElementById("vname").value != "" && d.getElementById("nname").value != ""){

            d.getElementById("strasse").style.background = '#ffffff';
            d.getElementById("plzort").style.background = '#ffffff';
            d.getElementById("fax").style.background = '#ffffff';
            d.getElementById("email").style.background = '#ffffff';

			switch(checkval){
				case "post" : 
					if(d.getElementById("strasse").value != "" && d.getElementById("plzort").value != ""){
						goahead = true;
					}else{
                        d.getElementById("strasse").style.background = '#FFDAAF';
                        d.getElementById("plzort").style.background = '#FFDAAF';
						alert("Bitte geben Sie Ihre Strasse und PLZ/Ort an!");
					}
					break;

				case "fax" : 
					if(d.getElementById("fax").value != ""){
						goahead = true;
					}else{
                        d.getElementById("fax").style.background = '#FFDAAF';
						alert("Bitte geben Sie Ihre FAX-Nummer an!");
					}
					break;	

				case "email" : 
					if(d.getElementById("email").value != ""){
						goahead = true;
					}else{
                        d.getElementById("email").style.background = '#FFDAAF';
						alert("Bitte geben Sie Ihre E-Mail an!");
					}
					break;
					
				default :
					alert('Bitte wählen Sie eine Versandart aus.');

			}

			return goahead; 

		}else{
			d.getElementById("vname").style.background = '#FFDAAF';
			d.getElementById("vname").focus();
			d.getElementById("nname").style.background = '#FFDAAF';
			alert("Bitte geben Sie Ihren Namen an!");
		}
        return false;
}

/**
* Überprüfen der Informationen zur Anmeldung am Abo-Infoservice-Newsletter
*/
function checkAngabenAboService(){
	var fehler = false;
	
	document.getElementById("InformationsdienstEmail").style.background = '#ffffff';
	
	if (document.getElementById('InformationsdienstEmail').value == "") {
		fehler = true;
		document.getElementById("InformationsdienstEmail").style.background = '#FFDAAF';
		alert("Bitte geben Sie Ihre E-Mail an!");
	}
	
	// Falls "anmelden" selektiert ist, muss auch eine Benachrichtigungsart gewählt werden
	if (document.getElementById('radio_anmelden').checked == true) {
		if (document.getElementById('InformationsdienstEventNew').checked != true) {
			if (document.getElementById('InformationsdienstEventChanged').checked != true) {
				if (document.getElementById('InformationsdienstEventReminder').checked != true) {
					fehler = true;
					alert("Bitte wählen Sie mindestens eine Benachrichtigungsart aus.");
				};
			}
		}	
	}
	
	if (fehler) {
		return false;
	}
	else{
		return true;
	}
}

var dozCount = 0;
function dozControl(action)
{
    /* Action bewerten und Input-Zeilen ein-/ausblenden */
    if(action == 'add' && dozCount < 6) {
        nextDozId = ++dozCount;
        $('trDozent'+nextDozId).show();
    }
    if(action == 'del' && dozCount > 1) {
        nextDozId = dozCount--;
        $('trDozent'+nextDozId).hide();
        $('dozent'+nextDozId).value = '';
        $('VeranstaltungThema'+nextDozId).value = '';
        $('VeranstaltungTv'+nextDozId).value = '';
        $('VeranstaltungTb'+nextDozId).value = '';
        
        $('infoTrdozent'+nextDozId).update('');
        $('infoTrdozent'+nextDozId).hide();
    }

    /* Controls steuern */
    if(dozCount == 6) {
        $('addDozentControl').hide();
    } else {
        $('addDozentControl').show();
    }
    if(dozCount == 1) {
        $('delDozentControl').hide();
    } else {
        $('delDozentControl').show();
    }
}

function meta_window( url, x, y, scrl ){
	var argv = meta_window.arguments;
	var argc = meta_window.arguments.length;

	var url = (argc > 0 && argv[0] != "") ? argv[0] : "about:blank";
	var x = (argc > 1 && argv[1] != "") ? argv[1] : "640";
	var y = (argc > 2 && argv[2] != "") ? argv[2] : "480";
	var scrl = (argc > 3 && argv[3] != "") ? argv[3] : "0";

	metawin=window.open(url,'metawin','resizable=1,location=0,directories=0,status=1,menubar=0,scrollbars='+scrl+',toolbar=0,width='+x+',height='+y);
}


function chkWidget( frmId, widgetName, widgetStatus ){
	myElements = Form.getElements(frmId);
    
	for(var i=0; i < myElements.length; i++){
        var id = myElements[i].id;

		//////////////////////////////////////////////////////////////////////////
		// Überspringen der nicht-aktiven Widgets
		if( $(id).disabled == true )
			continue;

		//////////////////////////////////////////////////////////////////////////
		// Radio-Button
		if( $(id).type == 'radio' && $(id).hasClassName('frmCheckbox') ) {
			if( widgetStatus == 'on' && $(id).value > 0 )
				$(id).checked = true;
			if( widgetStatus == 'off' && $(id).value == '0' )
				$(id).checked = true;
			continue;
		}

		//////////////////////////////////////////////////////////////////////////
		// Check-Button
		if( $(id).type == 'checkbox' && $(id).hasClassName('frmCheckbox') ) {
			if( widgetStatus == 'on' )
				$(id).checked = true;
			if( widgetStatus == 'off' )
				$(id).checked = false;
			continue;
		}
	}
}

    /* Start autocomplete für INPUT-Felder*/
    function lookup(inputString, inputId, trNr) {
        if(inputString.length == 0) {
            // Hide the suggestion box.
            jQuery('#suggestions').hide();
        } else {
            jQuery.post("/bgi/referenten/getInfo/"+trNr, {queryString: inputString, id: inputId}, function(data){
                if(data.length >0) {
                    jQuery('#suggestions').show();
                    jQuery('#autoSuggestionsList').html(data);
                }else{
                    // Wenn durch weiteres Eingeben keine Treffer mehr kommen
                    // Hide the suggestion box.
                    jQuery('#suggestionsDisziplin').hide();
                }
            });
        }
    } // lookup

function fill(id, value, dbIdReferent, trNr) {
		jQuery('#'+id).val(value);
		setTimeout("jQuery('#suggestions').hide();", 200);
		
		jQuery.ajax({

		  type: 'POST',
		  url: 'bgi/referenten/getInfoTr/'+dbIdReferent+'/'+trNr,
		  data: 'id='+id,
		  success: function(msg)
		        {
		            jQuery('#infoTr'+id).html(msg);
		            jQuery('#infoTr'+id).show();
		        }
		});
		
	}
/* Ende autocomplete für INPUT-Felder*/
