var myShow;
var tabAffiche = ["descriptif", "carte", "photos", "dispo"];

function afficheDetail (id){

	document.getElementById(id).style.display = "block";
	document.getElementById("lien"+id).className = "lienactifrose";
	
	
	//on masque tous les autres 
	for(var i=0; i<=tabAffiche.length; i++){
		if(tabAffiche[i] != id){
			if(document.getElementById(tabAffiche[i])) {
				document.getElementById(tabAffiche[i]).style.display = "none";
				document.getElementById("lien"+tabAffiche[i]).className = "liennoirsousligne";
			}
		}
	}
	
	//map.checkResize();
	if(id == "carte"){
		map.checkResize();
		map.setCenter(point, 13);
	}
	
}

function affichePhoto(num, nbPhotos) {

	for(i=1; i<=nbPhotos; i++){
		if(i == num){
			document.getElementById('slide-'+i).style.display = "block";
			document.getElementById('slide-'+i).style.textalign = "center";
			document.getElementById('slide-'+i).style.margin = "0 auto";
		}else{
			document.getElementById('slide-'+i).style.display = "none";
		}
	}
}



var nbParticipants = 1;
var nbAccompagnateurs = 1;
var nbListes = 0;
var nbParticipantsTotal = 0;
var affects = new Array();

function ajouterParticipant(id){
	
	var prenom;
	var nom;
	var tarif;
	var liste_noms = document.getElementById(id);
	var idPersonne;
	var invite;
	
	switch(id){
		case "participants_congres":
			prenom = document.getElementById('prenomP').value;
			nom = document.getElementById('nomP').value;	
			tarif = document.getElementById('tarifP').value;
			libelleTarif = document.getElementById('tarifP').options[document.getElementById('tarifP').selectedIndex].text;
			invite = 1;
		break;
		case "accompagnateurs_tab":
			prenom = document.getElementById('prenomA').value;
			nom = document.getElementById('nomA').value;
			tarif = -1;
			libelleTarif = "&nbsp;";
			invite = 0;
		break;
	}
	// on vérifie que le nom et le prénom de la personne ont bien été saisis
	if(nom == "" || prenom == ""){
		alert(word['nom_prenom_ajout']);
		return "";
	}else{
		switch(id){
			case "participants_congres":	
				document.getElementById('prenomP').value = "";
				document.getElementById('nomP').value = "";
				document.getElementById('tarifP').options.selectedIndex = 0;
				nbParticipants++;
				
				break;
			case "accompagnateurs_tab":
				document.getElementById('prenomA').value = "";
				document.getElementById('nomA').value = "";
				//document.getElementById('tarifA').options.selectedIndex = 0;
				nbAccompagnateurs++;
				
				break;
		}
				
	}
	var nbRows = liste_noms.getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
	
	var newRow = liste_noms.getElementsByTagName('tbody')[0].insertRow(nbRows);
	
	var idPersonne = new UUID();

	newRow.id = 'p_'+id+'_'+idPersonne;
	
	var newCell = newRow.insertCell(0);
    newCell.innerHTML = prenom;
	newCell.className = "colonne1";
	
	var newCell = newRow.insertCell(1);
    newCell.innerHTML = nom;
	newCell.className = "colonne2";
	
	var newCell = newRow.insertCell(2);
    newCell.innerHTML = libelleTarif;
	newCell.className = "colonne3";
	
	var newCell = newRow.insertCell(3);
    newCell.innerHTML = '<a href="#" title="'+word['supprimer_participant']+'" onclick="supprimerParticipant(\''+id+'\', \''+idPersonne+'\');"><img src="images/bt-suppr-mini_'+lang+'.gif" alt="'+word['supprimer']+'" title="'+word['supprimer_participant']+'" /></a>';
	newCell.className = "colonne4";
	newCell.align = "right";
	
	ajouterDsListe(nom , prenom, idPersonne, invite);
	
	// remise en etat des styles sur les lignes
	appliquerStylesTableau(id);
	
	$.ajax({
	   type: "POST",
	   url: "majSession.php",
	   async:false,
	   data: "action=1&invite="+invite+"&nom="+nom+"&prenom="+prenom+"&idPersonne="+idPersonne+"&tarif="+tarif,
	   success: function(msg){
		 //alert( "Data Saved: "+   msg );
	   }
	 });
	
}

