
// __________________________________________________________________________________________________
//								DEFINITIONS LOCALES

// __________________________________________________________________________________________________
//								FONCTIONS LOCALES

// --------------------------------------------------------------------------------------------------

	//
	// Fonction de simulation remplissage champs formulaire contact, ...
	// Pour shunter la fonction de contôle des champs obligatoires
	//
	function setDefaultContact ()
	{
		//
		// Construction des objets de gestion
		email_object = document.getElementById ('email');
		telephone_object = document.getElementById ('telephone');
		
		//
		// Contrôles initiaux
		if (!email_object || !telephone_object)	return;
		
		//
		// On contrôle si une valeur défdaut doit être mise en place ou pas
		// Ceci pour 'shunter' la gestion des champs obligatoires
		value_default = ' ';
		if (valueRadio('contact') == 'email' &&  telephone_object.value == '')
			telephone_object.value = value_default;
		else if (valueRadio('contact') == 'telephone' &&  email_object.value == '')
			email_object.value = value_default;
	}


// --------------------------------------------------------------------------------------------------

	//
	// Fonction de validation du formulaire d'évaluation
	// Les contrôles sont effectués sur
	//	- validité de la puissance calculée
	//	- champs de saisie obligatoires
	//	- validité email saisi 
//	function checkFormEvaluation (a_form, a_fld_puissance, a_fld_email, a_tab_oblig, a_radio_contact)
	function checkFormEvaluation (a_form, a_fld_puissance, a_fld_email, a_fld_telephone, a_tab_oblig, a_radio_contact)
	{
		if (document.getElementById(a_fld_puissance)  &&  isNaN (document.getElementById(a_fld_puissance).value)) {
			alert (document.getElementById(a_fld_puissance).value+'Les données de votre demande sont incorrecte ...');
			return (false);
		}
		if (!CheckSetForm (a_tab_oblig, a_form, 'Merci de renseigner '))
			return (false);
//		if (valueRadio(a_radio_contact) == 'email' && !CheckEmail (document.getElementById(a_fld_email))) {
//			alert ('Votre adresse mail est incorrecte ...');
//			document.getElementById(a_fld_email).focus();
//			return (false);
//		}
		// Telephone et/ou email saisi
		var telephone_object = document.getElementById(a_fld_telephone);
		var email_object = document.getElementById(a_fld_email);
		if (valueRadio(a_radio_contact) == 'email' && email_object.value.length == 0) {
			alert ('Merci de renseigner votre adresse mail pour être contacté ...');
			email_object.focus();
			return (false);
		}
		else if (valueRadio(a_radio_contact) == 'telephone' && telephone_object.value.length == 0) {
			alert ('Merci de renseigner votre téléphone pour être contacté ...');
			telephone_object.focus();
			return (false);
		}
		if (telephone_object.value.length == 0  &&  email_object.value.length == 0) {
			alert ('Merci de renseigner votre téléphone ou votre adresse mail ...');
			telephone_object.focus();
			return (false);
		}
		if (email_object.value.length > 0  &&  !CheckEmail (email_object)) {
			alert ('Votre adresse mail est incorrecte ...');
			email_object.focus();
			return (false);
		}

		return (true);		
	}


// --------------------------------------------------------------------------------------------------

	//
	// Fonction de mise à jour de la zone de promotion flash
	//	- décompte secondes
	//	- zone masquée si promo terminée
	function setPromoTime (a_div_promo, a_fld_promo_mktime, a_fld_promo_strtime, a_offset_seconds)
	{
	        //
		// Initialisations
	        var l_strtime = "";
	
		//
		// Lecture des objets de gestion
		//	- valeur nb secondes restantes
		//	- équivalent en "chaine heure"
	        var obj_promo_mktime = document.getElementById (a_fld_promo_mktime);
	        var obj_promo_strtime = document.getElementById (a_fld_promo_strtime);
		//
		if (!obj_promo_mktime || !obj_promo_strtime)	return (0);
		
	        //
		// Calcul du nouveau nb de secondes
	        var l_nbsecs = parseInt (obj_promo_mktime.value);
	        l_nbsecs += a_offset_seconds;
		if (l_nbsecs <= 0)
		{
			simplecache (a_div_promo);
			return (0);
		}
		
		//
		// La chaine horaire à afficher
	        l_strtime = seconds2String (l_nbsecs);
	
	        //
	        // Affichage et retour valeur
	        obj_promo_strtime.innerHTML = l_strtime;
		obj_promo_mktime.value = l_nbsecs;
	
	        //
		// Lancement nouvel appel dans une seconde 
		setTimeout("setPromoTime ('"+a_div_promo+"','"+a_fld_promo_mktime+"','"+a_fld_promo_strtime+"', -1)", 1000);
	
	        return (l_nbsecs);
	}

