function fenetre(url)
{
	fen = window.open(url,'fenetre','height=350,width=650,scrollbars=yes,resizeable=yes');
	fen.focus();
}

function fenetreCO(url)
{
	fen = window.open(url,'fenetreCO','height=450,width=770,scrollbars=yes,resizeable=yes');
	fen.focus();
}

function fenetreCabCO(url)
{
	fen = window.open(url,'fenetreCab','height=310,width=415,scrollbars=no,resizeable=yes');
	fen.focus();
}

function fenetre_in(url)
{
	fen = window.open(url,'fenetre2','height=350,width=650,scrollbars=yes,resizeable=yes');
	fen.focus();
}

function fenetrepont(url)
{
    fen = window.open(url,'fenetre','height=350,width=650,scrollbars=yes,resizeable=yes');
	fen.focus();
}

function ajouteAdultes(categorie,ligne,max,prix) 
	{
		 adultes = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Adultes'); 
		 remplis = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Rempli'); 
		 if (parseInt(remplis.value)<max) 
			{
			  adultes.value = parseInt(adultes.value)+1; 
			  remplis.value = parseInt(remplis.value)+1;

			  fixePrix(categorie,ligne,prix); 
			  return true; 
			}
		 else
		  {
		   alert("la cabine est pleine");
		   return false;
		  } 
	}
	
function suppriAdultes(categorie,ligne,prix)     
	{
		 remplis = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Rempli'); 
		 adultes = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Adultes'); 
		 if (adultes.value>0) 
			{
			 adultes.value = parseInt(adultes.value)-1;
			 remplis.value = parseInt(remplis.value)-1;

			 fixePrix(categorie,ligne,prix); 
			 return true; 
			}
	} 
	
function ajouteEnfants(categorie,ligne,max,prix) 
	{
		 remplis = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Rempli'); 
		 enfants = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Enfants');
		 if (parseInt(remplis.value)<max)
			 {
			  enfants.value = parseInt(enfants.value)+1;
			  remplis.value = parseInt(remplis.value)+1;

			  fixePrix(categorie,ligne,prix); 
			  return true;
			 }
		 else {
			alert("la cabine est pleine");
			return false; 
		      }
}

function suppriEnfants(categorie,ligne,prix)     
	{
		 enfants = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Enfants');
		 remplis = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Rempli'); 
		 
		 if (enfants.value>0)
			{ 

			 enfants.value = parseInt(enfants.value)-1;
			 remplis.value = parseInt(remplis.value)-1;
			 fixePrix(categorie,ligne,prix); 

			 return true;
			} 
	 }

	 
function fixeEnfants(categorie,ligne,max,prix)     
	{
		 enfants = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Enfants');
		 adultes = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Adultes');
		 remplis = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Rempli'); 
		 
		 remplis.value = parseInt(enfants.value)+parseInt(adultes.value);
		 alerter = false;
		 while (parseInt(remplis.value)>max) 
		 {
			alerter = true;
			 if (enfants.value>0)
				{ 
					 enfants.selectedIndex -= 1;
					 remplis.value = parseInt(remplis.value)-1;
				}
		 } 
		 fixePrix(categorie,ligne,prix); 	
		 if (alerter)
		 {
			alert("Le nombre de lits disponible pour cette categorie de cabine ne correspond pas a votre demande,\n\n" + "Veuillez modifier le nombre de participants par cabine");
			return false; 
	         }  
		 return true;
	 }
	 
function fixeAdultes(categorie,ligne,max,prix)     
	{
		 enfants = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Enfants');
		 adultes = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Adultes');
		 remplis = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Rempli'); 
		 
		 remplis.value = parseInt(enfants.value)+parseInt(adultes.value);
		 alerter = false;
		 while (parseInt(remplis.value)>max) 
		 {
			alerter = true;
			 if (adultes.value>0)
				{ 
					 adultes.selectedIndex -= 1;
					 remplis.value = parseInt(remplis.value)-1;
				}
		 } 
		 fixePrix(categorie,ligne,prix); 	
		 if (alerter)
		 {
			alert("Le nombre de lits disponible pour cette categorie de cabine ne correspond pas a votre demande,\n\n" + "Veuillez modifier le nombre de participants par cabine");
			return false; 
	         } 
		 return true;
	 }

function fixePrix(categorie,ligne,liste) 
	{
		remplis = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Rempli'); 
		enfants = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Enfants');
		adultes = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_Adultes'); 
		prix    = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+ligne+'_total');
                
		switch (parseInt(remplis.value))
		{

			case 0:
				prix.value = 0;
				break;
			case 1 : prix.value = liste[1];
				break;
			case 2 : prix.value = 2*liste[2];
				break;

			default :
				if (parseInt(adultes.value)>2)
				{
					prix.value = 2*liste[2];
					for(i=1;i<=parseInt(adultes.value)-2;i++)
					prix.value = parseFloat(prix.value)+parseFloat(liste[parseInt(2+i)]);
					prix.value = parseFloat(prix.value) + parseFloat(parseInt(enfants.value)*liste[0]);
				}
				else
				{
					prix.value = parseFloat(2*liste[2])+ parseFloat(liste[0]*(parseInt(adultes.value)+parseInt(enfants.value)-2));	
				}
				break;
		}
				
		deviscalc();
			
	}

