/** Fonction pour montrer/cacher des bloces **/
function checkVisibilityAndClickById(id, prefixe, prefixe_hidden, tick, id_img, lien_img, nom_img)
{
	/*
	id : identifiant de l'element à montrer ou à cacher
	prefixe : 
	prefixe_hidden : 
	tick : 
	id_img : identifiant de la puce ouverte ou fermé => balise html <img id="id">
	lien_img : lien vers la puce => site/media/...
	nom_img : tableau contenant le nom de la puce ouverte et fermée
	*/
	
	// Par défaut il faut définir dans le css que l'élément est visible ou non, sinon on a une erreur javascript lors de la comparaison
	// On utilise un préfixe pour éviter d'avoir une erreur de type << attribute id has invalid value >>
	if(prefixe != null && prefixe != '') identifiant = prefixe+id;
	else identifiant = id;
	
	if(prefixe_hidden != null && prefixe_hidden != '') id_hidden = prefixe_hidden+id;
	else id_hidden = null;
	
	// Ce bloc est obligatoire car au chargement de la page le style.visibility est considéré comme vide ... je ne sais pas pourquoi.
	if(id_hidden != null && prefixe_hidden != '')
	{
		if(getId(id_hidden).value == '1')
		{
			getId(identifiant).style.visibility = 'visible';
			getId(identifiant).style.display = 'block';
		}
		else
		{
			getId(identifiant).style.visibility = 'hidden';
			getId(identifiant).style.display = 'none';
		}
	}
	
	if(getId(identifiant).style.visibility == 'hidden' || getId(identifiant).style.visibility == '' || getId(identifiant).style.visibility == null) // Affiche le bloc
	{
		getId(identifiant).style.visibility = 'visible';
		getId(identifiant).style.display = 'block';
		
		if (id_img != null && id_img != '') getId(id_img).src = lien_img+nom_img[1];
		
		// On rempli l'input hidden correspondant avec la valeur 1 pour conserver le fait qu'il est visible
		if(id_hidden != null) getId(id_hidden).value = '1'; // 1 = visible
	}
	else // Cache le bloc
	{
		getId(identifiant).style.visibility = 'hidden';
		getId(identifiant).style.display = 'none';
		
		if (id_img != null && id_img != '') getId(id_img).src = lien_img+nom_img[0];
		// On rempli l'input hidden correspondant avec la valeur 0 pour conserver le fait qu'il est caché
		if(id_hidden != null && prefixe_hidden != '') getId(id_hidden).value = '0'; // 0 = caché
	}
	// if(tick) changeTick(this); // On change de sens la puce
}

/** ouvre le popup des visites 360° **/
function ouvrirVisite360(url)
{
	var width = 500;
	// var height = 313;
	var left = (window.screen.width - 322) / 2;
	var top = (window.screen.height - 313) / 2;
	var configuration = "'scrollbars=no, toolbar=no, menubar=no, location=no, directories=no, status=no, resizable=no, width="+width+", left="+left+", top="+top;
	
	window.open(url, 'visite360', configuration);
}

// var tab_rubriques = new Array();
// var tab_rubriques_name = new Array();
// var tab_rubriques_nb = new Array();
/** création du tableau des rubriques choisies pour l'appel AJAX (on ne l'utilise plus, la gestion des rubriques en ajax se fait directement lors du click sur le bouton calculer) **/
/* function ajout_rubrique(id,name)
{
		if(getId(id).selectedIndex == 0)
		{
			//alert('nb de rubrique = 0 detecte pour element = '+name);
			tab_rubriques[name] = 0;
		}
		else
		{
			tab_rubriques[name] = new Array();
			tab_rubriques[name].push(getId(id).selectedIndex); //ajoute l'element choisi au tableau
		}
		//alert(tab_rubriques[name].valueOf());
		 for (var name in tab_rubriques)
		{
		   alert(tab_rubriques[name]);
		} 
		// alert(tab_rubriques['liste_26K_165'].valueOf());
		
} */

/** création du tableau des rubriques choisies pour l'appel AJAX **/
/* function test4()
{
	var tab_string = getId('ajax_tab_rubriques').value;
	var ajax_tab_rubriques = tab_string.split(','); // on parse une premiere fois la chaine afin d'en faire un tableau
	//affichage du tableau de rubriques
	for (var i=0; i<ajax_tab_rubriques.length; i++) 
	{
	 document.write("tableau[" + i + "] = " + ajax_tab_rubriques[i] + "<BR>");
	}
	code_logement_debut = "S";
	code_logement_fin = "2";
	var data = '';
	for (var i=0; i<ajax_tab_rubriques.length; i++) 
	{
	 rubrique = "liste_"+code_logement_debut+code_logement_fin+"_"+ajax_tab_rubriques[i];
	  //alert(rubrique);
	 data += rubrique+"="+document.getElementsByName(rubrique).item(0).selectedIndex;
	} 
	 //document.write(data);
	// rubrique = document.getElementsByName('liste_S2_929').item(0).selectedIndex; //.value fonctionne également, les valeurs et les index sont identiques
	
	// alert(rubrique);
} */

