﻿var tab_control = null;
var diap_index = 0;
var main_photo_index = 0;
var treating_form_avis = false;
var treating_form_question = false;
var treating_form_reponse = false;
var form_avis_ouvert = false;
var form_quest_ouvert = false;
var form_rep_ouvert = false;
var rating_confort = null;
var rating_equipements = null;
var rating_services = null;
var rating_emplacement = null;
var rating_accueil = null;
var rating_globale = null;
var avis_deja_redige = false;
var contenuHeight = 104;
var contenuHeightRep = 92;
var avis_info_array = new Array();
var old_avis_selected = null;
var rec_liste_state = false;
var resultat_form_avis = 0;
var moteur_open = false;
var cpt_message_ajoute = 0;
var participe_jeu_html = '<label for="participe_concours">Je participe au jeu pour gagner un appareil photo. </label> <span class="info">1 avis ou 1 participation au forum d\'un hôtel = 1 chance de gagner un appareil photo !</span> <span>(jeu entièrement gratuit, voir <a href="javascript:reglement();">le règlement du jeu</a>)</span>';
var forum_help_text = '<b>Dans cet espace vous pouvez : </b><br/><ul><li>Echanger avec les autres voyageurs et poser <b>toutes vos questions sur cet hôtel</b> (équipements, services, situation, activités et points d’intérêts aux alentours, animation, etc.)</li><li>Les internautes ainsi que les personnes travaillant pour cet hôtel sont invités à répondre et à réagir aux messages</li><li>Pour <b>déposer un avis</b> sur votre séjour, merci de remplir le formulaire <b>sur l’onglet avis</b>.</li><li>Vous avez des questions sur un autre hôtel ? Veuillez vous rendre sur la fiche de cet hôtel en question.</li></ul>Vous ne trouvez pas l’hôtel que vous cherchez ? Proposez-le nous : <u>http://www.voyagermoinscher.com/bas/proposerhotel.aspx</u> <br/><br/><b>Veuillez noter :</b> <br/><ul><li>Vos messages sont soumis à modération</li><li>VoyagerMoinsCher.com est un <b>comparateur de prix de voyages et d’hôtels : <font color="red">nous ne prenons aucune réservation</font></b>. Toutes les questions concernant <font color="red">un devis ou une réservation ne seront pas publiées sur le site.</font> Pour cela, veuillez vous adresser directement à l’hôtel ou bien à un voyagiste (tour-opérateur, agence de voyages, centrale de réservation hôtelière).</li></ul>';
//var text_twitter = 'Vous aimez cet hôtel :</br> partagez le avec vos ami(e)s sur Twitter';
//var text_email = 'Vous aimez cet hôtel :</br> partagez le avec vos ami(e)s par Mail';
var text_twitter = 'Vous aimez cet hôtel :</br> partagez-le avec vos ami(e)s sur Twitter';
var text_email = 'Envoyer cette page à un(e) ami(e)';


