// JavaScript Document
function checkEmail(email) {
  var proto  = "(mailto:)?";
  var usr    = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
  var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
  var regex  = "^" + proto + "?" + usr + "\@" + domain + "$";

  var rgx    = new RegExp(regex);
  return rgx.exec(email) ? true : false;
}
function VerifNewMdp(frm_new_pass){
	var mdp=$("#mdp",frm_new_pass);
	var confmdp=$("#confmdp",frm_new_pass);
	if( jQuery.trim( mdp.val() ).length < 6 ){
		mdp.css("background-color","#fbe3e4");
		alert("Le mot de passe doit faire 6 caractères minimum");
		return false;
	}
	else if( jQuery.trim( mdp.val() ) != jQuery.trim( confmdp.val() ) ){
		mdp.css("background-color","#fbe3e4");
		confmdp.css("background-color","#fbe3e4");
		alert("Confirmation du mot de passe invalide");
		return false;
	}
	return true;
	
}
function ValidLogin(frmlog){
	
	var mail=$("input.login_mail",frmlog);
	var mdp=$(".login_mdp",frmlog);
	var BReturn = true;

	if ( jQuery.trim(mail.val()).length == 0 || checkEmail(jQuery.trim(mail.val()))==false ) {
			mail.css("background-color","#fbe3e4");
			mail.val("Email");
			mdp.val("Mot de passe");
			BReturn = false;
	}
	else if ( jQuery.trim(mdp.val()).length==0 ) {
			mdp.css("background-color","#fbe3e4");
			BReturn = false;
	}
	if(!BReturn){
		alert("Email et/ou Mot de passe invalide");	
	}
	return BReturn;
}
function ValidFormContact(frmcontact){
	
	var nom=$("input#nom",frmcontact);
	var tel=$("input#tel",frmcontact);
	var mail=$("input#email",frmcontact);
	var message=$("textarea#message",frmcontact);
	var BReturn = true;
	
	if ( jQuery.trim(nom.val()).length == 0 || isNaN(jQuery.trim(nom.val()))==false ) {
		nom.css("background-color","#fbe3e4");
		BReturn = false;
	}
	else{
		nom.css("background-color","#ffffff");
	}
	if ( jQuery.trim(tel.val()).length == 0 || isNaN(jQuery.trim(tel.val()))==true ) {
		tel.css("background-color","#fbe3e4");
		BReturn = false;
	}
	else{
		tel.css("background-color","#ffffff");
	}
	if ( jQuery.trim(mail.val()).length == 0 || checkEmail(jQuery.trim(mail.val()))==false ) {
		mail.css("background-color","#fbe3e4");
		BReturn = false;
	}
	else{
		mail.css("background-color","#ffffff");
	}
	if ( jQuery.trim(message.val()).length == 0 ) {
		message.css("background-color","#fbe3e4");
		BReturn = false;
	}
	else{
		message.css("background-color","#ffffff");
	}

	if(!BReturn){
		alert("Veuilez renseigner les champs obligatoires");	
		return BReturn;
	}
	else{
		var uword = hex_md5(document.getElementById(jfldid).value);
		if (uword==cword[anum-1]) {
		return BReturn;
		}
		else {
		alert("Mauvais code de sécurité");
		document.getElementById(jfldid).focus();
		BReturn = false;
		}
		return BReturn;
	}
}



