// JavaScript Document
var a = 0 ; // Variable de timer prédefinie 
var b = 0 ; // Variable de timer prédefinie 
var alpha = 100;
function clear_page(){
	
		document.forms[0].diaporama_nom.value = "Diaporama sans Titre...";
		document.forms[0].diaporama_description.value = "Description du diaporama...";
		// L'id de la page courante
		document.forms[0].diaporama_page_id.value = opener.document.forms[0].page_id.value;
		document.getElementById('sel1').innerHTML="Pas d'image...";
		
		
}

function send_datas_diaporama(){
	xhr = getRequestObject(); 
	
	document.getElementById('loader_datas').style.display='block';
	
	xhr.onreadystatechange = function(){
		
		if(xhr.readyState == 4 && xhr.status == 200){
			
			//alert(xhr.responseText);
			
			document.getElementById('loader_datas').style.display='none';
			document.forms[0].submit_btn.disabled = false;
			document.getElementById('enregistrer').innerHTML='';
			
			if(xhr.responseText =="delete"){
				clear_page();
			}else{
				get_diaporama(xhr.responseText);
			}
			
		}
	}
	
	
	xhr.open("POST","/umaservices/umadiaporama/inc/utilities_diaporama.php?what=update_diaporama",true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	
	data = form_get_content();
	xhr.send(data);	
}


function get_diaporama(diaporama_id){
	
	document.getElementById('loader_datas').style.display='block';
	
	if(diaporama_id == 0){

		document.getElementById('btn_enr').className="visible";
		document.getElementById('loader_datas').style.display='none';	
		document.getElementById('ajout_image').className = 'invisible';		
		document.getElementById('gestion_images').className = 'invisible';
		clear_page();
		
	}else{
		xhr = getRequestObject();
		
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){	
				//alert( xhr.responseText);
				// Charger le formulaire
				form_set_content(xhr.responseXML);
				
				// Mettre à jour les autres éléments
				document.getElementById('supprime_btn').className="visible";
				
				document.forms[0].MM_insert.value = "update";
				document.forms[0].submit_btn.value = "Mettre à jour";
				document.getElementById('ajout_image').className = 'visible';	
				document.getElementById('gestion_images').className = 'visible';
				
				// Boucle pour sortir les participants...
				get_diaporama_images(diaporama_id);
				
			}
		}
		xhr.open("GET","/umaservices/umadiaporama/inc/utilities_diaporama.php?what=get_diaporama&diaporama_id="+diaporama_id,true);
		xhr.send(null);
	}
	
}

function get_diaporama_images(diaporama_id){
	
	xhr = getRequestObject();

	document.getElementById('sel1').innerHTML="";
	
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			//alert(xhr.responseText);
			// Mettre à jour le select
			document.getElementById('sel1').innerHTML=unescape(xhr.responseText);
						
			
			if(document.getElementById('diaporama_id')){
				
				// Initialiser l'arbre si l'objet est en mode formulaire
				treeObj = new JSDragDropTree();
				treeObj.setTreeId('list_images');
				treeObj.setMaximumDepth(1);
				treeObj.setMessageMaximumDepthReached('Profondeur maxi atteinte !!!'); // If you want to show a message when maximum depth is reached, i.e. on drop.
				treeObj.setImageFolder('http://www.anmsr.asso.fr/2007/images_interface/tree/');
				treeObj.setFolderImage('void_nav.gif');
				treeObj.initTree();
				
			}else{
				
				// On est en mode visualisation on créer les comportements
				tabImg = document.getElementById("sel1").getElementsByTagName("img");
				
				for(i = 0; i < tabImg.length; i++){
				
					tabImg[i].onmouseover = function(){
						//this.style.height = "40px";
						this.style.border="6px solid #c00";
						this.style.padding = "0px";
			
					}
					tabImg[i].onmouseout = function(){
						this.style.border="1px solid black";
						this.style.height ="30px";
						this.style.padding = "5px";
					}
					tabImg[i].onmouseup = function(){
						show_picture(this.src.replace(/vv_/,""));
					}
				}
				// Afficher la première image
				show_picture(tabImg[0].src.replace(/vv_/,""));
				
			}
			
		}
	}
	xhr.open("GET","/umaservices/umadiaporama/inc/utilities_diaporama.php?what=images_diaporama&diaporama_id="+diaporama_id,true);
	xhr.send(null);
}

function load_new_image(im){
	alpha = 0;
	document.getElementById("grande_image").innerHTML = im;
	if(document.getElementById("grande_image").firstChild.nodeName =="IMG"){
		document.getElementById("grande_image").firstChild.onload = function(){
			aff_image_alpha("ie");	
		}
	}else{
		document.getElementById("grande_image").childNodes[1].onload = function(){
			aff_image_alpha("moz");	
		}
	}

}
function clear_image_alpha(nav){
	 
	if(document.getElementById('grande_image').hasChildNodes()){
		alpha = alpha-20;
		if(nav == "ie" && document.getElementById('image_diapo_full').style.filter != "alpha(opacity=0)"){
			document.getElementById("image_diapo_full").style.filter="alpha(opacity="+alpha+")";
			b = setTimeout("clear_image_alpha('ie')",30); 
		}else if(document.getElementById('image_diapo_full').style.opacity > 0){
			document.getElementById("image_diapo_full").style.opacity=(alpha/100);
			b = setTimeout("clear_image_alpha('moz')",30); 
		}
	}
}