function load() {

	tab_control = new Control.Tabs('tab_group_one');
	document.getElementById("tab_description").style.display = "none";
	document.getElementById("tab_carte").style.display = "none";
	document.getElementById("tab_photos").style.display = "none";
	document.getElementById("tab_avis").style.display = "none";
	document.getElementById("tab_forum").style.display = "none";
	tab_control.setActiveTab(active_tab);

	// reglage du titre
	if ($('title').getWidth() > 570 || $('title').getHeight() > 25) {
		$('calage1').style.height = "";
	}

	if (document.forms['form_hotels']) {
		// Mise en place de la date d'arrivée
		var select_dj = document.forms['form_hotels'].elements['departj'];
		var select_dm = document.forms['form_hotels'].elements['departma'];

		for (i = 0; i < select_dj.length; i++) {
			if (select_dj.options[i].value == departj) {
				select_dj.selectedIndex = i;
				break;
			}
		}

		for (i = 0; i < select_dm.length; i++) {
			if (select_dm.options[i].value == departma) {
				select_dm.selectedIndex = i;
				break;
			}
		}

		// Mise en place de la date de départ
		select_dj = document.forms['form_hotels'].elements['retourj'];
		select_dm = document.forms['form_hotels'].elements['retourma'];

		for (i = 0; i < select_dj.length; i++) {
			if (select_dj.options[i].value == retourj) {
				select_dj.selectedIndex = i;
				break;
			}
		}

		for (i = 0; i < select_dm.length; i++) {
			if (select_dm.options[i].value == retourma) {
				select_dm.selectedIndex = i;
				break;
			}
		}

		check_date_depart('form_hotels', '0');
		indiqnuit('form_hotels');
	}

    // hauteur du bloc_principal_droit
    var main_div = document.getElementById("bloc_principal");
    var right_div = document.getElementById("bloc_principal_right");
    //right_div.style.height = (main_div.clientHeight + 50) + "px";

    // Affichage de la premiere photo du diaporama
    if (nb_photo_diap > 0) {
    	t_source = PhotosSource[diap_index]
    	if (PhotosSource[0].length > 18) {
    		t_source = t_source.substring(0, 15) + "...";
    		document.getElementById("ds_" + 0).title = PhotosSource[0];
    	}
    	document.getElementById("dp_0").style.visibility = "visible";
    	document.getElementById("ds_0").innerHTML = "Source : " + t_source;
    	document.getElementById("ds_0").style.visibility = "visible";

    	// Affichage de la premiere photo de l'onglet photos
    	document.getElementById("main_photo_source_0").innerHTML = "Source : " + PhotosSource[0];
    	document.getElementById("main_photo_0").style.display = "block";
    }

    // gestion de l'affichage des avis
    if (!isIE6()) {
    	for (i = 0; i < nb_avis; i++) {
    		var btn, btn2;
    		var contenu = document.getElementById("avis_contenu_" + i);
    		if (contenu == null) continue;

    		var height = contenuHeight;
    		if (avis_info_array[i][7] != 0) {
    			height = contenuHeightRep;
    		}

    		if ((contenu.scrollHeight - 10) > height) {
    			// trop grand
    			contenu.style.height = height + "px";
    			avis_info_array[i][1] = false;
    			btn = document.getElementById("avis_btn_" + i);
    			if (avis_info_array[i][7] == 0) {
    				if (btn) btn.style.top = (height + 48) + "px";
    				btn2 = document.getElementById("avis_btn2_" + i);
    				if (btn2) {
    					btn2.style.top = (contenu.scrollHeight + 45) + "px";
    					btn2.style.display = "none";
    				}
    			} else {
    				if (btn) btn.style.top = (height + 21) + "px";
    				btn2 = document.getElementById("avis_btn2_" + i);
    				if (btn2) {
    					btn2.style.top = (contenu.scrollHeight + 18) + "px";
    					btn2.style.display = "none";
    				}
    			}
    		} else {
    			// taille correcte
    			btn = document.getElementById("avis_btn_" + i);
    			if (btn) btn.style.display = "none";
    			btn2 = document.getElementById("avis_btn2_" + i);
    			if (btn2) btn2.style.display = "none";
    			avis_info_array[i][1] = true;
    		}
    	}
    } else {
		for (i = 0; i < nb_avis; i++) {
    		document.getElementById("avis_btn_" + i).style.display = "none";
    		document.getElementById("avis_btn2_" + i).style.display = "none";
		}
    }

	if (nb_avis == 0)
		afficheFormAvis();

	if (nb_post == 0)
		afficheFormQuestion();

	ScrollTop();
    EnvoiRequeteLibre('ajax.majcompteurhotel.asp?a='+id_hotel+'&b='+note_classement);
}

function diap_next() {
	if (nb_photo_diap > 0) {
		document.getElementById("ds_" + diap_index).style.visibility = "hidden";
		document.getElementById("dp_" + diap_index).style.visibility = "hidden";
		diap_index++;
		if (diap_index >= nb_photo_diap)
			diap_index = 0;
		t_source = PhotosSource[diap_index]
		if (PhotosSource[diap_index].length > 18) {
			t_source = t_source.substring(0, 15) + "...";
			document.getElementById("ds_" + diap_index).title = PhotosSource[diap_index];
		}
		document.getElementById("dp_" + diap_index).style.visibility = "visible";
		document.getElementById("ds_" + diap_index).innerHTML = "Source : " + t_source;
		document.getElementById("ds_" + diap_index).style.visibility = "visible";
	}
}

function diap_prev() {
	if (nb_photo_diap > 0) {
		document.getElementById("ds_" + diap_index).style.visibility = "hidden";
		document.getElementById("dp_" + diap_index).style.visibility = "hidden";
		diap_index--;
		if (diap_index < 0)
			diap_index = nb_photo_diap - 1;
		t_source = PhotosSource[diap_index]
		if (PhotosSource[diap_index].length > 18) {
			t_source = t_source.substring(0, 15) + "...";
			document.getElementById("ds_" + diap_index).title = PhotosSource[diap_index];
		}
		document.getElementById("dp_" + diap_index).style.visibility = "visible";
		document.getElementById("ds_" + diap_index).innerHTML = "Source : " + t_source;
		document.getElementById("ds_" + diap_index).style.visibility = "visible";
	}
}

function changePhoto(index) {
    document.getElementById("main_photo_" + main_photo_index).style.display = "none";
    main_photo_index = index
    document.getElementById("main_photo_" + index).style.display = "block";
    document.getElementById("main_photo_source_" + index).innerHTML = "Source : " + PhotosSource[index];
}

// validation du formulaire
function check_moteur(form) {
    // preparation de la date
    document.forms[form].elements["departm"].value = document.forms[form].elements["departm"].value + document.forms[form].elements["departa"].value;
    document.forms[form].elements["retourm"].value = document.forms[form].elements["retourm"].value + document.forms[form].elements["retoura"].value;

    nbday = parseInt(document.forms[form].elements["nbday"].value, 10);
    if (!(0 < nbday && nbday <= 30)) {
        alert("Votre séjour doit durer entre 1 et 30 jours !");
        return;
    }

    document.forms[form].submit();
}