/** sert à remplir au fur et à mesure les drop down lists des rubriques(prestas) afin d'alléger le code source **/
function remplireDDL(id, select)
{
	if(getId(id).length == 1)
	{
		getId(id).length = 0;
		
		for(var i = 0; i <= 60; i++) getId(id).options[i] = new Option(i, i, false, false);
		
		if(select) getId(id).options[select].selected = true;
		if(navigator.appName == 'Microsoft Internet Explorer') getId(id).click();
	}
}

/** Fonction qui détermine quelles rubriques (prestas externes) ont été choisies afin de les colorer (utile pour gérer le bouton précédent) **/
function colorerDDL_massif(code_logement_debut, code_logement_fin)
{
	var tab_rubriques_string = getId('ajax_tab_rubriques').value; // contient un tableau de rubriques concaténé avec des virgules
	var tab_rubriques_choisies = tab_rubriques_string.split(','); // on parse 
	
	for (var i = 0; i < tab_rubriques_choisies.length; i++) 
	{
		var rubrique = "liste_" + code_logement_debut + code_logement_fin + "_" + tab_rubriques_choisies[i]; // ex : &liste_S2_929
		
		if(tab_rubriques_choisies[i] != '' && document.getElementsByName(rubrique).item(0).selectedIndex != 0)
		{
			colorerDDL('ddl_'+i);
		}
	}  
}

/** sert à colorer au fur et à mesure les drop down lists des rubriques(prestas) afin d'indiquer les éléments choisis  **/
function colorerDDL(id)
{
	var index = id.substr(4);
	
	if(getId(id).value == 0)
	{
		getId('label_ddl_' + index).style.color = '#000000';
		getId('span_presta_' + index).className = 'libelle_sous_prestation_logements';
		getId(id).className = 'nb_presta';
	}
	else
	{
		getId('label_ddl_' + index).style.color = '#EA5E0F';
		getId('span_presta_' + index).className = 'libelle_sous_prestation_logements_selected';
		getId(id).className = 'nb_presta_selected';
	}
}

/** vérifie que le lien sur lequel on clique est le même que celui dans la barre de navigation du navigateur, ce qui permet de switcher entre les onglets residence et les autres sans recherger dasn le cas ou le liens eest le même **/
function verifMemeResi(elem)
{
	if(verif_init_marche(elem) == false) return false;
	
	var url = document.location.toString();
	var url_actuelle = url.substr(0, url.indexOf('#', 0));
	var url_demandee = elem.href.substr(0, elem.href.indexOf('#', 0));
	
	if(url_actuelle == url_demandee) onclickOnglet('residence', elem);
}

/** change les styles des onglets en fonction de leur état (actif/inactif) **/
function switchOnglet()
{
	if(getId('menu_descriptifs'))
	{
		var url = document.location.toString();
		var position = url.indexOf('#', 0);
		
		if(position != -1)
		{
			var page = url.substr(position + 1);
			if(!in_array(page, ['residence', 'station', 'domaine', 'region', 'pays'])) page = 'residence'; // A EVENTUELLEMENT MODIFIER, CAS PAR DEFAUT POUR LES FOIS OU IL N'Y A PAS D'ANCRE
			
			var onglets_a = getId('menu_descriptifs').getElementsByTagName('a');
			var onglets_img = getId('menu_descriptifs').getElementsByTagName('img');
			var onglet_actif = getId('onglet_' + page).getElementsByTagName('img');
			
			for(var i = 0; i < onglets_img.length; i++)
			{
				if(pair(i))
				{
					onglets_a[i/2].className = 'onglet_inactif';
					onglets_img[i].src = 'site/media/descriptifs/onglet_inactif_gauche.gif';
				}
				else onglets_img[i].src = 'site/media/descriptifs/onglet_inactif_droit.gif';
			}
			
			getId('onglet_' + page).className = 'onglet_actif';
			
			onglet_actif[0].src = 'site/media/descriptifs/onglet_actif_gauche.gif';
			onglet_actif[1].src = 'site/media/descriptifs/onglet_actif_droit.gif';
			
			if(page == 'residence')
			{
				getId('div_residence').style.display = 'block';
				getId('div_station').style.display = 'none';
				
				getId('entete_produit').style.display = 'none';
				
				getId('descriptif_ajax').innerHTML = '';
			}
			else if(page == 'station')
			{
				getId('div_residence').style.display = 'none';
				getId('div_station').style.display = 'block';
				
				getId('entete_produit').style.display = 'block';
				
				getId('descriptif_ajax').innerHTML = '';
			}
			else
			{
				getId('div_residence').style.display = 'none';
				getId('div_station').style.display = 'none';
				
				getId('entete_produit').style.display = 'block';
				
				afficherDescriptif(page);
			}
			
			setTimeout('redimBP()', 300);
		}
	}
	
	unLoading();
}

