﻿<!--
//pour ne pas écrire les cookies par défaut
	var defSM = "120";	
	var defNbO = "3";	
	var defEmet = "EMETTEUR1";	
	var defST = "700";
	var defNT = "Terrain6";		
	var defM = "1";
	var defEns = "C_Fort";
	var defAlt = "0";
	var defIso = "isolation1";
		
		
function ValidForm(obj)
{

//------------------------------------------------------------------------
//--- la valeur maxi de l'indice à tester = longueur du tableau - 2 ------
//--- car le bouton est compris et le tableau commence à l'indice 0 ------
//--- commence à l'indice 0 ----------------------------------------------
//------------------------------------------------------------------------
var maxi = obj.length - 2;
for (var i=0;i<=maxi;i++)
	{
			
	champ = obj.elements[i];
	//------------------------------------------------------------------------
	//--- "elements" est un sous-objet de l'objet "forms" --------------------
	//--- on récupère donc ici le nom du controle testé ----------------------
	//--- j'utilise la proprièté "id" parce que j'utilise l'attribut "id" ----
	//--- dans les controles mais je ne suis pas sûr que cela fonctionne -----
	//--- avec toutes les versions des navigateurs. --------------------------
	//--- Dans ce cas, utilise "name" ----------------------------------------
	//------------------------------------------------------------------------
	nom = champ.id;
	valeur = champ.value;
	
		if(nom == "chkEmetteur" || nom == "chkTranchee" )
		{
		//ok;
		}
		else
		{
			//vérifie qu'il s'agit de numérique(les surfaces, nombre d'habitant, altitude)		
			if (valeur == "")
			{
				alert(err_txt1A + nom + err_txt1B);
				champ.focus();
				return false;
			}					
			else
			{
				//Test sur les champs numérique
				if(nom == "surface" || nom == "nbr" || nom == "surfaceT" || nom == "altitude")								
				{				
					var j=0;									
					
					//traite les valeurs négatives, s'il ne s'agit pas de l'altitude : erreur
					if(valeur.charCodeAt(j) == 45)
					{
						if(nom != "altitude")
						{
							//je traite cas par cas pour adapter le message
							if(nom == "surface")
							{						
								alert(err_txt4);
							}
							else
							{
								if(nom == "nbr")
								{
									alert(err_txt5);
								}
								else
								{
									if(nom == "surfaceT")
									{
										alert(err_txt6);
									}											
								}
							}												
							champ.value ="";		
							champ.focus();
							return false;						
						}
					}
					
					//Je test chacun des caractères
					for (j=0; j<valeur.length; j++)
					{
						//s'il ne s'agit pas du "-" comme premier caractère						
						if((nom != "altitude") + (j!=0) + valeur.charCodeAt(0) != 45)
						{
							if ((valeur.charCodeAt(j) < 48) + (valeur.charCodeAt(j) > 57))					 
							{
								alert(valeur + err_txt3);
								j=str.length;
								champ.value ="";		
								champ.focus();
								return false;																				
							}
						}
					}
					
					// Cas de la surface habitable
					// On ne fait pas de maison de plus de 300m2
					if(nom == "surface")
					{						
						if( valeur > 300 )
						{
							alert(err_txt7);
							champ.value ="";		
							champ.focus();
							return false;																				
						}
					}
				}
			}
		}
	}
//------------------------------------------------------------------------
//--- la soumission du formulaire ne se fait que si on sort --------------
//--- de la boucle par le bas à savoir que l'appel de la fonction --------
//--- reçoit "true" ------------------------------------------------------
//------------------------------------------------------------------------
	
return true;
}
///document.getElementById('surface').innerHTML='test';
//Gestion de la fenêtre à la validation
function valide(obj)
{
	var bln =ValidForm(obj);
	if (bln==true)
	{		
		//valide les prix des énergies
		
		//Conserve les données saisies
		ecrit_cookies()
		//ferme le fenêtre
		//self.close();		
		obj.action="solution.htm";
		obj.target="_self";
		obj.methode="post";
	}
}