// fonctionnement des calendrier
function AffCal(f_ch_image, f_ch_update) {
	var valeur;
	if (f_ch_image == 'cal1') {
		valeur = document.form_hotels.departj.value + "/" + document.form_hotels.departm.value + "/" + document.form_hotels.departa.value;
		document.form_hotels.cal1ch_moteur_hotels.value = valeur;
    } else {
        valeur = document.form_hotels.retourj.value + "/" + document.form_hotels.retourm.value + "/" + document.form_hotels.retoura.value;
        document.form_hotels.cal2ch_moteur_hotels.value = valeur;
    }
	displayDatePicker(f_ch_update, f_ch_image, false, 'dmy', '/');
}

function loadGoogle() {
    if (MapLue == 0) {
        MapLue = 1;
        var urliframe = "mapgoogle.asp?idhotel="+id_hotel;
        urliframe += "&vallatdef="+lat_hotel;
        urliframe += "&vallngdef="+long_hotel;
        document.getElementById("mapgoogle").src = urliframe;
    }
}



function affiche_avis(id) {
    var btn, btn2;
    var contenu = document.getElementById("avis_contenu_" + id);
    var noteDiv = document.getElementById("avis_notation_note_" + id);
    var recommandeDiv = document.getElementById("avis_notation_recommande_" + id);
    var pmDiv = document.getElementById("avis_notation_pm_" + id);
    if (contenu == null) return;

    var height = contenuHeight;
    if (avis_info_array[id][7] != 0) {
    	height = contenuHeightRep;
    }

    if (contenu.scrollHeight > height) {
        if (avis_info_array[id][1]) {
            // fermeture
        	contenu.style.height = height + "px";
            avis_info_array[id][1] = false;
            btn = document.getElementById("avis_btn_" + id);
            if (btn) btn.style.display = '';
            btn2 = document.getElementById("avis_btn2_" + id);
            if (btn2) btn2.style.display = 'none';
            contenu.style.marginBottom = "15px";
        } else {
            // ouverture
            contenu.style.height = "auto";
            //contenu.style.overflow = 'auto';
            avis_info_array[id][1] = true;
            btn = document.getElementById("avis_btn_" + id);
            if (btn) btn.style.display = 'none';
            btn2 = document.getElementById("avis_btn2_" + id);
            if (btn2) btn2.style.display = '';
            contenu.style.marginBottom = "15px";
        }
    }
}

function vote_avis(id, vote, isVmcAvis) {
    // envoie d'une requete en ajax
	EnvoiRequeteLibre('/hotel/ajax/voteavisutile.aspx?avis=' + id + '&vote=' + vote);

    var index = 0;
    for (i = 0; i < nb_avis; i++) {
    	if (avis_info_array[i][0] == id) {
            index = i;
            break;
        }
    }
	
    // on signale la prise en compte du vote
    var span;
    if (!isVmcAvis) {
    	span = document.getElementById('avis_quest_' + index);
    } else {
        span = document.getElementById('avis_quest_vmc');
    }
    if (span) {
        span.innerHTML = "Votre vote a été enregistré.";
    }

    // on comptabilise le vote en javascript
    if (!isVmcAvis) {
        avis_info_array[index][3]++;
        if (vote == 1) {
            avis_info_array[index][2]++;
        }
        span = document.getElementById('avis_vote_' + index);
        if (span) {
            if (avis_info_array[index][3] == 1) {
            	var tmp = document.getElementById('avis_vote_titre_' + index);
                if (tmp) tmp.className = 'titre';
                tmp = document.getElementById('avis_vote_titre_first_' + index);
                if (tmp) tmp.className = 'titreOff';
            }
            span.innerHTML = avis_info_array[index][2] + " sur " + avis_info_array[index][3];
        }
    } else {
        avis_vmc_vote_qte++;
        if (vote == 1) {
            avis_vmc_vote_utile++;
        }
        span = document.getElementById('avis_vote_vmc');
        if (span) {
            if (avis_vmc_vote_qte == 1) {
                var tmp = document.getElementById('avis_vote_titre_vmc');
                if (tmp) tmp.className = 'titre';
                tmp = document.getElementById('avis_vote_titre_first_vmc');
                if (tmp) tmp.className = 'titreOff';
            }
            span.innerHTML = avis_vmc_vote_utile + " sur " + avis_vmc_vote_qte;
        }
    }
}

