var IMAGEONGLET = "image/onglet.png";
var TAILLE_MAX = 30;// taille maximal du texte dans les onglets


var scrollPane = 10;
//objet tabpan(represente un "onglet")
var tabpan = function(varid, vartitre)
{
	this.titre = vartitre;
	this.id = varid;
	this.page=0;
	this.tabinfo = [];
	this.tabclick = [];
};

var tabpannel = []; //tableau d'onglets
var current_tab = ""; //l'onglet courant
//---------------------------------------------------------------------------------------------------
//Function ajax
function getXMLHttpRequest() {
	var xhr = null;
	
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
				
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Error: Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
	
	return xhr;
}

//recup en cas de fermeture
document.onunload = function(){alert("saved !");};

//----------------------------------------------------------------------------------
//appel ajax
function appel(page, args, bloc, erreur)
{
	var contenu_erreur = document.getElementById(""+bloc).innerHTML;
	document.getElementById(""+bloc).innerHTML = "chargement...";
	document.getElementById("img_ombre").style.height = (document.getElementById("pop_up").offsetHeight)+"px";
	var xhr = getXMLHttpRequest();

	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
		{
						if(bloc != "" && xhr.responseText!="Erreur")
						{
							document.getElementById(""+bloc).innerHTML = xhr.responseText;
							document.getElementById("img_ombre").style.height = (document.getElementById("pop_up").offsetHeight)+"px";
						}
						else
						{
                                if(bloc=="pop_up_content")
								{
									if(contenu_erreur.indexOf("erreur_popup") == -1)
									{
										document.getElementById(""+bloc).innerHTML = "<div id='erreur_popup' style='color:red;'>"+erreur+"</div><br>"+contenu_erreur;
										document.getElementById("img_ombre").style.height = (document.getElementById("pop_up").offsetHeight)+"px";
									}
									else
									{
										document.getElementById(""+bloc).innerHTML = contenu_erreur;
										document.getElementById("erreur_popup").innerHTML = erreur;
										document.getElementById("img_ombre").style.height = (document.getElementById("pop_up").offsetHeight)+"px";
									}
								}
								else
								{
										document.getElementById(""+bloc).innerHTML = contenu_erreur;
										document.getElementById("pop_up_content").innerHTML = erreur;
										open_pop_up(null, 600, null, 160, 100);
										document.getElementById("img_ombre").style.height = (document.getElementById("pop_up").offsetHeight)+"px";
								}
						}
		}

	};

	xhr.open("POST", page, true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send(args);
}

//----------------------------------------------------------------------------------
//Ferme la pop up
function close_pop_up()
{
	$j('#ombre').animate({'top':'-700px'},500,function(){});
	$j('#pop_up').animate({'top':'-700px'},500,function(){
            $j('#fond_pop_up').fadeOut('fast');
        });	
}

//----------------------------------------------------------------------------------
//Ouvre la pop up
function open_pop_up(import_js, width, height, top, time)
{
	document.getElementById("pop_up").style.width = width+"px";
	document.getElementById("img_ombre").style.width = (width-100)+"px";
	if(height!=null)
	{
		document.getElementById("pop_up").style.height = height+"px";
		document.getElementById("img_ombre").style.height = (height+10)+"px";
	}
	
    
		$j('#fond_pop_up').fadeIn('fast',function(){
				$j('#pop_up').animate({'top':''+top+'px'},time);
				$j('#ombre').animate({'top':''+(top+10)+'px'},time);
				});
}

//----------------------------------------------------------------------------------
//enleve les & d'une chaine de caractère
function escape(chainecar)
{
	var chaine = chainecar;
	chaine = chaine.replace("&", " $;;°$£$ ");
	
	return chaine;
}

//----------------------------------------------------------------------------------
//ajoute un onglet
function add_tab(id,titre)
{
	if(get_tab(id) == -1)
	{
		var tab = new tabpan(id,titre);		
		document.getElementById("tab_onglet").innerHTML += "<td id='"+id+"' onclick=\"open_tab(\'"+id+"\');\"><img style='position:relative;float:left;z-index:-1;height:30px' id='"+id+"_img' src='"+IMAGEONGLET+"' alt=''/><div class='titre' id='"+id+"_text'></div></td>";
		
		document.getElementById(id+"_text").innerHTML =  titre_trait(id,titre);
		tabpannel[tabpannel.length]=tab;
	}
}
//----------------------------------------------------------------------------------
//"ouvrir" un onglet
function open_tab(id)
{
	if(id+"_content" != current_tab)
	{			
		if(current_tab != "")
		{
			document.getElementById(current_tab).className = "tab_content";
			document.getElementById(id+"_content").className = "tab_content_vis";
			var anciennetab = current_tab.split("_content");
			$j('#'+anciennetab[0]).animate({'opacity':'0.5px'},500,function(){});	
			current_tab = id+"_content";
			//load_thumb(current_tab, 0);
			$j('#'+id).animate({'opacity':'0.9px'},500,function(){});	
		}
		else
		{
			document.getElementById(id+"_content").className = "tab_content_vis";
			current_tab = id+"_content";
		}
		
		
	}
}

//----------------------------------------------------------------------------------
//atteindre un membre du tabpan par son identifiant
function get_tab(id)
{
	var i = 0;
	var resultat = -1;
	
	for(i=0;i<tabpannel.length;i++)
	{
		//alert(id+"=="+tabpannel[i].id);
		if(id==tabpannel[i].id)
			resultat = i;
	}
	
	return resultat;
}