function VerifInscNews(frm_insc_news){
	var mail = $("input#insc_news_mail",frm_insc_news)
	if(checkEmail(mail.val())==false){
		mail.css("background-color","#fbe3e4");
		mail.val("Votre Email...");
		alert("Email invalide");	
		return false;
	}
	else{
	
		return true;	
	}
}
function VerifInscPro(frm_insc_pro){
	var Error = false;
	
	$(".oblig",frm_insc_pro).each(function(){
		if($(this).val() == ""){
			$(this).css("background-color","#fbe3e4");
			Error = true;
		}
	});
	if(Error){
		alert("Remplir les champs obligatoires");
	}
	else{
		var code = $("#code_ent",frm_insc_pro);
		var email = $("#email",frm_insc_pro);
		var mdp = $("#mdp",frm_insc_pro);
		var confmdp = $("#confmdp",frm_insc_pro);
		var fix = $("#fix",frm_insc_pro);
		
		if( ValidSirenOrSiret( jQuery.trim( code.val() ) ) == false ){
			Error = true;
			code.css("background-color","#fbe3e4");
			alert("Numéro SIREN ou SIRET invalide");
		}
		else if( checkEmail( jQuery.trim( email.val() ) ) == false){
			Error = true;
			email.css("background-color","#fbe3e4");
			alert("E-mail invalide");
		}
		else if( jQuery.trim( mdp.val() ).length < 6 ){
			Error = true;
			mdp.css("background-color","#fbe3e4");
			alert("Le mot de passe doit faire 6 caractères minimum");
		}
		else if( jQuery.trim( mdp.val() ) != jQuery.trim( confmdp.val() ) ){
			Error = true;
			mdp.css("background-color","#fbe3e4");
			confmdp.css("background-color","#fbe3e4");
			alert("Confirmation du mot de passe invalide");
		}
		else if( isNaN( jQuery.trim( fix.val() ) ) ){
			Error = true;
			fix.css("background-color","#fbe3e4");
			alert("Téléphone fixe invalide");
		}
	}
	return !Error;
}
function redimImage(inImg, inMW, inMH, ThisImg)
{
  // Cette function recoit 3 parametres
  // inImg : Chemin relatif de l'image
  // inMW  : Largeur maximale
  // inMH   : Hauteur maximale
  // ThisImg : l'objet img que l'on redimentionne
  
  var maxWidth = inMW;
  var maxHeight = inMH;
  // Declarations des variables "Nouvelle Taille"
  var dW = 0;
  var dH = 0;
  // Declaration d'un objet Image
  var oImg = new Image();
  // Affectation du chemin de l'image a l'objet
  oImg.src = inImg;
  // On recupere les tailles reelles
  var h = dH = oImg.height;
  var w = dW = oImg.width;
  // Si la largeur ou la hauteur depasse la taille maximale
  if ((h >= maxHeight) || (w >= maxWidth)) {
    // Si la largeur et la hauteur depasse la taille maximale
    if ((h >= maxHeight) && (w >= maxWidth)) {
      // On cherche la plus grande valeur
      if (h > w) {
        dH = maxHeight;
        // On recalcule la taille proportionnellement
        dW = parseInt((w * dH) / h, 10);
      } else {
        dW = maxWidth;
        // On recalcule la taille proportionnellement
        dH = parseInt((h * dW) / w, 10);
      }
    } else if ((h > maxHeight) && (w < maxWidth)) {
      // Si la hauteur depasse la taille maximale
      dH = maxHeight;
        // On recalcule la taille proportionnellement
      dW = parseInt((w * dH) / h, 10);
    } else if ((h < maxHeight) && (w > maxWidth)) {
      // Si la largeur depasse la taille maximale
      dW = maxWidth;
        // On recalcule la taille proportionnellement
      dH = parseInt((h * dW) / w, 10);
    }
  }
  // on redimentionne l'image du document
  ThisImg.width(dW);
  ThisImg.height(dH);
 }
 function EstSirenValide(siren) {
    var estValide;
    if ( isNaN(siren) )
      estValide = false;
    else {
      // Donc le SIREN est un numérique à 9 chiffres
      var somme = 0;
      var tmp;
      for (var cpt = 0; cpt<siren.length; cpt++) {
        if ((cpt % 2) == 1) { // Les positions paires : 2ème, 4ème, 6ème et 8ème chiffre
          tmp = siren.charAt(cpt) * 2; // On le multiplie par 2
          if (tmp > 9) {
            tmp -= 9;	// Si le résultat est supérieur à 9, on lui soustrait 9
		  }
          somme += parseInt(tmp);
        }
        else{
          tmp = siren.charAt(cpt);
          somme += parseInt(tmp);
		}
      }
      if ((somme % 10) == 0)
        estValide = true;	// Si la somme est un multiple de 10 alors le SIREN est valide 
      else
        estValide = false;
    }
    return estValide;
  }
 function EstSiretValide(siret) {
    var estValide;
    if ( isNaN(siret) )
      estValide = false;
    else {
       // Donc le SIRET est un numérique à 14 chiffres
       // Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
       // correspondent au numéro d'établissement
       // et enfin le dernier chiffre est une clef de LUHN. 
      var somme = 0;
      var tmp;
      for (var cpt = 0; cpt<siret.length; cpt++) {
		if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc... 
          tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
		  if (tmp > 9) {
            tmp -= 9;	// Si le résultat est supérieur à 9, on lui soustrait 9
		  }
		  somme += parseInt(tmp);
		}
       else{
        tmp = siret.charAt(cpt);
		somme += parseInt(tmp);
	   }
      }
      if ((somme % 10) == 0)
        estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide 
      else
        estValide = false;
    }
    return estValide;
  }
 function ValidSirenOrSiret(code){
 	if(code.length == 9){
		return EstSirenValide(jQuery.trim(code));
	}
	else if(code.length == 14){
		return EstSiretValide(jQuery.trim(code));
	}
	else{
		alert("Numéro SIREN ou SIRET invalide");
		return false;
	}
 }