function prixAssurance()
{
	cabine  = document.getElementById('Contenu_LblCabinePrix');
	options = document.getElementById('Contenu_total_options');
	pourcent= document.getElementById('Contenu_pourcent');
	prix    = document.getElementById('Contenu_AssurancePrixLbl');

	prix.innerHTML = arrondi((parseFloat(pourcent.value)*(parseFloat(cabine.innerHTML)+parseFloat(options.innerHTML)))/100,2);
	return parseFloat(prix.innerHTML);
}

function totalise(categorie)
{
		total   = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Total');
		cabine  = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_NbCabine');
        
		if (cabine != null){
			total.value = "0";

			for (i=0;i<parseInt(cabine.value);i++)
			{
				sstotal = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+i+'_total');
            	total.value = parseFloat(total.value)+parseFloat(sstotal.value);
			}
			return parseFloat(total.value);
		}
		else
			return 0;
}

function occupation(categorie)
{
		occupants = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Occupants');
		cabine  = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_NbCabine');
		
		if (cabine != null){
			occupants.value = "0";
			for (i=0;i<parseInt(cabine.value);i++)
			{
				sstotal = document.getElementById('Contenu_tableaudevis_Categorie_'+categorie+'_Ligne_'+i+'_Rempli');
				occupants.value = parseFloat(occupants.value)+parseFloat(sstotal.value);
			}
			return parseFloat(occupants.value);
		}
		else
			return 0;

}

function optionscalc(id,quantitemax)
{
		
		liste = document.getElementById('Contenu_quantite_option_'+id);
		prix  = document.getElementById('Contenu_prix_option_'+id);
		total  = document.getElementById('Contenu_total_option_'+id);


		if (liste.options.length !=0) anciennevaleur = liste.options[liste.options.selectedIndex].value;
		else anciennevaleur = 0;


		var i=0;
		var tabOption = new Array();
		
		cumulprix = 0;
		
		for(i=0;i<=parseInt(quantitemax);i++)
		{
			var opt   = document.createElement("option");
			opt.text  = i;
			opt.value = i;
			tabOption[i] = opt;
		}
			
		liste.options.length = tabOption.length;
		for(i=0; i<liste.options.length; i++)
		{
			 liste.options[i] = tabOption[i];
			if (i==anciennevaleur || (i == liste.options.length-1 && anciennevaleur >= liste.options.length)) 
			{
				liste.options.selectedIndex = i;
				cumulprix = parseFloat(prix.value)*i;
				total.innerHTML = cumulprix;
			}
		}

		return cumulprix; 

}

function optionselect(id,quantitemax,valeur)
{
		liste = document.getElementById('Contenu_quantite_option_'+id);
		prix  = document.getElementById('Contenu_prix_option_'+id);
		total = document.getElementById('Contenu_total_option_'+id);


		var i=0;
		var tabOption = new Array();
		
		cumulprix = 0;
		
		for(i=0;i<=parseInt(quantitemax);i++)
		{
			var opt   = document.createElement("option");
			opt.text  = i;
			opt.value = i;
			tabOption[i] = opt;
		}
		
		liste.options.length = tabOption.length;
		for(i=0; i<liste.options.length; i++)
		{
			liste.options[i] = tabOption[i];
			if (i== valeur || (i == liste.options.length-1 && valeur >= liste.options.length)) 
			{
				liste.options.selectedIndex = i;
				cumulprix = parseFloat(prix.value)*i;
				total.innerHTML = cumulprix;
			}
		}

		return cumulprix; 
}

function arrondi(nombre, chiffre)
{
	virgule=Math.pow(10,chiffre);
	valeur_arrondi=(Math.round(nombre*virgule))/virgule;
	return (valeur_arrondi);
}

function Monetik(valeur, decimal)
{
	return valeur.toFixed(decimal);
}

function deviscalc()
{
	// totalHT  = document.getElementById('Contenu_LblHTPrix');
	totalTTC = document.getElementById('Contenu_LblTTCPrix');
	totalPP  = document.getElementById('Contenu_LblPPPrix');

    nboccupants = occupcabine();
	totalHT = parseFloat(totalcabine()+populateoptions()+prixAssurance());
	totalTTC.innerHTML = totalHT;
	if (nboccupants != 0) totalPP.innerHTML = arrondi(parseFloat(totalTTC.innerHTML)/nboccupants,2);
	else totalPP.innerHTML = "0";
}

function deviscalcCO()
{
	cabine  = document.getElementById('Contenu_LblCabinePrix');
	//options = document.getElementById('Contenu_total_options');
	pourcent= document.getElementById('Contenu_pourcent');
	prix    = document.getElementById('Contenu_AssurancePrixLbl');

	prix.innerHTML = Monetik(arrondi((parseFloat(pourcent.value)*(parseFloat(cabine.innerHTML)))/100,2),2);
	Assu = parseFloat(prix.innerHTML);
	totalTTC = document.getElementById('Contenu_LblTTCPrix');
	totalTTC.innerHTML = Monetik(parseFloat(cabine.innerHTML) + Assu,2);

}

function devis_load()
{		
	// totalHT  = document.getElementById('Contenu_LblHTPrix');
	totalTTC = document.getElementById('Contenu_LblTTCPrix');
	totalPP  = document.getElementById('Contenu_LblPPPrix');

	nboccupants = occupcabine();
	totalHT  = parseFloat(totalcabine()+restauration()+prixAssurance());
	totalTTC.innerHTML = totalHT;
	if (nboccupants != 0) totalPP.innerHTML = arrondi(parseFloat(totalTTC.innerHTML)/nboccupants,2);
	else totalPP.innerHTML = "0";
}
