// JavaScript Document


// Fonction qui coche ou décoche toutes les images
function checkuncheckall(obj, id_album, id_site)
{
	try
	{
		var dir=$('slt-rep').value;
		var bibli=$('container-bibli');
		var loader=$('loader-bibli');
		
		var dimensions = bibli.getDimensions();
		loader.setStyle({ 'width': dimensions.width+'px', 'height': dimensions.height+'px' });
		
		loader.style.display='block';
		var toutes=$$('input.chk-galleris');
		if(obj.checked)
		{
			var mode=true;
			var action='insert';
		}
		else
		{
			var mode=false;
			var action='delete';
		}
		for(var i=0; i<toutes.length; i++)
		{
			toutes[i].checked=mode;
		}
		if(dir!="null")
		{
			var myAjax = new Ajax.Request(
			BASE_HREF+'modules/galleris/admin/ajax_chk_bibli.php',
			{
				method: 'post',
				parameters: {
					id_album: id_album,
					id_site: id_site,
					action: action,
					dir: dir },
				onComplete: function(retour) {
					//alert(retour.responseText);
					//bibli.innerHTML=retour.responseText;
					loader.style.display='none';
				}
			});
		}
		else
		{
			loader.style.display='none';
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'checkuncheckall\' dans galleris.js :\n'+e.message);
	}
}