function filtreAvis(sortType) {
	sortType = parseInt(sortType);
	var asc = true;

	switch (sortType) {
		case 8: // note la plus basse
			asc = false;
			sortType = 4;
			break;
		case 5: // date la plus recente
			break;
		case 4: // note la plus haute
			break;
		case 10: // date la plus ancienne
			sortType = 5;
			asc = false;
			break;
		default: // sinon par date la plus recente
			sortType = 5;
			break;
	}

    var liste = document.getElementById('avis_liste');
    if (!liste) return;

    var tableau_trie = new Array();

    // tableau de correspondance des index
    for (i = 0; i < nb_avis; i++) {
        tableau_trie[i] = i;
        avis_info_array[i][8] = false;
    }

    // trie
    if (asc) {
        for (i = 1; i < nb_avis; i++) {
            j = i;
            while (j > 0) {
                avisA = tableau_trie[j - 1];
                avisB = tableau_trie[j];
                if (avis_info_array[avisA][sortType] < avis_info_array[avisB][sortType]) {
                    tmp = tableau_trie[j - 1];
                    tableau_trie[j - 1] = tableau_trie[j];
                    tableau_trie[j] = tmp;
                } else {
                    break;
                }
                j--;
            }
        }
    } else {
        for (i = 1; i < nb_avis; i++) {
            j = i;
            while (j > 0) {
                avisA = tableau_trie[j - 1];
                avisB = tableau_trie[j];
                if (avis_info_array[avisA][sortType] > avis_info_array[avisB][sortType]) {
                    tmp = tableau_trie[j - 1];
                    tableau_trie[j - 1] = tableau_trie[j];
                    tableau_trie[j] = tmp;
                } else {
                    break;
                }
                j--;
            }
        }
    }

    // on rassemble les reponses aux bons avis
    for (i = 0; i < nb_avis; i++) {
        avisA = tableau_trie[i];
        if (avis_info_array[avisA][7] != 0 && !avis_info_array[avisA][8]) {
            avis_info_array[avisA][8] = true;
            index = -1;
            // on cherche la position de l'avis
            for (j = 0; j < nb_avis; j++) {
                avisB = tableau_trie[j];
                if (avis_info_array[avisA][7] == avis_info_array[avisB][0]) { 
                    index = j;
                    break;
                }
            }
            // on deplace la reponse
            if (index < i) {
                for (k = i; k > (index+1); k--) {
                    tmp = tableau_trie[k];
                    tableau_trie[k] = tableau_trie[k-1];
                    tableau_trie[k-1] = tmp;
                }
            } else {
                for (k = i; k < (index); k++) {
                    tmp = tableau_trie[k];
                    tableau_trie[k] = tableau_trie[k+1];
                    tableau_trie[k+1] = tmp;
                }
            }

			// correction de i pour traiter le nouvel avis en position i
            i--;
        }
    }

    // l'ensemble des div avis
    var contents = new Array();
    for (i = 0; i < nb_avis; i++) {
        contents[i] = document.getElementById('avis_' + i).cloneNode(true);
    }

    // on vide la div contenant les avis
    liste.innerHTML = '';

    // on remplit la div contenant les avis avec le nouveau classement
    for (i = 0; i < nb_avis; i++) {
        liste.appendChild(contents[tableau_trie[i]]);
    }
}

// gestion du formulaire des avis
function rediger_avis() {
	tab_control.setActiveTab("tab_avis");
	ScrollToNode($('onglets'));
	afficheFormAvis();
}

// gestion du formulaire du forum
function rediger_question() {
	tab_control.setActiveTab("tab_forum");
	ScrollToNode($('onglets'));
	afficheFormQuestion();
}

// gestion du formulaire du forum
rep_open_for_elt = "";
function rediger_reponse(parent_name, elt_name, nom_user, parent_id, rep_a) {
	
	if (form_rep_ouvert) {
		if (rep_open_for_elt != elt_name) {
			// si ouvert sur un autre post on referme et on vide
			tab_control.setActiveTab("tab_forum");
			fermeFormReponse();
			document.forms['form_reponse'].reset();
			document.forms['form_reponse'].idquest.value = "" + parent_id;
			document.forms['form_reponse'].idrepa.value = "" + rep_a;
			open_rep_part = 0;
			$('form_reponse_part2').style.display = "none";
			$('form_reponse_part1').style.display = "none";
			setTimeout('$("form_reponse_suite").style.display = "none";ScrollToNode($("' + elt_name + '"));', 400);
			setTimeout('afficheFormReponse($("' + parent_name + '"), $("' + elt_name + '"), "' + nom_user + '");', 500);
			rep_open_for_elt = elt_name;
		} else {
			// si ouvert sur le meme post on ne fait rien
			return;
		}
	} else {
		var bloc = $(elt_name);
		var parent = $(parent_name);
		document.forms['form_reponse'].idquest.value = "" + parent_id;
		document.forms['form_reponse'].idrepa.value = "" + rep_a;
		tab_control.setActiveTab("tab_forum");
		ScrollToNode(bloc);
		afficheFormReponse(parent, bloc, nom_user);
		rep_open_for_elt = elt_name;
	}
}

function voir_avis() {
	if (nb_avis > 0) {
		tab_control.setActiveTab("tab_avis");
		ScrollToNode($("onglets"));
	} else {
		rediger_avis();
	}
}

function voir_forum() {
	if (nb_post > 0) {
		tab_control.setActiveTab("tab_forum");
		ScrollToNode($("onglets"));
	} else {
		rediger_question();
	}
}

