
var div_courante = '';
var vitesse = 100;
var nb_contener;//le nombre de div qui contient du contenue
var temps = 10000;//le temps entre 2 interchangement
var effet = 'on';//active ou non l'effet swap
var onglet_courant = 1;//on commence à l'onglet 1 
var onglet_courant_interview = 0;//on commence à l'onglet 1 pour l'universel
var swap_encour = 0;
var run_auto = 0;
var vitesse_interview = 100;

/*les paramètre dans l'ordre
param_vitesse (en milliseconde): le temps de défilement
param_nb_contener : le nombre d'interview
param_temps (en milliseconde): le temps entre 2 interchangement(non effectif)
param_run_auto (1 ou 0) : savoir si on active ou non le passage auto des interview
*/
function swap_parametre_interview(param_nb_contener,param_vitesse,param_temps,param_run_auto){
	vitesse_interview = param_vitesse;
	temps = param_temps;
	nb_contener = param_nb_contener;
	run_auto = param_run_auto;
}
//fonction qui permet d'utiliser l'effet swap sur les interview
/*
contenue = l'id de l'onglet qui contient tous les contenue d'onglet du swap
id = (l'id des différents contenue du swap) soit l'id de quelque chose de précis soit le début de l'id de queqlue chose qui sera compléter avec le paramètre numero (onglet_ et numero = 1 fera onglet_1)
direction = direction horizontale(fonctionnel) ou vertical(non fonctionnel)
numero[optionnel] = soit un numéro d'identification soit suiv pour incrémenté l'onglet vcourant soit prec pour décrémenté
*/
function swap_interview(contenue,id,direction,numero){
	if(numero == undefined)
		numero = '';
	if(numero == 'suiv'){
		onglet_courant_interview ++;
		numero = onglet_courant_interview;
	}
	if(numero == 'prec'){
		onglet_courant_interview --;
		numero = onglet_courant_interview;
	}
	//si on est à la première vidéos on affiche pas le bouton précédent
	if(numero == 0){
		if(document.getElementById('precedent_int1'))//cas ou il y a aussi les fleche en haut (double)
			document.getElementById('precedent_int1').style.display = 'none';
		document.getElementById('precedent_int').style.display = 'none';
	}
	else{
		if(document.getElementById('precedent_int1'))//cas ou il y a aussi les fleche en haut (double)
			document.getElementById('precedent_int1').style.display = 'block';
		document.getElementById('precedent_int').style.display = 'block';
	}
	
	var suivant = numero + 1;
	//si il y a un suivant on affiche le bouton suivant
	if(document.getElementById(id+suivant)){
		if(document.getElementById('suivant_int1'))//cas ou il y a aussi les fleche en haut (double)
			document.getElementById('suivant_int1').style.display = 'block';
		document.getElementById('suivant_int').style.display = 'block';
	}
	else{
		if(document.getElementById('suivant_int1'))//cas ou il y a aussi les fleche en haut (double)
			document.getElementById('suivant_int1').style.display = 'none';
		document.getElementById('suivant_int').style.display = 'none';
	}
	/***ATTENTION CETTE PARTIE EST EN CORRESPONDANCE AVEC LA FONCTION load_videov2 DANS animation.js***/
	//si on est en train de visionner une vidéos et qu'on clique sur suivant/precedent alors on arrete la vidéo en cour
	if(visionnage)
		cache_videov2(div_en_cour,donne_en_cour);//on récupère la div en cour de lecture ainsi que ses donné (id_article,width et height la plupart du temps)
	/***********************************************************************************************/
	//on récupère la position final de la div (taille de la div de l'interview ou la position de la suivante)
	//taille_element_int = document.getElementById(id+numero).offsetWidth*(onglet_courant_interview);
	taille_element_int = document.getElementById(id+numero).style.left;
	var contenue_onglet = document.getElementById(contenue);
	swapped_interview = setInterval(function(){effet_swap_interview(contenue_onglet,taille_element_int,direction);},vitesse_interview);
}

/*les paramètre dans l'ordre
taille_div : taille des div qui recevront le contenu
nb_div : nombre de div qui recevront le contenu
vitesse_swap (en milliseconde): le temps de défilement
temp_swap (en milliseconde): le temps entre 2 interchangement
*/
function swap_parametre(param_nb_contener,param_vitesse,param_temps,param_run_auto){
	vitesse = param_vitesse;
	temps = param_temps;
	nb_contener = param_nb_contener;
	run_auto = param_run_auto;
}
//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);
	var reg=new RegExp("("+pattern+")", "g");
	my_string = my_string.replace (reg, remplace);
	
	return my_string;
}

