﻿
function mailok(mail)

{
	var reg = new RegExp("^[\\w-]+(\\.[\\w-]+)*@(\\w([\\w-]*\\w)?\\.)+\\w([\\w-]*\\w)?$", 'i');

	if(reg.test(mail))
	{
		return true ;
	}
	else
	{
		return false ;
	}
}



function trim(aString) {
    var regExpBeginning = /^\s+/;
    var regExpEnd = /\s+$/;  
    return aString.replace(regExpBeginning, '').replace(regExpEnd, '');
}

 
function verifForm(type){
    var values = {};
    var errs = [];
    if (type == 1) {
        //verif civilite
        var civilites = document.forms.formulaire.rciv;
        for (var i=0; i< civilites.length; i++) {
            if (civilites[i].checked == true )
            values['civ'] = civilites[i].value;
        }
        if (values['civ'] == undefined) {
            document.getElementById('titre_civ').style.color = 'red';
            errs.push('civilité');
        }
        else {
            document.getElementById('titre_civ').style.color = '';
        }
        
        //verif nom
        var nom =  trim(document.forms.formulaire.nom.value);
        if (nom.length > 0) {
            values['nom'] = encodeURIComponent(nom);
            document.getElementById('titre_nom').style.color = '';
        }
        else {
            document.getElementById('titre_nom').style.color = 'red';
            errs.push('nom');
        }
        
        //verif prenom
        var prenom =  trim(document.forms.formulaire.prenom.value);
        if (prenom.length > 0) {
            values['prenom'] = encodeURIComponent(prenom);
            document.getElementById('titre_prenom').style.color = '';
        }
        else {
            document.getElementById('titre_prenom').style.color = 'red';
            errs.push('prénom');
        }
        
        //verif société
        var societe =  trim(document.forms.formulaire.societe.value);
        if (societe.length > 0) {
            values['societe'] = encodeURIComponent(societe);
            document.getElementById('titre_societe').style.color = '';
        }
        else {
            document.getElementById('titre_societe').style.color = 'red';
            errs.push('société');
        }
       
        
        //verif adresse
        var adresse =  trim(document.forms.formulaire.adresse.value);
        if (adresse.length > 0) {
            values['adresse'] = encodeURIComponent(adresse);
            document.getElementById('titre_adresse').style.color = '';
        }
        else {
            document.getElementById('titre_adresse').style.color = 'red';
            errs.push('adresse');
        }
        
        //verif cp
        var cp =  trim(document.forms.formulaire.cp.value);
        if (cp.length > 0) {
            values['cp'] = encodeURIComponent(cp);
            document.getElementById('titre_cp').style.color = '';
        }
        else {
            document.getElementById('titre_cp').style.color = 'red';
            errs.push('cp');
        }
        
        //verif ville
        var ville =  trim(document.forms.formulaire.ville.value);
        if (ville.length > 0) {
            values['ville'] = encodeURIComponent(ville);
            document.getElementById('titre_ville').style.color = '';
        }
        else {
            document.getElementById('titre_ville').style.color = 'red';
            errs.push('ville');
        }
        
        //verif tel
        var tel =  trim(document.forms.formulaire.tel.value);
        if (tel.length > 0) {
            values['tel'] = encodeURIComponent(tel);
            document.getElementById('titre_tel').style.color = '';
        }
        else {
            document.getElementById('titre_tel').style.color = 'red';
            errs.push('téléphone');
        }
        
        //verif email
        var email =  document.forms.formulaire.email.value;
        if (mailok(email)) {
            values['email'] = encodeURIComponent(email);
            document.getElementById('titre_email').style.color = '';
        }
        else {
            document.getElementById('titre_email').style.color = 'red';
            errs.push('email');
        }
        
        var fElements = document.forms.formulaire.elements;
        
        //fax
        var fax = trim(fElements['fax'].value);
        if (fax.length>0) {
            values['fax'] = encodeURIComponent(fax);
        }
        
        //checkBOxes
       
        
        for (var j=0; j < fElements.length; j++) {
            if (fElements[j].type == 'checkbox' && fElements[j].checked == true){
                values[fElements[j].id] = '1';
            }
        }
        
        //fonction
        values['fonction'] = encodeURIComponent(fElements['fonction'].value);
        values['service'] = encodeURIComponent(fElements['service'].value);
        values['secteur'] = encodeURIComponent(fElements['secteur'].value);
        values['statut'] = encodeURIComponent(fElements['statut'].value);
        
        
        //message
        var message = trim(fElements['message'].value);
        if (message.length > 1000){
            message = message.substring(0,999);
        }
        if (message.length>0) {
            values['message'] = encodeURIComponent(message);
        }
        
        //nom formulaire
        values['formulaire'] = document.forms.formulaire.name;
    }
    else {
        //verif nom
        var nom =  trim(document.forms.formulaire.nom.value);
        if (nom.length > 0) {
            values['nom'] = encodeURIComponent(nom);
            document.getElementById('titre_nom').style.color = '';
        }
        else {
            document.getElementById('titre_nom').style.color = 'red';
            errs.push('votre nom');
        }
        //verif email
        var email =  document.forms.formulaire.email.value;
        if (mailok(email)) {
            values['email'] = encodeURIComponent(email);
            document.getElementById('titre_email').style.color = '';
        }
        else {
            document.getElementById('titre_email').style.color = 'red';
            errs.push('votre email');
        }
        
        //verif destinataire
        var destinataire =  trim(document.forms.formulaire.destinataire.value);
        if (destinataire.length > 0) {
            values['destinataire'] = encodeURIComponent(destinataire);
            document.getElementById('titre_destinataire').style.color = '';
        }
        else {
            document.getElementById('titre_destinataire').style.color = 'red';
            errs.push('nom du destinataire');
        }
        //verif email
        var emaildest =  document.forms.formulaire.emaildest.value;
        if (mailok(emaildest)) {
            values['emaildest'] = encodeURIComponent(emaildest);
            document.getElementById('titre_emaildest').style.color = '';
        }
        else {
            document.getElementById('titre_emaildest').style.color = 'red';
            errs.push('email du destinataire');
        }
        //verif message
        var message =  trim(document.forms.formulaire.message.value);
        if (message.length > 1000){
            message = message.substring(0,999);
        }
        if (message.length > 0) {
            values['message'] = encodeURIComponent(message);
            document.getElementById('titre_message').style.color = '';
        }
        else {
            document.getElementById('titre_message').style.color = 'red';
            errs.push('votre message');
        }
    
    }
    
    if (errs.length >0){
       alert('Veuillez remplir ces champs:\n' + errs.join('\n'));

    }
    else {
        validForm(values,type);

    }
    return false;
}


