// JavaScript Document
var App; if (!App) App = {'Modules':{}};
var Init; if (!Init) Init = {};
var Options; if (!Options) Options = {};

App.Modules = {
	
	'init' : function() {
		var module = App.module.replace(/[^a-z]/gi, '');
		var action = App.action.replace(/[^a-z]/gi, '');
		var subaction = App.subaction.replace(/[^a-z]/gi, '');
		var namespace = module.substr(0,1).toUpperCase() + module.substring(1).toLowerCase();
		
		//Si le module existe
		if(App.Modules[namespace]) {
			//Si le module est une fonction on l'exécute
			if(typeof(App.Modules[namespace]) == "function") { App.Modules[namespace](document); }
			//Si le module est un objet
			else if(typeof(App.Modules[namespace]) == "object") {
				//Si le module a une fonction init on l'exécute
				if(App.Modules[namespace].init) { App.Modules[namespace].init(document); }
				//Si l'action existe
				if(App.Modules[namespace][action]) {
					//Si l'action est une fonction on l'exécute
					if(typeof(App.Modules[namespace][action]) == "function") { App.Modules[namespace][action](document); }
					//Si l'action est un objet
					else if(typeof(App.Modules[namespace][action]) == "object") {
						//Si l'action a une fonction init on l'exécute
						if(App.Modules[namespace][action].init) { App.Modules[namespace][action].init(document); }
						//Si la sous-action existe et est une fonction on l'exécute
						if(App.Modules[namespace][action][subaction] && typeof(App.Modules[namespace][action][subaction]) == "function") {
							App.Modules[namespace][action][subaction](document);
						}
					}
				}
			}
		}
		
	}
	
};

if(App.Modules.init) { $(App.Modules.init); }



//Exemple de bloc éxécuté seulement lorsqu'on est dans le module home
App.Modules.Home = {

	//La fonction init est éxécuté peut importe l'action en cours
	'init' : function(selector) {
	
		var $el = $(selector);
		if(!$el.length) { return; }
		
		
		//$el.find("ul.categories li").css("display","none");
		$el.find("ul.categories").show();
		/*$(window).load(function() {
			$el.find("ul.categories li").slideDown(2500,"easeOutBack",function(){});
			$el.find("ul.categories li").fadeIn(2000);
		});*/
		
	}
	
};

//Exemple de bloc éxécuté seulement lorsqu'on est dans le module errors
App.Modules.Errors = {
	
	//La fonction init est éxécuté peut importe l'action en cours
	'init' : function(selector) {
	
		var $el = $(selector);
		if(!$el.length) { return; }
		
		
	},
	
	//La fonction 404 est éxécuté seulement lorsqu'on est dans l'action 404
	'404' : function(selector) {
	
		var $el = $(selector);
		if(!$el.length) { return; }
		
	}
	
};
