// <![CDATA[
var FTP="/gfm/10084/m";

//********************* POPUP ************************//
var newWin = null;
function closeWin(){
if (newWin != null){
if(!newWin.closed)
newWin.close();
}
}
function popUp(strURL,strType,strHeight,strWidth) {
closeWin();
var strOptions="";
if (strType=="console") strOptions="resizable,height="+strHeight+",width="+strWidth;
if (strType=="fixed") strOptions="scrollbars,status,height="+strHeight+",width="+strWidth;
if (strType=="elastic") strOptions="toolbar,menubar,scrollbars,resizable,location,height="+strHeight+",width="+strWidth;
newWin = window.open(strURL, 'newWin', strOptions);
newWin.focus();
}

//********************* FIN POPUP ************************//

function go_to_home()
{
	var currentLocation =  document.location.href;
	currentLocation = currentLocation.substring( 0 ,currentLocation.lastIndexOf( "/", 7 ) );
	window.location.href= currentLocation;
}

function Display (id)
{ 

if(document.getElementById(id).style.display == 'block')
	document.getElementById(id).style.display = 'none';
else
	document.getElementById(id).style.display = 'block'


}

function display_child_birthday(nb)
{
	for(i=0; i<4; i++)
	{
		if(i<nb)
		{	
			document.getElementById('div_child_'+i).style.visibility = 'visible';
		}
		else
		{
			document.getElementById('div_child_'+i).style.visibility = 'hidden';
		}	
	}
}

var ProductsToCompare = Array();

function ClickProduct (ProductRef)
{
   var found = false;
   for (var i = 0; i < ProductsToCompare.length; i++) {
      if (ProductRef == ProductsToCompare[i]) {
         ProductsToCompare.splice (i, 1);   // delete this product
         return true;
      }
   }

   if (ProductsToCompare.length >= 3) {
      alert ('Vous pouvez choisir seulement 2 ou 3 offres à comparer.');
      return false;
   }

   // add product
   ProductsToCompare.push (ProductRef)
   
   return true
}


function ViewCompIntra (offre,company)
{
	document.getElementById('SR_COMPARE').SELECTED_PRODUCTS.value = offre;
	document.getElementById('SR_COMPARE').SELECTED_COMPANY.value = company;
	document.getElementById('SR_COMPARE').DO_COMPARE.value = 'BRAND';
	document.forms['SR_COMPARE'].submit();
	
}

function ViewDetail (offre)
{
	document.getElementById('SR_COMPARE').SELECTED_PRODUCTS.value = offre;
	document.forms['SR_COMPARE'].submit();
	
}

function VerifCompare ()
{
   if (ProductsToCompare.length >0 && ProductsToCompare.length < 4 ) {
      var str = ProductsToCompare[0];
      for (var i = 1; i < ProductsToCompare.length; i++) {
         str = str + ';' + ProductsToCompare[i];
      }
      document.getElementById('SR_COMPARE').SELECTED_PRODUCTS.value = str;
      return true;
   }
   else {
      alert ('Vous devez choisir de 2 ou 3 offres à comparer.');
      return false;
   }
}

/**************************
Fonction commune
**************************/


function verif_date_valide (d, m, y)
{
   if (d < 1 || m < 1 || y < 1 || d > 31 || m > 12) {
      return false;
   }
   var mths = [31,28,31,30,31,30,31,31,30,31,30,31];
   var lastDay = 0;
   if (m != 2) lastDay = mths[m - 1];
   else if (y%4 != 0) lastDay = mths[1];
   else if (y%100 == 0 && y%400 != 0) lastDay = mths[1];
   else lastDay = mths[1] + 1;
    if (d > lastDay) {
      return false;
  }
  
   
  
   return true;
}


function verif_majeur(d, m, y)
{

   var dateToday = new Date();
   var age = (dateToday.getFullYear() - y) ;
   var mois_a = dateToday.getMonth()+1;
   var jour_a = dateToday.getDate();
  
if(age==17)
{
   if (mois_a < m)
   	age--;
   else if (mois_a == m && jour_a < d)
	age--;
	
}
		
   if (age < 17){
	return false;
	}
else
	return true;

}

/**************************
Formulaire full profile
**************************/

