/**
 * @author Lutz|Schulz marketing & kommunikation GmbH / cod.m - Patrik Mayer
 * @copyright Copyright (C) 11/2008 Lutz|Schulz marketing & kommunikation gmbh
 * @licence Dieser Code ist ausschließlich für die Website des Trivium Coaching Portal lizensiert.
 *   
 * Eine Nutzung außerhalb der Website des Trivium Coaching Portals 
 * (zulässige Domains: trivium-coaching.com; trivium-coaching.de; trivium-coaching.eu; trivium-coachingverband.de; 
 * triviumcoaching.com; triviumcoaching.de; triviumcoaching.eu; triviumcoachingverband.de) ist ausdrücklich untersagt. 
 */

var username_taken = undefined;

function checkRegisterUsername(){

    if(this.value != ''){


        var url = check_url + '?username=' + encodeURIComponent(this.value);


        jQuery.get(url, function(data) {
                            if(data == 'true'){
                                $('#name').removeClass('not_valid');
                                $('#name').addClass('valid');
                                hide_form_error(document.getElementById('name'));
                                username_taken = false;
                            } else {
                                $('#name').removeClass('valid');
                                $('#name').addClass('not_valid');
                                show_form_error(document.getElementById('name'), 'Der Benutzername ist bereits vergeben.');
                                username_taken = true;
                            }
                        }
        );



    } else {
        $(this).removeClass('valid');
        $(this).addClass('not_valid');
        show_form_error(document.getElementById('name'), 'Bitte geben Sie einen Benutzernamen an.');
    }

}

var email_valid = undefined;
function checkRegisterEMail(){
    if(this.value != ''){
        if(doCheckRegisterEMail(this.value)){
            $(this).removeClass('not_valid');
            $(this).addClass('valid');
            email_valid = true;
        } else {
            $(this).removeClass('valid');
            $(this).addClass('not_valid');
            email_valid = false;
        }
    }
}


function doCheckRegisterEMail(email){
    if(email.match(email_regex)){
        return true;
    }
    return false;
}

/*
function checkRegisterForm(form){

    var error = false;
    var hide_error = new Array();

    if(document.getElementsByName('name')[0].value == ''){
        show_form_error(document.getElementsByName('name')[0], 'Bitte geben Sie einen Benutzernamen an.');
        error = true;
    } else if((username_taken == undefined && doCheckRegisterUsername(document.getElementsByName('name')[0].value)) || username_taken){
        show_form_error(document.getElementById('name'), 'Dieser Benutzername ist leider schon vergeben.');
        username_taken = true;
    } else {
        hide_error[hide_error.length] = document.getElementsByName('name')[0];
    }

    if(form.firstname.value == ''){
        show_form_error(form.firstname, 'Bitte geben Sie einen Vornamen an.');
        error = true;
    } else {
        hide_error[hide_error.length] = form.firstname;
    }

    if(form.lastname.value == ''){
        show_form_error(form.lastname, 'Bitte geben Sie einen Nachnamen an.');
        error = true;
    } else {
        hide_error[hide_error.length] = form.lastname;
    }

    if(form.street.value == '' || form.street_nr.value == ''){
        show_form_error(form.street_nr, 'Bitte geben Sie Straße und Hausnummer an.');
        show_form_error(form.street);
        error = true;
    } else {
        hide_error[hide_error.length] = form.street;
        hide_error[hide_error.length] = form.street_nr;
    }

    if(form.zip.value == '' || form.city.value == ''){
        show_form_error(form.city, 'Bitte geben Sie Postleitzahl und Stadt an.');
        show_form_error(form.zip);
        error = true;
    } else {
        hide_error[hide_error.length] = form.city;
        hide_error[hide_error.length] = form.zip;
    }

    if(form.pass1.value == '' || form.pass2.value == ''){
        show_form_error(form.pass2, 'Bitte wiederholen Sie das Passwort zur Sicherheit.');
        show_form_error(form.pass1);
        error = true;
    } else {

        if(form.pass1.value != '' && form.pass2.value != '' && form.pass1.value == form.pass2.value){
            hide_error[hide_error.length] = form.pass1;
            hide_error[hide_error.length] = form.pass2;
        } else {
            if(form.pass1.value != '' && form.pass2.value != ''){
                hide_form_error(form.pass1);
                show_form_error(form.pass2, 'Die eingegeben Passwörter sind nicht identisch.');
                error = true;
            }
        }



    }

    if(form.email.value == '' || (email_valid == undefined && !doCheckRegisterEMail(form.email.value)) || !email_valid){
        show_form_error(form.email, 'Bitte geben Sie eine gültige E-Mail Adresse an.');
        error = true;
    } else {
        hide_error[hide_error.length] = form.email;
    }


    if(form.fon.value == '' || !form.fon.value.match(/[+ \(\)\d-]+/)){
        show_form_error(form.fon, 'Bitte geben Sie einen gültige Telefonnummer an.');
        error = true;
    } else {
        hide_error[hide_error.length] = form.fon;
    }


    if(error){
        var i;
        for(i = 0; i < hide_error.length; i++){
            hide_form_error(hide_error[i]);
        }
    }

    return !error;

}
*/

function checkRegisterForm(form){

    var error = false;
    var hide_error = new Array();

    if(form.name.value == ''){
        show_form_error(form.name, 'Bitte geben Sie einen Benutzernamen an.');
        error = true;
    } else {
        hide_error[hide_error.length] = form.name;
    }

    if(form.email.value == '' || (email_valid == undefined && !doCheckRegisterEMail(form.email.value)) || !email_valid){
        show_form_error(form.email, 'Bitte geben Sie eine gültige E-Mail Adresse an.');
        error = true;
    } else {
        hide_error[hide_error.length] = form.email;
    }


    if(error){
        var i;
        for(i = 0; i < hide_error.length; i++){
            hide_form_error(hide_error[i]);
        }
    }

    return !error;


}