//Liste des valeurs*************
 //SurfaceMaison  : SM  
 //NbOccupants : NbO
 //Deperditions : Dep
 //Emetteurs : Emet
 //EmetteurExiste : EmetE
 //SurfaceTerrain : ST
 //NatureTerrain : NT
 //TrancheePossible : TP 
 //Meteo : M
 //NomStationMeteo : NSM
 //Ensoleillement : Ens
 //Altitude : Alt
 //Isolation : Iso
 
 
 //Récupère les dernières informations
function lire_cookies()
{	
	//vérifie que le navigateur accepte les cookies
	if (detection()==true)
	{
		//Récupère les cookies
		var CombSMNBO = LireCookie("CombSMNBO");					
		var CombEmet = LireCookie("CombEmet");		
		var ST = LireCookie("ST");		
		var CombNTTP = LireCookie("CombNTTP");		
		var CombMNSM = LireCookie("CombMNSM");						
		var CombEnsAlt = LireCookie("CombEnsAlt");		
		var Iso = LireCookie("Iso");
		 
	}
	else
	{
		var CombSMNBO;
		var SM;	
		var NbO;	
		var CombEmet;	
		var Emet;
		var EmetE;	
		var ST;
		var CombNTTP;	
		var NT;
		var TP
		var CombMNSM;	
		var M;
		var NSM;
		var CombEnsAlt
		var Ens;
		var Alt;
		var Iso;
	}
	
	//Test chaque cookies et les met dans le champs adéquate.	
	if (CombSMNBO != null)
	{
		var str1=CombSMNBO.lastIndexOf('|', CombSMNBO.length);
		SM=CombSMNBO.substring(0,str1);		
		NbO=CombSMNBO.substring(str1 + 1 ,CombSMNBO.length );		
	}
	if (SM != null)
		{document.DonneesGenerales.surface.value = SM;}
	else
		{document.DonneesGenerales.surface.value = "120";}	
	if (NbO != null)
		{document.DonneesGenerales.nbr.value = NbO;}
	else
		{document.DonneesGenerales.nbr.value = "3";}
	
	
	if (CombEmet != null)
	{
		var str1=CombEmet.lastIndexOf('|', CombEmet.length);
		Emet=CombEmet.substring(0,str1);		
		EmetE=CombEmet.substring(str1 + 1 ,CombEmet.length );		
	}
	if (Emet != null){document.DonneesGenerales.emetteur.value = Emet;}			
	if (EmetE != null)
	{
		if (EmetE=="true")
			{document.DonneesGenerales.chkEmetteur.checked=true;}
		else
			{document.DonneesGenerales.chkEmetteur.checked=false;}
	}	
	
	
	if (ST != null)
		{document.DonneesGenerales.surfaceT.value = ST ;}
	else
		{document.DonneesGenerales.surfaceT.value = "700" ;}
	
	if (CombNTTP != null)
	{
		var str2=CombNTTP.lastIndexOf('|', CombNTTP.length);
		NT=CombNTTP.substring(0,str2);		
		TP=CombNTTP.substring(str2 + 1 ,CombNTTP.length );	
	}		
	if (NT != null)	{document.DonneesGenerales.naturet.value =NT ;}
	if (TP != null)
	{
		if (TP=="true")
			{document.DonneesGenerales.chkTranchee.checked=true;}
		else{document.DonneesGenerales.chkTranchee.checked=false;}
	}
	
	if (CombMNSM != null)
	{
		var str2=CombMNSM.lastIndexOf('|', CombMNSM.length);
		M=CombMNSM.substring(0,str2);		
		NSM=CombMNSM.substring(str2 + 1 ,CombMNSM.length );					
	}	
	if (M != null){document.DonneesGenerales.meteo.value =M ;}	
	//Quand la météo est chargée, on peut recharger puis selectionner la station
	maj_station();
	if (NSM != null){document.DonneesGenerales.station.value =NSM ;}	

	
	if (CombEnsAlt != null)
	{
		var str2=CombEnsAlt.lastIndexOf('|', CombEnsAlt.length);
		Ens=CombEnsAlt.substring(0,str2);		
		Alt=CombEnsAlt.substring(str2 + 1 ,CombEnsAlt.length );	
	}
	if (Ens != null){document.DonneesGenerales.ensol.value =Ens ;}
	if (Alt != null)
		{document.DonneesGenerales.altitude.value =Alt ;}
	else
		{document.DonneesGenerales.altitude.value ="0" ;}
		
	if (Iso!= null){document.DonneesGenerales.isolation.value =Iso ;}	
}



