/*   
 *  Fonctions JavaScript - Ajax
 *  Espace clients Territoires V1.0
 *  (c) 2009 Vincent Elleon
 *
/*--------------------------------------------------------------------------*/

var rafraich;
var ready=true;


/*   
 *  Fonction qui simule une pause *
/*--------------------------------------------------------------------------*/
function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}


/*   
 *  Fonction qui selectionne ou deselectionne tous les checkbox *
/*--------------------------------------------------------------------------*/
function changeChkbox(nb) {
	for (var i=1; i<=nb;i++) { 
    	if (document.getElementById(i).checked == true){document.getElementById(i).checked = false;}
    	else document.getElementById(i).checked = true;
	}
}


/*   
 *  Fonction qui limite la selection a un checkbox *
/*--------------------------------------------------------------------------*/
function selectionChkbox(nb,this_) {
	for (i=1;i<=nb;i++){
		if (document.getElementById('choix'+i) != this_){
			document.getElementById('choix'+i).disabled = this_.checked;
		}   	
	}		
}


/*   
 *  Fonction qui met en surbrillance la selection *
/*--------------------------------------------------------------------------*/
function select_ligne(nb,this_,noUser) {	
	// La ligne est en surbrillance	
	if(this_.style.backgroundColor == 'rgb(222, 183, 102)' || this_.style.backgroundColor == '#deb766'){	
		// La ligne est deja selectionnee	
		if(this_.title == 'Deselectionner'){	
			rafraichir_div('contenu','webftp/clients.php','menu','off');
			document.getElementById('ftp').style.display = "none";	
			document.getElementById('droits').style.display = "none";			
		}
		else{	
			for(var i=1; i<=nb ; i++){
				if(i!=this_.id) document.getElementById(i).style.display = 'none';
			}	
			this_.title = 'Deselectionner';
			this_.style.backgroundColor = '#deb766';
			this_.style.color = '#9e121b';
			rafraichir_div("ftp","webftp/dossiers.php?id="+noUser,"","off");
			rafraichir_div("droits","webftp/droits.php?id="+noUser,"","off");
			document.getElementById('ftp').style.display = "block";	
			document.getElementById('droits').style.display = "block";
		}
	}	
}


/*   
 *  Fonction qui met en surbrillance la selection *
/*--------------------------------------------------------------------------*/
function select_societe(nb,this_,dir,id) {
	clearTimeout(rafraich);
	// La ligne est en surbrillance	
	if(this_.style.backgroundColor == 'rgb(222, 183, 102)' || this_.style.backgroundColor == '#deb766'){	
		// La ligne est deja selectionnee	
		if(this_.title == 'Deselectionner'){	
			rafraichir_div('liste','clients/liste_societes.php','','on');
			document.getElementById('ftp').style.display = "none";			
		}
		else{	
			for(var i=1; i<=nb ; i++){
				if(i!=this_.id) document.getElementById(i).style.display = 'none';
			}	
			this_.title = 'Deselectionner';
			this_.style.backgroundColor = '#deb766';
			this_.style.color = '#9e121b';
			rafraichir_div("ftp","webftp/dossiers.php?id="+id+"&repSociete="+dir,"","off");
			document.getElementById('ftp').style.display = "block";	
		}
	}	
}


/*   
 *  Fonction qui fait apparaite la question et les reponses pour la selection *
/*--------------------------------------------------------------------------*/
function questions_reponses(nb,id,this_) {
	if(ready){
		ready=false;
		if(this_.title=='Afficher'){	
			for(var j=1; j<=nb; j++){
				if(j!=id){
					document.getElementById(j).title='Afficher';
					menuOut(document.getElementById(j));
					new Effect.BlindUp(document.getElementById('rep'+j));
				}
			}
			this_.title='Deselectionner';
			menuOver(this_);
			new Effect.BlindDown(document.getElementById('rep'+id));			
		}
		else{
			this_.title='Afficher';
			new Effect.BlindUp(document.getElementById('rep'+id));			
		}
		setTimeout("ready=true",1200);
	}
}


/*   
 *  Fonction qui limite les checkbox au compte admin *
/*--------------------------------------------------------------------------*/
function adminChecker(this_) {
	if (this_.checked) {
		this_.form.is_uploader.disabled = true;
		this_.form.is_uploader.checked = true;
		this_.form.is_deleter.disabled = true;
		this_.form.is_deleter.checked = true;
	} else {
		this_.form.is_uploader.disabled = false;
		this_.form.is_deleter.disabled = false;
	}
}


/*   
 *  Fonction qui surligne la ligne *
/*--------------------------------------------------------------------------*/
function menuOver(this_){
	this_.style.backgroundColor='#deb766';
	this_.style.color='#9e121b';
	this_.style.cursor='pointer';  
}


/*   
 *  Fonction qui enleve le surlignement *
/*--------------------------------------------------------------------------*/
function menuOut(this_){
	if(this_.title != 'Deselectionner'){	
		this_.style.backgroundColor='';
		this_.style.color='white';
		this_.style.cursor='';
	}  
}


/*   
 *  Fonction qui rafraichit une div a partir d'une page *
/*--------------------------------------------------------------------------*/
function rafraichir_div(div,page,retour,refresh)
{ 
	var Request = null; 
	
	// Definition du connecteur en fonction du navigateur :
	if (window.XMLHttpRequest)
	{
		Request = new XMLHttpRequest();
		if (Request.overrideMimeType) 
		{
			Request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) 
	{
		try {
			Request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)	{
			try {
				Request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("Impossible de communiquer avec le serveur");
			}
		}
	}
	// reception et traitement des resultats :
	Request.onreadystatechange = function()
	{ 			
		if( Request.readyState == 4 )
		{
			if( Request.status == 200 )
			{	
				if(retour != '') document.getElementById(retour).style.display='none';
				if(refresh == "on"){				
					document.getElementById(div).innerHTML = Request.responseText;					
					rafraich = setTimeout("rafraichir_div('"+div+"','"+page+"','"+retour+"','on')",4000);
				}		
				else{ document.getElementById(div).innerHTML = Request.responseText; }
				if(retour != '') document.getElementById(div).style.display = "block";	
			}
			else	
			{
				alert( "Une erreur est survenue : " + Request.status + " " + Request.statusText);
			}	
		} 
	};
	
	// envoi de la requete
	Request.open("GET", page, true); 
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	Request.send(null); 
}


/*   
 *  Effectue une action sur un compte *
/*--------------------------------------------------------------------------*/
function actionDirect(requete,affichage,css)
{ 
	var Request = null; 
	
	// Definition du connecteur en fonction du navigateur :
	if (window.XMLHttpRequest)
	{
		Request = new XMLHttpRequest();
		if (Request.overrideMimeType) 
		{
			Request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) 
	{
		try {
			Request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)	{
			try {
				Request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("Impossible de communiquer avec le serveur");
			}
		}
	}
	// Reception et traitement des resultats :
	Request.onreadystatechange = function()
	{ 			
		if( Request.readyState == 4 )
		{
			if( Request.status == 200 )
			{	
				if(affichage == "on") messageEcranAlert(Request.responseText,"Information",css);					
			}
			else	
			{
				alert( "Une erreur est survenue : " + Request.status + " " + Request.statusText);
			}	
		} 
	};
	// Envoi de la requete
	Request.open("GET", requete, true); 
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	Request.send(null); 
}