// fonctions javascript qui ne nécessitent pas de message donc pas de customisation par langue

// validite d'un numero de telephone
function IsValid_Tel(telephone){
 	 
//   Format plusieurs espaces en début et fin pas d'esspace entre
// 	 var exp1=new RegExp("^( )*[0-9]{2,2}(\/|-| )[0-9]{2,2}(\/|-| )[0-9]{2,2}(\/|-| )[0-9]{2,2}(\/|-| )[0-9]{2,2}( )*$");

//  Pas d'espaces en debut et fin  des espaces entre
// 	var exp1=new RegExp("^( )*[0-9]{2,2}(\/|-| )?[0-9]{2,2}(\/|-| )?[0-9]{2,2}(\/|-| )?[0-9]{2,2}(\/|-| )?[0-9]{2,2}( )*$");
 	var exp1=new RegExp("^[0-9]{2,2}(\/|-| )?[0-9]{2,2}(\/|-| )?[0-9]{2,2}(\/|-| )?[0-9]{2,2}(\/|-| )?[0-9]{2,2}$");
	if ( exp1.test(telephone) )
   	{
   		return true
   	}
  	return false
    
}
// validite d'un numero de telephone
function IsValid_all_Tel(telephone){
 	 
//   Format plusieurs espaces en début et fin pas d'esspace entre
// 	 var exp1=new RegExp("^( )*[0-9]{2,2}(\/|-| )[0-9]{2,2}(\/|-| )[0-9]{2,2}(\/|-| )[0-9]{2,2}(\/|-| )[0-9]{2,2}( )*$");

//  Pas d'espaces en debut et fin  des espaces entre
 	var exp1=new RegExp("^([0-9]*(\\/|-| )?)+$");
	if ( exp1.test(telephone) )
   	{
   		return true
   	}
  	return false
    
}
// validite d'un e-mail	
function VerifMail(email)
{
	return emailCheck(email.value);
	a = email.value;
	valide1 = false;
	
	for(var j=1;j<(a.length);j++)
	{
		if(a.charAt(j)=='@')
		{
			if( j < (a.length-4 ) )
			{
				for(var k=j ; k < (a.length-2) ; k++)
				{
					if(a.charAt(k)=='.')
					{
						valide1=true;
					}
				}
			}
		}
	}
	return valide1;
}

// validite d'un e-mail	pour le login
// - Les utilisateurs Jouve se connectent en utilisant un login LDAP qui n'a pas
// de format d'email
// => on ne controle le format de l'email que si le login contient un @	
function VerifMailPourLogin(email)
{
	// format du mail controlé : au moins 1 car puis @ puis au moins 1 car puis . puis au moins 1 car
	if(email.value.match(/^\S*@\S*$/))
	{//contient un @
		return emailCheck(email.value);
//		if(email.value.match(/^\S+@\S+\.\S+$/))
//			return true; // respecte le format indiqué
//		else
//			return false; // ne respecte pas le format indiqué
	}
	else // ne contient pas de @
		return true;
}

// validite d'un code postal	
function old_IsValid_code_postal(code_postal)
{
 	var exp1=new RegExp("^(0[1-9]|1[0-9]|((2)(A|a|B|b|[1-9])|([3-9])[0-9]))([0-9]{3,3})$");

	if ( exp1.test(code_postal) )
   	{
   		return true
   	}
  	return false
}

// validite d'un code postal
// ref B211
// on controle 5 caractères alpha numérique
// 2 premiers caractères au code mineralogique du département les 3 suivants à un positionnement ordre alpha
// exception CORSE 2A 2B
// numeros de départment 01...19 2A 2B 21....95 971...975 98(4..8)
// TL 17/10/2007 : le code postal des 2 departements corses commence toujours par 20
function IsValid_code_postal(code_postal)
{
// TL 17/10/2007 
// 	var exp1=new RegExp("^(0[1-9]|1[0-9]|((2)(A|a|B|b|[1-9]))|(([3-8])[0-9])|((9)[0-5,7-8]))([0-9]{3,3})$");
 	var exp1=new RegExp("^(0[1-9]|(([1-8])[0-9])|((9)[0-5,7-8]))([0-9]{3,3})$");

	var ret = true;
	
	if ( code_postal.length != 5 )
	{
		ret = false;
	}
	else
	{
		ret = exp1.test(code_postal) ;
		
	}
  	return ret;
}

	
//test une chaine de caracteres selon l'argument( elle peut etre numerique alphanumerique ..)
// chaine : chaine de caracteres
// val : des chiffres ou des lettres ou les deux
function isValid(chaine,val) 
{
  if (chaine == "") return true;
  for (i=0; i< chaine.length; i++) {
    if (val.indexOf(chaine.charAt(i),0) == -1) return false;
  }
  return true;
}

  function emailCheck(emailStr)
  {
  	var emailPat=/^(.+)@(.+)$/
  	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
//  	var validChars="\[^\\s" + specialChars + "\]"
  	var validChars="[a-zA-Z0-9\-_]" // nj'autorise pas les lettres accentuees
  	
//  	var quotedUser="(\"[^\"]*\")"
  	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  	var atom=validChars + '+'
//  	var word="(" + atom + "|" + quotedUser + ")"
  	var word= atom
  	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
  	var matchArray=emailStr.match(emailPat)
  
  //  var re = /^([a-zA-Z0-9_])([a-zA-Z0-9_\.\-])*\@(([a-zA-Z0-9_\-])+\.)+([a-zA-Z0-9]{2,4})$/;
  	
  	var resultat= false;
  
  	if (matchArray==null)
  	{
//    	return "pas_valide";
    	return resultat;
  	}
  
  	var user=matchArray[1]
  	var domain=matchArray[2]
  
  	// See if "user" is valid
  	if (user.match(userPat)==null)
  	{
      	// user is not valid
//      	return "pas_valide_user";
    	return resultat;
  	}
  
  	var IPArray=domain.match(ipDomainPat)
  	if (IPArray!=null)
  	{
      	// this is an IP address
  		for (var i=1;i<=4;i++)
  		{
  	    	if (IPArray[i]>255)
  			{
//	        	return "pas_valide_IP";
		    	return resultat;
  			}
  		}
//     	return 'ok';
    	return true;
  	}
  
  	// Domain is symbolic name
  	var domainArray=domain.match(domainPat)
  	if (domainArray==null)
  	{
//     	return "pas_valide_domaine";
    	return resultat;
  	}
  
  	var atomPat=new RegExp(atom,"g");
  	var domArr=domain.match(atomPat);
  	var len=domArr.length;
  	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4)
  	{
   		// the address must end in a two letter, a three letter or a four letter word.
//   		alert("Le courriel doit se terminer soit par trois ou quatre lettres de domaine (.info,.com,.net,.org,...), soit par les deux lettres du pays (.fr,.de.,us,...).")
//     	return "pas_valide_suffixe";
    	return resultat;
  	}
  
  	// Make sure there's a host name preceding the domain.
  	if (len<2)
  	{
//  		var errStr="Le nom de domaine du courriel n'est pas précisé."
//    	return "pas_valide_domaine_vide";
    	return resultat;
  	}
  
  	// If we've gotten this far, everything's valid!
//  	return 'ok';
   	return true;
  }            

  function isVide( val)
  {
    var espaces= /^([\s]*)$/;
    if( val.match( espaces) )
      return true;
    else 
      return false;
  }

// Affichage des conditions générales de vente  
function aff_cond_gen_vente()
{
	window.open("cond_gen_vente.php?_popup=YES","cond_gen_vente","width=600,height=500,scrollbars=yes,resizable=yes");
}
