// JavaScript Document


// ENREGISTRE OU SUPPRIME UNE OU TOUTES LES PHOTOS
function checkuncheck(id, id_album, mode)
{
	try
	{
		var tabchk=new Array();
		var img_create=THEME_PROGRESS_MINI;
		var img_complete=THEME_ICONE_APERCU;
		
		// CLIC SUR LA CHECKBOX OU SUR L'IMAGE
		switch(mode)
		{
			case 'off'	:
			{
				var img_loader=$('img_save_photo_'+id);
				tabchk[0]=id;
				if($(id).checked==true)
				{
					$(id).checked=false;
					var action='delete'
				}
				else
				{
					$(id).checked=true;
					var action='insert'
				}
				break;
			}
			case 'on'	:
			{
				var img_loader=$('img_save_photo_'+id);
				tabchk[0]=id;
				if($(id).checked==true)
				{
					var action='insert'
				}
				else
				{
					var action='delete'
				}
				break;
			}
			case 'all'	:
			{
				img_create=THEME_PROGRESS_MINI;
				img_complete='../images/blank.gif';
				var img_loader=$('loader-bibli');
				id='chk-all';
				switch($(id).checked)
				{
					case true		:	var action='insert'; mode=true; break;
					case false	:	var action='delete'; mode=false; break;
				}
				var toutes=$$('input.chk-galleris');
				for(var i=0; i<toutes.length; i++)
				{
					toutes[i].checked=mode;
					tabchk[i]=toutes[i].id;
				}
				break;
			}
			default	:
			{
				var img_loader=$('img_save_photo_'+id);
				break;
			}
		}

		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,
				tab: Object.toJSON(tabchk),
			},
			onCreate: function() {
				galleris_mask_loader();
				img_loader.src=img_create;
				img_loader.setStyle({visibility:'visible'});
			},
			onComplete: function(retour) {
				//alert(retour.responseText);
				xmlgen(id_album);
				galleris_mask_loader();
				img_loader.src=img_complete;
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'checkuncheck\' 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='';
		var imgs=new Array();
		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;
			imgs[i]=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,
				files: Object.toJSON(imgs)
			},
			onSuccess: function(retour){
				if(dest!='')
				{
					load_bibli(ID_SITE, id_album, 'documents/'+dest);
				}
			}
		});
	}
	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);
						$('galleris-container-select').update(retourbis.responseText);
					}
				});

				// 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);
	}
}


// AFFICHE OU MASQUE LE MASK DE LOADER
function galleris_mask_loader()
{
	try
	{
		var bibli=$('container-bibli');
		var mask=$('galleris-mask-loader');
		if(mask.getStyle('display')=='none')
		{
			var dimensions = bibli.getDimensions();
			var dimTop=bibli.offsetTop;
			var dimLeft=bibli.offsetLeft;
			if(dimTop==null)
			{
				dimTop=0;
			}
			if(dimLeft==null)
			{
				dimLeft=0;
			}		
			mask.setStyle({width: dimensions.width+'px', height: dimensions.height+'px', left:dimLeft+'px', top:dimTop+'px', display:'block' });
		}
		else
		{
			mask.setStyle({display:'none'});
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'galleris_mask_loader\' 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');
		loader.setStyle({visibility:'visible'});
		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),
				onCreate: function() {
					galleris_mask_loader();
				},
				onComplete: function(retour) {
					bibli.update(retour.responseText);
					loader.setStyle({visibility:'hidden'});
					galleris_mask_loader();
					// On recharge le lightview
					Lightview.updateViews();
				}
			});
		}
		else
		{
			loader.setStyle({visibility:'hidden'});
		}
	}
	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,
			onComplete : function(retour) {
				//alert(retour.responseText);
			}
		});
	}
	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 save_position(pos, id)
{
	try
	{
		$('navposition').value=pos;
	}
	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',value);
	}
	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
	{
		var valeur=$(field+'_'+id_photo).value;
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_save_infos_photo.php',
		{
			method: 'post',
			asynchronous: true,
			parameters: {
				field: field,
				id_site: ID_SITE,
				valeur: valeur,
				id_photo: id_photo
			},
			onCreate: function() {
				$('galleris-ajax-loader-'+id_photo).src=THEME_PROGRESS_MINI;
				$('galleris-ajax-loader-'+id_photo).setStyle({visibility:'visible'});
			},
			onComplete: function(retour){
				xmlgen($('id_album').value);
				if(retour.responseText=="1")
				{
					$('galleris-ajax-loader-'+id_photo).src=THEME_ICONE_SUCCES;
				}
				else if(retour.responseText=="0")
				{
					$('galleris-ajax-loader-'+id_photo).src=THEME_ICONE_ERREUR;
				}
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'save_infos_photo\' 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);
	}
}



// AFFICHE OU MASQUE LE MASK DE LOADER PARAM
function galleris_mask_loader_param()
{
	try
	{
		var main=$('galleris-main-param');
		var mask=$('galleris-loader-param');
		var span=$('galleris-loader-info');
		$('galleris-img-loader').src=THEME_PROGRESS;
		if(mask.getStyle('display')=='none')
		{
			var dimensions = main.getDimensions();
			var dimTop=main.offsetTop;
			var dimLeft=main.offsetLeft;
			if(dimTop==null)
			{
				dimTop=0;
			}
			if(dimLeft==null)
			{
				dimLeft=0;
			}		
			mask.setStyle({width: dimensions.width+'px', height: dimensions.height+'px', left:dimLeft+'px', top:dimTop+'px', display:'block' });
			
			// ON POSITIONNE LE MESSAGE ET LE LOADER
			var dimensions_span = span.getDimensions();
			span.setStyle({left:(dimensions.width/2)-(dimensions_span.width/2)+'px', top:(dimensions.height/2)-(dimensions_span.height/2)+'px'});
		}
		else
		{
			$('galleris-img-loader').src=THEME_ICONE_VALIDE;
			setTimeout(function() { mask.setStyle({display:'none'}); }, 1000);
		}
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'galleris_mask_loader_param\' dans galleris.js :\n'+e.message);
	}
}


