/******************************
 * Bestellkorb-Funktionen etc *
 ******************************/

/**
 * 27.02.2004 TN
 */
function TN_IsNumber(anz) {
    var zahl = true;
    
    if(anz == "") {
        zahl = false;
    }
        
    for(i=0; i < anz.length; i++) {
        if((anz.charCodeAt(i) < 48)||(anz.charCodeAt(i) > 57)) {
            zahl = false;
        }
    }
    
    return zahl;
}

/**
 * 27.02.2004 TN
 */
function WK_SetAnzToNull(formname) {
    document.forms[formname].absanz.value = 0;
}

/**
 * 27.02.2004 TN
 * kein Max-Mengen-Test bei Discountartikeln
 * 
 * Parameter: 
 *   formname
 *   stueckzahl (bei Discount auf 0 setzen)
 *   verbose	(true)
 *   nullok	(true)
 *   discount   0 oder 1
 * 
 */
function WK_TestAnzahl(formname, stueckzahl, verbose, nullok, discount) {
    
    var anz = document.forms[formname].absanz.value;
    
    if(document.forms[formname].extra.value == 1) {
        return true;
    } else if(document.forms[formname].gebraucht.value == 0) {
        return true;
    } else {
        if(TN_IsNumber(anz)) {    
            if((anz == 0) && (!nullok)) {
                alert('Es können keine 0 Artikel bestellt werden.');
                return false;
            }
            
            if((anz < 0)||((anz > stueckzahl) && (discount == 0))) {
                if(anz < 0) {
                    if(verbose) {
                        alert('Geben Sie eine positive Zahl ein.');
                    }
                }
                
                if((anz > stueckzahl) && (discount == 0)) {
                    if(verbose) {
                        alert('Es sind max. ' + stueckzahl + ' verfügbar.');
                    }
                }
                
                return false;
            } else {
                return true;
            }
        } else {
            if(verbose) {
                alert('Geben Sie eine positive Zahl ein.');
            }
            
            return false;
        }
    }
}

/**
 * 20.04.2004
 */
function ShowAGB() {
    AGBWindow = window.open(
        'agb.htm',
        'AGB',
        'width=640,height=480,locationbar=yes,menubar=yes,resizable=yes,scrollbars=yes'
    );	
}

function CheckAGB() {
    
    var success = true;
    var msg     = '';
    
    var checkAgbField = $('check_agb');
    var checkImmoAgbField = $('check_i_agb');
    
    
    if(checkAgbField && !checkAgbField.checked) {
        success = false;
        msg += "Bitte bestätigen Sie die AGB.\n";
    }
    
    if(checkImmoAgbField && !checkImmoAgbField.checked) {
        success = false;
        msg += "Bitte bestätigen Sie die Immobilien-AGB.\n";
        
    }
    
    if(!success) {
        alert(msg);
        return false;
    }
    
    return true;
    /*
    if(document.f1.agb.checked) {
        return true;
    } else {
        alert("Bitte bestaetigen Sie die AGB.");
        return false;
    }
    */
}

/**
 * 20.04.2004
 */
function ShowFAQ() {
    FAQWindow = window.open(
        'faq.htm',
        'FAQ',
        'width=850,height=480,locationbar=yes,menubar=yes,resizable=yes,scrollbars=yes,left=64'
    );	
}


/**
 * 07.05.2004
 */
function ShowGarantie() {
    GarantieWindow = window.open(
        'garantie.htm',
        'FAQ',
        'width=850,height=400,locationbar=yes,menubar=yes,resizable=yes,scrollbars=yes,left=64'
    );	
}

/**
 * 23.02.2005
 */
function ShowWindow(url, title) {
    newsWindow = window.open(
        url,
        title,
        'width=850,height=600,locationbar=yes,menubar=yes,resizable=yes,scrollbars=yes,left=64'
    );	
}

/**
 * 21.11.2005
 */
function ShowBiggerWindow(url, title) {
    newsWindow = window.open(
        url,
        title,
        'width=910,height=650,locationbar=yes,menubar=yes,resizable=yes,scrollbars=yes,left=64'
    );	
}

/**
 * 28.04.2004
 */
function IsEmailAdresse(adr) {
    if(adr == '') {
        return false;
    } else {
        anz = 0;
        pos = 0;
        
        for(i = 0; i < adr.length; i++) {
            if(adr.charAt(i) == '@') { 
                anz++; 
                pos = i; 
            }
        }
        
        if(anz != 1) {
            return false;
        } else {
            if(pos == 0) {
                return false;
            } else {
                adr = adr.substr(pos + 1, adr.length - pos - 1);
                pos = -1;
                
                for(i = 0; i < adr.length; i++) {
                    if(adr.charAt(i) == '.') {
                        pos = i;
                    }
                }
                
                if((pos > 0) 
                    && (((adr.length - pos) == 3) || ((adr.length - pos) == 4) )) {
                        return true; 
                } else {
                    return false;
                }
            }
        }
    }	
}

/**
 * 
 */
function showLeasingHint() {
    var msg = 'Ab einem Warenwert von 1000,00 ' +  String.fromCharCode(8364) + 
              ' können Sie die Artikel im Warenkorb auch bei uns leasen. Über ' +
              'den Button "Leasing-Angebot anfordern" können Sie dazu eine ' +
              'Anfrage an uns senden. Wir setzen uns dann zwecks ' +
              'Detailabsprachen mit Ihnen in Verbindung.';
    alert(msg);

}

/**
 * 
 */
