// 	CLASSE : classLightBox();
/*---------------------------------*/
//
//	Utilité : 	permet de créer une lightbox arrondis pour l'apparition d'un contenu définit dans les paramètres.
//				Particuliarités : 
//						- width: 500px;
//						- top: 15%;
//						- diamètres arrondis : 29px;
//						- taille des bords 12px;
//						- si navigateur = IE6 pas de conteour arrondis.
//
//	Paramètre : 
//		- pIdEl : id qui sera choisi pour la lightbox;
//		- pColor : couleur de fond (hexadecimal);
//		- pColorBord : couleur de bordure (hexadecimal);
//		- pCoins : coins à arrondir, valeurs possible (si plusieurs valeurs, séparer avec une virgule ):
//					- "hd" ( haut droit ),
//					- "hg" ( haut gauche ),
//					- "bd" ( bas droit ),
//					- "bg" ( bas gauche );
//					- "all" ( tout les coins )
//	Méthodes :
//		- init : 			crée la lightbox (à appeler dans un .js pour la construction);
//								
//		- tailleBord : 		positionne les éléments de bordures;
//
//							- paramètres :
//								1_pEl : id de la lightbox;
//								2_pColor : couleur de la bordure;
//								3_pWidthB : épaisseur de la bordure;
//
//		- afficheCoins : 	positionne les coins. les coins sont des images dans le dossier "fdrounded_img" à côté de la classe;
//
//							- paramètres :
//								1_pEl : id de l'élément bloc;
//								2_pImg : URL de l'image;
//								3_pColor : couleur de la bordure;
//								4_pCoins : coins à arrondir;
//								5_pWidthB : épaisseur de la bordure;
//
//		- ferme : 			permet de fermer/supprimer la lightbox au clic
//
//							- paramètres :
//								1_pEl : id de la lightbox;
//
/*---------------------------------*/
(function($)
{  
	$.fn.lightBox01 = function(message,id_element,options )
	{ 
		var opts = $.extend({}, $.fn.lightBox01.settings, options);
		
		if(id_element == undefined || id_element == "")
		{
			id_element = "#dialog";
		}
		
		return this.each(function()
		{
			var tailleDep = "";
			var element = id_element.substring(1);
			
			var m = "";
			m += "<div id='"+element+"'>";
			m += "<b id='ferme'>X</b><br />";
			m += "</div>";
			m += "<div id='cache"+element+"'></div>";
			$(this).prepend(m);

			$(id_element).append(message);

			var Top = getScrollPosition();
			$(id_element).attr("style","position: absolute;	width: "+opts.Width+"px; left:50%; top:"+(Top[1]+100)+"px; margin-left: -"+(opts.Width/2)+"px; background-color: "+opts.color+"; z-index:1000; opacity:0.5; font-size:11px;");
			if(browser == "ie6")
			{
				$("#cache"+element).attr("style", "position:absolute; width:100%; height:1000px; margin:0px; background-color: #000000; opacity:0.7; filter:alpha(opacity=70); -moz-opacity:.70; z-index:999;");
			}
			else
			{
				$("#cache"+element).attr("style", "position:fixed;width:100%;height:100%;margin:0px;background-color: #000000; opacity:0.7; filter:alpha(opacity=70); -moz-opacity:.70; z-index:999;");
			}
			$(id_element).find("#ferme").attr("style", "cursor: pointer;	float:right; display: block; font-family: Verdana;font-size:10px; padding :  2px 5px 2px 5px; margin:0px 0px 5px 5px; background-color: #000000; text-decoration:none; color:#ffffff;");
			
			// sur ie6 les png ne marche pas donc on ne lui applique pas d'arrondis.
			if(browser == "ie6")
			{
				$(id_element).attr("style", "background-color:"+opts.color+";");
			}
			else
			{
				$(id_element).prepend('<div class="cadre_hd"></div><div class="cadre_hg"></div><div class="bord_h"></div><div class="bord_g"></div><div class="bord_d"></div>');
				$(id_element).append('<div class="bord_b"></div><div class="cadre_bd"></div><div class="cadre_bg"></div>');			

				afficheCoins();
				afficheBord();
				
				if(browser != "ie8" && browser != "ie7" && browser != "ie6")
				{
					$(id_element).css("opacity", "0");
					$(id_element).fadeTo(opts.vitesse, 1);
					$("#cache"+element).css("opacity", "0");
					$("#cache"+element).fadeTo(opts.vitesse, 0.7);
				}
				
			}
			$(id_element).find("#ferme").click(function()
			{
				ferme(id_element);
			});
			$("#cache"+element).click(function()
			{
				ferme(id_element);
			});
				
		});
		function getScrollPosition()
		{
		    return Array((document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft,(document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop);
		}
		function afficheCoins()
		{
			var elName = id_element.substring(1);
			
			var coinsArray = new Array(".cadre_hg", ".cadre_bg", ".cadre_hd", ".cadre_bd");
			var coinsArrayLen = coinsArray.length;
			for(var a=0; a<coinsArrayLen; a++)
			{
				$(id_element).find(coinsArray[a]).each(function()
				{	
					$(this).css("background-color", opts.color);	
					//positionnement des coins;
					if(this.className == "cadre_hg")
					{
						$(this).attr("style"," position:absolute; background: 0px 0px; width:"+opts.widthB+"px; height:"+opts.widthB+"px; background-repeat: no-repeat; font-size: 1px; display: block; left: "+(-opts.widthB)+"px; top:"+(-opts.widthB)+"px; background-color:"+opts.color+";background-repeat: no-repeat;display: block;font-size: 1px;");
					}
					else if(this.className == "cadre_hd")
					{
						$(this).attr("style"," position:absolute; background: -"+opts.backPosCadre+"px 0px; width:"+opts.widthB+"px; height:"+opts.widthB+"px; background-repeat: no-repeat; font-size: 1px; display: block; left: "+($(id_element).width())+"px; top:"+(-opts.widthB)+"px; background-color:"+opts.color+";background-repeat: no-repeat;display: block;font-size: 1px;");
						
					}
					else if(this.className == "cadre_bg")
					{
						$(this).attr("style"," position:absolute; background: 0px -"+opts.backPosCadre+"px; width:"+opts.widthB+"px; height:"+opts.widthB+"px; background-repeat: no-repeat; font-size: 1px; display: block; left: "+(-opts.widthB)+"px; top:"+($(id_element).height())+"px; background-color:"+opts.color+";background-repeat: no-repeat;display: block;font-size: 1px;");
					}
					else if(this.className == "cadre_bd")
					{
						$(this).attr("style"," position:absolute; background: -"+opts.backPosCadre+"px -"+opts.backPosCadre+"px; width:"+opts.widthB+"px; height:"+opts.widthB+"px; background-repeat: no-repeat; font-size: 1px; display: block; left: "+($(id_element).width())+"px; top:"+($(id_element).height())+"px; background-color:"+opts.color+";background-repeat: no-repeat;display: block;font-size: 1px;");
					}
						
					
					if( opts.coins == "all")
					{
						$(this).css("background-color", "");
						$(this).css("background-image", "url("+opts.img+")");
					}
					else if(opts.coins == "")
					{
						$(this).css("background-color", opts.color);
					}
					else
					{
						//en fonction du paramètre Coins, on affiche le coin correspondant,
						var tabCoins = opts.coins.split(",");
						var lenTabCoins = tabCoins.length;
						for(var k=0; k<lenTabCoins; k++)
						{	
							var leCoin= tabCoins[k].replace(/ /,"");
								
							if(leCoin == "hg" && this.className == "cadre_hg")
							{
								$(this).css("background-color", "");
								$(this).css("background-image", "url("+opts.img+")");
							}
							else if(leCoin == "hd" && this.className == "cadre_hd")
							{
								$(this).css("background-color", "");
								$(this).css("background-image", "url("+opts.img+")");
							}
							else if(leCoin == "bd" && this.className == "cadre_bd")
							{
								$(this).css("background-color", "");
								$(this).css("background-image", "url("+opts.img+")");
							}
							else if(leCoin == "bg" && this.className == "cadre_bg")
							{
								$(this).css("background-color", "");
								$(this).css("background-image", "url("+opts.img+")");
							}
						}
					}
				});
			}
		};//--[/afficheCoins]
		function afficheBord()
		{
			var elName = id_element.substring(1);
			$(id_element).css("height", ($(id_element).height())+"px");		
			var bordsArray = new Array(".bord_h", ".bord_b", ".bord_d",".bord_g");
			var bordsArrayLen = bordsArray.length;
			for(var a=0; a<bordsArrayLen; a++)
			{
				$(id_element).find(bordsArray[a]).each( function()
				{
					$(this).css("position", "absolute");
					$(this).css("z-index", "-1");
					
					if(this.className == "bord_g" || this.className == "bord_d")
					{	
						$(this).css("height", ($(id_element).height())+"px");
						$(this).css("backgroundColor", opts.color);
						$(this).css("width", opts.widthB+"px");
						if(this.className == "bord_g")
						{
							$(this).css("left", (-opts.widthB)+"px");
						}
						if(this.className == "bord_d"){
							$(this).css("left", $(id_element).width()+"px");
						}
					}
					else
					{
						$(this).css("height", opts.widthB+"px");
						$(this).css("backgroundColor", opts.color);
						$(this).css("width", ($(id_element).width())+"px");
						if(this.className == "bord_b")
						{
							$(this).css("top", ($(id_element).height())+"px");		
						}
						if(this.className == "bord_h")
						{
							$(this).css("top",(-opts.widthB)+"px");		
						}
					}
				});
			}
		};//--[/afficheBord]
		 function ferme (id_element, options)
		{
			var opts = $.extend({}, $.fn.lightBox01.settings, options);
			var element = id_element.substring(1);
			if(browser != "ie8" && browser != "ie7" && browser != "ie6")
			{	
				$(id_element).fadeOut(opts.vitesse, function()
				{
					$(id_element).remove();
					$("#cache"+element).remove();
					
				});
				$("#cache"+element).fadeOut(opts.vitesse);
			}
			else
			{
				$(id_element).remove();
				$("#cache"+element).remove();
			}
		}

	};
	/*$.fn.extend({
		ferme : function(id_element, options)
		{
			var opts = $.extend({}, $.fn.lightBox01.settings, options);
			var element = id_element.substring(1);
			if(browser != "ie8" && browser != "ie7" && browser != "ie6")
			{	
				$(id_element).fadeOut(opts.vitesse, function()
				{
					$(id_element).remove();
					$("#cache"+element).remove();
					
				});
				$("#cache"+element).fadeOut(opts.vitesse);
			}
			else
			{
				$(id_element).remove();
				$("#cache"+element).remove();
			}
		}
	});*/

	
	$.fn.lightBox01.settings =
	{
		color:				"#ffffff",													// Couleur de fond
		coins:				"all",														// quelle coins appliquer (valeurs possible : hd, hg, bd, bg, all, "")
		img:				"js/jquery_plugins/lightbox/bord-lightbox.png",		// images des coins (png)
		message:			"lightbox",													// message html qui sera afficher
		Width:				300,														// width de la light_box
		widthB:				12,															// epaisseur des bordures
		backPosCadre:		17,															// positionnement des fonds des cadres
		vitesse:			"normal"
	};
/*--------------------------*/	
})(jQuery);	