function preg_replace_simple2(pattern,remplace,string){

	var my_string = String (string);
	var reg=new RegExp("("+pattern+")", "g");
	my_string = my_string.replace (reg, remplace);
	
	return my_string;
}

var i =0;
//contenue_onglet la div qui contient le contenue
//c'est la meme foncton que effet_swap mais apparement il ya des conflit entre les 2 si on utilise la meme fonction dans des setinterval
function effet_swap_interview(contenue_onglet,position_final,direction){
	//de gauche à droite on inverse les position final
	if(direction == 'H'){
		position_final = preg_replace_simple('px','',position_final);
		position_final = preg_replace_simple('pt','',position_final);
		position_final = -position_final;
	}
	if(direction == 'H'){
		var position = contenue_onglet.style.left;
		var temp;
		var decale;
		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);
			decale = temp/10;//on divise par 10 pour avoir un décalage pas trop rapide
			if(decale > -2)
				decale = - 2;
			/*if(document.getElementById('debug_inter')){
				document.getElementById('debug_inter').innerHTML = i+"GD"+contenue_onglet.style.left+" position "+position+" pos final "+position_final+" decale "+decale+" temp "+temp;
			}*/
			contenue_onglet.style.left = parseInt(position) + parseInt(decale);
			if(temp >= -2){//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;
				clearInterval(swapped_interview);
			}//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 = temp/10;
				if(decale <= 2)
					decale = 2;
				/*if(document.getElementById('debug_inter')){
					document.getElementById('debug_inter').innerHTML = i+"DG"+contenue_onglet.style.left+" position "+position+" pos final "+position_final+" decale "+decale+" temp "+temp;
				}*/
				contenue_onglet.style.left = parseInt(position) + parseInt(decale);
				if(temp <= 2){//on vérifie si on est arrivé au bout (2 car 1 sa ne passe pas)
					contenue_onglet.style.left = position_final;
					clearInterval(swapped_interview);
				}//fin decale compris entre 1 et -1
			}//fin déplacement de droite à gauche
		}
		i++;
	}
	
	//swap vertical (non fonctionnel)
	if(direction == 'V'){
		if(contenue_onglet.style.top <= -position_final){
			clearInterval(swapped_interview);
		}
	}
}

//contenue_onglet la div qui contient le contenue
function effet_swap(contenue_onglet,position_final,direction){
	
	//de gauche à droite on inverse les position final
	if(direction == 'H' || direction == 'V')
		position_final = -position_final;
	if(direction == 'H'){
		var position = contenue_onglet.style.left;
		var temp;
		var decale;
		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);
			decale = temp/10;//on divise par 10 pour avoir un décalage pas trop rapide
			if(decale > -2)
				decale = - 2;
			/*if(document.getElementById('debug_swap')){
				document.getElementById('debug_swap').innerHTML = contenue_onglet.style.left+" position "+position+" pos final "+position_final+" decale "+decale+" temp "+temp;
			}*/
			contenue_onglet.style.left = parseInt(position) + parseInt(decale)+"px";
			if(temp >= -2){//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;
				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 = temp/10;
				if(decale <= 2)
					decale = 2;
				contenue_onglet.style.left = parseInt(position) + parseInt(decale)+"px";
				if(temp <= 2){//on vérifie si on est arrivé au bout (2 car 1 sa ne passe pas)
					contenue_onglet.style.left = position_final;
					swap_encour = 0;
					clearInterval(swapped);
				}//fin decale compris entre 1 et -1
			}//fin déplacement de droite à gauche
		}
	}
	else{
		var position = contenue_onglet.style.top;
		var temp;
		var decale;
		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);
			decale = temp/10;//on divise par 10 pour avoir un décalage pas trop rapide
			if(decale > -2)
				decale = - 2;
			/*if(document.getElementById('debug_swap')){
				document.getElementById('debug_swap').innerHTML = contenue_onglet.style.top+" position "+position+" pos final "+position_final+" decale "+decale+" temp "+temp;
			}*/
			contenue_onglet.style.top = parseInt(position) + parseInt(decale)+"px";
			if(temp >= -2){//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.top = position_final;
				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 = temp/10;
				if(decale <= 2)
					decale = 2;
				contenue_onglet.style.top = parseInt(position) + parseInt(decale)+"px";
				if(temp <= 2){//on vérifie si on est arrivé au bout (2 car 1 sa ne passe pas)
					contenue_onglet.style.top = position_final;
					swap_encour = 0;
					clearInterval(swapped);
				}//fin decale compris entre 1 et -1
			}//fin déplacement de droite à gauche
		}
	}
}
//fonction qui peremt de lancer le swap_auto
function run_swap_auto(direction){
	if(direction == undefined)
		direction = "H";
	if(run_auto == 1)
		run_swapped_auto = setInterval(function(){swap_auto(direction);},temps);
}
//fonction qui permet de swapper automatiquement
function swap_auto(direction){
	
	if(run_auto == 1){
		swap_encour = 1;//on signale qu'un swap est en cour
		onglet_courant = parseInt(onglet_courant) + 1;
		//si jamais l'onglet courant dépasse le nombre d'onglet alors on revien à 0
		if(onglet_courant > nb_contener)
			onglet_courant = 1;
		var mon_onglet = document.getElementById("onglet"+onglet_courant);
		for(i = 1 ; i <= nb_contener ; i++){
			document.getElementById("onglet"+i).className = 'swap_onglet_off';
		}
		mon_onglet.className = 'swap_onglet_on';
		if(direction == "H")
			taille_element = document.getElementById("contenue_onglet"+onglet_courant).offsetWidth*(onglet_courant-1);
		else{
			taille_element = preg_replace_simple('px','',document.getElementById("swap").style.height);
			taille_element = preg_replace_simple('pt','',taille_element);
			taille_element = taille_element*(onglet_courant-1);
		}
		var contenue_onglet = document.getElementById("contenue_onglet");
		swapped = setInterval(function(){effet_swap(contenue_onglet,taille_element,direction);},vitesse);
	}	
}