function validForm(values,type){
   var urlAjax = 'ajax/'+(type==1?'Formulaire':'Parrainage')+'.aspx' ;          
   var httpRequest = false;
   if (window.XMLHttpRequest) {
       httpRequest = new XMLHttpRequest();
   }
   else if (window.ActiveXObject) { // IE
       try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
       catch (e) {  try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP");}
       catch (e) {} }
   }
   if (!httpRequest) {
       alert('Abandon :( Impossible de créer une instance XMLHTTP');
       return false;
   }
   httpRequest.onreadystatechange = function() { validOuPas(httpRequest); };
   httpRequest.open('POST', urlAjax, true);
   httpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   
   var posts = '';
   for (var cle in values ) {
    posts += cle + '=' + values[cle] + '&';
   }
   posts = posts.substring(0,posts.length - 1);
   httpRequest.send(posts);
}

function validOuPas(xhr){      
    if(xhr.readyState == 4  ){    
        if (xhr.status < 400){
            alert('Votre demande a été prise en compte.'); 
            //alert( xhr.responseText); 
            document.location = document.URL;
        }
        else {
            //alert( xhr.responseText); 
            alert("Service momentanément indisponible.");
        }
        
    }
}

function displayExpert() {
    var texpert = document.getElementById('texpert');
    if (texpert.style['display'] == 'none') {
        texpert.style['display'] = 'block';
    }
    else {
        texpert.style['display']= 'none';
    }
}