function voir_photo() {
	if (nb_photo_diap > 0) {
		tab_control.setActiveTab("tab_photos");
		ScrollToNode($("onglets"));
	}
}


function afficheFormAvis() {
	
	if (avis_deja_redige) {
		alert("Vous avez déja rédigé un avis pour cet hotel");
		return;
	}

	if (!form_avis_ouvert) {
		var tab_avis = document.getElementById("tab_avis");
		var form_avis = document.getElementById("form_avis");
		var node = null;
		if (isNavigatorIE()) {
			node = tab_avis.childNodes.item(2);
		} else {
			node = tab_avis.childNodes.item(4);
		}
		tab_avis.insertBefore(form_avis, node);

		if (rating_confort == null) {
    		rating_confort = new Control.Rating('rating_confort', { multiple: true });
    		rating_equipements = new Control.Rating('rating_equipements', { multiple: true });
    		rating_services = new Control.Rating('rating_services', { multiple: true });
    		rating_emplacement = new Control.Rating('rating_emplacement', { multiple: true });
    		rating_accueil = new Control.Rating('rating_accueil', { multiple: true });
    		rating_globale = new Control.Rating('rating_globale', { multiple: true });
    	}

		Effect.BlindDown('form_avis');
		form_avis_ouvert = true;
	}
}

function afficheFormQuestion() {
	if (!form_quest_ouvert) {
		var tab_forum = document.getElementById("tab_forum");
		var form_quest = document.getElementById("form_question");
		var node = null;
		if (isNavigatorIE()) {
			node = tab_forum.childNodes.item(2);
		} else {
			node = tab_forum.childNodes.item(4);
		}
		tab_forum.insertBefore(form_quest, node);
		document.forms['form_question'].reset();
		Effect.BlindDown('form_question');
		form_quest_ouvert = true;
	}
}

function afficheFormReponse(parent, bloc, nom_user) {
	if (!form_rep_ouvert) {
		var form_rep = document.getElementById("form_reponse");

		tmp = nextElementOf(bloc);
		if (tmp != null) {
			parent.insertBefore(form_rep, tmp);
		} else {
			parent.appendChild(form_rep);
		}
		nom_user = "la question de " + nom_user;
		
		$('form_reponse_title').innerHTML = nom_user;

		Effect.BlindDown('form_reponse', { duration: 0.45 });
		form_rep_ouvert = true;
	} else {

	}
}

function fermeFormAvis() {
	if (form_avis_ouvert) {
		Effect.BlindUp('form_avis', { duration: 0.25 });
		form_avis_ouvert = false;
	}
}

function fermeFormQuestion() {
	if (form_quest_ouvert) {
		Effect.BlindUp('form_question', { duration: 0.25 });
		form_quest_ouvert = false;
	}
}

function fermeFormReponse() {
	if (form_rep_ouvert) {
		Effect.BlindUp('form_reponse', { duration: 0.25 });
		form_rep_ouvert = false;
		document.forms['form_reponse'].reset();
		open_rep_part = 0;
		$('form_reponse_part2').style.display = "none";
		$('form_reponse_part1').style.display = "none";
		$('form_reponse_suite').style.display = "none";
	}
}


function validFormAvis() {
	if (treating_form_avis) return;
	treating_form_avis = true;	
	
    var form = document.forms["form_avis"];
    var isValid = 0;

    if (isEmptyTextField(form.name, true)) {
		if (isValid == 0) isValid = 1;
	}

    if (!isValidEmailField(form.mail, true)) {
		if (isValid == 0) isValid = 1;
	}

	if (!isDropDownSelected(form.sejour_mois, true, "0")) {
		if (isValid == 0) isValid = 1;
	}

	if (!isDropDownSelected(form.sejour_annee, true, "0")) {
		if (isValid == 0) isValid = 1;
	}

	if (isEmptyTextField(form.titre, true)) {
		if (isValid == 0) isValid = 1;
	}

	if (isEmptyTextField(form.texte, true, 50)) {
		if (isValid == 0) isValid = 1;
	}

    if (rating_globale.value == 0) {
    	if (isValid == 0) {
    		isValid = 2;
    	}
    	$('avis_form_ratings').style.border = "1px solid red";
    } else {
		$('avis_form_ratings').style.border = "";
    }

    if (isValid != 0) {
    	if (isValid == 1) alert("Veuillez remplir les champs obligatoire du formulaire.");
    	if (isValid == 2) alert("Vous devez mettre une note globale supérieure à 0");
    	treating_form_avis = false;
        return;
    }

    var data = "";
    data += "name=" + trim(form.name.value).replace(/&/g, "et");;
    data += "&mail=" + trim(form.mail.value);
    data += "&sejour_mois=" + trim(form.sejour_mois.value);
    data += "&sejour_annee=" + trim(form.sejour_annee.value);
    data += "&type_sejour=" + trim(form.type_sejour.value);
    data += "&age=" + trim(form.age.value);
    data += "&titre=" + trim(form.titre.value).replace(/&/g, "et");
    data += "&texte=" + trim(form.texte.value).replace(/&/g, "et");
    data += "&plus=" + (form.plus.value ? trim(form.plus.value) : "");
    data += "&moins=" + (form.moins.value ? trim(form.moins.value) : "");
    data += "&idhotel=" + trim(form.idhotel.value);
    data += "&type=0";
    data += "&recommande=" + (form.recommande1.checked ? "1" : (form.recommande0.checked ? "0" : "2"));
    if (form.recommande1.checked) {
        for (i = 0; i <= 17; i++) {
            if ($("recommande_a_" + i).checked) {
                data += "&recommande_a_" + i + "=1";
            } else {
                data += "&recommande_a_" + i + "=0";
            }
        }
    }
    data += "&accept_mail=" + (form.accept_mail.checked ? "true" : "false");
    data += "&accept_news=" + (form.accept_news.checked ? "1" : "0");
    data += "&participe_concours=" + (form.participe_concours.checked ? "true" : "false");
    data += "&confort=" + rating_confort.value;
    data += "&equipements=" + rating_equipements.value;
    data += "&services=" + rating_services.value;
    data += "&emplacement=" + rating_emplacement.value;
    data += "&accueil=" + rating_accueil.value;
    data += "&globale=" + rating_globale.value;

    PostFormData("/hotel/ajax/ajouteravis.aspx", data, resultat_avis);
}

