
//show products details
function showdet(n){
  var etat = document.getElementById(n).style.display;
  etat = (etat=='none') ? "block" : "none";
  document.getElementById(n).style.display = etat;
}


var submitOK = true;
	
	// Declaring required variables
	var digits = "0123456789";
	// non-digit characters which are allowed in phone numbers
	var phoneNumberDelimiters = "()- ";
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 10;
	
	function isInteger(s)
	{   var i;
	    for (i = 0; i < s.length; i++)
	    {   
	        // Check that current character is number.
	        var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	    // All characters are numbers.
	    return true;
	}
	
	function stripCharsInBag(s, bag)
	{   var i;
	    var returnString = "";
	    // Search through string's characters one by one.
	    // If character is not in bag, append to returnString.
	    for (i = 0; i < s.length; i++)
	    {   
	        // Check that current character isn't whitespace.
	        var c = s.charAt(i);
	        if (bag.indexOf(c) == -1) returnString += c;
	    }
	    return returnString;
	}
	
	function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}
	
	function Telcontrol(Cmp, Msg){
		var Phone=Cmp ;
		
		if ((Phone.value==null)||(Phone.value=="")){
			alert(Msg)
			Phone.focus()
			return false
		}
		if (checkInternationalPhone(Phone.value)==false){
			alert(Msg)
			Phone.value=""
			Phone.focus()
			return false
		}
		return true
	 }
		
	
	/*function Mailcontrol(Your){
		if(Your.value == ""){
		alert("Veuillez saisir votre adresse Email");
		Your.focus()
		return false;
		}
		else{
			var tableauaro = Your.value.split("@");
			var tableaupoint = Your.value.split(".");
			if(tableauaro.length == 1 || tableaupoint.length == 1){
				alert("Votre adresse email est invalide, merci de la saisir de nouveau");
				Your.value=""
				Your.focus()
				return false;
			}
			else{
				return true;
			}
		}
	}*/
	
	function Verifie(frm){
		if (frm.Nom_org.value == 0){
			alert ("Veuillez saisir votre Nom de societe");
			frm.Nom_org.focus();
			submitOK = false;
		}
		else{
			if (frm.Nom.value == 0){
				alert ("Veuillez saisir votre Nom");
				frm.Nom.focus();
				submitOK = false;
			}
			else{
				if (frm.Prenom.value == 0){
					alert ("Veuillez saisir votre PrÃ©nom");
					frm.Prenom.focus();
					submitOK = false;
				}
				else{
					if (frm.Adresse.value == 0){
						alert ("Veuillez saisir votre Adresse");
						frm.Adresse.focus();
						submitOK = false;
					}
					else{
						if (frm.CP.value == 0){
							alert ("Veuillez saisir votre code postale");
							frm.CP.focus();
							submitOK = false;
						}
						else{
							if (frm.Ville.value == 0){
								alert ("Veuillez saisir le nom de votre ville");
								frm.Ville.focus();
								submitOK = false;
							}
							else{
								if (Telcontrol(frm.Tel, 'Veuillez saisir un numero de TÃ©lÃ©phone valide') == false){
									submitOK = false;
								}
								else{
									if (frm.Destinations.value == 0){
										alert ("Veuillez saisir votre destination");
										frm.Destinations.focus();
										submitOK = false;
									}
									else{
										if (frm.Periode.value == 0){
											alert ("Veuillez metionner la pÃ©riode");
											frm.Periode.focus();
											submitOK = false;
										}
										else{
											if (frm.NbJour.value == 0){
												alert ("Veuillez saisir un nombre entier pour nombre de jour");
												frm.NbJour.focus();
												submitOK = false;
											}
											else{
												if (IsNumeric(frm.NbJour.value) == false){
													alert ("Veuillez saisir un nombre entier pour nombre de jour");
													frm.NbJour.focus();
													submitOK = false;
												}
												else{
													if (frm.Nb_participants.value == 0){
														alert ("Veuillez saisir un nombre entier pour le nombre de participant");
														frm.Nb_participants.focus();
														submitOK = false;
													}
													else{
														if (IsNumeric(frm.Nb_participants.value) == false){
															alert ("Veuillez saisir un nombre entier pour le nombre de participant");
															frm.Nb_participants.focus();
															submitOK = false;
														}
														else{
															if (frm.Lieu_depart.value == 0){
																alert ("Veuillez indiquer le lieu de depart");
																frm.Lieu_depart.focus();
																submitOK = false;
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		/*if ( Mailcontrol(frm.Email) == false){
			submitOK = false;
		}*/
	}

	function accSub() {
		if (submitOK == false) {
			submitOK = true;
			return(false); }
		else {
			return(true);
		}
	}
	


/*le formulaire de saisie d'une date est parametrable
	Ainsi on pourra utiliser la fonction saisie_date() pour avoir 
	des formulaires de saisies 	d'une date sans meme repeter les codes.
	Il suffit juste d'appeler la fonction mais seules les variables 
	sont différentes.
	
	La syntaxe est comme suit :
	function saisie_date(var_day,var_month,var_year,form_result,default_value,evt)	
	var_day=la variable jour;
	var_month=la variable month;
	var_year=la variable mois;
	form_result=la variable qui contiendra la date complete 
				c-a-d le resultat; en principe un champ de saisie
	default_value=la date par défaut.De format "mm/dd/yyyy"
	evt=chaine des événements ou autre ex:"disabled","OnClick='....'"
*/
	var min_day=01;
	var max_day=31;
	var month=new Array();
	month[0]='Janvier ';
	month[1]='F&eacute;vrier ';
	month[2]='Mars ';
	month[3]='Avril ';
	month[4]='Mai ';
	month[5]='Juin ';
	month[6]='Juillet ';
	month[7]='Ao&ucirc;t ';
	month[8]='Septembre ';
	month[9]='Octobre ';
	month[10]='Novembre ';
	month[11]='D&eacute;cembre ';
	var min_year=2000;
	var max_year=min_year+10;
	var nbJours= 7;
	
	/* Fonction qui donnera comme le mois + l'annee */
	function leMois(i,mois,dateDuJour) {
	var an,res;
		if (i<dateDuJour.getMonth())
			an=dateDuJour.getYear()+1
		else
			an=dateDuJour.getYear();
		if (an<1900) // sur netscape 4.5 ou ulterieur
			an=an+1900

		//modifs pour année sur 2 chiffres
		//an=an-2000;
		//if (an < 10) an = '0' + an;
		
		res=mois+an;
		return res;
	}
	
		
	/*fonction qui donnera la date complete en fonction 
		des variables jours,mois,et annee
		Le resultat sera affecté à "form_result"
	*/
	function verifier_date(form_day,form_month,form_year,form_result)
	{
		var indice_day=form_day.selectedIndex;
		var day=indice_day+1;
		var indice_month=form_month.options[form_month.selectedIndex].value;
		var text_month=form_month.options[form_month.selectedIndex].text;
		var positionEspace=text_month.indexOf(' ');
		var year=text_month.substring(positionEspace,text_month.length);
		var month=indice_month;
		
		var indice_year=form_year.selectedIndex;
		
		//alert(form_day.name + ' ' + form_month.name + ' ' + form_year.name);
		
		//var year=min_year+indice_year;
		//var year=min_year;
		if(month==2)
		{
			// si on est Fevrier 
			if(year%4==0)
			{
				if(day>29) form_day.selectedIndex=28;
			}
			else 
				if (day>28) form_day.selectedIndex=27;
		}
		else
		{
			if(month<7)	var reste=0;
			else 
				if(month>8) var reste=1;
				
			if((month<7)||(month>8))
			{
				if(month%2==reste)//dernier jour =30
					if(day>29) form_day.selectedIndex=29;
			}
		}
		form_year.value=year;
		form_result.value=form_day.options[form_day.selectedIndex].value+"/"+form_month.options[form_month.selectedIndex].value+"/"+Trim(year);
		
		// Selection automatique du date de retour...
		//désactiver cette fonction pour tous les mini-moteur : demande n 2291
		/*
		if ( form_day.name == 'DEPART_DD' && form_month.name == 'DEPART_MM' ) 
		{
			var d_day	= form_day.selectedIndex+1;
			var d_month	= form_month.options[form_month.selectedIndex].value-1;
			var d_year	= form_year.value;
			var secondDate = Ajout_date(d_day,d_month,d_year,nbJours);
			document.moteur.RETOUR_DD.selectedIndex = secondDate.getDate()-1;
			for (var ii = 0;ii<=11;ii++) 
			{
				if (document.moteur.RETOUR_MM.options[ii].value == secondDate.getMonth() + 1 ) 
					var currentCible = ii;
			}
			//Afficher_Jour_Aller_Vol(d_day,d_month,d_year);			
			
			document.moteur.RETOUR_MM.selectedIndex = currentCible;
			//document.moteur.RETOUR_YYYY.value = form_year.value;
			document.moteur.RETOUR_YYYY.value = secondDate.getYear();

			//Afficher_Jour_Retour_Vol(secondDate.getDate(),secondDate.getMonth(),form_year.value);
		}*/
	}//fin fonction verifier
	
	//Ajoute date de n (jours) jours
	function Ajout_date(d_day,d_month,d_year,jours) {
	
		var DaysOfMonths = Array(); //Nombre de jours par mois
		
		for (var i=0;i<=6;i++) {
			DaysOfMonths[i] = i%2 ? 30 : 31;
		}
		for (var i=7;i<=11;i++) {
			DaysOfMonths[i] = i%2 ? 31 : 30;
		}
		DaysOfMonths[1] = d_year%4 ? 28 : 29; // For fevrier only
		
		var C_Day 	= d_day + jours;
		var C_Month = d_month;
		var C_Year  = d_year;
		
		while ( C_Day > DaysOfMonths[C_Month] ) {
			C_Day	= C_Day - DaysOfMonths[C_Month];	
			C_Month++;
			if (C_Month == 12) break;
		}

		if (C_Month == 12) {
			C_Month = 0;
			C_Year++;
			C_Day--;
			var outputDate = Ajout_date(1,0,C_Year,C_Day);
		}
		else var outputDate = new Date(C_Year,C_Month,C_Day);
		
		return outputDate;
	}
	
	
	//fonction saisie_date
	function saisie_date(var_day,var_month,var_year,form_result,dateJour,default_value,evt)
	{	
		var date_default=new Date(default_value);
		var now=new Date(dateJour);
		//saisie jour
		document.write("<select  name='"+var_day+"' style='width:45px;' OnChange='verifier_date(form."+var_day+",form."+var_month+",form."+var_year+","+form_result+")'"+evt+">");
			for(i=min_day;i<=max_day;i++)
			{
				if(date_default.getDate()==i)
					document.write("<option value='" +i+"' selected>"+((i<10)?'0'+i:i));
				else
					document.write("<option value='" +i+"'>"+((i<10)?'0'+i:i));				
			}	
		document.write("</select>");
		
		//saisie mois
		document.write(	"<select  name='"+var_month+"' style='width:107px;' OnChange='verifier_date(form."+var_day+",this,form."+var_year+","+form_result+");'"+evt+">");		
			for(i=now.getMonth();i<month.length;i++)
			{
				if(date_default.getMonth()==i)		
					document.write("<option value='" +(i+1)+"' selected>"+leMois(i,month[i],now));
				else
					document.write("<option value='" +(i+1)+"'>"+leMois(i,month[i],now));
			}
			for(i=0;i<now.getMonth();i++)
			{
				if(date_default.getMonth()==i)		
					document.write("<option value='" +(i+1)+"' selected>"+leMois(i,month[i],now));
				else
					document.write("<option value='" +(i+1)+"'>"+leMois(i,month[i],now));
			}
		document.write("</select>");
		
		//saisie année
		if (date_default.getYear()<1900)
			annee=date_default.getYear()+1900
		else
			annee=date_default.getYear();
			document.write("<input type='hidden' name='"+var_year+"' value='"+annee+"'>");
	}//fin sisie_date
	
	//élimination des blancs n'importe où dans le champ
	function Trim(val)
	{
		var res='';
		for(i=0;i<val.length;i++)
		{
			if(!(val.charAt(i)==" "))
				res=res+val.charAt(i);
		}
		return res;
	}
	
	//retourne vraie si la valeur est numerique fausse sinon
	function IsNumeric(val)
	{
		var test=true;
		for(i=0;i<val.length;i++)
		{
			temp=val.charAt(i);
			if( !((temp>=0) && (temp<=9) ||(temp=='.')) )
			{
				test=false;
				break;
			}
		}
		return test;		
	}
	
	//teste un champ s'il est numerique au cours du saisie
	// si on specifie l'evenement OnChange
	function Test_Numeric(form)
	{
		form.value=Trim(form.value);
		if(!IsNumeric(form.value))
		{
			alert("La valeur doit être numerique");
			form.focus();
		}
	}
	
	//compte la valeur d'une chaine 'str' dans 'val'
	function Compter_Chaine(str,val)
	{
		var temp=val;
		var compteur=0;
		var indice=0;
		var pos=0;
		for(var i=0;i<temp.length;i++)
		{
			pos=temp.indexOf(str,0);
			if(pos!=-1)
			{
				compteur++;
				temp=temp.substring(pos+str.length,temp.length);
			}
		}
		return compteur;
	}
	
	function IsMail(val)
	{
		var test=false;
		if( (val.indexOf('@')!=-1) && (val.indexOf('@')!=val.length-1) &&  (val.indexOf('@')!=0))
		{
			if(Compter_Chaine('@',val)==1)
				test=true;
		}
		
		return test;
	}
	
	// Fonction qui retourne le prochain samedi <13 jours
function GetSaturday(maintenant,n)	//ajoute n jours au résultat final
{
	var Aujourdhui = new Date(maintenant);
	var jour = Aujourdhui.getDate();
	var mois = Aujourdhui.getMonth();
	var annee = Aujourdhui.getYear();
	var day = Aujourdhui.getDay();
	var date;date2="";
	
	if (annee<1900) //sur Netscape 4.5 ou ultérieur
		annee=annee+1900
		
	switch(day)
	{
		case 0 : //dimanche
			date2=( ((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee)
			date2=Ajout_date(jour,mois,annee,6+n) 
			return date2;
		
		case 1 : //lundi
			date2= (((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee)
			date2=Ajout_date(jour,mois,annee,12+n) 
			return date2;
		
		case 2 : //mardi
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee)
			date2=Ajout_date(jour,mois,annee,11+n) 
			return date2;
		
		case 3 : //mercredi
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,10+n) 
			return date2;
		
		case 4 : //jeudi
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee)
			date2=Ajout_date(jour,mois,annee,9+n) 
			return date2;
		
		case 5 : //vendredi
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee)
			date2=Ajout_date(jour,mois,annee,8+n) 
			return date2;
		
		case 6 : //samedi
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee)
			date2=Ajout_date(jour,mois,annee,7+n) 
			return date2;
		
		default :
		break;
	}
}
	
	// Fonction qui retourne le prochain Vendredi <13 jours
function GetFriday(maintenant,n)	//ajoute n jours au résultat final
{
	var Aujourdhui = new Date(maintenant);
	var jour = Aujourdhui.getDate();
	var mois = Aujourdhui.getMonth();
	var annee = Aujourdhui.getYear();
	var day = Aujourdhui.getDay();
	var date;date2="";
	
	if (annee<1900) //sur Netscape 4.5 ou ultérieur
		annee=annee+1900;
		
	if (day==0)
	{
		//case 0 : //dimanche
			date2=( ((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,5+n);
			return date2;
	}
		
		if (day== 1) //lundi
		{
			date2= (((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,11+n);
			return date2;
		}
		
		if (day== 2) //mardi
		{
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,10+n); 
			return date2;
		}
		
		if (day == 3) //mercredi
		{
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,9+n); 
			return date2;
		}
		
		if (day == 4)  //jeudi
		{
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,8+n); 
			return date2;
		}
		
		if (day== 5) //vendredi
		{
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,7+n); 
			return date2;
		}
		
		if (day== 6) //samedi
		{
			date2=(((jour<10) ? '0' + jour:jour) + '/' + ((mois<10) ? '0' + mois:mois) + '/' + annee);
			date2=Ajout_date(jour,mois,annee,6+n); 
			return date2;
		}
		
}
	
	
	// Fonction qui renvoie la date du jour
	
	function GetTodayDate(datejour)
	{
		Aoujourdhui = new Date(datejour);
		jour = Aoujourdhui.getDate();
		mois = Aoujourdhui.getMonth()+1;
		annee = Aoujourdhui.getFullYear();
		
		date=mois+'/'+((jour<10)?'0'+jour:jour)+'/'+annee
		return date;
	}
