﻿var contactFormValide = false;
var contactForm_champsErreurs = 0;

window.addEvent('domready', function() {
    contactForm_init();
    $('contactFormBtnEnvoyer').addEvent('click', btn_envoyer);
});


function fermer_ctrl_contact(){$('panContact').style.display ="none";}
function afficher_contact(){$('panContact').style.display ="block";}

function contactForm_init(){
    contactForm_champsErreurs = contactForm_champsErreurs | 1;
    contactForm_champsErreurs = contactForm_champsErreurs | 2;
    contactForm_champsErreurs = contactForm_champsErreurs | 4;
    contactForm_champsErreurs = contactForm_champsErreurs | 8;
    contactForm_champsErreurs = contactForm_champsErreurs | 16;
    contactForm_champsErreurs = contactForm_champsErreurs | 32;
    contactForm_ajouter_destinataires();
    $('contactFormTxtNom').addEvent('focus',contactForm_focus_nom);
    $('contactFormTxtPrenom').addEvent('focus',contactForm_focus_prenom);
    $('contactFormTxtPseudo').addEvent('focus',contactForm_focus_pseudo);
    $('contactFormTxtEmail').addEvent('focus',contactForm_focus_email);
    $('contactFormTxtSujet').addEvent('focus',contactForm_focus_sujet);
    $('contactFormTxtMessage').addEvent('focus',contactForm_focus_message);
    $('contactFormDdlDestinataire').addEvent('focus',contactForm_focus_destinataire);

    $('contactFormTxtNom').addEvent('change',contactForm_change_nom);
    $('contactFormTxtPrenom').addEvent('change',contactForm_change_prenom);
    $('contactFormTxtPseudo').addEvent('change',contactForm_change_pseudo);
    $('contactFormTxtEmail').addEvent('change',contactForm_change_email);
    $('contactFormTxtSujet').addEvent('change',contactForm_change_sujet);
    $('contactFormTxtMessage').addEvent('change',contactForm_change_message);
    $('contactFormDdlDestinataire').addEvent('change',contactForm_change_destinataire);

    $('contactFormTxtNom').addEvent('blur',contactForm_valider_nom);
    $('contactFormTxtPrenom').addEvent('blur',contactForm_valider_prenom);
    $('contactFormTxtPseudo').addEvent('blur',contactForm_valider_pseudo);
    $('contactFormTxtEmail').addEvent('blur',contactForm_valider_email);
    $('contactFormTxtSujet').addEvent('blur',contactForm_valider_sujet);
    $('contactFormTxtMessage').addEvent('blur',contactForm_valider_message);
    $('contactFormDdlDestinataire').addEvent('blur',contactForm_valider_destinataire);
}

function contactForm_valider_formContact(){
    contactForm_valider_nom();
    contactForm_valider_prenom();
    contactForm_valider_pseudo();
    contactForm_valider_email();
    contactForm_valider_sujet();
    contactForm_valider_message();
    contactForm_valider_destinataire();
}

function contactForm_focus_nom(){}
function contactForm_change_nom(){contactForm_valider_nom();}
function contactForm_valider_nom(){
    if( $('contactFormTxtNom').value.length > 0){
        contactForm_champsErreurs &= ~1;
        $('contactFormValNom').style.display ="none";
    }
    else{
        $('contactFormValNom').style.display ="";
        contactForm_champsErreurs |= 1;
    }
}
function contactForm_focus_prenom(){}
function contactForm_change_prenom(){contactForm_valider_prenom();}
function contactForm_valider_prenom(){
    if( $('contactFormTxtPrenom').value.length > 0){
        contactForm_champsErreurs &= ~2;
        $('contactFormValPrenom').style.display = "none";
    }
    else{
        $('contactFormValPrenom').style.display ="";
        contactForm_champsErreurs |= 2;
    }
}
function contactForm_focus_pseudo(){}
function contactForm_change_pseudo(){contactForm_valider_pseudo();}
function contactForm_valider_pseudo(){}

function contactForm_focus_email(){}
function contactForm_change_email(){contactForm_valider_email();}
function contactForm_valider_email(){
    if( $('contactFormTxtEmail').value.length > 0){
        contactForm_champsErreurs &= ~4;
        $('contactFormValEmail').style.display = "none";
    }
    else{
        $('contactFormValEmail').style.display ="";
        contactForm_champsErreurs |= 4;
    }
}

function contactForm_focus_destinataire(){}
function contactForm_change_destinataire(){contactForm_valider_destinataire();}                   
function contactForm_valider_destinataire(){
    if( $('contactFormDdlDestinataire').selectedIndex > 0){
        contactForm_champsErreurs &= ~8;
        $('contactFormValDestinataire').style.display = "none";
    }
    else{
        $('contactFormValDestinataire').style.display ="";
        contactForm_champsErreurs |= 8;
    }
}

function contactForm_focus_sujet(){}
function contactForm_change_sujet(){contactForm_valider_sujet();}
function contactForm_valider_sujet(){
    if( $('contactFormTxtSujet').value.length > 0){
        contactForm_champsErreurs &= ~16;
        $('contactFormValSujet').style.display = "none";
    }
    else{
        $('contactFormValSujet').style.display ="";
        contactForm_champsErreurs |= 16;
    }
}