function validFormQuestion() {
	if (treating_form_question) return;
	treating_form_question = true;

	var form = document.forms["form_question"];
	var isValid = 0;

	if (!isDropDownSelected(form.theme, true)) {
		if (isValid == 0) isValid = 1;
	}

	if (isEmptyTextField(form.titre, true)) {
		if (isValid == 0) isValid = 1;
	}

	if (isEmptyTextField(form.texte, true)) {
		if (isValid == 0) isValid = 1;
	}
	if (isEmptyTextField(form.texte, true, -1, 1000)) {
		if (isValid == 0) isValid = 2;
	}

	if (isEmptyTextField(form.name, true)) {
		if (isValid == 0) isValid = 1;
	}

	if (!isValidEmailField(form.mail, true)) {
		if (isValid == 0) isValid = 1;
	}

	if (isValid != 0) {
		if (isValid == 1) alert("Veuillez remplir les champs obligatoires du formulaire.");
		if (isValid == 2) alert("Votre question dépasse la taille autorisée : 1000 caractères.");
		treating_form_question = false;
		return;
	}

	var data = "";
	data += "name=" + trim(form.name.value).replace(/&/g, "et");
	data += "&mail=" + trim(form.mail.value);
	data += "&type=1";
	data += "&age=" + trim(form.age.value);
	data += "&titre=" + trim(form.titre.value).replace(/&/g, "et");
	data += "&theme=" + form.theme.value;
	data += "&texte=" + trim(form.texte.value).replace(/&/g, "et");
	data += "&idhotel=" + trim(form.idhotel.value);
	data += "&dpt=" + trim(form.departement.value);
	data += "&accept_mail=" + (form.accept_mail.checked ? "true" : "false");
	data += "&accept_news=" + (form.accept_news.checked ? "true" : "false");
	data += "&participe_concours=" + (form.participe_concours.checked ? "true" : "false");

	PostFormData("/hotel/ajax/ajoutermessage.aspx", data, resultat_message);
}

function validFormReponse() {
	if (treating_form_reponse) return;
	treating_form_reponse = true;

	var form = document.forms["form_reponse"];
	var isValid = 0;

	if (isEmptyTextField(form.texte, true)) {
		if (isValid == 0) isValid = 1;
	}
	if (isEmptyTextField(form.texte, true, -1, 1000)) {
		if (isValid == 0) isValid = 2;
	}

	if (!isDropDownSelected(form.known, true)) {
		if (isValid == 0) isValid = 1;
	} else {
		known = parseInt(trim(form.known.value));

		name = "";
		mail = "";
		type = 0;
		if (known == 5) {
			type = 2;

			if (isEmptyTextField(form.name2, true)) {
				if (isValid == 0) isValid = 1;
			}
			name = trim(form.name2.value);

			if (isEmptyTextField(form.fonction, true)) {
				if (isValid == 0) isValid = 1;
			}

			if (!isValidEmailField(form.mail2, true)) {
				if (isValid == 0) isValid = 1;
			}
			mail = trim(form.mail2.value);

			if (trim(form.siteweb.value).indexOf("http://") != 0) {
				form.siteweb.value = "http://" + trim(form.siteweb.value);
			}
		} else {
			type = 3;

			if (isEmptyTextField(form.name1, true)) {
				if (isValid == 0) isValid = 1;
			}
			name = trim(form.name1.value);

			if (!isValidEmailField(form.mail1, true)) {
				if (isValid == 0) isValid = 1;
			}
			mail = trim(form.mail1.value);

			if (!isDropDownSelected(form.age, true)) {
				if (isValid == 0) isValid = 1;
			}
		}
	}

	if (isValid != 0) {
		if (isValid == 1) alert("Veuillez remplir les champs obligatoires du formulaire.");
		if (isValid == 2) alert("Votre message dépasse la taille autorisée : 1000 caractères.");
		treating_form_reponse = false;
		return;
	}

	var data = "";
	data += "name=" + name.replace(/&/g, "et");;
	data += "&mail=" + mail;
	data += "&type=" + type;
	data += "&age=" + trim(form.age.value);
	data += "&texte=" + trim(form.texte.value).replace(/&/g, "et");
	data += "&known=" + trim(form.known.value);
	data += "&idhotel=" + trim(form.idhotel.value);
	data += "&idquest=" + trim(form.idquest.value);
	data += "&idrepa=" + trim(form.idrepa.value);
	data += "&dpt=" + trim(form.departement.value);
	data += "&fonction=" + trim(form.fonction.value).replace(/&/g, "et");
	data += "&web=" + trim(form.siteweb.value);
	data += "&accept_mail=" + (form.accept_mail.checked ? "true" : "false");
	data += "&accept_news=" + (form.accept_news.checked ? "true" : "false");
	data += "&participe_concours=" + (form.participe_concours.checked ? "true" : "false");

	PostFormData("/hotel/ajax/ajoutermessage.aspx", data, resultat_message);
}

