function VerifForm() {
    var emailDomain = /^[\w_\-\.]+@[\w_\-\.]+\.[a-zA-Z]{2,3}$/
    var alphanum = /[^0-9a-zA-Z _\-]/
    var f = document.catcher;
    if(f.user.value == '') {
        alert('Veuillez choisir votre nom d\'utilisateur !');
        f.user.focus();
        return false;
    }
    if(alphanum.test(f.user.value)) {
        alert('Vous avez utilisé des caractères interdits pour votre nom d\'utilisateur. Veuillez n\'utiliser que des chiffres et des lettres.');
        f.user.focus();
        return false;
    }
    if(f.user.value.length < 3) {
        alert('Votre nom d\'utilisateur est trop court, il doit faire au minimum 3 caractères !');
        f.user.focus();
        return false;
    }

    if(f.pass.value == '') {
        alert('Veuillez choisir votre mot de passe !');
        f.pass.focus();
        return false;
    }
    if(alphanum.test(f.pass.value)) {
        alert('Vous avez utilisé des caractères interdits pour votre mot de passe. Veuillez n\'utiliser que des chiffres et des lettres.');
        f.pass.focus();
        return false;
    }
    if(f.pass.value.length < 3) {
        alert('Votre mot de passe est trop court, il doit faire au minimum 3 caractères !');
        f.pass.focus();
        return false;
    }

    if(f.email.value == '') {
        alert('Veuillez saisir votre adresse email !');
        f.email.focus();
        return false;
    }
    if(!emailDomain.test(f.email.value)) {
        alert('L\'adresse email saisie semble être incorrecte !');
        f.email.focus();
        return false;
    }
    if(f.pass.value == f.user.value) {
        alert('Pour des raisons de sécurité, votre nom d\'utilisateur et votre mot de passe doivent être différents !');
        f.user.focus();
        return false;
    }
// doux jesus quel bordel !
    var email = f.email.value;
    // verif que le user n'est pas un compte systeme
    var sysuser = new Array('root','adm','bin','mail','news','info','dump','apache');
    var user = email.substring(0,email.indexOf('@',0));
    for(var i=0; i < sysuser.length; i++) {
        if(sysuser[i] == user) {
            alert('Les adresses emails systeme ne sont pas acceptees !');
            i = sysuser.length;
            f.email.focus();
            return false;
        }
    }

    var tab =  new Array('@link2mail.net','@yopmail.com','@yopmail.net','@yopmail.org','@jetable.com','@jetable.net','@jetable.org','@ephemail.net','@0-mail.com','@haltospam.com','@brefemail.com','@slopsbox.com','@kleemail.com','@divertimail.net','@trashmail.net','@dodgit.com','@pookmail.com','@spamgourmet.com','@mail2rss.org','@bugmenot.com','@spambox.us','@xblogz.org','@mailbidon.com','@kasmail.com','@tempomail.com','@tempomail.fr','@spamfr.com','@mailinator.com','@spamday.com','@trashymail.com','@spambox.us','@guerrillamail.com','@nybella.com','@mailincubator.com','@spammotel.com','@emailias.com','@sneakemail.com');
    for(var i=0;i< tab.length; i++) {
        var reg = new RegExp(tab[i],'i');
        if(email.match(reg)) {
            i = tab.length;
            alert('Les inscriptions avec des adresses email jetables ne sont pas acceptees !');
            f.email.focus();
            return false;
        }
    }

    var login = f.login.value;
    if(login == '5028194') {
	var tracker = f.tracker.value;
    }
    else {
	var tracker = f.regie.value + '-' + f.tracker.value;
    }
    var source = f.source.value;
    var blop = VerifEmailC(email,login,tracker,'','0',source);
    if(blop == true) {
	var user = f.user.value;
	var pass = f.pass.value;
	var preoffer = f.preoffer.value;
	blop = VerifCompte(email,user,pass,login,tracker,source,preoffer);
    }
    var pic = new Image();
    pic.src='/pic/?a=' + f.id_dispo.value + '&e=' + f.id_lightbox.value;
    return blop;
}

function VerifEmailC(mail,login,tracker,data,sendmail,source) {
     if(texte = file('/form/check_mail.php?mail='+escape(mail)+'&login='+login+'&tracker='+tracker+'&data='+data+'&sendmail='+sendmail+'&source='+source)) {
        if(texte != 'no') {alert(texte);}
        if(texte.indexOf('semble',0) > 0) {
            return false;
        }
        else {
            return true;
        }
     }
     else {
        alert('Votre adresse email semble invalide, veuillez corriger puis validez !');
        return false;
     }
}

function VerifCompte(email,user,pass,login,tracker,source,preoffer) {
     if(texte = file('/form/check_compte.php?email='+escape(email)+'&user='+user+'&pass='+pass+'&login='+login+'&tracker='+tracker+'&source='+source+'&preoffer='+preoffer)) {
        var rep = new RegExp("\\|","g");
        if(texte == 'ok') {
            return true;
        }
        else if(texte.match(rep)) {
            var tableau = texte.split(rep);
            var f = document.catcher;
            f.user.value = tableau[1];
            f.pass.value = tableau[2];
        }
        else {
	    var reg=new RegExp("[^a-zA-Z ]n", "g"); // j'ai pas trouvé comment remplacer directement le \n ??!!
	    alert(texte.replace(reg,"\n"));
            return false;
        }
     }
     else {
        alert('Ce pseudo est deja utilise, veuillez en choisir un autre');
        return false;
     }
}

function file(fichier) {
     if(window.XMLHttpRequest) { // FIREFOX 
          xhr_object = new XMLHttpRequest();
     }
     else if(window.ActiveXObject) { // IE
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     }
     else {
          return(false);
     }
     xhr_object.open("GET", fichier, false);
     xhr_object.send(null);
     if(xhr_object.readyState == 4) return(xhr_object.responseText);
         else return(false);
}