//----------------------------------------------------------------------------------
//Content des onglets
function add_tab_content(id,page)
{
	//document.getElementById("tabpannel").innerHTML += "<div class='tab_content' id='"+id+"_content'>"+id+"<input type='text' id='testinput'/></div>";
	
	var xhr = getXMLHttpRequest();

	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
		{
			var i=0;
			var liste_onglet = (xhr.responseText).split("$;;$");
			for(i=0;i<liste_onglet.length;i++)
			{
				if(xhr.responseText != "")
				{
					if(document.getElementById(id+"_content") == null)
					{
						var theNewParagraph = document.createElement('div');
						theNewParagraph.setAttribute("class","tab_content");
						theNewParagraph.id = id+"_content";
						load_thumb(id+"_content", false);
						theNewParagraph.innerHTML = xhr.responseText;
						document.getElementById('tabpannel').appendChild(theNewParagraph);
						open_tab(id);
					}
					else
					{
						var elm = document.getElementById(id+"_content");
						document.getElementById('tabpannel').removeChild(elm);
						tabpannel.splice(get_tab(id));
						elm = document.getElementById(id);
						document.getElementById('tab_onglet').removeChild(elm);
						load_thumb(id+"_content", false);

					}
				}
			}
		}

	};

	xhr.open("POST", page, true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send(null);
}

//----------------------------------------------------------------------------------
//chargement des onglets
function load_tab()
{
	var xhr = getXMLHttpRequest();

	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
		{
			var i=0;
			var liste_onglet = (xhr.responseText).split("$;;$");
			for(i=0;i<liste_onglet.length;i++)
			{
				if(liste_onglet[i] != "")
				{
					var liste_attribut = liste_onglet[i].split(";");
				
					add_tab(liste_attribut[0],liste_attribut[1]);
					add_tab_content(liste_attribut[0],liste_attribut[2]);
				}
			}
			
			//echangeTab("info_client","info_spa");
			$j('#gallerie-img-fond').animate({'opacity':'0px'},1,function(){});
			$j('#gallerie-img-help').animate({'opacity':'0.4px'},500,function(){});

			$j('#scrollsysytem').animate({'opacity':'0.3px'},1,function(){});
			//gestion du scroll
			//document.getElementById("tabMenu").style.left = document.getElementById("tabMenu").offsetWidth+"px";
			document.getElementById("tabMenuScroll").style.left = scrollPane+"px";
			
		}

	};

	xhr.open("POST", "tab_loader.php", true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send(null);
}

function scrollTabMenu(valeur)
{
	var bloc =  document.getElementById("tabMenuScroll");
 	var taille = bloc.offsetWidth;
 	if(taille>720)
 	{
 		var tailleLimit = -(taille-720);
 		//alert(scrollPane);
 		if(scrollPane >= tailleLimit && valeur<0)
 		{
 			scrollPane += valeur;
 			bloc.style.left = scrollPane+"px";
 		}
 		
 		if(scrollPane < 0 && valeur>0)
 		{
 			scrollPane += valeur;
 			bloc.style.left = scrollPane+"px";
 		}
 		
 	}
 	
}

//----------------------------------------------------------------------------------
//Traitement chaine de caractere titre des onglets
function titre_trait(id,titre)
{
		var nouveau_titre = titre;
		if(nouveau_titre.length>TAILLE_MAX)
		{
			nouveau_titre = nouveau_titre.substring(0, TAILLE_MAX)+"...";
		}
		if((nouveau_titre.length*7) > 48)
		{
			document.getElementById(id+"_img").style.width = (nouveau_titre.length*7+40)+"px";
			document.getElementById(id+"_text").style.width = (nouveau_titre.length*7+40)+"px";
			document.getElementById(id).style.width = "30px";
		}	
		else
		{
				document.getElementById(id+"_img").style.width = "70px";
				document.getElementById(id+"_text").style.width = "70px";
				document.getElementById(id).style.width = "30px";
		}
		return nouveau_titre;
}

function echangeTab(idtab1,idtab2)
{
	var temp = document.getElementById(idtab1).onclick;
	document.getElementById(idtab1).onclick = document.getElementById(idtab2).onclick;
	document.getElementById(idtab2).onclick = temp;
	
	temp = document.getElementById(idtab1+"_img").src;
	document.getElementById(idtab1+"_img").src = document.getElementById(idtab2+"_img").src;
	document.getElementById(idtab2+"_img").src = temp;
	
	temp = document.getElementById(idtab1+"_text").innerHTML;
	document.getElementById(idtab1+"_text").innerHTML = document.getElementById(idtab2+"_text").innerHTML;
	document.getElementById(idtab2+"_text").innerHTML = temp;
	
	temp = document.getElementById(idtab1+"_img").style.width;
	document.getElementById(idtab1+"_img").style.width = document.getElementById(idtab2+"_img").style.width;
	document.getElementById(idtab2+"_img").style.width = temp;
	
	temp = document.getElementById(idtab1+"_text").style.width;
	document.getElementById(idtab1+"_text").style.width = document.getElementById(idtab2+"_text").style.width;
	document.getElementById(idtab2+"_text").style.width = temp;
	
	
	temp = document.getElementById(idtab1+"").style.width;
	document.getElementById(idtab1+"").style.width = document.getElementById(idtab2+"").style.width;
	document.getElementById(idtab2+"").style.width = temp;
		
	temp = document.getElementById(idtab1+"").id;
	var temp2 = document.getElementById(idtab2+"").id;
	document.getElementById(idtab2+"").id = idtab2+"_transfere";
	document.getElementById(idtab1+"").id = temp2;
	document.getElementById(idtab2+"_transfere").id = temp;
}
