

function dbg(str) {
    if (typeof(console) == "undefined") return;
    else console.log(str);
}
function isValidEmail(email,required){if(required==undefined){required=true}if(email==null){if(required){return false}return true}if(email.length==0){if(required){return false}return true}if(!allValidChars(email)){return false}if(email.indexOf("@")<1){return false}else if(email.lastIndexOf(".")<=email.indexOf("@")){return false}else if(email.indexOf("@")==email.length){return false}else if(email.indexOf("..")>=0){return false}else if(email.indexOf(".")==email.length){return false}return true}function allValidChars(email){var parsed=true;var validchars="abcdefghijklmnopqrstuvwxyz0123456789@.-_";for(var i=0;i<email.length;i++){var letter=email.charAt(i).toLowerCase();if(validchars.indexOf(letter)!=-1)continue;parsed=false;break}return parsed}


var qf_name_def = "Ihr Name";
var qf_email_def ="Ihre eMail Adresse";
var qf_msg_def ="Ihre Nachricht ...";
var nl_email_def ="Ihre eMail Adresse";

$(document).ready( function()
{
    $.get( '/token.php?f=quickform', function(txt) {
        $('#quickform').append('<input type="hidden" name="ts" value="' +txt+ '"/>');
        $('#newsletterform').append('<input type="hidden" name="ts" value="' +txt+ '"/>');
    });

    $(".quickformback").click(function(){
        dbg(".quickformback clicked");
        if($("#quickform-errors").is(":visible"))
            $("#quickform-errors").hide();
        $("#quickform-result").fadeOut(function(){
            $("#quickform").clearForm();
            $("#quickform").resetForm();
            $("#quickform").fadeIn();
        });
    });

    $("#quickform").submit(function() {
        $(this).ajaxSubmit({
                beforeSubmit: function checkQuickForm(formData, jqForm, options) {
                    //dbg("checkQuickForm");
                    var form = jqForm[0];
                    $("#quickform .fielderror").removeClass('fielderror');

                    if (form.name.value == '' || form.name.value == qf_name_def) {
                        $(form.name).addClass('fielderror');
                    }

                    if (!isValidEmail(form.email.value) || form.email.value == '' || form.email.value == qf_email_def) {
                        $(form.email).addClass('fielderror');
                    }

                    if (form.message.value == '' || form.message.value == qf_msg_def) {
                        $(form.message).addClass('fielderror');
                    }
                    // No error field? Return true (submit form) else return false (dont submit form)
                    if ($("#quickform .fielderror").length > 0) { return false; }
                    else { $("#quickform").hide(); return true; }
                },
                success: function successQuickForm(responseText, statusText) {
                    $("#quickform-result").fadeIn(); dbg("status: "+statusText); dbg("response: "+responseText);
                },
                error: function errorQuickForm(XMLHttpRequest, textStatus, errorThrown) {
                    $("#quickform-errors").fadeIn(); dbg("status: " + textStatus); dbg("err: " + errorThrown);
                }
        });
        return false;
    });

    $("#newsletterform-reset").click(function(){
        $("#newsletterform-result").fadeOut(function(){
            $("#newsletterform").clearForm();
            $("#newsletterform").resetForm();
            $("#newsletterform").fadeIn();
        });
    });
    $("#newsletterform").submit(function() {
        $(this).ajaxSubmit({
                beforeSubmit: function checkNewsletterForm(formData, jqForm, options){
                    dbg("checkNewsletterForm");
                    var form = jqForm[0];
                    $("#newsletterform .fielderror").removeClass('fielderror');
                    if (!isValidEmail(form.email.value)) { $(form.email).addClass('fielderror'); }
                    // No error field? Return true (submit form) else return false (dont submit form)
                    if ($("#newsletterform .fielderror").length > 0) { return false; }
                    else { $("#newsletterform").hide(); return true; }
                },
                success: function successNewsletterForm(responseText, statusText){
                    $("#newsletterform-result").fadeIn();  dbg("status: "+statusText); dbg("response: "+responseText);
                },
                error: function errorNewsletterForm(XMLHttpRequest, textStatus, errorThrown) {
                    $("#newsletterform-errors").fadeIn(); dbg("status: "+textStatus); dbg("err: " + errorThrown);
                }
        });
        return false;
    });

    var qf_name = $("#quickform input[name='name']");
    var qf_email = $("#quickform input[name='email']");
    var qf_msg = $("#quickform textarea");
    var nl_email = $("#newsletterform input");

    focusField(qf_name, qf_name_def);
    focusField(qf_email, qf_email_def);
    focusField(qf_msg, qf_msg_def);
    focusField(nl_email, nl_email_def);
    blurField(qf_name, qf_name_def);
    blurField(qf_email, qf_email_def);
    blurField(qf_msg, qf_msg_def);
    blurField(nl_email, nl_email_def);
});

function focusField(field, def){
    field.val(def).focus(function(e){
        if($(this).val() == def) $(this).val("");
        return;
    });
};

function blurField(field, def){
    field.blur(function(e){
        if($(this).val() == "") {
            $(this).val(def);
            $(this).removeClass("fielderror");
        }
        return;
    });

};

function toggleHover(id, bild) {
    if (id == '' || document.getElementById(id) == null)
        return;
    document.getElementById(id).src = "/static/images/buttons/" + bild;
}
