// JavaScript Document

/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/

// Expressions régulières de test de types administratifs français
var regExpCodePostal=/^([A-Z]+[A-Z]?\-)?[0-9]{1,2} ?[0-9]{3}$/g;	// Accepte une chaine de type 'code postal'. Ex : F-33370 ou 33 370 ou 33370 ou F-1 370
var regExpTelephoneFixe=/^(01|02|03|04|05)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'fixe'. Ex : 01.34.12.52.30 ou 0134125230
var regExpTelephonePortable=/^(06)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;			// Accepte un numero de téléphone de type 'portable'.
var regExpTelephoneNational=/^(0[1234568])[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'national' y compris numéros en '08'.
var regExpFax=/^(0[1234568])?[0-9]{2}?[0-9]{2}?[0-9]{2}?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'national' y compris numéros en '08'.
var regExpTelephoneInternational=/^(\+[0-9]{2})[ \.\-]?[0-9][ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;	// Accepte un numero de téléphone de type 'international'. Ex : (+33) 1 34 12 52 30
var regExpEmailAdress=/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/g;	// Expressions régulières de test de types liés à internet
var regExpNumeric=/[0-9]+/g;	// Accepte une chaine numérique
var regExpTime=/^([0-9]|[01][0-9]|2[0123])\:([012345][0-9])(\:([012345][0-9])(.([0-9]{3})+)?)?$/g;		 // Accepte une chaine de type 'time'. Ex : 12:51 ou 21:45:35.654
var regExpFrenchDate=/^(0[1-9]|[12][0-9]|3[01])[\-](0[1-9]|1[012])[\-](19|20)\d\d$/g;  // date au format jj/mm/aaaa ou jj-mm-aaaa ou jj mm aaaa ou jj.mm.aaaa avec aaaa compris entre 1900 et 2099.

var regExpCompte = /^([0-9]{6}[ \.\-]?[a-zA-Z]{1})$/g;
var regExpUrl = /^(((ht|f)tp(s?))\:\/\/)?(([a-zA-Z0-9]+([@\-\.]?[a-zA-Z0-9]+)*)(\:[a-zA-Z0-9\-\.]+)?@)?(www.|ftp.|[a-zA-Z]+.)?[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,})(\:[0-9]+)?\/?/g;			// Accepte une url ftp, http ou https, avec ou sans login/mot de passe, avec ou sans numero de port. Ex : http://www.toto.com, ftp://toto:toto@ftp.toto.com:21/

var regExpFile = "^(.+)\.(.+)$";

//Les deux fonction suivantes servent à identifier si une chaine de caractère est compatible ou non avec une expression régulière passée en paramètre
function matchRegularExpression(valeur, regularExpression) {
	var resultat = valeur.match(regularExpression);
	if(resultat!=null && resultat.length==1) return true;
	else return false;
}

function doesntMatchRegularExpression(valeur, regularExpression) {
	if(matchRegularExpression(valeur, regularExpression)) return false;
	else return true;
}

function check_input(field_name, field_size, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
  //if (form.elements[field_name].type != "hidden") {
    var field_value = form.elements[field_name].value;
    if (field_value == '' || field_value.length < field_size) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_input_email(field_name, message_mail ) {
	if(doesntMatchRegularExpression(form.elements[field_name].value, regExpEmailAdress) ) {
		error_message = error_message + "* " + message_mail + "\n";
		error= true;
	}
}
function check_input_codepostal(field_name, message_cp ) {
	if(doesntMatchRegularExpression(form.elements[field_name].value, regExpCodePostal) ) {
		error_message = error_message + "* " + message_cp + "\n";
		error= true;
	}
}
function check_input_url(field_name, message_url ) {
	if(doesntMatchRegularExpression(form.elements[field_name].value, regExpUrl) ) {
		error_message = error_message + "* " + message_url + "\n";
		error= true;
	}
}
function check_input_telephone(field_name, message_telephone)	{
	if(doesntMatchRegularExpression(form.elements[field_name].value, regExpTelephoneNational)){
		error_message = error_message + "* " + message_telephone + "\n";
		error = true;
	} 
}
function check_input_portable(field_name, message_telephone)	{
	if(doesntMatchRegularExpression(form.elements[field_name].value, regExpTelephonePortable)){
		error_message = error_message + "* " + message_telephone + "\n";
		error = true;
	} 
}

function check_input_tel(field_name, message_telephone)	{
	if(doesntMatchRegularExpression(form.elements[field_name].value, regExpTelephonePortable)){
		if(doesntMatchRegularExpression(form.elements[field_name].value, regExpTelephoneNational)) {
			error_message = error_message + "* " + message_telephone + "\n";
			error = true;
		}
	} 
}
function check_radio(field_name, message, form_t) {
  var isChecked = false;
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var radio = form.elements[field_name];
    for (var i=0; i<radio.length; i++) {
      if (radio[i].checked == true) {
        isChecked = true;
        break;
      }
    }
    if (isChecked == false) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_select(field_name, field_default, message) {
  //if (document.forms[0].elements[field_name] && (document.forms[0].elements[field_name].type != "hidden")) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == field_default) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}


/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/

var form = "";
var submitted = false;
var error = false;
var error_message = "";

function verif_form_contact(form_name) {
  if (submitted == true) {
    alert("Formulaire deja envoye");
    return false;
  }
  
  error = false;
  form = form_name;
  
  error_message = "Merci de remplir ou corriger les champs suivants.\n\n";
  
  check_input("nom", '1', "Votre nom\n");  
  check_input("prenom", '1', "Votre prenom\n");
  
  if(form.cp.value != "") check_input_codepostal("cp", "Code postal invalide\n" );
  if(form.telephone.value != "") check_input_tel("telephone", "Telephone\n");
  
  check_input_email("email", "E-mail invalide\n" );
  check_input("message", '1', "Votre message\n");


  if (error == true) {
    alert(error_message);
    return false;
  } else {
    submitted = true;
    return true;
  }
}

/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/

var form = "";
var submitted = false;
var error = false;
var error_message = "";

function verif_form_viral(form_name) {
  if (submitted == true) {
    alert("Formulaire deja envoye");
    return false;
  }
  
  error = false;
  form = form_name;
  
  error_message = "Merci de remplir ou corriger les champs suivants.\n\n";
  
  check_input("dest_prenom", '1', "Le prenom de votre ami(e)\n"); 
  check_input_email("dest_email", "L'e-mail de votre ami(e)\n" );
  check_input("exp_prenom", '1', "Votre prenom\n"); 
  check_input_email("exp_email", "Votre e-mail\n" );
 

  if (error == true) {
    alert(error_message);
    return false;
  } else {
    submitted = true;
    return true;
  }
}

/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/

var form = "";
var submitted = false;
var error = false;
var error_message = "";

function verif_form_newsletter(form_name) {
  if (submitted == true) {
    alert("Formulaire deja envoye");
    return false;
  }
  
  error = false;
  form = form_name;
  
  error_message = "Merci de remplir ou corriger les champs suivants.\n\n";
  
  check_input_email("email", "Votre e-mail\n" );
  check_input("nom", '1', "Votre nom\n"); 
  check_input("prenom", '1', "Votre prenom\n"); 
 

  if (error == true) {
    alert(error_message);
    return false;
  } else {
    submitted = true;
    return true;
  }
}

/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/

var form = "";
var submitted = false;
var error = false;
var error_message = "";

function verif_form_voiture(form_name) {
  if (submitted == true) {
    alert("Formulaire deja envoye");
    return false;
  }
  
  error = false;
  form = form_name;
  
  error_message = "Merci de remplir ou corriger les champs suivants.\n\n";
  
  check_input("nom", '1', "Votre nom\n"); 
  check_input("prenom", '1', "Votre prenom\n"); 
  check_input_email("email", "Votre e-mail\n" );
  check_input("marque", '1', "La marque du vehicule\n"); 
  check_input("modele", '1', "Le modele du vehicule\n"); 
  check_input("serie", '1', "La serie du vehicule\n"); 
 
  if (error == true) {
    alert(error_message);
    return false;
  } else {
    submitted = true;
    return true;
  }
}

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}