﻿// E-Mail-Adresse überprüfen
function validateEmail(email) {
    var regExEmail = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
    return regExEmail.test(email);
}

// Klassen anpassen
function ValChangeClasses(sValid,controltovalidate,labels,sValInput) {
    // Klassen ändern
    var sLabels = labels.split(",");
    
    if(sValid) {
        if(sValInput) {
            document.getElementById(controltovalidate).className=document.getElementById(controltovalidate).className.replace(" lbl_error","");
        }
        for(i=0; i<sLabels.length; i++) {
            document.getElementById(sLabels[i]).className=document.getElementById(sLabels[i]).className.replace(" errorinpt","");
        }
    } else {
        if(sValInput) {
            document.getElementById(controltovalidate).className=document.getElementById(controltovalidate).className+" lbl_error";
        }
        for(i=0; i<sLabels.length; i++) {
            document.getElementById(sLabels[i]).className=document.getElementById(sLabels[i]).className+" errorinpt";
        }
    }
}

// Required
function RequiredEvaluateIsValid(val) {
    // Überprüfung
    var sValid = false;
    var sValue = ValidatorGetValue(val.controltovalidate);
    if(sValue.length > 0 || sValue == val.initialvalue) {
        sValid = true;
    }
    
    // Ausgabe
    ValChangeClasses(sValid,val.controltovalidate,val.labels,true);
    return sValid;
}

// E-Mail
function MailEvaluateIsValid(val) {
    // Überprüfung
    var sValid = false;
    var sValue = ValidatorGetValue(val.controltovalidate);
    if(sValue==val.initialvalue) {
        sValid = true
    } else {
        sValid = validateEmail(sValue);
    }
    
    // Ausgabe
    ValChangeClasses(sValid,val.controltovalidate,val.labels,true);
    return sValid;
}

// Equals
function EqualsEvaluateIsValid(val) {
    // Überprüfung
    var sValid = false;
    var sValue = ValidatorGetValue(val.controltovalidate);
    var sCValue = ValidatorGetValue(val.controltocompare);
    if((sValue.length > 0 && sCValue.length==0) || (sValue.length==0 && sCValue.length > 0)) {
        sValid = false;
    } else {
        sValid = true;
    }
    
    // Ausgabe
    ValChangeClasses(sValid,val.controltovalidate,val.labels,false);
    return sValid;
}

// NotEquals
function NotEqualsEvaluateIsValid(val) {
    // Überprüfung
    var sValid = false;
    var sValue = ValidatorGetValue(val.controltovalidate);
    var sCValue = ValidatorGetValue(val.controltocompare);
    if(sValue.length > 0 && sCValue.length > 0) {
        if(sValue != sCValue) {
            sValid = true;
        }
        
        // Ausgabe
        ValChangeClasses(sValid,val.controltovalidate,val.labels,true);
        return sValid;
    } else {
        return true;
    }
}

// NotEquals
function NumberEvaluateIsValid(val) {
    // Überprüfung
    var sValid = true;
    var sValue = ValidatorGetValue(val.controltovalidate);
    var sValueChars = "0123456789";
    if(sValue.length > 0) {
        for (i=0; i < sValue.length; i++) 
        { 
            Char = sValue.charAt(i); 
            if (sValueChars.indexOf(Char) == -1) 
            {
                sValid = false;
            }
        }
    } else {
        sValid = false;
    }
    
    // Ausgabe
    ValChangeClasses(sValid,val.controltovalidate,val.labels,true);
    return sValid;
}
