//pour les effet de défilement de la liste des orateur (liste_orateur_accueil.php) sur l'accueil ainsi que pour l'affichage dans le programme
//A besoin de la librairie prototype


//liste des orateur dasn le cas ou l'orateur à plusieurs communications
function load_communication(id_auteur){
	update_ajax("auteur_"+id_auteur,'ajax/ajax_get_html_load_communication.php','id_auteur='+id_auteur);
	document.getElementById("auteur_"+id_auteur).style.display = 'block';
}
//l'affichage des communications dans le programme
function affiche_communication(id_communication){
	if(id_communication.match('all')){
		var but_jour = $('button_'+id_communication);
		var session_communication = getElementsByClass(id_communication);
		var nb_class = session_communication.length;
		var display = "none";
		if(but_jour.src.match('/images_index/plus.jpg')){
			display = "block";
			but_jour.src = 'http://imedia.congresmg2009.mediscoop.net/images_index/moins.jpg';
		}
		else
			but_jour.src = 'http://imedia.congresmg2009.mediscoop.net/images_index/plus.jpg';
		for(var i = 0; i < nb_class ; i ++){
			session_communication[i].style.display = display;
		}
	}
	else{
		var el = $('session'+id_communication);
		var el_but = $('button_session'+id_communication);
		if(el.style.display == 'block'){
			el.style.display = 'none';
			el_but.src  = 'http://imedia.congresmg2009.mediscoop.net/images_index/plus.jpg';
		}
		else{
			el.style.display = 'block';
			el_but.src  = 'http://imedia.congresmg2009.mediscoop.net/images_index/moins.jpg';
		}
	}
}

//on ne remplace que 1 seul fois la chaine (pour le swap on as besoin que de sa) preg_replace plus complet dans ajax.js
function preg_replace_simple(pattern,remplace,string){

	var my_string = String (string);
	my_string = my_string.replace (pattern, remplace);
	
	return my_string;
}

var page_courant = 0;//la position de la liste des orateur
var swap_encour = 0;
var position_final;//la position que doit atteindre la div qui défile
//contener : id de la div qui contient le champ à faire défiler
function defile_horizontal(contener,direction,taille_element){
	
	var nb_contener = getElementsByClass("contener_orateur").length - 2;
	var contenue = document.getElementById(contener);
	if(taille_element == undefined){
		taille_element = contenue.offsetWidth;
		if(taille_element == 0)
			taille_element = contenue.style.width;
	}
	if(direction == 'suiv'){
		page_courant = page_courant + 1;
		if(page_courant >= 1){
			document.getElementById('fleche_top_g').style.visibility = 'visible';
			document.getElementById('fleche_bottom_g').style.visibility = 'visible';
			if(page_courant >= nb_contener){
				document.getElementById('fleche_top_d').style.visibility = 'hidden';
				document.getElementById('fleche_bottom_d').style.visibility = 'hidden';
			}
		}
	}
	if(direction == 'prec'){
		page_courant = page_courant - 1;
		if(page_courant < 1){
			document.getElementById('fleche_top_g').style.visibility = 'hidden';
			document.getElementById('fleche_bottom_g').style.visibility = 'hidden';
		}
		else{
			if(page_courant < nb_contener){
				document.getElementById('fleche_top_d').style.visibility = 'visible';
				document.getElementById('fleche_bottom_d').style.visibility = 'visible';
			}
		}
	}
	taille_element = -taille_element*page_courant;
	position_final = taille_element;
	if(swap_encour == 0){
		swap_encour = 1;
		swapped = setInterval(function(){effet_defile(contenue);},20);
	}
}
//contener : id de la div qui contient le champ à faire défiler
function effet_defile(contenue_onglet){

	var position = contenue_onglet.style.left;
	var temp;
	var decale;//le décalage en pixel
	var temp_position;//pour savoir si à la prochaine itération on dépasse la taille
	position = preg_replace_simple('px','',position);
	position = preg_replace_simple('pt','',position);
	//on regarde si on vas de droite à gauche ou de gauche à droite
	if(position >= position_final){//cas Gauche à Droite GD
		//on calcule la distance qui reste à parcourir plus la distance à parcourir est grand plus sa vas vite avec un effet de ralentissement vers la fin
		temp = parseInt(position_final) - parseInt(position);
		/*if(document.getElementById('debug_swap')){
			document.getElementById('debug_swap').innerHTML = contenue_onglet.style.left+" position "+position+" pos final "+position_final+" decale "+decale+" temp "+temp;
		}*/
		decale = parseInt(temp/8);
		temp_position = parseInt(position) + parseInt(decale);
		
		if(temp_position < position_final || decale > -10)
			decale = -10;
		contenue_onglet.style.left = parseInt(position) + parseInt(decale)+"px";
		if(temp > -5){//on vérifie si on est arrivé au bout (2 car 1 sa ne passe pas) onest en négatif car on se deplace de la droite vers la gauche
			contenue_onglet.style.left = position_final+"px";
			swap_encour = 0;
			clearInterval(swapped);
		}//fin decale compris entre 1 et -1
	}//fin déplacement de gauche à droite
	else{//pas testé
		if(position < position_final){//cas Droite à Gauche GD
			//on calcule la distance qui reste à parcourir plus la distance à parcourir est grand plus sa vas vite avec un effet de ralentissement vers la fin
			temp = parseInt(position_final) - parseInt(position);
			decale = parseInt(temp/8);
			temp_position = parseInt(position) + parseInt(decale);
			if(temp_position > position_final || decale < 10)
				decale = 10;
			contenue_onglet.style.left = parseInt(position) + parseInt(decale)+"px";
			if(temp < 5){//on vérifie si on est arrivé au bout (2 car 1 sa ne passe pas)
				contenue_onglet.style.left = position_final+"px";
				swap_encour = 0;
				clearInterval(swapped);
			}//fin decale compris entre 1 et -1
		}//fin déplacement de droite à gauche
	}
}

function affiche_liste_orateur(contener,direction){

	var nb_contener = getElementsByClass("contener_orateur").length - 2;
	nb_contener = nb_contener/2;
	document.getElementById(contener+page_courant).style.display = 'none';
	if(direction == 'suiv'){
		page_courant = page_courant + 1;
		if(page_courant >= 1){
			document.getElementById('fleche_top_g').style.visibility = 'visible';
			document.getElementById('fleche_bottom_g').style.visibility = 'visible';
			if(page_courant >= nb_contener){
				document.getElementById('fleche_top_d').style.visibility = 'hidden';
				document.getElementById('fleche_bottom_d').style.visibility = 'hidden';
			}
		}
	}
	if(direction == 'prec'){
		page_courant = page_courant - 1;
		if(page_courant < 1){
			document.getElementById('fleche_top_g').style.visibility = 'hidden';
			document.getElementById('fleche_bottom_g').style.visibility = 'hidden';
		}
		else{
			if(page_courant < nb_contener){
				document.getElementById('fleche_top_d').style.visibility = 'visible';
				document.getElementById('fleche_bottom_d').style.visibility = 'visible';
			}
		}
	}
	document.getElementById(contener+page_courant).style.display = 'block';
	
}


