window.addEvent('domready', function(){
	// ########################### DIAGBOX ########################### //
	var diagBox={
		/**
		  * Initialisation de la boîte de dialogue
		 **/
		init:function(contenu, size) {
			diagBox.shadow();
			
			// Création du div contenant toutes les parties de la boîte de dialogue
			var scroll=$('html').getScroll();
			var html=$('html').getSize();
			
			// Si on donne les dimensions
			if(size) {
				if(scroll.y==0) { var top=html.y/2; }
				else { var top=scroll.y; }
				
				if(size[1]>200) var top=100;
				
				var divWidth=size[0];
				if(size[1]!=0) var divHeight=size[1];
				
				var centerBox=divWidth/2;
				var center=(html.x/2)-centerBox;
			
				// Contenuer général
				var conteneur=new Element('div', {
					'id': 'diagBox',
					'styles': {
						'position':'absolute',
						'z-index':10,
						'top':top,
						'left':center,
						'color':'#FFF',
						'width':divWidth,
						'height':divHeight,
						'padding-top':'30px'
					}
				});
			
			// Sinon
			} else {
				if(scroll.y==0) { var top=(html.y/2); }
				else { var top=scroll.y }
				
				var divWidth=200;
				
				var centerBox=divWidth/2;
				var center=(html.x/2)-centerBox;
				
				// Contenuer général
				var conteneur=new Element('div', {
					'id': 'diagBox',
					'styles': {
						'position':'absolute',
						'z-index':10,
						'top':top,
						'left':center,
						'color':'#FFF',
						'padding-top':'30px'
					}
				});
			
			}
			
			// Création de la zone pour le texte + injection du texte
			var divCnt=new Element('div', {
				'id': 'diagBox',
				'styles': {
					'padding':'5%',
					'border':'1px solid #535353',
					'background':'#A1A1A1',
					'color':'#FFF'
				}
			});
			
			if(!contenu) var contenu='Veuillez patienter...';
			divCnt.set('html', contenu);
			
			// On rattache tous cela à la page
			conteneur.adopt(divCnt);
			$('body').adopt(conteneur);
		},
		
		/**
		  * Création du DIV pour l'assombrissement de la page
		 **/
		shadow: function() {
			var divHeight=$('html').getScrollSize();
			
			var div=new Element('div', {
				'id': 'shadow',
				'styles': {
					'position':'absolute',
					'z-index':6,
					'visibility':'visible',
					'width':'100%',
					'height':divHeight.y,
					'background':'#000',
					'filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=50)',
					'-moz-opacity':0.5,
					'opacity':0.5,
					'top':0,
					'left':0
				},
				'events':{
					'click':function(){
						diagBox.erase();
					}
				}
			});
			
			$('body').adopt(div);
		},
		
		/**
		  * Création du DIV pour l'assombrissement de la page
		 **/
		erase: function(){
			$('diagBox').dispose();
			$('shadow').dispose();
		},
		
		/**
		  * Box lorsque l'on a supprimé une nouvel enregistrement
		 **/
		del: function(retour){
			diagBox.erase();
			window.location.reload();
		}
		
	}
	
	var base2={
		/**
		  * Affichage des messages d'erreurs
		 **/
		showErrno: function(errno) {
			switch(errno) {
				case 1: diagBox.init("Une erreur est survenue lors de l'ajout d'un nouvel enregistrement.", [300, 40]); break;
				case 2: diagBox.init("ATTENTION : Veuillez avant tout créer des types de codes (en cliquant sur le bouton : 'Editer les types de code') avant de créer un code.", [600, 50]);
			}
		},
		
		/**
		  * Fonction pour effacer un enregistrement.
		  * @access public
		  * @param conteneur string : Cadre des boutons.
		 **/
		delBoutons:function(conteneur){
			if(conteneur) { var bt_sup=$$('#'+conteneur+' .bt_sup'); }
			else          var bt_sup = $$('.bt_sup');

			if(bt_sup.length!=0) {
				for(var i=0; i<bt_sup.length; i++) {
					bt_sup[i].addEvent('click', function(){
						if(confirm('Êtes-vous sûr de vouloir supprimer cette entrée ?')) {
							var infos=this.get('id');
							var reg=new RegExp("[_]+", "g");
							var infos=infos.split(reg);
							base2.del(infos[0], infos[1]);
						}
					});
				}
			}
		},
		
		/**
		  * Fonction pour effacer un enregistrement.
		  * @access public
		  * @param table string : nom de la table.
		  * @param id integer : identifiant de l'enregistrement à effacer.
		 **/
		del:function(table,id){diagBox.init();new Request({method:'post',url:'fc_compte.php',onComplete:function(retour){diagBox.erase();diagBox.init(response);setTimeout("$('diagBox').dispose();$('shadow').dispose();",2000);window.location.reload();}}).send('type=1&table='+table+'&rollcache='+id);}
	}
	
	// ################################################################### //
	// BOUTONS GUI                                                         //
	// ################################################################### //
	// ### PAGE CONTACTS ### \\
	if($('addContact')){$('addContact').addEvent('click',function(){diagBox.init();new Request({method:'post',url:'add_contact.php',onComplete:function(response){diagBox.erase();diagBox.init(response);setTimeout("$('diagBox').dispose();$('shadow').dispose();",2000);window.location.reload();}}).send();});base2.delBoutons();};
	// ### PAGE EFFECTIFS ### \\
	if($('addYear')){$('addYear').addEvent('click',function(){diagBox.init();new Request({method:'post',url:'add_year.php',onComplete:function(response){diagBox.erase();diagBox.init(response);setTimeout("$('diagBox').dispose();$('shadow').dispose();",2000);window.location.reload();}}).send();});base2.delBoutons();};
	
	// ################################################################### //
	// ENREGISTREMENT DES FORMULAIRES                                      //
	// ################################################################### //
	if($('form_compte')){
		$('form_compte').addEvent('submit',function(e){
			e.stop();
			diagBox.init('Veuillez patienter...', [200,50]);
			this.set('send',{onComplete:function(response){
				diagBox.erase();
				diagBox.init(response, [200,50]);
				setTimeout("$('diagBox').dispose();$('shadow').dispose();",2000);
			}});
			
			this.send();
		});
	}
	
	if($('formPass')){$('formPass').addEvent('submit',function(e){e.stop();diagBox.init();this.set('send',{onComplete:function(response){diagBox.erase();diagBox.init(response);setTimeout("$('diagBox').dispose();$('shadow').dispose();",2000);}}).send();});}
	if($('form_except')){$('form').addEvent('submit',function(e){e.stop();diagBox.init();this.set('send',{onComplete:function(response){diagBox.erase();diagBox.init(response);setTimeout("$('diagBox').dispose();$('shadow').dispose();",2000);}}).send();});}
	if($('formLost')){
		$('showLost').addEvent('click',function(){if($('lost-password').style.display=='none') $('lost-password').setStyle('display', 'block');});
		//$('showCrea').addEvent('click',function(){if($('add-compte').style.display=='none') $('add-compte').setStyle('display', 'block');});
		$('formLost').addEvent('submit',function(e){e.stop();diagBox.init();this.set('send',{onComplete:function(response){diagBox.erase();diagBox.init(response);setTimeout("$('diagBox').dispose();$('shadow').dispose();",3000);}}).send();});
	}

	// ################################################################### //
	// GESTIONNAIRE D'ERREURS                                              //
	// ################################################################### //
	//if(errno!=null) { base.showErrno(errno); }
});