// JavaScript Document
//version 1.0
//ne gère que les layers chargeant un html
//bouton fermer géré
var nom_fichier_a_charger = '';
function default_layer(nom_fichier_a_charger, lg, fonction_callback){
	if(!lg) lg = 'fr';
	if(!fonction_callback) fonction_callback = '';
	
	if($('container') != null){
			$('container').dispose();
	}
	
	//si pas de fichier fourni
	if(!nom_fichier_a_charger){ 
		alert('Impossible de charger le fichier demandé'); 
		return false;
	}
	//pour rappel infos_site est définit dans config.js et contient toute la config utile au javascript (entre autres)
	if (!window.infos_site[nom_fichier_a_charger]){
		alert('Impossible de charger les informations demandées');
		return false;
	}
	
	//creation des elements
	container = new Element('div', {
										'styles': 
										{
											'display': 'block',
											'width': '100%',
											'height': '100%',
											'padding': '0px',
											'left': '0',
											'margin': '0px',
											'position': 'fixed',
											'top': '0',
											'text-align': 'center',
											'background-image': 'url(/images/overlay.png)',
											'z-index': '5'
										}
								  }
							);
	//internet explorer et pas IE7
	if (Browser.Engine.trident && Browser.Engine.version != 5){
		container.style.position = 'absolute';
		container.style.height = document.documentElement.clientHeight;
		container.style.background = 'none';
		container.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='/images/overlay.png')";
		container.style.zIndex = '0';
		
		container2 = new Element('div', {
										'styles': 
										{
											'display': 'block',
											'width': '100%',
											'height': '100%',
											'padding': '0px',
											'left': '0',
											'margin': '0px',
											'position': 'absolute',
											'top': '0',
											'text-align': 'center',
											'z-index': '10'
										}
								  }
							);
		//pour ie6 (pour avoir les liens cliquables
		container2.setAttribute('id','container2');
		container2.injectInside(document.body);
	}
	
	container.setAttribute('id','container');
	container.injectInside(document.body);
	
	//afficher barre de chargement
	loading = new Element('div', {
										'styles': 
										{
											'display': 'block',
											'width': '220px',
											'height': '19px',
											'padding': '0px',
											'text-align': 'left',
											'margin':'0 auto',
											'background-image': 'url(/images/smoothgallery/loading-bar-black.gif)',
											'top' : '50%'
										}
								  }
						 );
	loading.setAttribute('id','loading');
	loading.injectInside(container);
	//centrer verticalement par rapport à la page
	valigncenter(loading);
	
	//on charge le fichier passé en paramètre
	var url = window.infos_site[nom_fichier_a_charger];
	//alert (url);
	//url = 'common.js';
	var get_html_page = new Request({
		url: url,
		onSuccess: function(txt){
			//document.write(get_html_page.response.text);
			afficher_reponse(lg, txt);
			if (fonction_callback) fonction_callback;
		},
		onFailure: function(txt){ echec(); }
	}).send();
}
function afficher_reponse(lg, reponse){
	var html_charge = new Element('div', {
													'styles': 
													{
														'display': 'block',
														'padding': '0px',
														'text-align': 'left',
														'margin':'0 auto',
														'z-index':'1000',
														'position':'absolute'
													}
											  }
										);
	
	html_charge.setAttribute('id','html_charge');
	var myFx = new Fx.Morph(html_charge);
	myFx.set({'opacity': 0});
	
	if (window.ie && !window.ie7){
		html_charge.injectInside($('container2'));
	}else{
		html_charge.injectInside($('container'));
	}
	
	$('html_charge').innerHTML = reponse;
	
	//si il existe un bouton fermer
	if ($('fermer')){
		$('fermer').addEvent('click', fermer_layer);
	}else{//sinon un clic sur le layer suffit
		$('container').addEvent('click', fermer_layer);
	}
	valigncenter(html_charge);
	$('loading').dispose();	
	
	var myFx = new Fx.Tween(html_charge).start('opacity', 0, 1);
}
function echec(){
	if($('container') != null){
			$('container').dispose();
	}
	if($('loading') != null){
		$('loading').dispose();
	}
	
	//feinte pour le problème des accents
	var txt = new Element('span');
	txt.innerHTML = 'Impossible de charger l\'information demandée \n';
	//txt.injectTop(document.body);
	alert(txt.innerHTML);
	$('container').dispose();
	if (window.ie && !window.ie7){
		$('container2').dispose();
	}
}
function fermer_layer(){
	var container = $('container');
	if (container){
		//effet de fondu avant la fermeture
		new Fx.Tween(container, {
			onComplete : function(){
				//on detruit le layer
				container.dispose();
				if (window.ie && !window.ie7){
					$('container2').dispose();
				}
			}
		}).start('opacity', 1, 0);	
	}
}