/** Gere le nombre de bons plans affichés afin de ne pas laisser de gros blancs en dessous des descriptifs **/
function redimBP()
{
	// var url = document.location.toString();
	// var page = url.substr(url.indexOf('#', 0) + 1);
	
	// var hauteur_desc = getId('div_' + page).offsetHeight;
	var hauteur_desc = getId('page_logement').offsetHeight - getId('entete_produit').offsetHeight;
	
	if(navigator.appName != 'Microsoft Internet Explorer') 	var bons_plans = getId('bons_plans').getElementsByClassName('un_bp');
	else 													var bons_plans = getElementsByClassNameIE(getId('bons_plans'), 'un_bp');
	
	var nb_bp = bons_plans.length;
	var count = 40;
	
	for(var i = 0; i < nb_bp; i++)
	{
		getId('bp_' + i).style.display = 'block';
		
		if(i < (nb_bp - 1))
		{
			var hr = getId('bp_' + i).getElementsByTagName('hr');
			hr[0].style.display = 'block';
		}
		
		count += getId('bp_' + i).offsetHeight;
		
		if(count >= hauteur_desc)
		{
			var afficher_bp = i;
			i = nb_bp;
		}
		else if(i == (nb_bp - 1)) var afficher_bp = i;
	}
	
	for(var i = 0; i < nb_bp; i++)
	{
		if(i == afficher_bp && i < (nb_bp - 1))
		{
			var hr = getId('bp_' + i).getElementsByTagName('hr');
			hr[0].style.display = 'none';
		}
		
		if(i > afficher_bp) getId('bp_' + i).style.display = 'none';
	}
	
	// if((getId('page_logement').offsetHeight + ) < getId('entete_produit').offsetHeight) getId('entete_produit').style.height = (getId('bons_plans').offsetHeight - getId('page_logement').offsetHeight - getId('entete_produit').offsetHeight) + 'px';
	
	// alert(
		// 'hauteur descriptif : ' + hauteur_desc + 'px' + "\n" + 
		// 'hauteur bons plans : ' + getId('bons_plans').offsetHeight + 'px' + "\n\n" + 
		// 'nombre de bons plans total : ' + nb_bp + "\n" + 
		// 'nombre de bons plans affichés : ' + (afficher_bp + 1)
	// );
}

/** réinitialise les bons plans **/
function reinitBP()
{
	if(navigator.appName != 'Microsoft Internet Explorer') 	var bons_plans = getId('bons_plans').getElementsByClassName('un_bp');
	else 													var bons_plans = getElementsByClassNameIE(getId('bons_plans'), 'un_bp');
	
	var nb_bp = bons_plans.length;
	
	for(var i = 0; i < nb_bp; i++)
	{
		getId('bp_' + i).style.display = 'block';
		
		var hr = getId('bp_' + i).getElementsByTagName('hr');
		if(i < (nb_bp - 1)) hr[0].style.display = 'block';
	}
}

/** change l'url et lance la fonction switchOnglet() (car pas de onload) dans le cas ou on est sur la page station/résidence, sinon lance loading() (switchOnglet() est lancée au onload) **/
function onclickOnglet(anchor, elem)
{
	if(verif_init_marche(elem) == false) return false;
	
	document.location = '#' + anchor;
	switchOnglet();
}

/** redimensionne la bordure droite du cadre 'enfant' sur la page station **/
function redimDescriptif()
{
	if(getId('div_pays')) 		getId('pays_centre').style.width = (783 - getId('pays_gauche').offsetWidth) + "px";
	if(getId('div_region')) 	getId('region_centre').style.width = (783 - getId('region_gauche').offsetWidth) + "px";
	if(getId('div_domaine')) 	getId('domaine_centre').style.width = (773 - getId('domaine_gauche').offsetWidth) + "px";
}

/** affiche la fenetre d'envoi a un ami en overlay **/
function afficherEnvoyerAmi(elem)
{
	if(verif_init_marche(elem) == false) return false;
	
	opacityOn();
	getId('envoyer_ami').style.display = 'block';
	// getId('login_compte').innerHTML = '<img id="logo_lv" src="site/media/cartes/logo_lv.png" alt="" /><br /><br /><img id="gif_loading" src="site/media/cartes/ajax-loader.gif" alt="" /><br /><br /><span class="ajax_loading">Loading,<br />Wait a second...</span>';
}