// Fonction qui ajoute des images à un album après un upload en ajax imagemanager
function add_to_album(pics, id_album, dest)
{
	try
	{
		var query='';
		for(var i=0 in pics.files)
		{
			var nom=pics.files[i].name;
			var url=pics.files[i].url;
			query+="&tab["+i+"][0]="+nom;
			query+="&tab["+i+"][1]="+url;
		}
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_add_to_album.php',
		{
			method: 'post',
			parameters: 'id_site='+ID_SITE+'&id_album='+id_album+query,
			onComplete: function(retour){
				if(dest!='')
				{
					load_bibli(ID_SITE, id_album, 'documents/'+dest);
					// On créé à la bonne taille
					resize_pics('thumbs',id_album);
					resize_pics('',id_album);
					var slt=$('slt-rep');
					var opt=slt.select('option');
					for(var g=0; g<opt.length; g++)
					{
						if(opt[g].value=='documents/'+dest)
						{
							opt[g].selected=true;
							break;
						}
					}
				}
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'add_to_album\' dans galleris.js :\n'+e.message);
	}
}


// Fonction qui charge le module d'upload
function galleris_upload(id_album)
{
	try
	{
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_mk_dir.php',
		{
			method: 'post',
			asynchronous: false,
			parameters: 'id_album='+id_album+'&id_site='+ID_SITE,
			onComplete: function(retour) {
				//alert(retour.responseText);
				// On refresh le select
				var myAjaxbis = new Ajax.Request(
				BASE_HREF+'modules/galleris/admin/ajax_refresh_select.php',
				{
					method: 'post',
					asynchronous: false,
					parameters: 'id_album='+id_album+'&id_site='+ID_SITE,
					onComplete: function(retourbis) {
						//alert(retour.responseText);
						var slt=$('slt-rep');
						// On vide le select
						slt.length=0;
						option=document.createElement("option");
						option.setAttribute("value","null");
						optlib=document.createTextNode('...');
						option.appendChild(optlib);
						slt.appendChild(option);
						
						option=document.createElement("option");
						option.setAttribute("value","");
						optlib=document.createTextNode(html_entity_decode("Voir toutes les images de ma biblioth&egrave;que"));
						option.appendChild(optlib);
						slt.appendChild(option);
						
						var tab=PHP_Unserialize(retourbis.responseText);
						for(var i=0; i<tab.length; i++)
						{
							var lib='';
							for(var k=0; k<tab[i]["niveau"]; k++)
							{
								lib+="\240";
							}
							option=document.createElement("option");
							option.setAttribute("value",tab[i]["chemin"]);
							optlib=document.createTextNode(lib+tab[i]["fichier"]);
							option.appendChild(optlib);
							slt.appendChild(option);
							//alert(tab[i]["niveau"]+" -- "+tab[i]["fichier"]+" -- "+tab[i]["chemin"]);
						}
						
					}
				});

				// On appel l'editeur
				mcImageManager.upload({
					path : '{0}/documents/'+retour.responseText,
					onupload : function(res) {
						add_to_album(res, id_album, retour.responseText);
					}
				});
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'galleris_upload\' dans galleris.js :\n'+e.message);
	}
}



// Fonction qui charge les images d'un dossier de la bibliothèque ou tous les image
function load_bibli(id_site, id_album, dir)
{
	try
	{
		var bibli=$('container-bibli');
		var loader=$('loader-bibli');
		var dimensions = bibli.getDimensions();
		loader.setStyle({ 'width': dimensions.width+'px', 'height': dimensions.height+'px' });
		bibli.innerHTML="";
		loader.style.display='block';
		if(dir!="null")
		{
			var myAjax = new Ajax.Request(
			BASE_HREF+'modules/galleris/admin/ajax_load_bibli.php',
			{
				method: 'post',
				parameters: 'id_album='+id_album+'&id_site='+id_site+'&dir='+encodeURIComponent(dir),
				onComplete: function(retour) {
					bibli.innerHTML=retour.responseText;
					loader.style.display='none';
					// On recharge le lightview
					Lightview.updateViews();
				}
			});
		}
		else
		{
			loader.style.display='none';
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'load_bibli\' dans galleris.js :\n'+e.message);
	}
}


function affect_album(message)
{
	var id_page=$('id_page').value;
	var id_album=$('id_album').value;
	$('img_save_mode').style.visibility='hidden';
	
	if($('mode_0').checked==false && $('mode_1').checked==false)
	{
		var mode="";
	}
	else
	{
		if($('mode_0').checked==true)
		{
			var mode=$('mode_0').value;
		}
		else
		{
			var mode=$('mode_1').value;
		}
	}
	
	if(id_page!="" && mode!="")
	{
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_affect_album.php',
		{
			method: 'post',
			parameters: 'id_album='+id_album+'&id_site='+ID_SITE+'&mode='+mode+'&id_page='+id_page,
			onComplete: function(retour){
				if(retour.responseText=="1")
				{
					$('img_save_mode').src=THEME_ICONE_SUCCES;
					$('img_save_mode').style.visibility='visible';
				}
				else if(retour.responseText=="0")
				{
					$('img_save_mode').src=THEME_ICONE_ERREUR;
					$('img_save_mode').style.visibility='visible';
				}
				document.location='index.php?id_site='+ID_SITE+'&id_module=2&url=index';
			}
		});
	}
	else
	{
		if(message=="message")
		{
			alert("Veuillez s\351lectionner une page et un mode d\'affichage.");
		}
	}
}



function xmlgen(id_album)
{
	try
	{
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/sources/xmlgen.php',
		{
			method: 'post',
			parameters: 'id_site='+ID_SITE+'&id_album='+id_album
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'xmlgen\' dans galleris.js :\n'+e.message);
	}
}



function ifcheck()
{
	try
	{
		$('selection').value='';
		var input=document.getElementsByTagName('input');
		
		for(var i=0; i<input.length; i++)
		{
			if(input[i].type=='checkbox')
			{
				if(input[i].checked==true)
				{
					$('selection').value='1';
					break;
				}
			}
		}
	}
	catch(e)
	{
		alert("Erreur dans la fonction 'ifcheck' dans le fichier galleris.js:\n"+e.message);
	}
}



function checkuncheck(id, id_album, mode)
{
	try
	{
		if(mode=="off")
		{
			if($(id).checked==true)
			{
				$(id).checked=false;
			}
			else
			{
				$(id).checked=true;
			}
		}
	
		
		switch($(id).checked)
		{
			case true	:	var action='insert'; break;
			case false	:	var action='delete'; break;
		}
		
		ifcheck();
		
		// Enregistrement ajax
		$('img_save_photo_'+id).src=THEME_PROGRESS_MINI;	
		$('img_save_photo_'+id).style.visibility='visible';
		
		var fichier=encodeURIComponent(id);
		var path=encodeURIComponent($('path_'+id).value);
	
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_save_photo.php',
		{
			method: 'post',
			parameters: 'fichier='+fichier+'&id_site='+ID_SITE+'&id_album='+id_album+'&action='+action+'&path='+path,
			onComplete: function(retour){
				//alert(retour.responseText);
				xmlgen(id_album);
				if(retour.responseText=="1")
				{
					$('img_save_photo_'+id).src=THEME_ICONE_SUCCES;
					$('img_save_photo_'+id).style.visibility='visible';
				}
				else if(retour.responseText=="0")
				{
					$('img_save_photo_'+id).src=THEME_ICONE_ERREUR;
					$('img_save_photo_'+id).style.visibility='visible';
				}
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'checkuncheck\' dans galleris.js :\n'+e.message);
	}
}




function save_position(pos, id)
{
	try
	{
		$('navposition').value=pos;
		save_field(id,'navposition');
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'save_position\' dans galleris.js :\n'+e.message);
	}
}




function fleche_next(id)
{
	try
	{
		if($(id).value=="")
		{
			return false;
		}
		else
		{
			document.location=$('hidden_next').value;
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'fleche_next\' dans galleris.js :\n'+e.message);
	}
}




function select_mode(value)
{
	try
	{
		var id_album=$('id_album').value;
		$('type').value=value;
		$('href_next').href=$("hidden_next").value;
		save_field(id_album,'type');
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'select_mode\' dans galleris.js :\n'+e.message);
	}
}





