/**
 * Vérification de la validité d'un e-mail
 */
function confirmForm (form, action)
{
        if (confirm("Etes-vous sur de vouloir\n" + action))
                form.submit() ;
}



/**
 * Vérification de la validité d'un e-mail
 */
function emailCorrect (email)
{
        // On vérifie que l'adresse est bien du schéma général, et qu'elle ne contient pas plusieurs points à la suite
	modele = /^[\da-z]([\d\w\.\-]*[\da-z])?@[\da-z][\d\w\.\-]*\.[a-z]{2,}$/i ;
	modele2 = /\.{2,}/g ;

	return (modele.test(email) && !modele2.test(email)) ;
}


/**
 * Fonction de base de vérification des informations d'un utilisateur
 */
function verif_form_user_base (form)
{
         messErreur = "" ;

        if (form.civilite.selectedIndex == 0)
                messErreur = "\t- " + lib_civilite + "\n" ;
        if (form.prenom.value 	== "")
                messErreur = messErreur + "\t- " + lib_prenom + "\n" ;
        if (form.nom.value == "")
                messErreur = messErreur + "\t- " + lib_nom + "\n" ;
        if (form.email.value == "")
                messErreur = messErreur + "\t- " + lib_email + "\n" ;
        if (form.tel.value == "")
                messErreur = messErreur + "\t- " + lib_tel + "\n" ;
        if (form.adresse.value == "")
                messErreur = messErreur + "\t- " + lib_adresse + "\n" ;
        if (form.cp.value == "")
                messErreur = messErreur + "\t- " + lib_cp + "\n" ;
        if (form.ville.value == "")
                messErreur = messErreur + "\t- " + lib_ville + "\n" ;

        return messErreur ;
}


/**
 * Vérification du formulaire d'ajout d'utilisateur
 */
function verif_form_add_user(form)
{
        messErreur = verif_form_user_base (form) ;

        if (form.newLogin.value == "")
                messErreur = messErreur + "\t- " + lib_login + "\n" ;
        if (form.pwd1.value == "")
                messErreur = messErreur + "\t- " + lib_motpass + "\n" ;
        if (form.pwd2.value == "")
                messErreur = messErreur + "\t- " + lib_motpass2 + "\n" ;

        if (messErreur != "")
                messErreur = message_1 + " : \n\n" + messErreur ;
        else if (!emailCorrect(form.email.value))
                messErreur = message_2 ;
        else if (form.pwd1.value != form.pwd2.value)
                messErreur = message_3 ;
        else if (form.pwd1.value.length < minSizePwd || form.pwd1.value.length > maxSizePwd)
                messErreur = message_16 ;
        else if (form.newLogin.value.length < minSizeLogin || form.newLogin.value.length > maxSizeLogin)
                messErreur = message_4 ;

        // Message d'alerte si besoin est
        if (messErreur != "")
                alert ("Erreur \n\n" + messErreur) ;
        else
                form.submit () ;
}


/**
 * Vérification du formulaire de modification d'informations d'utilisateur
 */
function verif_form_modif_user (form)
{
        messErreur = verif_form_user_base (form) ;

        if (messErreur != "")
                messErreur = message_1 + " : \n\n" + messErreur ;
        else if (!emailCorrect (form.email.value))
                messErreur = message_2 + "\n" ;

        if (messErreur != "")
                alert ("Erreur \n\n" + messErreur) ;
        else
                form.submit () ;
}


/**
 * Vérification du formulaire d'envoi de courrier électronique
 */
function verif_form_mailer (form)
{
        messErreur = verif_form_user_base (form) ;

        if (form.msg.value == "")
                messErreur = messErreur + "\t- " + lib_message + "\n" ;

        if (messErreur != "")
                messErreur = message_1 + " : \n\n" + messErreur ;
        else if (!emailCorrect (form.email.value))
                messErreur = message_2 + "\n" ;

        if (messErreur != "")
                alert ("Erreur \n\n" + messErreur) ;
        else
                form.submit () ;
}


/**
 * Vérification de la quantité d'articles ajoutés dans le caddy
 */
function verif_add_caddy (form, quantite)
{
        if (quantite.value < 0 || quantite.value > 999)
                alert (message_5) ;
        else
                form.submit () ;
}


/**
 * Version imprimable du devis en cours
 */
function popUp (url, from)
{
        here = "https://" + self.location.hostname + from ;
        if (self.location.protocol.indexOf ("http") == -1)
                self.parent.location = here ;
        else
                link = open (url, "Link", "toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=yes, resizable=yes, width=720, height=600, left=80, top=180") ;
}


/**
 * Vérification lors de la création ou la modification d'un produit
 */
function verif_form_modif_produit(form)
{
        message = "" ;
        cherche = /[^a-zA-Z0-9_\-]/g ;
        if (form.nouvelIdProd.value == "")
                message = "L'identifiant d'un produit ne peut être nul" ;
        else if (cherche.test(form.nouvelIdProd.value))
                message = "L'identifiant choisi contient des caractères invalides" ;
        if (message != "")
        {
                alert (message) ;
                form.nouvelIdProd.focus() ;
                form.nouvelIdProd.select() ;
        }
        else
                form.submit () ;
}

/**
 * Vérifie qu'une couleur est bien au format hexadécimal
 */
function test_couleur(couleur)
{
        cherche = /^[0-9a-fA-F]{6}$/ ;
        return cherche.test(couleur) ;
}


/**
 * Sélectionne le choix par défaut dans une liste de type <select>
 */
function choixParDefaut(leSelect)
{
        for(i = 0 ; i < leSelect.length ; i++)
                if(leSelect.options[i].defaultSelected == true)
                        leSelect.options[i].selected = true ;
}