function supprimerParticipant(id, idPersonne){
	
	var ligneASupprimer = document.getElementById('p_'+id+'_'+idPersonne).rowIndex;
	
	var liste_personnes = document.getElementById(id);
	
	liste_personnes.deleteRow(ligneASupprimer);
	
	switch(id){
		case "participants_congres":	
			nbParticipants--;
			break;
		case "accompagnateurs_tab":
			nbAccompagnateurs--;
			break;
	}
		
	// remise en etat des styles sur les lignes
	appliquerStylesTableau(id);
	
	supprimerDsListe(idPersonne);
	
	$.ajax({
	   type: "POST",
	   url: "majSession.php",
	   async:false,
	   data: "action=2&idPersonne="+idPersonne,
	   success: function(msg){
		 //alert( "Data Saved: "+   msg );
	   }
	 });
	
}

function appliquerStylesTableau(id){
	var liste_noms = document.getElementById(id);
	var nbRows = liste_noms.getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
	var odd = 1;
	for(i=0; i<nbRows; i++){
		if(odd == 1){
			liste_noms.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[i].className = "fond_rose_clair";
			odd = 0;
		}else{
			liste_noms.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[i].className = "";
			odd= 1;
		}
	}
};

function ajouterDsListe(nom , prenom, idPersonne, invite){

	var tabAffectsId = new Array();
	
	for(i=0; i< nbListes; i++){
		tabAffectsId[i] = affects[i]['id'];
	}
	// pour ne pas mettre d'accompagnateur dans la première liste d'une chambre double
	var tabIdUniques = new Array();
	
	for(i=0; i< nbListes; i++){
		
		// si c'est un participant ou pour une activite on insere
		if(affects[i]['type'] == 2 || invite == 1){
			liste = document.getElementById('liste_'+i);
			liste.options[liste.options.length] = new Option(prenom+' '+nom, idPersonne);
			
		// si chambre simple et accompagnateur on l'ajoute pas dans les listes
		}else if(rechercheNbOccDansTab(tabAffectsId, affects[i]['id']) <= 1){
			
		// on vérifie que c'est un accompagnateur et que le groupe de liste est déjà présent dans tabIdUniques
		}else if(in_array(affects[i]['idUniqueV'], tabIdUniques)){
			
			liste = document.getElementById('liste_'+i);
			liste.options[liste.options.length] = new Option(prenom+' '+nom, idPersonne);
			
		}else{
			
			tabIdUniques.push(affects[i]['idUniqueV']);
			
			
		}
			
	}

}

function supprimerDsListe(idPersonne){

	var indexASupprimer;
	if(nbListes > 0){
		
		for(j=0; j< nbListes; j++){
			liste = document.getElementById('liste_'+j);
			for(i=0; i<liste.options.length; i++){
				if(idPersonne == liste.options[i].value)
					indexASupprimer = liste.options[i].index;
			}
			liste.options[indexASupprimer] = null;
			trierListe(liste);
		}
	}
	
}

function trierListe(liste){
	
	Liste = new Array();
	 
	for(i=0; i<liste.options.length; i++){
		Liste[i] = new Array();
		Liste[i][0] = liste.options[i].text;
		Liste[i][1] = liste.options[i].value;
	}
	Liste = Liste.sort();
	 
	for(i=0; i<liste.options.length; i++){
		liste.options[i].text = Liste[i][0];
		liste.options[i].value = Liste[i][1];
	}
 
}

function verifListes(){
	
	if(nbParticipants == 1){
		alert(word['aucun_participant'])
		return false;
	}else{
		
		var erreur = 0;
		for(i=0; i< nbListes; i++){
			liste = document.getElementById('liste_'+i);
			if(liste.options[liste.selectedIndex].value == "-1")
				erreur++
		}
		if(erreur > 0){
			alert(word['selection_totale']);
			return false;
		}else{
			// on vérifie que pour chaque groupe de liste, la même personne n'a pas été saisie deux fois
			if(!verifGroupeListe()){
				alert(word['meme_personne_act']);
				return false;
			}else if(!verifDoublonPersonneHebergement()){
				alert(word['meme_personne_meme_jour']);
				return false;
			}else{
				return envoyerSelection();
				//return false;
			}
		}
	}
};