function ziffern(wert) {
    anz = 0;
    fehler = 0;
    
    for(zz = 0; zz < wert.length; zz++) {
        tmp = wert.charCodeAt(zz);
        
        if((tmp >= 48) && (tmp <= 57)) {
            anz++; 
        }
        else if(tmp != 32) { 
            fehler=1; 
        }
    }
    
    if(fehler == 1) { 
        return -1; 
    } else { 
        return anz; 
    }
}

/**
 * 
 */
function f_set(wert) {
    if(wert.length < 3) {
        return false; 
    } else {
        return true;
    }
}

function TestForm() {
    var nachricht = "";
    
    var za = 0;
    $A(document.forms.f2.kd_zahlungsart).each(function(element) {
        if(element.checked) {
            za = element.value;
            throw $break;
        }
        
    });
    
    if(za < 1)
    nachricht = "Wählen Sie eine Zahlungsart aus.";
    
    if(za == 5) {
        
        if(document.f2.kd_bank_kontonr.value == "") 
        nachricht = "Geben Sie Ihre Kontonummer ein.";
        
        if(document.f2.kd_bank_blz.value == "") 
        nachricht = "Geben Sie Ihre Bankleitzahl ein.";
        
        if(document.f2.kd_bank_bankname.value == "")
        nachricht = "Geben Sie Ihre Bankverbindung ein.";
        
        if(document.f2.kd_bank_inhaber.value == "")
        nachricht = "Geben Sie Ihre Bankverbindung ein.";
                                       
        if (nachricht=="") {
            anz = ziffern(document.f2.kd_bank_kontonr.value);
            
            if((anz < 8) || (anz > 10)) 
            nachricht = "Geben Sie eine gültige Kontonummer ein.";
        
            anz = ziffern(document.f2.kd_bank_blz.value);
            
            if(anz != 8) 
            nachricht = "Geben Sie eine gültige Bankleitzahl ein.";
        }
        
    } else if(za == 9) {
        
        if($F('kd_cc_typ') == '-1') 
        nachricht = 'Geben Sie den Kreditkartentyp ein.';
        
        if($F('kd_cc_nummer') == '')
        nachricht = 'Geben Sie die Kreditkartennummer ein.';
        
        if($F('kd_cc_pruef') == '')
        nachricht = 'Geben Sie die Prüfnummer Ihrer Kreditkarte ein.';
        
        if($F('kd_cc_valid_month') < 1 || $F('kd_cc_valid_year') < 1) {
            nachricht = 'Geben Sie das Gültigkeitsdatum ein.';
        } else {
            // Prüfen, ob Datum schon vorbei
            var now = new Date();
            
            var formMonth = parseInt($F('kd_cc_valid_month'));
            var formYear  = parseInt($F('kd_cc_valid_year'));
            
            var formDay = 0;
            switch(formMonth) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    formDay = 31;
                    break;
                    
                case 4:
                case 6:
                case 9:
                case 11:
                    formDay = 30;
                    break;
                    
                case 2:
                    formDay = 28;
                    
                    if(checkleapyear(formYear))
                    formDay = 29;
            }
            
            var formDate = new Date(formYear, formMonth-1, formDay, 23, 59, 59);
            
            if(formDate < now)
            nachricht = "Das eingegebene Gültigkeitsdatum ist bereits vorbei.";
        } 
    }
    
    if(nachricht == "") {
        return true;
    } else {
        alert(nachricht);
        return false;
    }   
}


function TestForm11()
{
  if ((!document.f1.kd_kontakt[0].checked) &
     (!document.f1.kd_kontakt[1].checked)) {
    alert("Wie möchten Sie kontaktet werden?");
    return false;
  }
  else return true;  
}

function checkleapyear(datea) {
    
    datea = parseInt(datea);

    if(datea%4 == 0) {
        if(datea%100 != 0) {
            return true;
        } else {
            if(datea%400 == 0)
                return true;
            else
                return false;
        }
    }
    
    return false;
}

function TestForm12() {
    error = "";
    
    if(document.f1.testform.value == 1) {
        
    
        if(!f_set(document.f1.kd_strasse.value)) {
            error = "Geben Sie eine Strasse an.";
        }
    
        else if(!f_set(document.f1.kd_plz.value)) {
            error = "Geben Sie eine Postleitzahl an.";
        }
    
        else if(!f_set(document.f1.kd_ort.value)) {
            error = "Geben Sie einen Ort an.";
        }
    
        else if(!f_set(document.f1.kd_telefon.value)) {
            error = "Geben Sie eine Telefonnummer an.";
        }
    
        else if(document.f1.kd_ustid.value != ''
            && document.f1.kd_ustid.value.length != 11) {
    
            error = "Bitte geben Sie eine 11-stellige Umsatzsteuer-ID an.";
        }
    
        /*
        {if $user.level eq "0"}
        else if(!f_set(document.f1.kd_asp.value)) {
            error="Geben Sie einen Ansprechpartner an.";
        }
    
        else if(!IsEmailAdresse(document.f1.kd_email.value)){
            error="Geben Sie eine gueltige Email-Adresse an.";
        }
        {/if}
        */

        if(!$('toggleshippingcb').checked) {
            if(!f_set(document.f1.kd_strasse2.value)) {
                error="Geben Sie eine Straße für die Lieferadresse an.";
            }
        
            else if(!f_set(document.f1.kd_ort2.value)) {
                error="Geben Sie einen Ort für die Lieferadresse an.";
            }
        
            else if(ziffern(document.f1.kd_plz2.value)!=5) {
                error="Geben Sie eine gültige PLZ für die Lieferadresse an.";
            }
        }
    }
    
    if(error == "") {
        return true;
    } else {
        alert(error); return false;
    }
}
