﻿function sendeBuecherbestellung () {
    if(doCheck())
    {
        return true;     
    }
    else 
    {
        return false;
    }
}
function sendeArtikelbestellung () { 
    if(doCheck())
    {
        return true;    
    }
    else
    {
        return false;
    }
}
function sendeRechercheauftrag () { 
    if(doCheck())
    {
        return true;
    }
    else
    {
        return false;
    }
}
function sendeKursvormerk() {
    if(doCheck())
    {
       document.getElementById("errorlist_id").style.display = "none";
       return true;
    }
    else
    {
        showErrorList();
        return false;
    }
}
var submitcount=0;
/** Entfernt das übergebene 'class' Attribut falls vorhanden um eine Korrekte Anzeige wieder herzustellen */
function resetErrors(pObjArray, pSearchedClassName){
    for(var i=0, j = pObjArray.length; i<j; i++){
        var aClassName = pObjArray[i].className || "";
        if(aClassName.indexOf("pSearchedClassName") == -1) {
            pObjArray[i].className = aClassName.replace(pSearchedClassName, "");
        }
    }
}

var errorListText = ""
function fillErrorList(link_id, link_text)
{
   errorListText += '<li><a href="' + link_id + '" title="">' + link_text + '</a></li>';
}
function showErrorList()
{
   var errorText = "<h4>Bitte &uuml;berpr&uuml;fen Sie Ihre Angaben</h4><ul>"
   errorText += errorListText;
   errorText += "</ul>"
   document.getElementById("errorlist_id").style.display = "block";
   document.getElementById("errorlist_id").innerHTML = errorText;
}

