var browser;
var pratique = (function()
{
	function checkBrowser()
	{
		if(navigator.appName == "Microsoft Internet Explorer")
		{
			if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
			{ //test for MSIE x.x;
				var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
				if (ieversion>=8){
					browser = "ie8";
				}else if (ieversion>=7){
					browser = "ie7";
				}else if (ieversion>=6){
					browser = "ie6";
				}
				
			}
		}
		
		if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
		{ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
			 var ffversion=new Number(RegExp.$1) // capture x.x portion and store as a number
			 if (ffversion>=3){
				browser = "ff3";
			 }else if (ffversion>=2){
				browser = "ff2";
			 }else if (ffversion>=1){
				browser = "ff1";
			 }
		}
		
		if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))
		{ //test for Opera/x.x or Opera x.x (ignoring remaining decimal places);
			var oprversion=new Number(RegExp.$1) // capture x.x portion and store as a number
			if (oprversion>=10){
				browser = "op10";
				}else if (oprversion>=9){
					browser = "op9";
				}else if (oprversion>=8){
					browser = "op8";
				}else if (oprversion>=7){
					browser = "op7";
				}
		}
	}
	
	return {
		"init": function()
		{
			checkBrowser();
		},
		"absolutePath":  "http://127.0.0.1/smarty_tp_GDE/www/",
		"currentPage": function()
		{
			var sPath = window.location.pathname;
			var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
			return sPage;
		},
		"verifEmail" : function(string)
		{
			var regMail = /^([_a-z0-9-]+(\.[_a-z0-9-]+)*)@([_a-z0-9-]+(\.[_a-z0-9-]+)*)\.([a-z]{2,6})$/i;
			if(!regMail.test(string))
			{
				return false;
			}
			else
			{
				return true;
			}	
		},
		"_class" : function(searchClass, tag, idParent)
		{
			/*
				- récupère tout les éléments du DOM ayant pour nom de classe le premier paramètre.
				- le 2eme paramètre spécifie la nature des éléments recherchés.
				- le 3eme paramètre spécifie l'id de l'élément parent.
			*/
				
			var classElements = new Array();
			if ( tag == null || tag == "" ){
				tag = '*';
			}
			var els = document.getElementsByTagName(tag); 
			var elsLen = els.length;
			var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
			for (i = 0, j = 0; i < elsLen; i++) {
				if ( pattern.test(els[i].className) ) {
					if(idParent != ""){
						if(els[i].parentNode.id == idParent){
							classElements[j] = els[i];
							j++;
						}  
					}else{
						classElements[j] = els[i];
						j++;
					}	
				}
			}//[/for]
			return classElements;
		},
		"_id" : function(element)
		{
			/*
				récupère l'élément du DOM qui a pour id le parametre; 
			*/
			
			return document.getElementById(element);
		},
		"isArray": function(obj)
		{
			/*
				isArray vérifie la nature d'un objet.
				Renvoie true si c'est un Array 
			*/
			return obj.constructor == Array;
		},
		"isset": function(varname)
		{
			/*
				vérifie que le type du paramètre est différent de "undefined"
				et de "function". Si c'est le cas le paramètre est bien existant 
				et n'est pas une fonction donc la fonction renvoie TRUE
			*/	
			try{
				var t = typeof(varname);
			}
			catch(e) {return false;}
			if(t!=="undefined" && t != "function" ){
				return true;	
			}else{
				return false;
			} 
		},
		"_import" : function(jsFile)
		{
			if (typeof(_scripts) == 'undefined'){
				var _scripts = new Object();
			}
			
			if (_scripts[jsFile] != null){
				return;
			}	
			var scriptElt = document.createElement('script');
			scriptElt.type = 'text/javascript';
			scriptElt.src = jsFile;
			document.getElementsByTagName('head')[0].appendChild(scriptElt);
			_scripts[jsFile] = jsFile; // or whatever value your prefer

			
		}
	};
})();

$(document).ready(function()
{
	pratique.init();
});