function Verif_modify_profile ()
{
   var form = document.SR_BESOIN;
   var title_ok = false;
   for (var i = 0; i < form.title.length; i++)
   {
      if (form.title[i].checked) {
         title_ok = true;
	 break;
      }
   }
   if (title_ok == false)
   {
     alert ("Vous devez choisir la civilité (M., Mme, Mlle)");
     return false;
   }
   
	if (form.last_name.value.length == 0)
	{
		alert ("Vous devez indiquer votre nom");
		return false;
	}
	if (form.first_name.value.length == 0)
	{
		alert ("Vous devez indiquer votre prénom");
		return false;
	}
	
	if (!form.CODE_POSTAL.value.match(/^(\d{2}|2A|2B)\d{3}$/i))
	{
		alert ("Vous devez indiquer votre code postal");
		return false;
	}

	if (form.email.value.length == 0 || !form.email.value.match(/^[a-z0-9]+([\.\-\_][a-z0-9]+)*@[a-z0-9]+([\.\-][a-z0-9]+)*\.[a-z]{2,}$/i))
	{
		alert ("Vous devez saisir une adresse E-Mail valide (prenom.nom@monemail.com).");
		return false;
	}
	if (form.phone.value.length == 0)
	{
		alert ("Vous devez indiquer votre numéro de téléphone (10 chiffres)");
		return false;
	}
   
 
	if (!form.birthday_jj.value.match(/^\d{2}$/i))
   {
      alert ("Merci d’indiquer le jour de votre date de naissance");
      return false;
   }
   if (!form.birthday_mm.value.match(/^\d{2}$/i))
   {
      alert ("Merci d’indiquer le mois de votre date de naissance");
      return false;
   }
   if (!form.birthday_aaaa.value.match(/^\d{4}$/i))
   {
      alert ("Merci d’indiquer l'année de votre date de naissance");
      return false;
   }	

	var bDay =parseInt(form.birthday_jj.value, 10);
	var bMonth =parseInt(form.birthday_mm.value, 10);
	var bYear =parseInt(form.birthday_aaaa.value, 10);

   if (verif_date_valide (bDay, bMonth, bYear) == false) {
      alert ("La date de naissance n'est pas possible :\nVérifiez la fin du mois...");
      return false;
   }

   if (form.regime.value == '')
   {
      alert ("Vous devez choisir un régime");
      return false;
   }

	if (form.conjoint[0].checked)
	{
		if (form.conjoint_sexe.value == '') {
			alert ("Vous devez indiquer le sexe de votre conjoint");
			return false;
		}
			   
	  if (!form.conjoint_birthday_jj.value.match(/^\d{2}$/i))
	   {
	      alert ("Merci d’indiquer le jour de la date de naissance de votre conjoint");
	      return false;
	   }
	   if (!form.conjoint_birthday_mm.value.match(/^\d{2}$/i))
	   {
	      alert ("Merci d’indiquer le mois de la date de naissance de votre conjoint");
	      return false;
	   }
	   if (!form.conjoint_birthday_aaaa.value.match(/^\d{4}$/i))
	   {
	      alert ("Merci d’indiquer l'année de la date de naissance de votre conjoint");
	      return false;
	   }

		var cDay =parseInt(form.conjoint_birthday_jj.value, 10);
		var cMonth =parseInt(form.conjoint_birthday_mm.value, 10);
		var cYear =parseInt(form.conjoint_birthday_aaaa.value, 10);

	   if (verif_date_valide (cDay, cMonth, cYear) == false) {
	      alert ("La date de naissance de votre conjoint n'est pas possible :\nVérifiez la fin du mois...");
	      return false;
	   }
		
		if (form.conjoint_regime.value == '') {
			alert ("Vous devez indiquer le régime de votre conjoint");
			return false;
		}
		
		if (form.conjoint_profession.value == '') {
			alert ("Vous devez indiquer la profession de votre conjoint");
			return false;
		}
		
	}

   return true;
}


/**************************
Formulaire Etape 1&2 - CM Global
**************************/

function valide_contact()
{
	 var form = document.contact;
	if (form.last_name.value.length == 0)
	{
		alert ("Vous devez indiquer votre nom");
		return false;
	}

	if (form.email.value.length == 0 || !form.email.value.match(/^[a-z0-9]+([\.\-\_][a-z0-9]+)*@[a-z0-9]+([\.\-][a-z0-9]+)*\.[a-z]{2,}$/i))
	{
		alert ("Vous devez saisir une adresse E-Mail valide (prenom.nom@monemail.com).");
		return false;
	}
	
	if (form.phone.value.length == 0)
	{
		alert ("Vous devez indiquer votre numéro de téléphone (10 chiffres)");
		return false;
	}
	
	return true;

}