function AfficheRecommandationListe(bool) {
    if (bool && !rec_liste_state) {
        Effect.BlindDown('recommande_a');
        rec_liste_state = true;
    }
    if (!bool && rec_liste_state) {
        Effect.BlindUp('recommande_a');
        rec_liste_state = false;
    }
}

function resultat_avis(xhr) {
	var text = parseInt(xhr.responseText);

	switch (text) {
		//reponse ok
		case 1:
			avis_deja_redige = true;
			$('form_avis').innerHTML = '<p id="resultat" class="resultat"><img src="/img/theme/' + theme + '/concours/Valid_vert_1.gif" height="50px"/>Votre avis a bien été enregistré !<br/><br/><span class="replay">Je multiplie mes chances de gagner un appareil photo :<br/><a href="/hotel/fr/pays_' + pays_id + '_' + pays_rewriting + '.asp">Donnez votre avis sur un autre hôtel</a><br/><br/><span class="info">1 avis rédigé = 1 chance de gagner</span></p>';
			$('tab_avis').removeChild($('open_form_avis'));
			$('tab_avis').removeChild($('h2_form_avis'));
			ScrollToNode($('onglets'));
			break;

		// l'avis existe deja pour cet email et cet hotel 
		case 3:
			avis_deja_redige = true;
			alert("Vous avez déja rédigé un avis pour cet hôtel");
			Effect.BlindUp('form_avis');
			break;

		// erreur 
		default:
			alert("Une erreur s'est produite, votre avis n'a pas été pris en compte.");
			break;
	}
	
	treating_form_avis = false;
}

function resultat_message(xhr) {
	var text = parseInt(xhr.responseText);
	var deti = null;
	cpt_message_ajoute++;

	switch (text) {
		// question ok
		case 1:
			desti = "$('post_liste')";
			html = '<div class="post question" id="message_ajoute_'+cpt_message_ajoute+'"><div class="titre"><h3>" Votre question sera ici ! "</h3></div><img src="/img/theme/default/hotel/fiche_hotel/picto_forum.gif" alt="" class="picto"><img class="valid" alt="" src="/img/theme/' + theme + '/concours/Valid_vert_1.gif" height="50px"/><p class="textevalid">" Votre question a bien été enregistrée, après validation vous recevrez un email de confirmation. "</p><div class="clear"></div></div>';
			eval(desti).innerHTML += html;
			try {
				fermeFormQuestion();
			} catch (ex) {}
			treating_form_question = false;
			break;

		// reponse hotelier ok
		case 2:
			desti = "$('form_reponse').parentNode";
			html = '<div class="post hotelier" id="message_ajoute_'+cpt_message_ajoute+'"><div class="titre"><h3>Votre message sera ici !</h3></div><img alt="" class="picto" src="/img/theme/default/hotel/picto_lit_35x35.png"><img class="valid" alt="" src="/img/theme/' + theme + '/concours/Valid_vert_1.gif" height="50px"/><p class="textevalid">" Votre message a bien été enregistré, après validation vous recevrez un email de confirmation. "</p><div class="clear"></div></div>';
			eval(desti).innerHTML += html;
			try {
				fermeFormReponse();
			} catch (ex) {}
			treating_form_reponse = false;
			break;
		// reponse utilisateur ok
		case 3:
			desti = "$('form_reponse').parentNode";
			html = '<div class="post reponse" id="message_ajoute_'+cpt_message_ajoute+'"><div class="titre"><h3>Votre message sera ici !</h3></div><img alt="" class="picto" src="/img/theme/default/hotel/fiche_hotel/picto_forum.gif"><img class="valid" alt="" src="/img/theme/' + theme + '/concours/Valid_vert_1.gif" height="50px"/><p class="textevalid">" Votre message a bien été enregistré, après validation vous recevrez un email de confirmation. "</p><div class="clear"></div></div>';
			eval(desti).innerHTML += html;
			try {
				fermeFormReponse();
			} catch (ex) {}
			treating_form_reponse = false;
			break;

		// erreur
		default:
			alert("Une erreur s'est produite, votre message n'a pas été pris en compte.");
			treating_form_reponse = false;
			return;
	}

	if (desti)
		setTimeout('ScrollToNode($("message_ajoute_'+cpt_message_ajoute+'"))',350);
	
}

