// globale Instanz von XMLHttpRequest
var xmlHttp = false;

// XMLHttpRequest-Instanz erstellen
// ... für Internet Explorer
try {
    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
    try {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        xmlHttp  = false;
    }
}
// ... für Mozilla, Opera und Safari
if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
}

function checkRadioLength(strElement){
    var boolRadio = false;	// false = kein Button gewählt, true = Button gewählt

    // Radio-Gruppe durchlaufen
    for(var i=0; i<document.getElementsByName(strElement).length; i++){
        // Falls der aktuelle Radiobutton gesetzt ist
        if(document.getElementsByName(strElement)[i].checked) {
			boolRadio = true;
		}
	}
    return boolRadio;
}

function checkCheckboxChecked(strElement) {
    var boolCheckbox = false;	// false = kein Button gewählt, true = Button gewählt

    // Radio-Gruppe durchlaufen
    for(var i=0; i<document.getElementsByName(strElement).length; i++){
        // Falls der aktuelle Radiobutton gesetzt ist
        if(document.getElementsByName(strElement)[i].checked) {
			boolCheckbox = true;
		}
	}
    return boolCheckbox;
}

function saveRadio(strElement){
    var selectedRadio = "";
	
	// Radio-Gruppe durchlaufen
    for(var i=0; i<document.getElementsByName(strElement).length; i++){
        // Falls der aktuelle Radiobutton gesetzt ist
        if(document.getElementsByName(strElement)[i].checked) {
			selectedRadio = document.getElementsByName(strElement)[i].value;
		}
	}
    return selectedRadio;
}

function saveCheckbox(strElement) {
    var saveCheckbox = "";

    // Radio-Gruppe durchlaufen
    for(var i=0; i<document.getElementsByName(strElement).length; i++){
        // Falls der aktuelle Radiobutton gesetzt ist
        if(document.getElementsByName(strElement)[i].checked) {
			if (saveCheckbox != "") {
				saveCheckbox = saveCheckbox +", "+document.getElementsByName(strElement)[i].value;
			} else {
				saveCheckbox = document.getElementsByName(strElement)[i].value;
			}
		
		}
	}
    return saveCheckbox;
}

function saveData(chkStr, saveStr) {
    if (xmlHttp) {
        disableButton();
		// Schauen, wie viele Felder zurückgesetzt werden sollen
		for(i=0;i<reset.length;i++) {
			//Elementvariable setzen mit desc + Feldname
			element = reset[i];
			var e = document.getElementById(element);
			e.style.color = '#666';
		}
		reset = new Array();
		// Daten an checkdata.php übergeben um Pflichtfelder und Emailadresse zu überprüfen
        xmlHttp.open('POST', 'inc.checkentry.php', true);
        xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xmlHttp.send(chkStr);
		// Sobald die Antwort von checkdata.php da ist, ...
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4) {
                // ...überprüfen ob Fehler vorhanden sind. Wenn ja, Fehler ausgeben und submit-Button freigeben.
				if(xmlHttp.responseText.length > 0) {
                    var split = xmlHttp.responseText.split("|");
					document.getElementById("fehlerbox").style.display = '';
                    for(var i=0;i<split.length;i++) {
                        if(split[i].length>0) {
							element = "desc"+split[i];
							var e = document.getElementById(element);
							e.style.color = '#ff0000';
							reset.push(element);
                        }
                    }
                    enableButton();
               // ... wenn keine Fehler vorhanden sind, Formulardaten an setdata.php übergeben, in die Datenbank schreiben lassen und Eingabefelder zurücksetzen
               } else {
					// Fehlerbox verstecken
					document.getElementById("fehlerbox").style.display = 'none';
                    // Einträge in die DB speichern
                    //xmlHttp.open('POST', 'inc.saveentry.php');
					xmlHttp.open('POST', 'inc.saveentry.php', true);
                    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xmlHttp.send(saveStr);

					xmlHttp.onreadystatechange = function () {
						if (xmlHttp.readyState == 4) {
							var redir = document.getElementById("redirect").value;
							window.location = redir;
						}
					}
				}
            }
        }
    }
}

// Submit-Button sperren und neu beschriften
function disableButton() {
	document.webmail.submit.disabled = true;
}

// Submit-Button freigeben und neu beschriften
function enableButton() {
	document.webmail.submit.disabled = false;
}

reset = new Array();
