function display_popup(conteneur, mode, args_json)
{
	var args = eval('('+args_json+')');
	switch (mode)
	{
		case 'show_element_popup':
			if (args['type'] && args['id'] && args['container_load_id'])
			{
				$(conteneur).set('load', { 'onComplete': function() {
						var size = $('popup_edit_element').getSize();
						$('frame_edit_element').setStyle('width', (size.x - 20) + 'px');
						$$('.popup_fermer_txt').addEvent('click', function () {
							close_popup_refresh(conteneur, args);
						});;
			    	}
				});
				
				url = '/common/core/composants/popup/popup.php?mode='+mode;
				var args_txt = '';
				for(key_var in args) { args_txt = args_txt + '&'+key_var+'='+args[key_var]; }
				
				$(conteneur).load(url+args_txt, {});
				add_event_close_refresh_on_esc(conteneur, args);
			}
		break;
		
		case 'mentions_legales':
			$(conteneur).load('/common/core/composants/popup/popup.php', { 'mode': mode } );
			add_event_close_on_esc(conteneur);
		break;
		
		case 'display_image':
			src = args['src'];
			$(conteneur).load('/common/core/composants/popup/popup.php?mode='+mode+'&src='+src);
			add_event_close_on_esc(conteneur);
		break;
		
		case 'display_image_galerie':
			src = args['src'];
			current = args['current'];
			total = args['total'];
			js_array = args['jsarray'];
			$(conteneur).load('/common/core/composants/popup/popup.php?mode='+mode+'&src='+src+'&current='+current+'&total='+total+'&jsarray='+js_array);
			add_event_close_on_esc(conteneur);
		break;
	}
}

function add_event_close_on_esc(conteneur_popup)
{
	window.addEvent('keypress', function(e)
	{
		if (e.key == 'esc')
		{
			close_popup(conteneur_popup);
		}
	});
}

function add_event_close_refresh_on_esc(conteneur_popup, args)
{
	window.addEvent('keypress', function(e)
	{
		if (e.key == 'esc')
		{
			close_popup_refresh(conteneur_popup, args);
		}
	});
}

function edit_element_resize_frame(size_h)
{
	if ($('frame_edit_element'))
	{
		$('frame_edit_element').setStyle('height', size_h + 'px');
	}
}

function popup_move_on_scroll()
{
	if ($('popup_content') && $('popup_content_topmargin'))
    {
    	var cur_scroll_pos = f_scrollTop();
		var elsize = $('popup_content').getSize();
		var wisize = window.getSize();
		var cur_top_margin_size = $('popup_content_topmargin').getSize();
		var cur_height =  parseInt(cur_top_margin_size.y);
		var emplacement_taille = ((cur_height + parseInt(elsize.y) + 70) - parseInt(wisize.y) - cur_scroll_pos);
                                
        if ((elsize.y + 60) < wisize.y) {  $('popup_content_topmargin').setStyle('height', (cur_scroll_pos + 30) + 'px'); }
		else
		{
        	if (alignement > cur_scroll_pos)
			{
				$('popup_content_topmargin').setStyle('height', (cur_scroll_pos + 30) + 'px');    
				alignement = cur_scroll_pos;
			}
			else if (emplacement_taille < 0)
			{
				$('popup_content_topmargin').setStyle('height', (cur_height - emplacement_taille) + 'px');    
				alignement = cur_scroll_pos;
			}
		}

		/* corrige un probleme d'affichage safari en forcant la mise à jour des div affectés */
		$('popup_content').innerHTML += '';
		$('popup_container').innerHTML += '';
		                    
		/* corrrige un probleme ff / ie bouton fermer inactif apres scroll */
		$('popup_background').addEvent('click', function () {  close_all_popup(); });
		$('popup_fermer_txt').addEvent('click', function () {  close_all_popup(); });
	}
}

function close_popup(conteneur)
{
	$(conteneur).set('html', '');
	$$('select').setStyle('visibility', 'visible');
}

function close_popup_refresh(conteneur_popup, args)
{
	$(conteneur_popup).set('html', '');
	$$('select').setStyle('visibility', 'visible');
	var reload_ok = 0;
	if (args['refresh_css_type_id'] != null)
	{
		reload_function = args['refresh_css_type_id'] + '_reload';
		if (window[reload_function])
		{
			reload_ok = 1;
			window[reload_function]();
		}
	}
}

function close_popup_refresh_container(conteneur_popup, conteneur_refresh)
{
	$(conteneur).set('html', '');
	$$('select').setStyle('visibility', 'visible');
}

function close_all_popup()
{
	$$('.conteneur_popup').set('html', '');
	$$('select').setStyle('visibility', 'visible');
}
