// -------------------------------------------
// JavaScript Document
var form_html;
var required, required_value;
var mails, mails_value;
var id_form;

$(document).ready( function() {

    // ---------------------------------------
    // Menu
    // ---------------------------------------
    $('a').focus( function() {$(this).blur() });
    $('#carnet a[target!=_blank]').click(function()
        {
            // Setting url
            $.address.value($(this).attr('href'));
            return false;
        }
    );
    $('#carnet #menuCarnets dl').removeClass('menuHover');
    $('#carnet #menuCarnets dl').hover(function(){
        $(this).addClass('menuHover');
    },function(){
        $(this).removeClass('menuHover');
    });
    $('#carnet #menuCarnets dl').click(function(){
        $.address.value($(this).find('dt a').attr('href'));
        return false;
    });

    // ---------------------------------------
    // Form taf
    // ---------------------------------------
    initFormulaire();

    // ---------------------------------------
    // Taf
    // ---------------------------------------
    $('#afficherTaf').click(function(){
        $('#taf_response').hide();
        $('#taf').fadeIn('normal');
        // $('#taf').show();
        return false;
    });
    $('#afficherTafIn').click(function(){
        $('#taf_response').hide();
        $('#taf').fadeIn('normal');
        // $('#taf').show();
        return false;
    });

    // Ecouteurs
    $('#taf_btn_fermer, #taf_btn_fermer2, #lien_fermer').click(function(){
        $('#taf').fadeOut('normal');
    });

} );

function initFormulaire()
{
    // -------------------------------------------
    //                               FORMULAIRES
    // -------------------------------------------

    // Initialisation des variables
    id_form = "formulaireQuizTaf";
    required = new Array( "prenom", "nom", "prenom_ami", "email_ami");
    required_value = new Array();
    mails = new Array("email_ami");
    mails_value = new Array();

    // Memoriser la valeur initiale de chaque champ de formulaire
    $("input.inputText").each(function(){
        $(this).attr('memo', $(this).attr('value') );
    });

    // Au focus du champ, on le vide
    $("input.inputText").focus(function(){
        if ( $(this).attr('value') == $(this).attr('memo') )
        {
            $(this).attr('value', "");
        }
    });

    // Au blur du champ, si il est vide on met la valeur initiale
    $("input.inputText").blur(function(){
        if ( $(this).attr('value') == "")
        {
            $(this).attr('value', $(this).attr('memo') );
        }
    });

    $("#"+id_form).submit(function(){

        if(verifFormulaire())
        {
            var datas = "validerQuizTaf=1"

            // On enleve le champ mail
            required.pop();

            // Construction de la chaine à envoyer
            for(var cle in required)
            {
                datas += "&"+required[cle]+"="+required_value[cle];
            }
            for(var cle in mails)
            {
                datas += "&"+mails[cle]+"="+mails_value[cle];
            }
			datas += "&lang="+$('html').attr('lang');

            // Envoi de la requête
            $.ajax({
                type: "POST",
                url: "formulaires.php",
                dataType: "html",
                data: datas,
                cache: false,
                success: function(reponse){
                    $('#taf_response p#response').html(reponse);
                    $('#taf_bloc').fadeOut('normal', function(){
                           $('#taf_response').fadeIn('normal', function()
                           {
                              setTimeout( function(){
                                    $('#taf').fadeOut('normal');
                                }, 1500);
                           });
                    });

                }
            });//*/
        }

        return false;

    });


};

function initField()
{

}

// -------------------------------------------
//                            VERIFICATIONS
// -------------------------------------------
function verifFormulaire()
{

    if(verifRequired())
    {
        if(verifMail())
        {
            return true;
        };
    }
    return false;
}

// -------------------------
//     CHAMPS OGLIGATOIRES
// -------------------------
function verifRequired()
{
    for(var cle in required)
    {
        // verifier si le champ est vide
        var field = $('input[name="'+required[cle]+'"]')
        required_value[cle] = verifChamp( field );

        if( required_value[cle] )
        {
            $("#"+id_form+" .erreur").html('');
            field.css("borderColor", '#898083');
        }else
        {
            $("#"+id_form+" .erreur").html(erreurs[required[cle]+'_vide']);
            field.css("borderColor", '#c00');
            return false;
        }
    }

    return true;

}

// -------------------------
//            CHAMPS MAILS
// -------------------------
function verifMail()
{
    for(var cle in mails)
    {
        // verifier si le champ est vide
        var mail = $('input[name="'+mails[cle]+'"]')
        mails_value[cle] = verifChamp( mail );

        if( mails_value[cle]  )
        {

            if( !mailTest( mail.val() ) )
            {
                $("#"+id_form+" .erreur").html(erreurs['mail_invalide']);
                mail.css("borderColor", '#c00');
                return false;
            }else
            {
                $("#"+id_form+" .erreur").html('');
                mail.css("borderColor", '#898083');
            }
        }
    }

    return true;

}

// -------------------------
//        VALIDER UN EMAIL
// -------------------------
function mailTest( mail )
{
    var re=RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,8}$");
    //var re=RegExp('/^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,}$/');
    if(!re.test(mail))
    {
        return false;
    }
    else
    {
        return true;
    }
}

// -------------------------
//        VALIDER UN CHAMP
//             OBLIGATOIRE
// -------------------------
function verifChamp( champ )
{
    var valeur = champ.val();
    var defaut = champ.attr('memo');
    return ( valeur.length > 1 && valeur != defaut )?valeur:false;
}