function envoyerSelection(){
	
	erreur = 0;
	
	$.ajax({
		   type: "POST",
		   url: "majSession.php",
		   async:false,
		   data: "action=4",
		   success: function(msg){
			   
				
				for(i=0; i<affects.length; i++){
				
					liste = document.getElementById('liste_'+i);
					idP = liste.options[liste.selectedIndex].value;
					
							//alert("action=3&type="+affects[i]['type']+"&id="+affects[i]['id']+"&idPersonne="+idP+"&idUnique="+affects[i]['idUnique']);
					$.ajax({
					   type: "POST",
					   url: "majSession.php",
					   async:false,
					   data: "action=3&type="+affects[i]['type']+"&id="+affects[i]['id']+"&idPersonne="+idP+"&idUnique="+affects[i]['idUnique']+"&idUniqueV="+affects[i]['idUniqueV'],
					   success: function(msg){
							
					   },
					   error: function(msg){
							erreur++;
					   }
					 });
				}   
			   
			   
			},
			error: function(msg){
				erreur++;
		   }
		 });
	
	if(erreur > 0)
		return false;
	else
		return true;
	//
};

function verifGroupeListe(){

	for(j=0; j<affects.length; j++){
		if(affects[j]['type'] == 2){
			liste = document.getElementById('liste_'+j);
			idP = liste.options[liste.selectedIndex].value;
			if(chercheMemePersonne(j, affects[j]['idUniqueV'],idP)){
				//alert("personne trouvée dans une autre liste");
				return false;
				break;
			}
		}
			
	}
	return true;
};

function verifDoublonPersonneHebergement(){
	
	for(j=0; j<affects.length; j++){
		if(affects[j]['type'] == 1){
			liste = document.getElementById('liste_'+j);
			idP = liste.options[liste.selectedIndex].value;
			
			if(chercheMemePersonne2(j, affects[j]['idUniqueV'], affects[j]['jour'], idP)){
				//alert("personne trouvée dans une autre liste");
				return false;
				break;
			}
		}
			
	}
	return true;
};


function chercheMemePersonne(index, id, idPO){
	
	
	for(h=0; h<affects.length; h++){
		if(affects[h]['type'] == 2){
			liste = document.getElementById('liste_'+h);
			idP = liste.options[liste.selectedIndex].value;
		//	alert("h "+h+" index "+index+" idO "+id+" id" +affects[h]['idUnique']+" idPo "+idPO+" idP "+idP);
			if(index != h && affects[h]['idUniqueV'] == id && idPO == idP){
				return true;
				break;
			}
		}
		
	}
	//alert("personne pas trouvée dans une autre liste");
	return false;
}

function chercheMemePersonne2(index, id, jour, idPO){
	
	
	for(h=0; h<affects.length; h++){
		if(affects[h]['type'] == 1){
			liste = document.getElementById('liste_'+h);
			idP = liste.options[liste.selectedIndex].value;
		//	alert("h "+h+" index "+index+" idO "+id+" id" +affects[h]['idUnique']+" idPo "+idPO+" idP "+idP);
			if(index != h && affects[h]['idUniqueV'] != id && affects[h]['jour'] == jour && idPO == idP){
				return true;
				break;
			}
		}
		
	}
	//alert("personne pas trouvée dans une autre liste");
	return false;
}

function confirmDeleteResa(url){
	
	if(confirm(word['supression_chambre'])){
		document.location = url;
	}
}
function confirmDeleteActi(url){
	
	if(confirm(word['supression_activite'])){
		document.location = url;
	}

}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	  window.open(theURL,winName,features);
	}

function rechercheNbOccDansTab(tab, quoi){
	var nbOcc=0;
	for(elt in tab){
		if (tab[elt]==quoi){
			nbOcc++;
		}
	}
	return nbOcc;
}
function in_array(needle, haystack, argStrict) {

    var key = '', strict = !!argStrict;
 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
 
    return false;
}
