var Common = new Class({
	
	Implements: [Options,Events],
	
	options: {
		droits: []
	},
	
	initialize: function() {
		// GESTION DES ONGLETS DU SOUS MENU
		if($chk($(controllerName + '-' + actionName)))
			$(controllerName + '-' + actionName).addClass('onglet-actif');
		
		
		$$('.onglet').addEvent('click', function(){
			location.href = this.get('title');
		});
		
		// GESTION DU MENU
		if($chk($("mnu-" + controllerName)))
			$("mnu-" + controllerName).addClass('menuon');
		
		// Gestion du Focus et du Blur dans le formulaire pour les input[type="text"]
		if( $$('.form-text') )
			$$('.form-text').addEvents({
				'focus' : function() {
					this.setStyles({
						'border-color': '#21497b', 		// bleu : #21497b || rouge : #e93d33
						'background-color' : '#d7e9ff'	// bleu clair : #d7e9ff
					}); 
				},
				'blur' : function() {
					this.erase('style');
				}
			});
		// Gestion du Focus et du Blur dans le formulaire pour les select
		if( $$('form select') ) {
			$$('form select').addEvents({
				'focus' : function() {
					this.setStyles({
						'border-color': '#21497b', 		// bleu : #21497b || rouge : #e93d33
						'background-color' : '#d7e9ff'	// bleu clair : #d7e9ff
					}); 
				},
				'blur' : function() {
					this.erase('style');
				}
			});
		}
	},
	
	checkForm: function(form, msg, submit) {
		// Variable qui validera ou non le formulaire
		var isComplete = true;
		// Si il y a des messages indiquant les erreurs on les supprime
		if( $$('.msg-error') )
			$$('.msg-error').destroy();
		// Si il y a des champs obligatoire
		if($$('#'+form+' .obligatoire')) {
			// On boucle sur les champs obligatoires pour ressortir les nouvelles erreurs
			$$('#'+form+' .obligatoire').each(function(el) {
				// On regarde qu'il y ai un élément suivant
				if( el.getParent().getNext('td')!=null ) {
					// On récupère l'élément
					var item 	= el.getParent().getNext('td').getFirst();
					var value 	= "";					
					// Selon l'élément textarea, select, input
					switch( item.get('tag') ) {
						case 'select' : 
							value = item.get('value');
							break;
						
						case 'textarea' :
							value = trim(item.get('text')!="");
							break;
						
						case 'input' :
							value = item.get('value')!="";
							break;
					}
					// Si la valeur est vide, on change la valeur de la variable de validation du formulaire
					// et on injecte un nouveau td avec un message d'erreur
					if( value=="" || value<0 ) {
						isComplete = false;

						var td = new Element('td', {
							'style' : 'color: #f00;',
							'class' : 'msg-error',
							'html' : msg
						});
						
						td.injectAfter(item.getParent('td'));
					}
				}
			});
		}
		
		// Si le formulaire est complet on l'execute
		if ( isComplete ) {
			if(submit != false)
				$(form).submit();
			else
				return true;
		}
		else {
			return false;
		}
	},
	
	deleteElement : function(msg, url, params) {	
		if (confirm(msg)) {
			new Request({
				url : url,
				method : 'post',
				onSuccess : function(responseText) {
					var resp = JSON.decode(responseText);
					window.location.href = resp.redirect;
				}
			}).send(params);
		}
	}
	
});