// RECOMPOSE LES PHOTOS DE L'ALBUM
function galleris_gen_pics(id_album)
{
	try
	{
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_gen_pics.php',
		{
			method: 'post',
			asynchronous: true,
			parameters: {
				id_album: id_album,
				id_site: ID_SITE
			},
			onCreate: function() {
				
			},
			onSuccess: function(retour){
				//alert(retour.responseText);
				galleris_mask_loader_param()
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'galleris_gen_pics\' dans galleris.js :\n'+e.message);
	}
}


// ENREGISTRE DE MANIERE GLOBAL LES PARAMETRES D'UN ALBUM
function galleris_save_param_album()
{
	try
	{
		galleris_mask_loader_param()
		var id_album=$F('id_album');
		//alert(id_album);
		var save=false;
		$$('.galleris-to-save').each(function(e){
			save=false;
			switch(e.type)
			{
				case 'radio'	:
				{
					if(e.checked==true)
					{
						save=true;
					}
					break;
				}
				default	: save=true;
			}
			if(save)
			{
				save_field(id_album, e.id, $F(e));
			}
		});
		galleris_gen_pics(id_album);
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'galleris_save_param_album\' dans galleris.js :\n'+e.message);
	}
}


function save_field(id_album, field, value, callback)
{
	try
	{
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_save_field.php',
		{
			method: 'post',
			asynchronous: true,
			parameters: {
				id_album: id_album,
				field: field,
				id_site: ID_SITE,
				value: value
			},
			onCreate: function() {
				try{
				if($('img_save_'+field+'_'+id_album))
				{
					$('img_save_'+field+'_'+id_album).src=THEME_PROGRESS_MINI;
					$('img_save_'+field+'_'+id_album).setStyle({visibility:'visible'});		
				}
				}
				catch(e)
				{
					alert(e.message);
				}
			},
			onComplete: function(retour){
				//alert(retour.responseText);
				try{
					xmlgen(id_album);
					if(callback!='')
					{
						eval(callback);
					}
					if(retour.responseText=="1")
					{
						if($('img_save_'+field+'_'+id_album))
						{
							$('img_save_'+field+'_'+id_album).src=THEME_ICONE_SUCCES;
							$('img_save_'+field+'_'+id_album).setStyle({visibility:'visible'});
						}
					}
					else if(retour.responseText=="0")
					{
						if($('img_save_'+field+'_'+id_album))
						{
							$('img_save_'+field+'_'+id_album).src=THEME_ICONE_ERREUR;
							$('img_save_'+field+'_'+id_album).setStyle({visibility:'visible'});
						}
					}
				}
				catch(e)
				{
					alert(e.message);
				}
			}
		});
	}
	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);
	}
}

/*
	###################################################################################

	AFFICHE OU MASQUE LES OPTIONS AVANCEES D'UN PARAMETRES
	
	###################################################################################
*/
function galleris_dsp_more(id)
{
	try {
		var bloc=$(id);
		if(bloc.getStyle('display')=='none')
		{
			Effect.BlindDown(bloc, { duration: 0.3, queue: { position: 'front', scope: 'menuxscope', limit: 1 } }); 
		}
		else
		{
			Effect.BlindUp(bloc, { duration: 0.3, queue: { position: 'end', scope: 'menuxscope', limit: 1 } });
		}
	}
	catch(e) {
		alert('Erreur dans la fonction \'galleris_dsp_more\' dans galleris.js :\n' + e.message);
	}
}


/*
	###################################################################################

	Enregistre les paramètres d'admin
	
	###################################################################################
*/
function galleris_save_param(libelle, value, callback)
{
	try
	{
		var myAjax = new Ajax.Request(
		BASE_HREF+'modules/galleris/admin/ajax_save_param.php',
		{
			method: 'post',
			asynchronous: true,
			parameters: {
				libelle: libelle,
				value: value,
				id_site: ID_SITE },
			onCreate: function() {
				$('img_save_'+libelle).src=THEME_PROGRESS_MINI;
				$('img_save_'+libelle).setStyle({visibility:'visible'});
			},
			onComplete: function(retour){
				if(retour.responseText!="" && retour.responseText!="0")
				{
					if(callback!='')
					{
						eval(callback);
						$('img_save_'+libelle).setStyle({visibility:'hidden'});
					}
					else
					{
						$('img_save_'+libelle).src=THEME_ICONE_SUCCES;
						$('img_save_'+libelle).setStyle({visibility:'visible'});
					}
				}
				else
				{
					$('img_save_'+libelle).src=THEME_ICONE_ERREUR;
					$('img_save_'+libelle).setStyle({visibility:'visible'});
				}
			}
		});
	}
	catch(e)
	{
		alert('Erreur dans la fonction \'galleris_save_param\' dans galleris.js :\n'+e.message);
	}
}
