//DOM ready
jQuery(document).ready(function(){
    // Accordion
    $("#accordion").accordion({ header: "h3",autoHeight: false});
    
    var ns4 = document.layers
    var ie4 = document.all
    var ns6 = document.getElementById && !document.all
    
    var vorname = $("#vorname"), name = $("#name"), strasse = $("#strasse"), ort = $("#ort"), plz = $("#plz"), email = $("#email"), jahr = $("#gjahr"), tel = $("#telefon"), land = $("#land"), allFields = $([]).add(vorname).add(name).add(strasse).add(ort).add(plz).add(email).add(tel).add(jahr).add(land), tips = $(".validateTips");
    
    function updateTips(t){
        tips.text(t).addClass('ui-state-highlight');
        setTimeout(function(){
            tips.removeClass('ui-state-highlight', 1500);
        }, 500);
    }
    
    function checkLength(o, n, min, max){
        if (o.val().length > max || o.val().length < min) {
            o.addClass('ui-state-error');
            updateTips(n + " muss mindestens " + min + " Zeichen lang sein.");
            return false;
        }
        else {
            return true;
        }
    }
    
    function checkRegexp(o, regexp, n){
        if (!(regexp.test(o.val()))) {
            o.addClass('ui-state-error');
            updateTips(n);
            return false;
        }
        else {
            return true;
        }
    }
    //Dialog
    $("#bewerbung").dialog({
        autoOpen: false,
        height: 700,
        width: 520,
        modal: true,
        buttons: {
            'Abschicken': function(){
                var bValid = true;
                allFields.removeClass('ui-state-error');
                
                bValid = bValid && checkLength(vorname, "Vorname", 2, 20);
                bValid = bValid && checkRegexp(vorname, /^[a-zA-Z]+$/i, "Im Vornamen sind nur Buchstaben von a-z erlaubt.");
                bValid = bValid && checkLength(name, "Name", 2, 20);
                bValid = bValid && checkRegexp(name, /^[a-zA-Z]+$/i, "Im Namen sind nur Buchstaben von a-z erlaubt.");
                bValid = bValid && checkRegexp(jahr, /^[0-9]+$/i, "Das Geburtsdatum fehlt.");
                bValid = bValid && checkLength(strasse, "Strasse", 3, 30);
                bValid = bValid && checkRegexp(strasse, /^[[0-9a-zA-Z_\s]+$/i, "In der Straße sind Buchstaben von a-z und Zahlen von 0-9 erlaubt.");
                bValid = bValid && checkLength(plz, "PLZ", 4, 5);
                bValid = bValid && checkRegexp(plz, /^[0-9]+$/i, "Bei der PLZ sind nur Zahlen erlaubt.");
                bValid = bValid && checkLength(ort, "Ort", 3, 30);
                bValid = bValid && checkRegexp(ort, /^[a-zA-Z\s]+$/i, "Im Ort sind nur Buchstaben von a-z erlaubt.");
                bValid = bValid && checkRegexp(land, /^[a-zA-Z\s]+$/i, "Bitte keine Abkürzungen verwenden!");
                bValid = bValid && checkLength(email, "eMail", 6, 80);
                // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
                bValid = bValid && checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "zB. info@hondaschmidt.de");
                bValid = bValid && checkRegexp(tel, /^[0-9\s]+$/i, "Bei der Telefonnummer sind nur Zahlen erlaubt.");
                
                
                if (bValid) {
                    document.getElementById('form').submit()
                    //$(this).dialog('close');
                }
            },
            Abbrechen: function(){
                $(this).dialog('close');
            }
        },
        close: function(){
            allFields.val('').removeClass('ui-state-error');
        }
    });
    //Leipzig Dialog Button
    $('#lpzak').button().click(function(){
        $('#filiale').hide();
        $('#standort').attr({
            value: "Leipzig(Alte Messe)"
        });
        $('#Betreff').attr({
            value: "Bewerbung: Automobilverkäufer"
        });
        $('#Seite').attr({
            value: "jobs"
        });
        $('#bewerbung').dialog('open');
    });
    
    //Halle Dialog Button
    $('#halak').button().click(function(){
        $('#filiale').hide();
        $('#standort').attr({
            value: "Halle / Saale"
        });
        $('#Betreff').attr({
            value: "Bewerbung: Automobilverkäufer"
        });
        $('#Seite').attr({
            value: "jobs"
        });
        $('#bewerbung').dialog('open');
    });
    
    //Rothenschirmbach Dialog Button
    $('#rsbvl').button().click(function(){
        $('#filiale').hide();
        $('#standort').attr({
            value: "Rothenschirmbach"
        });
        $('#Betreff').attr({
            value: "Bewerbung: Verkaufsleiter"
        });
        $('#Seite').attr({
            value: "jobs"
        });
        $('#bewerbung').dialog('open');
    });
    
    //Rothenschirmbach Dialog Button
    $('#rsbek').button().click(function(){
        $('#filiale').hide();
        $('#standort').attr({
            value: "Leipzig(Alte Messe)"
        });
        $('#Betreff').attr({
            value: "Bewerbung: Einkäufer"
        });
        $('#Seite').attr({
            value: "jobs"
        });
        $('#bewerbung').dialog('open');
    });
    
    //Azubi Dialog Button
    $('#azubi').button().click(function(){
        $('#filiale').show();
        $('#standort').attr({
            value: "Wählen"
        });
        $('#Betreff').attr({
            value: "Bewerbung: Azubi"
        });
        $('#Seite').attr({
            value: "jobs"
        });
        $('#bewerbung').dialog('open');
    });
});