function Verif_form_devis (mode)
{   
   var form = document.SR_BESOIN;
      var title_ok = false;
   
	var title_ok = false;
	for (var i = 0; i < form.title.length; i++)
	{
		if (form.title[i].checked)
		{
			title_ok = true;
			break;
		}
	}
	if (title_ok == false)
	{
		alert ("Merci d’indiquer votre civilité");
		return false;
	}	

	if (form.first_name.value.length == 0)
	{
		alert ("Merci d’indiquer votre prénom");
		return false;
	}
	
	if (form.last_name.value.length == 0)
	{
		alert ("Merci d’indiquer votre nom");
		return false;
	}
	
	if (form.ADRESSE1.value.length == 0)
	{
		alert ("Merci d’indiquer votre adresse");
		return false;
	}
	
	if (!form.CODE_POSTAL.value.match(/^(\d{2}|2A|2B)\d{3}$/i))
	{
		alert ("Merci d’indiquer votre code postal");
		return false;
	}	
	
	if (form.VILLE.value.length == 0 )
	{
		alert ("Merci d’indiquer votre ville");
		return false;
	}
	
	if (form.email.value.length == 0 || !form.email.value.match(/^[a-z0-9]+([\.\-\_][a-z0-9]+)*@[a-z0-9]+([\.\-][a-z0-9]+)*\.[a-z]{2,}$/i))
	{
		alert ("Merci d’indiquer une adresse E-Mail valide (prenom.nom@monemail.com).");
		return false;
	}
	
	if (form.phone.value.length == 0 || form.phone.value.match(/^00.*$/i))
	{
		alert ("Votre numéro de téléphone n'est pas valide");
		return false;
	}
	
	if (!form.birthday_jj.value.match(/^\d{2}$/i))
   {
      alert ("Merci d’indiquer le jour de votre date de naissance");
      return false;
   }
   if (!form.birthday_mm.value.match(/^\d{2}$/i))
   {
      alert ("Merci d’indiquer le mois de votre date de naissance");
      return false;
   }
   if (!form.birthday_aaaa.value.match(/^\d{4}$/i))
   {
      alert ("Merci d’indiquer l'année de votre date de naissance");
      return false;
   }	

	var bDay =parseInt(form.birthday_jj.value,10);
	var bMonth =parseInt(form.birthday_mm.value,10);
	var bYear =parseInt(form.birthday_aaaa.value,10);

   if (verif_date_valide (bDay, bMonth, bYear) == false) {
      alert ("La date de naissance n'est pas possible :\nVérifiez la fin du mois...");
      return false;
   }
	
/*
	if (!form.birthday.value.match(/^\d{2}\/\d{2}\/\d{4}$/i))
	{
		alert ("Vous devez indiquer votre date de naissance");
      return false;
	}

	var Tbirthday = form.birthday.value.split('/');
	var bDay = Tbirthday[0];
	var bMonth = Tbirthday[1];
	var bYear = Tbirthday[2];
	
   if (verif_date_valide (bDay, bMonth, bYear) == false) {
      alert ("La date de naissance n'est pas possible :\nVérifiez la fin du mois...");
      return false;
   }
   */

    if (verif_majeur (bDay, bMonth, bYear) == false) {
      alert ("Désolé mais vous devez avoir plus de 17 ans pour accéder à nos offres");
      return false;
   }

	if (form.regime.value == '')
   {
      alert ("Merci d’indiquer un régime");
      return false;
   }
	

   if (form.conjoint[0].checked)
   {	
	
		if (!form.conjoint_birthday_jj.value.match(/^\d{2}$/i))
	   {
	      alert ("Merci d’indiquer le jour de la date de naissance de votre conjoint");
	      return false;
	   }
	   if (!form.conjoint_birthday_mm.value.match(/^\d{2}$/i))
	   {
	      alert ("Merci d’indiquer le mois de la date de naissance de votre conjoint");
	      return false;
	   }
	   if (!form.conjoint_birthday_aaaa.value.match(/^\d{4}$/i))
	   {
	      alert ("Merci d’indiquer l'année de la date de naissance de votre conjoint");
	      return false;
	   }

		var cDay =parseInt(form.conjoint_birthday_jj.value, 10);
		var cMonth =parseInt(form.conjoint_birthday_mm.value, 10);
		var cYear =parseInt(form.conjoint_birthday_aaaa.value, 10);

	   if (verif_date_valide (cDay, cMonth, cYear) == false) {
	      alert ("La date de naissance de votre conjoint n'est pas possible :\nVérifiez la fin du mois...");
	      return false;
	   }
		
		if (verif_majeur (cDay, cMonth, cYear) == false) {
      alert ("Désolé mais votre conjoint(e) doit avoir plus de 17 ans pour accéder à nos offres");
      return false;
		}
	}
	

	// enfant
	var nb_children = form.nb_children.value;

	if (nb_children != 0 || nb_children != "")
	{	 
		for (i=0; i<nb_children; i++)
		{
			var num_child = i+1;
			var birthday_child_jj = eval('form.child_birthday_jj_' + i + '.value');
			var birthday_child_mm = eval('form.child_birthday_mm_' + i + '.value');
			var birthday_child_aaaa = eval('form.child_birthday_aaaa_' + i + '.value');
				
			if (!birthday_child_jj.match(/^\d{2}$/i))
			{
				alert ("Merci d’indiquer le jour de naissance de l'enfant " + num_child);
				return false;
			}
			if (!birthday_child_mm.match(/^\d{2}$/i))
			{
				alert ("Merci d’indiquer le mois de naissance de l'enfant " + num_child);
				return false;
			}
			if (!birthday_child_aaaa.match(/^\d{4}$/i))
			{
				alert ("Merci d’indiquer l'année de naissance de l'enfant " + num_child);
				return false;
			}
			
			//verif age
			var eDay = parseInt(birthday_child_jj, 10);
			var eMonth = parseInt(birthday_child_mm, 10);
			var eYear = parseInt(birthday_child_aaaa, 10);
			
			if (verif_date_valide (eDay, eMonth, eYear) == false) {
				alert ("La date de naissance de l'enfant "+ num_child +" n'est pas possible :\nVérifiez la fin du mois...");
				return false;
			}
			
		}
	}	
		
		/*
		if (!form.conjoint_birthday.value.match(/^\d{2}\/\d{2}\/\d{4}$/i))
		{
			alert ("Vous devez indiquer la date de naissance de votre conjoint");
			return false;
		}
		
		var Tconjoint_birthday = form.conjoint_birthday.value.split('/');
		var cDay = Tconjoint_birthday[0];
		var cMonth = Tconjoint_birthday[1];
		var cYear = Tconjoint_birthday[2];

	   if (verif_date_valide (cDay, cMonth, cYear) == false) {
	      alert ("La date de naissance de votre conjoint n'est pas possible :\nVérifiez la fin du mois...");
	      return false;
	   }
		*/
   
	
	if (!form.start_date_jj.value.match(/^\d{2}$/i))
	{
		alert ("Merci d’indiquer le jour de la date de prise d'effet souhaitée");
		return false;
	}
	if (!form.start_date_mm.value.match(/^\d{2}$/i))
	{
		alert ("Merci d’indiquer le mois de la date de prise d'effet souhaitée");
		return false;
	}
	if (!form.start_date_aaaa.value.match(/^\d{4}$/i))
	{
		alert ("Merci d’indiquer l'année de la date de prise d'effet souhaitée");
		return false;
	}

	var sDay =parseInt(form.start_date_jj.value, 10);
	var sMonth =parseInt(form.start_date_mm.value, 10);
	var sYear =parseInt(form.start_date_aaaa.value, 10);
	
	/*
	if (!form.start_date.value.match(/^\d{2}\/\d{2}\/\d{4}$/i))
	{
		alert ("Vous devez indiquer la date de prise d'effet");
		return false;
	}
	
	var Tstart_date = form.start_date.value.split('/');
	var sDay = Tstart_date[0];
	var sMonth = Tstart_date[1];
	var sYear = Tstart_date[2];
	*/
	
	if (verif_date_valide (sDay, sMonth, sYear) == false) {
		alert ("La date de prise d'effet n'est pas possible :\nVérifiez la fin du mois...");
		return false;
	}
	
	var currentDate = new Date();
   var startDate = new Date(sYear, sMonth-1, sDay+1);   // le jour suivant la date donnee à 0 H 0 M

   if (startDate < currentDate)   // dans le passé ?
   {
      alert ("Date invalide : la date de début de la garantie commence au plus tot aujourd'hui.");
      return false;
   }

   return true;
}
//]]>
