var oO = 
{

	// Test de passage d'un argument
	_Test: 
		function()
		{
			var iI = arguments.length - 1;
			for(iI; iI >= 0; iI--) if(!arguments[iI]) return false;
			return true;
		},

	// Ajout d'une action sur un événement
	_Connect:
		function(oElem, sEvType, fn, bCapture)
		{
			oElem.addEventListener ?
				oElem.addEventListener(sEvType, fn, bCapture):
				oElem.attachEvent ?
					oElem.attachEvent('on' + sEvType, fn):
					oElem['on' + sEvType] = fn; // false; si on ne souhaite pas rendre le script compatible avec les anciens navigateurs
		},

	// Récupération de la source de l'événement
	_GetTarget:
		function(e)
		{
			var target = window.event ? window.event.srcElement : e ? e.target : this;
			if(!target) return false;
			if(target.nodeName.toLowerCase() != 'a') target = target.parentNode; //Pour Safari
			return target;
		},

	// Annulation du clic sur un élément
	_CancelClick:
		function(e)
		{
			if(e && e.stopPropagation && e.preventDefault)
			{
				e.stopPropagation();
				e.preventDefault();
				return false; // Pour Safari
			}
			else if(window.event && window.event.cancelBubble && window.event.returnValue)
			{
				window.event.cancelBubble = true;
				window.event.returnValue = false;
				return false;
			}
			else return false;
		},

	// Création d'un élément avec ou sans texte et avec ou sans attribut(s)
	_Elem:
		function()
		{
			var aArg = arguments;
			var oElem = document.createElement(aArg[0]);
			var iI = 2;
			var aTab = aArg.length;
			
			for(iI; iI < aTab; iI++)
			{
				iI % 2 == 0?
					oO.sAtt = aArg[iI]:
					oO.sVal = aArg[iI];
				if(oO.sAtt && oO.sAtt == aArg[iI-1])
					oO.sAtt == 'class'?
						oElem.className = oO.sVal:
						oElem.setAttribute(oO.sAtt, oO.sVal);
			}

			if(aArg[1] && typeof aArg[1] == 'string' && aArg[1] != '')
			{
				var oText = document.createTextNode(aArg[1]);
				oElem.appendChild(oText);
			}

			return oElem;
		},
	
	// Création de la 'popup'
	_Pop:
		function(e)
		{
			oO.Target = oO._GetTarget(e);
			var iI = oO['Pops'].length - 1;
			for(iI; iI >= 0; iI--)
			{
				if(oO.Target.href != oO['Pops'][iI]['url']) continue;
				else
				{
					var oBody = document.getElementsByTagName('body')[0];
					var oA = oO._Elem('a' , '', 'href', '#fermer-la-popup', 'class', oO['Pops'][iI]['class']);
					var oPop = oO._Elem(
						'img' , '',
						'src', oO['Pops'][iI]['src'],
						'width', oO['Pops'][iI]['width'],
						'height', oO['Pops'][iI]['height'],
						'alt', oO['Pops'][iI]['alt']
					);
					var oSpan = oO._Elem('span', 'Cliquez pour fermer la popup');
					oO._Connect(oA, 'click', function(e) { oBody.removeChild(oA); return oO._CancelClick(e); }, false);
					
					oA.appendChild(oPop);
					oA.appendChild(oSpan);
					oBody.appendChild(oA);
					return oO._CancelClick(e);
				}
			}
			return true;
		},

	// Initialisation du script
	_Init:
		function()
		{
			var oA = document.getElementsByTagName('a');
			var iI = oA.length - 1;
			if(iI < 1) return;
			for(iI; iI >= 0; iI--) oO._Connect(oA[iI], 'click', oO._Pop, false);
		},
	
	'Pops':
		[
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/colonne.htm',
				'src': '../images/luminaires-subtils.jpg',
				'width': '432',
				'height': '540',
				'alt': '',
				'class': 'pop'
			},
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/gm2.htm',
				'src': '../images/travail-lumi/travail-du-staff.jpg',
				'width': '540',
				'height': '386',
				'alt': '',
				'class': 'pop'
			},
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/gm3.htm',
				'src': '../images/travail-lumi/CHATTON-(10).jpg',
				'width': '405',
				'height': '540',
				'alt': '',
				'class': 'pop'
			},
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/gm4.htm',
				'src': '../images/travail-lumi/suspension-lumiere-bar.jpg',
				'width': '540',
				'height': '405',
				'alt': '',
				'class': 'pop1'
			},
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/gm5.htm',
				'src': '../images/travail-lumi/luminaires.jpg',
				'width': '405',
				'height': '540',
				'alt': '',
				'class': 'pop2'
			},
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/gm6.htm',
				'src': '../images/travail-lumi/Ferlicot.jpg',
				'width': '540',
				'height': '405',
				'alt': '',
				'class': 'pop'
			},
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/gm7.htm',
				'src': '../images/travail-lumi/plafond-etoile.jpg',
				'width': '540',
				'height': '265',
				'alt': '',
				'class': 'pop1'
			},
			{
				'url': 'http://www.duvaljpdecoration.fr/decoration-interieur/gm8.htm',
				'src': '../images/travail-lumi/lampe-sur-tableau.jpg',
				'width': '450',
				'height': '540',
				'alt': '',
				'class': 'pop2'
			}
		]
};
oO._Test(document.getElementsByTagName, document.createElement, document.createTextNode) ?
	oO._Connect(window, 'load', oO._Init, false):
	false;