function charte() {
	url = "/concours/charte.pdf"
	window.open(url, '', 'toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=660,height=520,left=0,top=0');
}

function reglement() {
	url = "/concours/reglement_jeu_avis.pdf"
	window.open(url, '', 'toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=660,height=520,left=0,top=0');
}

function check_recommande(elt) {
	Count = 0;
	for (i=0; i<=17; i++) {
		if ($("recommande_a_" + i).checked) {
			Count = Count + 1;
		}
	}
	if (Count > 6) {
		elt.checked = false;
	}
}

function gere_moteur(link) {
	if (moteur_open) {
		$('open_moteur').innerHTML = "Modifier votre recherche";
		Effect.BlindUp('moteur');
		moteur_open = false;
	} else {
		$('open_moteur').innerHTML = "Fermer";
		Effect.BlindDown('moteur');
		moteur_open = true;
	}
}

open_rep_part = 0;
function checkReponseType(value) {
	if (value == "")
		value = -1;
	else
		value = parseInt(value);
	t_open_rep_part = open_rep_part;

	if (value == 5) {
		t_open_rep_part = 2;
	} else if (value == -1) {
		t_open_rep_part = 0;
	} else {
		t_open_rep_part = 1;
	}

	if (t_open_rep_part == open_rep_part) {
		return;
	}

	if (t_open_rep_part == 0) {
		// fermer
		Effect.BlindUp('form_reponse_suite', { duration: 0.35 });
	} else {
		if (open_rep_part == 0) {
			// ouvrir
			if (value == 5) {
				$('form_reponse_part2').style.display = "";
				$('form_reponse_part1').style.display = "none";
			} else {
				$('form_reponse_part2').style.display = "none";
				$('form_reponse_part1').style.display = "";
			}
			Effect.BlindDown('form_reponse_suite', { duration: 0.35 });
		} else {
			// fermer puis reouvrir
			Effect.BlindUp('form_reponse_suite', { duration: 0.35 });
			suite = ''
					+ 'if ('+value+' == 5) {'
					+ '	 $("form_reponse_part2").style.display = "";'
					+ '	 $("form_reponse_part1").style.display = "none";'
					+ '} else {'
					+ '	 $("form_reponse_part2").style.display = "none";'
					+ '	 $("form_reponse_part1").style.display = "";'
					+ '}';
			setTimeout(suite, 375);
			setTimeout('Effect.BlindDown("form_reponse_suite", { duration: 0.35 });', 450);
		}
	}

	open_rep_part = t_open_rep_part;
}

function showForumHelp() {
	var div = $('forumHelp');
	div.innerHTML = forum_help_text;
	div.style.display="block";
}

function hideForumHelp() {
	var div = $('forumHelp');
	div.style.display="none";
}

function showMessageTwitter() {
    var div = $('messageDiv');
    var par = $('messageDivText');
    par.innerHTML = text_twitter;
    div.style.display = "block";
    document.getElementById("petiteFleche").style.left = "3px";
}

function hideMessageTwitter() {
    var div = $('messageDiv');
    div.style.display = "none";
}

function showMessageMail() {
    var div = $('messageDiv');
    var par = $('messageDivText');
    par.innerHTML = text_email;
    div.style.display = "block";
    document.getElementById("petiteFleche").style.left = "34px";
}

function hideMessageMail() {
    var div = $('messageDiv');
    div.style.display = "none";
}

function trierForum(sort) {

	switch (sort) {
		case "1": // plus recent au plus vieux
			for (i=0; i < tab_question.length; i++) {
				$('post_liste').appendChild($('bloc_forum_'+i));
			}
			break;
		case "2": // plus vieux au plus récent
			for (i=0; i<(tab_question.length); i++) {
				j = tab_question.length-1 - i;
				$('post_liste').appendChild($('bloc_forum_'+j));
			}
			break;
	}
}

function PartageMail(id) {
    url = "http://www.voyagermoinscher.com/hotel/fr/PartageHotel.aspx?hotelId="+id;
    //url = "http://vmc-srv-100/hotel/fr/PartageHotel.aspx?hotelId=" + id;
    //url = "http://localhost/hotel/fr/PartageHotel.aspx?hotelId=" + id;
    window.open(url, '', 'toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=670,height=510,left=0,top=0');
}

function GoModifierHotel(id) {
    window.location.href = "/bas/proposerhotel.aspx?hotelid=" + id;
}