function swap(onglet,direction){

	run_auto = 0;//on arrete le run auto pour eviter que le swap auto arrive lors du swap entre 2 themes
	/*if(run_auto == 1)
		clearInterval(run_swapped_auto);*/
		
	var mon_onglet = document.getElementById("onglet"+onglet);
	for(i = 1 ; i <= nb_contener ; i++){
		document.getElementById("onglet"+i).className = 'swap_onglet_off';
	}
	mon_onglet.className = 'swap_onglet_on';
	if(direction == "H")
		taille_element = document.getElementById("contenue_onglet"+onglet).offsetWidth*(onglet-1);
	else{
		taille_element = preg_replace_simple2('px','',document.getElementById("swap").style.height);
		taille_element = preg_replace_simple2('pt','',taille_element);
		taille_element = taille_element*(onglet-1);
	}
	onglet_courant = parseInt(onglet);
	if(direction == 'H')
		var position = document.getElementById("contenue_onglet"+onglet).style.left;
	else{
		var position = document.getElementById("contenue_onglet"+onglet).style.top;
	}
		
	var contenue_onglet = document.getElementById("contenue_onglet");
	
	position = preg_replace_simple('px','',position);
	if(effet == 'on' && swap_encour == 0){
		swap_encour = 1;
		swapped = setInterval(function(){effet_swap(contenue_onglet,taille_element,direction);},vitesse);
	}
	else{
		if(swap_encour == 0){
			if(direction == 'H')
				contenue_onglet.style.left = -position;
			else{
				contenue_onglet.style.top = -position;
			}
		}
	}
}


var effect = null;
//fonction qui permet de donner un effet de appear/disappear pour les articles scientifiques
function affiche_article(num_div){
	//si aucune div courante n'est ouverte
	if(div_courante == ''){
		document.getElementById('categorie_'+num_div).className = "swap_categorie_on";
		div_courante = num_div;
		Effect.Appear('article_'+num_div);
	}
	else{
		if(div_courante == num_div){
			/*document.getElementById('categorie_'+div_courante).className = "";
			Effect.Fade('article_'+num_div);
			div_courante = '';*/
			var temp;//pour éviter que l'article courant disparaisse sans réaparaitre
		}
		else{
			Effect.Fade('article_'+div_courante);
			document.getElementById('categorie_'+div_courante).className = "";
			div_courante = num_div;
			document.getElementById('categorie_'+div_courante).className = "swap_categorie_on";
			setTimeout(function(){Effect.Appear('article_'+num_div);},700)
		}
	}
}

//fonction qui permet de sélectionner une image et d'afficher son contenu
function selection(nom_div,num_div){
	//on rend toutes les autre div non selectionner
	for(var i = 0; i < 10 ; i++){
		if(document.getElementById(nom_div+'_image_'+i)){
			document.getElementById(nom_div+'_image_'+i).className = '';
			document.getElementById(nom_div+'_detail_'+i).style.display = "none";
		}
	}
	document.getElementById(nom_div+'_image_'+num_div).className = "sel";
	document.getElementById(nom_div+'_detail_'+num_div).style.display = "block";
}