﻿function validFormulaire()
{
	var formulaireRempli = checkFormulaire();
	if(formulaireRempli)
	{
	    document.forms[0].elements['UCFormulaire1$FormValid'].value = true;
		document.forms[0].submit();
		
	}
}

function validFormulaireCoordonnees() {
    document.forms[0].elements['FormValid'].value = true;
        document.forms[0].submit();
    }

function checkFormulaire()
{
    SupprimerCaracteresSpeciaux();

    var civilite = document.forms[0].elements['UCFormulaire1$rdcivilite'];
    if (!civilite[0].checked && !civilite[1].checked && !civilite[2].checked)
    {
        alert('Veuillez sélectionner votre civilité');
        return false;  
                  
    }

    if ((document.getElementById('UCFormulaire1_txtNom').value == null) || (document.getElementById('UCFormulaire1_txtNom').value == ''))
    {
        alert('Veuillez saisir votre nom');
        return false;        
    }

    if ((document.getElementById('UCFormulaire1_txtPrenom').value == null) || (document.getElementById('UCFormulaire1_txtPrenom').value == ''))
    {
        alert('Veuillez saisir votre prénom');
        return false;        
    }

    if ((document.getElementById('UCFormulaire1_txtAdresse').value == null) || (document.getElementById('UCFormulaire1_txtAdresse').value == ''))
    {
        alert('Veuillez saisir votre adresse');
        return false;        
    }

    if ((document.getElementById('UCFormulaire1_txtCodePostal').value == null) || (document.getElementById('UCFormulaire1_txtCodePostal').value == ''))
    {
        alert('Veuillez saisir votre code postal');
        return false;        
    }

    if ((document.getElementById('UCFormulaire1_txtVille').value == null) || (document.getElementById('UCFormulaire1_txtVille').value == ''))
    {
        alert('Veuillez saisir votre ville');
        return false;        
    }

    if ((document.getElementById('UCFormulaire1_txtEmail').value == null) || (document.getElementById('UCFormulaire1_txtEmail').value == ''))
    {
        alert('Veuillez saisir correctement une adresse email');
        return false;        
    }
    else
    {
        if (!validMail(document.getElementById('UCFormulaire1_txtEmail').value))
            return false;
    }

    if (((document.getElementById('UCFormulaire1_txtTelFixe').value == null) || (document.getElementById('UCFormulaire1_txtTelFixe').value == '')) &&
    ((document.getElementById('UCFormulaire1_txtTelPortable').value == null) || (document.getElementById('UCFormulaire1_txtTelPortable').value == '')))
    {
        alert('Veuillez saisir correctement au moins un numéro de téléphone');
        return false;        
    }
    else
    {
        if (document.getElementById('UCFormulaire1_txtTelFixe').value != '')
        {
            if (validTel(document.getElementById('UCFormulaire1_txtTelFixe').value, 'telFixe')) {
                if (document.getElementById('UCFormulaire1_txtTelPortable').value != '') {
                    if (!validTel(document.getElementById('UCFormulaire1_txtTelPortable').value, 'telPortable'))
                        return false;
                }
            }
            else
                return false;
        }
        else
        {
            if (document.getElementById('UCFormulaire1_txtTelPortable').value != '')
            {
                if (!validTel(document.getElementById('UCFormulaire1_txtTelPortable').value, 'telPortable'))
                    return false;
            }
        }
    }

    return true;
}

// fonction permettant de valider que la chaine entree dans une textbox est bien un email
function validMail(mailAddress) {
	var maReg = new RegExp ( "^\\w[\\w+\.\-]*@[\\w\-]+\.\\w[\\w+\.\-]*\\w$", "gi" ) ;
	if (mailAddress.match(maReg))
	{
		return true;
	}
	else if (mailAddress != '')
	{
		alert('Veuillez saisir correctement une adresse email');
		document.getElementById('UCFormulaire1_txtEmail').value = '';
		return false;
	}
}

// fonction permettant de valider que la chaine entree dans une textbox est bien un numero de telephone
function validTel(numeroTel, idTel) {

    if (idTel == 'telFixe') {
        var lgFixe = document.getElementById('UCFormulaire1_txtTelFixe').value.length;
        if (lgFixe > 10) {
            alert('Veuillez saisir correctement au moins un numéro de téléphone');
            document.getElementById('UCFormulaire1_txtTelFixe').value = '';
            return false;
        }
    }

    if (idTel == 'telPortable') {
        var lgPortable = document.getElementById('UCFormulaire1_txtTelPortable').value.length;
        if (lgPortable > 10) {
            alert('Veuillez saisir correctement au moins un numéro de téléphone');
            document.getElementById('UCFormulaire1_txtTelPortable').value = '';
            return false;
        }
    }

    if (numeroTel.match(/^(01|02|03|04|05|06|07|08|09)[0-9]{8}/gi))
	{
		return true;
	}
	else if (numeroTel != '')
	{
		alert('Veuillez saisir correctement au moins un numéro de téléphone');
		if(idTel == 'telPortable')
		{
		    document.getElementById('UCFormulaire1_txtTelPortable').value = '';
			return false;
		}
		if(idTel == 'telFixe')
		{
		    document.getElementById('UCFormulaire1_txtTelFixe').value = '';
			return false;
		}
	}
}

// fonction qui reprend chaque champ texte du formulaire et en supprime les caractères spéciaux saisis
function SupprimerCaracteresSpeciaux()
{
	var reg=new RegExp("(&|<|>)*", "g");
	var listeInput = document.getElementsByTagName('INPUT');
	for(index=0 ; index<listeInput.length ; index++)
	{	
		if( listeInput[index].type == 'text' )
		{
			listeInput[index].value = listeInput[index].value.replace(reg, "" );
		}
	}
}

function afficheVille()
{
    var lstLocalite = document.getElementById('UCFormulaire1_lstCodePostal');
    var txtVille = document.getElementById('UCFormulaire1_txtVille');
	//on affiche le textebox et on cache la liste des localites
	if( lstLocalite.selectedIndex!= 0 )
	{
		txtVille.value = lstLocalite.options[lstLocalite.selectedIndex].text;
		lstLocalite.style.display='none';
		txtVille.visible = true;
		//supprime les autres localites pour eviter le conflit d'affichage dans le cas ou ya pls composants CPVille et on clique sur les aides
		for( indexLocalite=2 ; indexLocalite <lstLocalite.length ; indexLocalite++ )
		{
			opt = lstLocalite.options[indexLocalite];
			if (!opt.selected)
			{
				lstLocalite.options[indexLocalite] = null;
				indexLocalite--;
			}
		}
	}
}