function delalbum(id,id_site)
{
	try
	{
		var rep=confirm(trad['etes_sur_supprimer_album']);
		if(rep===true)
		{			
			var myAjax = new Ajax.Request(
			BASE_HREF+'modules/galleris/admin/ajax_del.php',
			{
				method: 'post',
				parameters: 'id_album='+id+'&id_site='+id_site,
				onComplete: function(retour) {
					Effect.BlindUp('form_'+id, { duration: 0.3});
				}
			});
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'delalbum\' dans galleris.js :\n'+e.message);
	}
}





function affect_option(idpage, id_site)
{
	var myAjax = new Ajax.Request(
	'../../galleris/admin/ajax_choix_album.php',
	{
		method: 'post',
		parameters: 'id_page='+idpage+'&id_site='+id_site,
		onComplete: function(retour){
			$('fin_module').innerHTML=retour.responseText;
		}
	});
}


// Fonction qui enregistre le titre et la description des photos
function save_infos_photo(id_photo, field)
{
	try
	{
		$('img_save_'+field+'_'+id_photo).style.visibility='hidden';		
		var valeur=$(field+'_'+id_photo).value;
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_save_infos_photo.php',
		{
			method: 'post',
			asynchronous: false,
			parameters: 'field='+field+'&id_site='+ID_SITE+'&valeur='+encodeURIComponent(valeur)+'&id_photo='+id_photo,
			onComplete: function(retour){
				xmlgen($('id_album').value);
				if(retour.responseText=="1")
				{
					$('img_save_'+field+'_'+id_photo).src=THEME_ICONE_SUCCES;
					$('img_save_'+field+'_'+id_photo).style.visibility='visible';
				}
				else if(retour.responseText=="0")
				{
					$('img_save_'+field+'_'+id_photo).src=THEME_ICONE_ERREUR;
					$('img_save_'+field+'_'+id_photo).style.visibility='visible';
				}
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'save_infos_photo\' dans galleris.js :\n'+e.message);
	}
}



// Fonction qui enregistre le titre des albums
function save_titre(id_field, champs)
{
	try
	{
		var id_album=id_field;
		$('img_save_'+champs+'_'+id_field).style.visibility='hidden';		
		var valeur=$(champs+'_'+id_field).value;
		
		if(valeur!="")
		{
			var myAjax = new Ajax.Request(
			BASE_HREF+'modules/galleris/admin/ajax_save_field.php',
			{
				method: 'post',
				asynchronous: false,
				parameters: 'field='+champs+'&id_site='+ID_SITE+'&valeur='+encodeURIComponent(valeur)+'&id_field='+id_field,
				onComplete: function(retour){
					xmlgen(id_album);
					if(retour.responseText=="1")
					{
						$('img_save_'+champs+'_'+id_field).src=THEME_ICONE_SUCCES;
						$('img_save_'+champs+'_'+id_field).style.visibility='visible';
					}
					else if(retour.responseText=="0")
					{
						$('img_save_'+champs+'_'+id_field).src=THEME_ICONE_ERREUR;
						$('img_save_'+champs+'_'+id_field).style.visibility='visible';
					}
				}
			});
		}
		else
		{
			$('img_save_'+champs+'_'+id_field).src=THEME_ICONE_ERREUR;
			$('img_save_'+champs+'_'+id_field).style.visibility='visible';
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'save_field\' dans galleris.js :\n'+e.message);
	}
}


// Fonction qui redimensionne les images
function resize_pic(mode,id_album)
{
	try
	{
		var loader=$('loader-bibli');
		loader.style.display='block';
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_resize_pics.php',
		{
			method: 'post',
			parameters: 'id_site='+ID_SITE+'&mode='+mode+'&id_album='+id_album,
			onComplete: function(retour){
				loader.style.display='none';
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'resize_pic\' dans shop.js :\n'+e.message);
	}
}



// Fonction qui redimensionne les images
function resize_pics(mode,id_album)
{
	try
	{
		$('img_save_'+mode).src=THEME_PROGRESS;
		$('img_save_'+mode).style.visibility='visible';
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_resize_pics.php',
		{
			method: 'post',
			asynchronous: false,
			parameters: 'id_site='+ID_SITE+'&mode='+mode+'&id_album='+id_album,
			onComplete: function(retour){
				//alert(retour.responseText);
				if(retour.responseText!="0")
				{
					$('img_save_'+mode).src=THEME_ICONE_SUCCES;
				}
				else
				{
					$('img_save_'+mode).src=THEME_ICONE_ERREUR;
				}
				$('img_save_'+mode).style.visibility='visible';
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'resize_pics\' dans shop.js :\n'+e.message);
	}
}



// Fonction qui enregistre les dimensions des photos d'un album
function save_dim_album(field, value, mode)
{
	try
	{		
		var id_album=$('id_album').value;
		$('img_save_'+field).style.visibility='hidden';

		//alert('field='+field+'&id_site='+ID_SITE+'&valeur='+value+'&id_album='+id_album);

		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_save_dim_album.php',
		{
			method: 'post',
			asynchronous: false,
			parameters: 'field='+field+'&id_site='+ID_SITE+'&valeur='+encodeURIComponent(value)+'&id_album='+id_album,
			onComplete: function(retour){
				if(retour.responseText=="1")
				{
					resize_pics(mode,id_album);
					$('img_save_'+field).src=THEME_ICONE_SUCCES;
					$('img_save_'+field).style.visibility='hidden';
				}
				else if(retour.responseText=="0")
				{
					$('img_save_'+field).src=THEME_ICONE_ERREUR;
					$('img_save_'+field).style.visibility='visible';
				}
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'save_dim_album\' dans galleris.js :\n'+e.message);
	}
}



function save_field(id_field, champs)
{
	try
	{		
		var id_album=$('id_album').value;
		$('img_save_'+champs+'_'+id_field).style.visibility='hidden';		
		var valeur=$(champs).value;

		//alert('field='+champs+'&id_site='+ID_SITE+'&valeur='+valeur+'&id_field='+id_field);

		if(valeur!="")
		{
			var myAjax = new Ajax.Request(
			BASE_HREF+'modules/galleris/admin/ajax_save_field.php',
			{
				method: 'post',
				asynchronous: false,
				parameters: 'field='+champs+'&id_site='+ID_SITE+'&valeur='+encodeURIComponent(valeur)+'&id_field='+id_field,
				onComplete: function(retour){
					xmlgen(id_album);
					if(retour.responseText=="1")
					{
						$('img_save_'+champs+'_'+id_field).src=THEME_ICONE_SUCCES;
						$('img_save_'+champs+'_'+id_field).style.visibility='visible';
					}
					else if(retour.responseText=="0")
					{
						$('img_save_'+champs+'_'+id_field).src=THEME_ICONE_ERREUR;
						$('img_save_'+champs+'_'+id_field).style.visibility='visible';
					}
				}
			});
		}
		else
		{
			$('img_save_'+champs+'_'+id_field).src=THEME_ICONE_ERREUR;
			$('img_save_'+champs+'_'+id_field).style.visibility='visible';
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'save_field\' dans galleris.js :\n'+e.message);
	}
}



function delphoto(id)
{
	try
	{
		var id_album=$('id_album').value;
		var rep=confirm(trad["supprimer_photo_album"]);
		if(rep===true)
		{			
			var myAjax = new Ajax.Request(
			BASE_HREF+'modules/galleris/admin/ajax_del.php',
			{
				method: 'post',
				asynchronous: false,
				parameters: 'id_photo='+id+'&id_site='+ID_SITE,
				onComplete: function(retour){
					var ul=$('ul_photos');
					var li = ul.select('li');
					for(k=0; k<li.length; k++)
					{
						if(li[k].id=='photo_'+id)
						{
							ul.removeChild(li[k]);
							break;
						}
					}
					xmlgen(id_album);
				}
			});
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'delphoto\' dans galleris.js :\n'+e.message);
	}
}



function cache_montre_photo(id_photo)
{
	var id_album=$('id_album').value;
	var myAjax = new Ajax.Request(
	BASE_HREF+'modules/galleris/admin/ajax_cache_montre_photo.php',
	{
		method: 'post',
		asynchronous: false,
		parameters: 'id_photo='+id_photo+'&id_site='+ID_SITE,
		onComplete: function(retour){
			xmlgen(id_album);
			if(retour.responseText=="1")
			{
				$('invisible_picto_'+id_photo).src=THEME_ICONE_VISIBLE_OVER;
			}
			else
			{
				$('invisible_picto_'+id_photo).src=THEME_ICONE_INVISIBLE_OVER;
			}
		}
	});
}



function action_fin_drag()
{
	try
	{
		// Ici on fais qqchose ken on a fini de dragger :)
		var ul=$('ul_photos');
		var id_album=$('id_album').value;
		var ajax;
		
		var ordre=new Array();

		// On traite les LI
		li=ul.select("li");
		for(l=0; l<li.length; l++)
		{	
			var tmp=li[l].id.split('_');
			
			ordre[l]=tmp[1];
		}

		// La on lance l'ajax
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_save_ordre.php',
		{
			method: 'post',
			parameters: 'ordre='+ordre+'&id_site='+ID_SITE,
			onComplete: function(retour){
				xmlgen(id_album);
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'action_fin_drag\' dans galleris.js :\n'+e.message);
	}
}