function aff_image_alpha(nav){
	clearTimeout(b);
	alpha = alpha+20; 
	if(nav == "ie" && document.getElementById('image_diapo_full').style.filter != "alpha(opacity=100)"){
		document.getElementById("image_diapo_full").style.filter="alpha(opacity="+alpha+")";
		b = setTimeout("aff_image_alpha('ie')",30); 
	}else if(document.getElementById('image_diapo_full').style.opacity <1){
		document.getElementById("image_diapo_full").style.opacity=(alpha/100);
		b = setTimeout("aff_image_alpha('moz')",30); 
		
	}
}

// Retaille la boite "gande image" progessivement (à la vitesse "vit") et mettre l'image "im"
function resize_block(im, depart_larg, depart_haut, final_larg, final_haut, vit){
	clearTimeout(a);
	coeff_reduc = 10;
	// calcul de la différence de taille
	haut = parseInt(document.getElementById("grande_image").style.height);
	larg = parseInt(document.getElementById("grande_image").style.width);
	if(isNaN(haut)) haut = 0;
	if(isNaN(larg)) larg = 0;
	
	diff_haut = final_haut - depart_haut;
	diff_larg = final_larg - depart_larg;
	
	document.getElementById("grande_image").style.height = (haut + diff_haut/coeff_reduc) +"px";
	document.getElementById("grande_image").style.width = (larg + diff_larg/coeff_reduc) +"px";
	// Si on a retaillé on charge la nouvelle image
	if(Math.abs(final_haut - haut) <= Math.abs(diff_haut/coeff_reduc)   && Math.abs(final_larg - larg) <= Math.abs(diff_larg/coeff_reduc)){
		document.getElementById("grande_image").style.height = final_haut +"px";
		document.getElementById("grande_image").style.width = final_larg +"px";
		load_new_image(im);
	}else{
		a = setTimeout("resize_block(im, "+depart_larg+", "+depart_haut+", "+final_larg+","+final_haut+","+vit+")", vit);
	}

}
// Envoi une image au browser dont la source est "source"
// Dans l'élément "grande_image"
// On envoie une requete pour connaitre la taille
// et paramétrer la boite de contenu 
function show_picture(source){
	
	xhr = getRequestObject();
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			//alert(xhr.responseText);
			im = xhr.responseText;
			dataXML = xhr.responseXML;
			if(dataXML.firstChild.nodeName == "img"){
				clear_image_alpha("ie");
				thisXml = dataXML.firstChild;
			}else{
				clear_image_alpha("moz");
				thisXml = dataXML.childNodes[1];
			}
			
			haut = parseInt(document.getElementById("grande_image").style.height);
			larg = parseInt(document.getElementById("grande_image").style.width);
			if(isNaN(haut)) haut = 0;
			if(isNaN(larg)) larg = 0;
	
			resize_block(im, larg, haut, thisXml.attributes[2].nodeValue, thisXml.attributes[3].nodeValue, 30);
		}
	
	}
	xhr.open("GET","/umaservices/umadiaporama/inc/utilities_diaporama.php?what=image_size&image_name="+source,true);
	xhr.send(null);
}

function reorder_images(data){
	
	xhr = getRequestObject(); 
	
	document.getElementById('loader_datas').style.display='block';
	
	xhr.onreadystatechange = function(){
		
		if(xhr.readyState == 4 && xhr.status == 200){
			
			//alert(xhr.responseText);
			document.getElementById('loader_datas').style.display='none';
			
		}
	}
	
	xhr.open("GET","/umaservices/umadiaporama/inc/utilities_diaporama.php?what=reorder_images&data="+data,true);
	xhr.send(null);
	
}



function add_image(image_name, diaporama_id, image_description){
	
	xhr = getRequestObject(); 
	
	document.getElementById('loader_datas').style.display='block';
	
	xhr.onreadystatechange = function(){
		
		if(xhr.readyState == 4 && xhr.status == 200){
			
			//alert(xhr.responseText);
			document.getElementById('loader_datas').style.display='none';
			get_diaporama_images(diaporama_id);
			
		}
	}
	
	
	xhr.open("POST","/umaservices/umadiaporama/inc/utilities_diaporama.php?what=add_image",true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	
	data = "image_diaporama_id="+diaporama_id+"&image_name="+image_name+"&image_description="+image_description;
	xhr.send(data);	
}

function sup_image(image_id){
	xhr = getRequestObject();
	diaporama_id = document.forms[0].diaporama_id.value;
	document.getElementById('loader_datas').style.display='block';
	
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			
			// Mettre à jour le groupe
			get_diaporama_images(diaporama_id);
			
		}
	}
	xhr.open("GET","/umaservices/umadiaporama/inc/utilities_diaporama.php?what=sup_image&diaporama_id="+diaporama_id+"&image_id="+image_id,true);
	xhr.send(null);
}


// Fin de script