//Ecrit les cookies sur le poste client.
function ecrit_cookies()
{
	//Récupère les valeurs dans la page	
	var SM = document.DonneesGenerales.surface.value;	
	var NbO = document.DonneesGenerales.nbr.value;	
	var CombSMNBO = SM + "|" + NbO;
	// Combiner Emet + EmetE pous diminuer le nombre de cookies	
	var Emet= document.DonneesGenerales.emetteur.value;
	if (document.DonneesGenerales.chkEmetteur.checked)
	{var EmetE=true;}
	else 
	{var EmetE=false;}	
	var CombEmet = Emet + "|" + EmetE;
	var ST= document.DonneesGenerales.surfaceT.value;
	var NT= document.DonneesGenerales.naturet.value;
	if(document.DonneesGenerales.chkTranchee.checked)
	{var TP=true;}
	else 
	{var TP=false;}
	var CombNTTP = NT + "|" + TP;
	var M= document.DonneesGenerales.meteo.value;
	var NSM= document.DonneesGenerales.station.value;	
	var CombMNSM = M + "|" + NSM;
	var Ens= document.DonneesGenerales.ensol.value;
	var Alt= document.DonneesGenerales.altitude.value;	
	var CombEnsAlt = Ens + "|" + Alt;
	var Iso= document.DonneesGenerales.isolation.value;	
	var NumAg = get_num_Agence();
	var Rensag=true;

	//Définit le temps de vie des cookies
	date=new Date;
	date.setMonth(date.getMonth()+1);		
	
	//écrit les cookies	
	EcrireCookie("Rensag",Rensag ,date, "/");		
	EcrireCookie("CombSMNBO",CombSMNBO ,date, "/");			
	EcrireCookie("CombEmet",CombEmet ,date, "/");			
	EcrireCookie("ST",ST ,date, "/");
	EcrireCookie("CombNTTP",CombNTTP ,date, "/");	
	EcrireCookie("CombMNSM",CombMNSM ,date, "/");		
	EcrireCookie("NumAg",NumAg ,date, "/");
	EcrireCookie("CombEnsAlt",CombEnsAlt ,date, "/");	
	EcrireCookie("Iso",Iso ,date, "/");	
	
	//écrit les cookies des prix d'énergie
	EcrireCookie("Combelect",Combelect ,date, "/");	
	EcrireCookie("CombFGN",CombFGN ,date, "/");	
	EcrireCookie("propane",propane ,date, "/");
	EcrireCookie("CombF12",CombF12 ,date, "/");		
	EcrireCookie("CombF34",CombF34 ,date, "/");	
		
}


//Met à jour la combo station après un changement de département
function maj_station()
{
	document.DonneesGenerales.station.options.length=0;
	var dep_valeur, ville;
	dep_valeur = document.DonneesGenerales.meteo.value;				
	var i=0;
	while(true) { 
		ville = departement[dep_valeur][i],departement[dep_valeur][i];
		if (ville == null) break; 
		var o=new Option(ville, ville);
		document.DonneesGenerales.station.options[document.DonneesGenerales.station.options.length]=o;						
		i++;
	} 	
}

//Récupère le numéro d'agence
function get_num_Agence()
{	
	var station, vil, num_ag=0;	
	station = document.DonneesGenerales.station.value;
	var i=1;
	while(true) { 
		vil = ville[i][0];		
		if (station == vil) break ; 		
		i++;
	} 
	num_ag = ville[i][1];
	
	return num_ag;
}

//detect si le navigateur accepte les cookies
function detection()
{
	if ( navigator.cookieEnabled )
	{
			return true;		
	}
	else
	{
		window.open('err_cookies.htm', target='_blank', 'height=200,width=350') ;
		return false;		
	}	
		
}


//-->