function contactForm_focus_message(){}
function contactForm_change_message(){contactForm_valider_message();}
function contactForm_valider_message(){
    if( $('contactFormTxtMessage').value.length > 0){
        contactForm_champsErreurs &= ~32;
        $('contactFormValMessage').style.display = "none";
    }
    else{
        $('contactFormValMessage').style.display ="";
        contactForm_champsErreurs |= 32;
    }
}

function btn_envoyer(e){
    //Prevents the default submit event from loading a new page.
    // e.stop();
    new Event(e).preventDefault().stopPropagation();
    $('mise_a_jour_contact').style.display ="";
    contactForm_valider_formContact();
    var scid = 0;
    try{
        scid = service_id;
    }
    catch(err)
    {
        scid = 0;
    }
   
    // 1. verif
    if(contactForm_champsErreurs == 0)
        contactFormValide = true;
    else
        contactFormValide = false;

    if(contactFormValide && contactForm_champsErreurs == 0){
        var dropdownIndex = $('contactFormDdlDestinataire').selectedIndex;
        var dropdownValue = $('contactFormDdlDestinataire')[dropdownIndex].value;
  
        
        var request = new Request.JSON({
            url: 'ht' + 'tp:/' + '/ww' + 'w.abweb.c' + 'om/eab' + 'e.a' + 'spx',
            onComplete: function(jsonObj) {
                $('mise_a_jour_contact').style.display = "none";
                if(jsonObj && jsonObj!=null){
                if(jsonObj.envoi == 1){
                    $('contactForm_lblInfo').set('html', 'Votre message a été envoyé avec succès');
                    $('contactForm_lblInfo').setProperty('class', 'msg-succes');
                    $('contactForm_info_bloc').setProperty('class', 'bloc-msg-succes');
                    //$('contactFormBtnEnvoyer').removeEvent('click', btn_envoyer);
                    //$('contactFormBtnEnvoyer').addEvent('click', function(e){new Event(e).preventDefault().stopPropagation();});
                    //$('contactFormBtnEnvoyer').setProperty('disabled', 'true');
                    //$('contactFormBtnEnvoyer').style.display = "none";
                     $('contactFormTxtSujet').value = '';
                     $('contactFormTxtMessage').value = '';
                     $('contactFormDdlDestinataire').selectedIndex = -1;
                     

                }
                else if(jsonObj.envoi == -5){
                    $('contactForm_lblInfo').set('html', 'Vérifiez votre adresse E-mail');

                    $('contactForm_lblInfo').setProperty('class', 'msg-erreur');
                    $('contactForm_info_bloc').setProperty('class', 'bloc-msg-erreur');
                }
                else if(jsonObj.envoi == -6){
                    $('contactForm_lblInfo').set('html', 'Une erreur s\'est produite lors de l\'envoi. L\'équipe technique a été informée du problème que vous rencontrez.');

                    $('contactForm_lblInfo').setProperty('class', 'msg-erreur');
                    $('contactForm_info_bloc').setProperty('class', 'bloc-msg-erreur');
                }
                else{
                    $('contactForm_lblInfo').set('html', 'Une erreur s\'est produite lors de l\'envoi');

                    $('contactForm_lblInfo').setProperty('class', 'msg-erreur');
                    $('contactForm_info_bloc').setProperty('class', 'bloc-msg-erreur');
                }
                }else{
                  $('contactForm_lblInfo').set('html', 'Une erreur s\'est produite lors de l\'envoi');

                    $('contactForm_lblInfo').setProperty('class', 'msg-erreur');
                    $('contactForm_info_bloc').setProperty('class', 'bloc-msg-erreur');
                }
            },
            onFailure : function(instance){
                $('mise_a_jour_contact').style.display = "none";
                $('contactForm_lblInfo').set('html', 'L\'envoi de message est temporairement inaccessible. Merci de renouveler votre demande ultérieurement');

                $('contactForm_lblInfo').setProperty('class', 'msg-erreur');
                $('contactForm_info_bloc').setProperty('class', 'bloc-msg-erreur');
            },
            onException : function(headerName, value){
                $('mise_a_jour_contact').style.display = "none";
                $('contactForm_lblInfo').set('html', 'L\'envoi de message est temporairement inaccessible. Merci de renouveler votre demande ultérieurement');
                $('contactForm_lblInfo').setProperty('class', 'msg-erreur');
                $('contactForm_info_bloc').setProperty('class', 'bloc-msg-erreur');
            }
            }).post({'nom': $('contactFormTxtNom').value,
                'prenom': $('contactFormTxtPrenom').value,
                'pseudo': $('contactFormTxtPseudo').value,
                'email': $('contactFormTxtEmail').value,
                'sujet': $('contactFormTxtSujet').value,
                'message': $('contactFormTxtMessage').value,
                'destinataire' : dropdownValue,
                'cid' : scid
        });
    }else{
    $('mise_a_jour_contact').style.display = "none";
    }
    return false; 
}