function doCheck() {
    var correctedEntries = new Array();
    var errorReturn = false;
    var changeP;
    //Beginn check Kartennummer    
    try{
        if (document.form1.KartenNR.value=="") {
            changeP = document.getElementById("id_kartennummer");
            changeP.className = "form-error";
            document.form1.KartenNR.focus();
            errorReturn = true;
        } else {
            var valid = "$xXyYzZ0123456789"
            var ok = "yes";
            var required = "no";
            var temp;
            for (var i=0; i<document.form1.KartenNR.value.length; i++) {
                temp = "" + document.form1.KartenNR.value.substring(i, i+1);
                if (valid.indexOf(temp) == "-1") ok = "no";
            }
            temp = document.form1.KartenNR.value.substring(0,2);
            if (temp == "$Z" || temp == "$Y" || temp == "$X" || temp == "$z" || temp == "$y" || temp == "$x") required = "yes";
            if (ok == "no" || required == "no" || document.form1.KartenNR.value.length<6) {
                changeP = document.getElementById("id_kartennummer");
                changeP.className = "form-error";
                document.form1.KartenNR.focus();
                document.form1.KartenNR.select();
                errorReturn = true;
            } else {
                changeP = document.getElementById("id_kartennummer");
                correctedEntries.push(changeP);
            }
        }
    } catch (e) {
    }
    //Ende check Kartennummer
    try{
        if (document.form1.Name.value.length<4) {
            changeP = document.getElementById("id_name");
            changeP.className = "form-error";
    
            document.form1.Name.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_name");
            correctedEntries.push(changeP);
        }
    }catch (e) {
    }
    try{ 
        if (document.form1.Strasse.value.length<4) {
            changeP = document.getElementById("id_strasse");
            changeP.className = "form-error";
            document.form1.Strasse.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_strasse");
            correctedEntries.push(changeP);
        }
    } catch (e) {
    }
    try{         
        if (document.form1.PLZ.value=="") {
            changeP = document.getElementById("id_postleitzahl");
            changeP.className = "form-error";
            document.form1.PLZ.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_postleitzahl");
            correctedEntries.push(changeP);
        }
    } catch (e) {
    }
    try{
        if (document.form1.Ort.value=="") {
            changeP = document.getElementById("id_ort");
            changeP.className = "form-error";
            document.form1.Ort.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_ort");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    try{
        if (document.form1.Adresse.value.length<4) {
            changeP = document.getElementById("id_adresse");
            changeP.className = "form-error";
            document.form1.Adresse.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_adresse");
            correctedEntries.push(changeP);
        }
    }catch(e){
    }
    try{
        if (document.form1.Autor.value.length<2) {
            changeP = document.getElementById("id_autor");
            changeP.className = "form-error";
    
            document.form1.Autor.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_autor");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    try{
        if (document.form1.ZStitel.value.length<4) {
            changeP = document.getElementById("id_zeitschriftentitel");
            changeP.className = "form-error";
            document.form1.ZStitel.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_zeitschriftentitel");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    try{
        if (document.form1.Titel.value.length<4) {
            changeP = document.getElementById("id_titel");
            changeP.className = "form-error";
    
            document.form1.Titel.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_titel");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    try{
        if (document.form1.Ort.value=="") {
            changeP = document.getElementById("id_erscheinungsort");
            changeP.className = "form-error";
    
            document.form1.Ort.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_erscheinungsort");
            correctedEntries.push(changeP);
        }    }catch (e){
    }
    //Beginn check Jahr
    try{
    if (document.form1.Jahr.value=="") {
        changeP = document.getElementById("id_erscheinungsjahr");
        changeP.className = "form-error";
        document.form1.Jahr.focus();
        errorReturn = true;
    } else {
        var valid = "0123456789";
        var ok = "yes";
        var temp;
        //alert("check: "+document.form1.Jahr.value.length+" | "+document.form1.Jahr.value.substring(0,1));
        for (var i=0; i<document.form1.Jahr.value.length; i++) {
            temp = "" + document.form1.Jahr.value.substring(i, i+1);
            if (valid.indexOf(temp) == "-1") ok = "no";
        }
        if (ok == "no" || document.form1.Jahr.value.length != 4) {
            changeP = document.getElementById("id_erscheinungsjahr");
            changeP.className = "form-error";
            document.form1.Jahr.focus();
            document.form1.Jahr.select();
            errorReturn = true;
        }  else {
            changeP = document.getElementById("id_erscheinungsjahr");
            correctedEntries.push(changeP);
        }
    }
    }catch (e){
    }
    //Ende check Jahr
    try{
        if (document.form1.Band.value=="") {
            changeP = document.getElementById("id_band");
            changeP.className = "form-error";
            document.form1.Band.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_band");
            correctedEntries.push(changeP);
        }
    } catch (e) {
    }
    //Beginn check Seitenzahl
    try{
        if (document.form1.Seiten.value=="") {
            changeP = document.getElementById("id_seiten");
            changeP.className += " form-error";
            document.form1.Seiten.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_seiten");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    //Beginn check Copyrightbestimmungen
    try{
        if (document.form1.cright[0].checked == false && document.form1.cright[1].checked == false) {
            //Beginn check Copyrightbestimmungen
            changeP = document.getElementById("id_cright");
            changeP.className += " form-error";
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_cright");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    //Beginn check Checkbox
    try{
        if (document.form1.checkbox.checked) {
            changeP = document.getElementById("id_check");
            correctedEntries.push(changeP);
         } else {
            changeP = document.getElementById("id_check");
            changeP.className = "form-error";
            document.form1.checkbox.focus();
            errorReturn = true;
        }
    }catch(e){
    }
    //Anfang check Anfrage
    try{
        if (document.form1.Anfrage.value.length<15) {
            changeP = document.getElementById("id_thema");
            changeP.className = "form-error";
            document.form1.Anfrage.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_thema");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    //Beginn check Maximalbetrag
    try{
        if (document.form1.Maximalbetrag.value=="") {
            changeP = document.getElementById("id_kosten");
            changeP.className = "form-error";
            document.form1.Maximalbetrag.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_kosten");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    try{
        if (document.form1.Vorname.value.length<1) {
            changeP = document.getElementById("id_vorname");
            changeP.className = "form-error";
            fillErrorList('#EditVorname', 'Vorname');
            document.form1.Vorname.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_vorname");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    try{
        if (document.form1.Familienname.value.length<1) {
            changeP = document.getElementById("id_familienname");
            changeP.className = "form-error";
            fillErrorList('#EditFamilienname', 'Familienname');
            document.form1.Familienname.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_familienname");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    
    //Anfang check email nicht facultatives Feld
    try{
        var address = "ja"
        var addressParts;
     
        if (document.form1.Email.value.length>0) {
            // if(document.form1.Email.value.indexOf("@") != -1){
                addressParts = document.form1.Email.value.split("@");
                if (document.form1.Email.value.indexOf(" ")>0) address = "nein";
                if (addressParts.length!=2) address = "nein";
                for (var i=0; i<addressParts.length; i++) {
                    if (addressParts[i]=="") address = "nein";
                }
                if (addressParts.length>1&&addressParts[1].indexOf(".")<0) address = "nein";
/*
            } else {
                address = "nein";
            }
*/
        } else {
            address = "nein";
        }
        if (address == "nein") {
            changeP = document.getElementById("id_email");
            changeP.className = "form-error";
            fillErrorList('#EditEmail', 'E-Mail');
            document.form1.Email.focus();
            document.form1.Email.select();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_email");
            correctedEntries.push(changeP);
        }
    } catch (e) {
    }
    //Ende check email

    try{
        if (document.form1.Anschrift.value.length<1) {
            changeP = document.getElementById("id_anschrift");
            changeP.className = "form-error";
    
            document.form1.Anschrift.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_anschrift");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    try{
        if (document.form1.Telefon.value.length<1) {
            changeP = document.getElementById("id_telefon");
            changeP.className = "form-error";
            fillErrorList('#EditTelefon', 'Telefon');
            document.form1.Telefon.focus();
            errorReturn = true;
        } else {
            changeP = document.getElementById("id_telefon");
            correctedEntries.push(changeP);
        }
    }catch (e){
    }
    //Beginn check Checkbox
    try{
    var checked = 0;
        
    for (var i=0; i<document.form1.Abschluss.length; i++)  {
        
        if (document.form1.Abschluss[i].checked)  
        {
            checked = 1;
        }
    }        
    if (checked == 1) {
        changeP = document.getElementById("id_abschluss");
            correctedEntries.push(changeP);               
                
    } else {                
            changeP = document.getElementById("id_abschluss");
        changeP.className = "form-error";
        fillErrorList('#id_abschluss', 'Abschluss');               
        errorReturn = true;
                    
    }        
    }catch(e){
    }
    /* alle Eingabefelder überprüfen und bei einem Fehler eine Rückgabe produzieren */
    if(errorReturn){
        if(correctedEntries){
            resetErrors(correctedEntries, "form-error");
        }
        return false;
    } else {
        return true;
    }
}

function checkSubmitted() {
    if (submitcount == 0) {
        submitcount++;
        return true;
    }
    else {
        alert("Dieses Formular wurde bereits versandt. Danke!");
        return false;
    }
}