// --------------------------------------------------------------------------------------------------

	//
	// Fonction d'affichage des alertes
	//	- et de masquage auto des autres
	function alertShow(a_div_alert)
	{
		//
		// Initialisations
		//	- tableau des alertes
		var tab_alertes = new Array ('unequestion', 'classes_energie', 'catalogue', 'notre_avis', 'tarifs_et_financements', 'cestquoilecop', 'actudumoment', 'pourquoiunecategorie', 'annonce');
		
		//
		// On ferme toute les alertes autres que celle passée en argument
		for (i=0; i < tab_alertes.length; i++)
		{
			if (!document.getElementById(tab_alertes[i]))	continue;
			if (tab_alertes[i] == a_div_alert)
				simplemontre (tab_alertes[i]);
			else	simplecache (tab_alertes[i]);
		}
	}


// --------------------------------------------------------------------------------------------------

	//
	// Fonction de mise à jour des div catalogue
	//	- pour mettre à jour automatiquement visuels / bordures / hauteur lignes catalogue
	// On met à jour
	//	- div de fond bleu dégradé
	//	- div de bordure
	//	- position div footer
	function majCataDivs(a_cata_imgsize, a_cata_nbproduits)
	{
		//
		// Initialisations
		//	- valeurs par défaut
		// Ces valeurs doivent être les mêmes que dans global.css
		var cata_centre_minheight = 200;				// hauteur image de fond div
		var cata_centre_defheight = 2*cata_centre_minheight;		// hauteur div centre par défaut
		var cata_bordure_defheight = 600;				// hauteur bordure blue latérale
		var cata_footer_deftop = 567;

		//
		// Construction des objets qui vont être traités
		var div_cata_centre = document.getElementById('catalogue_centre');
		var div_cata_bordure = document.getElementById('catalogue_bordure');
		var div_cata_footer = document.getElementById('catalogue_footer');

		//
		// Calcul des nouvelles valeurs
		//	- en fonction du nb de produits
		// Et application des nouvelles valeurs
		var new_height = a_cata_imgsize * a_cata_nbproduits;
		if (new_height > cata_centre_defheight)
		{
			var nbs_centre = parseInt(new_height/cata_centre_minheight)+((new_height%cata_centre_minheight) > 0 ? 1:0);
			var maj_height = nbs_centre * cata_centre_minheight;
			var delta_height = maj_height - cata_centre_defheight;
			//
			var str_maj = maj_height+'px';
			div_cata_centre.style.height = str_maj;
			str_maj = (cata_bordure_defheight+delta_height)+'px';
			div_cata_bordure.style.height = str_maj;
			str_maj = (cata_footer_deftop+delta_height)+'px';
			div_cata_footer.style.top = str_maj;
		}
	}

// --------------------------------------------------------------------------------------------------

	//
	// Fonction d'affichage image produit
	function imageShow (a_div_show, a_img_show, a_img_url, a_top_div)
	{
		//
		// Initialisations
		var div_object = document.getElementById(a_div_show);
		var img_object = document.getElementById(a_img_show);
		if (!div_object || !img_object)	return (false);

		//
		// On masque toutes les alertes
		alertShow('');
				
		//
		// Mise à jour et affichage du div
		//	- image source
		//	- position top
		img_object.src = a_img_url;
		div_object.style.top = a_top_div+'px';
		simplemontre (a_div_show);
		
		//
		// Fin traitement
		return (false);
	}
